if(typeof Math.imul == "undefined" || (Math.imul(0xffffffff,5) == 0)) {
    Math.imul = function (a, b) {
        var ah  = (a >>> 16) & 0xffff;
        var al = a & 0xffff;
        var bh  = (b >>> 16) & 0xffff;
        var bl = b & 0xffff;
        // the shift by 0 fixes the sign on the high part
        // the final |0 converts the unsigned value into a signed value
        return ((al * bl) + (((ah * bl + al * bh) << 16) >>> 0)|0);
    }
}

(function(h){function p(a,l){if(!(this instanceof p))return new p(a,l);for(var c=0,f=t.length;c<f;c++)this[t[c]]="";this.q=this.c="";this.bufferCheckPosition=h.MAX_BUFFER_LENGTH;this.opt=l||{};this.opt.lowercase=this.opt.lowercase||this.opt.lowercasetags;this.looseCase=this.opt.lowercase?"toLowerCase":"toUpperCase";this.tags=[];this.closed=this.closedRoot=this.sawRoot=!1;this.tag=this.error=null;this.strict=!!a;this.noscript=!(!a&&!this.opt.noscript);this.state=b.BEGIN;this.ENTITIES=(this.strictEntities=
this.opt.strictEntities)?Object.create(h.XML_ENTITIES):Object.create(h.ENTITIES);this.attribList=[];this.opt.xmlns&&(this.ns=Object.create(N));if(this.trackPosition=!1!==this.opt.position)this.position=this.line=this.column=0;this.onready&&this.onready(void 0)}function n(a,b){if(!(this instanceof n))return new n(a,b);y.apply(this);this._parser=new p(a,b);this.readable=this.writable=!0;var c=this;this._parser.onend=function(){c.emit("end")};this._parser.onerror=function(a){c.emit("error",a);c._parser.error=
null};this._decoder=null;K.forEach(function(a){Object.defineProperty(c,"on"+a,{get:function(){return c._parser["on"+a]},set:function(b){if(!b)return c.removeAllListeners(a),c._parser["on"+a]=b;c.on(a,b)},enumerable:!0,configurable:!1})})}function u(a){return a.split("").reduce(function(a,c){a[c]=!0;return a},{})}function d(a,b){return"[object RegExp]"===Object.prototype.toString.call(a)?!!b.match(a):a[b]}function m(a,b,c){a.textNode&&w(a);a[b]&&a[b](c)}function w(a){a.textNode=L(a.opt,a.textNode);
a.textNode&&a.ontext&&a.ontext(a.textNode);a.textNode=""}function L(a,b){a.trim&&(b=b.trim());a.normalize&&(b=b.replace(/\s+/g," "));return b}function z(a,b){w(a);a.trackPosition&&(b+="\nLine: "+a.line+"\nColumn: "+a.column+"\nChar: "+a.c);b=Error(b);a.error=b;a.onerror&&a.onerror(b);return a}function M(a){a.sawRoot&&!a.closedRoot&&g(a,"Unclosed root tag");a.state!==b.BEGIN&&a.state!==b.BEGIN_WHITESPACE&&a.state!==b.TEXT&&z(a,"Unexpected end");w(a);a.c="";a.closed=!0;a.onend&&a.onend(void 0);p.call(a,
a.strict,a.opt);return a}function g(a,b){if("object"!==typeof a||!(a instanceof p))throw Error("bad call to strictFail");a.strict&&z(a,b)}function A(a,b){var c=0>a.indexOf(":")?["",a]:a.split(":"),f=c[0],c=c[1];b&&"xmlns"===a&&(f="xmlns",c="");return{prefix:f,local:c}}function B(a){a.strict||(a.attribName=a.attribName[a.looseCase]());if(-1!==a.attribList.indexOf(a.attribName)||a.tag.attributes.hasOwnProperty(a.attribName))return a.attribName=a.attribValue="";if(a.opt.xmlns){var b=A(a.attribName,!0),
c=b.local;if("xmlns"===b.prefix)if("xml"===c&&a.attribValue!==C)g(a,"xml: prefix must be bound to "+C+"\nActual: "+a.attribValue);else if("xmlns"===c&&a.attribValue!==D)g(a,"xmlns: prefix must be bound to "+D+"\nActual: "+a.attribValue);else{var b=a.tag,f=a.tags[a.tags.length-1]||a;b.ns===f.ns&&(b.ns=Object.create(f.ns));b.ns[c]=a.attribValue}a.attribList.push([a.attribName,a.attribValue])}else a.tag.attributes[a.attribName]=a.attribValue,m(a,"onattribute",{name:a.attribName,value:a.attribValue});
a.attribName=a.attribValue=""}function r(a,l){if(a.opt.xmlns){var c=a.tag,f=A(a.tagName);c.prefix=f.prefix;c.local=f.local;c.uri=c.ns[f.prefix]||"";c.prefix&&!c.uri&&(g(a,"Unbound namespace prefix: "+JSON.stringify(a.tagName)),c.uri=f.prefix);f=a.tags[a.tags.length-1]||a;c.ns&&f.ns!==c.ns&&Object.keys(c.ns).forEach(function(b){m(a,"onopennamespace",{prefix:b,uri:c.ns[b]})});for(var f=0,d=a.attribList.length;f<d;f++){var e=a.attribList[f],h=e[0],k=e[1],n=A(h,!0),e=n.prefix,p=""==e?"":c.ns[e]||"",k=
{name:h,value:k,prefix:e,local:n.local,uri:p};e&&"xmlns"!=e&&!p&&(g(a,"Unbound namespace prefix: "+JSON.stringify(e)),k.uri=e);a.tag.attributes[h]=k;m(a,"onattribute",k)}a.attribList.length=0}a.tag.isSelfClosing=!!l;a.sawRoot=!0;a.tags.push(a.tag);m(a,"onopentag",a.tag);l||(a.noscript||"script"!==a.tagName.toLowerCase()?a.state=b.TEXT:a.state=b.SCRIPT,a.tag=null,a.tagName="");a.attribName=a.attribValue="";a.attribList.length=0}function E(a){if(a.tagName){if(a.script){if("script"!==a.tagName){a.script+=
"</"+a.tagName+">";a.tagName="";a.state=b.SCRIPT;return}m(a,"onscript",a.script);a.script=""}var l=a.tags.length,c=a.tagName;a.strict||(c=c[a.looseCase]());for(var f=c;l--;)if(a.tags[l].name!==f)g(a,"Unexpected close tag");else break;if(0>l)g(a,"Unmatched closing tag: "+a.tagName),a.textNode+="</"+a.tagName+">";else{a.tagName=c;for(c=a.tags.length;c-- >l;){var d=a.tag=a.tags.pop();a.tagName=a.tag.name;m(a,"onclosetag",a.tagName);for(var e in d.ns);f=a.tags[a.tags.length-1]||a;a.opt.xmlns&&d.ns!==
f.ns&&Object.keys(d.ns).forEach(function(b){m(a,"onclosenamespace",{prefix:b,uri:d.ns[b]})})}0===l&&(a.closedRoot=!0);a.tagName=a.attribValue=a.attribName="";a.attribList.length=0}}else g(a,"Weird empty close tag."),a.textNode+="</>";a.state=b.TEXT}function O(a){var b=a.entity,c=b.toLowerCase(),f,d="";if(a.ENTITIES[b])return a.ENTITIES[b];if(a.ENTITIES[c])return a.ENTITIES[c];b=c;"#"===b.charAt(0)&&("x"===b.charAt(1)?(b=b.slice(2),f=parseInt(b,16),d=f.toString(16)):(b=b.slice(1),f=parseInt(b,10),
d=f.toString(10)));b=b.replace(/^0+/,"");return d.toLowerCase()!==b?(g(a,"Invalid character entity"),"&"+a.entity+";"):String.fromCodePoint(f)}h.parser=function(a,b){return new p(a,b)};h.SAXParser=p;h.SAXStream=n;h.createStream=function(a,b){return new n(a,b)};h.MAX_BUFFER_LENGTH=65536;var t="comment sgmlDecl textNode tagName doctype procInstName procInstBody entity attribName attribValue cdata script".split(" ");h.EVENTS="text processinginstruction sgmldeclaration doctype comment attribute opentag closetag opencdata cdata closecdata error end ready script opennamespace closenamespace".split(" ");
Object.create||(Object.create=function(a){function b(){this.__proto__=a}b.prototype=a;return new b});Object.getPrototypeOf||(Object.getPrototypeOf=function(a){return a.__proto__});Object.keys||(Object.keys=function(a){var b=[],c;for(c in a)a.hasOwnProperty(c)&&b.push(c);return b});p.prototype={end:function(){M(this)},write:function(a){if(this.error)throw this.error;if(this.closed)return z(this,"Cannot write after close. Assign an onready handler.");if(null===a)return M(this);for(var l=0,c="";this.c=
c=a.charAt(l++);)switch(this.trackPosition&&(this.position++,"\n"===c?(this.line++,this.column=0):this.column++),this.state){case b.BEGIN:if(this.state=b.BEGIN_WHITESPACE,"\ufeff"===c)continue;case b.BEGIN_WHITESPACE:"<"===c?(this.state=b.OPEN_WAKA,this.startTagPosition=this.position):d(k,c)||(g(this,"Non-whitespace before first tag."),this.textNode=c,this.state=b.TEXT);continue;case b.TEXT:if(this.sawRoot&&!this.closedRoot){for(var f=l-1;c&&"<"!==c&&"&"!==c;)(c=a.charAt(l++))&&this.trackPosition&&
(this.position++,"\n"===c?(this.line++,this.column=0):this.column++);this.textNode+=a.substring(f,l-1)}"<"!==c||this.sawRoot&&this.closedRoot&&!this.strict?(d(k,c)||this.sawRoot&&!this.closedRoot||g(this,"Text data outside of root node."),"&"===c?this.state=b.TEXT_ENTITY:this.textNode+=c):(this.state=b.OPEN_WAKA,this.startTagPosition=this.position);continue;case b.SCRIPT:"<"===c?this.state=b.SCRIPT_ENDING:this.script+=c;continue;case b.SCRIPT_ENDING:"/"===c?this.state=b.CLOSE_TAG:(this.script+="<"+
c,this.state=b.SCRIPT);continue;case b.OPEN_WAKA:"!"===c?(this.state=b.SGML_DECL,this.sgmlDecl=""):d(k,c)||(d(x,c)?(this.state=b.OPEN_TAG,this.tagName=c):"/"===c?(this.state=b.CLOSE_TAG,this.tagName=""):"?"===c?(this.state=b.PROC_INST,this.procInstName=this.procInstBody=""):(g(this,"Unencoded <"),this.startTagPosition+1<this.position&&(c=Array(this.position-this.startTagPosition).join(" ")+c),this.textNode+="<"+c,this.state=b.TEXT));continue;case b.SGML_DECL:(this.sgmlDecl+c).toUpperCase()===P?(m(this,
"onopencdata"),this.state=b.CDATA,this.cdata=this.sgmlDecl=""):"--"===this.sgmlDecl+c?(this.state=b.COMMENT,this.sgmlDecl=this.comment=""):(this.sgmlDecl+c).toUpperCase()===Q?(this.state=b.DOCTYPE,(this.doctype||this.sawRoot)&&g(this,"Inappropriately located doctype declaration"),this.sgmlDecl=this.doctype=""):">"===c?(m(this,"onsgmldeclaration",this.sgmlDecl),this.sgmlDecl="",this.state=b.TEXT):(d(v,c)&&(this.state=b.SGML_DECL_QUOTED),this.sgmlDecl+=c);continue;case b.SGML_DECL_QUOTED:c===this.q&&
(this.state=b.SGML_DECL,this.q="");this.sgmlDecl+=c;continue;case b.DOCTYPE:">"===c?(this.state=b.TEXT,m(this,"ondoctype",this.doctype),this.doctype=!0):(this.doctype+=c,"["===c?this.state=b.DOCTYPE_DTD:d(v,c)&&(this.state=b.DOCTYPE_QUOTED,this.q=c));continue;case b.DOCTYPE_QUOTED:this.doctype+=c;c===this.q&&(this.q="",this.state=b.DOCTYPE);continue;case b.DOCTYPE_DTD:this.doctype+=c;"]"===c?this.state=b.DOCTYPE:d(v,c)&&(this.state=b.DOCTYPE_DTD_QUOTED,this.q=c);continue;case b.DOCTYPE_DTD_QUOTED:this.doctype+=
c;c===this.q&&(this.state=b.DOCTYPE_DTD,this.q="");continue;case b.COMMENT:"-"===c?this.state=b.COMMENT_ENDING:this.comment+=c;continue;case b.COMMENT_ENDING:"-"===c?(this.state=b.COMMENT_ENDED,(this.comment=L(this.opt,this.comment))&&m(this,"oncomment",this.comment),this.comment=""):(this.comment+="-"+c,this.state=b.COMMENT);continue;case b.COMMENT_ENDED:">"!==c?(g(this,"Malformed comment"),this.comment+="--"+c,this.state=b.COMMENT):this.state=b.TEXT;continue;case b.CDATA:"]"===c?this.state=b.CDATA_ENDING:
this.cdata+=c;continue;case b.CDATA_ENDING:"]"===c?this.state=b.CDATA_ENDING_2:(this.cdata+="]"+c,this.state=b.CDATA);continue;case b.CDATA_ENDING_2:">"===c?(this.cdata&&m(this,"oncdata",this.cdata),m(this,"onclosecdata"),this.cdata="",this.state=b.TEXT):"]"===c?this.cdata+="]":(this.cdata+="]]"+c,this.state=b.CDATA);continue;case b.PROC_INST:"?"===c?this.state=b.PROC_INST_ENDING:d(k,c)?this.state=b.PROC_INST_BODY:this.procInstName+=c;continue;case b.PROC_INST_BODY:if(!this.procInstBody&&d(k,c))continue;
else"?"===c?this.state=b.PROC_INST_ENDING:this.procInstBody+=c;continue;case b.PROC_INST_ENDING:">"===c?(m(this,"onprocessinginstruction",{name:this.procInstName,body:this.procInstBody}),this.procInstName=this.procInstBody="",this.state=b.TEXT):(this.procInstBody+="?"+c,this.state=b.PROC_INST_BODY);continue;case b.OPEN_TAG:if(d(F,c))this.tagName+=c;else{this.strict||(this.tagName=this.tagName[this.looseCase]());var f=this.tags[this.tags.length-1]||this,n=this.tag={name:this.tagName,attributes:{}};
this.opt.xmlns&&(n.ns=f.ns);this.attribList.length=0;">"===c?r(this):"/"===c?this.state=b.OPEN_TAG_SLASH:(d(k,c)||g(this,"Invalid character in tag name"),this.state=b.ATTRIB)}continue;case b.OPEN_TAG_SLASH:">"===c?(r(this,!0),E(this)):(g(this,"Forward-slash in opening tag not followed by >"),this.state=b.ATTRIB);continue;case b.ATTRIB:if(d(k,c))continue;else">"===c?r(this):"/"===c?this.state=b.OPEN_TAG_SLASH:d(x,c)?(this.attribName=c,this.attribValue="",this.state=b.ATTRIB_NAME):g(this,"Invalid attribute name");
continue;case b.ATTRIB_NAME:"="===c?this.state=b.ATTRIB_VALUE:">"===c?(g(this,"Attribute without value"),this.attribValue=this.attribName,B(this),r(this)):d(k,c)?this.state=b.ATTRIB_NAME_SAW_WHITE:d(F,c)?this.attribName+=c:g(this,"Invalid attribute name");continue;case b.ATTRIB_NAME_SAW_WHITE:if("="===c)this.state=b.ATTRIB_VALUE;else if(d(k,c))continue;else g(this,"Attribute without value"),this.attribValue=this.tag.attributes[this.attribName]="",m(this,"onattribute",{name:this.attribName,value:""}),
this.attribName="",">"===c?r(this):d(x,c)?(this.attribName=c,this.state=b.ATTRIB_NAME):(g(this,"Invalid attribute name"),this.state=b.ATTRIB);continue;case b.ATTRIB_VALUE:if(d(k,c))continue;else d(v,c)?(this.q=c,this.state=b.ATTRIB_VALUE_QUOTED):(g(this,"Unquoted attribute value"),this.state=b.ATTRIB_VALUE_UNQUOTED,this.attribValue=c);continue;case b.ATTRIB_VALUE_QUOTED:if(c!==this.q){"&"===c?this.state=b.ATTRIB_VALUE_ENTITY_Q:this.attribValue+=c;continue}B(this);this.q="";this.state=b.ATTRIB_VALUE_CLOSED;
continue;case b.ATTRIB_VALUE_CLOSED:d(k,c)?this.state=b.ATTRIB:">"===c?r(this):"/"===c?this.state=b.OPEN_TAG_SLASH:d(x,c)?(g(this,"No whitespace between attributes"),this.attribName=c,this.attribValue="",this.state=b.ATTRIB_NAME):g(this,"Invalid attribute name");continue;case b.ATTRIB_VALUE_UNQUOTED:if(!d(G,c)){"&"===c?this.state=b.ATTRIB_VALUE_ENTITY_U:this.attribValue+=c;continue}B(this);">"===c?r(this):this.state=b.ATTRIB;continue;case b.CLOSE_TAG:if(this.tagName)">"===c?E(this):d(F,c)?this.tagName+=
c:this.script?(this.script+="</"+this.tagName,this.tagName="",this.state=b.SCRIPT):(d(k,c)||g(this,"Invalid tagname in closing tag"),this.state=b.CLOSE_TAG_SAW_WHITE);else if(d(k,c))continue;else d(x,c)?this.tagName=c:this.script?(this.script+="</"+c,this.state=b.SCRIPT):g(this,"Invalid tagname in closing tag.");continue;case b.CLOSE_TAG_SAW_WHITE:if(d(k,c))continue;">"===c?E(this):g(this,"Invalid characters in closing tag");continue;case b.TEXT_ENTITY:case b.ATTRIB_VALUE_ENTITY_Q:case b.ATTRIB_VALUE_ENTITY_U:switch(this.state){case b.TEXT_ENTITY:var e=
b.TEXT,q="textNode";break;case b.ATTRIB_VALUE_ENTITY_Q:e=b.ATTRIB_VALUE_QUOTED;q="attribValue";break;case b.ATTRIB_VALUE_ENTITY_U:e=b.ATTRIB_VALUE_UNQUOTED,q="attribValue"}";"===c?(this[q]+=O(this),this.entity="",this.state=e):d(H,c)?this.entity+=c:(g(this,"Invalid character entity"),this[q]+="&"+this.entity+c,this.entity="",this.state=e);continue;default:throw Error(this,"Unknown state: "+this.state);}if(this.position>=this.bufferCheckPosition){a=Math.max(h.MAX_BUFFER_LENGTH,10);c=l=0;for(e=t.length;c<
e;c++){q=this[t[c]].length;if(q>a)switch(t[c]){case "textNode":w(this);break;case "cdata":m(this,"oncdata",this.cdata);this.cdata="";break;case "script":m(this,"onscript",this.script);this.script="";break;default:z(this,"Max buffer length exceeded: "+t[c])}l=Math.max(l,q)}this.bufferCheckPosition=h.MAX_BUFFER_LENGTH-l+this.position}return this},resume:function(){this.error=null;return this},close:function(){return this.write(null)},flush:function(){w(this);""!==this.cdata&&(m(this,"oncdata",this.cdata),
this.cdata="");""!==this.script&&(m(this,"onscript",this.script),this.script="")}};try{var y=require("stream").Stream}catch(a){y=function(){}}var K=h.EVENTS.filter(function(a){return"error"!==a&&"end"!==a});n.prototype=Object.create(y.prototype,{constructor:{value:n}});n.prototype.write=function(a){"function"===typeof Buffer&&"function"===typeof Buffer.isBuffer&&Buffer.isBuffer(a)&&(this._decoder||(this._decoder=new (require("string_decoder").StringDecoder)("utf8")),a=this._decoder.write(a));this._parser.write(a.toString());
this.emit("data",a);return!0};n.prototype.end=function(a){a&&a.length&&this.write(a);this._parser.end();return!0};n.prototype.on=function(a,b){var c=this;c._parser["on"+a]||-1===K.indexOf(a)||(c._parser["on"+a]=function(){var b=1===arguments.length?[arguments[0]]:Array.apply(null,arguments);b.splice(0,0,a);c.emit.apply(c,b)});return y.prototype.on.call(c,a,b)};var k="\r\n\t ",I="0124356789",J="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ",v="'\"",H=I+J+"#",G=k+">",P="[CDATA[",Q="DOCTYPE",
C="http://www.w3.org/XML/1998/namespace",D="http://www.w3.org/2000/xmlns/",N={xml:C,xmlns:D},k=u(k),I=u(I),J=u(J),x=/[:_A-Za-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD]/,F=/[:_A-Za-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD\u00B7\u0300-\u036F\u203F-\u2040\.\d-]/,v=u(v),H=u(H),G=u(G),b=0;h.STATE={BEGIN:b++,
BEGIN_WHITESPACE:b++,TEXT:b++,TEXT_ENTITY:b++,OPEN_WAKA:b++,SGML_DECL:b++,SGML_DECL_QUOTED:b++,DOCTYPE:b++,DOCTYPE_QUOTED:b++,DOCTYPE_DTD:b++,DOCTYPE_DTD_QUOTED:b++,COMMENT_STARTING:b++,COMMENT:b++,COMMENT_ENDING:b++,COMMENT_ENDED:b++,CDATA:b++,CDATA_ENDING:b++,CDATA_ENDING_2:b++,PROC_INST:b++,PROC_INST_BODY:b++,PROC_INST_ENDING:b++,OPEN_TAG:b++,OPEN_TAG_SLASH:b++,ATTRIB:b++,ATTRIB_NAME:b++,ATTRIB_NAME_SAW_WHITE:b++,ATTRIB_VALUE:b++,ATTRIB_VALUE_QUOTED:b++,ATTRIB_VALUE_CLOSED:b++,ATTRIB_VALUE_UNQUOTED:b++,
ATTRIB_VALUE_ENTITY_Q:b++,ATTRIB_VALUE_ENTITY_U:b++,CLOSE_TAG:b++,CLOSE_TAG_SAW_WHITE:b++,SCRIPT:b++,SCRIPT_ENDING:b++};h.XML_ENTITIES={amp:"&",gt:">",lt:"<",quot:'"',apos:"'"};h.ENTITIES={amp:"&",gt:">",lt:"<",quot:'"',apos:"'",AElig:198,Aacute:193,Acirc:194,Agrave:192,Aring:197,Atilde:195,Auml:196,Ccedil:199,ETH:208,Eacute:201,Ecirc:202,Egrave:200,Euml:203,Iacute:205,Icirc:206,Igrave:204,Iuml:207,Ntilde:209,Oacute:211,Ocirc:212,Ograve:210,Oslash:216,Otilde:213,Ouml:214,THORN:222,Uacute:218,Ucirc:219,
Ugrave:217,Uuml:220,Yacute:221,aacute:225,acirc:226,aelig:230,agrave:224,aring:229,atilde:227,auml:228,ccedil:231,eacute:233,ecirc:234,egrave:232,eth:240,euml:235,iacute:237,icirc:238,igrave:236,iuml:239,ntilde:241,oacute:243,ocirc:244,ograve:242,oslash:248,otilde:245,ouml:246,szlig:223,thorn:254,uacute:250,ucirc:251,ugrave:249,uuml:252,yacute:253,yuml:255,copy:169,reg:174,nbsp:160,iexcl:161,cent:162,pound:163,curren:164,yen:165,brvbar:166,sect:167,uml:168,ordf:170,laquo:171,not:172,shy:173,macr:175,
deg:176,plusmn:177,sup1:185,sup2:178,sup3:179,acute:180,micro:181,para:182,middot:183,cedil:184,ordm:186,raquo:187,frac14:188,frac12:189,frac34:190,iquest:191,times:215,divide:247,OElig:338,oelig:339,Scaron:352,scaron:353,Yuml:376,fnof:402,circ:710,tilde:732,Alpha:913,Beta:914,Gamma:915,Delta:916,Epsilon:917,Zeta:918,Eta:919,Theta:920,Iota:921,Kappa:922,Lambda:923,Mu:924,Nu:925,Xi:926,Omicron:927,Pi:928,Rho:929,Sigma:931,Tau:932,Upsilon:933,Phi:934,Chi:935,Psi:936,Omega:937,alpha:945,beta:946,gamma:947,
delta:948,epsilon:949,zeta:950,eta:951,theta:952,iota:953,kappa:954,lambda:955,mu:956,nu:957,xi:958,omicron:959,pi:960,rho:961,sigmaf:962,sigma:963,tau:964,upsilon:965,phi:966,chi:967,psi:968,omega:969,thetasym:977,upsih:978,piv:982,ensp:8194,emsp:8195,thinsp:8201,zwnj:8204,zwj:8205,lrm:8206,rlm:8207,ndash:8211,mdash:8212,lsquo:8216,rsquo:8217,sbquo:8218,ldquo:8220,rdquo:8221,bdquo:8222,dagger:8224,Dagger:8225,bull:8226,hellip:8230,permil:8240,prime:8242,Prime:8243,lsaquo:8249,rsaquo:8250,oline:8254,
frasl:8260,euro:8364,image:8465,weierp:8472,real:8476,trade:8482,alefsym:8501,larr:8592,uarr:8593,rarr:8594,darr:8595,harr:8596,crarr:8629,lArr:8656,uArr:8657,rArr:8658,dArr:8659,hArr:8660,forall:8704,part:8706,exist:8707,empty:8709,nabla:8711,isin:8712,notin:8713,ni:8715,prod:8719,sum:8721,minus:8722,lowast:8727,radic:8730,prop:8733,infin:8734,ang:8736,and:8743,or:8744,cap:8745,cup:8746,"int":8747,there4:8756,sim:8764,cong:8773,asymp:8776,ne:8800,equiv:8801,le:8804,ge:8805,sub:8834,sup:8835,nsub:8836,
sube:8838,supe:8839,oplus:8853,otimes:8855,perp:8869,sdot:8901,lceil:8968,rceil:8969,lfloor:8970,rfloor:8971,lang:9001,rang:9002,loz:9674,spades:9824,clubs:9827,hearts:9829,diams:9830};Object.keys(h.ENTITIES).forEach(function(a){var b=h.ENTITIES[a],b="number"===typeof b?String.fromCharCode(b):b;h.ENTITIES[a]=b});for(b in h.STATE)h.STATE[h.STATE[b]]=b;b=h.STATE;String.fromCodePoint||function(){var a=String.fromCharCode,b=Math.floor,c=function(){var c=[],d,e,g=-1,h=arguments.length;if(!h)return"";for(var k=
"";++g<h;){e=Number(arguments[g]);if(!isFinite(e)||0>e||1114111<e||b(e)!=e)throw RangeError("Invalid code point: "+e);65535>=e?c.push(e):(e-=65536,d=(e>>10)+55296,e=e%1024+56320,c.push(d,e));if(g+1==h||16384<c.length)k+=a.apply(null,c),c.length=0}return k};Object.defineProperty?Object.defineProperty(String,"fromCodePoint",{value:c,configurable:!0,writable:!0}):String.fromCodePoint=c}()})(sax={});

/*! jQuery v1.9.1 | (c) 2005, 2012 jQuery Foundation, Inc. | jquery.org/license
//@ sourceMappingURL=jquery.min.map
*/(function(e,t){var n,r,i=typeof t,o=e.document,a=e.location,s=e.jQuery,u=e.$,l={},c=[],p="1.9.1",f=c.concat,d=c.push,h=c.slice,g=c.indexOf,m=l.toString,y=l.hasOwnProperty,v=p.trim,b=function(e,t){return new b.fn.init(e,t,r)},x=/[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/.source,w=/\S+/g,T=/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,N=/^(?:(<[\w\W]+>)[^>]*|#([\w-]*))$/,C=/^<(\w+)\s*\/?>(?:<\/\1>|)$/,k=/^[\],:{}\s]*$/,E=/(?:^|:|,)(?:\s*\[)+/g,S=/\\(?:["\\\/bfnrt]|u[\da-fA-F]{4})/g,A=/"[^"\\\r\n]*"|true|false|null|-?(?:\d+\.|)\d+(?:[eE][+-]?\d+|)/g,j=/^-ms-/,D=/-([\da-z])/gi,L=function(e,t){return t.toUpperCase()},H=function(e){(o.addEventListener||"load"===e.type||"complete"===o.readyState)&&(q(),b.ready())},q=function(){o.addEventListener?(o.removeEventListener("DOMContentLoaded",H,!1),e.removeEventListener("load",H,!1)):(o.detachEvent("onreadystatechange",H),e.detachEvent("onload",H))};b.fn=b.prototype={jquery:p,constructor:b,init:function(e,n,r){var i,a;if(!e)return this;if("string"==typeof e){if(i="<"===e.charAt(0)&&">"===e.charAt(e.length-1)&&e.length>=3?[null,e,null]:N.exec(e),!i||!i[1]&&n)return!n||n.jquery?(n||r).find(e):this.constructor(n).find(e);if(i[1]){if(n=n instanceof b?n[0]:n,b.merge(this,b.parseHTML(i[1],n&&n.nodeType?n.ownerDocument||n:o,!0)),C.test(i[1])&&b.isPlainObject(n))for(i in n)b.isFunction(this[i])?this[i](n[i]):this.attr(i,n[i]);return this}if(a=o.getElementById(i[2]),a&&a.parentNode){if(a.id!==i[2])return r.find(e);this.length=1,this[0]=a}return this.context=o,this.selector=e,this}return e.nodeType?(this.context=this[0]=e,this.length=1,this):b.isFunction(e)?r.ready(e):(e.selector!==t&&(this.selector=e.selector,this.context=e.context),b.makeArray(e,this))},selector:"",length:0,size:function(){return this.length},toArray:function(){return h.call(this)},get:function(e){return null==e?this.toArray():0>e?this[this.length+e]:this[e]},pushStack:function(e){var t=b.merge(this.constructor(),e);return t.prevObject=this,t.context=this.context,t},each:function(e,t){return b.each(this,e,t)},ready:function(e){return b.ready.promise().done(e),this},slice:function(){return this.pushStack(h.apply(this,arguments))},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},eq:function(e){var t=this.length,n=+e+(0>e?t:0);return this.pushStack(n>=0&&t>n?[this[n]]:[])},map:function(e){return this.pushStack(b.map(this,function(t,n){return e.call(t,n,t)}))},end:function(){return this.prevObject||this.constructor(null)},push:d,sort:[].sort,splice:[].splice},b.fn.init.prototype=b.fn,b.extend=b.fn.extend=function(){var e,n,r,i,o,a,s=arguments[0]||{},u=1,l=arguments.length,c=!1;for("boolean"==typeof s&&(c=s,s=arguments[1]||{},u=2),"object"==typeof s||b.isFunction(s)||(s={}),l===u&&(s=this,--u);l>u;u++)if(null!=(o=arguments[u]))for(i in o)e=s[i],r=o[i],s!==r&&(c&&r&&(b.isPlainObject(r)||(n=b.isArray(r)))?(n?(n=!1,a=e&&b.isArray(e)?e:[]):a=e&&b.isPlainObject(e)?e:{},s[i]=b.extend(c,a,r)):r!==t&&(s[i]=r));return s},b.extend({noConflict:function(t){return e.$===b&&(e.$=u),t&&e.jQuery===b&&(e.jQuery=s),b},isReady:!1,readyWait:1,holdReady:function(e){e?b.readyWait++:b.ready(!0)},ready:function(e){if(e===!0?!--b.readyWait:!b.isReady){if(!o.body)return setTimeout(b.ready);b.isReady=!0,e!==!0&&--b.readyWait>0||(n.resolveWith(o,[b]),b.fn.trigger&&b(o).trigger("ready").off("ready"))}},isFunction:function(e){return"function"===b.type(e)},isArray:Array.isArray||function(e){return"array"===b.type(e)},isWindow:function(e){return null!=e&&e==e.window},isNumeric:function(e){return!isNaN(parseFloat(e))&&isFinite(e)},type:function(e){return null==e?e+"":"object"==typeof e||"function"==typeof e?l[m.call(e)]||"object":typeof e},isPlainObject:function(e){if(!e||"object"!==b.type(e)||e.nodeType||b.isWindow(e))return!1;try{if(e.constructor&&!y.call(e,"constructor")&&!y.call(e.constructor.prototype,"isPrototypeOf"))return!1}catch(n){return!1}var r;for(r in e);return r===t||y.call(e,r)},isEmptyObject:function(e){var t;for(t in e)return!1;return!0},error:function(e){throw Error(e)},parseHTML:function(e,t,n){if(!e||"string"!=typeof e)return null;"boolean"==typeof t&&(n=t,t=!1),t=t||o;var r=C.exec(e),i=!n&&[];return r?[t.createElement(r[1])]:(r=b.buildFragment([e],t,i),i&&b(i).remove(),b.merge([],r.childNodes))},parseJSON:function(n){return e.JSON&&e.JSON.parse?e.JSON.parse(n):null===n?n:"string"==typeof n&&(n=b.trim(n),n&&k.test(n.replace(S,"@").replace(A,"]").replace(E,"")))?Function("return "+n)():(b.error("Invalid JSON: "+n),t)},parseXML:function(n){var r,i;if(!n||"string"!=typeof n)return null;try{e.DOMParser?(i=new DOMParser,r=i.parseFromString(n,"text/xml")):(r=new ActiveXObject("Microsoft.XMLDOM"),r.async="false",r.loadXML(n))}catch(o){r=t}return r&&r.documentElement&&!r.getElementsByTagName("parsererror").length||b.error("Invalid XML: "+n),r},noop:function(){},globalEval:function(t){t&&b.trim(t)&&(e.execScript||function(t){e.eval.call(e,t)})(t)},camelCase:function(e){return e.replace(j,"ms-").replace(D,L)},nodeName:function(e,t){return e.nodeName&&e.nodeName.toLowerCase()===t.toLowerCase()},each:function(e,t,n){var r,i=0,o=e.length,a=M(e);if(n){if(a){for(;o>i;i++)if(r=t.apply(e[i],n),r===!1)break}else for(i in e)if(r=t.apply(e[i],n),r===!1)break}else if(a){for(;o>i;i++)if(r=t.call(e[i],i,e[i]),r===!1)break}else for(i in e)if(r=t.call(e[i],i,e[i]),r===!1)break;return e},trim:v&&!v.call("\ufeff\u00a0")?function(e){return null==e?"":v.call(e)}:function(e){return null==e?"":(e+"").replace(T,"")},makeArray:function(e,t){var n=t||[];return null!=e&&(M(Object(e))?b.merge(n,"string"==typeof e?[e]:e):d.call(n,e)),n},inArray:function(e,t,n){var r;if(t){if(g)return g.call(t,e,n);for(r=t.length,n=n?0>n?Math.max(0,r+n):n:0;r>n;n++)if(n in t&&t[n]===e)return n}return-1},merge:function(e,n){var r=n.length,i=e.length,o=0;if("number"==typeof r)for(;r>o;o++)e[i++]=n[o];else while(n[o]!==t)e[i++]=n[o++];return e.length=i,e},grep:function(e,t,n){var r,i=[],o=0,a=e.length;for(n=!!n;a>o;o++)r=!!t(e[o],o),n!==r&&i.push(e[o]);return i},map:function(e,t,n){var r,i=0,o=e.length,a=M(e),s=[];if(a)for(;o>i;i++)r=t(e[i],i,n),null!=r&&(s[s.length]=r);else for(i in e)r=t(e[i],i,n),null!=r&&(s[s.length]=r);return f.apply([],s)},guid:1,proxy:function(e,n){var r,i,o;return"string"==typeof n&&(o=e[n],n=e,e=o),b.isFunction(e)?(r=h.call(arguments,2),i=function(){return e.apply(n||this,r.concat(h.call(arguments)))},i.guid=e.guid=e.guid||b.guid++,i):t},access:function(e,n,r,i,o,a,s){var u=0,l=e.length,c=null==r;if("object"===b.type(r)){o=!0;for(u in r)b.access(e,n,u,r[u],!0,a,s)}else if(i!==t&&(o=!0,b.isFunction(i)||(s=!0),c&&(s?(n.call(e,i),n=null):(c=n,n=function(e,t,n){return c.call(b(e),n)})),n))for(;l>u;u++)n(e[u],r,s?i:i.call(e[u],u,n(e[u],r)));return o?e:c?n.call(e):l?n(e[0],r):a},now:function(){return(new Date).getTime()}}),b.ready.promise=function(t){if(!n)if(n=b.Deferred(),"complete"===o.readyState)setTimeout(b.ready);else if(o.addEventListener)o.addEventListener("DOMContentLoaded",H,!1),e.addEventListener("load",H,!1);else{o.attachEvent("onreadystatechange",H),e.attachEvent("onload",H);var r=!1;try{r=null==e.frameElement&&o.documentElement}catch(i){}r&&r.doScroll&&function a(){if(!b.isReady){try{r.doScroll("left")}catch(e){return setTimeout(a,50)}q(),b.ready()}}()}return n.promise(t)},b.each("Boolean Number String Function Array Date RegExp Object Error".split(" "),function(e,t){l["[object "+t+"]"]=t.toLowerCase()});function M(e){var t=e.length,n=b.type(e);return b.isWindow(e)?!1:1===e.nodeType&&t?!0:"array"===n||"function"!==n&&(0===t||"number"==typeof t&&t>0&&t-1 in e)}r=b(o);var _={};function F(e){var t=_[e]={};return b.each(e.match(w)||[],function(e,n){t[n]=!0}),t}b.Callbacks=function(e){e="string"==typeof e?_[e]||F(e):b.extend({},e);var n,r,i,o,a,s,u=[],l=!e.once&&[],c=function(t){for(r=e.memory&&t,i=!0,a=s||0,s=0,o=u.length,n=!0;u&&o>a;a++)if(u[a].apply(t[0],t[1])===!1&&e.stopOnFalse){r=!1;break}n=!1,u&&(l?l.length&&c(l.shift()):r?u=[]:p.disable())},p={add:function(){if(u){var t=u.length;(function i(t){b.each(t,function(t,n){var r=b.type(n);"function"===r?e.unique&&p.has(n)||u.push(n):n&&n.length&&"string"!==r&&i(n)})})(arguments),n?o=u.length:r&&(s=t,c(r))}return this},remove:function(){return u&&b.each(arguments,function(e,t){var r;while((r=b.inArray(t,u,r))>-1)u.splice(r,1),n&&(o>=r&&o--,a>=r&&a--)}),this},has:function(e){return e?b.inArray(e,u)>-1:!(!u||!u.length)},empty:function(){return u=[],this},disable:function(){return u=l=r=t,this},disabled:function(){return!u},lock:function(){return l=t,r||p.disable(),this},locked:function(){return!l},fireWith:function(e,t){return t=t||[],t=[e,t.slice?t.slice():t],!u||i&&!l||(n?l.push(t):c(t)),this},fire:function(){return p.fireWith(this,arguments),this},fired:function(){return!!i}};return p},b.extend({Deferred:function(e){var t=[["resolve","done",b.Callbacks("once memory"),"resolved"],["reject","fail",b.Callbacks("once memory"),"rejected"],["notify","progress",b.Callbacks("memory")]],n="pending",r={state:function(){return n},always:function(){return i.done(arguments).fail(arguments),this},then:function(){var e=arguments;return b.Deferred(function(n){b.each(t,function(t,o){var a=o[0],s=b.isFunction(e[t])&&e[t];i[o[1]](function(){var e=s&&s.apply(this,arguments);e&&b.isFunction(e.promise)?e.promise().done(n.resolve).fail(n.reject).progress(n.notify):n[a+"With"](this===r?n.promise():this,s?[e]:arguments)})}),e=null}).promise()},promise:function(e){return null!=e?b.extend(e,r):r}},i={};return r.pipe=r.then,b.each(t,function(e,o){var a=o[2],s=o[3];r[o[1]]=a.add,s&&a.add(function(){n=s},t[1^e][2].disable,t[2][2].lock),i[o[0]]=function(){return i[o[0]+"With"](this===i?r:this,arguments),this},i[o[0]+"With"]=a.fireWith}),r.promise(i),e&&e.call(i,i),i},when:function(e){var t=0,n=h.call(arguments),r=n.length,i=1!==r||e&&b.isFunction(e.promise)?r:0,o=1===i?e:b.Deferred(),a=function(e,t,n){return function(r){t[e]=this,n[e]=arguments.length>1?h.call(arguments):r,n===s?o.notifyWith(t,n):--i||o.resolveWith(t,n)}},s,u,l;if(r>1)for(s=Array(r),u=Array(r),l=Array(r);r>t;t++)n[t]&&b.isFunction(n[t].promise)?n[t].promise().done(a(t,l,n)).fail(o.reject).progress(a(t,u,s)):--i;return i||o.resolveWith(l,n),o.promise()}}),b.support=function(){var t,n,r,a,s,u,l,c,p,f,d=o.createElement("div");if(d.setAttribute("className","t"),d.innerHTML="  <link/><table></table><a href='/a'>a</a><input type='checkbox'/>",n=d.getElementsByTagName("*"),r=d.getElementsByTagName("a")[0],!n||!r||!n.length)return{};s=o.createElement("select"),l=s.appendChild(o.createElement("option")),a=d.getElementsByTagName("input")[0],r.style.cssText="top:1px;float:left;opacity:.5",t={getSetAttribute:"t"!==d.className,leadingWhitespace:3===d.firstChild.nodeType,tbody:!d.getElementsByTagName("tbody").length,htmlSerialize:!!d.getElementsByTagName("link").length,style:/top/.test(r.getAttribute("style")),hrefNormalized:"/a"===r.getAttribute("href"),opacity:/^0.5/.test(r.style.opacity),cssFloat:!!r.style.cssFloat,checkOn:!!a.value,optSelected:l.selected,enctype:!!o.createElement("form").enctype,html5Clone:"<:nav></:nav>"!==o.createElement("nav").cloneNode(!0).outerHTML,boxModel:"CSS1Compat"===o.compatMode,deleteExpando:!0,noCloneEvent:!0,inlineBlockNeedsLayout:!1,shrinkWrapBlocks:!1,reliableMarginRight:!0,boxSizingReliable:!0,pixelPosition:!1},a.checked=!0,t.noCloneChecked=a.cloneNode(!0).checked,s.disabled=!0,t.optDisabled=!l.disabled;try{delete d.test}catch(h){t.deleteExpando=!1}a=o.createElement("input"),a.setAttribute("value",""),t.input=""===a.getAttribute("value"),a.value="t",a.setAttribute("type","radio"),t.radioValue="t"===a.value,a.setAttribute("checked","t"),a.setAttribute("name","t"),u=o.createDocumentFragment(),u.appendChild(a),t.appendChecked=a.checked,t.checkClone=u.cloneNode(!0).cloneNode(!0).lastChild.checked,d.attachEvent&&(d.attachEvent("onclick",function(){t.noCloneEvent=!1}),d.cloneNode(!0).click());for(f in{submit:!0,change:!0,focusin:!0})d.setAttribute(c="on"+f,"t"),t[f+"Bubbles"]=c in e||d.attributes[c].expando===!1;return d.style.backgroundClip="content-box",d.cloneNode(!0).style.backgroundClip="",t.clearCloneStyle="content-box"===d.style.backgroundClip,b(function(){var n,r,a,s="padding:0;margin:0;border:0;display:block;box-sizing:content-box;-moz-box-sizing:content-box;-webkit-box-sizing:content-box;",u=o.getElementsByTagName("body")[0];u&&(n=o.createElement("div"),n.style.cssText="border:0;width:0;height:0;position:absolute;top:0;left:-9999px;margin-top:1px",u.appendChild(n).appendChild(d),d.innerHTML="<table><tr><td></td><td>t</td></tr></table>",a=d.getElementsByTagName("td"),a[0].style.cssText="padding:0;margin:0;border:0;display:none",p=0===a[0].offsetHeight,a[0].style.display="",a[1].style.display="none",t.reliableHiddenOffsets=p&&0===a[0].offsetHeight,d.innerHTML="",d.style.cssText="box-sizing:border-box;-moz-box-sizing:border-box;-webkit-box-sizing:border-box;padding:1px;border:1px;display:block;width:4px;margin-top:1%;position:absolute;top:1%;",t.boxSizing=4===d.offsetWidth,t.doesNotIncludeMarginInBodyOffset=1!==u.offsetTop,e.getComputedStyle&&(t.pixelPosition="1%"!==(e.getComputedStyle(d,null)||{}).top,t.boxSizingReliable="4px"===(e.getComputedStyle(d,null)||{width:"4px"}).width,r=d.appendChild(o.createElement("div")),r.style.cssText=d.style.cssText=s,r.style.marginRight=r.style.width="0",d.style.width="1px",t.reliableMarginRight=!parseFloat((e.getComputedStyle(r,null)||{}).marginRight)),typeof d.style.zoom!==i&&(d.innerHTML="",d.style.cssText=s+"width:1px;padding:1px;display:inline;zoom:1",t.inlineBlockNeedsLayout=3===d.offsetWidth,d.style.display="block",d.innerHTML="<div></div>",d.firstChild.style.width="5px",t.shrinkWrapBlocks=3!==d.offsetWidth,t.inlineBlockNeedsLayout&&(u.style.zoom=1)),u.removeChild(n),n=d=a=r=null)}),n=s=u=l=r=a=null,t}();var O=/(?:\{[\s\S]*\}|\[[\s\S]*\])$/,B=/([A-Z])/g;function P(e,n,r,i){if(b.acceptData(e)){var o,a,s=b.expando,u="string"==typeof n,l=e.nodeType,p=l?b.cache:e,f=l?e[s]:e[s]&&s;if(f&&p[f]&&(i||p[f].data)||!u||r!==t)return f||(l?e[s]=f=c.pop()||b.guid++:f=s),p[f]||(p[f]={},l||(p[f].toJSON=b.noop)),("object"==typeof n||"function"==typeof n)&&(i?p[f]=b.extend(p[f],n):p[f].data=b.extend(p[f].data,n)),o=p[f],i||(o.data||(o.data={}),o=o.data),r!==t&&(o[b.camelCase(n)]=r),u?(a=o[n],null==a&&(a=o[b.camelCase(n)])):a=o,a}}function R(e,t,n){if(b.acceptData(e)){var r,i,o,a=e.nodeType,s=a?b.cache:e,u=a?e[b.expando]:b.expando;if(s[u]){if(t&&(o=n?s[u]:s[u].data)){b.isArray(t)?t=t.concat(b.map(t,b.camelCase)):t in o?t=[t]:(t=b.camelCase(t),t=t in o?[t]:t.split(" "));for(r=0,i=t.length;i>r;r++)delete o[t[r]];if(!(n?$:b.isEmptyObject)(o))return}(n||(delete s[u].data,$(s[u])))&&(a?b.cleanData([e],!0):b.support.deleteExpando||s!=s.window?delete s[u]:s[u]=null)}}}b.extend({cache:{},expando:"jQuery"+(p+Math.random()).replace(/\D/g,""),noData:{embed:!0,object:"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000",applet:!0},hasData:function(e){return e=e.nodeType?b.cache[e[b.expando]]:e[b.expando],!!e&&!$(e)},data:function(e,t,n){return P(e,t,n)},removeData:function(e,t){return R(e,t)},_data:function(e,t,n){return P(e,t,n,!0)},_removeData:function(e,t){return R(e,t,!0)},acceptData:function(e){if(e.nodeType&&1!==e.nodeType&&9!==e.nodeType)return!1;var t=e.nodeName&&b.noData[e.nodeName.toLowerCase()];return!t||t!==!0&&e.getAttribute("classid")===t}}),b.fn.extend({data:function(e,n){var r,i,o=this[0],a=0,s=null;if(e===t){if(this.length&&(s=b.data(o),1===o.nodeType&&!b._data(o,"parsedAttrs"))){for(r=o.attributes;r.length>a;a++)i=r[a].name,i.indexOf("data-")||(i=b.camelCase(i.slice(5)),W(o,i,s[i]));b._data(o,"parsedAttrs",!0)}return s}return"object"==typeof e?this.each(function(){b.data(this,e)}):b.access(this,function(n){return n===t?o?W(o,e,b.data(o,e)):null:(this.each(function(){b.data(this,e,n)}),t)},null,n,arguments.length>1,null,!0)},removeData:function(e){return this.each(function(){b.removeData(this,e)})}});function W(e,n,r){if(r===t&&1===e.nodeType){var i="data-"+n.replace(B,"-$1").toLowerCase();if(r=e.getAttribute(i),"string"==typeof r){try{r="true"===r?!0:"false"===r?!1:"null"===r?null:+r+""===r?+r:O.test(r)?b.parseJSON(r):r}catch(o){}b.data(e,n,r)}else r=t}return r}function $(e){var t;for(t in e)if(("data"!==t||!b.isEmptyObject(e[t]))&&"toJSON"!==t)return!1;return!0}b.extend({queue:function(e,n,r){var i;return e?(n=(n||"fx")+"queue",i=b._data(e,n),r&&(!i||b.isArray(r)?i=b._data(e,n,b.makeArray(r)):i.push(r)),i||[]):t},dequeue:function(e,t){t=t||"fx";var n=b.queue(e,t),r=n.length,i=n.shift(),o=b._queueHooks(e,t),a=function(){b.dequeue(e,t)};"inprogress"===i&&(i=n.shift(),r--),o.cur=i,i&&("fx"===t&&n.unshift("inprogress"),delete o.stop,i.call(e,a,o)),!r&&o&&o.empty.fire()},_queueHooks:function(e,t){var n=t+"queueHooks";return b._data(e,n)||b._data(e,n,{empty:b.Callbacks("once memory").add(function(){b._removeData(e,t+"queue"),b._removeData(e,n)})})}}),b.fn.extend({queue:function(e,n){var r=2;return"string"!=typeof e&&(n=e,e="fx",r--),r>arguments.length?b.queue(this[0],e):n===t?this:this.each(function(){var t=b.queue(this,e,n);b._queueHooks(this,e),"fx"===e&&"inprogress"!==t[0]&&b.dequeue(this,e)})},dequeue:function(e){return this.each(function(){b.dequeue(this,e)})},delay:function(e,t){return e=b.fx?b.fx.speeds[e]||e:e,t=t||"fx",this.queue(t,function(t,n){var r=setTimeout(t,e);n.stop=function(){clearTimeout(r)}})},clearQueue:function(e){return this.queue(e||"fx",[])},promise:function(e,n){var r,i=1,o=b.Deferred(),a=this,s=this.length,u=function(){--i||o.resolveWith(a,[a])};"string"!=typeof e&&(n=e,e=t),e=e||"fx";while(s--)r=b._data(a[s],e+"queueHooks"),r&&r.empty&&(i++,r.empty.add(u));return u(),o.promise(n)}});var I,z,X=/[\t\r\n]/g,U=/\r/g,V=/^(?:input|select|textarea|button|object)$/i,Y=/^(?:a|area)$/i,J=/^(?:checked|selected|autofocus|autoplay|async|controls|defer|disabled|hidden|loop|multiple|open|readonly|required|scoped)$/i,G=/^(?:checked|selected)$/i,Q=b.support.getSetAttribute,K=b.support.input;b.fn.extend({attr:function(e,t){return b.access(this,b.attr,e,t,arguments.length>1)},removeAttr:function(e){return this.each(function(){b.removeAttr(this,e)})},prop:function(e,t){return b.access(this,b.prop,e,t,arguments.length>1)},removeProp:function(e){return e=b.propFix[e]||e,this.each(function(){try{this[e]=t,delete this[e]}catch(n){}})},addClass:function(e){var t,n,r,i,o,a=0,s=this.length,u="string"==typeof e&&e;if(b.isFunction(e))return this.each(function(t){b(this).addClass(e.call(this,t,this.className))});if(u)for(t=(e||"").match(w)||[];s>a;a++)if(n=this[a],r=1===n.nodeType&&(n.className?(" "+n.className+" ").replace(X," "):" ")){o=0;while(i=t[o++])0>r.indexOf(" "+i+" ")&&(r+=i+" ");n.className=b.trim(r)}return this},removeClass:function(e){var t,n,r,i,o,a=0,s=this.length,u=0===arguments.length||"string"==typeof e&&e;if(b.isFunction(e))return this.each(function(t){b(this).removeClass(e.call(this,t,this.className))});if(u)for(t=(e||"").match(w)||[];s>a;a++)if(n=this[a],r=1===n.nodeType&&(n.className?(" "+n.className+" ").replace(X," "):"")){o=0;while(i=t[o++])while(r.indexOf(" "+i+" ")>=0)r=r.replace(" "+i+" "," ");n.className=e?b.trim(r):""}return this},toggleClass:function(e,t){var n=typeof e,r="boolean"==typeof t;return b.isFunction(e)?this.each(function(n){b(this).toggleClass(e.call(this,n,this.className,t),t)}):this.each(function(){if("string"===n){var o,a=0,s=b(this),u=t,l=e.match(w)||[];while(o=l[a++])u=r?u:!s.hasClass(o),s[u?"addClass":"removeClass"](o)}else(n===i||"boolean"===n)&&(this.className&&b._data(this,"__className__",this.className),this.className=this.className||e===!1?"":b._data(this,"__className__")||"")})},hasClass:function(e){var t=" "+e+" ",n=0,r=this.length;for(;r>n;n++)if(1===this[n].nodeType&&(" "+this[n].className+" ").replace(X," ").indexOf(t)>=0)return!0;return!1},val:function(e){var n,r,i,o=this[0];{if(arguments.length)return i=b.isFunction(e),this.each(function(n){var o,a=b(this);1===this.nodeType&&(o=i?e.call(this,n,a.val()):e,null==o?o="":"number"==typeof o?o+="":b.isArray(o)&&(o=b.map(o,function(e){return null==e?"":e+""})),r=b.valHooks[this.type]||b.valHooks[this.nodeName.toLowerCase()],r&&"set"in r&&r.set(this,o,"value")!==t||(this.value=o))});if(o)return r=b.valHooks[o.type]||b.valHooks[o.nodeName.toLowerCase()],r&&"get"in r&&(n=r.get(o,"value"))!==t?n:(n=o.value,"string"==typeof n?n.replace(U,""):null==n?"":n)}}}),b.extend({valHooks:{option:{get:function(e){var t=e.attributes.value;return!t||t.specified?e.value:e.text}},select:{get:function(e){var t,n,r=e.options,i=e.selectedIndex,o="select-one"===e.type||0>i,a=o?null:[],s=o?i+1:r.length,u=0>i?s:o?i:0;for(;s>u;u++)if(n=r[u],!(!n.selected&&u!==i||(b.support.optDisabled?n.disabled:null!==n.getAttribute("disabled"))||n.parentNode.disabled&&b.nodeName(n.parentNode,"optgroup"))){if(t=b(n).val(),o)return t;a.push(t)}return a},set:function(e,t){var n=b.makeArray(t);return b(e).find("option").each(function(){this.selected=b.inArray(b(this).val(),n)>=0}),n.length||(e.selectedIndex=-1),n}}},attr:function(e,n,r){var o,a,s,u=e.nodeType;if(e&&3!==u&&8!==u&&2!==u)return typeof e.getAttribute===i?b.prop(e,n,r):(a=1!==u||!b.isXMLDoc(e),a&&(n=n.toLowerCase(),o=b.attrHooks[n]||(J.test(n)?z:I)),r===t?o&&a&&"get"in o&&null!==(s=o.get(e,n))?s:(typeof e.getAttribute!==i&&(s=e.getAttribute(n)),null==s?t:s):null!==r?o&&a&&"set"in o&&(s=o.set(e,r,n))!==t?s:(e.setAttribute(n,r+""),r):(b.removeAttr(e,n),t))},removeAttr:function(e,t){var n,r,i=0,o=t&&t.match(w);if(o&&1===e.nodeType)while(n=o[i++])r=b.propFix[n]||n,J.test(n)?!Q&&G.test(n)?e[b.camelCase("default-"+n)]=e[r]=!1:e[r]=!1:b.attr(e,n,""),e.removeAttribute(Q?n:r)},attrHooks:{type:{set:function(e,t){if(!b.support.radioValue&&"radio"===t&&b.nodeName(e,"input")){var n=e.value;return e.setAttribute("type",t),n&&(e.value=n),t}}}},propFix:{tabindex:"tabIndex",readonly:"readOnly","for":"htmlFor","class":"className",maxlength:"maxLength",cellspacing:"cellSpacing",cellpadding:"cellPadding",rowspan:"rowSpan",colspan:"colSpan",usemap:"useMap",frameborder:"frameBorder",contenteditable:"contentEditable"},prop:function(e,n,r){var i,o,a,s=e.nodeType;if(e&&3!==s&&8!==s&&2!==s)return a=1!==s||!b.isXMLDoc(e),a&&(n=b.propFix[n]||n,o=b.propHooks[n]),r!==t?o&&"set"in o&&(i=o.set(e,r,n))!==t?i:e[n]=r:o&&"get"in o&&null!==(i=o.get(e,n))?i:e[n]},propHooks:{tabIndex:{get:function(e){var n=e.getAttributeNode("tabindex");return n&&n.specified?parseInt(n.value,10):V.test(e.nodeName)||Y.test(e.nodeName)&&e.href?0:t}}}}),z={get:function(e,n){var r=b.prop(e,n),i="boolean"==typeof r&&e.getAttribute(n),o="boolean"==typeof r?K&&Q?null!=i:G.test(n)?e[b.camelCase("default-"+n)]:!!i:e.getAttributeNode(n);return o&&o.value!==!1?n.toLowerCase():t},set:function(e,t,n){return t===!1?b.removeAttr(e,n):K&&Q||!G.test(n)?e.setAttribute(!Q&&b.propFix[n]||n,n):e[b.camelCase("default-"+n)]=e[n]=!0,n}},K&&Q||(b.attrHooks.value={get:function(e,n){var r=e.getAttributeNode(n);return b.nodeName(e,"input")?e.defaultValue:r&&r.specified?r.value:t},set:function(e,n,r){return b.nodeName(e,"input")?(e.defaultValue=n,t):I&&I.set(e,n,r)}}),Q||(I=b.valHooks.button={get:function(e,n){var r=e.getAttributeNode(n);return r&&("id"===n||"name"===n||"coords"===n?""!==r.value:r.specified)?r.value:t},set:function(e,n,r){var i=e.getAttributeNode(r);return i||e.setAttributeNode(i=e.ownerDocument.createAttribute(r)),i.value=n+="","value"===r||n===e.getAttribute(r)?n:t}},b.attrHooks.contenteditable={get:I.get,set:function(e,t,n){I.set(e,""===t?!1:t,n)}},b.each(["width","height"],function(e,n){b.attrHooks[n]=b.extend(b.attrHooks[n],{set:function(e,r){return""===r?(e.setAttribute(n,"auto"),r):t}})})),b.support.hrefNormalized||(b.each(["href","src","width","height"],function(e,n){b.attrHooks[n]=b.extend(b.attrHooks[n],{get:function(e){var r=e.getAttribute(n,2);return null==r?t:r}})}),b.each(["href","src"],function(e,t){b.propHooks[t]={get:function(e){return e.getAttribute(t,4)}}})),b.support.style||(b.attrHooks.style={get:function(e){return e.style.cssText||t},set:function(e,t){return e.style.cssText=t+""}}),b.support.optSelected||(b.propHooks.selected=b.extend(b.propHooks.selected,{get:function(e){var t=e.parentNode;return t&&(t.selectedIndex,t.parentNode&&t.parentNode.selectedIndex),null}})),b.support.enctype||(b.propFix.enctype="encoding"),b.support.checkOn||b.each(["radio","checkbox"],function(){b.valHooks[this]={get:function(e){return null===e.getAttribute("value")?"on":e.value}}}),b.each(["radio","checkbox"],function(){b.valHooks[this]=b.extend(b.valHooks[this],{set:function(e,n){return b.isArray(n)?e.checked=b.inArray(b(e).val(),n)>=0:t}})});var Z=/^(?:input|select|textarea)$/i,et=/^key/,tt=/^(?:mouse|contextmenu)|click/,nt=/^(?:focusinfocus|focusoutblur)$/,rt=/^([^.]*)(?:\.(.+)|)$/;function it(){return!0}function ot(){return!1}b.event={global:{},add:function(e,n,r,o,a){var s,u,l,c,p,f,d,h,g,m,y,v=b._data(e);if(v){r.handler&&(c=r,r=c.handler,a=c.selector),r.guid||(r.guid=b.guid++),(u=v.events)||(u=v.events={}),(f=v.handle)||(f=v.handle=function(e){return typeof b===i||e&&b.event.triggered===e.type?t:b.event.dispatch.apply(f.elem,arguments)},f.elem=e),n=(n||"").match(w)||[""],l=n.length;while(l--)s=rt.exec(n[l])||[],g=y=s[1],m=(s[2]||"").split(".").sort(),p=b.event.special[g]||{},g=(a?p.delegateType:p.bindType)||g,p=b.event.special[g]||{},d=b.extend({type:g,origType:y,data:o,handler:r,guid:r.guid,selector:a,needsContext:a&&b.expr.match.needsContext.test(a),namespace:m.join(".")},c),(h=u[g])||(h=u[g]=[],h.delegateCount=0,p.setup&&p.setup.call(e,o,m,f)!==!1||(e.addEventListener?e.addEventListener(g,f,!1):e.attachEvent&&e.attachEvent("on"+g,f))),p.add&&(p.add.call(e,d),d.handler.guid||(d.handler.guid=r.guid)),a?h.splice(h.delegateCount++,0,d):h.push(d),b.event.global[g]=!0;e=null}},remove:function(e,t,n,r,i){var o,a,s,u,l,c,p,f,d,h,g,m=b.hasData(e)&&b._data(e);if(m&&(c=m.events)){t=(t||"").match(w)||[""],l=t.length;while(l--)if(s=rt.exec(t[l])||[],d=g=s[1],h=(s[2]||"").split(".").sort(),d){p=b.event.special[d]||{},d=(r?p.delegateType:p.bindType)||d,f=c[d]||[],s=s[2]&&RegExp("(^|\\.)"+h.join("\\.(?:.*\\.|)")+"(\\.|$)"),u=o=f.length;while(o--)a=f[o],!i&&g!==a.origType||n&&n.guid!==a.guid||s&&!s.test(a.namespace)||r&&r!==a.selector&&("**"!==r||!a.selector)||(f.splice(o,1),a.selector&&f.delegateCount--,p.remove&&p.remove.call(e,a));u&&!f.length&&(p.teardown&&p.teardown.call(e,h,m.handle)!==!1||b.removeEvent(e,d,m.handle),delete c[d])}else for(d in c)b.event.remove(e,d+t[l],n,r,!0);b.isEmptyObject(c)&&(delete m.handle,b._removeData(e,"events"))}},trigger:function(n,r,i,a){var s,u,l,c,p,f,d,h=[i||o],g=y.call(n,"type")?n.type:n,m=y.call(n,"namespace")?n.namespace.split("."):[];if(l=f=i=i||o,3!==i.nodeType&&8!==i.nodeType&&!nt.test(g+b.event.triggered)&&(g.indexOf(".")>=0&&(m=g.split("."),g=m.shift(),m.sort()),u=0>g.indexOf(":")&&"on"+g,n=n[b.expando]?n:new b.Event(g,"object"==typeof n&&n),n.isTrigger=!0,n.namespace=m.join("."),n.namespace_re=n.namespace?RegExp("(^|\\.)"+m.join("\\.(?:.*\\.|)")+"(\\.|$)"):null,n.result=t,n.target||(n.target=i),r=null==r?[n]:b.makeArray(r,[n]),p=b.event.special[g]||{},a||!p.trigger||p.trigger.apply(i,r)!==!1)){if(!a&&!p.noBubble&&!b.isWindow(i)){for(c=p.delegateType||g,nt.test(c+g)||(l=l.parentNode);l;l=l.parentNode)h.push(l),f=l;f===(i.ownerDocument||o)&&h.push(f.defaultView||f.parentWindow||e)}d=0;while((l=h[d++])&&!n.isPropagationStopped())n.type=d>1?c:p.bindType||g,s=(b._data(l,"events")||{})[n.type]&&b._data(l,"handle"),s&&s.apply(l,r),s=u&&l[u],s&&b.acceptData(l)&&s.apply&&s.apply(l,r)===!1&&n.preventDefault();if(n.type=g,!(a||n.isDefaultPrevented()||p._default&&p._default.apply(i.ownerDocument,r)!==!1||"click"===g&&b.nodeName(i,"a")||!b.acceptData(i)||!u||!i[g]||b.isWindow(i))){f=i[u],f&&(i[u]=null),b.event.triggered=g;try{i[g]()}catch(v){}b.event.triggered=t,f&&(i[u]=f)}return n.result}},dispatch:function(e){e=b.event.fix(e);var n,r,i,o,a,s=[],u=h.call(arguments),l=(b._data(this,"events")||{})[e.type]||[],c=b.event.special[e.type]||{};if(u[0]=e,e.delegateTarget=this,!c.preDispatch||c.preDispatch.call(this,e)!==!1){s=b.event.handlers.call(this,e,l),n=0;while((o=s[n++])&&!e.isPropagationStopped()){e.currentTarget=o.elem,a=0;while((i=o.handlers[a++])&&!e.isImmediatePropagationStopped())(!e.namespace_re||e.namespace_re.test(i.namespace))&&(e.handleObj=i,e.data=i.data,r=((b.event.special[i.origType]||{}).handle||i.handler).apply(o.elem,u),r!==t&&(e.result=r)===!1&&(e.preventDefault(),e.stopPropagation()))}return c.postDispatch&&c.postDispatch.call(this,e),e.result}},handlers:function(e,n){var r,i,o,a,s=[],u=n.delegateCount,l=e.target;if(u&&l.nodeType&&(!e.button||"click"!==e.type))for(;l!=this;l=l.parentNode||this)if(1===l.nodeType&&(l.disabled!==!0||"click"!==e.type)){for(o=[],a=0;u>a;a++)i=n[a],r=i.selector+" ",o[r]===t&&(o[r]=i.needsContext?b(r,this).index(l)>=0:b.find(r,this,null,[l]).length),o[r]&&o.push(i);o.length&&s.push({elem:l,handlers:o})}return n.length>u&&s.push({elem:this,handlers:n.slice(u)}),s},fix:function(e){if(e[b.expando])return e;var t,n,r,i=e.type,a=e,s=this.fixHooks[i];s||(this.fixHooks[i]=s=tt.test(i)?this.mouseHooks:et.test(i)?this.keyHooks:{}),r=s.props?this.props.concat(s.props):this.props,e=new b.Event(a),t=r.length;while(t--)n=r[t],e[n]=a[n];return e.target||(e.target=a.srcElement||o),3===e.target.nodeType&&(e.target=e.target.parentNode),e.metaKey=!!e.metaKey,s.filter?s.filter(e,a):e},props:"altKey bubbles cancelable ctrlKey currentTarget eventPhase metaKey relatedTarget shiftKey target timeStamp view which".split(" "),fixHooks:{},keyHooks:{props:"char charCode key keyCode".split(" "),filter:function(e,t){return null==e.which&&(e.which=null!=t.charCode?t.charCode:t.keyCode),e}},mouseHooks:{props:"button buttons clientX clientY fromElement offsetX offsetY pageX pageY screenX screenY toElement".split(" "),filter:function(e,n){var r,i,a,s=n.button,u=n.fromElement;return null==e.pageX&&null!=n.clientX&&(i=e.target.ownerDocument||o,a=i.documentElement,r=i.body,e.pageX=n.clientX+(a&&a.scrollLeft||r&&r.scrollLeft||0)-(a&&a.clientLeft||r&&r.clientLeft||0),e.pageY=n.clientY+(a&&a.scrollTop||r&&r.scrollTop||0)-(a&&a.clientTop||r&&r.clientTop||0)),!e.relatedTarget&&u&&(e.relatedTarget=u===e.target?n.toElement:u),e.which||s===t||(e.which=1&s?1:2&s?3:4&s?2:0),e}},special:{load:{noBubble:!0},click:{trigger:function(){return b.nodeName(this,"input")&&"checkbox"===this.type&&this.click?(this.click(),!1):t}},focus:{trigger:function(){if(this!==o.activeElement&&this.focus)try{return this.focus(),!1}catch(e){}},delegateType:"focusin"},blur:{trigger:function(){return this===o.activeElement&&this.blur?(this.blur(),!1):t},delegateType:"focusout"},beforeunload:{postDispatch:function(e){e.result!==t&&(e.originalEvent.returnValue=e.result)}}},simulate:function(e,t,n,r){var i=b.extend(new b.Event,n,{type:e,isSimulated:!0,originalEvent:{}});r?b.event.trigger(i,null,t):b.event.dispatch.call(t,i),i.isDefaultPrevented()&&n.preventDefault()}},b.removeEvent=o.removeEventListener?function(e,t,n){e.removeEventListener&&e.removeEventListener(t,n,!1)}:function(e,t,n){var r="on"+t;e.detachEvent&&(typeof e[r]===i&&(e[r]=null),e.detachEvent(r,n))},b.Event=function(e,n){return this instanceof b.Event?(e&&e.type?(this.originalEvent=e,this.type=e.type,this.isDefaultPrevented=e.defaultPrevented||e.returnValue===!1||e.getPreventDefault&&e.getPreventDefault()?it:ot):this.type=e,n&&b.extend(this,n),this.timeStamp=e&&e.timeStamp||b.now(),this[b.expando]=!0,t):new b.Event(e,n)},b.Event.prototype={isDefaultPrevented:ot,isPropagationStopped:ot,isImmediatePropagationStopped:ot,preventDefault:function(){var e=this.originalEvent;this.isDefaultPrevented=it,e&&(e.preventDefault?e.preventDefault():e.returnValue=!1)},stopPropagation:function(){var e=this.originalEvent;this.isPropagationStopped=it,e&&(e.stopPropagation&&e.stopPropagation(),e.cancelBubble=!0)},stopImmediatePropagation:function(){this.isImmediatePropagationStopped=it,this.stopPropagation()}},b.each({mouseenter:"mouseover",mouseleave:"mouseout"},function(e,t){b.event.special[e]={delegateType:t,bindType:t,handle:function(e){var n,r=this,i=e.relatedTarget,o=e.handleObj;
return(!i||i!==r&&!b.contains(r,i))&&(e.type=o.origType,n=o.handler.apply(this,arguments),e.type=t),n}}}),b.support.submitBubbles||(b.event.special.submit={setup:function(){return b.nodeName(this,"form")?!1:(b.event.add(this,"click._submit keypress._submit",function(e){var n=e.target,r=b.nodeName(n,"input")||b.nodeName(n,"button")?n.form:t;r&&!b._data(r,"submitBubbles")&&(b.event.add(r,"submit._submit",function(e){e._submit_bubble=!0}),b._data(r,"submitBubbles",!0))}),t)},postDispatch:function(e){e._submit_bubble&&(delete e._submit_bubble,this.parentNode&&!e.isTrigger&&b.event.simulate("submit",this.parentNode,e,!0))},teardown:function(){return b.nodeName(this,"form")?!1:(b.event.remove(this,"._submit"),t)}}),b.support.changeBubbles||(b.event.special.change={setup:function(){return Z.test(this.nodeName)?(("checkbox"===this.type||"radio"===this.type)&&(b.event.add(this,"propertychange._change",function(e){"checked"===e.originalEvent.propertyName&&(this._just_changed=!0)}),b.event.add(this,"click._change",function(e){this._just_changed&&!e.isTrigger&&(this._just_changed=!1),b.event.simulate("change",this,e,!0)})),!1):(b.event.add(this,"beforeactivate._change",function(e){var t=e.target;Z.test(t.nodeName)&&!b._data(t,"changeBubbles")&&(b.event.add(t,"change._change",function(e){!this.parentNode||e.isSimulated||e.isTrigger||b.event.simulate("change",this.parentNode,e,!0)}),b._data(t,"changeBubbles",!0))}),t)},handle:function(e){var n=e.target;return this!==n||e.isSimulated||e.isTrigger||"radio"!==n.type&&"checkbox"!==n.type?e.handleObj.handler.apply(this,arguments):t},teardown:function(){return b.event.remove(this,"._change"),!Z.test(this.nodeName)}}),b.support.focusinBubbles||b.each({focus:"focusin",blur:"focusout"},function(e,t){var n=0,r=function(e){b.event.simulate(t,e.target,b.event.fix(e),!0)};b.event.special[t]={setup:function(){0===n++&&o.addEventListener(e,r,!0)},teardown:function(){0===--n&&o.removeEventListener(e,r,!0)}}}),b.fn.extend({on:function(e,n,r,i,o){var a,s;if("object"==typeof e){"string"!=typeof n&&(r=r||n,n=t);for(a in e)this.on(a,n,r,e[a],o);return this}if(null==r&&null==i?(i=n,r=n=t):null==i&&("string"==typeof n?(i=r,r=t):(i=r,r=n,n=t)),i===!1)i=ot;else if(!i)return this;return 1===o&&(s=i,i=function(e){return b().off(e),s.apply(this,arguments)},i.guid=s.guid||(s.guid=b.guid++)),this.each(function(){b.event.add(this,e,i,r,n)})},one:function(e,t,n,r){return this.on(e,t,n,r,1)},off:function(e,n,r){var i,o;if(e&&e.preventDefault&&e.handleObj)return i=e.handleObj,b(e.delegateTarget).off(i.namespace?i.origType+"."+i.namespace:i.origType,i.selector,i.handler),this;if("object"==typeof e){for(o in e)this.off(o,n,e[o]);return this}return(n===!1||"function"==typeof n)&&(r=n,n=t),r===!1&&(r=ot),this.each(function(){b.event.remove(this,e,r,n)})},bind:function(e,t,n){return this.on(e,null,t,n)},unbind:function(e,t){return this.off(e,null,t)},delegate:function(e,t,n,r){return this.on(t,e,n,r)},undelegate:function(e,t,n){return 1===arguments.length?this.off(e,"**"):this.off(t,e||"**",n)},trigger:function(e,t){return this.each(function(){b.event.trigger(e,t,this)})},triggerHandler:function(e,n){var r=this[0];return r?b.event.trigger(e,n,r,!0):t}}),function(e,t){var n,r,i,o,a,s,u,l,c,p,f,d,h,g,m,y,v,x="sizzle"+-new Date,w=e.document,T={},N=0,C=0,k=it(),E=it(),S=it(),A=typeof t,j=1<<31,D=[],L=D.pop,H=D.push,q=D.slice,M=D.indexOf||function(e){var t=0,n=this.length;for(;n>t;t++)if(this[t]===e)return t;return-1},_="[\\x20\\t\\r\\n\\f]",F="(?:\\\\.|[\\w-]|[^\\x00-\\xa0])+",O=F.replace("w","w#"),B="([*^$|!~]?=)",P="\\["+_+"*("+F+")"+_+"*(?:"+B+_+"*(?:(['\"])((?:\\\\.|[^\\\\])*?)\\3|("+O+")|)|)"+_+"*\\]",R=":("+F+")(?:\\(((['\"])((?:\\\\.|[^\\\\])*?)\\3|((?:\\\\.|[^\\\\()[\\]]|"+P.replace(3,8)+")*)|.*)\\)|)",W=RegExp("^"+_+"+|((?:^|[^\\\\])(?:\\\\.)*)"+_+"+$","g"),$=RegExp("^"+_+"*,"+_+"*"),I=RegExp("^"+_+"*([\\x20\\t\\r\\n\\f>+~])"+_+"*"),z=RegExp(R),X=RegExp("^"+O+"$"),U={ID:RegExp("^#("+F+")"),CLASS:RegExp("^\\.("+F+")"),NAME:RegExp("^\\[name=['\"]?("+F+")['\"]?\\]"),TAG:RegExp("^("+F.replace("w","w*")+")"),ATTR:RegExp("^"+P),PSEUDO:RegExp("^"+R),CHILD:RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+_+"*(even|odd|(([+-]|)(\\d*)n|)"+_+"*(?:([+-]|)"+_+"*(\\d+)|))"+_+"*\\)|)","i"),needsContext:RegExp("^"+_+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+_+"*((?:-\\d)?\\d*)"+_+"*\\)|)(?=[^-]|$)","i")},V=/[\x20\t\r\n\f]*[+~]/,Y=/^[^{]+\{\s*\[native code/,J=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,G=/^(?:input|select|textarea|button)$/i,Q=/^h\d$/i,K=/'|\\/g,Z=/\=[\x20\t\r\n\f]*([^'"\]]*)[\x20\t\r\n\f]*\]/g,et=/\\([\da-fA-F]{1,6}[\x20\t\r\n\f]?|.)/g,tt=function(e,t){var n="0x"+t-65536;return n!==n?t:0>n?String.fromCharCode(n+65536):String.fromCharCode(55296|n>>10,56320|1023&n)};try{q.call(w.documentElement.childNodes,0)[0].nodeType}catch(nt){q=function(e){var t,n=[];while(t=this[e++])n.push(t);return n}}function rt(e){return Y.test(e+"")}function it(){var e,t=[];return e=function(n,r){return t.push(n+=" ")>i.cacheLength&&delete e[t.shift()],e[n]=r}}function ot(e){return e[x]=!0,e}function at(e){var t=p.createElement("div");try{return e(t)}catch(n){return!1}finally{t=null}}function st(e,t,n,r){var i,o,a,s,u,l,f,g,m,v;if((t?t.ownerDocument||t:w)!==p&&c(t),t=t||p,n=n||[],!e||"string"!=typeof e)return n;if(1!==(s=t.nodeType)&&9!==s)return[];if(!d&&!r){if(i=J.exec(e))if(a=i[1]){if(9===s){if(o=t.getElementById(a),!o||!o.parentNode)return n;if(o.id===a)return n.push(o),n}else if(t.ownerDocument&&(o=t.ownerDocument.getElementById(a))&&y(t,o)&&o.id===a)return n.push(o),n}else{if(i[2])return H.apply(n,q.call(t.getElementsByTagName(e),0)),n;if((a=i[3])&&T.getByClassName&&t.getElementsByClassName)return H.apply(n,q.call(t.getElementsByClassName(a),0)),n}if(T.qsa&&!h.test(e)){if(f=!0,g=x,m=t,v=9===s&&e,1===s&&"object"!==t.nodeName.toLowerCase()){l=ft(e),(f=t.getAttribute("id"))?g=f.replace(K,"\\$&"):t.setAttribute("id",g),g="[id='"+g+"'] ",u=l.length;while(u--)l[u]=g+dt(l[u]);m=V.test(e)&&t.parentNode||t,v=l.join(",")}if(v)try{return H.apply(n,q.call(m.querySelectorAll(v),0)),n}catch(b){}finally{f||t.removeAttribute("id")}}}return wt(e.replace(W,"$1"),t,n,r)}a=st.isXML=function(e){var t=e&&(e.ownerDocument||e).documentElement;return t?"HTML"!==t.nodeName:!1},c=st.setDocument=function(e){var n=e?e.ownerDocument||e:w;return n!==p&&9===n.nodeType&&n.documentElement?(p=n,f=n.documentElement,d=a(n),T.tagNameNoComments=at(function(e){return e.appendChild(n.createComment("")),!e.getElementsByTagName("*").length}),T.attributes=at(function(e){e.innerHTML="<select></select>";var t=typeof e.lastChild.getAttribute("multiple");return"boolean"!==t&&"string"!==t}),T.getByClassName=at(function(e){return e.innerHTML="<div class='hidden e'></div><div class='hidden'></div>",e.getElementsByClassName&&e.getElementsByClassName("e").length?(e.lastChild.className="e",2===e.getElementsByClassName("e").length):!1}),T.getByName=at(function(e){e.id=x+0,e.innerHTML="<a name='"+x+"'></a><div name='"+x+"'></div>",f.insertBefore(e,f.firstChild);var t=n.getElementsByName&&n.getElementsByName(x).length===2+n.getElementsByName(x+0).length;return T.getIdNotName=!n.getElementById(x),f.removeChild(e),t}),i.attrHandle=at(function(e){return e.innerHTML="<a href='#'></a>",e.firstChild&&typeof e.firstChild.getAttribute!==A&&"#"===e.firstChild.getAttribute("href")})?{}:{href:function(e){return e.getAttribute("href",2)},type:function(e){return e.getAttribute("type")}},T.getIdNotName?(i.find.ID=function(e,t){if(typeof t.getElementById!==A&&!d){var n=t.getElementById(e);return n&&n.parentNode?[n]:[]}},i.filter.ID=function(e){var t=e.replace(et,tt);return function(e){return e.getAttribute("id")===t}}):(i.find.ID=function(e,n){if(typeof n.getElementById!==A&&!d){var r=n.getElementById(e);return r?r.id===e||typeof r.getAttributeNode!==A&&r.getAttributeNode("id").value===e?[r]:t:[]}},i.filter.ID=function(e){var t=e.replace(et,tt);return function(e){var n=typeof e.getAttributeNode!==A&&e.getAttributeNode("id");return n&&n.value===t}}),i.find.TAG=T.tagNameNoComments?function(e,n){return typeof n.getElementsByTagName!==A?n.getElementsByTagName(e):t}:function(e,t){var n,r=[],i=0,o=t.getElementsByTagName(e);if("*"===e){while(n=o[i++])1===n.nodeType&&r.push(n);return r}return o},i.find.NAME=T.getByName&&function(e,n){return typeof n.getElementsByName!==A?n.getElementsByName(name):t},i.find.CLASS=T.getByClassName&&function(e,n){return typeof n.getElementsByClassName===A||d?t:n.getElementsByClassName(e)},g=[],h=[":focus"],(T.qsa=rt(n.querySelectorAll))&&(at(function(e){e.innerHTML="<select><option selected=''></option></select>",e.querySelectorAll("[selected]").length||h.push("\\["+_+"*(?:checked|disabled|ismap|multiple|readonly|selected|value)"),e.querySelectorAll(":checked").length||h.push(":checked")}),at(function(e){e.innerHTML="<input type='hidden' i=''/>",e.querySelectorAll("[i^='']").length&&h.push("[*^$]="+_+"*(?:\"\"|'')"),e.querySelectorAll(":enabled").length||h.push(":enabled",":disabled"),e.querySelectorAll("*,:x"),h.push(",.*:")})),(T.matchesSelector=rt(m=f.matchesSelector||f.mozMatchesSelector||f.webkitMatchesSelector||f.oMatchesSelector||f.msMatchesSelector))&&at(function(e){T.disconnectedMatch=m.call(e,"div"),m.call(e,"[s!='']:x"),g.push("!=",R)}),h=RegExp(h.join("|")),g=RegExp(g.join("|")),y=rt(f.contains)||f.compareDocumentPosition?function(e,t){var n=9===e.nodeType?e.documentElement:e,r=t&&t.parentNode;return e===r||!(!r||1!==r.nodeType||!(n.contains?n.contains(r):e.compareDocumentPosition&&16&e.compareDocumentPosition(r)))}:function(e,t){if(t)while(t=t.parentNode)if(t===e)return!0;return!1},v=f.compareDocumentPosition?function(e,t){var r;return e===t?(u=!0,0):(r=t.compareDocumentPosition&&e.compareDocumentPosition&&e.compareDocumentPosition(t))?1&r||e.parentNode&&11===e.parentNode.nodeType?e===n||y(w,e)?-1:t===n||y(w,t)?1:0:4&r?-1:1:e.compareDocumentPosition?-1:1}:function(e,t){var r,i=0,o=e.parentNode,a=t.parentNode,s=[e],l=[t];if(e===t)return u=!0,0;if(!o||!a)return e===n?-1:t===n?1:o?-1:a?1:0;if(o===a)return ut(e,t);r=e;while(r=r.parentNode)s.unshift(r);r=t;while(r=r.parentNode)l.unshift(r);while(s[i]===l[i])i++;return i?ut(s[i],l[i]):s[i]===w?-1:l[i]===w?1:0},u=!1,[0,0].sort(v),T.detectDuplicates=u,p):p},st.matches=function(e,t){return st(e,null,null,t)},st.matchesSelector=function(e,t){if((e.ownerDocument||e)!==p&&c(e),t=t.replace(Z,"='$1']"),!(!T.matchesSelector||d||g&&g.test(t)||h.test(t)))try{var n=m.call(e,t);if(n||T.disconnectedMatch||e.document&&11!==e.document.nodeType)return n}catch(r){}return st(t,p,null,[e]).length>0},st.contains=function(e,t){return(e.ownerDocument||e)!==p&&c(e),y(e,t)},st.attr=function(e,t){var n;return(e.ownerDocument||e)!==p&&c(e),d||(t=t.toLowerCase()),(n=i.attrHandle[t])?n(e):d||T.attributes?e.getAttribute(t):((n=e.getAttributeNode(t))||e.getAttribute(t))&&e[t]===!0?t:n&&n.specified?n.value:null},st.error=function(e){throw Error("Syntax error, unrecognized expression: "+e)},st.uniqueSort=function(e){var t,n=[],r=1,i=0;if(u=!T.detectDuplicates,e.sort(v),u){for(;t=e[r];r++)t===e[r-1]&&(i=n.push(r));while(i--)e.splice(n[i],1)}return e};function ut(e,t){var n=t&&e,r=n&&(~t.sourceIndex||j)-(~e.sourceIndex||j);if(r)return r;if(n)while(n=n.nextSibling)if(n===t)return-1;return e?1:-1}function lt(e){return function(t){var n=t.nodeName.toLowerCase();return"input"===n&&t.type===e}}function ct(e){return function(t){var n=t.nodeName.toLowerCase();return("input"===n||"button"===n)&&t.type===e}}function pt(e){return ot(function(t){return t=+t,ot(function(n,r){var i,o=e([],n.length,t),a=o.length;while(a--)n[i=o[a]]&&(n[i]=!(r[i]=n[i]))})})}o=st.getText=function(e){var t,n="",r=0,i=e.nodeType;if(i){if(1===i||9===i||11===i){if("string"==typeof e.textContent)return e.textContent;for(e=e.firstChild;e;e=e.nextSibling)n+=o(e)}else if(3===i||4===i)return e.nodeValue}else for(;t=e[r];r++)n+=o(t);return n},i=st.selectors={cacheLength:50,createPseudo:ot,match:U,find:{},relative:{">":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(e){return e[1]=e[1].replace(et,tt),e[3]=(e[4]||e[5]||"").replace(et,tt),"~="===e[2]&&(e[3]=" "+e[3]+" "),e.slice(0,4)},CHILD:function(e){return e[1]=e[1].toLowerCase(),"nth"===e[1].slice(0,3)?(e[3]||st.error(e[0]),e[4]=+(e[4]?e[5]+(e[6]||1):2*("even"===e[3]||"odd"===e[3])),e[5]=+(e[7]+e[8]||"odd"===e[3])):e[3]&&st.error(e[0]),e},PSEUDO:function(e){var t,n=!e[5]&&e[2];return U.CHILD.test(e[0])?null:(e[4]?e[2]=e[4]:n&&z.test(n)&&(t=ft(n,!0))&&(t=n.indexOf(")",n.length-t)-n.length)&&(e[0]=e[0].slice(0,t),e[2]=n.slice(0,t)),e.slice(0,3))}},filter:{TAG:function(e){return"*"===e?function(){return!0}:(e=e.replace(et,tt).toLowerCase(),function(t){return t.nodeName&&t.nodeName.toLowerCase()===e})},CLASS:function(e){var t=k[e+" "];return t||(t=RegExp("(^|"+_+")"+e+"("+_+"|$)"))&&k(e,function(e){return t.test(e.className||typeof e.getAttribute!==A&&e.getAttribute("class")||"")})},ATTR:function(e,t,n){return function(r){var i=st.attr(r,e);return null==i?"!="===t:t?(i+="","="===t?i===n:"!="===t?i!==n:"^="===t?n&&0===i.indexOf(n):"*="===t?n&&i.indexOf(n)>-1:"$="===t?n&&i.slice(-n.length)===n:"~="===t?(" "+i+" ").indexOf(n)>-1:"|="===t?i===n||i.slice(0,n.length+1)===n+"-":!1):!0}},CHILD:function(e,t,n,r,i){var o="nth"!==e.slice(0,3),a="last"!==e.slice(-4),s="of-type"===t;return 1===r&&0===i?function(e){return!!e.parentNode}:function(t,n,u){var l,c,p,f,d,h,g=o!==a?"nextSibling":"previousSibling",m=t.parentNode,y=s&&t.nodeName.toLowerCase(),v=!u&&!s;if(m){if(o){while(g){p=t;while(p=p[g])if(s?p.nodeName.toLowerCase()===y:1===p.nodeType)return!1;h=g="only"===e&&!h&&"nextSibling"}return!0}if(h=[a?m.firstChild:m.lastChild],a&&v){c=m[x]||(m[x]={}),l=c[e]||[],d=l[0]===N&&l[1],f=l[0]===N&&l[2],p=d&&m.childNodes[d];while(p=++d&&p&&p[g]||(f=d=0)||h.pop())if(1===p.nodeType&&++f&&p===t){c[e]=[N,d,f];break}}else if(v&&(l=(t[x]||(t[x]={}))[e])&&l[0]===N)f=l[1];else while(p=++d&&p&&p[g]||(f=d=0)||h.pop())if((s?p.nodeName.toLowerCase()===y:1===p.nodeType)&&++f&&(v&&((p[x]||(p[x]={}))[e]=[N,f]),p===t))break;return f-=i,f===r||0===f%r&&f/r>=0}}},PSEUDO:function(e,t){var n,r=i.pseudos[e]||i.setFilters[e.toLowerCase()]||st.error("unsupported pseudo: "+e);return r[x]?r(t):r.length>1?(n=[e,e,"",t],i.setFilters.hasOwnProperty(e.toLowerCase())?ot(function(e,n){var i,o=r(e,t),a=o.length;while(a--)i=M.call(e,o[a]),e[i]=!(n[i]=o[a])}):function(e){return r(e,0,n)}):r}},pseudos:{not:ot(function(e){var t=[],n=[],r=s(e.replace(W,"$1"));return r[x]?ot(function(e,t,n,i){var o,a=r(e,null,i,[]),s=e.length;while(s--)(o=a[s])&&(e[s]=!(t[s]=o))}):function(e,i,o){return t[0]=e,r(t,null,o,n),!n.pop()}}),has:ot(function(e){return function(t){return st(e,t).length>0}}),contains:ot(function(e){return function(t){return(t.textContent||t.innerText||o(t)).indexOf(e)>-1}}),lang:ot(function(e){return X.test(e||"")||st.error("unsupported lang: "+e),e=e.replace(et,tt).toLowerCase(),function(t){var n;do if(n=d?t.getAttribute("xml:lang")||t.getAttribute("lang"):t.lang)return n=n.toLowerCase(),n===e||0===n.indexOf(e+"-");while((t=t.parentNode)&&1===t.nodeType);return!1}}),target:function(t){var n=e.location&&e.location.hash;return n&&n.slice(1)===t.id},root:function(e){return e===f},focus:function(e){return e===p.activeElement&&(!p.hasFocus||p.hasFocus())&&!!(e.type||e.href||~e.tabIndex)},enabled:function(e){return e.disabled===!1},disabled:function(e){return e.disabled===!0},checked:function(e){var t=e.nodeName.toLowerCase();return"input"===t&&!!e.checked||"option"===t&&!!e.selected},selected:function(e){return e.parentNode&&e.parentNode.selectedIndex,e.selected===!0},empty:function(e){for(e=e.firstChild;e;e=e.nextSibling)if(e.nodeName>"@"||3===e.nodeType||4===e.nodeType)return!1;return!0},parent:function(e){return!i.pseudos.empty(e)},header:function(e){return Q.test(e.nodeName)},input:function(e){return G.test(e.nodeName)},button:function(e){var t=e.nodeName.toLowerCase();return"input"===t&&"button"===e.type||"button"===t},text:function(e){var t;return"input"===e.nodeName.toLowerCase()&&"text"===e.type&&(null==(t=e.getAttribute("type"))||t.toLowerCase()===e.type)},first:pt(function(){return[0]}),last:pt(function(e,t){return[t-1]}),eq:pt(function(e,t,n){return[0>n?n+t:n]}),even:pt(function(e,t){var n=0;for(;t>n;n+=2)e.push(n);return e}),odd:pt(function(e,t){var n=1;for(;t>n;n+=2)e.push(n);return e}),lt:pt(function(e,t,n){var r=0>n?n+t:n;for(;--r>=0;)e.push(r);return e}),gt:pt(function(e,t,n){var r=0>n?n+t:n;for(;t>++r;)e.push(r);return e})}};for(n in{radio:!0,checkbox:!0,file:!0,password:!0,image:!0})i.pseudos[n]=lt(n);for(n in{submit:!0,reset:!0})i.pseudos[n]=ct(n);function ft(e,t){var n,r,o,a,s,u,l,c=E[e+" "];if(c)return t?0:c.slice(0);s=e,u=[],l=i.preFilter;while(s){(!n||(r=$.exec(s)))&&(r&&(s=s.slice(r[0].length)||s),u.push(o=[])),n=!1,(r=I.exec(s))&&(n=r.shift(),o.push({value:n,type:r[0].replace(W," ")}),s=s.slice(n.length));for(a in i.filter)!(r=U[a].exec(s))||l[a]&&!(r=l[a](r))||(n=r.shift(),o.push({value:n,type:a,matches:r}),s=s.slice(n.length));if(!n)break}return t?s.length:s?st.error(e):E(e,u).slice(0)}function dt(e){var t=0,n=e.length,r="";for(;n>t;t++)r+=e[t].value;return r}function ht(e,t,n){var i=t.dir,o=n&&"parentNode"===i,a=C++;return t.first?function(t,n,r){while(t=t[i])if(1===t.nodeType||o)return e(t,n,r)}:function(t,n,s){var u,l,c,p=N+" "+a;if(s){while(t=t[i])if((1===t.nodeType||o)&&e(t,n,s))return!0}else while(t=t[i])if(1===t.nodeType||o)if(c=t[x]||(t[x]={}),(l=c[i])&&l[0]===p){if((u=l[1])===!0||u===r)return u===!0}else if(l=c[i]=[p],l[1]=e(t,n,s)||r,l[1]===!0)return!0}}function gt(e){return e.length>1?function(t,n,r){var i=e.length;while(i--)if(!e[i](t,n,r))return!1;return!0}:e[0]}function mt(e,t,n,r,i){var o,a=[],s=0,u=e.length,l=null!=t;for(;u>s;s++)(o=e[s])&&(!n||n(o,r,i))&&(a.push(o),l&&t.push(s));return a}function yt(e,t,n,r,i,o){return r&&!r[x]&&(r=yt(r)),i&&!i[x]&&(i=yt(i,o)),ot(function(o,a,s,u){var l,c,p,f=[],d=[],h=a.length,g=o||xt(t||"*",s.nodeType?[s]:s,[]),m=!e||!o&&t?g:mt(g,f,e,s,u),y=n?i||(o?e:h||r)?[]:a:m;if(n&&n(m,y,s,u),r){l=mt(y,d),r(l,[],s,u),c=l.length;while(c--)(p=l[c])&&(y[d[c]]=!(m[d[c]]=p))}if(o){if(i||e){if(i){l=[],c=y.length;while(c--)(p=y[c])&&l.push(m[c]=p);i(null,y=[],l,u)}c=y.length;while(c--)(p=y[c])&&(l=i?M.call(o,p):f[c])>-1&&(o[l]=!(a[l]=p))}}else y=mt(y===a?y.splice(h,y.length):y),i?i(null,a,y,u):H.apply(a,y)})}function vt(e){var t,n,r,o=e.length,a=i.relative[e[0].type],s=a||i.relative[" "],u=a?1:0,c=ht(function(e){return e===t},s,!0),p=ht(function(e){return M.call(t,e)>-1},s,!0),f=[function(e,n,r){return!a&&(r||n!==l)||((t=n).nodeType?c(e,n,r):p(e,n,r))}];for(;o>u;u++)if(n=i.relative[e[u].type])f=[ht(gt(f),n)];else{if(n=i.filter[e[u].type].apply(null,e[u].matches),n[x]){for(r=++u;o>r;r++)if(i.relative[e[r].type])break;return yt(u>1&&gt(f),u>1&&dt(e.slice(0,u-1)).replace(W,"$1"),n,r>u&&vt(e.slice(u,r)),o>r&&vt(e=e.slice(r)),o>r&&dt(e))}f.push(n)}return gt(f)}function bt(e,t){var n=0,o=t.length>0,a=e.length>0,s=function(s,u,c,f,d){var h,g,m,y=[],v=0,b="0",x=s&&[],w=null!=d,T=l,C=s||a&&i.find.TAG("*",d&&u.parentNode||u),k=N+=null==T?1:Math.random()||.1;for(w&&(l=u!==p&&u,r=n);null!=(h=C[b]);b++){if(a&&h){g=0;while(m=e[g++])if(m(h,u,c)){f.push(h);break}w&&(N=k,r=++n)}o&&((h=!m&&h)&&v--,s&&x.push(h))}if(v+=b,o&&b!==v){g=0;while(m=t[g++])m(x,y,u,c);if(s){if(v>0)while(b--)x[b]||y[b]||(y[b]=L.call(f));y=mt(y)}H.apply(f,y),w&&!s&&y.length>0&&v+t.length>1&&st.uniqueSort(f)}return w&&(N=k,l=T),x};return o?ot(s):s}s=st.compile=function(e,t){var n,r=[],i=[],o=S[e+" "];if(!o){t||(t=ft(e)),n=t.length;while(n--)o=vt(t[n]),o[x]?r.push(o):i.push(o);o=S(e,bt(i,r))}return o};function xt(e,t,n){var r=0,i=t.length;for(;i>r;r++)st(e,t[r],n);return n}function wt(e,t,n,r){var o,a,u,l,c,p=ft(e);if(!r&&1===p.length){if(a=p[0]=p[0].slice(0),a.length>2&&"ID"===(u=a[0]).type&&9===t.nodeType&&!d&&i.relative[a[1].type]){if(t=i.find.ID(u.matches[0].replace(et,tt),t)[0],!t)return n;e=e.slice(a.shift().value.length)}o=U.needsContext.test(e)?0:a.length;while(o--){if(u=a[o],i.relative[l=u.type])break;if((c=i.find[l])&&(r=c(u.matches[0].replace(et,tt),V.test(a[0].type)&&t.parentNode||t))){if(a.splice(o,1),e=r.length&&dt(a),!e)return H.apply(n,q.call(r,0)),n;break}}}return s(e,p)(r,t,d,n,V.test(e)),n}i.pseudos.nth=i.pseudos.eq;function Tt(){}i.filters=Tt.prototype=i.pseudos,i.setFilters=new Tt,c(),st.attr=b.attr,b.find=st,b.expr=st.selectors,b.expr[":"]=b.expr.pseudos,b.unique=st.uniqueSort,b.text=st.getText,b.isXMLDoc=st.isXML,b.contains=st.contains}(e);var at=/Until$/,st=/^(?:parents|prev(?:Until|All))/,ut=/^.[^:#\[\.,]*$/,lt=b.expr.match.needsContext,ct={children:!0,contents:!0,next:!0,prev:!0};b.fn.extend({find:function(e){var t,n,r,i=this.length;if("string"!=typeof e)return r=this,this.pushStack(b(e).filter(function(){for(t=0;i>t;t++)if(b.contains(r[t],this))return!0}));for(n=[],t=0;i>t;t++)b.find(e,this[t],n);return n=this.pushStack(i>1?b.unique(n):n),n.selector=(this.selector?this.selector+" ":"")+e,n},has:function(e){var t,n=b(e,this),r=n.length;return this.filter(function(){for(t=0;r>t;t++)if(b.contains(this,n[t]))return!0})},not:function(e){return this.pushStack(ft(this,e,!1))},filter:function(e){return this.pushStack(ft(this,e,!0))},is:function(e){return!!e&&("string"==typeof e?lt.test(e)?b(e,this.context).index(this[0])>=0:b.filter(e,this).length>0:this.filter(e).length>0)},closest:function(e,t){var n,r=0,i=this.length,o=[],a=lt.test(e)||"string"!=typeof e?b(e,t||this.context):0;for(;i>r;r++){n=this[r];while(n&&n.ownerDocument&&n!==t&&11!==n.nodeType){if(a?a.index(n)>-1:b.find.matchesSelector(n,e)){o.push(n);break}n=n.parentNode}}return this.pushStack(o.length>1?b.unique(o):o)},index:function(e){return e?"string"==typeof e?b.inArray(this[0],b(e)):b.inArray(e.jquery?e[0]:e,this):this[0]&&this[0].parentNode?this.first().prevAll().length:-1},add:function(e,t){var n="string"==typeof e?b(e,t):b.makeArray(e&&e.nodeType?[e]:e),r=b.merge(this.get(),n);return this.pushStack(b.unique(r))},addBack:function(e){return this.add(null==e?this.prevObject:this.prevObject.filter(e))}}),b.fn.andSelf=b.fn.addBack;function pt(e,t){do e=e[t];while(e&&1!==e.nodeType);return e}b.each({parent:function(e){var t=e.parentNode;return t&&11!==t.nodeType?t:null},parents:function(e){return b.dir(e,"parentNode")},parentsUntil:function(e,t,n){return b.dir(e,"parentNode",n)},next:function(e){return pt(e,"nextSibling")},prev:function(e){return pt(e,"previousSibling")},nextAll:function(e){return b.dir(e,"nextSibling")},prevAll:function(e){return b.dir(e,"previousSibling")},nextUntil:function(e,t,n){return b.dir(e,"nextSibling",n)},prevUntil:function(e,t,n){return b.dir(e,"previousSibling",n)},siblings:function(e){return b.sibling((e.parentNode||{}).firstChild,e)},children:function(e){return b.sibling(e.firstChild)},contents:function(e){return b.nodeName(e,"iframe")?e.contentDocument||e.contentWindow.document:b.merge([],e.childNodes)}},function(e,t){b.fn[e]=function(n,r){var i=b.map(this,t,n);return at.test(e)||(r=n),r&&"string"==typeof r&&(i=b.filter(r,i)),i=this.length>1&&!ct[e]?b.unique(i):i,this.length>1&&st.test(e)&&(i=i.reverse()),this.pushStack(i)}}),b.extend({filter:function(e,t,n){return n&&(e=":not("+e+")"),1===t.length?b.find.matchesSelector(t[0],e)?[t[0]]:[]:b.find.matches(e,t)},dir:function(e,n,r){var i=[],o=e[n];while(o&&9!==o.nodeType&&(r===t||1!==o.nodeType||!b(o).is(r)))1===o.nodeType&&i.push(o),o=o[n];return i},sibling:function(e,t){var n=[];for(;e;e=e.nextSibling)1===e.nodeType&&e!==t&&n.push(e);return n}});function ft(e,t,n){if(t=t||0,b.isFunction(t))return b.grep(e,function(e,r){var i=!!t.call(e,r,e);return i===n});if(t.nodeType)return b.grep(e,function(e){return e===t===n});if("string"==typeof t){var r=b.grep(e,function(e){return 1===e.nodeType});if(ut.test(t))return b.filter(t,r,!n);t=b.filter(t,r)}return b.grep(e,function(e){return b.inArray(e,t)>=0===n})}function dt(e){var t=ht.split("|"),n=e.createDocumentFragment();if(n.createElement)while(t.length)n.createElement(t.pop());return n}var ht="abbr|article|aside|audio|bdi|canvas|data|datalist|details|figcaption|figure|footer|header|hgroup|mark|meter|nav|output|progress|section|summary|time|video",gt=/ jQuery\d+="(?:null|\d+)"/g,mt=RegExp("<(?:"+ht+")[\\s/>]","i"),yt=/^\s+/,vt=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/gi,bt=/<([\w:]+)/,xt=/<tbody/i,wt=/<|&#?\w+;/,Tt=/<(?:script|style|link)/i,Nt=/^(?:checkbox|radio)$/i,Ct=/checked\s*(?:[^=]|=\s*.checked.)/i,kt=/^$|\/(?:java|ecma)script/i,Et=/^true\/(.*)/,St=/^\s*<!(?:\[CDATA\[|--)|(?:\]\]|--)>\s*$/g,At={option:[1,"<select multiple='multiple'>","</select>"],legend:[1,"<fieldset>","</fieldset>"],area:[1,"<map>","</map>"],param:[1,"<object>","</object>"],thead:[1,"<table>","</table>"],tr:[2,"<table><tbody>","</tbody></table>"],col:[2,"<table><tbody></tbody><colgroup>","</colgroup></table>"],td:[3,"<table><tbody><tr>","</tr></tbody></table>"],_default:b.support.htmlSerialize?[0,"",""]:[1,"X<div>","</div>"]},jt=dt(o),Dt=jt.appendChild(o.createElement("div"));At.optgroup=At.option,At.tbody=At.tfoot=At.colgroup=At.caption=At.thead,At.th=At.td,b.fn.extend({text:function(e){return b.access(this,function(e){return e===t?b.text(this):this.empty().append((this[0]&&this[0].ownerDocument||o).createTextNode(e))},null,e,arguments.length)},wrapAll:function(e){if(b.isFunction(e))return this.each(function(t){b(this).wrapAll(e.call(this,t))});if(this[0]){var t=b(e,this[0].ownerDocument).eq(0).clone(!0);this[0].parentNode&&t.insertBefore(this[0]),t.map(function(){var e=this;while(e.firstChild&&1===e.firstChild.nodeType)e=e.firstChild;return e}).append(this)}return this},wrapInner:function(e){return b.isFunction(e)?this.each(function(t){b(this).wrapInner(e.call(this,t))}):this.each(function(){var t=b(this),n=t.contents();n.length?n.wrapAll(e):t.append(e)})},wrap:function(e){var t=b.isFunction(e);return this.each(function(n){b(this).wrapAll(t?e.call(this,n):e)})},unwrap:function(){return this.parent().each(function(){b.nodeName(this,"body")||b(this).replaceWith(this.childNodes)}).end()},append:function(){return this.domManip(arguments,!0,function(e){(1===this.nodeType||11===this.nodeType||9===this.nodeType)&&this.appendChild(e)})},prepend:function(){return this.domManip(arguments,!0,function(e){(1===this.nodeType||11===this.nodeType||9===this.nodeType)&&this.insertBefore(e,this.firstChild)})},before:function(){return this.domManip(arguments,!1,function(e){this.parentNode&&this.parentNode.insertBefore(e,this)})},after:function(){return this.domManip(arguments,!1,function(e){this.parentNode&&this.parentNode.insertBefore(e,this.nextSibling)})},remove:function(e,t){var n,r=0;for(;null!=(n=this[r]);r++)(!e||b.filter(e,[n]).length>0)&&(t||1!==n.nodeType||b.cleanData(Ot(n)),n.parentNode&&(t&&b.contains(n.ownerDocument,n)&&Mt(Ot(n,"script")),n.parentNode.removeChild(n)));return this},empty:function(){var e,t=0;for(;null!=(e=this[t]);t++){1===e.nodeType&&b.cleanData(Ot(e,!1));while(e.firstChild)e.removeChild(e.firstChild);e.options&&b.nodeName(e,"select")&&(e.options.length=0)}return this},clone:function(e,t){return e=null==e?!1:e,t=null==t?e:t,this.map(function(){return b.clone(this,e,t)})},html:function(e){return b.access(this,function(e){var n=this[0]||{},r=0,i=this.length;if(e===t)return 1===n.nodeType?n.innerHTML.replace(gt,""):t;if(!("string"!=typeof e||Tt.test(e)||!b.support.htmlSerialize&&mt.test(e)||!b.support.leadingWhitespace&&yt.test(e)||At[(bt.exec(e)||["",""])[1].toLowerCase()])){e=e.replace(vt,"<$1></$2>");try{for(;i>r;r++)n=this[r]||{},1===n.nodeType&&(b.cleanData(Ot(n,!1)),n.innerHTML=e);n=0}catch(o){}}n&&this.empty().append(e)},null,e,arguments.length)},replaceWith:function(e){var t=b.isFunction(e);return t||"string"==typeof e||(e=b(e).not(this).detach()),this.domManip([e],!0,function(e){var t=this.nextSibling,n=this.parentNode;n&&(b(this).remove(),n.insertBefore(e,t))})},detach:function(e){return this.remove(e,!0)},domManip:function(e,n,r){e=f.apply([],e);var i,o,a,s,u,l,c=0,p=this.length,d=this,h=p-1,g=e[0],m=b.isFunction(g);if(m||!(1>=p||"string"!=typeof g||b.support.checkClone)&&Ct.test(g))return this.each(function(i){var o=d.eq(i);m&&(e[0]=g.call(this,i,n?o.html():t)),o.domManip(e,n,r)});if(p&&(l=b.buildFragment(e,this[0].ownerDocument,!1,this),i=l.firstChild,1===l.childNodes.length&&(l=i),i)){for(n=n&&b.nodeName(i,"tr"),s=b.map(Ot(l,"script"),Ht),a=s.length;p>c;c++)o=l,c!==h&&(o=b.clone(o,!0,!0),a&&b.merge(s,Ot(o,"script"))),r.call(n&&b.nodeName(this[c],"table")?Lt(this[c],"tbody"):this[c],o,c);if(a)for(u=s[s.length-1].ownerDocument,b.map(s,qt),c=0;a>c;c++)o=s[c],kt.test(o.type||"")&&!b._data(o,"globalEval")&&b.contains(u,o)&&(o.src?b.ajax({url:o.src,type:"GET",dataType:"script",async:!1,global:!1,"throws":!0}):b.globalEval((o.text||o.textContent||o.innerHTML||"").replace(St,"")));l=i=null}return this}});function Lt(e,t){return e.getElementsByTagName(t)[0]||e.appendChild(e.ownerDocument.createElement(t))}function Ht(e){var t=e.getAttributeNode("type");return e.type=(t&&t.specified)+"/"+e.type,e}function qt(e){var t=Et.exec(e.type);return t?e.type=t[1]:e.removeAttribute("type"),e}function Mt(e,t){var n,r=0;for(;null!=(n=e[r]);r++)b._data(n,"globalEval",!t||b._data(t[r],"globalEval"))}function _t(e,t){if(1===t.nodeType&&b.hasData(e)){var n,r,i,o=b._data(e),a=b._data(t,o),s=o.events;if(s){delete a.handle,a.events={};for(n in s)for(r=0,i=s[n].length;i>r;r++)b.event.add(t,n,s[n][r])}a.data&&(a.data=b.extend({},a.data))}}function Ft(e,t){var n,r,i;if(1===t.nodeType){if(n=t.nodeName.toLowerCase(),!b.support.noCloneEvent&&t[b.expando]){i=b._data(t);for(r in i.events)b.removeEvent(t,r,i.handle);t.removeAttribute(b.expando)}"script"===n&&t.text!==e.text?(Ht(t).text=e.text,qt(t)):"object"===n?(t.parentNode&&(t.outerHTML=e.outerHTML),b.support.html5Clone&&e.innerHTML&&!b.trim(t.innerHTML)&&(t.innerHTML=e.innerHTML)):"input"===n&&Nt.test(e.type)?(t.defaultChecked=t.checked=e.checked,t.value!==e.value&&(t.value=e.value)):"option"===n?t.defaultSelected=t.selected=e.defaultSelected:("input"===n||"textarea"===n)&&(t.defaultValue=e.defaultValue)}}b.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(e,t){b.fn[e]=function(e){var n,r=0,i=[],o=b(e),a=o.length-1;for(;a>=r;r++)n=r===a?this:this.clone(!0),b(o[r])[t](n),d.apply(i,n.get());return this.pushStack(i)}});function Ot(e,n){var r,o,a=0,s=typeof e.getElementsByTagName!==i?e.getElementsByTagName(n||"*"):typeof e.querySelectorAll!==i?e.querySelectorAll(n||"*"):t;if(!s)for(s=[],r=e.childNodes||e;null!=(o=r[a]);a++)!n||b.nodeName(o,n)?s.push(o):b.merge(s,Ot(o,n));return n===t||n&&b.nodeName(e,n)?b.merge([e],s):s}function Bt(e){Nt.test(e.type)&&(e.defaultChecked=e.checked)}b.extend({clone:function(e,t,n){var r,i,o,a,s,u=b.contains(e.ownerDocument,e);if(b.support.html5Clone||b.isXMLDoc(e)||!mt.test("<"+e.nodeName+">")?o=e.cloneNode(!0):(Dt.innerHTML=e.outerHTML,Dt.removeChild(o=Dt.firstChild)),!(b.support.noCloneEvent&&b.support.noCloneChecked||1!==e.nodeType&&11!==e.nodeType||b.isXMLDoc(e)))for(r=Ot(o),s=Ot(e),a=0;null!=(i=s[a]);++a)r[a]&&Ft(i,r[a]);if(t)if(n)for(s=s||Ot(e),r=r||Ot(o),a=0;null!=(i=s[a]);a++)_t(i,r[a]);else _t(e,o);return r=Ot(o,"script"),r.length>0&&Mt(r,!u&&Ot(e,"script")),r=s=i=null,o},buildFragment:function(e,t,n,r){var i,o,a,s,u,l,c,p=e.length,f=dt(t),d=[],h=0;for(;p>h;h++)if(o=e[h],o||0===o)if("object"===b.type(o))b.merge(d,o.nodeType?[o]:o);else if(wt.test(o)){s=s||f.appendChild(t.createElement("div")),u=(bt.exec(o)||["",""])[1].toLowerCase(),c=At[u]||At._default,s.innerHTML=c[1]+o.replace(vt,"<$1></$2>")+c[2],i=c[0];while(i--)s=s.lastChild;if(!b.support.leadingWhitespace&&yt.test(o)&&d.push(t.createTextNode(yt.exec(o)[0])),!b.support.tbody){o="table"!==u||xt.test(o)?"<table>"!==c[1]||xt.test(o)?0:s:s.firstChild,i=o&&o.childNodes.length;while(i--)b.nodeName(l=o.childNodes[i],"tbody")&&!l.childNodes.length&&o.removeChild(l)
}b.merge(d,s.childNodes),s.textContent="";while(s.firstChild)s.removeChild(s.firstChild);s=f.lastChild}else d.push(t.createTextNode(o));s&&f.removeChild(s),b.support.appendChecked||b.grep(Ot(d,"input"),Bt),h=0;while(o=d[h++])if((!r||-1===b.inArray(o,r))&&(a=b.contains(o.ownerDocument,o),s=Ot(f.appendChild(o),"script"),a&&Mt(s),n)){i=0;while(o=s[i++])kt.test(o.type||"")&&n.push(o)}return s=null,f},cleanData:function(e,t){var n,r,o,a,s=0,u=b.expando,l=b.cache,p=b.support.deleteExpando,f=b.event.special;for(;null!=(n=e[s]);s++)if((t||b.acceptData(n))&&(o=n[u],a=o&&l[o])){if(a.events)for(r in a.events)f[r]?b.event.remove(n,r):b.removeEvent(n,r,a.handle);l[o]&&(delete l[o],p?delete n[u]:typeof n.removeAttribute!==i?n.removeAttribute(u):n[u]=null,c.push(o))}}});var Pt,Rt,Wt,$t=/alpha\([^)]*\)/i,It=/opacity\s*=\s*([^)]*)/,zt=/^(top|right|bottom|left)$/,Xt=/^(none|table(?!-c[ea]).+)/,Ut=/^margin/,Vt=RegExp("^("+x+")(.*)$","i"),Yt=RegExp("^("+x+")(?!px)[a-z%]+$","i"),Jt=RegExp("^([+-])=("+x+")","i"),Gt={BODY:"block"},Qt={position:"absolute",visibility:"hidden",display:"block"},Kt={letterSpacing:0,fontWeight:400},Zt=["Top","Right","Bottom","Left"],en=["Webkit","O","Moz","ms"];function tn(e,t){if(t in e)return t;var n=t.charAt(0).toUpperCase()+t.slice(1),r=t,i=en.length;while(i--)if(t=en[i]+n,t in e)return t;return r}function nn(e,t){return e=t||e,"none"===b.css(e,"display")||!b.contains(e.ownerDocument,e)}function rn(e,t){var n,r,i,o=[],a=0,s=e.length;for(;s>a;a++)r=e[a],r.style&&(o[a]=b._data(r,"olddisplay"),n=r.style.display,t?(o[a]||"none"!==n||(r.style.display=""),""===r.style.display&&nn(r)&&(o[a]=b._data(r,"olddisplay",un(r.nodeName)))):o[a]||(i=nn(r),(n&&"none"!==n||!i)&&b._data(r,"olddisplay",i?n:b.css(r,"display"))));for(a=0;s>a;a++)r=e[a],r.style&&(t&&"none"!==r.style.display&&""!==r.style.display||(r.style.display=t?o[a]||"":"none"));return e}b.fn.extend({css:function(e,n){return b.access(this,function(e,n,r){var i,o,a={},s=0;if(b.isArray(n)){for(o=Rt(e),i=n.length;i>s;s++)a[n[s]]=b.css(e,n[s],!1,o);return a}return r!==t?b.style(e,n,r):b.css(e,n)},e,n,arguments.length>1)},show:function(){return rn(this,!0)},hide:function(){return rn(this)},toggle:function(e){var t="boolean"==typeof e;return this.each(function(){(t?e:nn(this))?b(this).show():b(this).hide()})}}),b.extend({cssHooks:{opacity:{get:function(e,t){if(t){var n=Wt(e,"opacity");return""===n?"1":n}}}},cssNumber:{columnCount:!0,fillOpacity:!0,fontWeight:!0,lineHeight:!0,opacity:!0,orphans:!0,widows:!0,zIndex:!0,zoom:!0},cssProps:{"float":b.support.cssFloat?"cssFloat":"styleFloat"},style:function(e,n,r,i){if(e&&3!==e.nodeType&&8!==e.nodeType&&e.style){var o,a,s,u=b.camelCase(n),l=e.style;if(n=b.cssProps[u]||(b.cssProps[u]=tn(l,u)),s=b.cssHooks[n]||b.cssHooks[u],r===t)return s&&"get"in s&&(o=s.get(e,!1,i))!==t?o:l[n];if(a=typeof r,"string"===a&&(o=Jt.exec(r))&&(r=(o[1]+1)*o[2]+parseFloat(b.css(e,n)),a="number"),!(null==r||"number"===a&&isNaN(r)||("number"!==a||b.cssNumber[u]||(r+="px"),b.support.clearCloneStyle||""!==r||0!==n.indexOf("background")||(l[n]="inherit"),s&&"set"in s&&(r=s.set(e,r,i))===t)))try{l[n]=r}catch(c){}}},css:function(e,n,r,i){var o,a,s,u=b.camelCase(n);return n=b.cssProps[u]||(b.cssProps[u]=tn(e.style,u)),s=b.cssHooks[n]||b.cssHooks[u],s&&"get"in s&&(a=s.get(e,!0,r)),a===t&&(a=Wt(e,n,i)),"normal"===a&&n in Kt&&(a=Kt[n]),""===r||r?(o=parseFloat(a),r===!0||b.isNumeric(o)?o||0:a):a},swap:function(e,t,n,r){var i,o,a={};for(o in t)a[o]=e.style[o],e.style[o]=t[o];i=n.apply(e,r||[]);for(o in t)e.style[o]=a[o];return i}}),e.getComputedStyle?(Rt=function(t){return e.getComputedStyle(t,null)},Wt=function(e,n,r){var i,o,a,s=r||Rt(e),u=s?s.getPropertyValue(n)||s[n]:t,l=e.style;return s&&(""!==u||b.contains(e.ownerDocument,e)||(u=b.style(e,n)),Yt.test(u)&&Ut.test(n)&&(i=l.width,o=l.minWidth,a=l.maxWidth,l.minWidth=l.maxWidth=l.width=u,u=s.width,l.width=i,l.minWidth=o,l.maxWidth=a)),u}):o.documentElement.currentStyle&&(Rt=function(e){return e.currentStyle},Wt=function(e,n,r){var i,o,a,s=r||Rt(e),u=s?s[n]:t,l=e.style;return null==u&&l&&l[n]&&(u=l[n]),Yt.test(u)&&!zt.test(n)&&(i=l.left,o=e.runtimeStyle,a=o&&o.left,a&&(o.left=e.currentStyle.left),l.left="fontSize"===n?"1em":u,u=l.pixelLeft+"px",l.left=i,a&&(o.left=a)),""===u?"auto":u});function on(e,t,n){var r=Vt.exec(t);return r?Math.max(0,r[1]-(n||0))+(r[2]||"px"):t}function an(e,t,n,r,i){var o=n===(r?"border":"content")?4:"width"===t?1:0,a=0;for(;4>o;o+=2)"margin"===n&&(a+=b.css(e,n+Zt[o],!0,i)),r?("content"===n&&(a-=b.css(e,"padding"+Zt[o],!0,i)),"margin"!==n&&(a-=b.css(e,"border"+Zt[o]+"Width",!0,i))):(a+=b.css(e,"padding"+Zt[o],!0,i),"padding"!==n&&(a+=b.css(e,"border"+Zt[o]+"Width",!0,i)));return a}function sn(e,t,n){var r=!0,i="width"===t?e.offsetWidth:e.offsetHeight,o=Rt(e),a=b.support.boxSizing&&"border-box"===b.css(e,"boxSizing",!1,o);if(0>=i||null==i){if(i=Wt(e,t,o),(0>i||null==i)&&(i=e.style[t]),Yt.test(i))return i;r=a&&(b.support.boxSizingReliable||i===e.style[t]),i=parseFloat(i)||0}return i+an(e,t,n||(a?"border":"content"),r,o)+"px"}function un(e){var t=o,n=Gt[e];return n||(n=ln(e,t),"none"!==n&&n||(Pt=(Pt||b("<iframe frameborder='0' width='0' height='0'/>").css("cssText","display:block !important")).appendTo(t.documentElement),t=(Pt[0].contentWindow||Pt[0].contentDocument).document,t.write("<!doctype html><html><body>"),t.close(),n=ln(e,t),Pt.detach()),Gt[e]=n),n}function ln(e,t){var n=b(t.createElement(e)).appendTo(t.body),r=b.css(n[0],"display");return n.remove(),r}b.each(["height","width"],function(e,n){b.cssHooks[n]={get:function(e,r,i){return r?0===e.offsetWidth&&Xt.test(b.css(e,"display"))?b.swap(e,Qt,function(){return sn(e,n,i)}):sn(e,n,i):t},set:function(e,t,r){var i=r&&Rt(e);return on(e,t,r?an(e,n,r,b.support.boxSizing&&"border-box"===b.css(e,"boxSizing",!1,i),i):0)}}}),b.support.opacity||(b.cssHooks.opacity={get:function(e,t){return It.test((t&&e.currentStyle?e.currentStyle.filter:e.style.filter)||"")?.01*parseFloat(RegExp.$1)+"":t?"1":""},set:function(e,t){var n=e.style,r=e.currentStyle,i=b.isNumeric(t)?"alpha(opacity="+100*t+")":"",o=r&&r.filter||n.filter||"";n.zoom=1,(t>=1||""===t)&&""===b.trim(o.replace($t,""))&&n.removeAttribute&&(n.removeAttribute("filter"),""===t||r&&!r.filter)||(n.filter=$t.test(o)?o.replace($t,i):o+" "+i)}}),b(function(){b.support.reliableMarginRight||(b.cssHooks.marginRight={get:function(e,n){return n?b.swap(e,{display:"inline-block"},Wt,[e,"marginRight"]):t}}),!b.support.pixelPosition&&b.fn.position&&b.each(["top","left"],function(e,n){b.cssHooks[n]={get:function(e,r){return r?(r=Wt(e,n),Yt.test(r)?b(e).position()[n]+"px":r):t}}})}),b.expr&&b.expr.filters&&(b.expr.filters.hidden=function(e){return 0>=e.offsetWidth&&0>=e.offsetHeight||!b.support.reliableHiddenOffsets&&"none"===(e.style&&e.style.display||b.css(e,"display"))},b.expr.filters.visible=function(e){return!b.expr.filters.hidden(e)}),b.each({margin:"",padding:"",border:"Width"},function(e,t){b.cssHooks[e+t]={expand:function(n){var r=0,i={},o="string"==typeof n?n.split(" "):[n];for(;4>r;r++)i[e+Zt[r]+t]=o[r]||o[r-2]||o[0];return i}},Ut.test(e)||(b.cssHooks[e+t].set=on)});var cn=/%20/g,pn=/\[\]$/,fn=/\r?\n/g,dn=/^(?:submit|button|image|reset|file)$/i,hn=/^(?:input|select|textarea|keygen)/i;b.fn.extend({serialize:function(){return b.param(this.serializeArray())},serializeArray:function(){return this.map(function(){var e=b.prop(this,"elements");return e?b.makeArray(e):this}).filter(function(){var e=this.type;return this.name&&!b(this).is(":disabled")&&hn.test(this.nodeName)&&!dn.test(e)&&(this.checked||!Nt.test(e))}).map(function(e,t){var n=b(this).val();return null==n?null:b.isArray(n)?b.map(n,function(e){return{name:t.name,value:e.replace(fn,"\r\n")}}):{name:t.name,value:n.replace(fn,"\r\n")}}).get()}}),b.param=function(e,n){var r,i=[],o=function(e,t){t=b.isFunction(t)?t():null==t?"":t,i[i.length]=encodeURIComponent(e)+"="+encodeURIComponent(t)};if(n===t&&(n=b.ajaxSettings&&b.ajaxSettings.traditional),b.isArray(e)||e.jquery&&!b.isPlainObject(e))b.each(e,function(){o(this.name,this.value)});else for(r in e)gn(r,e[r],n,o);return i.join("&").replace(cn,"+")};function gn(e,t,n,r){var i;if(b.isArray(t))b.each(t,function(t,i){n||pn.test(e)?r(e,i):gn(e+"["+("object"==typeof i?t:"")+"]",i,n,r)});else if(n||"object"!==b.type(t))r(e,t);else for(i in t)gn(e+"["+i+"]",t[i],n,r)}b.each("blur focus focusin focusout load resize scroll unload click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup error contextmenu".split(" "),function(e,t){b.fn[t]=function(e,n){return arguments.length>0?this.on(t,null,e,n):this.trigger(t)}}),b.fn.hover=function(e,t){return this.mouseenter(e).mouseleave(t||e)};var mn,yn,vn=b.now(),bn=/\?/,xn=/#.*$/,wn=/([?&])_=[^&]*/,Tn=/^(.*?):[ \t]*([^\r\n]*)\r?$/gm,Nn=/^(?:about|app|app-storage|.+-extension|file|res|widget):$/,Cn=/^(?:GET|HEAD)$/,kn=/^\/\//,En=/^([\w.+-]+:)(?:\/\/([^\/?#:]*)(?::(\d+)|)|)/,Sn=b.fn.load,An={},jn={},Dn="*/".concat("*");try{yn=a.href}catch(Ln){yn=o.createElement("a"),yn.href="",yn=yn.href}mn=En.exec(yn.toLowerCase())||[];function Hn(e){return function(t,n){"string"!=typeof t&&(n=t,t="*");var r,i=0,o=t.toLowerCase().match(w)||[];if(b.isFunction(n))while(r=o[i++])"+"===r[0]?(r=r.slice(1)||"*",(e[r]=e[r]||[]).unshift(n)):(e[r]=e[r]||[]).push(n)}}function qn(e,n,r,i){var o={},a=e===jn;function s(u){var l;return o[u]=!0,b.each(e[u]||[],function(e,u){var c=u(n,r,i);return"string"!=typeof c||a||o[c]?a?!(l=c):t:(n.dataTypes.unshift(c),s(c),!1)}),l}return s(n.dataTypes[0])||!o["*"]&&s("*")}function Mn(e,n){var r,i,o=b.ajaxSettings.flatOptions||{};for(i in n)n[i]!==t&&((o[i]?e:r||(r={}))[i]=n[i]);return r&&b.extend(!0,e,r),e}b.fn.load=function(e,n,r){if("string"!=typeof e&&Sn)return Sn.apply(this,arguments);var i,o,a,s=this,u=e.indexOf(" ");return u>=0&&(i=e.slice(u,e.length),e=e.slice(0,u)),b.isFunction(n)?(r=n,n=t):n&&"object"==typeof n&&(a="POST"),s.length>0&&b.ajax({url:e,type:a,dataType:"html",data:n}).done(function(e){o=arguments,s.html(i?b("<div>").append(b.parseHTML(e)).find(i):e)}).complete(r&&function(e,t){s.each(r,o||[e.responseText,t,e])}),this},b.each(["ajaxStart","ajaxStop","ajaxComplete","ajaxError","ajaxSuccess","ajaxSend"],function(e,t){b.fn[t]=function(e){return this.on(t,e)}}),b.each(["get","post"],function(e,n){b[n]=function(e,r,i,o){return b.isFunction(r)&&(o=o||i,i=r,r=t),b.ajax({url:e,type:n,dataType:o,data:r,success:i})}}),b.extend({active:0,lastModified:{},etag:{},ajaxSettings:{url:yn,type:"GET",isLocal:Nn.test(mn[1]),global:!0,processData:!0,async:!0,contentType:"application/x-www-form-urlencoded; charset=UTF-8",accepts:{"*":Dn,text:"text/plain",html:"text/html",xml:"application/xml, text/xml",json:"application/json, text/javascript"},contents:{xml:/xml/,html:/html/,json:/json/},responseFields:{xml:"responseXML",text:"responseText"},converters:{"* text":e.String,"text html":!0,"text json":b.parseJSON,"text xml":b.parseXML},flatOptions:{url:!0,context:!0}},ajaxSetup:function(e,t){return t?Mn(Mn(e,b.ajaxSettings),t):Mn(b.ajaxSettings,e)},ajaxPrefilter:Hn(An),ajaxTransport:Hn(jn),ajax:function(e,n){"object"==typeof e&&(n=e,e=t),n=n||{};var r,i,o,a,s,u,l,c,p=b.ajaxSetup({},n),f=p.context||p,d=p.context&&(f.nodeType||f.jquery)?b(f):b.event,h=b.Deferred(),g=b.Callbacks("once memory"),m=p.statusCode||{},y={},v={},x=0,T="canceled",N={readyState:0,getResponseHeader:function(e){var t;if(2===x){if(!c){c={};while(t=Tn.exec(a))c[t[1].toLowerCase()]=t[2]}t=c[e.toLowerCase()]}return null==t?null:t},getAllResponseHeaders:function(){return 2===x?a:null},setRequestHeader:function(e,t){var n=e.toLowerCase();return x||(e=v[n]=v[n]||e,y[e]=t),this},overrideMimeType:function(e){return x||(p.mimeType=e),this},statusCode:function(e){var t;if(e)if(2>x)for(t in e)m[t]=[m[t],e[t]];else N.always(e[N.status]);return this},abort:function(e){var t=e||T;return l&&l.abort(t),k(0,t),this}};if(h.promise(N).complete=g.add,N.success=N.done,N.error=N.fail,p.url=((e||p.url||yn)+"").replace(xn,"").replace(kn,mn[1]+"//"),p.type=n.method||n.type||p.method||p.type,p.dataTypes=b.trim(p.dataType||"*").toLowerCase().match(w)||[""],null==p.crossDomain&&(r=En.exec(p.url.toLowerCase()),p.crossDomain=!(!r||r[1]===mn[1]&&r[2]===mn[2]&&(r[3]||("http:"===r[1]?80:443))==(mn[3]||("http:"===mn[1]?80:443)))),p.data&&p.processData&&"string"!=typeof p.data&&(p.data=b.param(p.data,p.traditional)),qn(An,p,n,N),2===x)return N;u=p.global,u&&0===b.active++&&b.event.trigger("ajaxStart"),p.type=p.type.toUpperCase(),p.hasContent=!Cn.test(p.type),o=p.url,p.hasContent||(p.data&&(o=p.url+=(bn.test(o)?"&":"?")+p.data,delete p.data),p.cache===!1&&(p.url=wn.test(o)?o.replace(wn,"$1_="+vn++):o+(bn.test(o)?"&":"?")+"_="+vn++)),p.ifModified&&(b.lastModified[o]&&N.setRequestHeader("If-Modified-Since",b.lastModified[o]),b.etag[o]&&N.setRequestHeader("If-None-Match",b.etag[o])),(p.data&&p.hasContent&&p.contentType!==!1||n.contentType)&&N.setRequestHeader("Content-Type",p.contentType),N.setRequestHeader("Accept",p.dataTypes[0]&&p.accepts[p.dataTypes[0]]?p.accepts[p.dataTypes[0]]+("*"!==p.dataTypes[0]?", "+Dn+"; q=0.01":""):p.accepts["*"]);for(i in p.headers)N.setRequestHeader(i,p.headers[i]);if(p.beforeSend&&(p.beforeSend.call(f,N,p)===!1||2===x))return N.abort();T="abort";for(i in{success:1,error:1,complete:1})N[i](p[i]);if(l=qn(jn,p,n,N)){N.readyState=1,u&&d.trigger("ajaxSend",[N,p]),p.async&&p.timeout>0&&(s=setTimeout(function(){N.abort("timeout")},p.timeout));try{x=1,l.send(y,k)}catch(C){if(!(2>x))throw C;k(-1,C)}}else k(-1,"No Transport");function k(e,n,r,i){var c,y,v,w,T,C=n;2!==x&&(x=2,s&&clearTimeout(s),l=t,a=i||"",N.readyState=e>0?4:0,r&&(w=_n(p,N,r)),e>=200&&300>e||304===e?(p.ifModified&&(T=N.getResponseHeader("Last-Modified"),T&&(b.lastModified[o]=T),T=N.getResponseHeader("etag"),T&&(b.etag[o]=T)),204===e?(c=!0,C="nocontent"):304===e?(c=!0,C="notmodified"):(c=Fn(p,w),C=c.state,y=c.data,v=c.error,c=!v)):(v=C,(e||!C)&&(C="error",0>e&&(e=0))),N.status=e,N.statusText=(n||C)+"",c?h.resolveWith(f,[y,C,N]):h.rejectWith(f,[N,C,v]),N.statusCode(m),m=t,u&&d.trigger(c?"ajaxSuccess":"ajaxError",[N,p,c?y:v]),g.fireWith(f,[N,C]),u&&(d.trigger("ajaxComplete",[N,p]),--b.active||b.event.trigger("ajaxStop")))}return N},getScript:function(e,n){return b.get(e,t,n,"script")},getJSON:function(e,t,n){return b.get(e,t,n,"json")}});function _n(e,n,r){var i,o,a,s,u=e.contents,l=e.dataTypes,c=e.responseFields;for(s in c)s in r&&(n[c[s]]=r[s]);while("*"===l[0])l.shift(),o===t&&(o=e.mimeType||n.getResponseHeader("Content-Type"));if(o)for(s in u)if(u[s]&&u[s].test(o)){l.unshift(s);break}if(l[0]in r)a=l[0];else{for(s in r){if(!l[0]||e.converters[s+" "+l[0]]){a=s;break}i||(i=s)}a=a||i}return a?(a!==l[0]&&l.unshift(a),r[a]):t}function Fn(e,t){var n,r,i,o,a={},s=0,u=e.dataTypes.slice(),l=u[0];if(e.dataFilter&&(t=e.dataFilter(t,e.dataType)),u[1])for(i in e.converters)a[i.toLowerCase()]=e.converters[i];for(;r=u[++s];)if("*"!==r){if("*"!==l&&l!==r){if(i=a[l+" "+r]||a["* "+r],!i)for(n in a)if(o=n.split(" "),o[1]===r&&(i=a[l+" "+o[0]]||a["* "+o[0]])){i===!0?i=a[n]:a[n]!==!0&&(r=o[0],u.splice(s--,0,r));break}if(i!==!0)if(i&&e["throws"])t=i(t);else try{t=i(t)}catch(c){return{state:"parsererror",error:i?c:"No conversion from "+l+" to "+r}}}l=r}return{state:"success",data:t}}b.ajaxSetup({accepts:{script:"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"},contents:{script:/(?:java|ecma)script/},converters:{"text script":function(e){return b.globalEval(e),e}}}),b.ajaxPrefilter("script",function(e){e.cache===t&&(e.cache=!1),e.crossDomain&&(e.type="GET",e.global=!1)}),b.ajaxTransport("script",function(e){if(e.crossDomain){var n,r=o.head||b("head")[0]||o.documentElement;return{send:function(t,i){n=o.createElement("script"),n.async=!0,e.scriptCharset&&(n.charset=e.scriptCharset),n.src=e.url,n.onload=n.onreadystatechange=function(e,t){(t||!n.readyState||/loaded|complete/.test(n.readyState))&&(n.onload=n.onreadystatechange=null,n.parentNode&&n.parentNode.removeChild(n),n=null,t||i(200,"success"))},r.insertBefore(n,r.firstChild)},abort:function(){n&&n.onload(t,!0)}}}});var On=[],Bn=/(=)\?(?=&|$)|\?\?/;b.ajaxSetup({jsonp:"callback",jsonpCallback:function(){var e=On.pop()||b.expando+"_"+vn++;return this[e]=!0,e}}),b.ajaxPrefilter("json jsonp",function(n,r,i){var o,a,s,u=n.jsonp!==!1&&(Bn.test(n.url)?"url":"string"==typeof n.data&&!(n.contentType||"").indexOf("application/x-www-form-urlencoded")&&Bn.test(n.data)&&"data");return u||"jsonp"===n.dataTypes[0]?(o=n.jsonpCallback=b.isFunction(n.jsonpCallback)?n.jsonpCallback():n.jsonpCallback,u?n[u]=n[u].replace(Bn,"$1"+o):n.jsonp!==!1&&(n.url+=(bn.test(n.url)?"&":"?")+n.jsonp+"="+o),n.converters["script json"]=function(){return s||b.error(o+" was not called"),s[0]},n.dataTypes[0]="json",a=e[o],e[o]=function(){s=arguments},i.always(function(){e[o]=a,n[o]&&(n.jsonpCallback=r.jsonpCallback,On.push(o)),s&&b.isFunction(a)&&a(s[0]),s=a=t}),"script"):t});var Pn,Rn,Wn=0,$n=e.ActiveXObject&&function(){var e;for(e in Pn)Pn[e](t,!0)};function In(){try{return new e.XMLHttpRequest}catch(t){}}function zn(){try{return new e.ActiveXObject("Microsoft.XMLHTTP")}catch(t){}}b.ajaxSettings.xhr=e.ActiveXObject?function(){return!this.isLocal&&In()||zn()}:In,Rn=b.ajaxSettings.xhr(),b.support.cors=!!Rn&&"withCredentials"in Rn,Rn=b.support.ajax=!!Rn,Rn&&b.ajaxTransport(function(n){if(!n.crossDomain||b.support.cors){var r;return{send:function(i,o){var a,s,u=n.xhr();if(n.username?u.open(n.type,n.url,n.async,n.username,n.password):u.open(n.type,n.url,n.async),n.xhrFields)for(s in n.xhrFields)u[s]=n.xhrFields[s];n.mimeType&&u.overrideMimeType&&u.overrideMimeType(n.mimeType),n.crossDomain||i["X-Requested-With"]||(i["X-Requested-With"]="XMLHttpRequest");try{for(s in i)u.setRequestHeader(s,i[s])}catch(l){}u.send(n.hasContent&&n.data||null),r=function(e,i){var s,l,c,p;try{if(r&&(i||4===u.readyState))if(r=t,a&&(u.onreadystatechange=b.noop,$n&&delete Pn[a]),i)4!==u.readyState&&u.abort();else{p={},s=u.status,l=u.getAllResponseHeaders(),"string"==typeof u.responseText&&(p.text=u.responseText);try{c=u.statusText}catch(f){c=""}s||!n.isLocal||n.crossDomain?1223===s&&(s=204):s=p.text?200:404}}catch(d){i||o(-1,d)}p&&o(s,c,p,l)},n.async?4===u.readyState?setTimeout(r):(a=++Wn,$n&&(Pn||(Pn={},b(e).unload($n)),Pn[a]=r),u.onreadystatechange=r):r()},abort:function(){r&&r(t,!0)}}}});var Xn,Un,Vn=/^(?:toggle|show|hide)$/,Yn=RegExp("^(?:([+-])=|)("+x+")([a-z%]*)$","i"),Jn=/queueHooks$/,Gn=[nr],Qn={"*":[function(e,t){var n,r,i=this.createTween(e,t),o=Yn.exec(t),a=i.cur(),s=+a||0,u=1,l=20;if(o){if(n=+o[2],r=o[3]||(b.cssNumber[e]?"":"px"),"px"!==r&&s){s=b.css(i.elem,e,!0)||n||1;do u=u||".5",s/=u,b.style(i.elem,e,s+r);while(u!==(u=i.cur()/a)&&1!==u&&--l)}i.unit=r,i.start=s,i.end=o[1]?s+(o[1]+1)*n:n}return i}]};function Kn(){return setTimeout(function(){Xn=t}),Xn=b.now()}function Zn(e,t){b.each(t,function(t,n){var r=(Qn[t]||[]).concat(Qn["*"]),i=0,o=r.length;for(;o>i;i++)if(r[i].call(e,t,n))return})}function er(e,t,n){var r,i,o=0,a=Gn.length,s=b.Deferred().always(function(){delete u.elem}),u=function(){if(i)return!1;var t=Xn||Kn(),n=Math.max(0,l.startTime+l.duration-t),r=n/l.duration||0,o=1-r,a=0,u=l.tweens.length;for(;u>a;a++)l.tweens[a].run(o);return s.notifyWith(e,[l,o,n]),1>o&&u?n:(s.resolveWith(e,[l]),!1)},l=s.promise({elem:e,props:b.extend({},t),opts:b.extend(!0,{specialEasing:{}},n),originalProperties:t,originalOptions:n,startTime:Xn||Kn(),duration:n.duration,tweens:[],createTween:function(t,n){var r=b.Tween(e,l.opts,t,n,l.opts.specialEasing[t]||l.opts.easing);return l.tweens.push(r),r},stop:function(t){var n=0,r=t?l.tweens.length:0;if(i)return this;for(i=!0;r>n;n++)l.tweens[n].run(1);return t?s.resolveWith(e,[l,t]):s.rejectWith(e,[l,t]),this}}),c=l.props;for(tr(c,l.opts.specialEasing);a>o;o++)if(r=Gn[o].call(l,e,c,l.opts))return r;return Zn(l,c),b.isFunction(l.opts.start)&&l.opts.start.call(e,l),b.fx.timer(b.extend(u,{elem:e,anim:l,queue:l.opts.queue})),l.progress(l.opts.progress).done(l.opts.done,l.opts.complete).fail(l.opts.fail).always(l.opts.always)}function tr(e,t){var n,r,i,o,a;for(i in e)if(r=b.camelCase(i),o=t[r],n=e[i],b.isArray(n)&&(o=n[1],n=e[i]=n[0]),i!==r&&(e[r]=n,delete e[i]),a=b.cssHooks[r],a&&"expand"in a){n=a.expand(n),delete e[r];for(i in n)i in e||(e[i]=n[i],t[i]=o)}else t[r]=o}b.Animation=b.extend(er,{tweener:function(e,t){b.isFunction(e)?(t=e,e=["*"]):e=e.split(" ");var n,r=0,i=e.length;for(;i>r;r++)n=e[r],Qn[n]=Qn[n]||[],Qn[n].unshift(t)},prefilter:function(e,t){t?Gn.unshift(e):Gn.push(e)}});function nr(e,t,n){var r,i,o,a,s,u,l,c,p,f=this,d=e.style,h={},g=[],m=e.nodeType&&nn(e);n.queue||(c=b._queueHooks(e,"fx"),null==c.unqueued&&(c.unqueued=0,p=c.empty.fire,c.empty.fire=function(){c.unqueued||p()}),c.unqueued++,f.always(function(){f.always(function(){c.unqueued--,b.queue(e,"fx").length||c.empty.fire()})})),1===e.nodeType&&("height"in t||"width"in t)&&(n.overflow=[d.overflow,d.overflowX,d.overflowY],"inline"===b.css(e,"display")&&"none"===b.css(e,"float")&&(b.support.inlineBlockNeedsLayout&&"inline"!==un(e.nodeName)?d.zoom=1:d.display="inline-block")),n.overflow&&(d.overflow="hidden",b.support.shrinkWrapBlocks||f.always(function(){d.overflow=n.overflow[0],d.overflowX=n.overflow[1],d.overflowY=n.overflow[2]}));for(i in t)if(a=t[i],Vn.exec(a)){if(delete t[i],u=u||"toggle"===a,a===(m?"hide":"show"))continue;g.push(i)}if(o=g.length){s=b._data(e,"fxshow")||b._data(e,"fxshow",{}),"hidden"in s&&(m=s.hidden),u&&(s.hidden=!m),m?b(e).show():f.done(function(){b(e).hide()}),f.done(function(){var t;b._removeData(e,"fxshow");for(t in h)b.style(e,t,h[t])});for(i=0;o>i;i++)r=g[i],l=f.createTween(r,m?s[r]:0),h[r]=s[r]||b.style(e,r),r in s||(s[r]=l.start,m&&(l.end=l.start,l.start="width"===r||"height"===r?1:0))}}function rr(e,t,n,r,i){return new rr.prototype.init(e,t,n,r,i)}b.Tween=rr,rr.prototype={constructor:rr,init:function(e,t,n,r,i,o){this.elem=e,this.prop=n,this.easing=i||"swing",this.options=t,this.start=this.now=this.cur(),this.end=r,this.unit=o||(b.cssNumber[n]?"":"px")},cur:function(){var e=rr.propHooks[this.prop];return e&&e.get?e.get(this):rr.propHooks._default.get(this)},run:function(e){var t,n=rr.propHooks[this.prop];return this.pos=t=this.options.duration?b.easing[this.easing](e,this.options.duration*e,0,1,this.options.duration):e,this.now=(this.end-this.start)*t+this.start,this.options.step&&this.options.step.call(this.elem,this.now,this),n&&n.set?n.set(this):rr.propHooks._default.set(this),this}},rr.prototype.init.prototype=rr.prototype,rr.propHooks={_default:{get:function(e){var t;return null==e.elem[e.prop]||e.elem.style&&null!=e.elem.style[e.prop]?(t=b.css(e.elem,e.prop,""),t&&"auto"!==t?t:0):e.elem[e.prop]},set:function(e){b.fx.step[e.prop]?b.fx.step[e.prop](e):e.elem.style&&(null!=e.elem.style[b.cssProps[e.prop]]||b.cssHooks[e.prop])?b.style(e.elem,e.prop,e.now+e.unit):e.elem[e.prop]=e.now}}},rr.propHooks.scrollTop=rr.propHooks.scrollLeft={set:function(e){e.elem.nodeType&&e.elem.parentNode&&(e.elem[e.prop]=e.now)}},b.each(["toggle","show","hide"],function(e,t){var n=b.fn[t];b.fn[t]=function(e,r,i){return null==e||"boolean"==typeof e?n.apply(this,arguments):this.animate(ir(t,!0),e,r,i)}}),b.fn.extend({fadeTo:function(e,t,n,r){return this.filter(nn).css("opacity",0).show().end().animate({opacity:t},e,n,r)},animate:function(e,t,n,r){var i=b.isEmptyObject(e),o=b.speed(t,n,r),a=function(){var t=er(this,b.extend({},e),o);a.finish=function(){t.stop(!0)},(i||b._data(this,"finish"))&&t.stop(!0)};return a.finish=a,i||o.queue===!1?this.each(a):this.queue(o.queue,a)},stop:function(e,n,r){var i=function(e){var t=e.stop;delete e.stop,t(r)};return"string"!=typeof e&&(r=n,n=e,e=t),n&&e!==!1&&this.queue(e||"fx",[]),this.each(function(){var t=!0,n=null!=e&&e+"queueHooks",o=b.timers,a=b._data(this);if(n)a[n]&&a[n].stop&&i(a[n]);else for(n in a)a[n]&&a[n].stop&&Jn.test(n)&&i(a[n]);for(n=o.length;n--;)o[n].elem!==this||null!=e&&o[n].queue!==e||(o[n].anim.stop(r),t=!1,o.splice(n,1));(t||!r)&&b.dequeue(this,e)})},finish:function(e){return e!==!1&&(e=e||"fx"),this.each(function(){var t,n=b._data(this),r=n[e+"queue"],i=n[e+"queueHooks"],o=b.timers,a=r?r.length:0;for(n.finish=!0,b.queue(this,e,[]),i&&i.cur&&i.cur.finish&&i.cur.finish.call(this),t=o.length;t--;)o[t].elem===this&&o[t].queue===e&&(o[t].anim.stop(!0),o.splice(t,1));for(t=0;a>t;t++)r[t]&&r[t].finish&&r[t].finish.call(this);delete n.finish})}});function ir(e,t){var n,r={height:e},i=0;for(t=t?1:0;4>i;i+=2-t)n=Zt[i],r["margin"+n]=r["padding"+n]=e;return t&&(r.opacity=r.width=e),r}b.each({slideDown:ir("show"),slideUp:ir("hide"),slideToggle:ir("toggle"),fadeIn:{opacity:"show"},fadeOut:{opacity:"hide"},fadeToggle:{opacity:"toggle"}},function(e,t){b.fn[e]=function(e,n,r){return this.animate(t,e,n,r)}}),b.speed=function(e,t,n){var r=e&&"object"==typeof e?b.extend({},e):{complete:n||!n&&t||b.isFunction(e)&&e,duration:e,easing:n&&t||t&&!b.isFunction(t)&&t};return r.duration=b.fx.off?0:"number"==typeof r.duration?r.duration:r.duration in b.fx.speeds?b.fx.speeds[r.duration]:b.fx.speeds._default,(null==r.queue||r.queue===!0)&&(r.queue="fx"),r.old=r.complete,r.complete=function(){b.isFunction(r.old)&&r.old.call(this),r.queue&&b.dequeue(this,r.queue)},r},b.easing={linear:function(e){return e},swing:function(e){return.5-Math.cos(e*Math.PI)/2}},b.timers=[],b.fx=rr.prototype.init,b.fx.tick=function(){var e,n=b.timers,r=0;for(Xn=b.now();n.length>r;r++)e=n[r],e()||n[r]!==e||n.splice(r--,1);n.length||b.fx.stop(),Xn=t},b.fx.timer=function(e){e()&&b.timers.push(e)&&b.fx.start()},b.fx.interval=13,b.fx.start=function(){Un||(Un=setInterval(b.fx.tick,b.fx.interval))},b.fx.stop=function(){clearInterval(Un),Un=null},b.fx.speeds={slow:600,fast:200,_default:400},b.fx.step={},b.expr&&b.expr.filters&&(b.expr.filters.animated=function(e){return b.grep(b.timers,function(t){return e===t.elem}).length}),b.fn.offset=function(e){if(arguments.length)return e===t?this:this.each(function(t){b.offset.setOffset(this,e,t)});var n,r,o={top:0,left:0},a=this[0],s=a&&a.ownerDocument;if(s)return n=s.documentElement,b.contains(n,a)?(typeof a.getBoundingClientRect!==i&&(o=a.getBoundingClientRect()),r=or(s),{top:o.top+(r.pageYOffset||n.scrollTop)-(n.clientTop||0),left:o.left+(r.pageXOffset||n.scrollLeft)-(n.clientLeft||0)}):o},b.offset={setOffset:function(e,t,n){var r=b.css(e,"position");"static"===r&&(e.style.position="relative");var i=b(e),o=i.offset(),a=b.css(e,"top"),s=b.css(e,"left"),u=("absolute"===r||"fixed"===r)&&b.inArray("auto",[a,s])>-1,l={},c={},p,f;u?(c=i.position(),p=c.top,f=c.left):(p=parseFloat(a)||0,f=parseFloat(s)||0),b.isFunction(t)&&(t=t.call(e,n,o)),null!=t.top&&(l.top=t.top-o.top+p),null!=t.left&&(l.left=t.left-o.left+f),"using"in t?t.using.call(e,l):i.css(l)}},b.fn.extend({position:function(){if(this[0]){var e,t,n={top:0,left:0},r=this[0];return"fixed"===b.css(r,"position")?t=r.getBoundingClientRect():(e=this.offsetParent(),t=this.offset(),b.nodeName(e[0],"html")||(n=e.offset()),n.top+=b.css(e[0],"borderTopWidth",!0),n.left+=b.css(e[0],"borderLeftWidth",!0)),{top:t.top-n.top-b.css(r,"marginTop",!0),left:t.left-n.left-b.css(r,"marginLeft",!0)}}},offsetParent:function(){return this.map(function(){var e=this.offsetParent||o.documentElement;while(e&&!b.nodeName(e,"html")&&"static"===b.css(e,"position"))e=e.offsetParent;return e||o.documentElement})}}),b.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(e,n){var r=/Y/.test(n);b.fn[e]=function(i){return b.access(this,function(e,i,o){var a=or(e);return o===t?a?n in a?a[n]:a.document.documentElement[i]:e[i]:(a?a.scrollTo(r?b(a).scrollLeft():o,r?o:b(a).scrollTop()):e[i]=o,t)},e,i,arguments.length,null)}});function or(e){return b.isWindow(e)?e:9===e.nodeType?e.defaultView||e.parentWindow:!1}b.each({Height:"height",Width:"width"},function(e,n){b.each({padding:"inner"+e,content:n,"":"outer"+e},function(r,i){b.fn[i]=function(i,o){var a=arguments.length&&(r||"boolean"!=typeof i),s=r||(i===!0||o===!0?"margin":"border");return b.access(this,function(n,r,i){var o;return b.isWindow(n)?n.document.documentElement["client"+e]:9===n.nodeType?(o=n.documentElement,Math.max(n.body["scroll"+e],o["scroll"+e],n.body["offset"+e],o["offset"+e],o["client"+e])):i===t?b.css(n,r,s):b.style(n,r,i,s)},n,a?i:t,a,null)}})}),e.jQuery=e.$=b,"function"==typeof define&&define.amd&&define.amd.jQuery&&define("jquery",[],function(){return b})})(window);
/*! Select2 4.0.3 | https://github.com/select2/select2/blob/master/LICENSE.md */!function(a){"function"==typeof define&&define.amd?define(["jquery"],a):a("object"==typeof exports?require("jquery"):jQuery)}(function(a){var b=function(){if(a&&a.fn&&a.fn.select2&&a.fn.select2.amd)var b=a.fn.select2.amd;var b;return function(){if(!b||!b.requirejs){b?c=b:b={};var a,c,d;!function(b){function e(a,b){return u.call(a,b)}function f(a,b){var c,d,e,f,g,h,i,j,k,l,m,n=b&&b.split("/"),o=s.map,p=o&&o["*"]||{};if(a&&"."===a.charAt(0))if(b){for(a=a.split("/"),g=a.length-1,s.nodeIdCompat&&w.test(a[g])&&(a[g]=a[g].replace(w,"")),a=n.slice(0,n.length-1).concat(a),k=0;k<a.length;k+=1)if(m=a[k],"."===m)a.splice(k,1),k-=1;else if(".."===m){if(1===k&&(".."===a[2]||".."===a[0]))break;k>0&&(a.splice(k-1,2),k-=2)}a=a.join("/")}else 0===a.indexOf("./")&&(a=a.substring(2));if((n||p)&&o){for(c=a.split("/"),k=c.length;k>0;k-=1){if(d=c.slice(0,k).join("/"),n)for(l=n.length;l>0;l-=1)if(e=o[n.slice(0,l).join("/")],e&&(e=e[d])){f=e,h=k;break}if(f)break;!i&&p&&p[d]&&(i=p[d],j=k)}!f&&i&&(f=i,h=j),f&&(c.splice(0,h,f),a=c.join("/"))}return a}function g(a,c){return function(){var d=v.call(arguments,0);return"string"!=typeof d[0]&&1===d.length&&d.push(null),n.apply(b,d.concat([a,c]))}}function h(a){return function(b){return f(b,a)}}function i(a){return function(b){q[a]=b}}function j(a){if(e(r,a)){var c=r[a];delete r[a],t[a]=!0,m.apply(b,c)}if(!e(q,a)&&!e(t,a))throw new Error("No "+a);return q[a]}function k(a){var b,c=a?a.indexOf("!"):-1;return c>-1&&(b=a.substring(0,c),a=a.substring(c+1,a.length)),[b,a]}function l(a){return function(){return s&&s.config&&s.config[a]||{}}}var m,n,o,p,q={},r={},s={},t={},u=Object.prototype.hasOwnProperty,v=[].slice,w=/\.js$/;o=function(a,b){var c,d=k(a),e=d[0];return a=d[1],e&&(e=f(e,b),c=j(e)),e?a=c&&c.normalize?c.normalize(a,h(b)):f(a,b):(a=f(a,b),d=k(a),e=d[0],a=d[1],e&&(c=j(e))),{f:e?e+"!"+a:a,n:a,pr:e,p:c}},p={require:function(a){return g(a)},exports:function(a){var b=q[a];return"undefined"!=typeof b?b:q[a]={}},module:function(a){return{id:a,uri:"",exports:q[a],config:l(a)}}},m=function(a,c,d,f){var h,k,l,m,n,s,u=[],v=typeof d;if(f=f||a,"undefined"===v||"function"===v){for(c=!c.length&&d.length?["require","exports","module"]:c,n=0;n<c.length;n+=1)if(m=o(c[n],f),k=m.f,"require"===k)u[n]=p.require(a);else if("exports"===k)u[n]=p.exports(a),s=!0;else if("module"===k)h=u[n]=p.module(a);else if(e(q,k)||e(r,k)||e(t,k))u[n]=j(k);else{if(!m.p)throw new Error(a+" missing "+k);m.p.load(m.n,g(f,!0),i(k),{}),u[n]=q[k]}l=d?d.apply(q[a],u):void 0,a&&(h&&h.exports!==b&&h.exports!==q[a]?q[a]=h.exports:l===b&&s||(q[a]=l))}else a&&(q[a]=d)},a=c=n=function(a,c,d,e,f){if("string"==typeof a)return p[a]?p[a](c):j(o(a,c).f);if(!a.splice){if(s=a,s.deps&&n(s.deps,s.callback),!c)return;c.splice?(a=c,c=d,d=null):a=b}return c=c||function(){},"function"==typeof d&&(d=e,e=f),e?m(b,a,c,d):setTimeout(function(){m(b,a,c,d)},4),n},n.config=function(a){return n(a)},a._defined=q,d=function(a,b,c){if("string"!=typeof a)throw new Error("See almond README: incorrect module build, no module name");b.splice||(c=b,b=[]),e(q,a)||e(r,a)||(r[a]=[a,b,c])},d.amd={jQuery:!0}}(),b.requirejs=a,b.require=c,b.define=d}}(),b.define("almond",function(){}),b.define("jquery",[],function(){var b=a||$;return null==b&&console&&console.error&&console.error("Select2: An instance of jQuery or a jQuery-compatible library was not found. Make sure that you are including jQuery before Select2 on your web page."),b}),b.define("select2/utils",["jquery"],function(a){function b(a){var b=a.prototype,c=[];for(var d in b){var e=b[d];"function"==typeof e&&"constructor"!==d&&c.push(d)}return c}var c={};c.Extend=function(a,b){function c(){this.constructor=a}var d={}.hasOwnProperty;for(var e in b)d.call(b,e)&&(a[e]=b[e]);return c.prototype=b.prototype,a.prototype=new c,a.__super__=b.prototype,a},c.Decorate=function(a,c){function d(){var b=Array.prototype.unshift,d=c.prototype.constructor.length,e=a.prototype.constructor;d>0&&(b.call(arguments,a.prototype.constructor),e=c.prototype.constructor),e.apply(this,arguments)}function e(){this.constructor=d}var f=b(c),g=b(a);c.displayName=a.displayName,d.prototype=new e;for(var h=0;h<g.length;h++){var i=g[h];d.prototype[i]=a.prototype[i]}for(var j=(function(a){var b=function(){};a in d.prototype&&(b=d.prototype[a]);var e=c.prototype[a];return function(){var a=Array.prototype.unshift;return a.call(arguments,b),e.apply(this,arguments)}}),k=0;k<f.length;k++){var l=f[k];d.prototype[l]=j(l)}return d};var d=function(){this.listeners={}};return d.prototype.on=function(a,b){this.listeners=this.listeners||{},a in this.listeners?this.listeners[a].push(b):this.listeners[a]=[b]},d.prototype.trigger=function(a){var b=Array.prototype.slice,c=b.call(arguments,1);this.listeners=this.listeners||{},null==c&&(c=[]),0===c.length&&c.push({}),c[0]._type=a,a in this.listeners&&this.invoke(this.listeners[a],b.call(arguments,1)),"*"in this.listeners&&this.invoke(this.listeners["*"],arguments)},d.prototype.invoke=function(a,b){for(var c=0,d=a.length;d>c;c++)a[c].apply(this,b)},c.Observable=d,c.generateChars=function(a){for(var b="",c=0;a>c;c++){var d=Math.floor(36*Math.random());b+=d.toString(36)}return b},c.bind=function(a,b){return function(){a.apply(b,arguments)}},c._convertData=function(a){for(var b in a){var c=b.split("-"),d=a;if(1!==c.length){for(var e=0;e<c.length;e++){var f=c[e];f=f.substring(0,1).toLowerCase()+f.substring(1),f in d||(d[f]={}),e==c.length-1&&(d[f]=a[b]),d=d[f]}delete a[b]}}return a},c.hasScroll=function(b,c){var d=a(c),e=c.style.overflowX,f=c.style.overflowY;return e!==f||"hidden"!==f&&"visible"!==f?"scroll"===e||"scroll"===f?!0:d.innerHeight()<c.scrollHeight||d.innerWidth()<c.scrollWidth:!1},c.escapeMarkup=function(a){var b={"\\":"&#92;","&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#39;","/":"&#47;"};return"string"!=typeof a?a:String(a).replace(/[&<>"'\/\\]/g,function(a){return b[a]})},c.appendMany=function(b,c){if("1.7"===a.fn.jquery.substr(0,3)){var d=a();a.map(c,function(a){d=d.add(a)}),c=d}b.append(c)},c}),b.define("select2/results",["jquery","./utils"],function(a,b){function c(a,b,d){this.$element=a,this.data=d,this.options=b,c.__super__.constructor.call(this)}return b.Extend(c,b.Observable),c.prototype.render=function(){var b=a('<ul class="select2-results__options" role="tree"></ul>');return this.options.get("multiple")&&b.attr("aria-multiselectable","true"),this.$results=b,b},c.prototype.clear=function(){this.$results.empty()},c.prototype.displayMessage=function(b){var c=this.options.get("escapeMarkup");this.clear(),this.hideLoading();var d=a('<li role="treeitem" aria-live="assertive" class="select2-results__option"></li>'),e=this.options.get("translations").get(b.message);d.append(c(e(b.args))),d[0].className+=" select2-results__message",this.$results.append(d)},c.prototype.hideMessages=function(){this.$results.find(".select2-results__message").remove()},c.prototype.append=function(a){this.hideLoading();var b=[];if(null==a.results||0===a.results.length)return void(0===this.$results.children().length&&this.trigger("results:message",{message:"noResults"}));a.results=this.sort(a.results);for(var c=0;c<a.results.length;c++){var d=a.results[c],e=this.option(d);b.push(e)}this.$results.append(b)},c.prototype.position=function(a,b){var c=b.find(".select2-results");c.append(a)},c.prototype.sort=function(a){var b=this.options.get("sorter");return b(a)},c.prototype.highlightFirstItem=function(){var a=this.$results.find(".select2-results__option[aria-selected]"),b=a.filter("[aria-selected=true]");b.length>0?b.first().trigger("mouseenter"):a.first().trigger("mouseenter"),this.ensureHighlightVisible()},c.prototype.setClasses=function(){var b=this;this.data.current(function(c){var d=a.map(c,function(a){return a.id.toString()}),e=b.$results.find(".select2-results__option[aria-selected]");e.each(function(){var b=a(this),c=a.data(this,"data"),e=""+c.id;null!=c.element&&c.element.selected||null==c.element&&a.inArray(e,d)>-1?b.attr("aria-selected","true"):b.attr("aria-selected","false")})})},c.prototype.showLoading=function(a){this.hideLoading();var b=this.options.get("translations").get("searching"),c={disabled:!0,loading:!0,text:b(a)},d=this.option(c);d.className+=" loading-results",this.$results.prepend(d)},c.prototype.hideLoading=function(){this.$results.find(".loading-results").remove()},c.prototype.option=function(b){var c=document.createElement("li");c.className="select2-results__option";var d={role:"treeitem","aria-selected":"false"};b.disabled&&(delete d["aria-selected"],d["aria-disabled"]="true"),null==b.id&&delete d["aria-selected"],null!=b._resultId&&(c.id=b._resultId),b.title&&(c.title=b.title),b.children&&(d.role="group",d["aria-label"]=b.text,delete d["aria-selected"]);for(var e in d){var f=d[e];c.setAttribute(e,f)}if(b.children){var g=a(c),h=document.createElement("strong");h.className="select2-results__group";a(h);this.template(b,h);for(var i=[],j=0;j<b.children.length;j++){var k=b.children[j],l=this.option(k);i.push(l)}var m=a("<ul></ul>",{"class":"select2-results__options select2-results__options--nested"});m.append(i),g.append(h),g.append(m)}else this.template(b,c);return a.data(c,"data",b),c},c.prototype.bind=function(b,c){var d=this,e=b.id+"-results";this.$results.attr("id",e),b.on("results:all",function(a){d.clear(),d.append(a.data),b.isOpen()&&(d.setClasses(),d.highlightFirstItem())}),b.on("results:append",function(a){d.append(a.data),b.isOpen()&&d.setClasses()}),b.on("query",function(a){d.hideMessages(),d.showLoading(a)}),b.on("select",function(){b.isOpen()&&(d.setClasses(),d.highlightFirstItem())}),b.on("unselect",function(){b.isOpen()&&(d.setClasses(),d.highlightFirstItem())}),b.on("open",function(){d.$results.attr("aria-expanded","true"),d.$results.attr("aria-hidden","false"),d.setClasses(),d.ensureHighlightVisible()}),b.on("close",function(){d.$results.attr("aria-expanded","false"),d.$results.attr("aria-hidden","true"),d.$results.removeAttr("aria-activedescendant")}),b.on("results:toggle",function(){var a=d.getHighlightedResults();0!==a.length&&a.trigger("mouseup")}),b.on("results:select",function(){var a=d.getHighlightedResults();if(0!==a.length){var b=a.data("data");"true"==a.attr("aria-selected")?d.trigger("close",{}):d.trigger("select",{data:b})}}),b.on("results:previous",function(){var a=d.getHighlightedResults(),b=d.$results.find("[aria-selected]"),c=b.index(a);if(0!==c){var e=c-1;0===a.length&&(e=0);var f=b.eq(e);f.trigger("mouseenter");var g=d.$results.offset().top,h=f.offset().top,i=d.$results.scrollTop()+(h-g);0===e?d.$results.scrollTop(0):0>h-g&&d.$results.scrollTop(i)}}),b.on("results:next",function(){var a=d.getHighlightedResults(),b=d.$results.find("[aria-selected]"),c=b.index(a),e=c+1;if(!(e>=b.length)){var f=b.eq(e);f.trigger("mouseenter");var g=d.$results.offset().top+d.$results.outerHeight(!1),h=f.offset().top+f.outerHeight(!1),i=d.$results.scrollTop()+h-g;0===e?d.$results.scrollTop(0):h>g&&d.$results.scrollTop(i)}}),b.on("results:focus",function(a){a.element.addClass("select2-results__option--highlighted")}),b.on("results:message",function(a){d.displayMessage(a)}),a.fn.mousewheel&&this.$results.on("mousewheel",function(a){var b=d.$results.scrollTop(),c=d.$results.get(0).scrollHeight-b+a.deltaY,e=a.deltaY>0&&b-a.deltaY<=0,f=a.deltaY<0&&c<=d.$results.height();e?(d.$results.scrollTop(0),a.preventDefault(),a.stopPropagation()):f&&(d.$results.scrollTop(d.$results.get(0).scrollHeight-d.$results.height()),a.preventDefault(),a.stopPropagation())}),this.$results.on("mouseup",".select2-results__option[aria-selected]",function(b){var c=a(this),e=c.data("data");return"true"===c.attr("aria-selected")?void(d.options.get("multiple")?d.trigger("unselect",{originalEvent:b,data:e}):d.trigger("close",{})):void d.trigger("select",{originalEvent:b,data:e})}),this.$results.on("mouseenter",".select2-results__option[aria-selected]",function(b){var c=a(this).data("data");d.getHighlightedResults().removeClass("select2-results__option--highlighted"),d.trigger("results:focus",{data:c,element:a(this)})})},c.prototype.getHighlightedResults=function(){var a=this.$results.find(".select2-results__option--highlighted");return a},c.prototype.destroy=function(){this.$results.remove()},c.prototype.ensureHighlightVisible=function(){var a=this.getHighlightedResults();if(0!==a.length){var b=this.$results.find("[aria-selected]"),c=b.index(a),d=this.$results.offset().top,e=a.offset().top,f=this.$results.scrollTop()+(e-d),g=e-d;f-=2*a.outerHeight(!1),2>=c?this.$results.scrollTop(0):(g>this.$results.outerHeight()||0>g)&&this.$results.scrollTop(f)}},c.prototype.template=function(b,c){var d=this.options.get("templateResult"),e=this.options.get("escapeMarkup"),f=d(b,c);null==f?c.style.display="none":"string"==typeof f?c.innerHTML=e(f):a(c).append(f)},c}),b.define("select2/keys",[],function(){var a={BACKSPACE:8,TAB:9,ENTER:13,SHIFT:16,CTRL:17,ALT:18,ESC:27,SPACE:32,PAGE_UP:33,PAGE_DOWN:34,END:35,HOME:36,LEFT:37,UP:38,RIGHT:39,DOWN:40,DELETE:46};return a}),b.define("select2/selection/base",["jquery","../utils","../keys"],function(a,b,c){function d(a,b){this.$element=a,this.options=b,d.__super__.constructor.call(this)}return b.Extend(d,b.Observable),d.prototype.render=function(){var b=a('<span class="select2-selection" role="combobox"  aria-haspopup="true" aria-expanded="false"></span>');return this._tabindex=0,null!=this.$element.data("old-tabindex")?this._tabindex=this.$element.data("old-tabindex"):null!=this.$element.attr("tabindex")&&(this._tabindex=this.$element.attr("tabindex")),b.attr("title",this.$element.attr("title")),b.attr("tabindex",this._tabindex),this.$selection=b,b},d.prototype.bind=function(a,b){var d=this,e=(a.id+"-container",a.id+"-results");this.container=a,this.$selection.on("focus",function(a){d.trigger("focus",a)}),this.$selection.on("blur",function(a){d._handleBlur(a)}),this.$selection.on("keydown",function(a){d.trigger("keypress",a),a.which===c.SPACE&&a.preventDefault()}),a.on("results:focus",function(a){d.$selection.attr("aria-activedescendant",a.data._resultId)}),a.on("selection:update",function(a){d.update(a.data)}),a.on("open",function(){d.$selection.attr("aria-expanded","true"),d.$selection.attr("aria-owns",e),d._attachCloseHandler(a)}),a.on("close",function(){d.$selection.attr("aria-expanded","false"),d.$selection.removeAttr("aria-activedescendant"),d.$selection.removeAttr("aria-owns"),d.$selection.focus(),d._detachCloseHandler(a)}),a.on("enable",function(){d.$selection.attr("tabindex",d._tabindex)}),a.on("disable",function(){d.$selection.attr("tabindex","-1")})},d.prototype._handleBlur=function(b){var c=this;window.setTimeout(function(){document.activeElement==c.$selection[0]||a.contains(c.$selection[0],document.activeElement)||c.trigger("blur",b)},1)},d.prototype._attachCloseHandler=function(b){a(document.body).on("mousedown.select2."+b.id,function(b){var c=a(b.target),d=c.closest(".select2"),e=a(".select2.select2-container--open");e.each(function(){var b=a(this);if(this!=d[0]){var c=b.data("element");c.select2("close")}})})},d.prototype._detachCloseHandler=function(b){a(document.body).off("mousedown.select2."+b.id)},d.prototype.position=function(a,b){var c=b.find(".selection");c.append(a)},d.prototype.destroy=function(){this._detachCloseHandler(this.container)},d.prototype.update=function(a){throw new Error("The `update` method must be defined in child classes.")},d}),b.define("select2/selection/single",["jquery","./base","../utils","../keys"],function(a,b,c,d){function e(){e.__super__.constructor.apply(this,arguments)}return c.Extend(e,b),e.prototype.render=function(){var a=e.__super__.render.call(this);return a.addClass("select2-selection--single"),a.html('<span class="select2-selection__rendered"></span><span class="select2-selection__arrow" role="presentation"><b role="presentation"></b></span>'),a},e.prototype.bind=function(a,b){var c=this;e.__super__.bind.apply(this,arguments);var d=a.id+"-container";this.$selection.find(".select2-selection__rendered").attr("id",d),this.$selection.attr("aria-labelledby",d),this.$selection.on("mousedown",function(a){1===a.which&&c.trigger("toggle",{originalEvent:a})}),this.$selection.on("focus",function(a){}),this.$selection.on("blur",function(a){}),a.on("focus",function(b){a.isOpen()||c.$selection.focus()}),a.on("selection:update",function(a){c.update(a.data)})},e.prototype.clear=function(){this.$selection.find(".select2-selection__rendered").empty()},e.prototype.display=function(a,b){var c=this.options.get("templateSelection"),d=this.options.get("escapeMarkup");return d(c(a,b))},e.prototype.selectionContainer=function(){return a("<span></span>")},e.prototype.update=function(a){if(0===a.length)return void this.clear();var b=a[0],c=this.$selection.find(".select2-selection__rendered"),d=this.display(b,c);c.empty().append(d),c.prop("title",b.title||b.text)},e}),b.define("select2/selection/multiple",["jquery","./base","../utils"],function(a,b,c){function d(a,b){d.__super__.constructor.apply(this,arguments)}return c.Extend(d,b),d.prototype.render=function(){var a=d.__super__.render.call(this);return a.addClass("select2-selection--multiple"),a.html('<ul class="select2-selection__rendered"></ul>'),a},d.prototype.bind=function(b,c){var e=this;d.__super__.bind.apply(this,arguments),this.$selection.on("click",function(a){e.trigger("toggle",{originalEvent:a})}),this.$selection.on("click",".select2-selection__choice__remove",function(b){if(!e.options.get("disabled")){var c=a(this),d=c.parent(),f=d.data("data");e.trigger("unselect",{originalEvent:b,data:f})}})},d.prototype.clear=function(){this.$selection.find(".select2-selection__rendered").empty()},d.prototype.display=function(a,b){var c=this.options.get("templateSelection"),d=this.options.get("escapeMarkup");return d(c(a,b))},d.prototype.selectionContainer=function(){var b=a('<li class="select2-selection__choice"><span class="select2-selection__choice__remove" role="presentation">&times;</span></li>');return b},d.prototype.update=function(a){if(this.clear(),0!==a.length){for(var b=[],d=0;d<a.length;d++){var e=a[d],f=this.selectionContainer(),g=this.display(e,f);f.append(g),f.prop("title",e.title||e.text),f.data("data",e),b.push(f)}var h=this.$selection.find(".select2-selection__rendered");c.appendMany(h,b)}},d}),b.define("select2/selection/placeholder",["../utils"],function(a){function b(a,b,c){this.placeholder=this.normalizePlaceholder(c.get("placeholder")),a.call(this,b,c)}return b.prototype.normalizePlaceholder=function(a,b){return"string"==typeof b&&(b={id:"",text:b}),b},b.prototype.createPlaceholder=function(a,b){var c=this.selectionContainer();return c.html(this.display(b)),c.addClass("select2-selection__placeholder").removeClass("select2-selection__choice"),c},b.prototype.update=function(a,b){var c=1==b.length&&b[0].id!=this.placeholder.id,d=b.length>1;if(d||c)return a.call(this,b);this.clear();var e=this.createPlaceholder(this.placeholder);this.$selection.find(".select2-selection__rendered").append(e)},b}),b.define("select2/selection/allowClear",["jquery","../keys"],function(a,b){function c(){}return c.prototype.bind=function(a,b,c){var d=this;a.call(this,b,c),null==this.placeholder&&this.options.get("debug")&&window.console&&console.error&&console.error("Select2: The `allowClear` option should be used in combination with the `placeholder` option."),this.$selection.on("mousedown",".select2-selection__clear",function(a){d._handleClear(a)}),b.on("keypress",function(a){d._handleKeyboardClear(a,b)})},c.prototype._handleClear=function(a,b){if(!this.options.get("disabled")){var c=this.$selection.find(".select2-selection__clear");if(0!==c.length){b.stopPropagation();for(var d=c.data("data"),e=0;e<d.length;e++){var f={data:d[e]};if(this.trigger("unselect",f),f.prevented)return}this.$element.val(this.placeholder.id).trigger("change"),this.trigger("toggle",{})}}},c.prototype._handleKeyboardClear=function(a,c,d){d.isOpen()||(c.which==b.DELETE||c.which==b.BACKSPACE)&&this._handleClear(c)},c.prototype.update=function(b,c){if(b.call(this,c),!(this.$selection.find(".select2-selection__placeholder").length>0||0===c.length)){var d=a('<span class="select2-selection__clear">&times;</span>');d.data("data",c),this.$selection.find(".select2-selection__rendered").prepend(d)}},c}),b.define("select2/selection/search",["jquery","../utils","../keys"],function(a,b,c){function d(a,b,c){a.call(this,b,c)}return d.prototype.render=function(b){var c=a('<li class="select2-search select2-search--inline"><input class="select2-search__field" type="search" tabindex="-1" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false" role="textbox" aria-autocomplete="list" /></li>');this.$searchContainer=c,this.$search=c.find("input");var d=b.call(this);return this._transferTabIndex(),d},d.prototype.bind=function(a,b,d){var e=this;a.call(this,b,d),b.on("open",function(){e.$search.trigger("focus")}),b.on("close",function(){e.$search.val(""),e.$search.removeAttr("aria-activedescendant"),e.$search.trigger("focus")}),b.on("enable",function(){e.$search.prop("disabled",!1),e._transferTabIndex()}),b.on("disable",function(){e.$search.prop("disabled",!0)}),b.on("focus",function(a){e.$search.trigger("focus")}),b.on("results:focus",function(a){e.$search.attr("aria-activedescendant",a.id)}),this.$selection.on("focusin",".select2-search--inline",function(a){e.trigger("focus",a)}),this.$selection.on("focusout",".select2-search--inline",function(a){e._handleBlur(a)}),this.$selection.on("keydown",".select2-search--inline",function(a){a.stopPropagation(),e.trigger("keypress",a),e._keyUpPrevented=a.isDefaultPrevented();var b=a.which;if(b===c.BACKSPACE&&""===e.$search.val()){var d=e.$searchContainer.prev(".select2-selection__choice");if(d.length>0){var f=d.data("data");e.searchRemoveChoice(f),a.preventDefault()}}});var f=document.documentMode,g=f&&11>=f;this.$selection.on("input.searchcheck",".select2-search--inline",function(a){return g?void e.$selection.off("input.search input.searchcheck"):void e.$selection.off("keyup.search")}),this.$selection.on("keyup.search input.search",".select2-search--inline",function(a){if(g&&"input"===a.type)return void e.$selection.off("input.search input.searchcheck");var b=a.which;b!=c.SHIFT&&b!=c.CTRL&&b!=c.ALT&&b!=c.TAB&&e.handleSearch(a)})},d.prototype._transferTabIndex=function(a){this.$search.attr("tabindex",this.$selection.attr("tabindex")),this.$selection.attr("tabindex","-1")},d.prototype.createPlaceholder=function(a,b){this.$search.attr("placeholder",b.text)},d.prototype.update=function(a,b){var c=this.$search[0]==document.activeElement;this.$search.attr("placeholder",""),a.call(this,b),this.$selection.find(".select2-selection__rendered").append(this.$searchContainer),this.resizeSearch(),c&&this.$search.focus()},d.prototype.handleSearch=function(){if(this.resizeSearch(),!this._keyUpPrevented){var a=this.$search.val();this.trigger("query",{term:a})}this._keyUpPrevented=!1},d.prototype.searchRemoveChoice=function(a,b){this.trigger("unselect",{data:b}),this.$search.val(b.text),this.handleSearch()},d.prototype.resizeSearch=function(){this.$search.css("width","25px");var a="";if(""!==this.$search.attr("placeholder"))a=this.$selection.find(".select2-selection__rendered").innerWidth();else{var b=this.$search.val().length+1;a=.75*b+"em"}this.$search.css("width",a)},d}),b.define("select2/selection/eventRelay",["jquery"],function(a){function b(){}return b.prototype.bind=function(b,c,d){var e=this,f=["open","opening","close","closing","select","selecting","unselect","unselecting"],g=["opening","closing","selecting","unselecting"];b.call(this,c,d),c.on("*",function(b,c){if(-1!==a.inArray(b,f)){c=c||{};var d=a.Event("select2:"+b,{params:c});e.$element.trigger(d),-1!==a.inArray(b,g)&&(c.prevented=d.isDefaultPrevented())}})},b}),b.define("select2/translation",["jquery","require"],function(a,b){function c(a){this.dict=a||{}}return c.prototype.all=function(){return this.dict},c.prototype.get=function(a){return this.dict[a]},c.prototype.extend=function(b){this.dict=a.extend({},b.all(),this.dict)},c._cache={},c.loadPath=function(a){if(!(a in c._cache)){var d=b(a);c._cache[a]=d}return new c(c._cache[a])},c}),b.define("select2/diacritics",[],function(){var a={"Ⓐ":"A","Ａ":"A","À":"A","Á":"A","Â":"A","Ầ":"A","Ấ":"A","Ẫ":"A","Ẩ":"A","Ã":"A","Ā":"A","Ă":"A","Ằ":"A","Ắ":"A","Ẵ":"A","Ẳ":"A","Ȧ":"A","Ǡ":"A","Ä":"A","Ǟ":"A","Ả":"A","Å":"A","Ǻ":"A","Ǎ":"A","Ȁ":"A","Ȃ":"A","Ạ":"A","Ậ":"A","Ặ":"A","Ḁ":"A","Ą":"A","Ⱥ":"A","Ɐ":"A","Ꜳ":"AA","Æ":"AE","Ǽ":"AE","Ǣ":"AE","Ꜵ":"AO","Ꜷ":"AU","Ꜹ":"AV","Ꜻ":"AV","Ꜽ":"AY","Ⓑ":"B","Ｂ":"B","Ḃ":"B","Ḅ":"B","Ḇ":"B","Ƀ":"B","Ƃ":"B","Ɓ":"B","Ⓒ":"C","Ｃ":"C","Ć":"C","Ĉ":"C","Ċ":"C","Č":"C","Ç":"C","Ḉ":"C","Ƈ":"C","Ȼ":"C","Ꜿ":"C","Ⓓ":"D","Ｄ":"D","Ḋ":"D","Ď":"D","Ḍ":"D","Ḑ":"D","Ḓ":"D","Ḏ":"D","Đ":"D","Ƌ":"D","Ɗ":"D","Ɖ":"D","Ꝺ":"D","Ǳ":"DZ","Ǆ":"DZ","ǲ":"Dz","ǅ":"Dz","Ⓔ":"E","Ｅ":"E","È":"E","É":"E","Ê":"E","Ề":"E","Ế":"E","Ễ":"E","Ể":"E","Ẽ":"E","Ē":"E","Ḕ":"E","Ḗ":"E","Ĕ":"E","Ė":"E","Ë":"E","Ẻ":"E","Ě":"E","Ȅ":"E","Ȇ":"E","Ẹ":"E","Ệ":"E","Ȩ":"E","Ḝ":"E","Ę":"E","Ḙ":"E","Ḛ":"E","Ɛ":"E","Ǝ":"E","Ⓕ":"F","Ｆ":"F","Ḟ":"F","Ƒ":"F","Ꝼ":"F","Ⓖ":"G","Ｇ":"G","Ǵ":"G","Ĝ":"G","Ḡ":"G","Ğ":"G","Ġ":"G","Ǧ":"G","Ģ":"G","Ǥ":"G","Ɠ":"G","Ꞡ":"G","Ᵹ":"G","Ꝿ":"G","Ⓗ":"H","Ｈ":"H","Ĥ":"H","Ḣ":"H","Ḧ":"H","Ȟ":"H","Ḥ":"H","Ḩ":"H","Ḫ":"H","Ħ":"H","Ⱨ":"H","Ⱶ":"H","Ɥ":"H","Ⓘ":"I","Ｉ":"I","Ì":"I","Í":"I","Î":"I","Ĩ":"I","Ī":"I","Ĭ":"I","İ":"I","Ï":"I","Ḯ":"I","Ỉ":"I","Ǐ":"I","Ȉ":"I","Ȋ":"I","Ị":"I","Į":"I","Ḭ":"I","Ɨ":"I","Ⓙ":"J","Ｊ":"J","Ĵ":"J","Ɉ":"J","Ⓚ":"K","Ｋ":"K","Ḱ":"K","Ǩ":"K","Ḳ":"K","Ķ":"K","Ḵ":"K","Ƙ":"K","Ⱪ":"K","Ꝁ":"K","Ꝃ":"K","Ꝅ":"K","Ꞣ":"K","Ⓛ":"L","Ｌ":"L","Ŀ":"L","Ĺ":"L","Ľ":"L","Ḷ":"L","Ḹ":"L","Ļ":"L","Ḽ":"L","Ḻ":"L","Ł":"L","Ƚ":"L","Ɫ":"L","Ⱡ":"L","Ꝉ":"L","Ꝇ":"L","Ꞁ":"L","Ǉ":"LJ","ǈ":"Lj","Ⓜ":"M","Ｍ":"M","Ḿ":"M","Ṁ":"M","Ṃ":"M","Ɱ":"M","Ɯ":"M","Ⓝ":"N","Ｎ":"N","Ǹ":"N","Ń":"N","Ñ":"N","Ṅ":"N","Ň":"N","Ṇ":"N","Ņ":"N","Ṋ":"N","Ṉ":"N","Ƞ":"N","Ɲ":"N","Ꞑ":"N","Ꞥ":"N","Ǌ":"NJ","ǋ":"Nj","Ⓞ":"O","Ｏ":"O","Ò":"O","Ó":"O","Ô":"O","Ồ":"O","Ố":"O","Ỗ":"O","Ổ":"O","Õ":"O","Ṍ":"O","Ȭ":"O","Ṏ":"O","Ō":"O","Ṑ":"O","Ṓ":"O","Ŏ":"O","Ȯ":"O","Ȱ":"O","Ö":"O","Ȫ":"O","Ỏ":"O","Ő":"O","Ǒ":"O","Ȍ":"O","Ȏ":"O","Ơ":"O","Ờ":"O","Ớ":"O","Ỡ":"O","Ở":"O","Ợ":"O","Ọ":"O","Ộ":"O","Ǫ":"O","Ǭ":"O","Ø":"O","Ǿ":"O","Ɔ":"O","Ɵ":"O","Ꝋ":"O","Ꝍ":"O","Ƣ":"OI","Ꝏ":"OO","Ȣ":"OU","Ⓟ":"P","Ｐ":"P","Ṕ":"P","Ṗ":"P","Ƥ":"P","Ᵽ":"P","Ꝑ":"P","Ꝓ":"P","Ꝕ":"P","Ⓠ":"Q","Ｑ":"Q","Ꝗ":"Q","Ꝙ":"Q","Ɋ":"Q","Ⓡ":"R","Ｒ":"R","Ŕ":"R","Ṙ":"R","Ř":"R","Ȑ":"R","Ȓ":"R","Ṛ":"R","Ṝ":"R","Ŗ":"R","Ṟ":"R","Ɍ":"R","Ɽ":"R","Ꝛ":"R","Ꞧ":"R","Ꞃ":"R","Ⓢ":"S","Ｓ":"S","ẞ":"S","Ś":"S","Ṥ":"S","Ŝ":"S","Ṡ":"S","Š":"S","Ṧ":"S","Ṣ":"S","Ṩ":"S","Ș":"S","Ş":"S","Ȿ":"S","Ꞩ":"S","Ꞅ":"S","Ⓣ":"T","Ｔ":"T","Ṫ":"T","Ť":"T","Ṭ":"T","Ț":"T","Ţ":"T","Ṱ":"T","Ṯ":"T","Ŧ":"T","Ƭ":"T","Ʈ":"T","Ⱦ":"T","Ꞇ":"T","Ꜩ":"TZ","Ⓤ":"U","Ｕ":"U","Ù":"U","Ú":"U","Û":"U","Ũ":"U","Ṹ":"U","Ū":"U","Ṻ":"U","Ŭ":"U","Ü":"U","Ǜ":"U","Ǘ":"U","Ǖ":"U","Ǚ":"U","Ủ":"U","Ů":"U","Ű":"U","Ǔ":"U","Ȕ":"U","Ȗ":"U","Ư":"U","Ừ":"U","Ứ":"U","Ữ":"U","Ử":"U","Ự":"U","Ụ":"U","Ṳ":"U","Ų":"U","Ṷ":"U","Ṵ":"U","Ʉ":"U","Ⓥ":"V","Ｖ":"V","Ṽ":"V","Ṿ":"V","Ʋ":"V","Ꝟ":"V","Ʌ":"V","Ꝡ":"VY","Ⓦ":"W","Ｗ":"W","Ẁ":"W","Ẃ":"W","Ŵ":"W","Ẇ":"W","Ẅ":"W","Ẉ":"W","Ⱳ":"W","Ⓧ":"X","Ｘ":"X","Ẋ":"X","Ẍ":"X","Ⓨ":"Y","Ｙ":"Y","Ỳ":"Y","Ý":"Y","Ŷ":"Y","Ỹ":"Y","Ȳ":"Y","Ẏ":"Y","Ÿ":"Y","Ỷ":"Y","Ỵ":"Y","Ƴ":"Y","Ɏ":"Y","Ỿ":"Y","Ⓩ":"Z","Ｚ":"Z","Ź":"Z","Ẑ":"Z","Ż":"Z","Ž":"Z","Ẓ":"Z","Ẕ":"Z","Ƶ":"Z","Ȥ":"Z","Ɀ":"Z","Ⱬ":"Z","Ꝣ":"Z","ⓐ":"a","ａ":"a","ẚ":"a","à":"a","á":"a","â":"a","ầ":"a","ấ":"a","ẫ":"a","ẩ":"a","ã":"a","ā":"a","ă":"a","ằ":"a","ắ":"a","ẵ":"a","ẳ":"a","ȧ":"a","ǡ":"a","ä":"a","ǟ":"a","ả":"a","å":"a","ǻ":"a","ǎ":"a","ȁ":"a","ȃ":"a","ạ":"a","ậ":"a","ặ":"a","ḁ":"a","ą":"a","ⱥ":"a","ɐ":"a","ꜳ":"aa","æ":"ae","ǽ":"ae","ǣ":"ae","ꜵ":"ao","ꜷ":"au","ꜹ":"av","ꜻ":"av","ꜽ":"ay","ⓑ":"b","ｂ":"b","ḃ":"b","ḅ":"b","ḇ":"b","ƀ":"b","ƃ":"b","ɓ":"b","ⓒ":"c","ｃ":"c","ć":"c","ĉ":"c","ċ":"c","č":"c","ç":"c","ḉ":"c","ƈ":"c","ȼ":"c","ꜿ":"c","ↄ":"c","ⓓ":"d","ｄ":"d","ḋ":"d","ď":"d","ḍ":"d","ḑ":"d","ḓ":"d","ḏ":"d","đ":"d","ƌ":"d","ɖ":"d","ɗ":"d","ꝺ":"d","ǳ":"dz","ǆ":"dz","ⓔ":"e","ｅ":"e","è":"e","é":"e","ê":"e","ề":"e","ế":"e","ễ":"e","ể":"e","ẽ":"e","ē":"e","ḕ":"e","ḗ":"e","ĕ":"e","ė":"e","ë":"e","ẻ":"e","ě":"e","ȅ":"e","ȇ":"e","ẹ":"e","ệ":"e","ȩ":"e","ḝ":"e","ę":"e","ḙ":"e","ḛ":"e","ɇ":"e","ɛ":"e","ǝ":"e","ⓕ":"f","ｆ":"f","ḟ":"f","ƒ":"f","ꝼ":"f","ⓖ":"g","ｇ":"g","ǵ":"g","ĝ":"g","ḡ":"g","ğ":"g","ġ":"g","ǧ":"g","ģ":"g","ǥ":"g","ɠ":"g","ꞡ":"g","ᵹ":"g","ꝿ":"g","ⓗ":"h","ｈ":"h","ĥ":"h","ḣ":"h","ḧ":"h","ȟ":"h","ḥ":"h","ḩ":"h","ḫ":"h","ẖ":"h","ħ":"h","ⱨ":"h","ⱶ":"h","ɥ":"h","ƕ":"hv","ⓘ":"i","ｉ":"i","ì":"i","í":"i","î":"i","ĩ":"i","ī":"i","ĭ":"i","ï":"i","ḯ":"i","ỉ":"i","ǐ":"i","ȉ":"i","ȋ":"i","ị":"i","į":"i","ḭ":"i","ɨ":"i","ı":"i","ⓙ":"j","ｊ":"j","ĵ":"j","ǰ":"j","ɉ":"j","ⓚ":"k","ｋ":"k","ḱ":"k","ǩ":"k","ḳ":"k","ķ":"k","ḵ":"k","ƙ":"k","ⱪ":"k","ꝁ":"k","ꝃ":"k","ꝅ":"k","ꞣ":"k","ⓛ":"l","ｌ":"l","ŀ":"l","ĺ":"l","ľ":"l","ḷ":"l","ḹ":"l","ļ":"l","ḽ":"l","ḻ":"l","ſ":"l","ł":"l","ƚ":"l","ɫ":"l","ⱡ":"l","ꝉ":"l","ꞁ":"l","ꝇ":"l","ǉ":"lj","ⓜ":"m","ｍ":"m","ḿ":"m","ṁ":"m","ṃ":"m","ɱ":"m","ɯ":"m","ⓝ":"n","ｎ":"n","ǹ":"n","ń":"n","ñ":"n","ṅ":"n","ň":"n","ṇ":"n","ņ":"n","ṋ":"n","ṉ":"n","ƞ":"n","ɲ":"n","ŉ":"n","ꞑ":"n","ꞥ":"n","ǌ":"nj","ⓞ":"o","ｏ":"o","ò":"o","ó":"o","ô":"o","ồ":"o","ố":"o","ỗ":"o","ổ":"o","õ":"o","ṍ":"o","ȭ":"o","ṏ":"o","ō":"o","ṑ":"o","ṓ":"o","ŏ":"o","ȯ":"o","ȱ":"o","ö":"o","ȫ":"o","ỏ":"o","ő":"o","ǒ":"o","ȍ":"o","ȏ":"o","ơ":"o","ờ":"o","ớ":"o","ỡ":"o","ở":"o","ợ":"o","ọ":"o","ộ":"o","ǫ":"o","ǭ":"o","ø":"o","ǿ":"o","ɔ":"o","ꝋ":"o","ꝍ":"o","ɵ":"o","ƣ":"oi","ȣ":"ou","ꝏ":"oo","ⓟ":"p","ｐ":"p","ṕ":"p","ṗ":"p","ƥ":"p","ᵽ":"p","ꝑ":"p","ꝓ":"p","ꝕ":"p","ⓠ":"q","ｑ":"q","ɋ":"q","ꝗ":"q","ꝙ":"q","ⓡ":"r","ｒ":"r","ŕ":"r","ṙ":"r","ř":"r","ȑ":"r","ȓ":"r","ṛ":"r","ṝ":"r","ŗ":"r","ṟ":"r","ɍ":"r","ɽ":"r","ꝛ":"r","ꞧ":"r","ꞃ":"r","ⓢ":"s","ｓ":"s","ß":"s","ś":"s","ṥ":"s","ŝ":"s","ṡ":"s","š":"s","ṧ":"s","ṣ":"s","ṩ":"s","ș":"s","ş":"s","ȿ":"s","ꞩ":"s","ꞅ":"s","ẛ":"s","ⓣ":"t","ｔ":"t","ṫ":"t","ẗ":"t","ť":"t","ṭ":"t","ț":"t","ţ":"t","ṱ":"t","ṯ":"t","ŧ":"t","ƭ":"t","ʈ":"t","ⱦ":"t","ꞇ":"t","ꜩ":"tz","ⓤ":"u","ｕ":"u","ù":"u","ú":"u","û":"u","ũ":"u","ṹ":"u","ū":"u","ṻ":"u","ŭ":"u","ü":"u","ǜ":"u","ǘ":"u","ǖ":"u","ǚ":"u","ủ":"u","ů":"u","ű":"u","ǔ":"u","ȕ":"u","ȗ":"u","ư":"u","ừ":"u","ứ":"u","ữ":"u","ử":"u","ự":"u","ụ":"u","ṳ":"u","ų":"u","ṷ":"u","ṵ":"u","ʉ":"u","ⓥ":"v","ｖ":"v","ṽ":"v","ṿ":"v","ʋ":"v","ꝟ":"v","ʌ":"v","ꝡ":"vy","ⓦ":"w","ｗ":"w","ẁ":"w","ẃ":"w","ŵ":"w","ẇ":"w","ẅ":"w","ẘ":"w","ẉ":"w","ⱳ":"w","ⓧ":"x","ｘ":"x","ẋ":"x","ẍ":"x","ⓨ":"y","ｙ":"y","ỳ":"y","ý":"y","ŷ":"y","ỹ":"y","ȳ":"y","ẏ":"y","ÿ":"y","ỷ":"y","ẙ":"y","ỵ":"y","ƴ":"y","ɏ":"y","ỿ":"y","ⓩ":"z","ｚ":"z","ź":"z","ẑ":"z","ż":"z","ž":"z","ẓ":"z","ẕ":"z","ƶ":"z","ȥ":"z","ɀ":"z","ⱬ":"z","ꝣ":"z","Ά":"Α","Έ":"Ε","Ή":"Η","Ί":"Ι","Ϊ":"Ι","Ό":"Ο","Ύ":"Υ","Ϋ":"Υ","Ώ":"Ω","ά":"α","έ":"ε","ή":"η","ί":"ι","ϊ":"ι","ΐ":"ι","ό":"ο","ύ":"υ","ϋ":"υ","ΰ":"υ","ω":"ω","ς":"σ"};return a}),b.define("select2/data/base",["../utils"],function(a){function b(a,c){b.__super__.constructor.call(this)}return a.Extend(b,a.Observable),b.prototype.current=function(a){throw new Error("The `current` method must be defined in child classes.")},b.prototype.query=function(a,b){throw new Error("The `query` method must be defined in child classes.")},b.prototype.bind=function(a,b){},b.prototype.destroy=function(){},b.prototype.generateResultId=function(b,c){var d=b.id+"-result-";return d+=a.generateChars(4),d+=null!=c.id?"-"+c.id.toString():"-"+a.generateChars(4)},b}),b.define("select2/data/select",["./base","../utils","jquery"],function(a,b,c){function d(a,b){this.$element=a,this.options=b,d.__super__.constructor.call(this)}return b.Extend(d,a),d.prototype.current=function(a){var b=[],d=this;this.$element.find(":selected").each(function(){var a=c(this),e=d.item(a);b.push(e)}),a(b)},d.prototype.select=function(a){var b=this;if(a.selected=!0,c(a.element).is("option"))return a.element.selected=!0,void this.$element.trigger("change");
if(this.$element.prop("multiple"))this.current(function(d){var e=[];a=[a],a.push.apply(a,d);for(var f=0;f<a.length;f++){var g=a[f].id;-1===c.inArray(g,e)&&e.push(g)}b.$element.val(e),b.$element.trigger("change")});else{var d=a.id;this.$element.val(d),this.$element.trigger("change")}},d.prototype.unselect=function(a){var b=this;if(this.$element.prop("multiple"))return a.selected=!1,c(a.element).is("option")?(a.element.selected=!1,void this.$element.trigger("change")):void this.current(function(d){for(var e=[],f=0;f<d.length;f++){var g=d[f].id;g!==a.id&&-1===c.inArray(g,e)&&e.push(g)}b.$element.val(e),b.$element.trigger("change")})},d.prototype.bind=function(a,b){var c=this;this.container=a,a.on("select",function(a){c.select(a.data)}),a.on("unselect",function(a){c.unselect(a.data)})},d.prototype.destroy=function(){this.$element.find("*").each(function(){c.removeData(this,"data")})},d.prototype.query=function(a,b){var d=[],e=this,f=this.$element.children();f.each(function(){var b=c(this);if(b.is("option")||b.is("optgroup")){var f=e.item(b),g=e.matches(a,f);null!==g&&d.push(g)}}),b({results:d})},d.prototype.addOptions=function(a){b.appendMany(this.$element,a)},d.prototype.option=function(a){var b;a.children?(b=document.createElement("optgroup"),b.label=a.text):(b=document.createElement("option"),void 0!==b.textContent?b.textContent=a.text:b.innerText=a.text),a.id&&(b.value=a.id),a.disabled&&(b.disabled=!0),a.selected&&(b.selected=!0),a.title&&(b.title=a.title);var d=c(b),e=this._normalizeItem(a);return e.element=b,c.data(b,"data",e),d},d.prototype.item=function(a){var b={};if(b=c.data(a[0],"data"),null!=b)return b;if(a.is("option"))b={id:a.val(),text:a.text(),disabled:a.prop("disabled"),selected:a.prop("selected"),title:a.prop("title")};else if(a.is("optgroup")){b={text:a.prop("label"),children:[],title:a.prop("title")};for(var d=a.children("option"),e=[],f=0;f<d.length;f++){var g=c(d[f]),h=this.item(g);e.push(h)}b.children=e}return b=this._normalizeItem(b),b.element=a[0],c.data(a[0],"data",b),b},d.prototype._normalizeItem=function(a){c.isPlainObject(a)||(a={id:a,text:a}),a=c.extend({},{text:""},a);var b={selected:!1,disabled:!1};return null!=a.id&&(a.id=a.id.toString()),null!=a.text&&(a.text=a.text.toString()),null==a._resultId&&a.id&&null!=this.container&&(a._resultId=this.generateResultId(this.container,a)),c.extend({},b,a)},d.prototype.matches=function(a,b){var c=this.options.get("matcher");return c(a,b)},d}),b.define("select2/data/array",["./select","../utils","jquery"],function(a,b,c){function d(a,b){var c=b.get("data")||[];d.__super__.constructor.call(this,a,b),this.addOptions(this.convertToOptions(c))}return b.Extend(d,a),d.prototype.select=function(a){var b=this.$element.find("option").filter(function(b,c){return c.value==a.id.toString()});0===b.length&&(b=this.option(a),this.addOptions(b)),d.__super__.select.call(this,a)},d.prototype.convertToOptions=function(a){function d(a){return function(){return c(this).val()==a.id}}for(var e=this,f=this.$element.find("option"),g=f.map(function(){return e.item(c(this)).id}).get(),h=[],i=0;i<a.length;i++){var j=this._normalizeItem(a[i]);if(c.inArray(j.id,g)>=0){var k=f.filter(d(j)),l=this.item(k),m=c.extend(!0,{},j,l),n=this.option(m);k.replaceWith(n)}else{var o=this.option(j);if(j.children){var p=this.convertToOptions(j.children);b.appendMany(o,p)}h.push(o)}}return h},d}),b.define("select2/data/ajax",["./array","../utils","jquery"],function(a,b,c){function d(a,b){this.ajaxOptions=this._applyDefaults(b.get("ajax")),null!=this.ajaxOptions.processResults&&(this.processResults=this.ajaxOptions.processResults),d.__super__.constructor.call(this,a,b)}return b.Extend(d,a),d.prototype._applyDefaults=function(a){var b={data:function(a){return c.extend({},a,{q:a.term})},transport:function(a,b,d){var e=c.ajax(a);return e.then(b),e.fail(d),e}};return c.extend({},b,a,!0)},d.prototype.processResults=function(a){return a},d.prototype.query=function(a,b){function d(){var d=f.transport(f,function(d){var f=e.processResults(d,a);e.options.get("debug")&&window.console&&console.error&&(f&&f.results&&c.isArray(f.results)||console.error("Select2: The AJAX results did not return an array in the `results` key of the response.")),b(f)},function(){d.status&&"0"===d.status||e.trigger("results:message",{message:"errorLoading"})});e._request=d}var e=this;null!=this._request&&(c.isFunction(this._request.abort)&&this._request.abort(),this._request=null);var f=c.extend({type:"GET"},this.ajaxOptions);"function"==typeof f.url&&(f.url=f.url.call(this.$element,a)),"function"==typeof f.data&&(f.data=f.data.call(this.$element,a)),this.ajaxOptions.delay&&null!=a.term?(this._queryTimeout&&window.clearTimeout(this._queryTimeout),this._queryTimeout=window.setTimeout(d,this.ajaxOptions.delay)):d()},d}),b.define("select2/data/tags",["jquery"],function(a){function b(b,c,d){var e=d.get("tags"),f=d.get("createTag");void 0!==f&&(this.createTag=f);var g=d.get("insertTag");if(void 0!==g&&(this.insertTag=g),b.call(this,c,d),a.isArray(e))for(var h=0;h<e.length;h++){var i=e[h],j=this._normalizeItem(i),k=this.option(j);this.$element.append(k)}}return b.prototype.query=function(a,b,c){function d(a,f){for(var g=a.results,h=0;h<g.length;h++){var i=g[h],j=null!=i.children&&!d({results:i.children},!0),k=i.text===b.term;if(k||j)return f?!1:(a.data=g,void c(a))}if(f)return!0;var l=e.createTag(b);if(null!=l){var m=e.option(l);m.attr("data-select2-tag",!0),e.addOptions([m]),e.insertTag(g,l)}a.results=g,c(a)}var e=this;return this._removeOldTags(),null==b.term||null!=b.page?void a.call(this,b,c):void a.call(this,b,d)},b.prototype.createTag=function(b,c){var d=a.trim(c.term);return""===d?null:{id:d,text:d}},b.prototype.insertTag=function(a,b,c){b.unshift(c)},b.prototype._removeOldTags=function(b){var c=(this._lastTag,this.$element.find("option[data-select2-tag]"));c.each(function(){this.selected||a(this).remove()})},b}),b.define("select2/data/tokenizer",["jquery"],function(a){function b(a,b,c){var d=c.get("tokenizer");void 0!==d&&(this.tokenizer=d),a.call(this,b,c)}return b.prototype.bind=function(a,b,c){a.call(this,b,c),this.$search=b.dropdown.$search||b.selection.$search||c.find(".select2-search__field")},b.prototype.query=function(b,c,d){function e(b){var c=g._normalizeItem(b),d=g.$element.find("option").filter(function(){return a(this).val()===c.id});if(!d.length){var e=g.option(c);e.attr("data-select2-tag",!0),g._removeOldTags(),g.addOptions([e])}f(c)}function f(a){g.trigger("select",{data:a})}var g=this;c.term=c.term||"";var h=this.tokenizer(c,this.options,e);h.term!==c.term&&(this.$search.length&&(this.$search.val(h.term),this.$search.focus()),c.term=h.term),b.call(this,c,d)},b.prototype.tokenizer=function(b,c,d,e){for(var f=d.get("tokenSeparators")||[],g=c.term,h=0,i=this.createTag||function(a){return{id:a.term,text:a.term}};h<g.length;){var j=g[h];if(-1!==a.inArray(j,f)){var k=g.substr(0,h),l=a.extend({},c,{term:k}),m=i(l);null!=m?(e(m),g=g.substr(h+1)||"",h=0):h++}else h++}return{term:g}},b}),b.define("select2/data/minimumInputLength",[],function(){function a(a,b,c){this.minimumInputLength=c.get("minimumInputLength"),a.call(this,b,c)}return a.prototype.query=function(a,b,c){return b.term=b.term||"",b.term.length<this.minimumInputLength?void this.trigger("results:message",{message:"inputTooShort",args:{minimum:this.minimumInputLength,input:b.term,params:b}}):void a.call(this,b,c)},a}),b.define("select2/data/maximumInputLength",[],function(){function a(a,b,c){this.maximumInputLength=c.get("maximumInputLength"),a.call(this,b,c)}return a.prototype.query=function(a,b,c){return b.term=b.term||"",this.maximumInputLength>0&&b.term.length>this.maximumInputLength?void this.trigger("results:message",{message:"inputTooLong",args:{maximum:this.maximumInputLength,input:b.term,params:b}}):void a.call(this,b,c)},a}),b.define("select2/data/maximumSelectionLength",[],function(){function a(a,b,c){this.maximumSelectionLength=c.get("maximumSelectionLength"),a.call(this,b,c)}return a.prototype.query=function(a,b,c){var d=this;this.current(function(e){var f=null!=e?e.length:0;return d.maximumSelectionLength>0&&f>=d.maximumSelectionLength?void d.trigger("results:message",{message:"maximumSelected",args:{maximum:d.maximumSelectionLength}}):void a.call(d,b,c)})},a}),b.define("select2/dropdown",["jquery","./utils"],function(a,b){function c(a,b){this.$element=a,this.options=b,c.__super__.constructor.call(this)}return b.Extend(c,b.Observable),c.prototype.render=function(){var b=a('<span class="select2-dropdown"><span class="select2-results"></span></span>');return b.attr("dir",this.options.get("dir")),this.$dropdown=b,b},c.prototype.bind=function(){},c.prototype.position=function(a,b){},c.prototype.destroy=function(){this.$dropdown.remove()},c}),b.define("select2/dropdown/search",["jquery","../utils"],function(a,b){function c(){}return c.prototype.render=function(b){var c=b.call(this),d=a('<span class="select2-search select2-search--dropdown"><input class="select2-search__field" type="search" tabindex="-1" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false" role="textbox" /></span>');return this.$searchContainer=d,this.$search=d.find("input"),c.prepend(d),c},c.prototype.bind=function(b,c,d){var e=this;b.call(this,c,d),this.$search.on("keydown",function(a){e.trigger("keypress",a),e._keyUpPrevented=a.isDefaultPrevented()}),this.$search.on("input",function(b){a(this).off("keyup")}),this.$search.on("keyup input",function(a){e.handleSearch(a)}),c.on("open",function(){e.$search.attr("tabindex",0),e.$search.focus(),window.setTimeout(function(){e.$search.focus()},0)}),c.on("close",function(){e.$search.attr("tabindex",-1),e.$search.val("")}),c.on("focus",function(){c.isOpen()&&e.$search.focus()}),c.on("results:all",function(a){if(null==a.query.term||""===a.query.term){var b=e.showSearch(a);b?e.$searchContainer.removeClass("select2-search--hide"):e.$searchContainer.addClass("select2-search--hide")}})},c.prototype.handleSearch=function(a){if(!this._keyUpPrevented){var b=this.$search.val();this.trigger("query",{term:b})}this._keyUpPrevented=!1},c.prototype.showSearch=function(a,b){return!0},c}),b.define("select2/dropdown/hidePlaceholder",[],function(){function a(a,b,c,d){this.placeholder=this.normalizePlaceholder(c.get("placeholder")),a.call(this,b,c,d)}return a.prototype.append=function(a,b){b.results=this.removePlaceholder(b.results),a.call(this,b)},a.prototype.normalizePlaceholder=function(a,b){return"string"==typeof b&&(b={id:"",text:b}),b},a.prototype.removePlaceholder=function(a,b){for(var c=b.slice(0),d=b.length-1;d>=0;d--){var e=b[d];this.placeholder.id===e.id&&c.splice(d,1)}return c},a}),b.define("select2/dropdown/infiniteScroll",["jquery"],function(a){function b(a,b,c,d){this.lastParams={},a.call(this,b,c,d),this.$loadingMore=this.createLoadingMore(),this.loading=!1}return b.prototype.append=function(a,b){this.$loadingMore.remove(),this.loading=!1,a.call(this,b),this.showLoadingMore(b)&&this.$results.append(this.$loadingMore)},b.prototype.bind=function(b,c,d){var e=this;b.call(this,c,d),c.on("query",function(a){e.lastParams=a,e.loading=!0}),c.on("query:append",function(a){e.lastParams=a,e.loading=!0}),this.$results.on("scroll",function(){var b=a.contains(document.documentElement,e.$loadingMore[0]);if(!e.loading&&b){var c=e.$results.offset().top+e.$results.outerHeight(!1),d=e.$loadingMore.offset().top+e.$loadingMore.outerHeight(!1);c+50>=d&&e.loadMore()}})},b.prototype.loadMore=function(){this.loading=!0;var b=a.extend({},{page:1},this.lastParams);b.page++,this.trigger("query:append",b)},b.prototype.showLoadingMore=function(a,b){return b.pagination&&b.pagination.more},b.prototype.createLoadingMore=function(){var b=a('<li class="select2-results__option select2-results__option--load-more"role="treeitem" aria-disabled="true"></li>'),c=this.options.get("translations").get("loadingMore");return b.html(c(this.lastParams)),b},b}),b.define("select2/dropdown/attachBody",["jquery","../utils"],function(a,b){function c(b,c,d){this.$dropdownParent=d.get("dropdownParent")||a(document.body),b.call(this,c,d)}return c.prototype.bind=function(a,b,c){var d=this,e=!1;a.call(this,b,c),b.on("open",function(){d._showDropdown(),d._attachPositioningHandler(b),e||(e=!0,b.on("results:all",function(){d._positionDropdown(),d._resizeDropdown()}),b.on("results:append",function(){d._positionDropdown(),d._resizeDropdown()}))}),b.on("close",function(){d._hideDropdown(),d._detachPositioningHandler(b)}),this.$dropdownContainer.on("mousedown",function(a){a.stopPropagation()})},c.prototype.destroy=function(a){a.call(this),this.$dropdownContainer.remove()},c.prototype.position=function(a,b,c){b.attr("class",c.attr("class")),b.removeClass("select2"),b.addClass("select2-container--open"),b.css({position:"absolute",top:-999999}),this.$container=c},c.prototype.render=function(b){var c=a("<span></span>"),d=b.call(this);return c.append(d),this.$dropdownContainer=c,c},c.prototype._hideDropdown=function(a){this.$dropdownContainer.detach()},c.prototype._attachPositioningHandler=function(c,d){var e=this,f="scroll.select2."+d.id,g="resize.select2."+d.id,h="orientationchange.select2."+d.id,i=this.$container.parents().filter(b.hasScroll);i.each(function(){a(this).data("select2-scroll-position",{x:a(this).scrollLeft(),y:a(this).scrollTop()})}),i.on(f,function(b){var c=a(this).data("select2-scroll-position");a(this).scrollTop(c.y)}),a(window).on(f+" "+g+" "+h,function(a){e._positionDropdown(),e._resizeDropdown()})},c.prototype._detachPositioningHandler=function(c,d){var e="scroll.select2."+d.id,f="resize.select2."+d.id,g="orientationchange.select2."+d.id,h=this.$container.parents().filter(b.hasScroll);h.off(e),a(window).off(e+" "+f+" "+g)},c.prototype._positionDropdown=function(){var b=a(window),c=this.$dropdown.hasClass("select2-dropdown--above"),d=this.$dropdown.hasClass("select2-dropdown--below"),e=null,f=this.$container.offset();f.bottom=f.top+this.$container.outerHeight(!1);var g={height:this.$container.outerHeight(!1)};g.top=f.top,g.bottom=f.top+g.height;var h={height:this.$dropdown.outerHeight(!1)},i={top:b.scrollTop(),bottom:b.scrollTop()+b.height()},j=i.top<f.top-h.height,k=i.bottom>f.bottom+h.height,l={left:f.left,top:g.bottom},m=this.$dropdownParent;"static"===m.css("position")&&(m=m.offsetParent());var n=m.offset();l.top-=n.top,l.left-=n.left,c||d||(e="below"),k||!j||c?!j&&k&&c&&(e="below"):e="above",("above"==e||c&&"below"!==e)&&(l.top=g.top-n.top-h.height),null!=e&&(this.$dropdown.removeClass("select2-dropdown--below select2-dropdown--above").addClass("select2-dropdown--"+e),this.$container.removeClass("select2-container--below select2-container--above").addClass("select2-container--"+e)),this.$dropdownContainer.css(l)},c.prototype._resizeDropdown=function(){var a={width:this.$container.outerWidth(!1)+"px"};this.options.get("dropdownAutoWidth")&&(a.minWidth=a.width,a.position="relative",a.width="auto"),this.$dropdown.css(a)},c.prototype._showDropdown=function(a){this.$dropdownContainer.appendTo(this.$dropdownParent),this._positionDropdown(),this._resizeDropdown()},c}),b.define("select2/dropdown/minimumResultsForSearch",[],function(){function a(b){for(var c=0,d=0;d<b.length;d++){var e=b[d];e.children?c+=a(e.children):c++}return c}function b(a,b,c,d){this.minimumResultsForSearch=c.get("minimumResultsForSearch"),this.minimumResultsForSearch<0&&(this.minimumResultsForSearch=1/0),a.call(this,b,c,d)}return b.prototype.showSearch=function(b,c){return a(c.data.results)<this.minimumResultsForSearch?!1:b.call(this,c)},b}),b.define("select2/dropdown/selectOnClose",[],function(){function a(){}return a.prototype.bind=function(a,b,c){var d=this;a.call(this,b,c),b.on("close",function(a){d._handleSelectOnClose(a)})},a.prototype._handleSelectOnClose=function(a,b){if(b&&null!=b.originalSelect2Event){var c=b.originalSelect2Event;if("select"===c._type||"unselect"===c._type)return}var d=this.getHighlightedResults();if(!(d.length<1)){var e=d.data("data");null!=e.element&&e.element.selected||null==e.element&&e.selected||this.trigger("select",{data:e})}},a}),b.define("select2/dropdown/closeOnSelect",[],function(){function a(){}return a.prototype.bind=function(a,b,c){var d=this;a.call(this,b,c),b.on("select",function(a){d._selectTriggered(a)}),b.on("unselect",function(a){d._selectTriggered(a)})},a.prototype._selectTriggered=function(a,b){var c=b.originalEvent;c&&c.ctrlKey||this.trigger("close",{originalEvent:c,originalSelect2Event:b})},a}),b.define("select2/i18n/en",[],function(){return{errorLoading:function(){return"The results could not be loaded."},inputTooLong:function(a){var b=a.input.length-a.maximum,c="Please delete "+b+" character";return 1!=b&&(c+="s"),c},inputTooShort:function(a){var b=a.minimum-a.input.length,c="Please enter "+b+" or more characters";return c},loadingMore:function(){return"Loading more results…"},maximumSelected:function(a){var b="You can only select "+a.maximum+" item";return 1!=a.maximum&&(b+="s"),b},noResults:function(){return"No results found"},searching:function(){return"Searching…"}}}),b.define("select2/defaults",["jquery","require","./results","./selection/single","./selection/multiple","./selection/placeholder","./selection/allowClear","./selection/search","./selection/eventRelay","./utils","./translation","./diacritics","./data/select","./data/array","./data/ajax","./data/tags","./data/tokenizer","./data/minimumInputLength","./data/maximumInputLength","./data/maximumSelectionLength","./dropdown","./dropdown/search","./dropdown/hidePlaceholder","./dropdown/infiniteScroll","./dropdown/attachBody","./dropdown/minimumResultsForSearch","./dropdown/selectOnClose","./dropdown/closeOnSelect","./i18n/en"],function(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,A,B,C){function D(){this.reset()}D.prototype.apply=function(l){if(l=a.extend(!0,{},this.defaults,l),null==l.dataAdapter){if(null!=l.ajax?l.dataAdapter=o:null!=l.data?l.dataAdapter=n:l.dataAdapter=m,l.minimumInputLength>0&&(l.dataAdapter=j.Decorate(l.dataAdapter,r)),l.maximumInputLength>0&&(l.dataAdapter=j.Decorate(l.dataAdapter,s)),l.maximumSelectionLength>0&&(l.dataAdapter=j.Decorate(l.dataAdapter,t)),l.tags&&(l.dataAdapter=j.Decorate(l.dataAdapter,p)),(null!=l.tokenSeparators||null!=l.tokenizer)&&(l.dataAdapter=j.Decorate(l.dataAdapter,q)),null!=l.query){var C=b(l.amdBase+"compat/query");l.dataAdapter=j.Decorate(l.dataAdapter,C)}if(null!=l.initSelection){var D=b(l.amdBase+"compat/initSelection");l.dataAdapter=j.Decorate(l.dataAdapter,D)}}if(null==l.resultsAdapter&&(l.resultsAdapter=c,null!=l.ajax&&(l.resultsAdapter=j.Decorate(l.resultsAdapter,x)),null!=l.placeholder&&(l.resultsAdapter=j.Decorate(l.resultsAdapter,w)),l.selectOnClose&&(l.resultsAdapter=j.Decorate(l.resultsAdapter,A))),null==l.dropdownAdapter){if(l.multiple)l.dropdownAdapter=u;else{var E=j.Decorate(u,v);l.dropdownAdapter=E}if(0!==l.minimumResultsForSearch&&(l.dropdownAdapter=j.Decorate(l.dropdownAdapter,z)),l.closeOnSelect&&(l.dropdownAdapter=j.Decorate(l.dropdownAdapter,B)),null!=l.dropdownCssClass||null!=l.dropdownCss||null!=l.adaptDropdownCssClass){var F=b(l.amdBase+"compat/dropdownCss");l.dropdownAdapter=j.Decorate(l.dropdownAdapter,F)}l.dropdownAdapter=j.Decorate(l.dropdownAdapter,y)}if(null==l.selectionAdapter){if(l.multiple?l.selectionAdapter=e:l.selectionAdapter=d,null!=l.placeholder&&(l.selectionAdapter=j.Decorate(l.selectionAdapter,f)),l.allowClear&&(l.selectionAdapter=j.Decorate(l.selectionAdapter,g)),l.multiple&&(l.selectionAdapter=j.Decorate(l.selectionAdapter,h)),null!=l.containerCssClass||null!=l.containerCss||null!=l.adaptContainerCssClass){var G=b(l.amdBase+"compat/containerCss");l.selectionAdapter=j.Decorate(l.selectionAdapter,G)}l.selectionAdapter=j.Decorate(l.selectionAdapter,i)}if("string"==typeof l.language)if(l.language.indexOf("-")>0){var H=l.language.split("-"),I=H[0];l.language=[l.language,I]}else l.language=[l.language];if(a.isArray(l.language)){var J=new k;l.language.push("en");for(var K=l.language,L=0;L<K.length;L++){var M=K[L],N={};try{N=k.loadPath(M)}catch(O){try{M=this.defaults.amdLanguageBase+M,N=k.loadPath(M)}catch(P){l.debug&&window.console&&console.warn&&console.warn('Select2: The language file for "'+M+'" could not be automatically loaded. A fallback will be used instead.');continue}}J.extend(N)}l.translations=J}else{var Q=k.loadPath(this.defaults.amdLanguageBase+"en"),R=new k(l.language);R.extend(Q),l.translations=R}return l},D.prototype.reset=function(){function b(a){function b(a){return l[a]||a}return a.replace(/[^\u0000-\u007E]/g,b)}function c(d,e){if(""===a.trim(d.term))return e;if(e.children&&e.children.length>0){for(var f=a.extend(!0,{},e),g=e.children.length-1;g>=0;g--){var h=e.children[g],i=c(d,h);null==i&&f.children.splice(g,1)}return f.children.length>0?f:c(d,f)}var j=b(e.text).toUpperCase(),k=b(d.term).toUpperCase();return j.indexOf(k)>-1?e:null}this.defaults={amdBase:"./",amdLanguageBase:"./i18n/",closeOnSelect:!0,debug:!1,dropdownAutoWidth:!1,escapeMarkup:j.escapeMarkup,language:C,matcher:c,minimumInputLength:0,maximumInputLength:0,maximumSelectionLength:0,minimumResultsForSearch:0,selectOnClose:!1,sorter:function(a){return a},templateResult:function(a){return a.text},templateSelection:function(a){return a.text},theme:"default",width:"resolve"}},D.prototype.set=function(b,c){var d=a.camelCase(b),e={};e[d]=c;var f=j._convertData(e);a.extend(this.defaults,f)};var E=new D;return E}),b.define("select2/options",["require","jquery","./defaults","./utils"],function(a,b,c,d){function e(b,e){if(this.options=b,null!=e&&this.fromElement(e),this.options=c.apply(this.options),e&&e.is("input")){var f=a(this.get("amdBase")+"compat/inputData");this.options.dataAdapter=d.Decorate(this.options.dataAdapter,f)}}return e.prototype.fromElement=function(a){var c=["select2"];null==this.options.multiple&&(this.options.multiple=a.prop("multiple")),null==this.options.disabled&&(this.options.disabled=a.prop("disabled")),null==this.options.language&&(a.prop("lang")?this.options.language=a.prop("lang").toLowerCase():a.closest("[lang]").prop("lang")&&(this.options.language=a.closest("[lang]").prop("lang"))),null==this.options.dir&&(a.prop("dir")?this.options.dir=a.prop("dir"):a.closest("[dir]").prop("dir")?this.options.dir=a.closest("[dir]").prop("dir"):this.options.dir="ltr"),a.prop("disabled",this.options.disabled),a.prop("multiple",this.options.multiple),a.data("select2Tags")&&(this.options.debug&&window.console&&console.warn&&console.warn('Select2: The `data-select2-tags` attribute has been changed to use the `data-data` and `data-tags="true"` attributes and will be removed in future versions of Select2.'),a.data("data",a.data("select2Tags")),a.data("tags",!0)),a.data("ajaxUrl")&&(this.options.debug&&window.console&&console.warn&&console.warn("Select2: The `data-ajax-url` attribute has been changed to `data-ajax--url` and support for the old attribute will be removed in future versions of Select2."),a.attr("ajax--url",a.data("ajaxUrl")),a.data("ajax--url",a.data("ajaxUrl")));var e={};e=b.fn.jquery&&"1."==b.fn.jquery.substr(0,2)&&a[0].dataset?b.extend(!0,{},a[0].dataset,a.data()):a.data();var f=b.extend(!0,{},e);f=d._convertData(f);for(var g in f)b.inArray(g,c)>-1||(b.isPlainObject(this.options[g])?b.extend(this.options[g],f[g]):this.options[g]=f[g]);return this},e.prototype.get=function(a){return this.options[a]},e.prototype.set=function(a,b){this.options[a]=b},e}),b.define("select2/core",["jquery","./options","./utils","./keys"],function(a,b,c,d){var e=function(a,c){null!=a.data("select2")&&a.data("select2").destroy(),this.$element=a,this.id=this._generateId(a),c=c||{},this.options=new b(c,a),e.__super__.constructor.call(this);var d=a.attr("tabindex")||0;a.data("old-tabindex",d),a.attr("tabindex","-1");var f=this.options.get("dataAdapter");this.dataAdapter=new f(a,this.options);var g=this.render();this._placeContainer(g);var h=this.options.get("selectionAdapter");this.selection=new h(a,this.options),this.$selection=this.selection.render(),this.selection.position(this.$selection,g);var i=this.options.get("dropdownAdapter");this.dropdown=new i(a,this.options),this.$dropdown=this.dropdown.render(),this.dropdown.position(this.$dropdown,g);var j=this.options.get("resultsAdapter");this.results=new j(a,this.options,this.dataAdapter),this.$results=this.results.render(),this.results.position(this.$results,this.$dropdown);var k=this;this._bindAdapters(),this._registerDomEvents(),this._registerDataEvents(),this._registerSelectionEvents(),this._registerDropdownEvents(),this._registerResultsEvents(),this._registerEvents(),this.dataAdapter.current(function(a){k.trigger("selection:update",{data:a})}),a.addClass("select2-hidden-accessible"),a.attr("aria-hidden","true"),this._syncAttributes(),a.data("select2",this)};return c.Extend(e,c.Observable),e.prototype._generateId=function(a){var b="";return b=null!=a.attr("id")?a.attr("id"):null!=a.attr("name")?a.attr("name")+"-"+c.generateChars(2):c.generateChars(4),b=b.replace(/(:|\.|\[|\]|,)/g,""),b="select2-"+b},e.prototype._placeContainer=function(a){a.insertAfter(this.$element);var b=this._resolveWidth(this.$element,this.options.get("width"));null!=b&&a.css("width",b)},e.prototype._resolveWidth=function(a,b){var c=/^width:(([-+]?([0-9]*\.)?[0-9]+)(px|em|ex|%|in|cm|mm|pt|pc))/i;if("resolve"==b){var d=this._resolveWidth(a,"style");return null!=d?d:this._resolveWidth(a,"element")}if("element"==b){var e=a.outerWidth(!1);return 0>=e?"auto":e+"px"}if("style"==b){var f=a.attr("style");if("string"!=typeof f)return null;for(var g=f.split(";"),h=0,i=g.length;i>h;h+=1){var j=g[h].replace(/\s/g,""),k=j.match(c);if(null!==k&&k.length>=1)return k[1]}return null}return b},e.prototype._bindAdapters=function(){this.dataAdapter.bind(this,this.$container),this.selection.bind(this,this.$container),this.dropdown.bind(this,this.$container),this.results.bind(this,this.$container)},e.prototype._registerDomEvents=function(){var b=this;this.$element.on("change.select2",function(){b.dataAdapter.current(function(a){b.trigger("selection:update",{data:a})})}),this.$element.on("focus.select2",function(a){b.trigger("focus",a)}),this._syncA=c.bind(this._syncAttributes,this),this._syncS=c.bind(this._syncSubtree,this),this.$element[0].attachEvent&&this.$element[0].attachEvent("onpropertychange",this._syncA);var d=window.MutationObserver||window.WebKitMutationObserver||window.MozMutationObserver;null!=d?(this._observer=new d(function(c){a.each(c,b._syncA),a.each(c,b._syncS)}),this._observer.observe(this.$element[0],{attributes:!0,childList:!0,subtree:!1})):this.$element[0].addEventListener&&(this.$element[0].addEventListener("DOMAttrModified",b._syncA,!1),this.$element[0].addEventListener("DOMNodeInserted",b._syncS,!1),this.$element[0].addEventListener("DOMNodeRemoved",b._syncS,!1))},e.prototype._registerDataEvents=function(){var a=this;this.dataAdapter.on("*",function(b,c){a.trigger(b,c)})},e.prototype._registerSelectionEvents=function(){var b=this,c=["toggle","focus"];this.selection.on("toggle",function(){b.toggleDropdown()}),this.selection.on("focus",function(a){b.focus(a)}),this.selection.on("*",function(d,e){-1===a.inArray(d,c)&&b.trigger(d,e)})},e.prototype._registerDropdownEvents=function(){var a=this;this.dropdown.on("*",function(b,c){a.trigger(b,c)})},e.prototype._registerResultsEvents=function(){var a=this;this.results.on("*",function(b,c){a.trigger(b,c)})},e.prototype._registerEvents=function(){var a=this;this.on("open",function(){a.$container.addClass("select2-container--open")}),this.on("close",function(){a.$container.removeClass("select2-container--open")}),this.on("enable",function(){a.$container.removeClass("select2-container--disabled")}),this.on("disable",function(){a.$container.addClass("select2-container--disabled")}),this.on("blur",function(){a.$container.removeClass("select2-container--focus")}),this.on("query",function(b){a.isOpen()||a.trigger("open",{}),this.dataAdapter.query(b,function(c){a.trigger("results:all",{data:c,query:b})})}),this.on("query:append",function(b){this.dataAdapter.query(b,function(c){a.trigger("results:append",{data:c,query:b})})}),this.on("keypress",function(b){var c=b.which;a.isOpen()?c===d.ESC||c===d.TAB||c===d.UP&&b.altKey?(a.close(),b.preventDefault()):c===d.ENTER?(a.trigger("results:select",{}),b.preventDefault()):c===d.SPACE&&b.ctrlKey?(a.trigger("results:toggle",{}),b.preventDefault()):c===d.UP?(a.trigger("results:previous",{}),b.preventDefault()):c===d.DOWN&&(a.trigger("results:next",{}),b.preventDefault()):(c===d.ENTER||c===d.SPACE||c===d.DOWN&&b.altKey)&&(a.open(),b.preventDefault())})},e.prototype._syncAttributes=function(){this.options.set("disabled",this.$element.prop("disabled")),this.options.get("disabled")?(this.isOpen()&&this.close(),this.trigger("disable",{})):this.trigger("enable",{})},e.prototype._syncSubtree=function(a,b){var c=!1,d=this;if(!a||!a.target||"OPTION"===a.target.nodeName||"OPTGROUP"===a.target.nodeName){if(b)if(b.addedNodes&&b.addedNodes.length>0)for(var e=0;e<b.addedNodes.length;e++){var f=b.addedNodes[e];f.selected&&(c=!0)}else b.removedNodes&&b.removedNodes.length>0&&(c=!0);else c=!0;c&&this.dataAdapter.current(function(a){d.trigger("selection:update",{data:a})})}},e.prototype.trigger=function(a,b){var c=e.__super__.trigger,d={open:"opening",close:"closing",select:"selecting",unselect:"unselecting"};if(void 0===b&&(b={}),a in d){var f=d[a],g={prevented:!1,name:a,args:b};if(c.call(this,f,g),g.prevented)return void(b.prevented=!0)}c.call(this,a,b)},e.prototype.toggleDropdown=function(){this.options.get("disabled")||(this.isOpen()?this.close():this.open())},e.prototype.open=function(){this.isOpen()||this.trigger("query",{})},e.prototype.close=function(){this.isOpen()&&this.trigger("close",{})},e.prototype.isOpen=function(){return this.$container.hasClass("select2-container--open")},e.prototype.hasFocus=function(){return this.$container.hasClass("select2-container--focus")},e.prototype.focus=function(a){this.hasFocus()||(this.$container.addClass("select2-container--focus"),this.trigger("focus",{}))},e.prototype.enable=function(a){this.options.get("debug")&&window.console&&console.warn&&console.warn('Select2: The `select2("enable")` method has been deprecated and will be removed in later Select2 versions. Use $element.prop("disabled") instead.'),(null==a||0===a.length)&&(a=[!0]);var b=!a[0];this.$element.prop("disabled",b)},e.prototype.data=function(){this.options.get("debug")&&arguments.length>0&&window.console&&console.warn&&console.warn('Select2: Data can no longer be set using `select2("data")`. You should consider setting the value instead using `$element.val()`.');var a=[];return this.dataAdapter.current(function(b){a=b}),a},e.prototype.val=function(b){if(this.options.get("debug")&&window.console&&console.warn&&console.warn('Select2: The `select2("val")` method has been deprecated and will be removed in later Select2 versions. Use $element.val() instead.'),null==b||0===b.length)return this.$element.val();var c=b[0];a.isArray(c)&&(c=a.map(c,function(a){return a.toString()})),this.$element.val(c).trigger("change")},e.prototype.destroy=function(){this.$container.remove(),this.$element[0].detachEvent&&this.$element[0].detachEvent("onpropertychange",this._syncA),null!=this._observer?(this._observer.disconnect(),this._observer=null):this.$element[0].removeEventListener&&(this.$element[0].removeEventListener("DOMAttrModified",this._syncA,!1),this.$element[0].removeEventListener("DOMNodeInserted",this._syncS,!1),this.$element[0].removeEventListener("DOMNodeRemoved",this._syncS,!1)),this._syncA=null,this._syncS=null,this.$element.off(".select2"),this.$element.attr("tabindex",this.$element.data("old-tabindex")),this.$element.removeClass("select2-hidden-accessible"),this.$element.attr("aria-hidden","false"),this.$element.removeData("select2"),this.dataAdapter.destroy(),this.selection.destroy(),this.dropdown.destroy(),this.results.destroy(),this.dataAdapter=null,this.selection=null,this.dropdown=null,this.results=null;
},e.prototype.render=function(){var b=a('<span class="select2 select2-container"><span class="selection"></span><span class="dropdown-wrapper" aria-hidden="true"></span></span>');return b.attr("dir",this.options.get("dir")),this.$container=b,this.$container.addClass("select2-container--"+this.options.get("theme")),b.data("element",this.$element),b},e}),b.define("select2/compat/utils",["jquery"],function(a){function b(b,c,d){var e,f,g=[];e=a.trim(b.attr("class")),e&&(e=""+e,a(e.split(/\s+/)).each(function(){0===this.indexOf("select2-")&&g.push(this)})),e=a.trim(c.attr("class")),e&&(e=""+e,a(e.split(/\s+/)).each(function(){0!==this.indexOf("select2-")&&(f=d(this),null!=f&&g.push(f))})),b.attr("class",g.join(" "))}return{syncCssClasses:b}}),b.define("select2/compat/containerCss",["jquery","./utils"],function(a,b){function c(a){return null}function d(){}return d.prototype.render=function(d){var e=d.call(this),f=this.options.get("containerCssClass")||"";a.isFunction(f)&&(f=f(this.$element));var g=this.options.get("adaptContainerCssClass");if(g=g||c,-1!==f.indexOf(":all:")){f=f.replace(":all:","");var h=g;g=function(a){var b=h(a);return null!=b?b+" "+a:a}}var i=this.options.get("containerCss")||{};return a.isFunction(i)&&(i=i(this.$element)),b.syncCssClasses(e,this.$element,g),e.css(i),e.addClass(f),e},d}),b.define("select2/compat/dropdownCss",["jquery","./utils"],function(a,b){function c(a){return null}function d(){}return d.prototype.render=function(d){var e=d.call(this),f=this.options.get("dropdownCssClass")||"";a.isFunction(f)&&(f=f(this.$element));var g=this.options.get("adaptDropdownCssClass");if(g=g||c,-1!==f.indexOf(":all:")){f=f.replace(":all:","");var h=g;g=function(a){var b=h(a);return null!=b?b+" "+a:a}}var i=this.options.get("dropdownCss")||{};return a.isFunction(i)&&(i=i(this.$element)),b.syncCssClasses(e,this.$element,g),e.css(i),e.addClass(f),e},d}),b.define("select2/compat/initSelection",["jquery"],function(a){function b(a,b,c){c.get("debug")&&window.console&&console.warn&&console.warn("Select2: The `initSelection` option has been deprecated in favor of a custom data adapter that overrides the `current` method. This method is now called multiple times instead of a single time when the instance is initialized. Support will be removed for the `initSelection` option in future versions of Select2"),this.initSelection=c.get("initSelection"),this._isInitialized=!1,a.call(this,b,c)}return b.prototype.current=function(b,c){var d=this;return this._isInitialized?void b.call(this,c):void this.initSelection.call(null,this.$element,function(b){d._isInitialized=!0,a.isArray(b)||(b=[b]),c(b)})},b}),b.define("select2/compat/inputData",["jquery"],function(a){function b(a,b,c){this._currentData=[],this._valueSeparator=c.get("valueSeparator")||",","hidden"===b.prop("type")&&c.get("debug")&&console&&console.warn&&console.warn("Select2: Using a hidden input with Select2 is no longer supported and may stop working in the future. It is recommended to use a `<select>` element instead."),a.call(this,b,c)}return b.prototype.current=function(b,c){function d(b,c){var e=[];return b.selected||-1!==a.inArray(b.id,c)?(b.selected=!0,e.push(b)):b.selected=!1,b.children&&e.push.apply(e,d(b.children,c)),e}for(var e=[],f=0;f<this._currentData.length;f++){var g=this._currentData[f];e.push.apply(e,d(g,this.$element.val().split(this._valueSeparator)))}c(e)},b.prototype.select=function(b,c){if(this.options.get("multiple")){var d=this.$element.val();d+=this._valueSeparator+c.id,this.$element.val(d),this.$element.trigger("change")}else this.current(function(b){a.map(b,function(a){a.selected=!1})}),this.$element.val(c.id),this.$element.trigger("change")},b.prototype.unselect=function(a,b){var c=this;b.selected=!1,this.current(function(a){for(var d=[],e=0;e<a.length;e++){var f=a[e];b.id!=f.id&&d.push(f.id)}c.$element.val(d.join(c._valueSeparator)),c.$element.trigger("change")})},b.prototype.query=function(a,b,c){for(var d=[],e=0;e<this._currentData.length;e++){var f=this._currentData[e],g=this.matches(b,f);null!==g&&d.push(g)}c({results:d})},b.prototype.addOptions=function(b,c){var d=a.map(c,function(b){return a.data(b[0],"data")});this._currentData.push.apply(this._currentData,d)},b}),b.define("select2/compat/matcher",["jquery"],function(a){function b(b){function c(c,d){var e=a.extend(!0,{},d);if(null==c.term||""===a.trim(c.term))return e;if(d.children){for(var f=d.children.length-1;f>=0;f--){var g=d.children[f],h=b(c.term,g.text,g);h||e.children.splice(f,1)}if(e.children.length>0)return e}return b(c.term,d.text,d)?e:null}return c}return b}),b.define("select2/compat/query",[],function(){function a(a,b,c){c.get("debug")&&window.console&&console.warn&&console.warn("Select2: The `query` option has been deprecated in favor of a custom data adapter that overrides the `query` method. Support will be removed for the `query` option in future versions of Select2."),a.call(this,b,c)}return a.prototype.query=function(a,b,c){b.callback=c;var d=this.options.get("query");d.call(null,b)},a}),b.define("select2/dropdown/attachContainer",[],function(){function a(a,b,c){a.call(this,b,c)}return a.prototype.position=function(a,b,c){var d=c.find(".dropdown-wrapper");d.append(b),b.addClass("select2-dropdown--below"),c.addClass("select2-container--below")},a}),b.define("select2/dropdown/stopPropagation",[],function(){function a(){}return a.prototype.bind=function(a,b,c){a.call(this,b,c);var d=["blur","change","click","dblclick","focus","focusin","focusout","input","keydown","keyup","keypress","mousedown","mouseenter","mouseleave","mousemove","mouseover","mouseup","search","touchend","touchstart"];this.$dropdown.on(d.join(" "),function(a){a.stopPropagation()})},a}),b.define("select2/selection/stopPropagation",[],function(){function a(){}return a.prototype.bind=function(a,b,c){a.call(this,b,c);var d=["blur","change","click","dblclick","focus","focusin","focusout","input","keydown","keyup","keypress","mousedown","mouseenter","mouseleave","mousemove","mouseover","mouseup","search","touchend","touchstart"];this.$selection.on(d.join(" "),function(a){a.stopPropagation()})},a}),function(c){"function"==typeof b.define&&b.define.amd?b.define("jquery-mousewheel",["jquery"],c):"object"==typeof exports?module.exports=c:c(a)}(function(a){function b(b){var g=b||window.event,h=i.call(arguments,1),j=0,l=0,m=0,n=0,o=0,p=0;if(b=a.event.fix(g),b.type="mousewheel","detail"in g&&(m=-1*g.detail),"wheelDelta"in g&&(m=g.wheelDelta),"wheelDeltaY"in g&&(m=g.wheelDeltaY),"wheelDeltaX"in g&&(l=-1*g.wheelDeltaX),"axis"in g&&g.axis===g.HORIZONTAL_AXIS&&(l=-1*m,m=0),j=0===m?l:m,"deltaY"in g&&(m=-1*g.deltaY,j=m),"deltaX"in g&&(l=g.deltaX,0===m&&(j=-1*l)),0!==m||0!==l){if(1===g.deltaMode){var q=a.data(this,"mousewheel-line-height");j*=q,m*=q,l*=q}else if(2===g.deltaMode){var r=a.data(this,"mousewheel-page-height");j*=r,m*=r,l*=r}if(n=Math.max(Math.abs(m),Math.abs(l)),(!f||f>n)&&(f=n,d(g,n)&&(f/=40)),d(g,n)&&(j/=40,l/=40,m/=40),j=Math[j>=1?"floor":"ceil"](j/f),l=Math[l>=1?"floor":"ceil"](l/f),m=Math[m>=1?"floor":"ceil"](m/f),k.settings.normalizeOffset&&this.getBoundingClientRect){var s=this.getBoundingClientRect();o=b.clientX-s.left,p=b.clientY-s.top}return b.deltaX=l,b.deltaY=m,b.deltaFactor=f,b.offsetX=o,b.offsetY=p,b.deltaMode=0,h.unshift(b,j,l,m),e&&clearTimeout(e),e=setTimeout(c,200),(a.event.dispatch||a.event.handle).apply(this,h)}}function c(){f=null}function d(a,b){return k.settings.adjustOldDeltas&&"mousewheel"===a.type&&b%120===0}var e,f,g=["wheel","mousewheel","DOMMouseScroll","MozMousePixelScroll"],h="onwheel"in document||document.documentMode>=9?["wheel"]:["mousewheel","DomMouseScroll","MozMousePixelScroll"],i=Array.prototype.slice;if(a.event.fixHooks)for(var j=g.length;j;)a.event.fixHooks[g[--j]]=a.event.mouseHooks;var k=a.event.special.mousewheel={version:"3.1.12",setup:function(){if(this.addEventListener)for(var c=h.length;c;)this.addEventListener(h[--c],b,!1);else this.onmousewheel=b;a.data(this,"mousewheel-line-height",k.getLineHeight(this)),a.data(this,"mousewheel-page-height",k.getPageHeight(this))},teardown:function(){if(this.removeEventListener)for(var c=h.length;c;)this.removeEventListener(h[--c],b,!1);else this.onmousewheel=null;a.removeData(this,"mousewheel-line-height"),a.removeData(this,"mousewheel-page-height")},getLineHeight:function(b){var c=a(b),d=c["offsetParent"in a.fn?"offsetParent":"parent"]();return d.length||(d=a("body")),parseInt(d.css("fontSize"),10)||parseInt(c.css("fontSize"),10)||16},getPageHeight:function(b){return a(b).height()},settings:{adjustOldDeltas:!0,normalizeOffset:!0}};a.fn.extend({mousewheel:function(a){return a?this.bind("mousewheel",a):this.trigger("mousewheel")},unmousewheel:function(a){return this.unbind("mousewheel",a)}})}),b.define("jquery.select2",["jquery","jquery-mousewheel","./select2/core","./select2/defaults"],function(a,b,c,d){if(null==a.fn.select2){var e=["open","close","destroy"];a.fn.select2=function(b){if(b=b||{},"object"==typeof b)return this.each(function(){var d=a.extend(!0,{},b);new c(a(this),d)}),this;if("string"==typeof b){var d,f=Array.prototype.slice.call(arguments,1);return this.each(function(){var c=a(this).data("select2");null==c&&window.console&&console.error&&console.error("The select2('"+b+"') method was called on an element that is not using Select2."),d=c[b].apply(c,f)}),a.inArray(b,e)>-1?this:d}throw new Error("Invalid arguments for Select2: "+b)}}return null==a.fn.select2.defaults&&(a.fn.select2.defaults=d),c}),{define:b.define,require:b.require}}(),c=b.require("jquery.select2");return a.fn.select2.amd=b,c});
/** @license React v16.2.0
 * react.production.min.js
 *
 * Copyright (c) 2013-present, Facebook, Inc.
 *
 * This source code is licensed under the MIT license found in the
 * LICENSE file in the root directory of this source tree.
 */
            ;(function(q,k){"object"===typeof exports&&"undefined"!==typeof module?module.exports=k():"function"===typeof define&&define.amd?define(k):q.React=k()})(this,function(){function q(a){for(var b=arguments.length-1,c="Minified React error #"+a+"; visit http://facebook.github.io/react/docs/error-decoder.html?invariant\x3d"+a,d=0;d<b;d++)c+="\x26args[]\x3d"+encodeURIComponent(arguments[d+1]);b=Error(c+" for the full message or use the non-minified dev environment for full errors and additional helpful warnings.");
b.name="Invariant Violation";b.framesToPop=1;throw b;}function k(a){return function(){return a}}function p(a,b,c){this.props=a;this.context=b;this.refs=w;this.updater=c||x}function y(a,b,c){this.props=a;this.context=b;this.refs=w;this.updater=c||x}function z(){}function A(a,b,c){this.props=a;this.context=b;this.refs=w;this.updater=c||x}function G(a,b,c){var d,f={},l=null,e=null;if(null!=b)for(d in void 0!==b.ref&&(e=b.ref),void 0!==b.key&&(l=""+b.key),b)H.call(b,d)&&!I.hasOwnProperty(d)&&(f[d]=b[d]);
var g=arguments.length-2;if(1===g)f.children=c;else if(1<g){for(var h=Array(g),n=0;n<g;n++)h[n]=arguments[n+2];f.children=h}if(a&&a.defaultProps)for(d in g=a.defaultProps,g)void 0===f[d]&&(f[d]=g[d]);return{$$typeof:r,type:a,key:l,ref:e,props:f,_owner:B.current}}function C(a){return"object"===typeof a&&null!==a&&a.$$typeof===r}function O(a){var b={"\x3d":"\x3d0",":":"\x3d2"};return"$"+(""+a).replace(/[=:]/g,function(a){return b[a]})}function J(a,b,c,d){if(u.length){var f=u.pop();f.result=a;f.keyPrefix=
b;f.func=c;f.context=d;f.count=0;return f}return{result:a,keyPrefix:b,func:c,context:d,count:0}}function K(a){a.result=null;a.keyPrefix=null;a.func=null;a.context=null;a.count=0;10>u.length&&u.push(a)}function t(a,b,c,d){var f=typeof a;if("undefined"===f||"boolean"===f)a=null;var l=!1;if(null===a)l=!0;else switch(f){case "string":case "number":l=!0;break;case "object":switch(a.$$typeof){case r:case P:case Q:case R:l=!0}}if(l)return c(d,a,""===b?"."+D(a,0):b),1;l=0;b=""===b?".":b+":";if(Array.isArray(a))for(var e=
0;e<a.length;e++){f=a[e];var g=b+D(f,e);l+=t(f,g,c,d)}else if(null===a||"undefined"===typeof a?g=null:(g=L&&a[L]||a["@@iterator"],g="function"===typeof g?g:null),"function"===typeof g)for(a=g.call(a),e=0;!(f=a.next()).done;)f=f.value,g=b+D(f,e++),l+=t(f,g,c,d);else"object"===f&&(c=""+a,q("31","[object Object]"===c?"object with keys {"+Object.keys(a).join(", ")+"}":c,""));return l}function D(a,b){return"object"===typeof a&&null!==a&&null!=a.key?O(a.key):b.toString(36)}function S(a,b,c){a.func.call(a.context,
b,a.count++)}function T(a,b,c){var d=a.result,f=a.keyPrefix;a=a.func.call(a.context,b,a.count++);Array.isArray(a)?E(a,d,c,F.thatReturnsArgument):null!=a&&(C(a)&&(b=f+(!a.key||b&&b.key===a.key?"":(""+a.key).replace(M,"$\x26/")+"/")+c,a={$$typeof:r,type:a.type,key:b,ref:a.ref,props:a.props,_owner:a._owner}),d.push(a))}function E(a,b,c,d,f){var e="";null!=c&&(e=(""+c).replace(M,"$\x26/")+"/");b=J(b,e,d,f);null==a||t(a,"",T,b);K(b)}var N=Object.getOwnPropertySymbols,U=Object.prototype.hasOwnProperty,
V=Object.prototype.propertyIsEnumerable,v=function(){try{if(!Object.assign)return!1;var a=new String("abc");a[5]="de";if("5"===Object.getOwnPropertyNames(a)[0])return!1;var b={};for(a=0;10>a;a++)b["_"+String.fromCharCode(a)]=a;if("0123456789"!==Object.getOwnPropertyNames(b).map(function(a){return b[a]}).join(""))return!1;var c={};"abcdefghijklmnopqrst".split("").forEach(function(a){c[a]=a});return"abcdefghijklmnopqrst"!==Object.keys(Object.assign({},c)).join("")?!1:!0}catch(d){return!1}}()?Object.assign:
function(a,b){if(null===a||void 0===a)throw new TypeError("Object.assign cannot be called with null or undefined");var c=Object(a);for(var d,f=1;f<arguments.length;f++){var e=Object(arguments[f]);for(var h in e)U.call(e,h)&&(c[h]=e[h]);if(N){d=N(e);for(var g=0;g<d.length;g++)V.call(e,d[g])&&(c[d[g]]=e[d[g]])}}return c},h="function"===typeof Symbol&&Symbol["for"],r=h?Symbol["for"]("react.element"):60103,P=h?Symbol["for"]("react.call"):60104,Q=h?Symbol["for"]("react.return"):60105,R=h?Symbol["for"]("react.portal"):
60106;h=h?Symbol["for"]("react.fragment"):60107;var L="function"===typeof Symbol&&Symbol.iterator,w={},e=function(){};e.thatReturns=k;e.thatReturnsFalse=k(!1);e.thatReturnsTrue=k(!0);e.thatReturnsNull=k(null);e.thatReturnsThis=function(){return this};e.thatReturnsArgument=function(a){return a};var F=e,x={isMounted:function(a){return!1},enqueueForceUpdate:function(a,b,c){},enqueueReplaceState:function(a,b,c,d){},enqueueSetState:function(a,b,c,d){}};p.prototype.isReactComponent={};p.prototype.setState=
function(a,b){"object"!==typeof a&&"function"!==typeof a&&null!=a?q("85"):void 0;this.updater.enqueueSetState(this,a,b,"setState")};p.prototype.forceUpdate=function(a){this.updater.enqueueForceUpdate(this,a,"forceUpdate")};z.prototype=p.prototype;e=y.prototype=new z;e.constructor=y;v(e,p.prototype);e.isPureReactComponent=!0;e=A.prototype=new z;e.constructor=A;v(e,p.prototype);e.unstable_isAsyncReactComponent=!0;e.render=function(){return this.props.children};var B={current:null},H=Object.prototype.hasOwnProperty,
I={key:!0,ref:!0,__self:!0,__source:!0},M=/\/+/g,u=[];h={Children:{map:function(a,b,c){if(null==a)return a;var d=[];E(a,d,null,b,c);return d},forEach:function(a,b,c){if(null==a)return a;b=J(null,null,b,c);null==a||t(a,"",S,b);K(b)},count:function(a,b){return null==a?0:t(a,"",F.thatReturnsNull,null)},toArray:function(a){var b=[];E(a,b,null,F.thatReturnsArgument);return b},only:function(a){C(a)?void 0:q("143");return a}},Component:p,PureComponent:y,unstable_AsyncComponent:A,Fragment:h,createElement:G,
cloneElement:function(a,b,c){var d=v({},a.props),e=a.key,h=a.ref,k=a._owner;if(null!=b){void 0!==b.ref&&(h=b.ref,k=B.current);void 0!==b.key&&(e=""+b.key);if(a.type&&a.type.defaultProps)var g=a.type.defaultProps;for(m in b)H.call(b,m)&&!I.hasOwnProperty(m)&&(d[m]=void 0===b[m]&&void 0!==g?g[m]:b[m])}var m=arguments.length-2;if(1===m)d.children=c;else if(1<m){g=Array(m);for(var n=0;n<m;n++)g[n]=arguments[n+2];d.children=g}return{$$typeof:r,type:a.type,key:e,ref:h,props:d,_owner:k}},createFactory:function(a){var b=
G.bind(null,a);b.type=a;return b},isValidElement:C,version:"16.2.0",__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED:{ReactCurrentOwner:B,assign:v}};h=(e=Object.freeze({default:h}))&&h||e;return h["default"]?h["default"]:h});

/** @license React v16.2.0
 * react-dom.production.min.js
 *
 * Copyright (c) 2013-present, Facebook, Inc.
 *
 * This source code is licensed under the MIT license found in the
 * LICENSE file in the root directory of this source tree.
 */
/*
 Modernizr 3.0.0pre (Custom Build) | MIT
*/
            ;(function(na,l){"object"===typeof exports&&"undefined"!==typeof module?module.exports=l(require("react")):"function"===typeof define&&define.amd?define(["react"],l):na.ReactDOM=l(na.React)})(this,function(na){function l(a){for(var b=arguments.length-1,c="Minified React error #"+a+"; visit http://facebook.github.io/react/docs/error-decoder.html?invariant\x3d"+a,d=0;d<b;d++)c+="\x26args[]\x3d"+encodeURIComponent(arguments[d+1]);b=Error(c+" for the full message or use the non-minified dev environment for full errors and additional helpful warnings.");
b.name="Invariant Violation";b.framesToPop=1;throw b;}function va(a,b){return(a&b)===b}function Xc(a,b){if(Yc.hasOwnProperty(a)||2<a.length&&("o"===a[0]||"O"===a[0])&&("n"===a[1]||"N"===a[1]))return!1;if(null===b)return!0;switch(typeof b){case "boolean":return Yc.hasOwnProperty(a)?a=!0:(b=Ub(a))?a=b.hasBooleanValue||b.hasStringBooleanValue||b.hasOverloadedBooleanValue:(a=a.toLowerCase().slice(0,5),a="data-"===a||"aria-"===a),a;case "undefined":case "number":case "string":case "object":return!0;default:return!1}}
function Ub(a){return ib.hasOwnProperty(a)?ib[a]:null}function Zc(){if(jb)for(var a in ba){var b=ba[a],c=jb.indexOf(a);-1<c?void 0:l("96",a);if(!oa[c]){b.extractEvents?void 0:l("97",a);oa[c]=b;c=b.eventTypes;for(var d in c){var e=void 0;var f=c[d],g=b,h=d;Vb.hasOwnProperty(h)?l("99",h):void 0;Vb[h]=f;var k=f.phasedRegistrationNames;if(k){for(e in k)k.hasOwnProperty(e)&&$c(k[e],g,h);e=!0}else f.registrationName?($c(f.registrationName,g,h),e=!0):e=!1;e?void 0:l("98",d,a)}}}}function $c(a,b,c){ca[a]?
l("100",a):void 0;ca[a]=b;kb[a]=b.eventTypes[c].dependencies}function ad(a){jb?l("101"):void 0;jb=Array.prototype.slice.call(a);Zc()}function bd(a){var b=!1,c;for(c in a)if(a.hasOwnProperty(c)){var d=a[c];ba.hasOwnProperty(c)&&ba[c]===d||(ba[c]?l("102",c):void 0,ba[c]=d,b=!0)}b&&Zc()}function lb(a){return function(){return a}}function cd(a,b,c,d){b=a.type||"unknown-event";a.currentTarget=dd(d);y.invokeGuardedCallbackAndCatchFirstError(b,c,void 0,a);a.currentTarget=null}function wa(a,b){null==b?l("30"):
void 0;if(null==a)return b;if(Array.isArray(a)){if(Array.isArray(b))return a.push.apply(a,b),a;a.push(b);return a}return Array.isArray(b)?[a].concat(b):[a,b]}function da(a,b,c){Array.isArray(a)?a.forEach(b,c):a&&b.call(c,a)}function Wb(a,b){var c=a.stateNode;if(!c)return null;var d=Xb(c);if(!d)return null;c=d[b];a:switch(b){case "onClick":case "onClickCapture":case "onDoubleClick":case "onDoubleClickCapture":case "onMouseDown":case "onMouseDownCapture":case "onMouseMove":case "onMouseMoveCapture":case "onMouseUp":case "onMouseUpCapture":(d=
!d.disabled)||(a=a.type,d=!("button"===a||"input"===a||"select"===a||"textarea"===a));a=!d;break a;default:a=!1}if(a)return null;c&&"function"!==typeof c?l("231",b,typeof c):void 0;return c}function ed(a,b,c,d){for(var e,f=0;f<oa.length;f++){var g=oa[f];g&&(g=g.extractEvents(a,b,c,d))&&(e=wa(e,g))}return e}function Yb(a){a&&(pa=wa(pa,a))}function Zb(a){var b=pa;pa=null;b&&(a?da(b,$e):da(b,af),pa?l("95"):void 0,y.rethrowCaughtError())}function W(a){if(a[O])return a[O];for(var b=[];!a[O];)if(b.push(a),
a.parentNode)a=a.parentNode;else return null;var c=void 0,d=a[O];if(5===d.tag||6===d.tag)return d;for(;a&&(d=a[O]);a=b.pop())c=d;return c}function xa(a){if(5===a.tag||6===a.tag)return a.stateNode;l("33")}function fd(a){return a[ea]||null}function T(a){do a=a["return"];while(a&&5!==a.tag);return a?a:null}function gd(a,b,c){for(var d=[];a;)d.push(a),a=T(a);for(a=d.length;0<a--;)b(d[a],"captured",c);for(a=0;a<d.length;a++)b(d[a],"bubbled",c)}function hd(a,b,c){if(b=Wb(a,c.dispatchConfig.phasedRegistrationNames[b]))c._dispatchListeners=
wa(c._dispatchListeners,b),c._dispatchInstances=wa(c._dispatchInstances,a)}function bf(a){a&&a.dispatchConfig.phasedRegistrationNames&&gd(a._targetInst,hd,a)}function cf(a){if(a&&a.dispatchConfig.phasedRegistrationNames){var b=a._targetInst;b=b?T(b):null;gd(b,hd,a)}}function $b(a,b,c){a&&c&&c.dispatchConfig.registrationName&&(b=Wb(a,c.dispatchConfig.registrationName))&&(c._dispatchListeners=wa(c._dispatchListeners,b),c._dispatchInstances=wa(c._dispatchInstances,a))}function df(a){a&&a.dispatchConfig.registrationName&&
$b(a._targetInst,null,a)}function ya(a){da(a,bf)}function id(a,b,c,d){if(c&&d)a:{var e=c;for(var f=d,g=0,h=e;h;h=T(h))g++;h=0;for(var k=f;k;k=T(k))h++;for(;0<g-h;)e=T(e),g--;for(;0<h-g;)f=T(f),h--;for(;g--;){if(e===f||e===f.alternate)break a;e=T(e);f=T(f)}e=null}else e=null;f=e;for(e=[];c&&c!==f;){g=c.alternate;if(null!==g&&g===f)break;e.push(c);c=T(c)}for(c=[];d&&d!==f;){g=d.alternate;if(null!==g&&g===f)break;c.push(d);d=T(d)}for(d=0;d<e.length;d++)$b(e[d],"bubbled",a);for(a=c.length;0<a--;)$b(c[a],
"captured",b)}function jd(){!ac&&P.canUseDOM&&(ac="textContent"in document.documentElement?"textContent":"innerText");return ac}function kd(){if(H._fallbackText)return H._fallbackText;var a,b=H._startText,c=b.length,d,e=ld(),f=e.length;for(a=0;a<c&&b[a]===e[a];a++);var g=c-a;for(d=1;d<=g&&b[c-d]===e[f-d];d++);H._fallbackText=e.slice(a,1<d?1-d:void 0);return H._fallbackText}function ld(){return"value"in H._root?H._root.value:H._root[jd()]}function n(a,b,c,d){this.dispatchConfig=a;this._targetInst=
b;this.nativeEvent=c;a=this.constructor.Interface;for(var e in a)a.hasOwnProperty(e)&&((b=a[e])?this[e]=b(c):"target"===e?this.target=d:this[e]=c[e]);this.isDefaultPrevented=(null!=c.defaultPrevented?c.defaultPrevented:!1===c.returnValue)?G.thatReturnsTrue:G.thatReturnsFalse;this.isPropagationStopped=G.thatReturnsFalse;return this}function ef(a,b,c,d){if(this.eventPool.length){var e=this.eventPool.pop();this.call(e,a,b,c,d);return e}return new this(a,b,c,d)}function ff(a){a instanceof this?void 0:
l("223");a.destructor();10>this.eventPool.length&&this.eventPool.push(a)}function md(a){a.eventPool=[];a.getPooled=ef;a.release=ff}function nd(a,b,c,d){return n.call(this,a,b,c,d)}function od(a,b,c,d){return n.call(this,a,b,c,d)}function gf(){var a=window.opera;return"object"===typeof a&&"function"===typeof a.version&&12>=parseInt(a.version(),10)}function pd(a,b){switch(a){case "topKeyUp":return-1!==hf.indexOf(b.keyCode);case "topKeyDown":return 229!==b.keyCode;case "topKeyPress":case "topMouseDown":case "topBlur":return!0;
default:return!1}}function qd(a){a=a.detail;return"object"===typeof a&&"data"in a?a.data:null}function jf(a,b){switch(a){case "topCompositionEnd":return qd(b);case "topKeyPress":if(32!==b.which)return null;rd=!0;return sd;case "topTextInput":return a=b.data,a===sd&&rd?null:a;default:return null}}function kf(a,b){if(za)return"topCompositionEnd"===a||!bc&&pd(a,b)?(a=kd(),H._root=null,H._startText=null,H._fallbackText=null,za=!1,a):null;switch(a){case "topPaste":return null;case "topKeyPress":if(!(b.ctrlKey||
b.altKey||b.metaKey)||b.ctrlKey&&b.altKey){if(b.char&&1<b.char.length)return b.char;if(b.which)return String.fromCharCode(b.which)}return null;case "topCompositionEnd":return td?null:b.data;default:return null}}function ud(a){if(a=vd(a)){mb&&"function"===typeof mb.restoreControlledState?void 0:l("194");var b=Xb(a.stateNode);mb.restoreControlledState(a.stateNode,a.type,b)}}function wd(a){Ga?fa?fa.push(a):fa=[a]:Ga=a}function xd(){if(Ga){var a=Ga,b=fa;fa=Ga=null;ud(a);if(b)for(a=0;a<b.length;a++)ud(b[a])}}
function cc(a,b){if(dc)return ec(a,b);dc=!0;try{return ec(a,b)}finally{dc=!1,xd()}}function yd(a){var b=a&&a.nodeName&&a.nodeName.toLowerCase();return"input"===b?!!lf[a.type]:"textarea"===b?!0:!1}function fc(a){a=a.target||a.srcElement||window;a.correspondingUseElement&&(a=a.correspondingUseElement);return 3===a.nodeType?a.parentNode:a}function gc(a,b){if(!P.canUseDOM||b&&!("addEventListener"in document))return!1;b="on"+a;var c=b in document;c||(c=document.createElement("div"),c.setAttribute(b,"return;"),
c="function"===typeof c[b]);!c&&zd&&"wheel"===a&&(c=document.implementation.hasFeature("Events.wheel","3.0"));return c}function Ad(a){var b=a.type;return(a=a.nodeName)&&"input"===a.toLowerCase()&&("checkbox"===b||"radio"===b)}function mf(a){var b=Ad(a)?"checked":"value",c=Object.getOwnPropertyDescriptor(a.constructor.prototype,b),d=""+a[b];if(!a.hasOwnProperty(b)&&"function"===typeof c.get&&"function"===typeof c.set)return Object.defineProperty(a,b,{enumerable:c.enumerable,configurable:!0,get:function(){return c.get.call(this)},
set:function(a){d=""+a;c.set.call(this,a)}}),{getValue:function(){return d},setValue:function(a){d=""+a},stopTracking:function(){a._valueTracker=null;delete a[b]}}}function nb(a){a._valueTracker||(a._valueTracker=mf(a))}function Bd(a){if(!a)return!1;var b=a._valueTracker;if(!b)return!0;var c=b.getValue();var d="";a&&(d=Ad(a)?a.checked?"true":"false":a.value);a=d;return a!==c?(b.setValue(a),!0):!1}function Cd(a,b,c){a=n.getPooled(Dd.change,a,b,c);a.type="change";wd(c);ya(a);return a}function nf(a){Yb(a);
Zb(!1)}function ob(a){var b=xa(a);if(Bd(b))return a}function of(a,b){if("topChange"===a)return b}function Ed(){Ha&&(Ha.detachEvent("onpropertychange",Fd),Oa=Ha=null)}function Fd(a){"value"===a.propertyName&&ob(Oa)&&(a=Cd(Oa,a,fc(a)),cc(nf,a))}function pf(a,b,c){"topFocus"===a?(Ed(),Ha=b,Oa=c,Ha.attachEvent("onpropertychange",Fd)):"topBlur"===a&&Ed()}function qf(a,b){if("topSelectionChange"===a||"topKeyUp"===a||"topKeyDown"===a)return ob(Oa)}function rf(a,b){if("topClick"===a)return ob(b)}function sf(a,
b){if("topInput"===a||"topChange"===a)return ob(b)}function Aa(a,b,c,d){return n.call(this,a,b,c,d)}function tf(a){var b=this.nativeEvent;return b.getModifierState?b.getModifierState(a):(a=uf[a])?!!b[a]:!1}function hc(a){return tf}function qa(a,b,c,d){return n.call(this,a,b,c,d)}function Pa(a){a=a.type;return"string"===typeof a?a:"function"===typeof a?a.displayName||a.name:null}function Qa(a){var b=a;if(a.alternate)for(;b["return"];)b=b["return"];else{if(0!==(b.effectTag&2))return 1;for(;b["return"];)if(b=
b["return"],0!==(b.effectTag&2))return 1}return 3===b.tag?2:3}function vf(a){return(a=a._reactInternalFiber)?2===Qa(a):!1}function Gd(a){2!==Qa(a)?l("188"):void 0}function Hd(a){var b=a.alternate;if(!b)return b=Qa(a),3===b?l("188"):void 0,1===b?null:a;for(var c=a,d=b;;){var e=c["return"],f=e?e.alternate:null;if(!e||!f)break;if(e.child===f.child){for(var g=e.child;g;){if(g===c)return Gd(e),a;if(g===d)return Gd(e),b;g=g.sibling}l("188")}if(c["return"]!==d["return"])c=e,d=f;else{g=!1;for(var h=e.child;h;){if(h===
c){g=!0;c=e;d=f;break}if(h===d){g=!0;d=e;c=f;break}h=h.sibling}if(!g){for(h=f.child;h;){if(h===c){g=!0;c=f;d=e;break}if(h===d){g=!0;d=f;c=e;break}h=h.sibling}g?void 0:l("189")}}c.alternate!==d?l("190"):void 0}3!==c.tag?l("188"):void 0;return c.stateNode.current===c?a:b}function wf(a){a=Hd(a);if(!a)return null;for(var b=a;;){if(5===b.tag||6===b.tag)return b;if(b.child)b.child["return"]=b,b=b.child;else{if(b===a)break;for(;!b.sibling;){if(!b["return"]||b["return"]===a)return null;b=b["return"]}b.sibling["return"]=
b["return"];b=b.sibling}}return null}function xf(a){a=Hd(a);if(!a)return null;for(var b=a;;){if(5===b.tag||6===b.tag)return b;if(b.child&&4!==b.tag)b.child["return"]=b,b=b.child;else{if(b===a)break;for(;!b.sibling;){if(!b["return"]||b["return"]===a)return null;b=b["return"]}b.sibling["return"]=b["return"];b=b.sibling}}return null}function yf(a){var b=a.targetInst;do{if(!b){a.ancestors.push(b);break}var c;for(c=b;c["return"];)c=c["return"];c=3!==c.tag?null:c.stateNode.containerInfo;if(!c)break;a.ancestors.push(b);
b=W(c)}while(b);for(c=0;c<a.ancestors.length;c++)b=a.ancestors[c],pb(a.topLevelType,b,a.nativeEvent,fc(a.nativeEvent))}function ic(a){Ra=!!a}function r(a,b,c){return c?Id.listen(c,b,jc.bind(null,a)):null}function ha(a,b,c){return c?Id.capture(c,b,jc.bind(null,a)):null}function jc(a,b){if(Ra){var c=fc(b);c=W(c);null===c||"number"!==typeof c.tag||2===Qa(c)||(c=null);if(qb.length){var d=qb.pop();d.topLevelType=a;d.nativeEvent=b;d.targetInst=c;a=d}else a={topLevelType:a,nativeEvent:b,targetInst:c,ancestors:[]};
try{cc(yf,a)}finally{a.topLevelType=null,a.nativeEvent=null,a.targetInst=null,a.ancestors.length=0,10>qb.length&&qb.push(a)}}}function rb(a,b){var c={};c[a.toLowerCase()]=b.toLowerCase();c["Webkit"+a]="webkit"+b;c["Moz"+a]="moz"+b;c["ms"+a]="MS"+b;c["O"+a]="o"+b.toLowerCase();return c}function sb(a){if(kc[a])return kc[a];if(!U[a])return a;var b=U[a],c;for(c in b)if(b.hasOwnProperty(c)&&c in Jd)return kc[a]=b[c];return""}function Kd(a){Object.prototype.hasOwnProperty.call(a,tb)||(a[tb]=zf++,Ld[a[tb]]=
{});return Ld[a[tb]]}function Md(a,b){return a===b?0!==a||0!==b||1/a===1/b:a!==a&&b!==b}function Nd(a,b){return a&&b?a===b?!0:Od(a)?!1:Od(b)?Nd(a,b.parentNode):"contains"in a?a.contains(b):a.compareDocumentPosition?!!(a.compareDocumentPosition(b)&16):!1:!1}function Pd(a){for(;a&&a.firstChild;)a=a.firstChild;return a}function Qd(a,b){var c=Pd(a);a=0;for(var d;c;){if(3===c.nodeType){d=a+c.textContent.length;if(a<=b&&d>=b)return{node:c,offset:b-a};a=d}a:{for(;c;){if(c.nextSibling){c=c.nextSibling;break a}c=
c.parentNode}c=void 0}c=Pd(c)}}function lc(a){var b=a&&a.nodeName&&a.nodeName.toLowerCase();return b&&("input"===b&&"text"===a.type||"textarea"===b||"true"===a.contentEditable)}function Rd(a,b){if(mc||null==X||X!==nc())return null;var c=X;"selectionStart"in c&&lc(c)?c={start:c.selectionStart,end:c.selectionEnd}:window.getSelection?(c=window.getSelection(),c={anchorNode:c.anchorNode,anchorOffset:c.anchorOffset,focusNode:c.focusNode,focusOffset:c.focusOffset}):c=void 0;return Sa&&oc(Sa,c)?null:(Sa=
c,a=n.getPooled(Sd.select,pc,a,b),a.type="select",a.target=X,ya(a),a)}function Td(a,b,c,d){return n.call(this,a,b,c,d)}function Ud(a,b,c,d){return n.call(this,a,b,c,d)}function Vd(a,b,c,d){return n.call(this,a,b,c,d)}function ub(a){var b=a.keyCode;"charCode"in a?(a=a.charCode,0===a&&13===b&&(a=13)):a=b;return 32<=a||13===a?a:0}function Wd(a,b,c,d){return n.call(this,a,b,c,d)}function Xd(a,b,c,d){return n.call(this,a,b,c,d)}function Yd(a,b,c,d){return n.call(this,a,b,c,d)}function Zd(a,b,c,d){return n.call(this,
a,b,c,d)}function $d(a,b,c,d){return n.call(this,a,b,c,d)}function I(a,b){0>ra||(a.current=vb[ra],vb[ra]=null,ra--)}function M(a,b,c){ra++;vb[ra]=a.current;a.current=b}function Ta(a){return Ua(a)?wb:ia.current}function Va(a,b){var c=a.type.contextTypes;if(!c)return ja;var d=a.stateNode;if(d&&d.__reactInternalMemoizedUnmaskedChildContext===b)return d.__reactInternalMemoizedMaskedChildContext;var e={},f;for(f in c)e[f]=b[f];d&&(a=a.stateNode,a.__reactInternalMemoizedUnmaskedChildContext=b,a.__reactInternalMemoizedMaskedChildContext=
e);return e}function Ua(a){return 2===a.tag&&null!=a.type.childContextTypes}function ae(a){Ua(a)&&(I(J,a),I(ia,a))}function be(a,b,c){null!=ia.cursor?l("168"):void 0;M(ia,b,a);M(J,c,a)}function ce(a,b){var c=a.stateNode,d=a.type.childContextTypes;if("function"!==typeof c.getChildContext)return b;c=c.getChildContext();for(var e in c)e in d?void 0:l("108",Pa(a)||"Unknown",e);return C({},b,c)}function xb(a){if(!Ua(a))return!1;var b=a.stateNode;b=b&&b.__reactInternalMemoizedMergedChildContext||ja;wb=
ia.current;M(ia,b,a);M(J,J.current,a);return!0}function de(a,b){var c=a.stateNode;c?void 0:l("169");if(b){var d=ce(a,wb);c.__reactInternalMemoizedMergedChildContext=d;I(J,a);I(ia,a);M(ia,d,a)}else I(J,a);M(J,b,a)}function Q(a,b,c){this.tag=a;this.key=b;this.stateNode=this.type=null;this.sibling=this.child=this["return"]=null;this.index=0;this.memoizedState=this.updateQueue=this.memoizedProps=this.pendingProps=this.ref=null;this.internalContextTag=c;this.effectTag=0;this.lastEffect=this.firstEffect=
this.nextEffect=null;this.expirationTime=0;this.alternate=null}function yb(a,b,c){var d=a.alternate;null===d?(d=new Q(a.tag,a.key,a.internalContextTag),d.type=a.type,d.stateNode=a.stateNode,d.alternate=a,a.alternate=d):(d.effectTag=0,d.nextEffect=null,d.firstEffect=null,d.lastEffect=null);d.expirationTime=c;d.pendingProps=b;d.child=a.child;d.memoizedProps=a.memoizedProps;d.memoizedState=a.memoizedState;d.updateQueue=a.updateQueue;d.sibling=a.sibling;d.index=a.index;d.ref=a.ref;return d}function qc(a,
b,c){var d=void 0,e=a.type,f=a.key;"function"===typeof e?(d=e.prototype&&e.prototype.isReactComponent?new Q(2,f,b):new Q(0,f,b),d.type=e,d.pendingProps=a.props):"string"===typeof e?(d=new Q(5,f,b),d.type=e,d.pendingProps=a.props):"object"===typeof e&&null!==e&&"number"===typeof e.tag?(d=e,d.pendingProps=a.props):l("130",null==e?e:typeof e,"");d.expirationTime=c;return d}function zb(a,b,c,d){b=new Q(10,d,b);b.pendingProps=a;b.expirationTime=c;return b}function rc(a,b,c){b=new Q(6,null,b);b.pendingProps=
a;b.expirationTime=c;return b}function sc(a,b,c){b=new Q(7,a.key,b);b.type=a.handler;b.pendingProps=a;b.expirationTime=c;return b}function tc(a,b,c){a=new Q(9,null,b);a.expirationTime=c;return a}function uc(a,b,c){b=new Q(4,a.key,b);b.pendingProps=a.children||[];b.expirationTime=c;b.stateNode={containerInfo:a.containerInfo,pendingChildren:null,implementation:a.implementation};return b}function ee(a){return function(b){try{return a(b)}catch(c){}}}function Af(a){if("undefined"===typeof __REACT_DEVTOOLS_GLOBAL_HOOK__)return!1;
var b=__REACT_DEVTOOLS_GLOBAL_HOOK__;if(b.isDisabled||!b.supportsFiber)return!0;try{var c=b.inject(a);vc=ee(function(a){return b.onCommitFiberRoot(c,a)});wc=ee(function(a){return b.onCommitFiberUnmount(c,a)})}catch(d){}return!0}function fe(a){"function"===typeof vc&&vc(a)}function ge(a){"function"===typeof wc&&wc(a)}function he(a){return{baseState:a,expirationTime:0,first:null,last:null,callbackList:null,hasForceUpdate:!1,isInitialized:!1}}function Ab(a,b){null===a.last?a.first=a.last=b:(a.last.next=
b,a.last=b);if(0===a.expirationTime||a.expirationTime>b.expirationTime)a.expirationTime=b.expirationTime}function Bb(a,b){var c=a.alternate,d=a.updateQueue;null===d&&(d=a.updateQueue=he(null));null!==c?(a=c.updateQueue,null===a&&(a=c.updateQueue=he(null))):a=null;a=a!==d?a:null;null===a?Ab(d,b):null===d.last||null===a.last?(Ab(d,b),Ab(a,b)):(Ab(d,b),a.last=b)}function ie(a,b,c,d){a=a.partialState;return"function"===typeof a?a.call(b,c,d):a}function xc(a,b,c,d,e,f){null!==a&&a.updateQueue===c&&(c=
b.updateQueue={baseState:c.baseState,expirationTime:c.expirationTime,first:c.first,last:c.last,isInitialized:c.isInitialized,callbackList:null,hasForceUpdate:!1});c.expirationTime=0;c.isInitialized?a=c.baseState:(a=c.baseState=b.memoizedState,c.isInitialized=!0);for(var g=!0,h=c.first,k=!1;null!==h;){var l=h.expirationTime;if(l>f){var D=c.expirationTime;if(0===D||D>l)c.expirationTime=l;k||(k=!0,c.baseState=a)}else{k||(c.first=h.next,null===c.first&&(c.last=null));if(h.isReplace)a=ie(h,d,a,e),g=!0;
else if(l=ie(h,d,a,e))a=g?C({},a,l):C(a,l),g=!1;h.isForced&&(c.hasForceUpdate=!0);null!==h.callback&&(l=c.callbackList,null===l&&(l=c.callbackList=[]),l.push(h))}h=h.next}null!==c.callbackList?b.effectTag|=32:null!==c.first||c.hasForceUpdate||(b.updateQueue=null);k||(c.baseState=a);return a}function je(a,b){var c=a.callbackList;if(null!==c)for(a.callbackList=null,a=0;a<c.length;a++){var d=c[a],e=d.callback;d.callback=null;"function"!==typeof e?l("191",e):void 0;e.call(b)}}function Wa(a){if(null===
a||"undefined"===typeof a)return null;a=ke&&a[ke]||a["@@iterator"];return"function"===typeof a?a:null}function Xa(a,b){var c=b.ref;if(null!==c&&"function"!==typeof c){if(b._owner){b=b._owner;var d=void 0;b&&(2!==b.tag?l("110"):void 0,d=b.stateNode);d?void 0:l("147",c);var e=""+c;if(null!==a&&null!==a.ref&&a.ref._stringRef===e)return a.ref;a=function(a){var b=d.refs===ja?d.refs={}:d.refs;null===a?delete b[e]:b[e]=a};a._stringRef=e;return a}"string"!==typeof c?l("148"):void 0;b._owner?void 0:l("149",
c)}return c}function Cb(a,b){"textarea"!==a.type&&l("31","[object Object]"===Object.prototype.toString.call(b)?"object with keys {"+Object.keys(b).join(", ")+"}":b,"")}function le(a){function b(b,c){if(a){var d=b.lastEffect;null!==d?(d.nextEffect=c,b.lastEffect=c):b.firstEffect=b.lastEffect=c;c.nextEffect=null;c.effectTag=8}}function c(c,d){if(!a)return null;for(;null!==d;)b(c,d),d=d.sibling;return null}function d(a,b){for(a=new Map;null!==b;)null!==b.key?a.set(b.key,b):a.set(b.index,b),b=b.sibling;
return a}function e(a,b,c){a=yb(a,b,c);a.index=0;a.sibling=null;return a}function f(b,c,d){b.index=d;if(!a)return c;d=b.alternate;if(null!==d)return d=d.index,d<c?(b.effectTag=2,c):d;b.effectTag=2;return c}function g(b){a&&null===b.alternate&&(b.effectTag=2);return b}function h(a,b,c,d){if(null===b||6!==b.tag)return b=rc(c,a.internalContextTag,d),b["return"]=a,b;b=e(b,c,d);b["return"]=a;return b}function k(a,b,c,d){if(null!==b&&b.type===c.type)return d=e(b,c.props,d),d.ref=Xa(b,c),d["return"]=a,d;
d=qc(c,a.internalContextTag,d);d.ref=Xa(b,c);d["return"]=a;return d}function m(a,b,c,d){if(null===b||7!==b.tag)return b=sc(c,a.internalContextTag,d),b["return"]=a,b;b=e(b,c,d);b["return"]=a;return b}function D(a,b,c,d){if(null===b||9!==b.tag)return b=tc(c,a.internalContextTag,d),b.type=c.value,b["return"]=a,b;b=e(b,null,d);b.type=c.value;b["return"]=a;return b}function A(a,b,c,d){if(null===b||4!==b.tag||b.stateNode.containerInfo!==c.containerInfo||b.stateNode.implementation!==c.implementation)return b=
uc(c,a.internalContextTag,d),b["return"]=a,b;b=e(b,c.children||[],d);b["return"]=a;return b}function v(a,b,c,d,g){if(null===b||10!==b.tag)return b=zb(c,a.internalContextTag,d,g),b["return"]=a,b;b=e(b,c,d);b["return"]=a;return b}function K(a,b,c){if("string"===typeof b||"number"===typeof b)return b=rc(""+b,a.internalContextTag,c),b["return"]=a,b;if("object"===typeof b&&null!==b){switch(b.$$typeof){case Db:if(b.type===sa)return b=zb(b.props.children,a.internalContextTag,c,b.key),b["return"]=a,b;c=qc(b,
a.internalContextTag,c);c.ref=Xa(null,b);c["return"]=a;return c;case Eb:return b=sc(b,a.internalContextTag,c),b["return"]=a,b;case Fb:return c=tc(b,a.internalContextTag,c),c.type=b.value,c["return"]=a,c;case Ya:return b=uc(b,a.internalContextTag,c),b["return"]=a,b}if(Gb(b)||Wa(b))return b=zb(b,a.internalContextTag,c,null),b["return"]=a,b;Cb(a,b)}return null}function L(a,b,c,d){var e=null!==b?b.key:null;if("string"===typeof c||"number"===typeof c)return null!==e?null:h(a,b,""+c,d);if("object"===typeof c&&
null!==c){switch(c.$$typeof){case Db:return c.key===e?c.type===sa?v(a,b,c.props.children,d,e):k(a,b,c,d):null;case Eb:return c.key===e?m(a,b,c,d):null;case Fb:return null===e?D(a,b,c,d):null;case Ya:return c.key===e?A(a,b,c,d):null}if(Gb(c)||Wa(c))return null!==e?null:v(a,b,c,d,null);Cb(a,c)}return null}function R(a,b,c,d,e){if("string"===typeof d||"number"===typeof d)return a=a.get(c)||null,h(b,a,""+d,e);if("object"===typeof d&&null!==d){switch(d.$$typeof){case Db:return a=a.get(null===d.key?c:d.key)||
null,d.type===sa?v(b,a,d.props.children,e,d.key):k(b,a,d,e);case Eb:return a=a.get(null===d.key?c:d.key)||null,m(b,a,d,e);case Fb:return a=a.get(c)||null,D(b,a,d,e);case Ya:return a=a.get(null===d.key?c:d.key)||null,A(b,a,d,e)}if(Gb(d)||Wa(d))return a=a.get(c)||null,v(b,a,d,e,null);Cb(b,d)}return null}function n(e,g,h,z){for(var t=null,q=null,p=g,x=g=0,k=null;null!==p&&x<h.length;x++){p.index>x?(k=p,p=null):k=p.sibling;var l=L(e,p,h[x],z);if(null===l){null===p&&(p=k);break}a&&p&&null===l.alternate&&
b(e,p);g=f(l,g,x);null===q?t=l:q.sibling=l;q=l;p=k}if(x===h.length)return c(e,p),t;if(null===p){for(;x<h.length;x++)if(p=K(e,h[x],z))g=f(p,g,x),null===q?t=p:q.sibling=p,q=p;return t}for(p=d(e,p);x<h.length;x++)if(k=R(p,e,x,h[x],z)){if(a&&null!==k.alternate)p["delete"](null===k.key?x:k.key);g=f(k,g,x);null===q?t=k:q.sibling=k;q=k}a&&p.forEach(function(a){return b(e,a)});return t}function r(e,g,h,z){var t=Wa(h);"function"!==typeof t?l("150"):void 0;h=t.call(h);null==h?l("151"):void 0;for(var q=t=null,
p=g,x=g=0,k=null,m=h.next();null!==p&&!m.done;x++,m=h.next()){p.index>x?(k=p,p=null):k=p.sibling;var La=L(e,p,m.value,z);if(null===La){p||(p=k);break}a&&p&&null===La.alternate&&b(e,p);g=f(La,g,x);null===q?t=La:q.sibling=La;q=La;p=k}if(m.done)return c(e,p),t;if(null===p){for(;!m.done;x++,m=h.next())m=K(e,m.value,z),null!==m&&(g=f(m,g,x),null===q?t=m:q.sibling=m,q=m);return t}for(p=d(e,p);!m.done;x++,m=h.next())if(m=R(p,e,x,m.value,z),null!==m){if(a&&null!==m.alternate)p["delete"](null===m.key?x:m.key);
g=f(m,g,x);null===q?t=m:q.sibling=m;q=m}a&&p.forEach(function(a){return b(e,a)});return t}return function(a,d,f,h){"object"===typeof f&&null!==f&&f.type===sa&&null===f.key&&(f=f.props.children);var k="object"===typeof f&&null!==f;if(k)switch(f.$$typeof){case Db:a:{var q=f.key;for(k=d;null!==k;){if(k.key===q)if(10===k.tag?f.type===sa:k.type===f.type){c(a,k.sibling);d=e(k,f.type===sa?f.props.children:f.props,h);d.ref=Xa(k,f);d["return"]=a;a=d;break a}else{c(a,k);break}else b(a,k);k=k.sibling}f.type===
sa?(d=zb(f.props.children,a.internalContextTag,h,f.key),d["return"]=a,a=d):(h=qc(f,a.internalContextTag,h),h.ref=Xa(d,f),h["return"]=a,a=h)}return g(a);case Eb:a:{for(k=f.key;null!==d;){if(d.key===k)if(7===d.tag){c(a,d.sibling);d=e(d,f,h);d["return"]=a;a=d;break a}else{c(a,d);break}else b(a,d);d=d.sibling}d=sc(f,a.internalContextTag,h);d["return"]=a;a=d}return g(a);case Fb:a:{if(null!==d)if(9===d.tag){c(a,d.sibling);d=e(d,null,h);d.type=f.value;d["return"]=a;a=d;break a}else c(a,d);d=tc(f,a.internalContextTag,
h);d.type=f.value;d["return"]=a;a=d}return g(a);case Ya:a:{for(k=f.key;null!==d;){if(d.key===k)if(4===d.tag&&d.stateNode.containerInfo===f.containerInfo&&d.stateNode.implementation===f.implementation){c(a,d.sibling);d=e(d,f.children||[],h);d["return"]=a;a=d;break a}else{c(a,d);break}else b(a,d);d=d.sibling}d=uc(f,a.internalContextTag,h);d["return"]=a;a=d}return g(a)}if("string"===typeof f||"number"===typeof f)return f=""+f,null!==d&&6===d.tag?(c(a,d.sibling),d=e(d,f,h)):(c(a,d),d=rc(f,a.internalContextTag,
h)),d["return"]=a,a=d,g(a);if(Gb(f))return n(a,d,f,h);if(Wa(f))return r(a,d,f,h);k&&Cb(a,f);if("undefined"===typeof f)switch(a.tag){case 2:case 1:h=a.type,l("152",h.displayName||h.name||"Component")}return c(a,d)}}function Bf(a,b,c){var d=3<arguments.length&&void 0!==arguments[3]?arguments[3]:null;return{$$typeof:Ya,key:null==d?null:""+d,children:a,containerInfo:b,implementation:c}}function Cf(a){if(me.hasOwnProperty(a))return!0;if(ne.hasOwnProperty(a))return!1;if(Df.test(a))return me[a]=!0;ne[a]=
!0;return!1}function zc(a,b,c){var d=Ub(b);if(d&&Xc(b,c)){var e=d.mutationMethod;e?e(a,c):null==c||d.hasBooleanValue&&!c||d.hasNumericValue&&isNaN(c)||d.hasPositiveNumericValue&&1>c||d.hasOverloadedBooleanValue&&!1===c?oe(a,b):d.mustUseProperty?a[d.propertyName]=c:(b=d.attributeName,(e=d.attributeNamespace)?a.setAttributeNS(e,b,""+c):d.hasBooleanValue||d.hasOverloadedBooleanValue&&!0===c?a.setAttribute(b,""):a.setAttribute(b,""+c))}else Ac(a,b,Xc(b,c)?c:null)}function Ac(a,b,c){Cf(b)&&(null==c?a.removeAttribute(b):
a.setAttribute(b,""+c))}function oe(a,b){var c=Ub(b);c?(b=c.mutationMethod)?b(a,void 0):c.mustUseProperty?a[c.propertyName]=c.hasBooleanValue?!1:"":a.removeAttribute(c.attributeName):a.removeAttribute(b)}function Bc(a,b){var c=b.value,d=b.checked;return C({type:void 0,step:void 0,min:void 0,max:void 0},b,{defaultChecked:void 0,defaultValue:void 0,value:null!=c?c:a._wrapperState.initialValue,checked:null!=d?d:a._wrapperState.initialChecked})}function pe(a,b){var c=b.defaultValue;a._wrapperState={initialChecked:null!=
b.checked?b.checked:b.defaultChecked,initialValue:null!=b.value?b.value:c,controlled:"checkbox"===b.type||"radio"===b.type?null!=b.checked:null!=b.value}}function qe(a,b){b=b.checked;null!=b&&zc(a,"checked",b)}function Cc(a,b){qe(a,b);var c=b.value;if(null!=c)if(0===c&&""===a.value)a.value="0";else if("number"===b.type){if(b=parseFloat(a.value)||0,c!=b||c==b&&a.value!=c)a.value=""+c}else a.value!==""+c&&(a.value=""+c);else null==b.value&&null!=b.defaultValue&&a.defaultValue!==""+b.defaultValue&&(a.defaultValue=
""+b.defaultValue),null==b.checked&&null!=b.defaultChecked&&(a.defaultChecked=!!b.defaultChecked)}function re(a,b){switch(b.type){case "submit":case "reset":break;case "color":case "date":case "datetime":case "datetime-local":case "month":case "time":case "week":a.value="";a.value=a.defaultValue;break;default:a.value=a.value}b=a.name;""!==b&&(a.name="");a.defaultChecked=!a.defaultChecked;a.defaultChecked=!a.defaultChecked;""!==b&&(a.name=b)}function Ef(a){var b="";na.Children.forEach(a,function(a){null==
a||"string"!==typeof a&&"number"!==typeof a||(b+=a)});return b}function Dc(a,b){a=C({children:void 0},b);if(b=Ef(b.children))a.children=b;return a}function ka(a,b,c,d){a=a.options;if(b){b={};for(var e=0;e<c.length;e++)b["$"+c[e]]=!0;for(c=0;c<a.length;c++)e=b.hasOwnProperty("$"+a[c].value),a[c].selected!==e&&(a[c].selected=e),e&&d&&(a[c].defaultSelected=!0)}else{c=""+c;b=null;for(e=0;e<a.length;e++){if(a[e].value===c){a[e].selected=!0;d&&(a[e].defaultSelected=!0);return}null!==b||a[e].disabled||(b=
a[e])}null!==b&&(b.selected=!0)}}function se(a,b){var c=b.value;a._wrapperState={initialValue:null!=c?c:b.defaultValue,wasMultiple:!!b.multiple}}function Ec(a,b){null!=b.dangerouslySetInnerHTML?l("91"):void 0;return C({},b,{value:void 0,defaultValue:void 0,children:""+a._wrapperState.initialValue})}function te(a,b){var c=b.value;null==c&&(c=b.defaultValue,b=b.children,null!=b&&(null!=c?l("92"):void 0,Array.isArray(b)&&(1>=b.length?void 0:l("93"),b=b[0]),c=""+b),null==c&&(c=""));a._wrapperState={initialValue:""+
c}}function ue(a,b){var c=b.value;null!=c&&(c=""+c,c!==a.value&&(a.value=c),null==b.defaultValue&&(a.defaultValue=c));null!=b.defaultValue&&(a.defaultValue=b.defaultValue)}function ve(a){switch(a){case "svg":return"http://www.w3.org/2000/svg";case "math":return"http://www.w3.org/1998/Math/MathML";default:return"http://www.w3.org/1999/xhtml"}}function Fc(a,b){return null==a||"http://www.w3.org/1999/xhtml"===a?ve(b):"http://www.w3.org/2000/svg"===a&&"foreignObject"===b?"http://www.w3.org/1999/xhtml":
a}function we(a,b,c){a=a.style;for(var d in b)if(b.hasOwnProperty(d)){c=0===d.indexOf("--");var e=d;var f=b[d];e=null==f||"boolean"===typeof f||""===f?"":c||"number"!==typeof f||0===f||Za.hasOwnProperty(e)&&Za[e]?(""+f).trim():f+"px";"float"===d&&(d="cssFloat");c?a.setProperty(d,e):a[d]=e}}function Gc(a,b,c){b&&(Ff[a]&&(null!=b.children||null!=b.dangerouslySetInnerHTML?l("137",a,c()):void 0),null!=b.dangerouslySetInnerHTML&&(null!=b.children?l("60"):void 0,"object"===typeof b.dangerouslySetInnerHTML&&
"__html"in b.dangerouslySetInnerHTML?void 0:l("61")),null!=b.style&&"object"!==typeof b.style?l("62",c()):void 0)}function Hc(a,b){if(-1===a.indexOf("-"))return"string"===typeof b.is;switch(a){case "annotation-xml":case "color-profile":case "font-face":case "font-face-src":case "font-face-uri":case "font-face-format":case "font-face-name":case "missing-glyph":return!1;default:return!0}}function Y(a,b){a=9===a.nodeType||11===a.nodeType?a:a.ownerDocument;var c=Kd(a);b=kb[b];for(var d=0;d<b.length;d++){var e=
b[d];c.hasOwnProperty(e)&&c[e]||("topScroll"===e?ha("topScroll","scroll",a):"topFocus"===e||"topBlur"===e?(ha("topFocus","focus",a),ha("topBlur","blur",a),c.topBlur=!0,c.topFocus=!0):"topCancel"===e?(gc("cancel",!0)&&ha("topCancel","cancel",a),c.topCancel=!0):"topClose"===e?(gc("close",!0)&&ha("topClose","close",a),c.topClose=!0):xe.hasOwnProperty(e)&&r(e,xe[e],a),c[e]=!0)}}function ye(a,b,c,d){c=9===c.nodeType?c:c.ownerDocument;"http://www.w3.org/1999/xhtml"===d&&(d=ve(a));"http://www.w3.org/1999/xhtml"===
d?"script"===a?(a=c.createElement("div"),a.innerHTML="\x3cscript\x3e\x3c/script\x3e",a=a.removeChild(a.firstChild)):a="string"===typeof b.is?c.createElement(a,{is:b.is}):c.createElement(a):a=c.createElementNS(d,a);return a}function ze(a,b){return(9===b.nodeType?b:b.ownerDocument).createTextNode(a)}function Ae(a,b,c,d){var e=Hc(b,c);switch(b){case "iframe":case "object":r("topLoad","load",a);var f=c;break;case "video":case "audio":for(f in Z)Z.hasOwnProperty(f)&&r(f,Z[f],a);f=c;break;case "source":r("topError",
"error",a);f=c;break;case "img":case "image":r("topError","error",a);r("topLoad","load",a);f=c;break;case "form":r("topReset","reset",a);r("topSubmit","submit",a);f=c;break;case "details":r("topToggle","toggle",a);f=c;break;case "input":pe(a,c);f=Bc(a,c);r("topInvalid","invalid",a);Y(d,"onChange");break;case "option":f=Dc(a,c);break;case "select":se(a,c);f=C({},c,{value:void 0});r("topInvalid","invalid",a);Y(d,"onChange");break;case "textarea":te(a,c);f=Ec(a,c);r("topInvalid","invalid",a);Y(d,"onChange");
break;default:f=c}Gc(b,f,$a);var g=f,h;for(h in g)if(g.hasOwnProperty(h)){var k=g[h];"style"===h?we(a,k,$a):"dangerouslySetInnerHTML"===h?(k=k?k.__html:void 0,null!=k&&Be(a,k)):"children"===h?"string"===typeof k?("textarea"!==b||""!==k)&&Ic(a,k):"number"===typeof k&&Ic(a,""+k):"suppressContentEditableWarning"!==h&&"suppressHydrationWarning"!==h&&"autoFocus"!==h&&(ca.hasOwnProperty(h)?null!=k&&Y(d,h):e?Ac(a,h,k):null!=k&&zc(a,h,k))}switch(b){case "input":nb(a);re(a,c);break;case "textarea":nb(a);c=
a.textContent;c===a._wrapperState.initialValue&&(a.value=c);break;case "option":null!=c.value&&a.setAttribute("value",c.value);break;case "select":a.multiple=!!c.multiple;b=c.value;null!=b?ka(a,!!c.multiple,b,!1):null!=c.defaultValue&&ka(a,!!c.multiple,c.defaultValue,!0);break;default:"function"===typeof f.onClick&&(a.onclick=G)}}function Ce(a,b,c,d,e){var f=null;switch(b){case "input":c=Bc(a,c);d=Bc(a,d);f=[];break;case "option":c=Dc(a,c);d=Dc(a,d);f=[];break;case "select":c=C({},c,{value:void 0});
d=C({},d,{value:void 0});f=[];break;case "textarea":c=Ec(a,c);d=Ec(a,d);f=[];break;default:"function"!==typeof c.onClick&&"function"===typeof d.onClick&&(a.onclick=G)}Gc(b,d,$a);var g,h;a=null;for(g in c)if(!d.hasOwnProperty(g)&&c.hasOwnProperty(g)&&null!=c[g])if("style"===g)for(h in b=c[g],b)b.hasOwnProperty(h)&&(a||(a={}),a[h]="");else"dangerouslySetInnerHTML"!==g&&"children"!==g&&"suppressContentEditableWarning"!==g&&"suppressHydrationWarning"!==g&&"autoFocus"!==g&&(ca.hasOwnProperty(g)?f||(f=
[]):(f=f||[]).push(g,null));for(g in d){var k=d[g];b=null!=c?c[g]:void 0;if(d.hasOwnProperty(g)&&k!==b&&(null!=k||null!=b))if("style"===g)if(b){for(h in b)!b.hasOwnProperty(h)||k&&k.hasOwnProperty(h)||(a||(a={}),a[h]="");for(h in k)k.hasOwnProperty(h)&&b[h]!==k[h]&&(a||(a={}),a[h]=k[h])}else a||(f||(f=[]),f.push(g,a)),a=k;else"dangerouslySetInnerHTML"===g?(k=k?k.__html:void 0,b=b?b.__html:void 0,null!=k&&b!==k&&(f=f||[]).push(g,""+k)):"children"===g?b===k||"string"!==typeof k&&"number"!==typeof k||
(f=f||[]).push(g,""+k):"suppressContentEditableWarning"!==g&&"suppressHydrationWarning"!==g&&(ca.hasOwnProperty(g)?(null!=k&&Y(e,g),f||b===k||(f=[])):(f=f||[]).push(g,k))}a&&(f=f||[]).push("style",a);return f}function De(a,b,c,d,e){"input"===c&&"radio"===e.type&&null!=e.name&&qe(a,e);Hc(c,d);d=Hc(c,e);for(var f=0;f<b.length;f+=2){var g=b[f],h=b[f+1];"style"===g?we(a,h,$a):"dangerouslySetInnerHTML"===g?Be(a,h):"children"===g?Ic(a,h):d?null!=h?Ac(a,g,h):a.removeAttribute(g):null!=h?zc(a,g,h):oe(a,g)}switch(c){case "input":Cc(a,
e);break;case "textarea":ue(a,e);break;case "select":a._wrapperState.initialValue=void 0,b=a._wrapperState.wasMultiple,a._wrapperState.wasMultiple=!!e.multiple,c=e.value,null!=c?ka(a,!!e.multiple,c,!1):b!==!!e.multiple&&(null!=e.defaultValue?ka(a,!!e.multiple,e.defaultValue,!0):ka(a,!!e.multiple,e.multiple?[]:"",!1))}}function Ee(a,b,c,d,e){switch(b){case "iframe":case "object":r("topLoad","load",a);break;case "video":case "audio":for(var f in Z)Z.hasOwnProperty(f)&&r(f,Z[f],a);break;case "source":r("topError",
"error",a);break;case "img":case "image":r("topError","error",a);r("topLoad","load",a);break;case "form":r("topReset","reset",a);r("topSubmit","submit",a);break;case "details":r("topToggle","toggle",a);break;case "input":pe(a,c);r("topInvalid","invalid",a);Y(e,"onChange");break;case "select":se(a,c);r("topInvalid","invalid",a);Y(e,"onChange");break;case "textarea":te(a,c),r("topInvalid","invalid",a),Y(e,"onChange")}Gc(b,c,$a);d=null;for(var g in c)c.hasOwnProperty(g)&&(f=c[g],"children"===g?"string"===
typeof f?a.textContent!==f&&(d=["children",f]):"number"===typeof f&&a.textContent!==""+f&&(d=["children",""+f]):ca.hasOwnProperty(g)&&null!=f&&Y(e,g));switch(b){case "input":nb(a);re(a,c);break;case "textarea":nb(a);b=a.textContent;b===a._wrapperState.initialValue&&(a.value=b);break;case "select":case "option":break;default:"function"===typeof c.onClick&&(a.onclick=G)}return d}function Fe(a,b){return a.nodeValue!==b}function Jc(a){return!(!a||1!==a.nodeType&&9!==a.nodeType&&11!==a.nodeType&&(8!==
a.nodeType||" react-mount-point-unstable "!==a.nodeValue))}function Gf(a){a=a?9===a.nodeType?a.documentElement:a.firstChild:null;return!(!a||1!==a.nodeType||!a.hasAttribute("data-reactroot"))}function Hb(a,b,c,d,e){Jc(c)?void 0:l("200");var f=c._reactRootContainer;if(f)E.updateContainer(b,f,a,e);else{d=d||Gf(c);if(!d)for(f=void 0;f=c.lastChild;)c.removeChild(f);var g=E.createContainer(c,d);f=c._reactRootContainer=g;E.unbatchedUpdates(function(){E.updateContainer(b,g,a,e)})}return E.getPublicRootInstance(f)}
function Ge(a,b){var c=2<arguments.length&&void 0!==arguments[2]?arguments[2]:null;Jc(b)?void 0:l("200");return Bf(a,b,null,c)}function He(a,b){this._reactRootContainer=E.createContainer(a,b)}na?void 0:l("227");var Yc={children:!0,dangerouslySetInnerHTML:!0,defaultValue:!0,defaultChecked:!0,innerHTML:!0,suppressContentEditableWarning:!0,suppressHydrationWarning:!0,style:!0},Ie={MUST_USE_PROPERTY:1,HAS_BOOLEAN_VALUE:4,HAS_NUMERIC_VALUE:8,HAS_POSITIVE_NUMERIC_VALUE:24,HAS_OVERLOADED_BOOLEAN_VALUE:32,
HAS_STRING_BOOLEAN_VALUE:64,injectDOMPropertyConfig:function(a){var b=Ie,c=a.Properties||{},d=a.DOMAttributeNamespaces||{},e=a.DOMAttributeNames||{};a=a.DOMMutationMethods||{};for(var f in c){ib.hasOwnProperty(f)?l("48",f):void 0;var g=f.toLowerCase(),h=c[f];g={attributeName:g,attributeNamespace:null,propertyName:f,mutationMethod:null,mustUseProperty:va(h,b.MUST_USE_PROPERTY),hasBooleanValue:va(h,b.HAS_BOOLEAN_VALUE),hasNumericValue:va(h,b.HAS_NUMERIC_VALUE),hasPositiveNumericValue:va(h,b.HAS_POSITIVE_NUMERIC_VALUE),
hasOverloadedBooleanValue:va(h,b.HAS_OVERLOADED_BOOLEAN_VALUE),hasStringBooleanValue:va(h,b.HAS_STRING_BOOLEAN_VALUE)};1>=g.hasBooleanValue+g.hasNumericValue+g.hasOverloadedBooleanValue?void 0:l("50",f);e.hasOwnProperty(f)&&(g.attributeName=e[f]);d.hasOwnProperty(f)&&(g.attributeNamespace=d[f]);a.hasOwnProperty(f)&&(g.mutationMethod=a[f]);ib[f]=g}}},ib={},aa=Ie,Ib=aa.MUST_USE_PROPERTY,w=aa.HAS_BOOLEAN_VALUE,Je=aa.HAS_NUMERIC_VALUE,Jb=aa.HAS_POSITIVE_NUMERIC_VALUE,Ke=aa.HAS_OVERLOADED_BOOLEAN_VALUE,
Kb=aa.HAS_STRING_BOOLEAN_VALUE,Hf={Properties:{allowFullScreen:w,async:w,autoFocus:w,autoPlay:w,capture:Ke,checked:Ib|w,cols:Jb,contentEditable:Kb,controls:w,"default":w,defer:w,disabled:w,download:Ke,draggable:Kb,formNoValidate:w,hidden:w,loop:w,multiple:Ib|w,muted:Ib|w,noValidate:w,open:w,playsInline:w,readOnly:w,required:w,reversed:w,rows:Jb,rowSpan:Je,scoped:w,seamless:w,selected:Ib|w,size:Jb,start:Je,span:Jb,spellCheck:Kb,style:0,tabIndex:0,itemScope:w,acceptCharset:0,className:0,htmlFor:0,httpEquiv:0,
value:Kb},DOMAttributeNames:{acceptCharset:"accept-charset",className:"class",htmlFor:"for",httpEquiv:"http-equiv"},DOMMutationMethods:{value:function(a,b){if(null==b)return a.removeAttribute("value");"number"!==a.type||!1===a.hasAttribute("value")?a.setAttribute("value",""+b):a.validity&&!a.validity.badInput&&a.ownerDocument.activeElement!==a&&a.setAttribute("value",""+b)}}},Kc=aa.HAS_STRING_BOOLEAN_VALUE,Lc={Properties:{autoReverse:Kc,externalResourcesRequired:Kc,preserveAlpha:Kc},DOMAttributeNames:{autoReverse:"autoReverse",
externalResourcesRequired:"externalResourcesRequired",preserveAlpha:"preserveAlpha"},DOMAttributeNamespaces:{xlinkActuate:"http://www.w3.org/1999/xlink",xlinkArcrole:"http://www.w3.org/1999/xlink",xlinkHref:"http://www.w3.org/1999/xlink",xlinkRole:"http://www.w3.org/1999/xlink",xlinkShow:"http://www.w3.org/1999/xlink",xlinkTitle:"http://www.w3.org/1999/xlink",xlinkType:"http://www.w3.org/1999/xlink",xmlBase:"http://www.w3.org/XML/1998/namespace",xmlLang:"http://www.w3.org/XML/1998/namespace",xmlSpace:"http://www.w3.org/XML/1998/namespace"}},
If=/[\-\:]([a-z])/g,Jf=function(a){return a[1].toUpperCase()};"accent-height alignment-baseline arabic-form baseline-shift cap-height clip-path clip-rule color-interpolation color-interpolation-filters color-profile color-rendering dominant-baseline enable-background fill-opacity fill-rule flood-color flood-opacity font-family font-size font-size-adjust font-stretch font-style font-variant font-weight glyph-name glyph-orientation-horizontal glyph-orientation-vertical horiz-adv-x horiz-origin-x image-rendering letter-spacing lighting-color marker-end marker-mid marker-start overline-position overline-thickness paint-order panose-1 pointer-events rendering-intent shape-rendering stop-color stop-opacity strikethrough-position strikethrough-thickness stroke-dasharray stroke-dashoffset stroke-linecap stroke-linejoin stroke-miterlimit stroke-opacity stroke-width text-anchor text-decoration text-rendering underline-position underline-thickness unicode-bidi unicode-range units-per-em v-alphabetic v-hanging v-ideographic v-mathematical vector-effect vert-adv-y vert-origin-x vert-origin-y word-spacing writing-mode x-height xlink:actuate xlink:arcrole xlink:href xlink:role xlink:show xlink:title xlink:type xml:base xmlns:xlink xml:lang xml:space".split(" ").forEach(function(a){var b=
a.replace(If,Jf);Lc.Properties[b]=0;Lc.DOMAttributeNames[b]=a});aa.injectDOMPropertyConfig(Hf);aa.injectDOMPropertyConfig(Lc);var y={_caughtError:null,_hasCaughtError:!1,_rethrowError:null,_hasRethrowError:!1,injection:{injectErrorUtils:function(a){"function"!==typeof a.invokeGuardedCallback?l("197"):void 0;Le=a.invokeGuardedCallback}},invokeGuardedCallback:function(a,b,c,d,e,f,g,h,k){Le.apply(y,arguments)},invokeGuardedCallbackAndCatchFirstError:function(a,b,c,d,e,f,g,h,k){y.invokeGuardedCallback.apply(this,
arguments);if(y.hasCaughtError()){var l=y.clearCaughtError();y._hasRethrowError||(y._hasRethrowError=!0,y._rethrowError=l)}},rethrowCaughtError:function(){return Kf.apply(y,arguments)},hasCaughtError:function(){return y._hasCaughtError},clearCaughtError:function(){if(y._hasCaughtError){var a=y._caughtError;y._caughtError=null;y._hasCaughtError=!1;return a}l("198")}},Le=function(a,b,c,d,e,f,g,h,k){y._hasCaughtError=!1;y._caughtError=null;var l=Array.prototype.slice.call(arguments,3);try{b.apply(c,
l)}catch(D){y._caughtError=D,y._hasCaughtError=!0}},Kf=function(){if(y._hasRethrowError){var a=y._rethrowError;y._rethrowError=null;y._hasRethrowError=!1;throw a;}},jb=null,ba={},oa=[],Vb={},ca={},kb={},Lf=Object.freeze({plugins:oa,eventNameDispatchConfigs:Vb,registrationNameModules:ca,registrationNameDependencies:kb,possibleRegistrationNames:null,injectEventPluginOrder:ad,injectEventPluginsByName:bd}),ta=function(){};ta.thatReturns=lb;ta.thatReturnsFalse=lb(!1);ta.thatReturnsTrue=lb(!0);ta.thatReturnsNull=
lb(null);ta.thatReturnsThis=function(){return this};ta.thatReturnsArgument=function(a){return a};var G=ta,Xb=null,vd=null,dd=null,pa=null,Me=function(a,b){if(a){var c=a._dispatchListeners,d=a._dispatchInstances;if(Array.isArray(c))for(var e=0;e<c.length&&!a.isPropagationStopped();e++)cd(a,b,c[e],d[e]);else c&&cd(a,b,c,d);a._dispatchListeners=null;a._dispatchInstances=null;a.isPersistent()||a.constructor.release(a)}},$e=function(a){return Me(a,!0)},af=function(a){return Me(a,!1)},Mc={injectEventPluginOrder:ad,
injectEventPluginsByName:bd},Mf=Object.freeze({injection:Mc,getListener:Wb,extractEvents:ed,enqueueEvents:Yb,processEventQueue:Zb}),Ne=Math.random().toString(36).slice(2),O="__reactInternalInstance$"+Ne,ea="__reactEventHandlers$"+Ne,Oe=Object.freeze({precacheFiberNode:function(a,b){b[O]=a},getClosestInstanceFromNode:W,getInstanceFromNode:function(a){a=a[O];return!a||5!==a.tag&&6!==a.tag?null:a},getNodeFromInstance:xa,getFiberCurrentPropsFromNode:fd,updateFiberProps:function(a,b){a[ea]=b}}),Nf=Object.freeze({accumulateTwoPhaseDispatches:ya,
accumulateTwoPhaseDispatchesSkipTarget:function(a){da(a,cf)},accumulateEnterLeaveDispatches:id,accumulateDirectDispatches:function(a){da(a,df)}}),Lb=!("undefined"===typeof window||!window.document||!window.document.createElement),P={canUseDOM:Lb,canUseWorkers:"undefined"!==typeof Worker,canUseEventListeners:Lb&&!(!window.addEventListener&&!window.attachEvent),canUseViewport:Lb&&!!window.screen,isInWorker:!Lb},ac=null,H={_root:null,_startText:null,_fallbackText:null},C=na.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.assign,
Pe="dispatchConfig _targetInst nativeEvent isDefaultPrevented isPropagationStopped _dispatchListeners _dispatchInstances".split(" "),Of={type:null,target:null,currentTarget:G.thatReturnsNull,eventPhase:null,bubbles:null,cancelable:null,timeStamp:function(a){return a.timeStamp||Date.now()},defaultPrevented:null,isTrusted:null};C(n.prototype,{preventDefault:function(){this.defaultPrevented=!0;var a=this.nativeEvent;a&&(a.preventDefault?a.preventDefault():"unknown"!==typeof a.returnValue&&(a.returnValue=
!1),this.isDefaultPrevented=G.thatReturnsTrue)},stopPropagation:function(){var a=this.nativeEvent;a&&(a.stopPropagation?a.stopPropagation():"unknown"!==typeof a.cancelBubble&&(a.cancelBubble=!0),this.isPropagationStopped=G.thatReturnsTrue)},persist:function(){this.isPersistent=G.thatReturnsTrue},isPersistent:G.thatReturnsFalse,destructor:function(){var a=this.constructor.Interface,b;for(b in a)this[b]=null;for(a=0;a<Pe.length;a++)this[Pe[a]]=null}});n.Interface=Of;n.augmentClass=function(a,b){var c=
function(){};c.prototype=this.prototype;c=new c;C(c,a.prototype);a.prototype=c;a.prototype.constructor=a;a.Interface=C({},this.Interface,b);a.augmentClass=this.augmentClass;md(a)};md(n);n.augmentClass(nd,{data:null});n.augmentClass(od,{data:null});var hf=[9,13,27,32],bc=P.canUseDOM&&"CompositionEvent"in window,ab=null;P.canUseDOM&&"documentMode"in document&&(ab=document.documentMode);var Pf=P.canUseDOM&&"TextEvent"in window&&!ab&&!gf(),td=P.canUseDOM&&(!bc||ab&&8<ab&&11>=ab),sd=String.fromCharCode(32),
V={beforeInput:{phasedRegistrationNames:{bubbled:"onBeforeInput",captured:"onBeforeInputCapture"},dependencies:["topCompositionEnd","topKeyPress","topTextInput","topPaste"]},compositionEnd:{phasedRegistrationNames:{bubbled:"onCompositionEnd",captured:"onCompositionEndCapture"},dependencies:"topBlur topCompositionEnd topKeyDown topKeyPress topKeyUp topMouseDown".split(" ")},compositionStart:{phasedRegistrationNames:{bubbled:"onCompositionStart",captured:"onCompositionStartCapture"},dependencies:"topBlur topCompositionStart topKeyDown topKeyPress topKeyUp topMouseDown".split(" ")},
compositionUpdate:{phasedRegistrationNames:{bubbled:"onCompositionUpdate",captured:"onCompositionUpdateCapture"},dependencies:"topBlur topCompositionUpdate topKeyDown topKeyPress topKeyUp topMouseDown".split(" ")}},rd=!1,za=!1,Qf={eventTypes:V,extractEvents:function(a,b,c,d){var e;if(bc)b:{switch(a){case "topCompositionStart":var f=V.compositionStart;break b;case "topCompositionEnd":f=V.compositionEnd;break b;case "topCompositionUpdate":f=V.compositionUpdate;break b}f=void 0}else za?pd(a,c)&&(f=V.compositionEnd):
"topKeyDown"===a&&229===c.keyCode&&(f=V.compositionStart);f?(td&&(za||f!==V.compositionStart?f===V.compositionEnd&&za&&(e=kd()):(H._root=d,H._startText=ld(),za=!0)),f=nd.getPooled(f,b,c,d),e?f.data=e:(e=qd(c),null!==e&&(f.data=e)),ya(f),e=f):e=null;(a=Pf?jf(a,c):kf(a,c))?(b=od.getPooled(V.beforeInput,b,c,d),b.data=a,ya(b)):b=null;return[e,b]}},mb=null,Ga=null,fa=null,Qe={injectFiberControlledHostComponent:function(a){mb=a}},Rf=Object.freeze({injection:Qe,enqueueStateRestore:wd,restoreStateIfNeeded:xd}),
ec=function(a,b){return a(b)},dc=!1,lf={color:!0,date:!0,datetime:!0,"datetime-local":!0,email:!0,month:!0,number:!0,password:!0,range:!0,search:!0,tel:!0,text:!0,time:!0,url:!0,week:!0},zd;P.canUseDOM&&(zd=document.implementation&&document.implementation.hasFeature&&!0!==document.implementation.hasFeature("",""));var Dd={change:{phasedRegistrationNames:{bubbled:"onChange",captured:"onChangeCapture"},dependencies:"topBlur topChange topClick topFocus topInput topKeyDown topKeyUp topSelectionChange".split(" ")}},
Ha=null,Oa=null,Nc=!1;P.canUseDOM&&(Nc=gc("input")&&(!document.documentMode||9<document.documentMode));var Sf={eventTypes:Dd,_isInputEventSupported:Nc,extractEvents:function(a,b,c,d){var e=b?xa(b):window,f=e.nodeName&&e.nodeName.toLowerCase();if("select"===f||"input"===f&&"file"===e.type)var g=of;else if(yd(e))if(Nc)g=sf;else{g=qf;var h=pf}else f=e.nodeName,!f||"input"!==f.toLowerCase()||"checkbox"!==e.type&&"radio"!==e.type||(g=rf);if(g&&(g=g(a,b)))return Cd(g,c,d);h&&h(a,e,b);"topBlur"===a&&null!=
b&&(a=b._wrapperState||e._wrapperState)&&a.controlled&&"number"===e.type&&(a=""+e.value,e.getAttribute("value")!==a&&e.setAttribute("value",a))}};n.augmentClass(Aa,{view:null,detail:null});var uf={Alt:"altKey",Control:"ctrlKey",Meta:"metaKey",Shift:"shiftKey"};Aa.augmentClass(qa,{screenX:null,screenY:null,clientX:null,clientY:null,pageX:null,pageY:null,ctrlKey:null,shiftKey:null,altKey:null,metaKey:null,getModifierState:hc,button:null,buttons:null,relatedTarget:function(a){return a.relatedTarget||
(a.fromElement===a.srcElement?a.toElement:a.fromElement)}});var Oc={mouseEnter:{registrationName:"onMouseEnter",dependencies:["topMouseOut","topMouseOver"]},mouseLeave:{registrationName:"onMouseLeave",dependencies:["topMouseOut","topMouseOver"]}},Tf={eventTypes:Oc,extractEvents:function(a,b,c,d){if("topMouseOver"===a&&(c.relatedTarget||c.fromElement)||"topMouseOut"!==a&&"topMouseOver"!==a)return null;var e=d.window===d?d:(e=d.ownerDocument)?e.defaultView||e.parentWindow:window;"topMouseOut"===a?(a=
b,b=(b=c.relatedTarget||c.toElement)?W(b):null):a=null;if(a===b)return null;var f=null==a?e:xa(a);e=null==b?e:xa(b);var g=qa.getPooled(Oc.mouseLeave,a,c,d);g.type="mouseleave";g.target=f;g.relatedTarget=e;c=qa.getPooled(Oc.mouseEnter,b,c,d);c.type="mouseenter";c.target=e;c.relatedTarget=f;id(g,c,a,b);return[g,c]}},bb=na.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner,Id={listen:function(a,b,c){if(a.addEventListener)return a.addEventListener(b,c,!1),{remove:function(){a.removeEventListener(b,
c,!1)}};if(a.attachEvent)return a.attachEvent("on"+b,c),{remove:function(){a.detachEvent("on"+b,c)}}},capture:function(a,b,c){return a.addEventListener?(a.addEventListener(b,c,!0),{remove:function(){a.removeEventListener(b,c,!0)}}):{remove:G}},registerDefault:function(){}},qb=[],Ra=!0,pb=void 0,Uf=Object.freeze({get _enabled(){return Ra},get _handleTopLevel(){return pb},setHandleTopLevel:function(a){pb=a},setEnabled:ic,isEnabled:function(){return Ra},trapBubbledEvent:r,trapCapturedEvent:ha,dispatchEvent:jc}),
U={animationend:rb("Animation","AnimationEnd"),animationiteration:rb("Animation","AnimationIteration"),animationstart:rb("Animation","AnimationStart"),transitionend:rb("Transition","TransitionEnd")},kc={},Jd={};P.canUseDOM&&(Jd=document.createElement("div").style,"AnimationEvent"in window||(delete U.animationend.animation,delete U.animationiteration.animation,delete U.animationstart.animation),"TransitionEvent"in window||delete U.transitionend.transition);var xe={topAbort:"abort",topAnimationEnd:sb("animationend")||
"animationend",topAnimationIteration:sb("animationiteration")||"animationiteration",topAnimationStart:sb("animationstart")||"animationstart",topBlur:"blur",topCancel:"cancel",topCanPlay:"canplay",topCanPlayThrough:"canplaythrough",topChange:"change",topClick:"click",topClose:"close",topCompositionEnd:"compositionend",topCompositionStart:"compositionstart",topCompositionUpdate:"compositionupdate",topContextMenu:"contextmenu",topCopy:"copy",topCut:"cut",topDoubleClick:"dblclick",topDrag:"drag",topDragEnd:"dragend",
topDragEnter:"dragenter",topDragExit:"dragexit",topDragLeave:"dragleave",topDragOver:"dragover",topDragStart:"dragstart",topDrop:"drop",topDurationChange:"durationchange",topEmptied:"emptied",topEncrypted:"encrypted",topEnded:"ended",topError:"error",topFocus:"focus",topInput:"input",topKeyDown:"keydown",topKeyPress:"keypress",topKeyUp:"keyup",topLoadedData:"loadeddata",topLoad:"load",topLoadedMetadata:"loadedmetadata",topLoadStart:"loadstart",topMouseDown:"mousedown",topMouseMove:"mousemove",topMouseOut:"mouseout",
topMouseOver:"mouseover",topMouseUp:"mouseup",topPaste:"paste",topPause:"pause",topPlay:"play",topPlaying:"playing",topProgress:"progress",topRateChange:"ratechange",topScroll:"scroll",topSeeked:"seeked",topSeeking:"seeking",topSelectionChange:"selectionchange",topStalled:"stalled",topSuspend:"suspend",topTextInput:"textInput",topTimeUpdate:"timeupdate",topToggle:"toggle",topTouchCancel:"touchcancel",topTouchEnd:"touchend",topTouchMove:"touchmove",topTouchStart:"touchstart",topTransitionEnd:sb("transitionend")||
"transitionend",topVolumeChange:"volumechange",topWaiting:"waiting",topWheel:"wheel"},Ld={},zf=0,tb="_reactListenersID"+(""+Math.random()).slice(2),nc=function(a){a=a||("undefined"!==typeof document?document:void 0);if("undefined"===typeof a)return null;try{return a.activeElement||a.body}catch(b){return a.body}},Vf=Object.prototype.hasOwnProperty,oc=function(a,b){if(Md(a,b))return!0;if("object"!==typeof a||null===a||"object"!==typeof b||null===b)return!1;var c=Object.keys(a),d=Object.keys(b);if(c.length!==
d.length)return!1;for(d=0;d<c.length;d++)if(!Vf.call(b,c[d])||!Md(a[c[d]],b[c[d]]))return!1;return!0},Od=function(a){var b=(a?a.ownerDocument||a:document).defaultView||window;return!!(a&&("function"===typeof b.Node?a instanceof b.Node:"object"===typeof a&&"number"===typeof a.nodeType&&"string"===typeof a.nodeName))&&3==a.nodeType},Wf=P.canUseDOM&&"documentMode"in document&&11>=document.documentMode,Sd={select:{phasedRegistrationNames:{bubbled:"onSelect",captured:"onSelectCapture"},dependencies:"topBlur topContextMenu topFocus topKeyDown topKeyUp topMouseDown topMouseUp topSelectionChange".split(" ")}},
X=null,pc=null,Sa=null,mc=!1,Xf={eventTypes:Sd,extractEvents:function(a,b,c,d){var e=d.window===d?d.document:9===d.nodeType?d:d.ownerDocument,f;if(!(f=!e)){a:{e=Kd(e);f=kb.onSelect;for(var g=0;g<f.length;g++){var h=f[g];if(!e.hasOwnProperty(h)||!e[h]){e=!1;break a}}e=!0}f=!e}if(f)return null;e=b?xa(b):window;switch(a){case "topFocus":if(yd(e)||"true"===e.contentEditable)X=e,pc=b,Sa=null;break;case "topBlur":Sa=pc=X=null;break;case "topMouseDown":mc=!0;break;case "topContextMenu":case "topMouseUp":return mc=
!1,Rd(c,d);case "topSelectionChange":if(Wf)break;case "topKeyDown":case "topKeyUp":return Rd(c,d)}return null}};n.augmentClass(Td,{animationName:null,elapsedTime:null,pseudoElement:null});n.augmentClass(Ud,{clipboardData:function(a){return"clipboardData"in a?a.clipboardData:window.clipboardData}});Aa.augmentClass(Vd,{relatedTarget:null});var Yf={Esc:"Escape",Spacebar:" ",Left:"ArrowLeft",Up:"ArrowUp",Right:"ArrowRight",Down:"ArrowDown",Del:"Delete",Win:"OS",Menu:"ContextMenu",Apps:"ContextMenu",Scroll:"ScrollLock",
MozPrintableKey:"Unidentified"},Zf={8:"Backspace",9:"Tab",12:"Clear",13:"Enter",16:"Shift",17:"Control",18:"Alt",19:"Pause",20:"CapsLock",27:"Escape",32:" ",33:"PageUp",34:"PageDown",35:"End",36:"Home",37:"ArrowLeft",38:"ArrowUp",39:"ArrowRight",40:"ArrowDown",45:"Insert",46:"Delete",112:"F1",113:"F2",114:"F3",115:"F4",116:"F5",117:"F6",118:"F7",119:"F8",120:"F9",121:"F10",122:"F11",123:"F12",144:"NumLock",145:"ScrollLock",224:"Meta"};Aa.augmentClass(Wd,{key:function(a){if(a.key){var b=Yf[a.key]||
a.key;if("Unidentified"!==b)return b}return"keypress"===a.type?(a=ub(a),13===a?"Enter":String.fromCharCode(a)):"keydown"===a.type||"keyup"===a.type?Zf[a.keyCode]||"Unidentified":""},location:null,ctrlKey:null,shiftKey:null,altKey:null,metaKey:null,repeat:null,locale:null,getModifierState:hc,charCode:function(a){return"keypress"===a.type?ub(a):0},keyCode:function(a){return"keydown"===a.type||"keyup"===a.type?a.keyCode:0},which:function(a){return"keypress"===a.type?ub(a):"keydown"===a.type||"keyup"===
a.type?a.keyCode:0}});qa.augmentClass(Xd,{dataTransfer:null});Aa.augmentClass(Yd,{touches:null,targetTouches:null,changedTouches:null,altKey:null,metaKey:null,ctrlKey:null,shiftKey:null,getModifierState:hc});n.augmentClass(Zd,{propertyName:null,elapsedTime:null,pseudoElement:null});qa.augmentClass($d,{deltaX:function(a){return"deltaX"in a?a.deltaX:"wheelDeltaX"in a?-a.wheelDeltaX:0},deltaY:function(a){return"deltaY"in a?a.deltaY:"wheelDeltaY"in a?-a.wheelDeltaY:"wheelDelta"in a?-a.wheelDelta:0},deltaZ:null,
deltaMode:null});var Re={},Se={};"abort animationEnd animationIteration animationStart blur cancel canPlay canPlayThrough click close contextMenu copy cut doubleClick drag dragEnd dragEnter dragExit dragLeave dragOver dragStart drop durationChange emptied encrypted ended error focus input invalid keyDown keyPress keyUp load loadedData loadedMetadata loadStart mouseDown mouseMove mouseOut mouseOver mouseUp paste pause play playing progress rateChange reset scroll seeked seeking stalled submit suspend timeUpdate toggle touchCancel touchEnd touchMove touchStart transitionEnd volumeChange waiting wheel".split(" ").forEach(function(a){var b=
a[0].toUpperCase()+a.slice(1),c="on"+b;b="top"+b;c={phasedRegistrationNames:{bubbled:c,captured:c+"Capture"},dependencies:[b]};Re[a]=c;Se[b]=c});var $f={eventTypes:Re,extractEvents:function(a,b,c,d){var e=Se[a];if(!e)return null;switch(a){case "topKeyPress":if(0===ub(c))return null;case "topKeyDown":case "topKeyUp":a=Wd;break;case "topBlur":case "topFocus":a=Vd;break;case "topClick":if(2===c.button)return null;case "topDoubleClick":case "topMouseDown":case "topMouseMove":case "topMouseUp":case "topMouseOut":case "topMouseOver":case "topContextMenu":a=
qa;break;case "topDrag":case "topDragEnd":case "topDragEnter":case "topDragExit":case "topDragLeave":case "topDragOver":case "topDragStart":case "topDrop":a=Xd;break;case "topTouchCancel":case "topTouchEnd":case "topTouchMove":case "topTouchStart":a=Yd;break;case "topAnimationEnd":case "topAnimationIteration":case "topAnimationStart":a=Td;break;case "topTransitionEnd":a=Zd;break;case "topScroll":a=Aa;break;case "topWheel":a=$d;break;case "topCopy":case "topCut":case "topPaste":a=Ud;break;default:a=
n}b=a.getPooled(e,b,c,d);ya(b);return b}};pb=function(a,b,c,d){a=ed(a,b,c,d);Yb(a);Zb(!1)};Mc.injectEventPluginOrder("ResponderEventPlugin SimpleEventPlugin TapEventPlugin EnterLeaveEventPlugin ChangeEventPlugin SelectEventPlugin BeforeInputEventPlugin".split(" "));(function(a){Xb=a.getFiberCurrentPropsFromNode;vd=a.getInstanceFromNode;dd=a.getNodeFromInstance})(Oe);Mc.injectEventPluginsByName({SimpleEventPlugin:$f,EnterLeaveEventPlugin:Tf,ChangeEventPlugin:Sf,SelectEventPlugin:Xf,BeforeInputEventPlugin:Qf});
var ja={},vb=[],ra=-1;new Set;var ia={current:ja},J={current:!1},wb=ja,vc=null,wc=null,ag=function(a,b,c,d){function e(a,b){b.updater=f;a.stateNode=b;b._reactInternalFiber=a}var f={isMounted:vf,enqueueSetState:function(c,d,e){c=c._reactInternalFiber;e=void 0===e?null:e;var f=b(c);Bb(c,{expirationTime:f,partialState:d,callback:e,isReplace:!1,isForced:!1,nextCallback:null,next:null});a(c,f)},enqueueReplaceState:function(c,d,e){c=c._reactInternalFiber;e=void 0===e?null:e;var f=b(c);Bb(c,{expirationTime:f,
partialState:d,callback:e,isReplace:!0,isForced:!1,nextCallback:null,next:null});a(c,f)},enqueueForceUpdate:function(c,d){c=c._reactInternalFiber;d=void 0===d?null:d;var e=b(c);Bb(c,{expirationTime:e,partialState:null,callback:d,isReplace:!1,isForced:!0,nextCallback:null,next:null});a(c,e)}};return{adoptClassInstance:e,constructClassInstance:function(a,b){var c=a.type,d=Ta(a),f=2===a.tag&&null!=a.type.contextTypes,g=f?Va(a,d):ja;b=new c(b,g);e(a,b);f&&(a=a.stateNode,a.__reactInternalMemoizedUnmaskedChildContext=
d,a.__reactInternalMemoizedMaskedChildContext=g);return b},mountClassInstance:function(a,b){var c=a.alternate,d=a.stateNode,e=d.state||null,h=a.pendingProps;h?void 0:l("158");var g=Ta(a);d.props=h;d.state=a.memoizedState=e;d.refs=ja;d.context=Va(a,g);null!=a.type&&null!=a.type.prototype&&!0===a.type.prototype.unstable_isAsyncReactComponent&&(a.internalContextTag|=1);"function"===typeof d.componentWillMount&&(e=d.state,d.componentWillMount(),e!==d.state&&f.enqueueReplaceState(d,d.state,null),e=a.updateQueue,
null!==e&&(d.state=xc(c,a,e,d,h,b)));"function"===typeof d.componentDidMount&&(a.effectTag|=4)},updateClassInstance:function(a,b,e){var g=b.stateNode;g.props=b.memoizedProps;g.state=b.memoizedState;var h=b.memoizedProps,k=b.pendingProps;k||(k=h,null==k?l("159"):void 0);var v=g.context,K=Ta(b);K=Va(b,K);"function"!==typeof g.componentWillReceiveProps||h===k&&v===K||(v=g.state,g.componentWillReceiveProps(k,K),g.state!==v&&f.enqueueReplaceState(g,g.state,null));v=b.memoizedState;e=null!==b.updateQueue?
xc(a,b,b.updateQueue,g,k,e):v;if(!(h!==k||v!==e||J.current||null!==b.updateQueue&&b.updateQueue.hasForceUpdate))return"function"!==typeof g.componentDidUpdate||h===a.memoizedProps&&v===a.memoizedState||(b.effectTag|=4),!1;var L=k;if(null===h||null!==b.updateQueue&&b.updateQueue.hasForceUpdate)L=!0;else{var R=b.stateNode,n=b.type;L="function"===typeof R.shouldComponentUpdate?R.shouldComponentUpdate(L,e,K):n.prototype&&n.prototype.isPureReactComponent?!oc(h,L)||!oc(v,e):!0}L?("function"===typeof g.componentWillUpdate&&
g.componentWillUpdate(k,e,K),"function"===typeof g.componentDidUpdate&&(b.effectTag|=4)):("function"!==typeof g.componentDidUpdate||h===a.memoizedProps&&v===a.memoizedState||(b.effectTag|=4),c(b,k),d(b,e));g.props=k;g.state=e;g.context=K;return L}}},cb="function"===typeof Symbol&&Symbol["for"],Db=cb?Symbol["for"]("react.element"):60103,Eb=cb?Symbol["for"]("react.call"):60104,Fb=cb?Symbol["for"]("react.return"):60105,Ya=cb?Symbol["for"]("react.portal"):60106,sa=cb?Symbol["for"]("react.fragment"):60107,
ke="function"===typeof Symbol&&Symbol.iterator,Gb=Array.isArray,db=le(!0),Mb=le(!1),bg=function(a,b,c,d,e){function f(a,b,c){var d=b.expirationTime;b.child=null===a?Mb(b,null,c,d):db(b,a.child,c,d)}function g(a,b){var c=b.ref;null===c||a&&a.ref===c||(b.effectTag|=128)}function h(a,b,c,d){g(a,b);if(!c)return d&&de(b,!1),m(a,b);c=b.stateNode;bb.current=b;var e=c.render();b.effectTag|=1;f(a,b,e);b.memoizedState=c.state;b.memoizedProps=c.props;d&&de(b,!0);return b.child}function k(a){var b=a.stateNode;
b.pendingContext?be(a,b.pendingContext,b.pendingContext!==b.context):b.context&&be(a,b.context,!1);R(a,b.containerInfo)}function m(a,b){null!==a&&b.child!==a.child?l("153"):void 0;if(null!==b.child){a=b.child;var c=yb(a,a.pendingProps,a.expirationTime);b.child=c;for(c["return"]=b;null!==a.sibling;)a=a.sibling,c=c.sibling=yb(a,a.pendingProps,a.expirationTime),c["return"]=b;c.sibling=null}return b.child}function D(a,b){switch(b.tag){case 3:k(b);break;case 2:xb(b);break;case 4:R(b,b.stateNode.containerInfo)}return null}
var A=a.shouldSetTextContent,v=a.useSyncScheduling,n=a.shouldDeprioritizeSubtree,L=b.pushHostContext,R=b.pushHostContainer,r=c.enterHydrationState,w=c.resetHydrationState,y=c.tryToClaimNextHydratableInstance;a=ag(d,e,function(a,b){a.memoizedProps=b},function(a,b){a.memoizedState=b});var x=a.adoptClassInstance,t=a.constructClassInstance,z=a.mountClassInstance,yc=a.updateClassInstance;return{beginWork:function(a,b,c){if(0===b.expirationTime||b.expirationTime>c)return D(a,b);switch(b.tag){case 0:null!==
a?l("155"):void 0;var d=b.type,e=b.pendingProps,q=Ta(b);q=Va(b,q);d=d(e,q);b.effectTag|=1;"object"===typeof d&&null!==d&&"function"===typeof d.render?(b.tag=2,e=xb(b),x(b,d),z(b,c),b=h(a,b,!0,e)):(b.tag=1,f(a,b,d),b.memoizedProps=e,b=b.child);return b;case 1:a:{e=b.type;c=b.pendingProps;d=b.memoizedProps;if(J.current)null===c&&(c=d);else if(null===c||d===c){b=m(a,b);break a}d=Ta(b);d=Va(b,d);e=e(c,d);b.effectTag|=1;f(a,b,e);b.memoizedProps=c;b=b.child}return b;case 2:return e=xb(b),d=void 0,null===
a?b.stateNode?l("153"):(t(b,b.pendingProps),z(b,c),d=!0):d=yc(a,b,c),h(a,b,d,e);case 3:return k(b),e=b.updateQueue,null!==e?(d=b.memoizedState,e=xc(a,b,e,null,null,c),d===e?(w(),b=m(a,b)):(d=e.element,q=b.stateNode,(null===a||null===a.child)&&q.hydrate&&r(b)?(b.effectTag|=2,b.child=Mb(b,null,d,c)):(w(),f(a,b,d)),b.memoizedState=e,b=b.child)):(w(),b=m(a,b)),b;case 5:L(b);null===a&&y(b);e=b.type;var p=b.memoizedProps;d=b.pendingProps;null===d&&(d=p,null===d?l("154"):void 0);q=null!==a?a.memoizedProps:
null;J.current||null!==d&&p!==d?(p=d.children,A(e,d)?p=null:q&&A(e,q)&&(b.effectTag|=16),g(a,b),2147483647!==c&&!v&&n(e,d)?(b.expirationTime=2147483647,b=null):(f(a,b,p),b.memoizedProps=d,b=b.child)):b=m(a,b);return b;case 6:return null===a&&y(b),a=b.pendingProps,null===a&&(a=b.memoizedProps),b.memoizedProps=a,null;case 8:b.tag=7;case 7:e=b.pendingProps;if(J.current)null===e&&(e=a&&a.memoizedProps,null===e?l("154"):void 0);else if(null===e||b.memoizedProps===e)e=b.memoizedProps;d=e.children;b.stateNode=
null===a?Mb(b,b.stateNode,d,c):db(b,b.stateNode,d,c);b.memoizedProps=e;return b.stateNode;case 9:return null;case 4:a:{R(b,b.stateNode.containerInfo);e=b.pendingProps;if(J.current)null===e&&(e=a&&a.memoizedProps,null==e?l("154"):void 0);else if(null===e||b.memoizedProps===e){b=m(a,b);break a}null===a?b.child=db(b,null,e,c):f(a,b,e);b.memoizedProps=e;b=b.child}return b;case 10:a:{c=b.pendingProps;if(J.current)null===c&&(c=b.memoizedProps);else if(null===c||b.memoizedProps===c){b=m(a,b);break a}f(a,
b,c);b.memoizedProps=c;b=b.child}return b;default:l("156")}},beginFailedWork:function(a,b,c){switch(b.tag){case 2:xb(b);break;case 3:k(b);break;default:l("157")}b.effectTag|=64;null===a?b.child=null:b.child!==a.child&&(b.child=a.child);if(0===b.expirationTime||b.expirationTime>c)return D(a,b);b.firstEffect=null;b.lastEffect=null;b.child=null===a?Mb(b,null,null,c):db(b,a.child,null,c);2===b.tag&&(a=b.stateNode,b.memoizedProps=a.props,b.memoizedState=a.state);return b.child}}},cg=function(a,b,c){function d(a){a.effectTag|=
4}var e=a.createInstance,f=a.createTextInstance,g=a.appendInitialChild,h=a.finalizeInitialChildren,k=a.prepareUpdate,m=a.persistence,D=b.getRootHostContainer,A=b.popHostContext,v=b.getHostContext,n=b.popHostContainer,L=c.prepareToHydrateHostInstance,R=c.prepareToHydrateHostTextInstance,r=c.popHydrationState,w=void 0,y=void 0,x=void 0;a.mutation?(w=function(a){},y=function(a,b,c,e,f,g,h){(b.updateQueue=c)&&d(b)},x=function(a,b,c,e){c!==e&&d(b)}):m?l("235"):l("236");return{completeWork:function(a,b,
c){var t=b.pendingProps;if(null===t)t=b.memoizedProps;else if(2147483647!==b.expirationTime||2147483647===c)b.pendingProps=null;switch(b.tag){case 1:return null;case 2:return ae(b),null;case 3:n(b);I(J,b);I(ia,b);t=b.stateNode;t.pendingContext&&(t.context=t.pendingContext,t.pendingContext=null);if(null===a||null===a.child)r(b),b.effectTag&=-3;w(b);return null;case 5:A(b);c=D();var z=b.type;if(null!==a&&null!=b.stateNode){var m=a.memoizedProps,K=b.stateNode,yc=v();K=k(K,z,m,t,c,yc);y(a,b,K,z,m,t,c);
a.ref!==b.ref&&(b.effectTag|=128)}else{if(!t)return null===b.stateNode?l("166"):void 0,null;a=v();if(r(b))L(b,c,a)&&d(b);else{a=e(z,t,c,a,b);a:for(m=b.child;null!==m;){if(5===m.tag||6===m.tag)g(a,m.stateNode);else if(4!==m.tag&&null!==m.child){m.child["return"]=m;m=m.child;continue}if(m===b)break;for(;null===m.sibling;){if(null===m["return"]||m["return"]===b)break a;m=m["return"]}m.sibling["return"]=m["return"];m=m.sibling}h(a,z,t,c)&&d(b);b.stateNode=a}null!==b.ref&&(b.effectTag|=128)}return null;
case 6:if(a&&null!=b.stateNode)x(a,b,a.memoizedProps,t);else{if("string"!==typeof t)return null===b.stateNode?l("166"):void 0,null;a=D();c=v();r(b)?R(b)&&d(b):b.stateNode=f(t,a,c,b)}return null;case 7:(t=b.memoizedProps)?void 0:l("165");b.tag=8;z=[];a:for((m=b.stateNode)&&(m["return"]=b);null!==m;){if(5===m.tag||6===m.tag||4===m.tag)l("247");else if(9===m.tag)z.push(m.type);else if(null!==m.child){m.child["return"]=m;m=m.child;continue}for(;null===m.sibling;){if(null===m["return"]||m["return"]===
b)break a;m=m["return"]}m.sibling["return"]=m["return"];m=m.sibling}m=t.handler;t=m(t.props,z);b.child=db(b,null!==a?a.child:null,t,c);return b.child;case 8:return b.tag=7,null;case 9:return null;case 10:return null;case 4:return n(b),w(b),null;case 0:l("167");default:l("156")}}}},dg=function(a,b){function c(a){var c=a.ref;if(null!==c)try{c(null)}catch(z){b(a,z)}}function d(a){"function"===typeof ge&&ge(a);switch(a.tag){case 2:c(a);var d=a.stateNode;if("function"===typeof d.componentWillUnmount)try{d.props=
a.memoizedProps,d.state=a.memoizedState,d.componentWillUnmount()}catch(z){b(a,z)}break;case 5:c(a);break;case 7:e(a.stateNode);break;case 4:k&&g(a)}}function e(a){for(var b=a;;)if(d(b),null===b.child||k&&4===b.tag){if(b===a)break;for(;null===b.sibling;){if(null===b["return"]||b["return"]===a)return;b=b["return"]}b.sibling["return"]=b["return"];b=b.sibling}else b.child["return"]=b,b=b.child}function f(a){return 5===a.tag||3===a.tag||4===a.tag}function g(a){for(var b=a,c=!1,f=void 0,g=void 0;;){if(!c){c=
b["return"];a:for(;;){null===c?l("160"):void 0;switch(c.tag){case 5:f=c.stateNode;g=!1;break a;case 3:f=c.stateNode.containerInfo;g=!0;break a;case 4:f=c.stateNode.containerInfo;g=!0;break a}c=c["return"]}c=!0}if(5===b.tag||6===b.tag)e(b),g?y(f,b.stateNode):w(f,b.stateNode);else if(4===b.tag?f=b.stateNode.containerInfo:d(b),null!==b.child){b.child["return"]=b;b=b.child;continue}if(b===a)break;for(;null===b.sibling;){if(null===b["return"]||b["return"]===a)return;b=b["return"];4===b.tag&&(c=!1)}b.sibling["return"]=
b["return"];b=b.sibling}}var h=a.getPublicInstance,k=a.mutation;a=a.persistence;k||(a?l("235"):l("236"));var m=k.commitMount,D=k.commitUpdate,A=k.resetTextContent,v=k.commitTextUpdate,n=k.appendChild,L=k.appendChildToContainer,R=k.insertBefore,r=k.insertInContainerBefore,w=k.removeChild,y=k.removeChildFromContainer;return{commitResetTextContent:function(a){A(a.stateNode)},commitPlacement:function(a){a:{for(var b=a["return"];null!==b;){if(f(b)){var c=b;break a}b=b["return"]}l("160");c=void 0}var d=
b=void 0;switch(c.tag){case 5:b=c.stateNode;d=!1;break;case 3:b=c.stateNode.containerInfo;d=!0;break;case 4:b=c.stateNode.containerInfo;d=!0;break;default:l("161")}c.effectTag&16&&(A(b),c.effectTag&=-17);a:b:for(c=a;;){for(;null===c.sibling;){if(null===c["return"]||f(c["return"])){c=null;break a}c=c["return"]}c.sibling["return"]=c["return"];for(c=c.sibling;5!==c.tag&&6!==c.tag;){if(c.effectTag&2)continue b;if(null===c.child||4===c.tag)continue b;else c.child["return"]=c,c=c.child}if(!(c.effectTag&
2)){c=c.stateNode;break a}}for(var e=a;;){if(5===e.tag||6===e.tag)c?d?r(b,e.stateNode,c):R(b,e.stateNode,c):d?L(b,e.stateNode):n(b,e.stateNode);else if(4!==e.tag&&null!==e.child){e.child["return"]=e;e=e.child;continue}if(e===a)break;for(;null===e.sibling;){if(null===e["return"]||e["return"]===a)return;e=e["return"]}e.sibling["return"]=e["return"];e=e.sibling}},commitDeletion:function(a){g(a);a["return"]=null;a.child=null;a.alternate&&(a.alternate.child=null,a.alternate["return"]=null)},commitWork:function(a,
b){switch(b.tag){case 2:break;case 5:var c=b.stateNode;if(null!=c){var d=b.memoizedProps;a=null!==a?a.memoizedProps:d;var e=b.type,f=b.updateQueue;b.updateQueue=null;null!==f&&D(c,f,e,a,d,b)}break;case 6:null===b.stateNode?l("162"):void 0;c=b.memoizedProps;v(b.stateNode,null!==a?a.memoizedProps:c,c);break;case 3:break;default:l("163")}},commitLifeCycles:function(a,b){switch(b.tag){case 2:var c=b.stateNode;if(b.effectTag&4)if(null===a)c.props=b.memoizedProps,c.state=b.memoizedState,c.componentDidMount();
else{var d=a.memoizedProps;a=a.memoizedState;c.props=b.memoizedProps;c.state=b.memoizedState;c.componentDidUpdate(d,a)}b=b.updateQueue;null!==b&&je(b,c);break;case 3:c=b.updateQueue;null!==c&&je(c,null!==b.child?b.child.stateNode:null);break;case 5:c=b.stateNode;null===a&&b.effectTag&4&&m(c,b.type,b.memoizedProps,b);break;case 6:break;case 4:break;default:l("163")}},commitAttachRef:function(a){var b=a.ref;if(null!==b){var c=a.stateNode;switch(a.tag){case 5:b(h(c));break;default:b(c)}}},commitDetachRef:function(a){a=
a.ref;null!==a&&a(null)}}},la={},eg=function(a){function b(a){a===la?l("174"):void 0;return a}var c=a.getChildHostContext,d=a.getRootHostContext,e={current:la},f={current:la},g={current:la};return{getHostContext:function(){return b(e.current)},getRootHostContainer:function(){return b(g.current)},popHostContainer:function(a){I(e,a);I(f,a);I(g,a)},popHostContext:function(a){f.current===a&&(I(e,a),I(f,a))},pushHostContainer:function(a,b){M(g,b,a);b=d(b);M(f,a,a);M(e,b,a)},pushHostContext:function(a){var d=
b(g.current),h=b(e.current);d=c(h,a.type,d);h!==d&&(M(f,a,a),M(e,d,a))},resetHostContainer:function(){e.current=la;g.current=la}}},fg=function(a){function b(a,b){var c=new Q(5,null,0);c.type="DELETED";c.stateNode=b;c["return"]=a;c.effectTag=8;null!==a.lastEffect?(a.lastEffect.nextEffect=c,a.lastEffect=c):a.firstEffect=a.lastEffect=c}function c(a,b){switch(a.tag){case 5:return b=f(b,a.type,a.pendingProps),null!==b?(a.stateNode=b,!0):!1;case 6:return b=g(b,a.pendingProps),null!==b?(a.stateNode=b,!0):
!1;default:return!1}}function d(a){for(a=a["return"];null!==a&&5!==a.tag&&3!==a.tag;)a=a["return"];A=a}var e=a.shouldSetTextContent;a=a.hydration;if(!a)return{enterHydrationState:function(){return!1},resetHydrationState:function(){},tryToClaimNextHydratableInstance:function(){},prepareToHydrateHostInstance:function(){l("175")},prepareToHydrateHostTextInstance:function(){l("176")},popHydrationState:function(a){return!1}};var f=a.canHydrateInstance,g=a.canHydrateTextInstance,h=a.getNextHydratableSibling,
k=a.getFirstHydratableChild,m=a.hydrateInstance,D=a.hydrateTextInstance,A=null,v=null,n=!1;return{enterHydrationState:function(a){v=k(a.stateNode.containerInfo);A=a;return n=!0},resetHydrationState:function(){v=A=null;n=!1},tryToClaimNextHydratableInstance:function(a){if(n){var d=v;if(d){if(!c(a,d)){d=h(d);if(!d||!c(a,d)){a.effectTag|=2;n=!1;A=a;return}b(A,v)}A=a;v=k(d)}else a.effectTag|=2,n=!1,A=a}},prepareToHydrateHostInstance:function(a,b,c){b=m(a.stateNode,a.type,a.memoizedProps,b,c,a);a.updateQueue=
b;return null!==b?!0:!1},prepareToHydrateHostTextInstance:function(a){return D(a.stateNode,a.memoizedProps,a)},popHydrationState:function(a){if(a!==A)return!1;if(!n)return d(a),n=!0,!1;var c=a.type;if(5!==a.tag||"head"!==c&&"body"!==c&&!e(c,a.memoizedProps))for(c=v;c;)b(a,c),c=h(c);d(a);v=A?h(a.stateNode):null;return!0}}},gg=function(a){function b(a){X=Ba=!0;var b=a.stateNode;b.current===a?l("177"):void 0;b.isReadyForCommit=!1;bb.current=null;if(1<a.effectTag)if(null!==a.lastEffect){a.lastEffect.nextEffect=
a;var c=a.firstEffect}else c=a;else c=a.firstEffect;za();for(u=c;null!==u;){var d=!1,e=void 0;try{for(;null!==u;){var f=u.effectTag;f&16&&aa(u);if(f&128){var g=u.alternate;null!==g&&va(g)}switch(f&-242){case 2:V(u);u.effectTag&=-3;break;case 6:V(u);u.effectTag&=-3;ca(u.alternate,u);break;case 4:ca(u.alternate,u);break;case 8:ka=!0,na(u),ka=!1}u=u.nextEffect}}catch(Qc){d=!0,e=Qc}d&&(null===u?l("178"):void 0,h(u,e),null!==u&&(u=u.nextEffect))}Aa();b.current=a;for(u=c;null!==u;){c=!1;d=void 0;try{for(;null!==
u;){var k=u.effectTag;k&36&&sa(u.alternate,u);k&128&&ta(u);if(k&64)switch(e=u,f=void 0,null!==S&&(f=S.get(e),S["delete"](e),null==f&&null!==e.alternate&&(e=e.alternate,f=S.get(e),S["delete"](e))),null==f?l("184"):void 0,e.tag){case 2:e.stateNode.componentDidCatch(f.error,{componentStack:f.componentStack});break;case 3:null===ma&&(ma=f.error);break;default:l("157")}var Ma=u.nextEffect;u.nextEffect=null;u=Ma}}catch(Qc){c=!0,d=Qc}c&&(null===u?l("178"):void 0,h(u,d),null!==u&&(u=u.nextEffect))}Ba=X=!1;
"function"===typeof fe&&fe(a.stateNode);ua&&(ua.forEach(w),ua=null);null!==ma&&(a=ma,ma=null,G(a));b=b.current.expirationTime;0===b&&(Ia=S=null);return b}function c(a){for(;;){var b=Y(a.alternate,a,F),c=a["return"],d=a.sibling;var e=a;if(2147483647===F||2147483647!==e.expirationTime){if(2!==e.tag&&3!==e.tag)var f=0;else f=e.updateQueue,f=null===f?0:f.expirationTime;for(var g=e.child;null!==g;)0!==g.expirationTime&&(0===f||f>g.expirationTime)&&(f=g.expirationTime),g=g.sibling;e.expirationTime=f}if(null!==
b)return b;null!==c&&(null===c.firstEffect&&(c.firstEffect=a.firstEffect),null!==a.lastEffect&&(null!==c.lastEffect&&(c.lastEffect.nextEffect=a.firstEffect),c.lastEffect=a.lastEffect),1<a.effectTag&&(null!==c.lastEffect?c.lastEffect.nextEffect=a:c.firstEffect=a,c.lastEffect=a));if(null!==d)return d;if(null!==c)a=c;else{a.stateNode.isReadyForCommit=!0;break}}return null}function d(a){var b=Q(a.alternate,a,F);null===b&&(b=c(a));bb.current=null;return b}function e(a){var b=T(a.alternate,a,F);null===
b&&(b=c(a));bb.current=null;return b}function f(a){if(null!==S){if(!(0===F||F>a))if(F<=ha)for(;null!==B;)B=k(B)?e(B):d(B);else for(;null!==B&&!z();)B=k(B)?e(B):d(B)}else if(!(0===F||F>a))if(F<=ha)for(;null!==B;)B=d(B);else for(;null!==B&&!z();)B=d(B)}function g(a,b){Ba?l("243"):void 0;Ba=!0;a.isReadyForCommit=!1;if(a!==Ja||b!==F||null===B){for(;-1<ra;)vb[ra]=null,ra--;wb=ja;ia.current=ja;J.current=!1;P();Ja=a;F=b;B=yb(Ja.current,null,b)}var c=!1,d=null;try{f(b)}catch(Pc){c=!0,d=Pc}for(;c;){if(U){ma=
d;break}var g=B;if(null===g)U=!0;else{var k=h(g,d);null===k?l("183"):void 0;if(!U){try{c=k;d=b;for(k=c;null!==g;){switch(g.tag){case 2:ae(g);break;case 5:O(g);break;case 3:I(g);break;case 4:I(g)}if(g===k||g.alternate===k)break;g=g["return"]}B=e(c);f(d)}catch(Pc){c=!0;d=Pc;continue}break}}}b=ma;U=Ba=!1;ma=null;null!==b&&G(b);return a.isReadyForCommit?a.current.alternate:null}function h(a,b){var c=bb.current=null,d=!1,e=!1,f=null;if(3===a.tag)c=a,m(a)&&(U=!0);else for(var g=a["return"];null!==g&&null===
c;){2===g.tag?"function"===typeof g.stateNode.componentDidCatch&&(d=!0,f=Pa(g),c=g,e=!0):3===g.tag&&(c=g);if(m(g)){if(ka||null!==ua&&(ua.has(g)||null!==g.alternate&&ua.has(g.alternate)))return null;c=null;e=!1}g=g["return"]}if(null!==c){null===Ia&&(Ia=new Set);Ia.add(c);var h="";g=a;do{a:switch(g.tag){case 0:case 1:case 2:case 5:var k=g._debugOwner,l=g._debugSource;var Ma=Pa(g);var p=null;k&&(p=Pa(k));k=l;Ma="\n    in "+(Ma||"Unknown")+(k?" (at "+k.fileName.replace(/^.*[\\\/]/,"")+":"+k.lineNumber+
")":p?" (created by "+p+")":"");break a;default:Ma=""}h+=Ma;g=g["return"]}while(g);g=h;a=Pa(a);null===S&&(S=new Map);b={componentName:a,componentStack:g,error:b,errorBoundary:d?c.stateNode:null,errorBoundaryFound:d,errorBoundaryName:f,willRetry:e};S.set(c,b);try{var n=b.error;n&&n.suppressReactErrorLogging||console.error(n)}catch(Rc){Rc&&Rc.suppressReactErrorLogging||console.error(Rc)}X?(null===ua&&(ua=new Set),ua.add(c)):w(c);return c}null===ma&&(ma=b);return null}function k(a){return null!==S&&
(S.has(a)||null!==a.alternate&&S.has(a.alternate))}function m(a){return null!==Ia&&(Ia.has(a)||null!==a.alternate&&Ia.has(a.alternate))}function n(){return 20*(((y()+100)/20|0)+1)}function A(a){return 0!==Ca?Ca:Ba?X?1:F:!ya||a.internalContextTag&1?n():1}function v(a,b){return r(a,b,!1)}function r(a,b,c){for(;null!==a;){if(0===a.expirationTime||a.expirationTime>b)a.expirationTime=b;null!==a.alternate&&(0===a.alternate.expirationTime||a.alternate.expirationTime>b)&&(a.alternate.expirationTime=b);if(null===
a["return"])if(3===a.tag){c=a.stateNode;!Ba&&c===Ja&&b<F&&(B=Ja=null,F=0);var d=c,e=b;fa>Ga&&l("185");if(null===d.nextScheduledRoot)d.remainingExpirationTime=e,null===N?(Ka=N=d,d.nextScheduledRoot=d):(N=N.nextScheduledRoot=d,N.nextScheduledRoot=Ka);else{var f=d.remainingExpirationTime;if(0===f||e<f)d.remainingExpirationTime=e}Na||(Da?ea&&(Ea=d,Fa=1,t(Ea,Fa)):1===e?x(1,null):C(e));!Ba&&c===Ja&&b<F&&(B=Ja=null,F=0)}else break;a=a["return"]}}function w(a){r(a,1,!0)}function y(){return ha=((ba()-qa)/
10|0)+2}function C(a){if(0!==Z){if(a>Z)return;xa(la)}var b=ba()-qa;Z=a;la=wa(H,{timeout:10*(a-2)-b})}function E(){var a=0,b=null;if(null!==N)for(var c=N,d=Ka;null!==d;){var e=d.remainingExpirationTime;if(0===e){null===c||null===N?l("244"):void 0;if(d===d.nextScheduledRoot){Ka=N=d.nextScheduledRoot=null;break}else if(d===Ka)Ka=e=d.nextScheduledRoot,N.nextScheduledRoot=e,d.nextScheduledRoot=null;else if(d===N){N=c;N.nextScheduledRoot=Ka;d.nextScheduledRoot=null;break}else c.nextScheduledRoot=d.nextScheduledRoot,
d.nextScheduledRoot=null;d=c.nextScheduledRoot}else{if(0===a||e<a)a=e,b=d;if(d===N)break;c=d;d=d.nextScheduledRoot}}c=Ea;null!==c&&c===b?fa++:fa=0;Ea=b;Fa=a}function H(a){x(0,a)}function x(a,b){W=b;for(E();null!==Ea&&0!==Fa&&(0===a||Fa<=a)&&!oa;)t(Ea,Fa),E();null!==W&&(Z=0,la=-1);0!==Fa&&C(Fa);W=null;oa=!1;fa=0;if(da)throw a=pa,pa=null,da=!1,a;}function t(a,c){Na?l("245"):void 0;Na=!0;if(c<=y()){var d=a.finishedWork;null!==d?(a.finishedWork=null,a.remainingExpirationTime=b(d)):(a.finishedWork=null,
d=g(a,c),null!==d&&(a.remainingExpirationTime=b(d)))}else d=a.finishedWork,null!==d?(a.finishedWork=null,a.remainingExpirationTime=b(d)):(a.finishedWork=null,d=g(a,c),null!==d&&(z()?a.finishedWork=d:a.remainingExpirationTime=b(d)));Na=!1}function z(){return null===W||W.timeRemaining()>Ha?!1:oa=!0}function G(a){null===Ea?l("246"):void 0;Ea.remainingExpirationTime=0;da||(da=!0,pa=a)}var q=eg(a),p=fg(a),I=q.popHostContainer,O=q.popHostContext,P=q.resetHostContainer,M=bg(a,q,p,v,A),Q=M.beginWork,T=M.beginFailedWork,
Y=cg(a,q,p).completeWork;q=dg(a,h);var aa=q.commitResetTextContent,V=q.commitPlacement,na=q.commitDeletion,ca=q.commitWork,sa=q.commitLifeCycles,ta=q.commitAttachRef,va=q.commitDetachRef,ba=a.now,wa=a.scheduleDeferredCallback,xa=a.cancelDeferredCallback,ya=a.useSyncScheduling,za=a.prepareForCommit,Aa=a.resetAfterCommit,qa=ba(),ha=2,Ca=0,Ba=!1,B=null,Ja=null,F=0,u=null,S=null,Ia=null,ua=null,ma=null,U=!1,X=!1,ka=!1,Ka=null,N=null,Z=0,la=-1,Na=!1,Ea=null,Fa=0,oa=!1,da=!1,pa=null,W=null,Da=!1,ea=!1,
Ga=1E3,fa=0,Ha=1;return{computeAsyncExpiration:n,computeExpirationForFiber:A,scheduleWork:v,batchedUpdates:function(a,b){var c=Da;Da=!0;try{return a(b)}finally{(Da=c)||Na||x(1,null)}},unbatchedUpdates:function(a){if(Da&&!ea){ea=!0;try{return a()}finally{ea=!1}}return a()},flushSync:function(a){var b=Da;Da=!0;try{a:{var c=Ca;Ca=1;try{var d=a();break a}finally{Ca=c}d=void 0}return d}finally{Da=b,Na?l("187"):void 0,x(1,null)}},deferredUpdates:function(a){var b=Ca;Ca=n();try{return a()}finally{Ca=b}}}},
Te=function(a){function b(a){a=wf(a);return null===a?null:a.stateNode}var c=a.getPublicInstance;a=gg(a);var d=a.computeAsyncExpiration,e=a.computeExpirationForFiber,f=a.scheduleWork;return{createContainer:function(a,b){var c=new Q(3,null,0);a={current:c,containerInfo:a,pendingChildren:null,remainingExpirationTime:0,isReadyForCommit:!1,finishedWork:null,context:null,pendingContext:null,hydrate:b,nextScheduledRoot:null};return c.stateNode=a},updateContainer:function(a,b,c,m){var g=b.current;if(c){c=
c._reactInternalFiber;var h;b:{2===Qa(c)&&2===c.tag?void 0:l("170");for(h=c;3!==h.tag;){if(Ua(h)){h=h.stateNode.__reactInternalMemoizedMergedChildContext;break b}(h=h["return"])?void 0:l("171")}h=h.stateNode.context}c=Ua(c)?ce(c,h):h}else c=ja;null===b.context?b.context=c:b.pendingContext=c;b=m;b=void 0===b?null:b;m=null!=a&&null!=a.type&&null!=a.type.prototype&&!0===a.type.prototype.unstable_isAsyncReactComponent?d():e(g);Bb(g,{expirationTime:m,partialState:{element:a},callback:b,isReplace:!1,isForced:!1,
nextCallback:null,next:null});f(g,m)},batchedUpdates:a.batchedUpdates,unbatchedUpdates:a.unbatchedUpdates,deferredUpdates:a.deferredUpdates,flushSync:a.flushSync,getPublicRootInstance:function(a){a=a.current;if(!a.child)return null;switch(a.child.tag){case 5:return c(a.child.stateNode);default:return a.child.stateNode}},findHostInstance:b,findHostInstanceWithNoPortals:function(a){a=xf(a);return null===a?null:a.stateNode},injectIntoDevTools:function(a){var c=a.findFiberByHostInstance;return Af(C({},
a,{findHostInstanceByFiber:function(a){return b(a)},findFiberByHostInstance:function(a){return c?c(a):null}}))}}},Ue=Object.freeze({default:Te}),Sc=Ue&&Te||Ue,hg=Sc["default"]?Sc["default"]:Sc,Ve="object"===typeof performance&&"function"===typeof performance.now,Nb=void 0;Nb=Ve?function(){return performance.now()}:function(){return Date.now()};var Ob=void 0,Pb=void 0;if(P.canUseDOM)if("function"!==typeof requestIdleCallback||"function"!==typeof cancelIdleCallback){var Qb=null,Rb=!1,eb=-1,fb=!1,gb=
0,Sb=33,hb=33;var Tc=Ve?{didTimeout:!1,timeRemaining:function(){var a=gb-performance.now();return 0<a?a:0}}:{didTimeout:!1,timeRemaining:function(){var a=gb-Date.now();return 0<a?a:0}};var We="__reactIdleCallback$"+Math.random().toString(36).slice(2);window.addEventListener("message",function(a){if(a.source===window&&a.data===We){Rb=!1;a=Nb();if(0>=gb-a)if(-1!==eb&&eb<=a)Tc.didTimeout=!0;else{fb||(fb=!0,requestAnimationFrame(Xe));return}else Tc.didTimeout=!1;eb=-1;a=Qb;Qb=null;null!==a&&a(Tc)}},!1);
var Xe=function(a){fb=!1;var b=a-gb+hb;b<hb&&Sb<hb?(8>b&&(b=8),hb=b<Sb?Sb:b):Sb=b;gb=a+hb;Rb||(Rb=!0,window.postMessage(We,"*"))};Ob=function(a,b){Qb=a;null!=b&&"number"===typeof b.timeout&&(eb=Nb()+b.timeout);fb||(fb=!0,requestAnimationFrame(Xe));return 0};Pb=function(){Qb=null;Rb=!1;eb=-1}}else Ob=window.requestIdleCallback,Pb=window.cancelIdleCallback;else Ob=function(a){return setTimeout(function(){a({timeRemaining:function(){return Infinity}})})},Pb=function(a){clearTimeout(a)};var Df=/^[:A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD][:A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD\-.0-9\u00B7\u0300-\u036F\u203F-\u2040]*$/,
ne={},me={},Tb=void 0,Be=function(a){return"undefined"!==typeof MSApp&&MSApp.execUnsafeLocalFunction?function(b,c,d,e){MSApp.execUnsafeLocalFunction(function(){return a(b,c,d,e)})}:a}(function(a,b){if("http://www.w3.org/2000/svg"!==a.namespaceURI||"innerHTML"in a)a.innerHTML=b;else{Tb=Tb||document.createElement("div");Tb.innerHTML="\x3csvg\x3e"+b+"\x3c/svg\x3e";for(b=Tb.firstChild;a.firstChild;)a.removeChild(a.firstChild);for(;b.firstChild;)a.appendChild(b.firstChild)}}),Ic=function(a,b){if(b){var c=
a.firstChild;if(c&&c===a.lastChild&&3===c.nodeType){c.nodeValue=b;return}}a.textContent=b},Za={animationIterationCount:!0,borderImageOutset:!0,borderImageSlice:!0,borderImageWidth:!0,boxFlex:!0,boxFlexGroup:!0,boxOrdinalGroup:!0,columnCount:!0,columns:!0,flex:!0,flexGrow:!0,flexPositive:!0,flexShrink:!0,flexNegative:!0,flexOrder:!0,gridRow:!0,gridRowEnd:!0,gridRowSpan:!0,gridRowStart:!0,gridColumn:!0,gridColumnEnd:!0,gridColumnSpan:!0,gridColumnStart:!0,fontWeight:!0,lineClamp:!0,lineHeight:!0,opacity:!0,
order:!0,orphans:!0,tabSize:!0,widows:!0,zIndex:!0,zoom:!0,fillOpacity:!0,floodOpacity:!0,stopOpacity:!0,strokeDasharray:!0,strokeDashoffset:!0,strokeMiterlimit:!0,strokeOpacity:!0,strokeWidth:!0},ig=["Webkit","ms","Moz","O"];Object.keys(Za).forEach(function(a){ig.forEach(function(b){b=b+a.charAt(0).toUpperCase()+a.substring(1);Za[b]=Za[a]})});var Ff=C({menuitem:!0},{area:!0,base:!0,br:!0,col:!0,embed:!0,hr:!0,img:!0,input:!0,keygen:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0}),$a=G.thatReturns(""),
Z={topAbort:"abort",topCanPlay:"canplay",topCanPlayThrough:"canplaythrough",topDurationChange:"durationchange",topEmptied:"emptied",topEncrypted:"encrypted",topEnded:"ended",topError:"error",topLoadedData:"loadeddata",topLoadedMetadata:"loadedmetadata",topLoadStart:"loadstart",topPause:"pause",topPlay:"play",topPlaying:"playing",topProgress:"progress",topRateChange:"ratechange",topSeeked:"seeked",topSeeking:"seeking",topStalled:"stalled",topSuspend:"suspend",topTimeUpdate:"timeupdate",topVolumeChange:"volumechange",
topWaiting:"waiting"},jg=Object.freeze({createElement:ye,createTextNode:ze,setInitialProperties:Ae,diffProperties:Ce,updateProperties:De,diffHydratedProperties:Ee,diffHydratedText:Fe,warnForUnmatchedText:function(a,b){},warnForDeletedHydratableElement:function(a,b){},warnForDeletedHydratableText:function(a,b){},warnForInsertedHydratedElement:function(a,b,c){},warnForInsertedHydratedText:function(a,b){},restoreControlledState:function(a,b,c){switch(b){case "input":Cc(a,c);b=c.name;if("radio"===c.type&&
null!=b){for(c=a;c.parentNode;)c=c.parentNode;c=c.querySelectorAll("input[name\x3d"+JSON.stringify(""+b)+'][type\x3d"radio"]');for(b=0;b<c.length;b++){var d=c[b];if(d!==a&&d.form===a.form){var e=fd(d);e?void 0:l("90");Bd(d);Cc(d,e)}}}break;case "textarea":ue(a,c);break;case "select":b=c.value,null!=b&&ka(a,!!c.multiple,b,!1)}}});Qe.injectFiberControlledHostComponent(jg);var Uc=null,Vc=null,E=hg({getRootHostContext:function(a){var b=a.nodeType;switch(b){case 9:case 11:a=(a=a.documentElement)?a.namespaceURI:
Fc(null,"");break;default:b=8===b?a.parentNode:a,a=b.namespaceURI||null,b=b.tagName,a=Fc(a,b)}return a},getChildHostContext:function(a,b){return Fc(a,b)},getPublicInstance:function(a){return a},prepareForCommit:function(){Uc=Ra;var a=nc();if(lc(a)){if("selectionStart"in a)var b={start:a.selectionStart,end:a.selectionEnd};else a:{var c=window.getSelection&&window.getSelection();if(c&&0!==c.rangeCount){b=c.anchorNode;var d=c.anchorOffset,e=c.focusNode;c=c.focusOffset;try{b.nodeType,e.nodeType}catch(K){b=
null;break a}var f=0,g=-1,h=-1,k=0,l=0,n=a,r=null;b:for(;;){for(var v;;){n!==b||0!==d&&3!==n.nodeType||(g=f+d);n!==e||0!==c&&3!==n.nodeType||(h=f+c);3===n.nodeType&&(f+=n.nodeValue.length);if(null===(v=n.firstChild))break;r=n;n=v}for(;;){if(n===a)break b;r===b&&++k===d&&(g=f);r===e&&++l===c&&(h=f);if(null!==(v=n.nextSibling))break;n=r;r=n.parentNode}n=v}b=-1===g||-1===h?null:{start:g,end:h}}else b=null}b=b||{start:0,end:0}}else b=null;Vc={focusedElem:a,selectionRange:b};ic(!1)},resetAfterCommit:function(){var a=
Vc,b=nc(),c=a.focusedElem,d=a.selectionRange;if(b!==c&&Nd(document.documentElement,c)){if(lc(c))if(b=d.start,a=d.end,void 0===a&&(a=b),"selectionStart"in c)c.selectionStart=b,c.selectionEnd=Math.min(a,c.value.length);else if(window.getSelection){b=window.getSelection();var e=c[jd()].length;a=Math.min(d.start,e);d=void 0===d.end?a:Math.min(d.end,e);!b.extend&&a>d&&(e=d,d=a,a=e);e=Qd(c,a);var f=Qd(c,d);if(e&&f&&(1!==b.rangeCount||b.anchorNode!==e.node||b.anchorOffset!==e.offset||b.focusNode!==f.node||
b.focusOffset!==f.offset)){var g=document.createRange();g.setStart(e.node,e.offset);b.removeAllRanges();a>d?(b.addRange(g),b.extend(f.node,f.offset)):(g.setEnd(f.node,f.offset),b.addRange(g))}}b=[];for(a=c;a=a.parentNode;)1===a.nodeType&&b.push({element:a,left:a.scrollLeft,top:a.scrollTop});try{c.focus()}catch(h){}for(c=0;c<b.length;c++)a=b[c],a.element.scrollLeft=a.left,a.element.scrollTop=a.top}Vc=null;ic(Uc);Uc=null},createInstance:function(a,b,c,d,e){a=ye(a,b,c,d);a[O]=e;a[ea]=b;return a},appendInitialChild:function(a,
b){a.appendChild(b)},finalizeInitialChildren:function(a,b,c,d){Ae(a,b,c,d);a:{switch(b){case "button":case "input":case "select":case "textarea":a=!!c.autoFocus;break a}a=!1}return a},prepareUpdate:function(a,b,c,d,e,f){return Ce(a,b,c,d,e)},shouldSetTextContent:function(a,b){return"textarea"===a||"string"===typeof b.children||"number"===typeof b.children||"object"===typeof b.dangerouslySetInnerHTML&&null!==b.dangerouslySetInnerHTML&&"string"===typeof b.dangerouslySetInnerHTML.__html},shouldDeprioritizeSubtree:function(a,
b){return!!b.hidden},createTextInstance:function(a,b,c,d){a=ze(a,b);a[O]=d;return a},now:Nb,mutation:{commitMount:function(a,b,c,d){a.focus()},commitUpdate:function(a,b,c,d,e,f){a[ea]=e;De(a,b,c,d,e)},resetTextContent:function(a){a.textContent=""},commitTextUpdate:function(a,b,c){a.nodeValue=c},appendChild:function(a,b){a.appendChild(b)},appendChildToContainer:function(a,b){8===a.nodeType?a.parentNode.insertBefore(b,a):a.appendChild(b)},insertBefore:function(a,b,c){a.insertBefore(b,c)},insertInContainerBefore:function(a,
b,c){8===a.nodeType?a.parentNode.insertBefore(b,c):a.insertBefore(b,c)},removeChild:function(a,b){a.removeChild(b)},removeChildFromContainer:function(a,b){8===a.nodeType?a.parentNode.removeChild(b):a.removeChild(b)}},hydration:{canHydrateInstance:function(a,b,c){return 1!==a.nodeType||b.toLowerCase()!==a.nodeName.toLowerCase()?null:a},canHydrateTextInstance:function(a,b){return""===b||3!==a.nodeType?null:a},getNextHydratableSibling:function(a){for(a=a.nextSibling;a&&1!==a.nodeType&&3!==a.nodeType;)a=
a.nextSibling;return a},getFirstHydratableChild:function(a){for(a=a.firstChild;a&&1!==a.nodeType&&3!==a.nodeType;)a=a.nextSibling;return a},hydrateInstance:function(a,b,c,d,e,f){a[O]=f;a[ea]=c;return Ee(a,b,c,e,d)},hydrateTextInstance:function(a,b,c){a[O]=c;return Fe(a,b)},didNotMatchHydratedContainerTextInstance:function(a,b,c){},didNotMatchHydratedTextInstance:function(a,b,c,d,e){},didNotHydrateContainerInstance:function(a,b){},didNotHydrateInstance:function(a,b,c,d){},didNotFindHydratableContainerInstance:function(a,
b,c){},didNotFindHydratableContainerTextInstance:function(a,b){},didNotFindHydratableInstance:function(a,b,c,d,e){},didNotFindHydratableTextInstance:function(a,b,c,d){}},scheduleDeferredCallback:Ob,cancelDeferredCallback:Pb,useSyncScheduling:!0});ec=E.batchedUpdates;He.prototype.render=function(a,b){E.updateContainer(a,this._reactRootContainer,null,b)};He.prototype.unmount=function(a){E.updateContainer(null,this._reactRootContainer,null,a)};var Ye={createPortal:Ge,findDOMNode:function(a){if(null==
a)return null;if(1===a.nodeType)return a;var b=a._reactInternalFiber;if(b)return E.findHostInstance(b);"function"===typeof a.render?l("188"):l("213",Object.keys(a))},hydrate:function(a,b,c){return Hb(null,a,b,!0,c)},render:function(a,b,c){return Hb(null,a,b,!1,c)},unstable_renderSubtreeIntoContainer:function(a,b,c,d){null==a||void 0===a._reactInternalFiber?l("38"):void 0;return Hb(a,b,c,!1,d)},unmountComponentAtNode:function(a){Jc(a)?void 0:l("40");return a._reactRootContainer?(E.unbatchedUpdates(function(){Hb(null,
null,a,!1,function(){a._reactRootContainer=null})}),!0):!1},unstable_createPortal:Ge,unstable_batchedUpdates:cc,unstable_deferredUpdates:E.deferredUpdates,flushSync:E.flushSync,__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED:{EventPluginHub:Mf,EventPluginRegistry:Lf,EventPropagators:Nf,ReactControlledComponent:Rf,ReactDOMComponentTree:Oe,ReactDOMEventListener:Uf}};E.injectIntoDevTools({findFiberByHostInstance:W,bundleType:0,version:"16.2.0",rendererPackageName:"react-dom"});var Ze=Object.freeze({default:Ye}),
Wc=Ze&&Ye||Ze;return Wc["default"]?Wc["default"]:Wc});

/* pako 0.2.7 nodeca/pako */
!function(t){if("object"==typeof exports&&"undefined"!=typeof module)module.exports=t();else if("function"==typeof define&&define.amd)define([],t);else{var e;e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:this,e.pako=t()}}(function(){return function t(e,a,i){function n(s,o){if(!a[s]){if(!e[s]){var l="function"==typeof require&&require;if(!o&&l)return l(s,!0);if(r)return r(s,!0);var h=new Error("Cannot find module '"+s+"'");throw h.code="MODULE_NOT_FOUND",h}var d=a[s]={exports:{}};e[s][0].call(d.exports,function(t){var a=e[s][1][t];return n(a?a:t)},d,d.exports,t,e,a,i)}return a[s].exports}for(var r="function"==typeof require&&require,s=0;s<i.length;s++)n(i[s]);return n}({1:[function(t,e,a){"use strict";function i(t,e){var a=new v(e);if(a.push(t,!0),a.err)throw a.msg;return a.result}function n(t,e){return e=e||{},e.raw=!0,i(t,e)}function r(t,e){return e=e||{},e.gzip=!0,i(t,e)}var s=t("./zlib/deflate.js"),o=t("./utils/common"),l=t("./utils/strings"),h=t("./zlib/messages"),d=t("./zlib/zstream"),f=Object.prototype.toString,_=0,u=4,c=0,b=1,g=2,m=-1,w=0,p=8,v=function(t){this.options=o.assign({level:m,method:p,chunkSize:16384,windowBits:15,memLevel:8,strategy:w,to:""},t||{});var e=this.options;e.raw&&e.windowBits>0?e.windowBits=-e.windowBits:e.gzip&&e.windowBits>0&&e.windowBits<16&&(e.windowBits+=16),this.err=0,this.msg="",this.ended=!1,this.chunks=[],this.strm=new d,this.strm.avail_out=0;var a=s.deflateInit2(this.strm,e.level,e.method,e.windowBits,e.memLevel,e.strategy);if(a!==c)throw new Error(h[a]);e.header&&s.deflateSetHeader(this.strm,e.header)};v.prototype.push=function(t,e){var a,i,n=this.strm,r=this.options.chunkSize;if(this.ended)return!1;i=e===~~e?e:e===!0?u:_,"string"==typeof t?n.input=l.string2buf(t):"[object ArrayBuffer]"===f.call(t)?n.input=new Uint8Array(t):n.input=t,n.next_in=0,n.avail_in=n.input.length;do{if(0===n.avail_out&&(n.output=new o.Buf8(r),n.next_out=0,n.avail_out=r),a=s.deflate(n,i),a!==b&&a!==c)return this.onEnd(a),this.ended=!0,!1;(0===n.avail_out||0===n.avail_in&&(i===u||i===g))&&this.onData("string"===this.options.to?l.buf2binstring(o.shrinkBuf(n.output,n.next_out)):o.shrinkBuf(n.output,n.next_out))}while((n.avail_in>0||0===n.avail_out)&&a!==b);return i===u?(a=s.deflateEnd(this.strm),this.onEnd(a),this.ended=!0,a===c):i===g?(this.onEnd(c),n.avail_out=0,!0):!0},v.prototype.onData=function(t){this.chunks.push(t)},v.prototype.onEnd=function(t){t===c&&("string"===this.options.to?this.result=this.chunks.join(""):this.result=o.flattenChunks(this.chunks)),this.chunks=[],this.err=t,this.msg=this.strm.msg},a.Deflate=v,a.deflate=i,a.deflateRaw=n,a.gzip=r},{"./utils/common":3,"./utils/strings":4,"./zlib/deflate.js":8,"./zlib/messages":13,"./zlib/zstream":15}],2:[function(t,e,a){"use strict";function i(t,e){var a=new u(e);if(a.push(t,!0),a.err)throw a.msg;return a.result}function n(t,e){return e=e||{},e.raw=!0,i(t,e)}var r=t("./zlib/inflate.js"),s=t("./utils/common"),o=t("./utils/strings"),l=t("./zlib/constants"),h=t("./zlib/messages"),d=t("./zlib/zstream"),f=t("./zlib/gzheader"),_=Object.prototype.toString,u=function(t){this.options=s.assign({chunkSize:16384,windowBits:0,to:""},t||{});var e=this.options;e.raw&&e.windowBits>=0&&e.windowBits<16&&(e.windowBits=-e.windowBits,0===e.windowBits&&(e.windowBits=-15)),!(e.windowBits>=0&&e.windowBits<16)||t&&t.windowBits||(e.windowBits+=32),e.windowBits>15&&e.windowBits<48&&0===(15&e.windowBits)&&(e.windowBits|=15),this.err=0,this.msg="",this.ended=!1,this.chunks=[],this.strm=new d,this.strm.avail_out=0;var a=r.inflateInit2(this.strm,e.windowBits);if(a!==l.Z_OK)throw new Error(h[a]);this.header=new f,r.inflateGetHeader(this.strm,this.header)};u.prototype.push=function(t,e){var a,i,n,h,d,f=this.strm,u=this.options.chunkSize;if(this.ended)return!1;i=e===~~e?e:e===!0?l.Z_FINISH:l.Z_NO_FLUSH,"string"==typeof t?f.input=o.binstring2buf(t):"[object ArrayBuffer]"===_.call(t)?f.input=new Uint8Array(t):f.input=t,f.next_in=0,f.avail_in=f.input.length;do{if(0===f.avail_out&&(f.output=new s.Buf8(u),f.next_out=0,f.avail_out=u),a=r.inflate(f,l.Z_NO_FLUSH),a!==l.Z_STREAM_END&&a!==l.Z_OK)return this.onEnd(a),this.ended=!0,!1;f.next_out&&(0===f.avail_out||a===l.Z_STREAM_END||0===f.avail_in&&(i===l.Z_FINISH||i===l.Z_SYNC_FLUSH))&&("string"===this.options.to?(n=o.utf8border(f.output,f.next_out),h=f.next_out-n,d=o.buf2string(f.output,n),f.next_out=h,f.avail_out=u-h,h&&s.arraySet(f.output,f.output,n,h,0),this.onData(d)):this.onData(s.shrinkBuf(f.output,f.next_out)))}while(f.avail_in>0&&a!==l.Z_STREAM_END);return a===l.Z_STREAM_END&&(i=l.Z_FINISH),i===l.Z_FINISH?(a=r.inflateEnd(this.strm),this.onEnd(a),this.ended=!0,a===l.Z_OK):i===l.Z_SYNC_FLUSH?(this.onEnd(l.Z_OK),f.avail_out=0,!0):!0},u.prototype.onData=function(t){this.chunks.push(t)},u.prototype.onEnd=function(t){t===l.Z_OK&&("string"===this.options.to?this.result=this.chunks.join(""):this.result=s.flattenChunks(this.chunks)),this.chunks=[],this.err=t,this.msg=this.strm.msg},a.Inflate=u,a.inflate=i,a.inflateRaw=n,a.ungzip=i},{"./utils/common":3,"./utils/strings":4,"./zlib/constants":6,"./zlib/gzheader":9,"./zlib/inflate.js":11,"./zlib/messages":13,"./zlib/zstream":15}],3:[function(t,e,a){"use strict";var i="undefined"!=typeof Uint8Array&&"undefined"!=typeof Uint16Array&&"undefined"!=typeof Int32Array;a.assign=function(t){for(var e=Array.prototype.slice.call(arguments,1);e.length;){var a=e.shift();if(a){if("object"!=typeof a)throw new TypeError(a+"must be non-object");for(var i in a)a.hasOwnProperty(i)&&(t[i]=a[i])}}return t},a.shrinkBuf=function(t,e){return t.length===e?t:t.subarray?t.subarray(0,e):(t.length=e,t)};var n={arraySet:function(t,e,a,i,n){if(e.subarray&&t.subarray)return void t.set(e.subarray(a,a+i),n);for(var r=0;i>r;r++)t[n+r]=e[a+r]},flattenChunks:function(t){var e,a,i,n,r,s;for(i=0,e=0,a=t.length;a>e;e++)i+=t[e].length;for(s=new Uint8Array(i),n=0,e=0,a=t.length;a>e;e++)r=t[e],s.set(r,n),n+=r.length;return s}},r={arraySet:function(t,e,a,i,n){for(var r=0;i>r;r++)t[n+r]=e[a+r]},flattenChunks:function(t){return[].concat.apply([],t)}};a.setTyped=function(t){t?(a.Buf8=Uint8Array,a.Buf16=Uint16Array,a.Buf32=Int32Array,a.assign(a,n)):(a.Buf8=Array,a.Buf16=Array,a.Buf32=Array,a.assign(a,r))},a.setTyped(i)},{}],4:[function(t,e,a){"use strict";function i(t,e){if(65537>e&&(t.subarray&&s||!t.subarray&&r))return String.fromCharCode.apply(null,n.shrinkBuf(t,e));for(var a="",i=0;e>i;i++)a+=String.fromCharCode(t[i]);return a}var n=t("./common"),r=!0,s=!0;try{String.fromCharCode.apply(null,[0])}catch(o){r=!1}try{String.fromCharCode.apply(null,new Uint8Array(1))}catch(o){s=!1}for(var l=new n.Buf8(256),h=0;256>h;h++)l[h]=h>=252?6:h>=248?5:h>=240?4:h>=224?3:h>=192?2:1;l[254]=l[254]=1,a.string2buf=function(t){var e,a,i,r,s,o=t.length,l=0;for(r=0;o>r;r++)a=t.charCodeAt(r),55296===(64512&a)&&o>r+1&&(i=t.charCodeAt(r+1),56320===(64512&i)&&(a=65536+(a-55296<<10)+(i-56320),r++)),l+=128>a?1:2048>a?2:65536>a?3:4;for(e=new n.Buf8(l),s=0,r=0;l>s;r++)a=t.charCodeAt(r),55296===(64512&a)&&o>r+1&&(i=t.charCodeAt(r+1),56320===(64512&i)&&(a=65536+(a-55296<<10)+(i-56320),r++)),128>a?e[s++]=a:2048>a?(e[s++]=192|a>>>6,e[s++]=128|63&a):65536>a?(e[s++]=224|a>>>12,e[s++]=128|a>>>6&63,e[s++]=128|63&a):(e[s++]=240|a>>>18,e[s++]=128|a>>>12&63,e[s++]=128|a>>>6&63,e[s++]=128|63&a);return e},a.buf2binstring=function(t){return i(t,t.length)},a.binstring2buf=function(t){for(var e=new n.Buf8(t.length),a=0,i=e.length;i>a;a++)e[a]=t.charCodeAt(a);return e},a.buf2string=function(t,e){var a,n,r,s,o=e||t.length,h=new Array(2*o);for(n=0,a=0;o>a;)if(r=t[a++],128>r)h[n++]=r;else if(s=l[r],s>4)h[n++]=65533,a+=s-1;else{for(r&=2===s?31:3===s?15:7;s>1&&o>a;)r=r<<6|63&t[a++],s--;s>1?h[n++]=65533:65536>r?h[n++]=r:(r-=65536,h[n++]=55296|r>>10&1023,h[n++]=56320|1023&r)}return i(h,n)},a.utf8border=function(t,e){var a;for(e=e||t.length,e>t.length&&(e=t.length),a=e-1;a>=0&&128===(192&t[a]);)a--;return 0>a?e:0===a?e:a+l[t[a]]>e?a:e}},{"./common":3}],5:[function(t,e,a){"use strict";function i(t,e,a,i){for(var n=65535&t|0,r=t>>>16&65535|0,s=0;0!==a;){s=a>2e3?2e3:a,a-=s;do n=n+e[i++]|0,r=r+n|0;while(--s);n%=65521,r%=65521}return n|r<<16|0}e.exports=i},{}],6:[function(t,e,a){e.exports={Z_NO_FLUSH:0,Z_PARTIAL_FLUSH:1,Z_SYNC_FLUSH:2,Z_FULL_FLUSH:3,Z_FINISH:4,Z_BLOCK:5,Z_TREES:6,Z_OK:0,Z_STREAM_END:1,Z_NEED_DICT:2,Z_ERRNO:-1,Z_STREAM_ERROR:-2,Z_DATA_ERROR:-3,Z_BUF_ERROR:-5,Z_NO_COMPRESSION:0,Z_BEST_SPEED:1,Z_BEST_COMPRESSION:9,Z_DEFAULT_COMPRESSION:-1,Z_FILTERED:1,Z_HUFFMAN_ONLY:2,Z_RLE:3,Z_FIXED:4,Z_DEFAULT_STRATEGY:0,Z_BINARY:0,Z_TEXT:1,Z_UNKNOWN:2,Z_DEFLATED:8}},{}],7:[function(t,e,a){"use strict";function i(){for(var t,e=[],a=0;256>a;a++){t=a;for(var i=0;8>i;i++)t=1&t?3988292384^t>>>1:t>>>1;e[a]=t}return e}function n(t,e,a,i){var n=r,s=i+a;t=-1^t;for(var o=i;s>o;o++)t=t>>>8^n[255&(t^e[o])];return-1^t}var r=i();e.exports=n},{}],8:[function(t,e,a){"use strict";function i(t,e){return t.msg=N[e],e}function n(t){return(t<<1)-(t>4?9:0)}function r(t){for(var e=t.length;--e>=0;)t[e]=0}function s(t){var e=t.state,a=e.pending;a>t.avail_out&&(a=t.avail_out),0!==a&&(A.arraySet(t.output,e.pending_buf,e.pending_out,a,t.next_out),t.next_out+=a,e.pending_out+=a,t.total_out+=a,t.avail_out-=a,e.pending-=a,0===e.pending&&(e.pending_out=0))}function o(t,e){Z._tr_flush_block(t,t.block_start>=0?t.block_start:-1,t.strstart-t.block_start,e),t.block_start=t.strstart,s(t.strm)}function l(t,e){t.pending_buf[t.pending++]=e}function h(t,e){t.pending_buf[t.pending++]=e>>>8&255,t.pending_buf[t.pending++]=255&e}function d(t,e,a,i){var n=t.avail_in;return n>i&&(n=i),0===n?0:(t.avail_in-=n,A.arraySet(e,t.input,t.next_in,n,a),1===t.state.wrap?t.adler=R(t.adler,e,n,a):2===t.state.wrap&&(t.adler=C(t.adler,e,n,a)),t.next_in+=n,t.total_in+=n,n)}function f(t,e){var a,i,n=t.max_chain_length,r=t.strstart,s=t.prev_length,o=t.nice_match,l=t.strstart>t.w_size-ht?t.strstart-(t.w_size-ht):0,h=t.window,d=t.w_mask,f=t.prev,_=t.strstart+lt,u=h[r+s-1],c=h[r+s];t.prev_length>=t.good_match&&(n>>=2),o>t.lookahead&&(o=t.lookahead);do if(a=e,h[a+s]===c&&h[a+s-1]===u&&h[a]===h[r]&&h[++a]===h[r+1]){r+=2,a++;do;while(h[++r]===h[++a]&&h[++r]===h[++a]&&h[++r]===h[++a]&&h[++r]===h[++a]&&h[++r]===h[++a]&&h[++r]===h[++a]&&h[++r]===h[++a]&&h[++r]===h[++a]&&_>r);if(i=lt-(_-r),r=_-lt,i>s){if(t.match_start=e,s=i,i>=o)break;u=h[r+s-1],c=h[r+s]}}while((e=f[e&d])>l&&0!==--n);return s<=t.lookahead?s:t.lookahead}function _(t){var e,a,i,n,r,s=t.w_size;do{if(n=t.window_size-t.lookahead-t.strstart,t.strstart>=s+(s-ht)){A.arraySet(t.window,t.window,s,s,0),t.match_start-=s,t.strstart-=s,t.block_start-=s,a=t.hash_size,e=a;do i=t.head[--e],t.head[e]=i>=s?i-s:0;while(--a);a=s,e=a;do i=t.prev[--e],t.prev[e]=i>=s?i-s:0;while(--a);n+=s}if(0===t.strm.avail_in)break;if(a=d(t.strm,t.window,t.strstart+t.lookahead,n),t.lookahead+=a,t.lookahead+t.insert>=ot)for(r=t.strstart-t.insert,t.ins_h=t.window[r],t.ins_h=(t.ins_h<<t.hash_shift^t.window[r+1])&t.hash_mask;t.insert&&(t.ins_h=(t.ins_h<<t.hash_shift^t.window[r+ot-1])&t.hash_mask,t.prev[r&t.w_mask]=t.head[t.ins_h],t.head[t.ins_h]=r,r++,t.insert--,!(t.lookahead+t.insert<ot)););}while(t.lookahead<ht&&0!==t.strm.avail_in)}function u(t,e){var a=65535;for(a>t.pending_buf_size-5&&(a=t.pending_buf_size-5);;){if(t.lookahead<=1){if(_(t),0===t.lookahead&&e===I)return wt;if(0===t.lookahead)break}t.strstart+=t.lookahead,t.lookahead=0;var i=t.block_start+a;if((0===t.strstart||t.strstart>=i)&&(t.lookahead=t.strstart-i,t.strstart=i,o(t,!1),0===t.strm.avail_out))return wt;if(t.strstart-t.block_start>=t.w_size-ht&&(o(t,!1),0===t.strm.avail_out))return wt}return t.insert=0,e===U?(o(t,!0),0===t.strm.avail_out?vt:kt):t.strstart>t.block_start&&(o(t,!1),0===t.strm.avail_out)?wt:wt}function c(t,e){for(var a,i;;){if(t.lookahead<ht){if(_(t),t.lookahead<ht&&e===I)return wt;if(0===t.lookahead)break}if(a=0,t.lookahead>=ot&&(t.ins_h=(t.ins_h<<t.hash_shift^t.window[t.strstart+ot-1])&t.hash_mask,a=t.prev[t.strstart&t.w_mask]=t.head[t.ins_h],t.head[t.ins_h]=t.strstart),0!==a&&t.strstart-a<=t.w_size-ht&&(t.match_length=f(t,a)),t.match_length>=ot)if(i=Z._tr_tally(t,t.strstart-t.match_start,t.match_length-ot),t.lookahead-=t.match_length,t.match_length<=t.max_lazy_match&&t.lookahead>=ot){t.match_length--;do t.strstart++,t.ins_h=(t.ins_h<<t.hash_shift^t.window[t.strstart+ot-1])&t.hash_mask,a=t.prev[t.strstart&t.w_mask]=t.head[t.ins_h],t.head[t.ins_h]=t.strstart;while(0!==--t.match_length);t.strstart++}else t.strstart+=t.match_length,t.match_length=0,t.ins_h=t.window[t.strstart],t.ins_h=(t.ins_h<<t.hash_shift^t.window[t.strstart+1])&t.hash_mask;else i=Z._tr_tally(t,0,t.window[t.strstart]),t.lookahead--,t.strstart++;if(i&&(o(t,!1),0===t.strm.avail_out))return wt}return t.insert=t.strstart<ot-1?t.strstart:ot-1,e===U?(o(t,!0),0===t.strm.avail_out?vt:kt):t.last_lit&&(o(t,!1),0===t.strm.avail_out)?wt:pt}function b(t,e){for(var a,i,n;;){if(t.lookahead<ht){if(_(t),t.lookahead<ht&&e===I)return wt;if(0===t.lookahead)break}if(a=0,t.lookahead>=ot&&(t.ins_h=(t.ins_h<<t.hash_shift^t.window[t.strstart+ot-1])&t.hash_mask,a=t.prev[t.strstart&t.w_mask]=t.head[t.ins_h],t.head[t.ins_h]=t.strstart),t.prev_length=t.match_length,t.prev_match=t.match_start,t.match_length=ot-1,0!==a&&t.prev_length<t.max_lazy_match&&t.strstart-a<=t.w_size-ht&&(t.match_length=f(t,a),t.match_length<=5&&(t.strategy===P||t.match_length===ot&&t.strstart-t.match_start>4096)&&(t.match_length=ot-1)),t.prev_length>=ot&&t.match_length<=t.prev_length){n=t.strstart+t.lookahead-ot,i=Z._tr_tally(t,t.strstart-1-t.prev_match,t.prev_length-ot),t.lookahead-=t.prev_length-1,t.prev_length-=2;do++t.strstart<=n&&(t.ins_h=(t.ins_h<<t.hash_shift^t.window[t.strstart+ot-1])&t.hash_mask,a=t.prev[t.strstart&t.w_mask]=t.head[t.ins_h],t.head[t.ins_h]=t.strstart);while(0!==--t.prev_length);if(t.match_available=0,t.match_length=ot-1,t.strstart++,i&&(o(t,!1),0===t.strm.avail_out))return wt}else if(t.match_available){if(i=Z._tr_tally(t,0,t.window[t.strstart-1]),i&&o(t,!1),t.strstart++,t.lookahead--,0===t.strm.avail_out)return wt}else t.match_available=1,t.strstart++,t.lookahead--}return t.match_available&&(i=Z._tr_tally(t,0,t.window[t.strstart-1]),t.match_available=0),t.insert=t.strstart<ot-1?t.strstart:ot-1,e===U?(o(t,!0),0===t.strm.avail_out?vt:kt):t.last_lit&&(o(t,!1),0===t.strm.avail_out)?wt:pt}function g(t,e){for(var a,i,n,r,s=t.window;;){if(t.lookahead<=lt){if(_(t),t.lookahead<=lt&&e===I)return wt;if(0===t.lookahead)break}if(t.match_length=0,t.lookahead>=ot&&t.strstart>0&&(n=t.strstart-1,i=s[n],i===s[++n]&&i===s[++n]&&i===s[++n])){r=t.strstart+lt;do;while(i===s[++n]&&i===s[++n]&&i===s[++n]&&i===s[++n]&&i===s[++n]&&i===s[++n]&&i===s[++n]&&i===s[++n]&&r>n);t.match_length=lt-(r-n),t.match_length>t.lookahead&&(t.match_length=t.lookahead)}if(t.match_length>=ot?(a=Z._tr_tally(t,1,t.match_length-ot),t.lookahead-=t.match_length,t.strstart+=t.match_length,t.match_length=0):(a=Z._tr_tally(t,0,t.window[t.strstart]),t.lookahead--,t.strstart++),a&&(o(t,!1),0===t.strm.avail_out))return wt}return t.insert=0,e===U?(o(t,!0),0===t.strm.avail_out?vt:kt):t.last_lit&&(o(t,!1),0===t.strm.avail_out)?wt:pt}function m(t,e){for(var a;;){if(0===t.lookahead&&(_(t),0===t.lookahead)){if(e===I)return wt;break}if(t.match_length=0,a=Z._tr_tally(t,0,t.window[t.strstart]),t.lookahead--,t.strstart++,a&&(o(t,!1),0===t.strm.avail_out))return wt}return t.insert=0,e===U?(o(t,!0),0===t.strm.avail_out?vt:kt):t.last_lit&&(o(t,!1),0===t.strm.avail_out)?wt:pt}function w(t){t.window_size=2*t.w_size,r(t.head),t.max_lazy_match=E[t.level].max_lazy,t.good_match=E[t.level].good_length,t.nice_match=E[t.level].nice_length,t.max_chain_length=E[t.level].max_chain,t.strstart=0,t.block_start=0,t.lookahead=0,t.insert=0,t.match_length=t.prev_length=ot-1,t.match_available=0,t.ins_h=0}function p(){this.strm=null,this.status=0,this.pending_buf=null,this.pending_buf_size=0,this.pending_out=0,this.pending=0,this.wrap=0,this.gzhead=null,this.gzindex=0,this.method=J,this.last_flush=-1,this.w_size=0,this.w_bits=0,this.w_mask=0,this.window=null,this.window_size=0,this.prev=null,this.head=null,this.ins_h=0,this.hash_size=0,this.hash_bits=0,this.hash_mask=0,this.hash_shift=0,this.block_start=0,this.match_length=0,this.prev_match=0,this.match_available=0,this.strstart=0,this.match_start=0,this.lookahead=0,this.prev_length=0,this.max_chain_length=0,this.max_lazy_match=0,this.level=0,this.strategy=0,this.good_match=0,this.nice_match=0,this.dyn_ltree=new A.Buf16(2*rt),this.dyn_dtree=new A.Buf16(2*(2*it+1)),this.bl_tree=new A.Buf16(2*(2*nt+1)),r(this.dyn_ltree),r(this.dyn_dtree),r(this.bl_tree),this.l_desc=null,this.d_desc=null,this.bl_desc=null,this.bl_count=new A.Buf16(st+1),this.heap=new A.Buf16(2*at+1),r(this.heap),this.heap_len=0,this.heap_max=0,this.depth=new A.Buf16(2*at+1),r(this.depth),this.l_buf=0,this.lit_bufsize=0,this.last_lit=0,this.d_buf=0,this.opt_len=0,this.static_len=0,this.matches=0,this.insert=0,this.bi_buf=0,this.bi_valid=0}function v(t){var e;return t&&t.state?(t.total_in=t.total_out=0,t.data_type=W,e=t.state,e.pending=0,e.pending_out=0,e.wrap<0&&(e.wrap=-e.wrap),e.status=e.wrap?ft:gt,t.adler=2===e.wrap?0:1,e.last_flush=I,Z._tr_init(e),F):i(t,H)}function k(t){var e=v(t);return e===F&&w(t.state),e}function x(t,e){return t&&t.state?2!==t.state.wrap?H:(t.state.gzhead=e,F):H}function y(t,e,a,n,r,s){if(!t)return H;var o=1;if(e===K&&(e=6),0>n?(o=0,n=-n):n>15&&(o=2,n-=16),1>r||r>Q||a!==J||8>n||n>15||0>e||e>9||0>s||s>G)return i(t,H);8===n&&(n=9);var l=new p;return t.state=l,l.strm=t,l.wrap=o,l.gzhead=null,l.w_bits=n,l.w_size=1<<l.w_bits,l.w_mask=l.w_size-1,l.hash_bits=r+7,l.hash_size=1<<l.hash_bits,l.hash_mask=l.hash_size-1,l.hash_shift=~~((l.hash_bits+ot-1)/ot),l.window=new A.Buf8(2*l.w_size),l.head=new A.Buf16(l.hash_size),l.prev=new A.Buf16(l.w_size),l.lit_bufsize=1<<r+6,l.pending_buf_size=4*l.lit_bufsize,l.pending_buf=new A.Buf8(l.pending_buf_size),l.d_buf=l.lit_bufsize>>1,l.l_buf=3*l.lit_bufsize,l.level=e,l.strategy=s,l.method=a,k(t)}function z(t,e){return y(t,e,J,V,$,X)}function B(t,e){var a,o,d,f;if(!t||!t.state||e>D||0>e)return t?i(t,H):H;if(o=t.state,!t.output||!t.input&&0!==t.avail_in||o.status===mt&&e!==U)return i(t,0===t.avail_out?M:H);if(o.strm=t,a=o.last_flush,o.last_flush=e,o.status===ft)if(2===o.wrap)t.adler=0,l(o,31),l(o,139),l(o,8),o.gzhead?(l(o,(o.gzhead.text?1:0)+(o.gzhead.hcrc?2:0)+(o.gzhead.extra?4:0)+(o.gzhead.name?8:0)+(o.gzhead.comment?16:0)),l(o,255&o.gzhead.time),l(o,o.gzhead.time>>8&255),l(o,o.gzhead.time>>16&255),l(o,o.gzhead.time>>24&255),l(o,9===o.level?2:o.strategy>=Y||o.level<2?4:0),l(o,255&o.gzhead.os),o.gzhead.extra&&o.gzhead.extra.length&&(l(o,255&o.gzhead.extra.length),l(o,o.gzhead.extra.length>>8&255)),o.gzhead.hcrc&&(t.adler=C(t.adler,o.pending_buf,o.pending,0)),o.gzindex=0,o.status=_t):(l(o,0),l(o,0),l(o,0),l(o,0),l(o,0),l(o,9===o.level?2:o.strategy>=Y||o.level<2?4:0),l(o,xt),o.status=gt);else{var _=J+(o.w_bits-8<<4)<<8,u=-1;u=o.strategy>=Y||o.level<2?0:o.level<6?1:6===o.level?2:3,_|=u<<6,0!==o.strstart&&(_|=dt),_+=31-_%31,o.status=gt,h(o,_),0!==o.strstart&&(h(o,t.adler>>>16),h(o,65535&t.adler)),t.adler=1}if(o.status===_t)if(o.gzhead.extra){for(d=o.pending;o.gzindex<(65535&o.gzhead.extra.length)&&(o.pending!==o.pending_buf_size||(o.gzhead.hcrc&&o.pending>d&&(t.adler=C(t.adler,o.pending_buf,o.pending-d,d)),s(t),d=o.pending,o.pending!==o.pending_buf_size));)l(o,255&o.gzhead.extra[o.gzindex]),o.gzindex++;o.gzhead.hcrc&&o.pending>d&&(t.adler=C(t.adler,o.pending_buf,o.pending-d,d)),o.gzindex===o.gzhead.extra.length&&(o.gzindex=0,o.status=ut)}else o.status=ut;if(o.status===ut)if(o.gzhead.name){d=o.pending;do{if(o.pending===o.pending_buf_size&&(o.gzhead.hcrc&&o.pending>d&&(t.adler=C(t.adler,o.pending_buf,o.pending-d,d)),s(t),d=o.pending,o.pending===o.pending_buf_size)){f=1;break}f=o.gzindex<o.gzhead.name.length?255&o.gzhead.name.charCodeAt(o.gzindex++):0,l(o,f)}while(0!==f);o.gzhead.hcrc&&o.pending>d&&(t.adler=C(t.adler,o.pending_buf,o.pending-d,d)),0===f&&(o.gzindex=0,o.status=ct)}else o.status=ct;if(o.status===ct)if(o.gzhead.comment){d=o.pending;do{if(o.pending===o.pending_buf_size&&(o.gzhead.hcrc&&o.pending>d&&(t.adler=C(t.adler,o.pending_buf,o.pending-d,d)),s(t),d=o.pending,o.pending===o.pending_buf_size)){f=1;break}f=o.gzindex<o.gzhead.comment.length?255&o.gzhead.comment.charCodeAt(o.gzindex++):0,l(o,f)}while(0!==f);o.gzhead.hcrc&&o.pending>d&&(t.adler=C(t.adler,o.pending_buf,o.pending-d,d)),0===f&&(o.status=bt)}else o.status=bt;if(o.status===bt&&(o.gzhead.hcrc?(o.pending+2>o.pending_buf_size&&s(t),o.pending+2<=o.pending_buf_size&&(l(o,255&t.adler),l(o,t.adler>>8&255),t.adler=0,o.status=gt)):o.status=gt),0!==o.pending){if(s(t),0===t.avail_out)return o.last_flush=-1,F}else if(0===t.avail_in&&n(e)<=n(a)&&e!==U)return i(t,M);if(o.status===mt&&0!==t.avail_in)return i(t,M);if(0!==t.avail_in||0!==o.lookahead||e!==I&&o.status!==mt){var c=o.strategy===Y?m(o,e):o.strategy===q?g(o,e):E[o.level].func(o,e);if((c===vt||c===kt)&&(o.status=mt),c===wt||c===vt)return 0===t.avail_out&&(o.last_flush=-1),F;if(c===pt&&(e===O?Z._tr_align(o):e!==D&&(Z._tr_stored_block(o,0,0,!1),e===T&&(r(o.head),0===o.lookahead&&(o.strstart=0,o.block_start=0,o.insert=0))),s(t),0===t.avail_out))return o.last_flush=-1,F}return e!==U?F:o.wrap<=0?L:(2===o.wrap?(l(o,255&t.adler),l(o,t.adler>>8&255),l(o,t.adler>>16&255),l(o,t.adler>>24&255),l(o,255&t.total_in),l(o,t.total_in>>8&255),l(o,t.total_in>>16&255),l(o,t.total_in>>24&255)):(h(o,t.adler>>>16),h(o,65535&t.adler)),s(t),o.wrap>0&&(o.wrap=-o.wrap),0!==o.pending?F:L)}function S(t){var e;return t&&t.state?(e=t.state.status,e!==ft&&e!==_t&&e!==ut&&e!==ct&&e!==bt&&e!==gt&&e!==mt?i(t,H):(t.state=null,e===gt?i(t,j):F)):H}var E,A=t("../utils/common"),Z=t("./trees"),R=t("./adler32"),C=t("./crc32"),N=t("./messages"),I=0,O=1,T=3,U=4,D=5,F=0,L=1,H=-2,j=-3,M=-5,K=-1,P=1,Y=2,q=3,G=4,X=0,W=2,J=8,Q=9,V=15,$=8,tt=29,et=256,at=et+1+tt,it=30,nt=19,rt=2*at+1,st=15,ot=3,lt=258,ht=lt+ot+1,dt=32,ft=42,_t=69,ut=73,ct=91,bt=103,gt=113,mt=666,wt=1,pt=2,vt=3,kt=4,xt=3,yt=function(t,e,a,i,n){this.good_length=t,this.max_lazy=e,this.nice_length=a,this.max_chain=i,this.func=n};E=[new yt(0,0,0,0,u),new yt(4,4,8,4,c),new yt(4,5,16,8,c),new yt(4,6,32,32,c),new yt(4,4,16,16,b),new yt(8,16,32,32,b),new yt(8,16,128,128,b),new yt(8,32,128,256,b),new yt(32,128,258,1024,b),new yt(32,258,258,4096,b)],a.deflateInit=z,a.deflateInit2=y,a.deflateReset=k,a.deflateResetKeep=v,a.deflateSetHeader=x,a.deflate=B,a.deflateEnd=S,a.deflateInfo="pako deflate (from Nodeca project)"},{"../utils/common":3,"./adler32":5,"./crc32":7,"./messages":13,"./trees":14}],9:[function(t,e,a){"use strict";function i(){this.text=0,this.time=0,this.xflags=0,this.os=0,this.extra=null,this.extra_len=0,this.name="",this.comment="",this.hcrc=0,this.done=!1}e.exports=i},{}],10:[function(t,e,a){"use strict";var i=30,n=12;e.exports=function(t,e){var a,r,s,o,l,h,d,f,_,u,c,b,g,m,w,p,v,k,x,y,z,B,S,E,A;a=t.state,r=t.next_in,E=t.input,s=r+(t.avail_in-5),o=t.next_out,A=t.output,l=o-(e-t.avail_out),h=o+(t.avail_out-257),d=a.dmax,f=a.wsize,_=a.whave,u=a.wnext,c=a.window,b=a.hold,g=a.bits,m=a.lencode,w=a.distcode,p=(1<<a.lenbits)-1,v=(1<<a.distbits)-1;t:do{15>g&&(b+=E[r++]<<g,g+=8,b+=E[r++]<<g,g+=8),k=m[b&p];e:for(;;){if(x=k>>>24,b>>>=x,g-=x,x=k>>>16&255,0===x)A[o++]=65535&k;else{if(!(16&x)){if(0===(64&x)){k=m[(65535&k)+(b&(1<<x)-1)];continue e}if(32&x){a.mode=n;break t}t.msg="invalid literal/length code",a.mode=i;break t}y=65535&k,x&=15,x&&(x>g&&(b+=E[r++]<<g,g+=8),y+=b&(1<<x)-1,b>>>=x,g-=x),15>g&&(b+=E[r++]<<g,g+=8,b+=E[r++]<<g,g+=8),k=w[b&v];a:for(;;){if(x=k>>>24,b>>>=x,g-=x,x=k>>>16&255,!(16&x)){if(0===(64&x)){k=w[(65535&k)+(b&(1<<x)-1)];continue a}t.msg="invalid distance code",a.mode=i;break t}if(z=65535&k,x&=15,x>g&&(b+=E[r++]<<g,g+=8,x>g&&(b+=E[r++]<<g,g+=8)),z+=b&(1<<x)-1,z>d){t.msg="invalid distance too far back",a.mode=i;break t}if(b>>>=x,g-=x,x=o-l,z>x){if(x=z-x,x>_&&a.sane){t.msg="invalid distance too far back",a.mode=i;break t}if(B=0,S=c,0===u){if(B+=f-x,y>x){y-=x;do A[o++]=c[B++];while(--x);B=o-z,S=A}}else if(x>u){if(B+=f+u-x,x-=u,y>x){y-=x;do A[o++]=c[B++];while(--x);if(B=0,y>u){x=u,y-=x;do A[o++]=c[B++];while(--x);B=o-z,S=A}}}else if(B+=u-x,y>x){y-=x;do A[o++]=c[B++];while(--x);B=o-z,S=A}for(;y>2;)A[o++]=S[B++],A[o++]=S[B++],A[o++]=S[B++],y-=3;y&&(A[o++]=S[B++],y>1&&(A[o++]=S[B++]))}else{B=o-z;do A[o++]=A[B++],A[o++]=A[B++],A[o++]=A[B++],y-=3;while(y>2);y&&(A[o++]=A[B++],y>1&&(A[o++]=A[B++]))}break}}break}}while(s>r&&h>o);y=g>>3,r-=y,g-=y<<3,b&=(1<<g)-1,t.next_in=r,t.next_out=o,t.avail_in=s>r?5+(s-r):5-(r-s),t.avail_out=h>o?257+(h-o):257-(o-h),a.hold=b,a.bits=g}},{}],11:[function(t,e,a){"use strict";function i(t){return(t>>>24&255)+(t>>>8&65280)+((65280&t)<<8)+((255&t)<<24)}function n(){this.mode=0,this.last=!1,this.wrap=0,this.havedict=!1,this.flags=0,this.dmax=0,this.check=0,this.total=0,this.head=null,this.wbits=0,this.wsize=0,this.whave=0,this.wnext=0,this.window=null,this.hold=0,this.bits=0,this.length=0,this.offset=0,this.extra=0,this.lencode=null,this.distcode=null,this.lenbits=0,this.distbits=0,this.ncode=0,this.nlen=0,this.ndist=0,this.have=0,this.next=null,this.lens=new m.Buf16(320),this.work=new m.Buf16(288),this.lendyn=null,this.distdyn=null,this.sane=0,this.back=0,this.was=0}function r(t){var e;return t&&t.state?(e=t.state,t.total_in=t.total_out=e.total=0,t.msg="",e.wrap&&(t.adler=1&e.wrap),e.mode=U,e.last=0,e.havedict=0,e.dmax=32768,e.head=null,e.hold=0,e.bits=0,e.lencode=e.lendyn=new m.Buf32(ct),e.distcode=e.distdyn=new m.Buf32(bt),e.sane=1,e.back=-1,A):C}function s(t){var e;return t&&t.state?(e=t.state,e.wsize=0,e.whave=0,e.wnext=0,r(t)):C}function o(t,e){var a,i;return t&&t.state?(i=t.state,0>e?(a=0,e=-e):(a=(e>>4)+1,48>e&&(e&=15)),e&&(8>e||e>15)?C:(null!==i.window&&i.wbits!==e&&(i.window=null),i.wrap=a,i.wbits=e,s(t))):C}function l(t,e){var a,i;return t?(i=new n,t.state=i,i.window=null,a=o(t,e),a!==A&&(t.state=null),a):C}function h(t){return l(t,mt)}function d(t){if(wt){var e;for(b=new m.Buf32(512),g=new m.Buf32(32),e=0;144>e;)t.lens[e++]=8;for(;256>e;)t.lens[e++]=9;for(;280>e;)t.lens[e++]=7;for(;288>e;)t.lens[e++]=8;for(k(y,t.lens,0,288,b,0,t.work,{bits:9}),e=0;32>e;)t.lens[e++]=5;k(z,t.lens,0,32,g,0,t.work,{bits:5}),wt=!1}t.lencode=b,t.lenbits=9,t.distcode=g,t.distbits=5}function f(t,e,a,i){var n,r=t.state;return null===r.window&&(r.wsize=1<<r.wbits,r.wnext=0,r.whave=0,r.window=new m.Buf8(r.wsize)),i>=r.wsize?(m.arraySet(r.window,e,a-r.wsize,r.wsize,0),r.wnext=0,r.whave=r.wsize):(n=r.wsize-r.wnext,n>i&&(n=i),m.arraySet(r.window,e,a-i,n,r.wnext),i-=n,i?(m.arraySet(r.window,e,a-i,i,0),r.wnext=i,r.whave=r.wsize):(r.wnext+=n,r.wnext===r.wsize&&(r.wnext=0),r.whave<r.wsize&&(r.whave+=n))),0}function _(t,e){var a,n,r,s,o,l,h,_,u,c,b,g,ct,bt,gt,mt,wt,pt,vt,kt,xt,yt,zt,Bt,St=0,Et=new m.Buf8(4),At=[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15];if(!t||!t.state||!t.output||!t.input&&0!==t.avail_in)return C;a=t.state,a.mode===G&&(a.mode=X),o=t.next_out,r=t.output,h=t.avail_out,s=t.next_in,n=t.input,l=t.avail_in,_=a.hold,u=a.bits,c=l,b=h,yt=A;t:for(;;)switch(a.mode){case U:if(0===a.wrap){a.mode=X;break}for(;16>u;){if(0===l)break t;l--,_+=n[s++]<<u,u+=8}if(2&a.wrap&&35615===_){a.check=0,Et[0]=255&_,Et[1]=_>>>8&255,a.check=p(a.check,Et,2,0),_=0,u=0,a.mode=D;break}if(a.flags=0,a.head&&(a.head.done=!1),!(1&a.wrap)||(((255&_)<<8)+(_>>8))%31){t.msg="incorrect header check",a.mode=ft;break}if((15&_)!==T){t.msg="unknown compression method",a.mode=ft;break}if(_>>>=4,u-=4,xt=(15&_)+8,0===a.wbits)a.wbits=xt;else if(xt>a.wbits){t.msg="invalid window size",a.mode=ft;break}a.dmax=1<<xt,t.adler=a.check=1,a.mode=512&_?Y:G,_=0,u=0;break;case D:for(;16>u;){if(0===l)break t;l--,_+=n[s++]<<u,u+=8}if(a.flags=_,(255&a.flags)!==T){t.msg="unknown compression method",a.mode=ft;break}if(57344&a.flags){t.msg="unknown header flags set",a.mode=ft;break}a.head&&(a.head.text=_>>8&1),512&a.flags&&(Et[0]=255&_,Et[1]=_>>>8&255,a.check=p(a.check,Et,2,0)),_=0,u=0,a.mode=F;case F:for(;32>u;){if(0===l)break t;l--,_+=n[s++]<<u,u+=8}a.head&&(a.head.time=_),512&a.flags&&(Et[0]=255&_,Et[1]=_>>>8&255,Et[2]=_>>>16&255,Et[3]=_>>>24&255,a.check=p(a.check,Et,4,0)),_=0,u=0,a.mode=L;case L:for(;16>u;){if(0===l)break t;l--,_+=n[s++]<<u,u+=8}a.head&&(a.head.xflags=255&_,a.head.os=_>>8),512&a.flags&&(Et[0]=255&_,Et[1]=_>>>8&255,a.check=p(a.check,Et,2,0)),_=0,u=0,a.mode=H;case H:if(1024&a.flags){for(;16>u;){if(0===l)break t;l--,_+=n[s++]<<u,u+=8}a.length=_,a.head&&(a.head.extra_len=_),512&a.flags&&(Et[0]=255&_,Et[1]=_>>>8&255,a.check=p(a.check,Et,2,0)),_=0,u=0}else a.head&&(a.head.extra=null);a.mode=j;case j:if(1024&a.flags&&(g=a.length,g>l&&(g=l),g&&(a.head&&(xt=a.head.extra_len-a.length,a.head.extra||(a.head.extra=new Array(a.head.extra_len)),m.arraySet(a.head.extra,n,s,g,xt)),512&a.flags&&(a.check=p(a.check,n,g,s)),l-=g,s+=g,a.length-=g),a.length))break t;a.length=0,a.mode=M;case M:if(2048&a.flags){if(0===l)break t;g=0;do xt=n[s+g++],a.head&&xt&&a.length<65536&&(a.head.name+=String.fromCharCode(xt));while(xt&&l>g);if(512&a.flags&&(a.check=p(a.check,n,g,s)),l-=g,s+=g,xt)break t}else a.head&&(a.head.name=null);a.length=0,a.mode=K;case K:if(4096&a.flags){if(0===l)break t;g=0;do xt=n[s+g++],a.head&&xt&&a.length<65536&&(a.head.comment+=String.fromCharCode(xt));while(xt&&l>g);if(512&a.flags&&(a.check=p(a.check,n,g,s)),l-=g,s+=g,xt)break t}else a.head&&(a.head.comment=null);a.mode=P;case P:if(512&a.flags){for(;16>u;){if(0===l)break t;l--,_+=n[s++]<<u,u+=8}if(_!==(65535&a.check)){t.msg="header crc mismatch",a.mode=ft;break}_=0,u=0}a.head&&(a.head.hcrc=a.flags>>9&1,a.head.done=!0),t.adler=a.check=0,a.mode=G;break;case Y:for(;32>u;){if(0===l)break t;l--,_+=n[s++]<<u,u+=8}t.adler=a.check=i(_),_=0,u=0,a.mode=q;case q:if(0===a.havedict)return t.next_out=o,t.avail_out=h,t.next_in=s,t.avail_in=l,a.hold=_,a.bits=u,R;t.adler=a.check=1,a.mode=G;case G:if(e===S||e===E)break t;case X:if(a.last){_>>>=7&u,u-=7&u,a.mode=lt;break}for(;3>u;){if(0===l)break t;l--,_+=n[s++]<<u,u+=8}switch(a.last=1&_,_>>>=1,u-=1,3&_){case 0:a.mode=W;break;case 1:if(d(a),a.mode=et,e===E){_>>>=2,u-=2;break t}break;case 2:a.mode=V;break;case 3:t.msg="invalid block type",a.mode=ft}_>>>=2,u-=2;break;case W:for(_>>>=7&u,u-=7&u;32>u;){if(0===l)break t;l--,_+=n[s++]<<u,u+=8}if((65535&_)!==(_>>>16^65535)){t.msg="invalid stored block lengths",a.mode=ft;break}if(a.length=65535&_,_=0,u=0,a.mode=J,e===E)break t;case J:a.mode=Q;case Q:if(g=a.length){if(g>l&&(g=l),g>h&&(g=h),0===g)break t;m.arraySet(r,n,s,g,o),l-=g,s+=g,h-=g,o+=g,a.length-=g;break}a.mode=G;break;case V:for(;14>u;){if(0===l)break t;l--,_+=n[s++]<<u,u+=8}if(a.nlen=(31&_)+257,_>>>=5,u-=5,a.ndist=(31&_)+1,_>>>=5,u-=5,a.ncode=(15&_)+4,_>>>=4,u-=4,a.nlen>286||a.ndist>30){t.msg="too many length or distance symbols",a.mode=ft;break}a.have=0,a.mode=$;case $:for(;a.have<a.ncode;){for(;3>u;){if(0===l)break t;l--,_+=n[s++]<<u,u+=8}a.lens[At[a.have++]]=7&_,_>>>=3,u-=3}for(;a.have<19;)a.lens[At[a.have++]]=0;if(a.lencode=a.lendyn,a.lenbits=7,zt={bits:a.lenbits},yt=k(x,a.lens,0,19,a.lencode,0,a.work,zt),a.lenbits=zt.bits,yt){t.msg="invalid code lengths set",a.mode=ft;break}a.have=0,a.mode=tt;case tt:for(;a.have<a.nlen+a.ndist;){for(;St=a.lencode[_&(1<<a.lenbits)-1],gt=St>>>24,mt=St>>>16&255,wt=65535&St,!(u>=gt);){if(0===l)break t;l--,_+=n[s++]<<u,u+=8}if(16>wt)_>>>=gt,u-=gt,a.lens[a.have++]=wt;else{if(16===wt){for(Bt=gt+2;Bt>u;){if(0===l)break t;l--,_+=n[s++]<<u,u+=8}if(_>>>=gt,u-=gt,0===a.have){t.msg="invalid bit length repeat",a.mode=ft;break}xt=a.lens[a.have-1],g=3+(3&_),_>>>=2,u-=2}else if(17===wt){for(Bt=gt+3;Bt>u;){if(0===l)break t;l--,_+=n[s++]<<u,u+=8}_>>>=gt,u-=gt,xt=0,g=3+(7&_),_>>>=3,u-=3}else{for(Bt=gt+7;Bt>u;){if(0===l)break t;l--,_+=n[s++]<<u,u+=8}_>>>=gt,u-=gt,xt=0,g=11+(127&_),_>>>=7,u-=7}if(a.have+g>a.nlen+a.ndist){t.msg="invalid bit length repeat",a.mode=ft;break}for(;g--;)a.lens[a.have++]=xt}}if(a.mode===ft)break;if(0===a.lens[256]){t.msg="invalid code -- missing end-of-block",a.mode=ft;break}if(a.lenbits=9,zt={bits:a.lenbits},yt=k(y,a.lens,0,a.nlen,a.lencode,0,a.work,zt),
a.lenbits=zt.bits,yt){t.msg="invalid literal/lengths set",a.mode=ft;break}if(a.distbits=6,a.distcode=a.distdyn,zt={bits:a.distbits},yt=k(z,a.lens,a.nlen,a.ndist,a.distcode,0,a.work,zt),a.distbits=zt.bits,yt){t.msg="invalid distances set",a.mode=ft;break}if(a.mode=et,e===E)break t;case et:a.mode=at;case at:if(l>=6&&h>=258){t.next_out=o,t.avail_out=h,t.next_in=s,t.avail_in=l,a.hold=_,a.bits=u,v(t,b),o=t.next_out,r=t.output,h=t.avail_out,s=t.next_in,n=t.input,l=t.avail_in,_=a.hold,u=a.bits,a.mode===G&&(a.back=-1);break}for(a.back=0;St=a.lencode[_&(1<<a.lenbits)-1],gt=St>>>24,mt=St>>>16&255,wt=65535&St,!(u>=gt);){if(0===l)break t;l--,_+=n[s++]<<u,u+=8}if(mt&&0===(240&mt)){for(pt=gt,vt=mt,kt=wt;St=a.lencode[kt+((_&(1<<pt+vt)-1)>>pt)],gt=St>>>24,mt=St>>>16&255,wt=65535&St,!(u>=pt+gt);){if(0===l)break t;l--,_+=n[s++]<<u,u+=8}_>>>=pt,u-=pt,a.back+=pt}if(_>>>=gt,u-=gt,a.back+=gt,a.length=wt,0===mt){a.mode=ot;break}if(32&mt){a.back=-1,a.mode=G;break}if(64&mt){t.msg="invalid literal/length code",a.mode=ft;break}a.extra=15&mt,a.mode=it;case it:if(a.extra){for(Bt=a.extra;Bt>u;){if(0===l)break t;l--,_+=n[s++]<<u,u+=8}a.length+=_&(1<<a.extra)-1,_>>>=a.extra,u-=a.extra,a.back+=a.extra}a.was=a.length,a.mode=nt;case nt:for(;St=a.distcode[_&(1<<a.distbits)-1],gt=St>>>24,mt=St>>>16&255,wt=65535&St,!(u>=gt);){if(0===l)break t;l--,_+=n[s++]<<u,u+=8}if(0===(240&mt)){for(pt=gt,vt=mt,kt=wt;St=a.distcode[kt+((_&(1<<pt+vt)-1)>>pt)],gt=St>>>24,mt=St>>>16&255,wt=65535&St,!(u>=pt+gt);){if(0===l)break t;l--,_+=n[s++]<<u,u+=8}_>>>=pt,u-=pt,a.back+=pt}if(_>>>=gt,u-=gt,a.back+=gt,64&mt){t.msg="invalid distance code",a.mode=ft;break}a.offset=wt,a.extra=15&mt,a.mode=rt;case rt:if(a.extra){for(Bt=a.extra;Bt>u;){if(0===l)break t;l--,_+=n[s++]<<u,u+=8}a.offset+=_&(1<<a.extra)-1,_>>>=a.extra,u-=a.extra,a.back+=a.extra}if(a.offset>a.dmax){t.msg="invalid distance too far back",a.mode=ft;break}a.mode=st;case st:if(0===h)break t;if(g=b-h,a.offset>g){if(g=a.offset-g,g>a.whave&&a.sane){t.msg="invalid distance too far back",a.mode=ft;break}g>a.wnext?(g-=a.wnext,ct=a.wsize-g):ct=a.wnext-g,g>a.length&&(g=a.length),bt=a.window}else bt=r,ct=o-a.offset,g=a.length;g>h&&(g=h),h-=g,a.length-=g;do r[o++]=bt[ct++];while(--g);0===a.length&&(a.mode=at);break;case ot:if(0===h)break t;r[o++]=a.length,h--,a.mode=at;break;case lt:if(a.wrap){for(;32>u;){if(0===l)break t;l--,_|=n[s++]<<u,u+=8}if(b-=h,t.total_out+=b,a.total+=b,b&&(t.adler=a.check=a.flags?p(a.check,r,b,o-b):w(a.check,r,b,o-b)),b=h,(a.flags?_:i(_))!==a.check){t.msg="incorrect data check",a.mode=ft;break}_=0,u=0}a.mode=ht;case ht:if(a.wrap&&a.flags){for(;32>u;){if(0===l)break t;l--,_+=n[s++]<<u,u+=8}if(_!==(4294967295&a.total)){t.msg="incorrect length check",a.mode=ft;break}_=0,u=0}a.mode=dt;case dt:yt=Z;break t;case ft:yt=N;break t;case _t:return I;case ut:default:return C}return t.next_out=o,t.avail_out=h,t.next_in=s,t.avail_in=l,a.hold=_,a.bits=u,(a.wsize||b!==t.avail_out&&a.mode<ft&&(a.mode<lt||e!==B))&&f(t,t.output,t.next_out,b-t.avail_out)?(a.mode=_t,I):(c-=t.avail_in,b-=t.avail_out,t.total_in+=c,t.total_out+=b,a.total+=b,a.wrap&&b&&(t.adler=a.check=a.flags?p(a.check,r,b,t.next_out-b):w(a.check,r,b,t.next_out-b)),t.data_type=a.bits+(a.last?64:0)+(a.mode===G?128:0)+(a.mode===et||a.mode===J?256:0),(0===c&&0===b||e===B)&&yt===A&&(yt=O),yt)}function u(t){if(!t||!t.state)return C;var e=t.state;return e.window&&(e.window=null),t.state=null,A}function c(t,e){var a;return t&&t.state?(a=t.state,0===(2&a.wrap)?C:(a.head=e,e.done=!1,A)):C}var b,g,m=t("../utils/common"),w=t("./adler32"),p=t("./crc32"),v=t("./inffast"),k=t("./inftrees"),x=0,y=1,z=2,B=4,S=5,E=6,A=0,Z=1,R=2,C=-2,N=-3,I=-4,O=-5,T=8,U=1,D=2,F=3,L=4,H=5,j=6,M=7,K=8,P=9,Y=10,q=11,G=12,X=13,W=14,J=15,Q=16,V=17,$=18,tt=19,et=20,at=21,it=22,nt=23,rt=24,st=25,ot=26,lt=27,ht=28,dt=29,ft=30,_t=31,ut=32,ct=852,bt=592,gt=15,mt=gt,wt=!0;a.inflateReset=s,a.inflateReset2=o,a.inflateResetKeep=r,a.inflateInit=h,a.inflateInit2=l,a.inflate=_,a.inflateEnd=u,a.inflateGetHeader=c,a.inflateInfo="pako inflate (from Nodeca project)"},{"../utils/common":3,"./adler32":5,"./crc32":7,"./inffast":10,"./inftrees":12}],12:[function(t,e,a){"use strict";var i=t("../utils/common"),n=15,r=852,s=592,o=0,l=1,h=2,d=[3,4,5,6,7,8,9,10,11,13,15,17,19,23,27,31,35,43,51,59,67,83,99,115,131,163,195,227,258,0,0],f=[16,16,16,16,16,16,16,16,17,17,17,17,18,18,18,18,19,19,19,19,20,20,20,20,21,21,21,21,16,72,78],_=[1,2,3,4,5,7,9,13,17,25,33,49,65,97,129,193,257,385,513,769,1025,1537,2049,3073,4097,6145,8193,12289,16385,24577,0,0],u=[16,16,16,16,17,17,18,18,19,19,20,20,21,21,22,22,23,23,24,24,25,25,26,26,27,27,28,28,29,29,64,64];e.exports=function(t,e,a,c,b,g,m,w){var p,v,k,x,y,z,B,S,E,A=w.bits,Z=0,R=0,C=0,N=0,I=0,O=0,T=0,U=0,D=0,F=0,L=null,H=0,j=new i.Buf16(n+1),M=new i.Buf16(n+1),K=null,P=0;for(Z=0;n>=Z;Z++)j[Z]=0;for(R=0;c>R;R++)j[e[a+R]]++;for(I=A,N=n;N>=1&&0===j[N];N--);if(I>N&&(I=N),0===N)return b[g++]=20971520,b[g++]=20971520,w.bits=1,0;for(C=1;N>C&&0===j[C];C++);for(C>I&&(I=C),U=1,Z=1;n>=Z;Z++)if(U<<=1,U-=j[Z],0>U)return-1;if(U>0&&(t===o||1!==N))return-1;for(M[1]=0,Z=1;n>Z;Z++)M[Z+1]=M[Z]+j[Z];for(R=0;c>R;R++)0!==e[a+R]&&(m[M[e[a+R]]++]=R);if(t===o?(L=K=m,z=19):t===l?(L=d,H-=257,K=f,P-=257,z=256):(L=_,K=u,z=-1),F=0,R=0,Z=C,y=g,O=I,T=0,k=-1,D=1<<I,x=D-1,t===l&&D>r||t===h&&D>s)return 1;for(var Y=0;;){Y++,B=Z-T,m[R]<z?(S=0,E=m[R]):m[R]>z?(S=K[P+m[R]],E=L[H+m[R]]):(S=96,E=0),p=1<<Z-T,v=1<<O,C=v;do v-=p,b[y+(F>>T)+v]=B<<24|S<<16|E|0;while(0!==v);for(p=1<<Z-1;F&p;)p>>=1;if(0!==p?(F&=p-1,F+=p):F=0,R++,0===--j[Z]){if(Z===N)break;Z=e[a+m[R]]}if(Z>I&&(F&x)!==k){for(0===T&&(T=I),y+=C,O=Z-T,U=1<<O;N>O+T&&(U-=j[O+T],!(0>=U));)O++,U<<=1;if(D+=1<<O,t===l&&D>r||t===h&&D>s)return 1;k=F&x,b[k]=I<<24|O<<16|y-g|0}}return 0!==F&&(b[y+F]=Z-T<<24|64<<16|0),w.bits=I,0}},{"../utils/common":3}],13:[function(t,e,a){"use strict";e.exports={2:"need dictionary",1:"stream end",0:"","-1":"file error","-2":"stream error","-3":"data error","-4":"insufficient memory","-5":"buffer error","-6":"incompatible version"}},{}],14:[function(t,e,a){"use strict";function i(t){for(var e=t.length;--e>=0;)t[e]=0}function n(t){return 256>t?st[t]:st[256+(t>>>7)]}function r(t,e){t.pending_buf[t.pending++]=255&e,t.pending_buf[t.pending++]=e>>>8&255}function s(t,e,a){t.bi_valid>G-a?(t.bi_buf|=e<<t.bi_valid&65535,r(t,t.bi_buf),t.bi_buf=e>>G-t.bi_valid,t.bi_valid+=a-G):(t.bi_buf|=e<<t.bi_valid&65535,t.bi_valid+=a)}function o(t,e,a){s(t,a[2*e],a[2*e+1])}function l(t,e){var a=0;do a|=1&t,t>>>=1,a<<=1;while(--e>0);return a>>>1}function h(t){16===t.bi_valid?(r(t,t.bi_buf),t.bi_buf=0,t.bi_valid=0):t.bi_valid>=8&&(t.pending_buf[t.pending++]=255&t.bi_buf,t.bi_buf>>=8,t.bi_valid-=8)}function d(t,e){var a,i,n,r,s,o,l=e.dyn_tree,h=e.max_code,d=e.stat_desc.static_tree,f=e.stat_desc.has_stree,_=e.stat_desc.extra_bits,u=e.stat_desc.extra_base,c=e.stat_desc.max_length,b=0;for(r=0;q>=r;r++)t.bl_count[r]=0;for(l[2*t.heap[t.heap_max]+1]=0,a=t.heap_max+1;Y>a;a++)i=t.heap[a],r=l[2*l[2*i+1]+1]+1,r>c&&(r=c,b++),l[2*i+1]=r,i>h||(t.bl_count[r]++,s=0,i>=u&&(s=_[i-u]),o=l[2*i],t.opt_len+=o*(r+s),f&&(t.static_len+=o*(d[2*i+1]+s)));if(0!==b){do{for(r=c-1;0===t.bl_count[r];)r--;t.bl_count[r]--,t.bl_count[r+1]+=2,t.bl_count[c]--,b-=2}while(b>0);for(r=c;0!==r;r--)for(i=t.bl_count[r];0!==i;)n=t.heap[--a],n>h||(l[2*n+1]!==r&&(t.opt_len+=(r-l[2*n+1])*l[2*n],l[2*n+1]=r),i--)}}function f(t,e,a){var i,n,r=new Array(q+1),s=0;for(i=1;q>=i;i++)r[i]=s=s+a[i-1]<<1;for(n=0;e>=n;n++){var o=t[2*n+1];0!==o&&(t[2*n]=l(r[o]++,o))}}function _(){var t,e,a,i,n,r=new Array(q+1);for(a=0,i=0;H-1>i;i++)for(lt[i]=a,t=0;t<1<<$[i];t++)ot[a++]=i;for(ot[a-1]=i,n=0,i=0;16>i;i++)for(ht[i]=n,t=0;t<1<<tt[i];t++)st[n++]=i;for(n>>=7;K>i;i++)for(ht[i]=n<<7,t=0;t<1<<tt[i]-7;t++)st[256+n++]=i;for(e=0;q>=e;e++)r[e]=0;for(t=0;143>=t;)nt[2*t+1]=8,t++,r[8]++;for(;255>=t;)nt[2*t+1]=9,t++,r[9]++;for(;279>=t;)nt[2*t+1]=7,t++,r[7]++;for(;287>=t;)nt[2*t+1]=8,t++,r[8]++;for(f(nt,M+1,r),t=0;K>t;t++)rt[2*t+1]=5,rt[2*t]=l(t,5);dt=new ut(nt,$,j+1,M,q),ft=new ut(rt,tt,0,K,q),_t=new ut(new Array(0),et,0,P,X)}function u(t){var e;for(e=0;M>e;e++)t.dyn_ltree[2*e]=0;for(e=0;K>e;e++)t.dyn_dtree[2*e]=0;for(e=0;P>e;e++)t.bl_tree[2*e]=0;t.dyn_ltree[2*W]=1,t.opt_len=t.static_len=0,t.last_lit=t.matches=0}function c(t){t.bi_valid>8?r(t,t.bi_buf):t.bi_valid>0&&(t.pending_buf[t.pending++]=t.bi_buf),t.bi_buf=0,t.bi_valid=0}function b(t,e,a,i){c(t),i&&(r(t,a),r(t,~a)),R.arraySet(t.pending_buf,t.window,e,a,t.pending),t.pending+=a}function g(t,e,a,i){var n=2*e,r=2*a;return t[n]<t[r]||t[n]===t[r]&&i[e]<=i[a]}function m(t,e,a){for(var i=t.heap[a],n=a<<1;n<=t.heap_len&&(n<t.heap_len&&g(e,t.heap[n+1],t.heap[n],t.depth)&&n++,!g(e,i,t.heap[n],t.depth));)t.heap[a]=t.heap[n],a=n,n<<=1;t.heap[a]=i}function w(t,e,a){var i,r,l,h,d=0;if(0!==t.last_lit)do i=t.pending_buf[t.d_buf+2*d]<<8|t.pending_buf[t.d_buf+2*d+1],r=t.pending_buf[t.l_buf+d],d++,0===i?o(t,r,e):(l=ot[r],o(t,l+j+1,e),h=$[l],0!==h&&(r-=lt[l],s(t,r,h)),i--,l=n(i),o(t,l,a),h=tt[l],0!==h&&(i-=ht[l],s(t,i,h)));while(d<t.last_lit);o(t,W,e)}function p(t,e){var a,i,n,r=e.dyn_tree,s=e.stat_desc.static_tree,o=e.stat_desc.has_stree,l=e.stat_desc.elems,h=-1;for(t.heap_len=0,t.heap_max=Y,a=0;l>a;a++)0!==r[2*a]?(t.heap[++t.heap_len]=h=a,t.depth[a]=0):r[2*a+1]=0;for(;t.heap_len<2;)n=t.heap[++t.heap_len]=2>h?++h:0,r[2*n]=1,t.depth[n]=0,t.opt_len--,o&&(t.static_len-=s[2*n+1]);for(e.max_code=h,a=t.heap_len>>1;a>=1;a--)m(t,r,a);n=l;do a=t.heap[1],t.heap[1]=t.heap[t.heap_len--],m(t,r,1),i=t.heap[1],t.heap[--t.heap_max]=a,t.heap[--t.heap_max]=i,r[2*n]=r[2*a]+r[2*i],t.depth[n]=(t.depth[a]>=t.depth[i]?t.depth[a]:t.depth[i])+1,r[2*a+1]=r[2*i+1]=n,t.heap[1]=n++,m(t,r,1);while(t.heap_len>=2);t.heap[--t.heap_max]=t.heap[1],d(t,e),f(r,h,t.bl_count)}function v(t,e,a){var i,n,r=-1,s=e[1],o=0,l=7,h=4;for(0===s&&(l=138,h=3),e[2*(a+1)+1]=65535,i=0;a>=i;i++)n=s,s=e[2*(i+1)+1],++o<l&&n===s||(h>o?t.bl_tree[2*n]+=o:0!==n?(n!==r&&t.bl_tree[2*n]++,t.bl_tree[2*J]++):10>=o?t.bl_tree[2*Q]++:t.bl_tree[2*V]++,o=0,r=n,0===s?(l=138,h=3):n===s?(l=6,h=3):(l=7,h=4))}function k(t,e,a){var i,n,r=-1,l=e[1],h=0,d=7,f=4;for(0===l&&(d=138,f=3),i=0;a>=i;i++)if(n=l,l=e[2*(i+1)+1],!(++h<d&&n===l)){if(f>h){do o(t,n,t.bl_tree);while(0!==--h)}else 0!==n?(n!==r&&(o(t,n,t.bl_tree),h--),o(t,J,t.bl_tree),s(t,h-3,2)):10>=h?(o(t,Q,t.bl_tree),s(t,h-3,3)):(o(t,V,t.bl_tree),s(t,h-11,7));h=0,r=n,0===l?(d=138,f=3):n===l?(d=6,f=3):(d=7,f=4)}}function x(t){var e;for(v(t,t.dyn_ltree,t.l_desc.max_code),v(t,t.dyn_dtree,t.d_desc.max_code),p(t,t.bl_desc),e=P-1;e>=3&&0===t.bl_tree[2*at[e]+1];e--);return t.opt_len+=3*(e+1)+5+5+4,e}function y(t,e,a,i){var n;for(s(t,e-257,5),s(t,a-1,5),s(t,i-4,4),n=0;i>n;n++)s(t,t.bl_tree[2*at[n]+1],3);k(t,t.dyn_ltree,e-1),k(t,t.dyn_dtree,a-1)}function z(t){var e,a=4093624447;for(e=0;31>=e;e++,a>>>=1)if(1&a&&0!==t.dyn_ltree[2*e])return N;if(0!==t.dyn_ltree[18]||0!==t.dyn_ltree[20]||0!==t.dyn_ltree[26])return I;for(e=32;j>e;e++)if(0!==t.dyn_ltree[2*e])return I;return N}function B(t){bt||(_(),bt=!0),t.l_desc=new ct(t.dyn_ltree,dt),t.d_desc=new ct(t.dyn_dtree,ft),t.bl_desc=new ct(t.bl_tree,_t),t.bi_buf=0,t.bi_valid=0,u(t)}function S(t,e,a,i){s(t,(T<<1)+(i?1:0),3),b(t,e,a,!0)}function E(t){s(t,U<<1,3),o(t,W,nt),h(t)}function A(t,e,a,i){var n,r,o=0;t.level>0?(t.strm.data_type===O&&(t.strm.data_type=z(t)),p(t,t.l_desc),p(t,t.d_desc),o=x(t),n=t.opt_len+3+7>>>3,r=t.static_len+3+7>>>3,n>=r&&(n=r)):n=r=a+5,n>=a+4&&-1!==e?S(t,e,a,i):t.strategy===C||r===n?(s(t,(U<<1)+(i?1:0),3),w(t,nt,rt)):(s(t,(D<<1)+(i?1:0),3),y(t,t.l_desc.max_code+1,t.d_desc.max_code+1,o+1),w(t,t.dyn_ltree,t.dyn_dtree)),u(t),i&&c(t)}function Z(t,e,a){return t.pending_buf[t.d_buf+2*t.last_lit]=e>>>8&255,t.pending_buf[t.d_buf+2*t.last_lit+1]=255&e,t.pending_buf[t.l_buf+t.last_lit]=255&a,t.last_lit++,0===e?t.dyn_ltree[2*a]++:(t.matches++,e--,t.dyn_ltree[2*(ot[a]+j+1)]++,t.dyn_dtree[2*n(e)]++),t.last_lit===t.lit_bufsize-1}var R=t("../utils/common"),C=4,N=0,I=1,O=2,T=0,U=1,D=2,F=3,L=258,H=29,j=256,M=j+1+H,K=30,P=19,Y=2*M+1,q=15,G=16,X=7,W=256,J=16,Q=17,V=18,$=[0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0],tt=[0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13],et=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,3,7],at=[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15],it=512,nt=new Array(2*(M+2));i(nt);var rt=new Array(2*K);i(rt);var st=new Array(it);i(st);var ot=new Array(L-F+1);i(ot);var lt=new Array(H);i(lt);var ht=new Array(K);i(ht);var dt,ft,_t,ut=function(t,e,a,i,n){this.static_tree=t,this.extra_bits=e,this.extra_base=a,this.elems=i,this.max_length=n,this.has_stree=t&&t.length},ct=function(t,e){this.dyn_tree=t,this.max_code=0,this.stat_desc=e},bt=!1;a._tr_init=B,a._tr_stored_block=S,a._tr_flush_block=A,a._tr_tally=Z,a._tr_align=E},{"../utils/common":3}],15:[function(t,e,a){"use strict";function i(){this.input=null,this.next_in=0,this.avail_in=0,this.total_in=0,this.output=null,this.next_out=0,this.avail_out=0,this.total_out=0,this.msg="",this.state=null,this.data_type=2,this.adler=0}e.exports=i},{}],"/":[function(t,e,a){"use strict";var i=t("./lib/utils/common").assign,n=t("./lib/deflate"),r=t("./lib/inflate"),s=t("./lib/zlib/constants"),o={};i(o,n,r,s),e.exports=o},{"./lib/deflate":1,"./lib/inflate":2,"./lib/utils/common":3,"./lib/zlib/constants":6}]},{},[])("/")});

var $jscomp=$jscomp||{};$jscomp.scope={};var COMPILED=!0,goog=goog||{};goog.global=this;goog.isDef=function(a){return void 0!==a};goog.isString=function(a){return"string"==typeof a};goog.isBoolean=function(a){return"boolean"==typeof a};goog.isNumber=function(a){return"number"==typeof a};
goog.exportPath_=function(a,b,c){a=a.split(".");c=c||goog.global;a[0]in c||!c.execScript||c.execScript("var "+a[0]);for(var d;a.length&&(d=a.shift());)!a.length&&goog.isDef(b)?c[d]=b:c=c[d]&&c[d]!==Object.prototype[d]?c[d]:c[d]={}};
goog.define=function(a,b){COMPILED||(goog.global.CLOSURE_UNCOMPILED_DEFINES&&void 0===goog.global.CLOSURE_UNCOMPILED_DEFINES.nodeType&&Object.prototype.hasOwnProperty.call(goog.global.CLOSURE_UNCOMPILED_DEFINES,a)?b=goog.global.CLOSURE_UNCOMPILED_DEFINES[a]:goog.global.CLOSURE_DEFINES&&void 0===goog.global.CLOSURE_DEFINES.nodeType&&Object.prototype.hasOwnProperty.call(goog.global.CLOSURE_DEFINES,a)&&(b=goog.global.CLOSURE_DEFINES[a]));goog.exportPath_(a,b)};goog.DEBUG=!0;goog.LOCALE="en";
goog.TRUSTED_SITE=!0;goog.STRICT_MODE_COMPATIBLE=!1;goog.DISALLOW_TEST_ONLY_CODE=COMPILED&&!goog.DEBUG;goog.ENABLE_CHROME_APP_SAFE_SCRIPT_LOADING=!1;goog.provide=function(a){if(goog.isInModuleLoader_())throw Error("goog.provide can not be used within a goog.module.");if(!COMPILED&&goog.isProvided_(a))throw Error('Namespace "'+a+'" already declared.');goog.constructNamespace_(a)};
goog.constructNamespace_=function(a,b){if(!COMPILED){delete goog.implicitNamespaces_[a];for(var c=a;(c=c.substring(0,c.lastIndexOf(".")))&&!goog.getObjectByName(c);)goog.implicitNamespaces_[c]=!0}goog.exportPath_(a,b)};goog.VALID_MODULE_RE_=/^[a-zA-Z_$][a-zA-Z0-9._$]*$/;
goog.module=function(a){if(!goog.isString(a)||!a||-1==a.search(goog.VALID_MODULE_RE_))throw Error("Invalid module identifier");if(!goog.isInModuleLoader_())throw Error("Module "+a+" has been loaded incorrectly. Note, modules cannot be loaded as normal scripts. They require some kind of pre-processing step. You're likely trying to load a module via a script tag or as a part of a concatenated bundle without rewriting the module. For more info see: https://github.com/google/closure-library/wiki/goog.module:-an-ES6-module-like-alternative-to-goog.provide.");if(goog.moduleLoaderState_.moduleName)throw Error("goog.module may only be called once per module.");
goog.moduleLoaderState_.moduleName=a;if(!COMPILED){if(goog.isProvided_(a))throw Error('Namespace "'+a+'" already declared.');delete goog.implicitNamespaces_[a]}};goog.module.get=function(a){return goog.module.getInternal_(a)};goog.module.getInternal_=function(a){if(!COMPILED){if(a in goog.loadedModules_)return goog.loadedModules_[a];if(!goog.implicitNamespaces_[a])return a=goog.getObjectByName(a),null!=a?a:null}return null};goog.moduleLoaderState_=null;
goog.isInModuleLoader_=function(){return null!=goog.moduleLoaderState_};goog.module.declareLegacyNamespace=function(){if(!COMPILED&&!goog.isInModuleLoader_())throw Error("goog.module.declareLegacyNamespace must be called from within a goog.module");if(!COMPILED&&!goog.moduleLoaderState_.moduleName)throw Error("goog.module must be called prior to goog.module.declareLegacyNamespace.");goog.moduleLoaderState_.declareLegacyNamespace=!0};
goog.setTestOnly=function(a){if(goog.DISALLOW_TEST_ONLY_CODE)throw a=a||"",Error("Importing test-only code into non-debug environment"+(a?": "+a:"."));};goog.forwardDeclare=function(a){};COMPILED||(goog.isProvided_=function(a){return a in goog.loadedModules_||!goog.implicitNamespaces_[a]&&goog.isDefAndNotNull(goog.getObjectByName(a))},goog.implicitNamespaces_={"goog.module":!0});
goog.getObjectByName=function(a,b){a=a.split(".");b=b||goog.global;for(var c;c=a.shift();)if(goog.isDefAndNotNull(b[c]))b=b[c];else return null;return b};goog.globalize=function(a,b){b=b||goog.global;for(var c in a)b[c]=a[c]};
goog.addDependency=function(a,b,c,d){if(goog.DEPENDENCIES_ENABLED){var e;a=a.replace(/\\/g,"/");var f=goog.dependencies_;d&&"boolean"!==typeof d||(d=d?{module:"goog"}:{});for(var g=0;e=b[g];g++)f.nameToPath[e]=a,f.loadFlags[a]=d;for(d=0;b=c[d];d++)a in f.requires||(f.requires[a]={}),f.requires[a][b]=!0}};goog.ENABLE_DEBUG_LOADER=!0;goog.logToConsole_=function(a){goog.global.console&&goog.global.console.error(a)};
goog.require=function(a){if(!COMPILED){goog.ENABLE_DEBUG_LOADER&&goog.IS_OLD_IE_&&goog.maybeProcessDeferredDep_(a);if(goog.isProvided_(a)){if(goog.isInModuleLoader_())return goog.module.getInternal_(a)}else if(goog.ENABLE_DEBUG_LOADER){var b=goog.getPathFromDeps_(a);if(b)goog.writeScripts_(b);else throw a="goog.require could not find: "+a,goog.logToConsole_(a),Error(a);}return null}};goog.basePath="";goog.nullFunction=function(){};
goog.abstractMethod=function(){throw Error("unimplemented abstract method");};goog.addSingletonGetter=function(a){a.instance_=void 0;a.getInstance=function(){if(a.instance_)return a.instance_;goog.DEBUG&&(goog.instantiatedSingletons_[goog.instantiatedSingletons_.length]=a);return a.instance_=new a}};goog.instantiatedSingletons_=[];goog.LOAD_MODULE_USING_EVAL=!0;goog.SEAL_MODULE_EXPORTS=goog.DEBUG;goog.loadedModules_={};goog.DEPENDENCIES_ENABLED=!COMPILED&&goog.ENABLE_DEBUG_LOADER;goog.TRANSPILE="detect";
goog.TRANSPILER="transpile.js";
goog.DEPENDENCIES_ENABLED&&(goog.dependencies_={loadFlags:{},nameToPath:{},requires:{},visited:{},written:{},deferred:{}},goog.inHtmlDocument_=function(){var a=goog.global.document;return null!=a&&"write"in a},goog.findBasePath_=function(){if(goog.isDef(goog.global.CLOSURE_BASE_PATH)&&goog.isString(goog.global.CLOSURE_BASE_PATH))goog.basePath=goog.global.CLOSURE_BASE_PATH;else if(goog.inHtmlDocument_()){var a=goog.global.document,b=a.currentScript;a=b?[b]:a.getElementsByTagName("SCRIPT");for(b=a.length-
1;0<=b;--b){var c=a[b].src,d=c.lastIndexOf("?");d=-1==d?c.length:d;if("base.js"==c.substr(d-7,7)){goog.basePath=c.substr(0,d-7);break}}}},goog.importScript_=function(a,b){(goog.global.CLOSURE_IMPORT_SCRIPT||goog.writeScriptTag_)(a,b)&&(goog.dependencies_.written[a]=!0)},goog.IS_OLD_IE_=!(goog.global.atob||!goog.global.document||!goog.global.document.all),goog.oldIeWaiting_=!1,goog.importProcessedScript_=function(a,b,c){goog.importScript_("",'goog.retrieveAndExec_("'+a+'", '+b+", "+c+");")},goog.queuedModules_=
[],goog.wrapModule_=function(a,b){return goog.LOAD_MODULE_USING_EVAL&&goog.isDef(goog.global.JSON)?"goog.loadModule("+goog.global.JSON.stringify(b+"\n//# sourceURL\x3d"+a+"\n")+");":'goog.loadModule(function(exports) {"use strict";'+b+"\n;return exports});\n//# sourceURL\x3d"+a+"\n"},goog.loadQueuedModules_=function(){var a=goog.queuedModules_.length;if(0<a){var b=goog.queuedModules_;goog.queuedModules_=[];for(var c=0;c<a;c++)goog.maybeProcessDeferredPath_(b[c])}goog.oldIeWaiting_=!1},goog.maybeProcessDeferredDep_=
function(a){goog.isDeferredModule_(a)&&goog.allDepsAreAvailable_(a)&&(a=goog.getPathFromDeps_(a),goog.maybeProcessDeferredPath_(goog.basePath+a))},goog.isDeferredModule_=function(a){var b=(a=goog.getPathFromDeps_(a))&&goog.dependencies_.loadFlags[a]||{},c=b.lang||"es3";return a&&("goog"==b.module||goog.needsTranspile_(c))?goog.basePath+a in goog.dependencies_.deferred:!1},goog.allDepsAreAvailable_=function(a){if((a=goog.getPathFromDeps_(a))&&a in goog.dependencies_.requires)for(var b in goog.dependencies_.requires[a])if(!goog.isProvided_(b)&&
!goog.isDeferredModule_(b))return!1;return!0},goog.maybeProcessDeferredPath_=function(a){if(a in goog.dependencies_.deferred){var b=goog.dependencies_.deferred[a];delete goog.dependencies_.deferred[a];goog.globalEval(b)}},goog.loadModuleFromUrl=function(a){goog.retrieveAndExec_(a,!0,!1)},goog.writeScriptSrcNode_=function(a){goog.global.document.write('\x3cscript type\x3d"text/javascript" src\x3d"'+a+'"\x3e\x3c/script\x3e')},goog.appendScriptSrcNode_=function(a){var b=goog.global.document,c=b.createElement("script");
c.type="text/javascript";c.src=a;c.defer=!1;c.async=!1;b.head.appendChild(c)},goog.writeScriptTag_=function(a,b){if(goog.inHtmlDocument_()){var c=goog.global.document;if(!goog.ENABLE_CHROME_APP_SAFE_SCRIPT_LOADING&&"complete"==c.readyState){if(/\bdeps.js$/.test(a))return!1;throw Error('Cannot write "'+a+'" after document load');}void 0===b?goog.IS_OLD_IE_?(goog.oldIeWaiting_=!0,b=" onreadystatechange\x3d'goog.onScriptLoad_(this, "+ ++goog.lastNonModuleScriptIndex_+")' ",c.write('\x3cscript type\x3d"text/javascript" src\x3d"'+
a+'"'+b+"\x3e\x3c/script\x3e")):goog.ENABLE_CHROME_APP_SAFE_SCRIPT_LOADING?goog.appendScriptSrcNode_(a):goog.writeScriptSrcNode_(a):c.write('\x3cscript type\x3d"text/javascript"\x3e'+goog.protectScriptTag_(b)+"\x3c/script\x3e");return!0}return!1},goog.protectScriptTag_=function(a){return a.replace(/<\/(SCRIPT)/ig,"\\x3c/$1")},goog.needsTranspile_=function(a){if("always"==goog.TRANSPILE)return!0;if("never"==goog.TRANSPILE)return!1;goog.requiresTranspilation_||(goog.requiresTranspilation_=goog.createRequiresTranspilation_());
if(a in goog.requiresTranspilation_)return goog.requiresTranspilation_[a];throw Error("Unknown language mode: "+a);},goog.requiresTranspilation_=null,goog.lastNonModuleScriptIndex_=0,goog.onScriptLoad_=function(a,b){"complete"==a.readyState&&goog.lastNonModuleScriptIndex_==b&&goog.loadQueuedModules_();return!0},goog.writeScripts_=function(a){function b(a){if(!(a in e.written||a in e.visited)){e.visited[a]=!0;if(a in e.requires)for(var f in e.requires[a])if(!goog.isProvided_(f))if(f in e.nameToPath)b(e.nameToPath[f]);
else throw Error("Undefined nameToPath for "+f);a in d||(d[a]=!0,c.push(a))}}var c=[],d={},e=goog.dependencies_;b(a);for(a=0;a<c.length;a++){var f=c[a];goog.dependencies_.written[f]=!0}var g=goog.moduleLoaderState_;goog.moduleLoaderState_=null;for(a=0;a<c.length;a++)if(f=c[a]){var h=e.loadFlags[f]||{},k=goog.needsTranspile_(h.lang||"es3");"goog"==h.module||k?goog.importProcessedScript_(goog.basePath+f,"goog"==h.module,k):goog.importScript_(goog.basePath+f)}else throw goog.moduleLoaderState_=g,Error("Undefined script input");
goog.moduleLoaderState_=g},goog.getPathFromDeps_=function(a){return a in goog.dependencies_.nameToPath?goog.dependencies_.nameToPath[a]:null},goog.findBasePath_(),goog.global.CLOSURE_NO_DEPS||goog.importScript_(goog.basePath+"deps.js"));goog.hasBadLetScoping=null;goog.useSafari10Workaround=function(){if(null==goog.hasBadLetScoping){try{var a=!eval('"use strict";let x \x3d 1; function f() { return typeof x; };f() \x3d\x3d "number";')}catch(b){a=!1}goog.hasBadLetScoping=a}return goog.hasBadLetScoping};
goog.workaroundSafari10EvalBug=function(a){return"(function(){"+a+"\n;})();\n"};
goog.loadModule=function(a){var b=goog.moduleLoaderState_;try{goog.moduleLoaderState_={moduleName:void 0,declareLegacyNamespace:!1};if(goog.isFunction(a))var c=a.call(void 0,{});else if(goog.isString(a))goog.useSafari10Workaround()&&(a=goog.workaroundSafari10EvalBug(a)),c=goog.loadModuleFromSource_.call(void 0,a);else throw Error("Invalid module definition");var d=goog.moduleLoaderState_.moduleName;if(!goog.isString(d)||!d)throw Error('Invalid module name "'+d+'"');goog.moduleLoaderState_.declareLegacyNamespace?
goog.constructNamespace_(d,c):goog.SEAL_MODULE_EXPORTS&&Object.seal&&"object"==typeof c&&null!=c&&Object.seal(c);goog.loadedModules_[d]=c}finally{goog.moduleLoaderState_=b}};goog.loadModuleFromSource_=function(a){eval(a);return{}};goog.normalizePath_=function(a){a=a.split("/");for(var b=0;b<a.length;)"."==a[b]?a.splice(b,1):b&&".."==a[b]&&a[b-1]&&".."!=a[b-1]?a.splice(--b,2):b++;return a.join("/")};
goog.loadFileSync_=function(a){if(goog.global.CLOSURE_LOAD_FILE_SYNC)return goog.global.CLOSURE_LOAD_FILE_SYNC(a);try{var b=new goog.global.XMLHttpRequest;b.open("get",a,!1);b.send();return 0==b.status||200==b.status?b.responseText:null}catch(c){return null}};
goog.retrieveAndExec_=function(a,b,c){if(!COMPILED){var d=a;a=goog.normalizePath_(a);var e=goog.global.CLOSURE_IMPORT_SCRIPT||goog.writeScriptTag_,f=goog.loadFileSync_(a);if(null==f)throw Error('Load of "'+a+'" failed');c&&(f=goog.transpile_.call(goog.global,f,a));f=b?goog.wrapModule_(a,f):f+("\n//# sourceURL\x3d"+a);goog.IS_OLD_IE_&&goog.oldIeWaiting_?(goog.dependencies_.deferred[d]=f,goog.queuedModules_.push(d)):e(a,f)}};
goog.transpile_=function(a,b){var c=goog.global.$jscomp;c||(goog.global.$jscomp=c={});var d=c.transpile;if(!d){var e=goog.basePath+goog.TRANSPILER,f=goog.loadFileSync_(e);if(f){eval(f+"\n//# sourceURL\x3d"+e);if(goog.global.$gwtExport&&goog.global.$gwtExport.$jscomp&&!goog.global.$gwtExport.$jscomp.transpile)throw Error('The transpiler did not properly export the "transpile" method. $gwtExport: '+JSON.stringify(goog.global.$gwtExport));goog.global.$jscomp.transpile=goog.global.$gwtExport.$jscomp.transpile;
c=goog.global.$jscomp;d=c.transpile}}d||(d=c.transpile=function(a,b){goog.logToConsole_(b+" requires transpilation but no transpiler was found.");return a});return d(a,b)};
goog.typeOf=function(a){var b=typeof a;if("object"==b)if(a){if(a instanceof Array)return"array";if(a instanceof Object)return b;var c=Object.prototype.toString.call(a);if("[object Window]"==c)return"object";if("[object Array]"==c||"number"==typeof a.length&&"undefined"!=typeof a.splice&&"undefined"!=typeof a.propertyIsEnumerable&&!a.propertyIsEnumerable("splice"))return"array";if("[object Function]"==c||"undefined"!=typeof a.call&&"undefined"!=typeof a.propertyIsEnumerable&&!a.propertyIsEnumerable("call"))return"function"}else return"null";
else if("function"==b&&"undefined"==typeof a.call)return"object";return b};goog.isNull=function(a){return null===a};goog.isDefAndNotNull=function(a){return null!=a};goog.isArray=function(a){return"array"==goog.typeOf(a)};goog.isArrayLike=function(a){var b=goog.typeOf(a);return"array"==b||"object"==b&&"number"==typeof a.length};goog.isDateLike=function(a){return goog.isObject(a)&&"function"==typeof a.getFullYear};goog.isFunction=function(a){return"function"==goog.typeOf(a)};
goog.isObject=function(a){var b=typeof a;return"object"==b&&null!=a||"function"==b};goog.getUid=function(a){return a[goog.UID_PROPERTY_]||(a[goog.UID_PROPERTY_]=++goog.uidCounter_)};goog.hasUid=function(a){return!!a[goog.UID_PROPERTY_]};goog.removeUid=function(a){null!==a&&"removeAttribute"in a&&a.removeAttribute(goog.UID_PROPERTY_);try{delete a[goog.UID_PROPERTY_]}catch(b){}};goog.UID_PROPERTY_="closure_uid_"+(1E9*Math.random()>>>0);goog.uidCounter_=0;goog.getHashCode=goog.getUid;
goog.removeHashCode=goog.removeUid;goog.cloneObject=function(a){var b=goog.typeOf(a);if("object"==b||"array"==b){if(a.clone)return a.clone();b="array"==b?[]:{};for(var c in a)b[c]=goog.cloneObject(a[c]);return b}return a};goog.bindNative_=function(a,b,c){return a.call.apply(a.bind,arguments)};
goog.bindJs_=function(a,b,c){if(!a)throw Error();if(2<arguments.length){var d=Array.prototype.slice.call(arguments,2);return function(){var c=Array.prototype.slice.call(arguments);Array.prototype.unshift.apply(c,d);return a.apply(b,c)}}return function(){return a.apply(b,arguments)}};goog.bind=function(a,b,c){Function.prototype.bind&&-1!=Function.prototype.bind.toString().indexOf("native code")?goog.bind=goog.bindNative_:goog.bind=goog.bindJs_;return goog.bind.apply(null,arguments)};
goog.partial=function(a,b){var c=Array.prototype.slice.call(arguments,1);return function(){var b=c.slice();b.push.apply(b,arguments);return a.apply(this,b)}};goog.mixin=function(a,b){for(var c in b)a[c]=b[c]};goog.now=goog.TRUSTED_SITE&&Date.now||function(){return+new Date};
goog.globalEval=function(a){if(goog.global.execScript)goog.global.execScript(a,"JavaScript");else if(goog.global.eval){if(null==goog.evalWorksForGlobals_)if(goog.global.eval("var _evalTest_ \x3d 1;"),"undefined"!=typeof goog.global._evalTest_){try{delete goog.global._evalTest_}catch(d){}goog.evalWorksForGlobals_=!0}else goog.evalWorksForGlobals_=!1;if(goog.evalWorksForGlobals_)goog.global.eval(a);else{var b=goog.global.document,c=b.createElement("SCRIPT");c.type="text/javascript";c.defer=!1;c.appendChild(b.createTextNode(a));
b.body.appendChild(c);b.body.removeChild(c)}}else throw Error("goog.globalEval not available");};goog.evalWorksForGlobals_=null;
goog.getCssName=function(a,b){if("."==String(a).charAt(0))throw Error('className passed in goog.getCssName must not start with ".". You passed: '+a);var c=function(a){return goog.cssNameMapping_[a]||a},d=function(a){a=a.split("-");for(var b=[],d=0;d<a.length;d++)b.push(c(a[d]));return b.join("-")};d=goog.cssNameMapping_?"BY_WHOLE"==goog.cssNameMappingStyle_?c:d:function(a){return a};a=b?a+"-"+d(b):d(a);return goog.global.CLOSURE_CSS_NAME_MAP_FN?goog.global.CLOSURE_CSS_NAME_MAP_FN(a):a};
goog.setCssNameMapping=function(a,b){goog.cssNameMapping_=a;goog.cssNameMappingStyle_=b};!COMPILED&&goog.global.CLOSURE_CSS_NAME_MAPPING&&(goog.cssNameMapping_=goog.global.CLOSURE_CSS_NAME_MAPPING);goog.getMsg=function(a,b){b&&(a=a.replace(/\{\$([^}]+)}/g,function(a,d){return null!=b&&d in b?b[d]:a}));return a};goog.getMsgWithFallback=function(a,b){return a};goog.exportSymbol=function(a,b,c){goog.exportPath_(a,b,c)};goog.exportProperty=function(a,b,c){a[b]=c};
goog.inherits=function(a,b){function c(){}c.prototype=b.prototype;a.superClass_=b.prototype;a.prototype=new c;a.prototype.constructor=a;a.base=function(a,c,f){for(var d=Array(arguments.length-2),e=2;e<arguments.length;e++)d[e-2]=arguments[e];return b.prototype[c].apply(a,d)}};
goog.base=function(a,b,c){var d=arguments.callee.caller;if(goog.STRICT_MODE_COMPATIBLE||goog.DEBUG&&!d)throw Error("arguments.caller not defined.  goog.base() cannot be used with strict mode code. See http://www.ecma-international.org/ecma-262/5.1/#sec-C");if(d.superClass_){for(var e=Array(arguments.length-1),f=1;f<arguments.length;f++)e[f-1]=arguments[f];return d.superClass_.constructor.apply(a,e)}e=Array(arguments.length-2);for(f=2;f<arguments.length;f++)e[f-2]=arguments[f];f=!1;for(var g=a.constructor;g;g=
g.superClass_&&g.superClass_.constructor)if(g.prototype[b]===d)f=!0;else if(f)return g.prototype[b].apply(a,e);if(a[b]===d)return a.constructor.prototype[b].apply(a,e);throw Error("goog.base called from a method of one name to a method of a different name");};goog.scope=function(a){if(goog.isInModuleLoader_())throw Error("goog.scope is not supported within a goog.module.");a.call(goog.global)};COMPILED||(goog.global.COMPILED=COMPILED);
goog.defineClass=function(a,b){var c=b.constructor,d=b.statics;c&&c!=Object.prototype.constructor||(c=function(){throw Error("cannot instantiate an interface (no constructor defined).");});c=goog.defineClass.createSealingConstructor_(c,a);a&&goog.inherits(c,a);delete b.constructor;delete b.statics;goog.defineClass.applyProperties_(c.prototype,b);null!=d&&(d instanceof Function?d(c):goog.defineClass.applyProperties_(c,d));return c};goog.defineClass.SEAL_CLASS_INSTANCES=goog.DEBUG;
goog.defineClass.createSealingConstructor_=function(a,b){if(!goog.defineClass.SEAL_CLASS_INSTANCES)return a;var c=!goog.defineClass.isUnsealable_(b),d=function(){var b=a.apply(this,arguments)||this;b[goog.UID_PROPERTY_]=b[goog.UID_PROPERTY_];this.constructor===d&&c&&Object.seal instanceof Function&&Object.seal(b);return b};return d};goog.defineClass.isUnsealable_=function(a){return a&&a.prototype&&a.prototype[goog.UNSEALABLE_CONSTRUCTOR_PROPERTY_]};goog.defineClass.OBJECT_PROTOTYPE_FIELDS_="constructor hasOwnProperty isPrototypeOf propertyIsEnumerable toLocaleString toString valueOf".split(" ");
goog.defineClass.applyProperties_=function(a,b){for(var c in b)Object.prototype.hasOwnProperty.call(b,c)&&(a[c]=b[c]);for(var d=0;d<goog.defineClass.OBJECT_PROTOTYPE_FIELDS_.length;d++)c=goog.defineClass.OBJECT_PROTOTYPE_FIELDS_[d],Object.prototype.hasOwnProperty.call(b,c)&&(a[c]=b[c])};goog.tagUnsealableClass=function(a){!COMPILED&&goog.defineClass.SEAL_CLASS_INSTANCES&&(a.prototype[goog.UNSEALABLE_CONSTRUCTOR_PROPERTY_]=!0)};goog.UNSEALABLE_CONSTRUCTOR_PROPERTY_="goog_defineClass_legacy_unsealable";
goog.createRequiresTranspilation_=function(){function a(a,b){d?c[a]=!0:b()?c[a]=!1:d=c[a]=!0}function b(a){try{return!!eval(a)}catch(g){return!1}}var c={es3:!1},d=!1,e=goog.global.navigator&&goog.global.navigator.userAgent?goog.global.navigator.userAgent:"";a("es5",function(){return b("[1,].length\x3d\x3d1")});a("es6",function(){var a=e.match(/Edge\/(\d+)(\.\d)*/i);return a&&15>Number(a[1])?!1:b('(()\x3d\x3e{"use strict";class X{constructor(){if(new.target!\x3dString)throw 1;this.x\x3d42}}let q\x3dReflect.construct(X,[],String);if(q.x!\x3d42||!(q instanceof String))throw 1;for(const a of[2,3]){if(a\x3d\x3d2)continue;function f(z\x3d{a}){let a\x3d0;return z.a}{function f(){return 0;}}return f()\x3d\x3d3}})()')});
a("es6-impl",function(){return!0});a("es7",function(){return b("2 ** 2 \x3d\x3d 4")});a("es8",function(){return b("async () \x3d\x3e 1, true")});return c};goog.string={};goog.string.DETECT_DOUBLE_ESCAPING=!1;goog.string.FORCE_NON_DOM_HTML_UNESCAPING=!1;goog.string.Unicode={NBSP:" "};goog.string.startsWith=function(a,b){return 0==a.lastIndexOf(b,0)};goog.string.endsWith=function(a,b){var c=a.length-b.length;return 0<=c&&a.indexOf(b,c)==c};goog.string.caseInsensitiveStartsWith=function(a,b){return 0==goog.string.caseInsensitiveCompare(b,a.substr(0,b.length))};
goog.string.caseInsensitiveEndsWith=function(a,b){return 0==goog.string.caseInsensitiveCompare(b,a.substr(a.length-b.length,b.length))};goog.string.caseInsensitiveEquals=function(a,b){return a.toLowerCase()==b.toLowerCase()};goog.string.subs=function(a,b){for(var c=a.split("%s"),d="",e=Array.prototype.slice.call(arguments,1);e.length&&1<c.length;)d+=c.shift()+e.shift();return d+c.join("%s")};goog.string.collapseWhitespace=function(a){return a.replace(/[\s\xa0]+/g," ").replace(/^\s+|\s+$/g,"")};
goog.string.isEmptyOrWhitespace=function(a){return/^[\s\xa0]*$/.test(a)};goog.string.isEmptyString=function(a){return 0==a.length};goog.string.isEmpty=goog.string.isEmptyOrWhitespace;goog.string.isEmptyOrWhitespaceSafe=function(a){return goog.string.isEmptyOrWhitespace(goog.string.makeSafe(a))};goog.string.isEmptySafe=goog.string.isEmptyOrWhitespaceSafe;goog.string.isBreakingWhitespace=function(a){return!/[^\t\n\r ]/.test(a)};goog.string.isAlpha=function(a){return!/[^a-zA-Z]/.test(a)};
goog.string.isNumeric=function(a){return!/[^0-9]/.test(a)};goog.string.isAlphaNumeric=function(a){return!/[^a-zA-Z0-9]/.test(a)};goog.string.isSpace=function(a){return" "==a};goog.string.isUnicodeChar=function(a){return 1==a.length&&" "<=a&&"~">=a||""<=a&&"�">=a};goog.string.stripNewlines=function(a){return a.replace(/(\r\n|\r|\n)+/g," ")};goog.string.canonicalizeNewlines=function(a){return a.replace(/(\r\n|\r|\n)/g,"\n")};goog.string.normalizeWhitespace=function(a){return a.replace(/\xa0|\s/g," ")};
goog.string.normalizeSpaces=function(a){return a.replace(/\xa0|[ \t]+/g," ")};goog.string.collapseBreakingSpaces=function(a){return a.replace(/[\t\r\n ]+/g," ").replace(/^[\t\r\n ]+|[\t\r\n ]+$/g,"")};goog.string.trim=goog.TRUSTED_SITE&&String.prototype.trim?function(a){return a.trim()}:function(a){return a.replace(/^[\s\xa0]+|[\s\xa0]+$/g,"")};goog.string.trimLeft=function(a){return a.replace(/^[\s\xa0]+/,"")};goog.string.trimRight=function(a){return a.replace(/[\s\xa0]+$/,"")};
goog.string.caseInsensitiveCompare=function(a,b){a=String(a).toLowerCase();b=String(b).toLowerCase();return a<b?-1:a==b?0:1};goog.string.numberAwareCompare_=function(a,b,c){if(a==b)return 0;if(!a)return-1;if(!b)return 1;for(var d=a.toLowerCase().match(c),e=b.toLowerCase().match(c),f=Math.min(d.length,e.length),g=0;g<f;g++){c=d[g];var h=e[g];if(c!=h)return a=parseInt(c,10),!isNaN(a)&&(b=parseInt(h,10),!isNaN(b)&&a-b)?a-b:c<h?-1:1}return d.length!=e.length?d.length-e.length:a<b?-1:1};
goog.string.intAwareCompare=function(a,b){return goog.string.numberAwareCompare_(a,b,/\d+|\D+/g)};goog.string.floatAwareCompare=function(a,b){return goog.string.numberAwareCompare_(a,b,/\d+|\.\d+|\D+/g)};goog.string.numerateCompare=goog.string.floatAwareCompare;goog.string.urlEncode=function(a){return encodeURIComponent(String(a))};goog.string.urlDecode=function(a){return decodeURIComponent(a.replace(/\+/g," "))};
goog.string.newLineToBr=function(a,b){return a.replace(/(\r\n|\r|\n)/g,b?"\x3cbr /\x3e":"\x3cbr\x3e")};
goog.string.htmlEscape=function(a,b){if(b)a=a.replace(goog.string.AMP_RE_,"\x26amp;").replace(goog.string.LT_RE_,"\x26lt;").replace(goog.string.GT_RE_,"\x26gt;").replace(goog.string.QUOT_RE_,"\x26quot;").replace(goog.string.SINGLE_QUOTE_RE_,"\x26#39;").replace(goog.string.NULL_RE_,"\x26#0;"),goog.string.DETECT_DOUBLE_ESCAPING&&(a=a.replace(goog.string.E_RE_,"\x26#101;"));else{if(!goog.string.ALL_RE_.test(a))return a;-1!=a.indexOf("\x26")&&(a=a.replace(goog.string.AMP_RE_,"\x26amp;"));-1!=a.indexOf("\x3c")&&
(a=a.replace(goog.string.LT_RE_,"\x26lt;"));-1!=a.indexOf("\x3e")&&(a=a.replace(goog.string.GT_RE_,"\x26gt;"));-1!=a.indexOf('"')&&(a=a.replace(goog.string.QUOT_RE_,"\x26quot;"));-1!=a.indexOf("'")&&(a=a.replace(goog.string.SINGLE_QUOTE_RE_,"\x26#39;"));-1!=a.indexOf("\x00")&&(a=a.replace(goog.string.NULL_RE_,"\x26#0;"));goog.string.DETECT_DOUBLE_ESCAPING&&-1!=a.indexOf("e")&&(a=a.replace(goog.string.E_RE_,"\x26#101;"))}return a};goog.string.AMP_RE_=/&/g;goog.string.LT_RE_=/</g;
goog.string.GT_RE_=/>/g;goog.string.QUOT_RE_=/"/g;goog.string.SINGLE_QUOTE_RE_=/'/g;goog.string.NULL_RE_=/\x00/g;goog.string.E_RE_=/e/g;goog.string.ALL_RE_=goog.string.DETECT_DOUBLE_ESCAPING?/[\x00&<>"'e]/:/[\x00&<>"']/;goog.string.unescapeEntities=function(a){return goog.string.contains(a,"\x26")?!goog.string.FORCE_NON_DOM_HTML_UNESCAPING&&"document"in goog.global?goog.string.unescapeEntitiesUsingDom_(a):goog.string.unescapePureXmlEntities_(a):a};
goog.string.unescapeEntitiesWithDocument=function(a,b){return goog.string.contains(a,"\x26")?goog.string.unescapeEntitiesUsingDom_(a,b):a};
goog.string.unescapeEntitiesUsingDom_=function(a,b){var c={"\x26amp;":"\x26","\x26lt;":"\x3c","\x26gt;":"\x3e","\x26quot;":'"'};var d=b?b.createElement("div"):goog.global.document.createElement("div");return a.replace(goog.string.HTML_ENTITY_PATTERN_,function(a,b){var e=c[a];if(e)return e;"#"==b.charAt(0)&&(b=Number("0"+b.substr(1)),isNaN(b)||(e=String.fromCharCode(b)));e||(d.innerHTML=a+" ",e=d.firstChild.nodeValue.slice(0,-1));return c[a]=e})};
goog.string.unescapePureXmlEntities_=function(a){return a.replace(/&([^;]+);/g,function(a,c){switch(c){case "amp":return"\x26";case "lt":return"\x3c";case "gt":return"\x3e";case "quot":return'"';default:return"#"!=c.charAt(0)||(c=Number("0"+c.substr(1)),isNaN(c))?a:String.fromCharCode(c)}})};goog.string.HTML_ENTITY_PATTERN_=/&([^;\s<&]+);?/g;goog.string.whitespaceEscape=function(a,b){return goog.string.newLineToBr(a.replace(/  /g," \x26#160;"),b)};
goog.string.preserveSpaces=function(a){return a.replace(/(^|[\n ]) /g,"$1"+goog.string.Unicode.NBSP)};goog.string.stripQuotes=function(a,b){for(var c=b.length,d=0;d<c;d++){var e=1==c?b:b.charAt(d);if(a.charAt(0)==e&&a.charAt(a.length-1)==e)return a.substring(1,a.length-1)}return a};goog.string.truncate=function(a,b,c){c&&(a=goog.string.unescapeEntities(a));a.length>b&&(a=a.substring(0,b-3)+"...");c&&(a=goog.string.htmlEscape(a));return a};
goog.string.truncateMiddle=function(a,b,c,d){c&&(a=goog.string.unescapeEntities(a));if(d&&a.length>b){d>b&&(d=b);var e=a.length-d;a=a.substring(0,b-d)+"..."+a.substring(e)}else a.length>b&&(d=Math.floor(b/2),e=a.length-d,a=a.substring(0,d+b%2)+"..."+a.substring(e));c&&(a=goog.string.htmlEscape(a));return a};goog.string.specialEscapeChars_={"\x00":"\\0","\b":"\\b","\f":"\\f","\n":"\\n","\r":"\\r","\t":"\\t","\x0B":"\\x0B",'"':'\\"',"\\":"\\\\","\x3c":"\x3c"};goog.string.jsEscapeCache_={"'":"\\'"};
goog.string.quote=function(a){a=String(a);for(var b=['"'],c=0;c<a.length;c++){var d=a.charAt(c),e=d.charCodeAt(0);b[c+1]=goog.string.specialEscapeChars_[d]||(31<e&&127>e?d:goog.string.escapeChar(d))}b.push('"');return b.join("")};goog.string.escapeString=function(a){for(var b=[],c=0;c<a.length;c++)b[c]=goog.string.escapeChar(a.charAt(c));return b.join("")};
goog.string.escapeChar=function(a){if(a in goog.string.jsEscapeCache_)return goog.string.jsEscapeCache_[a];if(a in goog.string.specialEscapeChars_)return goog.string.jsEscapeCache_[a]=goog.string.specialEscapeChars_[a];var b=a.charCodeAt(0);if(31<b&&127>b)var c=a;else{if(256>b){if(c="\\x",16>b||256<b)c+="0"}else c="\\u",4096>b&&(c+="0");c+=b.toString(16).toUpperCase()}return goog.string.jsEscapeCache_[a]=c};goog.string.contains=function(a,b){return-1!=a.indexOf(b)};
goog.string.caseInsensitiveContains=function(a,b){return goog.string.contains(a.toLowerCase(),b.toLowerCase())};goog.string.countOf=function(a,b){return a&&b?a.split(b).length-1:0};goog.string.removeAt=function(a,b,c){var d=a;0<=b&&b<a.length&&0<c&&(d=a.substr(0,b)+a.substr(b+c,a.length-b-c));return d};goog.string.remove=function(a,b){return a.replace(b,"")};goog.string.removeAll=function(a,b){b=new RegExp(goog.string.regExpEscape(b),"g");return a.replace(b,"")};
goog.string.replaceAll=function(a,b,c){b=new RegExp(goog.string.regExpEscape(b),"g");return a.replace(b,c.replace(/\$/g,"$$$$"))};goog.string.regExpEscape=function(a){return String(a).replace(/([-()\[\]{}+?*.$\^|,:#<!\\])/g,"\\$1").replace(/\x08/g,"\\x08")};goog.string.repeat=String.prototype.repeat?function(a,b){return a.repeat(b)}:function(a,b){return Array(b+1).join(a)};
goog.string.padNumber=function(a,b,c){a=goog.isDef(c)?a.toFixed(c):String(a);c=a.indexOf(".");-1==c&&(c=a.length);return goog.string.repeat("0",Math.max(0,b-c))+a};goog.string.makeSafe=function(a){return null==a?"":String(a)};goog.string.buildString=function(a){return Array.prototype.join.call(arguments,"")};goog.string.getRandomString=function(){return Math.floor(2147483648*Math.random()).toString(36)+Math.abs(Math.floor(2147483648*Math.random())^goog.now()).toString(36)};
goog.string.compareVersions=function(a,b){var c=0;a=goog.string.trim(String(a)).split(".");b=goog.string.trim(String(b)).split(".");for(var d=Math.max(a.length,b.length),e=0;0==c&&e<d;e++){var f=a[e]||"",g=b[e]||"";do{f=/(\d*)(\D*)(.*)/.exec(f)||["","","",""];g=/(\d*)(\D*)(.*)/.exec(g)||["","","",""];if(0==f[0].length&&0==g[0].length)break;c=0==f[1].length?0:parseInt(f[1],10);var h=0==g[1].length?0:parseInt(g[1],10);c=goog.string.compareElements_(c,h)||goog.string.compareElements_(0==f[2].length,
0==g[2].length)||goog.string.compareElements_(f[2],g[2]);f=f[3];g=g[3]}while(0==c)}return c};goog.string.compareElements_=function(a,b){return a<b?-1:a>b?1:0};goog.string.hashCode=function(a){for(var b=0,c=0;c<a.length;++c)b=31*b+a.charCodeAt(c)>>>0;return b};goog.string.uniqueStringCounter_=2147483648*Math.random()|0;goog.string.createUniqueString=function(){return"goog_"+goog.string.uniqueStringCounter_++};
goog.string.toNumber=function(a){var b=Number(a);return 0==b&&goog.string.isEmptyOrWhitespace(a)?NaN:b};goog.string.isLowerCamelCase=function(a){return/^[a-z]+([A-Z][a-z]*)*$/.test(a)};goog.string.isUpperCamelCase=function(a){return/^([A-Z][a-z]*)+$/.test(a)};goog.string.toCamelCase=function(a){return String(a).replace(/\-([a-z])/g,function(a,c){return c.toUpperCase()})};goog.string.toSelectorCase=function(a){return String(a).replace(/([A-Z])/g,"-$1").toLowerCase()};
goog.string.toTitleCase=function(a,b){b=goog.isString(b)?goog.string.regExpEscape(b):"\\s";return a.replace(new RegExp("(^"+(b?"|["+b+"]+":"")+")([a-z])","g"),function(a,b,e){return b+e.toUpperCase()})};goog.string.capitalize=function(a){return String(a.charAt(0)).toUpperCase()+String(a.substr(1)).toLowerCase()};goog.string.parseInt=function(a){isFinite(a)&&(a=String(a));return goog.isString(a)?/^\s*-?0x/i.test(a)?parseInt(a,16):parseInt(a,10):NaN};
goog.string.splitLimit=function(a,b,c){a=a.split(b);for(var d=[];0<c&&a.length;)d.push(a.shift()),c--;a.length&&d.push(a.join(b));return d};goog.string.lastComponent=function(a,b){if(b)"string"==typeof b&&(b=[b]);else return a;for(var c=-1,d=0;d<b.length;d++)if(""!=b[d]){var e=a.lastIndexOf(b[d]);e>c&&(c=e)}return-1==c?a:a.slice(c+1)};
goog.string.editDistance=function(a,b){var c=[],d=[];if(a==b)return 0;if(!a.length||!b.length)return Math.max(a.length,b.length);for(var e=0;e<b.length+1;e++)c[e]=e;for(e=0;e<a.length;e++){d[0]=e+1;for(var f=0;f<b.length;f++)d[f+1]=Math.min(d[f]+1,c[f+1]+1,c[f]+Number(a[e]!=b[f]));for(f=0;f<c.length;f++)c[f]=d[f]}return d[b.length]};goog.debug={};goog.debug.Error=function(a){if(Error.captureStackTrace)Error.captureStackTrace(this,goog.debug.Error);else{var b=Error().stack;b&&(this.stack=b)}a&&(this.message=String(a));this.reportErrorToServer=!0};goog.inherits(goog.debug.Error,Error);goog.debug.Error.prototype.name="CustomError";goog.dom={};goog.dom.NodeType={ELEMENT:1,ATTRIBUTE:2,TEXT:3,CDATA_SECTION:4,ENTITY_REFERENCE:5,ENTITY:6,PROCESSING_INSTRUCTION:7,COMMENT:8,DOCUMENT:9,DOCUMENT_TYPE:10,DOCUMENT_FRAGMENT:11,NOTATION:12};goog.asserts={};goog.asserts.ENABLE_ASSERTS=goog.DEBUG;goog.asserts.AssertionError=function(a,b){b.unshift(a);goog.debug.Error.call(this,goog.string.subs.apply(null,b));b.shift();this.messagePattern=a};goog.inherits(goog.asserts.AssertionError,goog.debug.Error);goog.asserts.AssertionError.prototype.name="AssertionError";goog.asserts.DEFAULT_ERROR_HANDLER=function(a){throw a;};goog.asserts.errorHandler_=goog.asserts.DEFAULT_ERROR_HANDLER;
goog.asserts.doAssertFailure_=function(a,b,c,d){var e="Assertion failed";if(c){e+=": "+c;var f=d}else a&&(e+=": "+a,f=b);a=new goog.asserts.AssertionError(""+e,f||[]);goog.asserts.errorHandler_(a)};goog.asserts.setErrorHandler=function(a){goog.asserts.ENABLE_ASSERTS&&(goog.asserts.errorHandler_=a)};goog.asserts.assert=function(a,b,c){goog.asserts.ENABLE_ASSERTS&&!a&&goog.asserts.doAssertFailure_("",null,b,Array.prototype.slice.call(arguments,2));return a};
goog.asserts.fail=function(a,b){goog.asserts.ENABLE_ASSERTS&&goog.asserts.errorHandler_(new goog.asserts.AssertionError("Failure"+(a?": "+a:""),Array.prototype.slice.call(arguments,1)))};goog.asserts.assertNumber=function(a,b,c){goog.asserts.ENABLE_ASSERTS&&!goog.isNumber(a)&&goog.asserts.doAssertFailure_("Expected number but got %s: %s.",[goog.typeOf(a),a],b,Array.prototype.slice.call(arguments,2));return a};
goog.asserts.assertString=function(a,b,c){goog.asserts.ENABLE_ASSERTS&&!goog.isString(a)&&goog.asserts.doAssertFailure_("Expected string but got %s: %s.",[goog.typeOf(a),a],b,Array.prototype.slice.call(arguments,2));return a};goog.asserts.assertFunction=function(a,b,c){goog.asserts.ENABLE_ASSERTS&&!goog.isFunction(a)&&goog.asserts.doAssertFailure_("Expected function but got %s: %s.",[goog.typeOf(a),a],b,Array.prototype.slice.call(arguments,2));return a};
goog.asserts.assertObject=function(a,b,c){goog.asserts.ENABLE_ASSERTS&&!goog.isObject(a)&&goog.asserts.doAssertFailure_("Expected object but got %s: %s.",[goog.typeOf(a),a],b,Array.prototype.slice.call(arguments,2));return a};goog.asserts.assertArray=function(a,b,c){goog.asserts.ENABLE_ASSERTS&&!goog.isArray(a)&&goog.asserts.doAssertFailure_("Expected array but got %s: %s.",[goog.typeOf(a),a],b,Array.prototype.slice.call(arguments,2));return a};
goog.asserts.assertBoolean=function(a,b,c){goog.asserts.ENABLE_ASSERTS&&!goog.isBoolean(a)&&goog.asserts.doAssertFailure_("Expected boolean but got %s: %s.",[goog.typeOf(a),a],b,Array.prototype.slice.call(arguments,2));return a};goog.asserts.assertElement=function(a,b,c){!goog.asserts.ENABLE_ASSERTS||goog.isObject(a)&&a.nodeType==goog.dom.NodeType.ELEMENT||goog.asserts.doAssertFailure_("Expected Element but got %s: %s.",[goog.typeOf(a),a],b,Array.prototype.slice.call(arguments,2));return a};
goog.asserts.assertInstanceof=function(a,b,c,d){!goog.asserts.ENABLE_ASSERTS||a instanceof b||goog.asserts.doAssertFailure_("Expected instanceof %s but got %s.",[goog.asserts.getType_(b),goog.asserts.getType_(a)],c,Array.prototype.slice.call(arguments,3));return a};goog.asserts.assertObjectPrototypeIsIntact=function(){for(var a in Object.prototype)goog.asserts.fail(a+" should not be enumerable in Object.prototype.")};
goog.asserts.getType_=function(a){return a instanceof Function?a.displayName||a.name||"unknown type name":a instanceof Object?a.constructor.displayName||a.constructor.name||Object.prototype.toString.call(a):null===a?"null":typeof a};goog.array={};goog.NATIVE_ARRAY_PROTOTYPES=goog.TRUSTED_SITE;goog.array.ASSUME_NATIVE_FUNCTIONS=!1;goog.array.peek=function(a){return a[a.length-1]};goog.array.last=goog.array.peek;
goog.array.indexOf=goog.NATIVE_ARRAY_PROTOTYPES&&(goog.array.ASSUME_NATIVE_FUNCTIONS||Array.prototype.indexOf)?function(a,b,c){goog.asserts.assert(null!=a.length);return Array.prototype.indexOf.call(a,b,c)}:function(a,b,c){c=null==c?0:0>c?Math.max(0,a.length+c):c;if(goog.isString(a))return goog.isString(b)&&1==b.length?a.indexOf(b,c):-1;for(;c<a.length;c++)if(c in a&&a[c]===b)return c;return-1};
goog.array.lastIndexOf=goog.NATIVE_ARRAY_PROTOTYPES&&(goog.array.ASSUME_NATIVE_FUNCTIONS||Array.prototype.lastIndexOf)?function(a,b,c){goog.asserts.assert(null!=a.length);return Array.prototype.lastIndexOf.call(a,b,null==c?a.length-1:c)}:function(a,b,c){c=null==c?a.length-1:c;0>c&&(c=Math.max(0,a.length+c));if(goog.isString(a))return goog.isString(b)&&1==b.length?a.lastIndexOf(b,c):-1;for(;0<=c;c--)if(c in a&&a[c]===b)return c;return-1};
goog.array.forEach=goog.NATIVE_ARRAY_PROTOTYPES&&(goog.array.ASSUME_NATIVE_FUNCTIONS||Array.prototype.forEach)?function(a,b,c){goog.asserts.assert(null!=a.length);Array.prototype.forEach.call(a,b,c)}:function(a,b,c){for(var d=a.length,e=goog.isString(a)?a.split(""):a,f=0;f<d;f++)f in e&&b.call(c,e[f],f,a)};goog.array.forEachRight=function(a,b,c){var d=a.length,e=goog.isString(a)?a.split(""):a;for(--d;0<=d;--d)d in e&&b.call(c,e[d],d,a)};
goog.array.filter=goog.NATIVE_ARRAY_PROTOTYPES&&(goog.array.ASSUME_NATIVE_FUNCTIONS||Array.prototype.filter)?function(a,b,c){goog.asserts.assert(null!=a.length);return Array.prototype.filter.call(a,b,c)}:function(a,b,c){for(var d=a.length,e=[],f=0,g=goog.isString(a)?a.split(""):a,h=0;h<d;h++)if(h in g){var k=g[h];b.call(c,k,h,a)&&(e[f++]=k)}return e};
goog.array.map=goog.NATIVE_ARRAY_PROTOTYPES&&(goog.array.ASSUME_NATIVE_FUNCTIONS||Array.prototype.map)?function(a,b,c){goog.asserts.assert(null!=a.length);return Array.prototype.map.call(a,b,c)}:function(a,b,c){for(var d=a.length,e=Array(d),f=goog.isString(a)?a.split(""):a,g=0;g<d;g++)g in f&&(e[g]=b.call(c,f[g],g,a));return e};
goog.array.reduce=goog.NATIVE_ARRAY_PROTOTYPES&&(goog.array.ASSUME_NATIVE_FUNCTIONS||Array.prototype.reduce)?function(a,b,c,d){goog.asserts.assert(null!=a.length);d&&(b=goog.bind(b,d));return Array.prototype.reduce.call(a,b,c)}:function(a,b,c,d){var e=c;goog.array.forEach(a,function(c,g){e=b.call(d,e,c,g,a)});return e};
goog.array.reduceRight=goog.NATIVE_ARRAY_PROTOTYPES&&(goog.array.ASSUME_NATIVE_FUNCTIONS||Array.prototype.reduceRight)?function(a,b,c,d){goog.asserts.assert(null!=a.length);goog.asserts.assert(null!=b);d&&(b=goog.bind(b,d));return Array.prototype.reduceRight.call(a,b,c)}:function(a,b,c,d){var e=c;goog.array.forEachRight(a,function(c,g){e=b.call(d,e,c,g,a)});return e};
goog.array.some=goog.NATIVE_ARRAY_PROTOTYPES&&(goog.array.ASSUME_NATIVE_FUNCTIONS||Array.prototype.some)?function(a,b,c){goog.asserts.assert(null!=a.length);return Array.prototype.some.call(a,b,c)}:function(a,b,c){for(var d=a.length,e=goog.isString(a)?a.split(""):a,f=0;f<d;f++)if(f in e&&b.call(c,e[f],f,a))return!0;return!1};
goog.array.every=goog.NATIVE_ARRAY_PROTOTYPES&&(goog.array.ASSUME_NATIVE_FUNCTIONS||Array.prototype.every)?function(a,b,c){goog.asserts.assert(null!=a.length);return Array.prototype.every.call(a,b,c)}:function(a,b,c){for(var d=a.length,e=goog.isString(a)?a.split(""):a,f=0;f<d;f++)if(f in e&&!b.call(c,e[f],f,a))return!1;return!0};goog.array.count=function(a,b,c){var d=0;goog.array.forEach(a,function(a,f,g){b.call(c,a,f,g)&&++d},c);return d};
goog.array.find=function(a,b,c){b=goog.array.findIndex(a,b,c);return 0>b?null:goog.isString(a)?a.charAt(b):a[b]};goog.array.findIndex=function(a,b,c){for(var d=a.length,e=goog.isString(a)?a.split(""):a,f=0;f<d;f++)if(f in e&&b.call(c,e[f],f,a))return f;return-1};goog.array.findRight=function(a,b,c){b=goog.array.findIndexRight(a,b,c);return 0>b?null:goog.isString(a)?a.charAt(b):a[b]};
goog.array.findIndexRight=function(a,b,c){var d=a.length,e=goog.isString(a)?a.split(""):a;for(--d;0<=d;d--)if(d in e&&b.call(c,e[d],d,a))return d;return-1};goog.array.contains=function(a,b){return 0<=goog.array.indexOf(a,b)};goog.array.isEmpty=function(a){return 0==a.length};goog.array.clear=function(a){if(!goog.isArray(a))for(var b=a.length-1;0<=b;b--)delete a[b];a.length=0};goog.array.insert=function(a,b){goog.array.contains(a,b)||a.push(b)};
goog.array.insertAt=function(a,b,c){goog.array.splice(a,c,0,b)};goog.array.insertArrayAt=function(a,b,c){goog.partial(goog.array.splice,a,c,0).apply(null,b)};goog.array.insertBefore=function(a,b,c){var d;2==arguments.length||0>(d=goog.array.indexOf(a,c))?a.push(b):goog.array.insertAt(a,b,d)};goog.array.remove=function(a,b){b=goog.array.indexOf(a,b);var c;(c=0<=b)&&goog.array.removeAt(a,b);return c};
goog.array.removeLast=function(a,b){b=goog.array.lastIndexOf(a,b);return 0<=b?(goog.array.removeAt(a,b),!0):!1};goog.array.removeAt=function(a,b){goog.asserts.assert(null!=a.length);return 1==Array.prototype.splice.call(a,b,1).length};goog.array.removeIf=function(a,b,c){b=goog.array.findIndex(a,b,c);return 0<=b?(goog.array.removeAt(a,b),!0):!1};goog.array.removeAllIf=function(a,b,c){var d=0;goog.array.forEachRight(a,function(e,f){b.call(c,e,f,a)&&goog.array.removeAt(a,f)&&d++});return d};
goog.array.concat=function(a){return Array.prototype.concat.apply([],arguments)};goog.array.join=function(a){return Array.prototype.concat.apply([],arguments)};goog.array.toArray=function(a){var b=a.length;if(0<b){for(var c=Array(b),d=0;d<b;d++)c[d]=a[d];return c}return[]};goog.array.clone=goog.array.toArray;goog.array.extend=function(a,b){for(var c=1;c<arguments.length;c++){var d=arguments[c];if(goog.isArrayLike(d)){var e=a.length||0,f=d.length||0;a.length=e+f;for(var g=0;g<f;g++)a[e+g]=d[g]}else a.push(d)}};
goog.array.splice=function(a,b,c,d){goog.asserts.assert(null!=a.length);return Array.prototype.splice.apply(a,goog.array.slice(arguments,1))};goog.array.slice=function(a,b,c){goog.asserts.assert(null!=a.length);return 2>=arguments.length?Array.prototype.slice.call(a,b):Array.prototype.slice.call(a,b,c)};
goog.array.removeDuplicates=function(a,b,c){b=b||a;var d=function(a){return goog.isObject(a)?"o"+goog.getUid(a):(typeof a).charAt(0)+a};c=c||d;d={};for(var e=0,f=0;f<a.length;){var g=a[f++],h=c(g);Object.prototype.hasOwnProperty.call(d,h)||(d[h]=!0,b[e++]=g)}b.length=e};goog.array.binarySearch=function(a,b,c){return goog.array.binarySearch_(a,c||goog.array.defaultCompare,!1,b)};goog.array.binarySelect=function(a,b,c){return goog.array.binarySearch_(a,b,!0,void 0,c)};
goog.array.binarySearch_=function(a,b,c,d,e){for(var f=0,g=a.length,h;f<g;){var k=f+g>>1;var l=c?b.call(e,a[k],k,a):b(d,a[k]);0<l?f=k+1:(g=k,h=!l)}return h?f:~f};goog.array.sort=function(a,b){a.sort(b||goog.array.defaultCompare)};goog.array.stableSort=function(a,b){for(var c=Array(a.length),d=0;d<a.length;d++)c[d]={index:d,value:a[d]};var e=b||goog.array.defaultCompare;goog.array.sort(c,function(a,b){return e(a.value,b.value)||a.index-b.index});for(d=0;d<a.length;d++)a[d]=c[d].value};
goog.array.sortByKey=function(a,b,c){var d=c||goog.array.defaultCompare;goog.array.sort(a,function(a,c){return d(b(a),b(c))})};goog.array.sortObjectsByKey=function(a,b,c){goog.array.sortByKey(a,function(a){return a[b]},c)};goog.array.isSorted=function(a,b,c){b=b||goog.array.defaultCompare;for(var d=1;d<a.length;d++){var e=b(a[d-1],a[d]);if(0<e||0==e&&c)return!1}return!0};
goog.array.equals=function(a,b,c){if(!goog.isArrayLike(a)||!goog.isArrayLike(b)||a.length!=b.length)return!1;var d=a.length;c=c||goog.array.defaultCompareEquality;for(var e=0;e<d;e++)if(!c(a[e],b[e]))return!1;return!0};goog.array.compare3=function(a,b,c){c=c||goog.array.defaultCompare;for(var d=Math.min(a.length,b.length),e=0;e<d;e++){var f=c(a[e],b[e]);if(0!=f)return f}return goog.array.defaultCompare(a.length,b.length)};goog.array.defaultCompare=function(a,b){return a>b?1:a<b?-1:0};
goog.array.inverseDefaultCompare=function(a,b){return-goog.array.defaultCompare(a,b)};goog.array.defaultCompareEquality=function(a,b){return a===b};goog.array.binaryInsert=function(a,b,c){c=goog.array.binarySearch(a,b,c);return 0>c?(goog.array.insertAt(a,b,-(c+1)),!0):!1};goog.array.binaryRemove=function(a,b,c){b=goog.array.binarySearch(a,b,c);return 0<=b?goog.array.removeAt(a,b):!1};
goog.array.bucket=function(a,b,c){for(var d={},e=0;e<a.length;e++){var f=a[e],g=b.call(c,f,e,a);goog.isDef(g)&&(d[g]||(d[g]=[])).push(f)}return d};goog.array.toObject=function(a,b,c){var d={};goog.array.forEach(a,function(e,f){d[b.call(c,e,f,a)]=e});return d};goog.array.range=function(a,b,c){var d=[],e=0,f=a;c=c||1;void 0!==b&&(e=a,f=b);if(0>c*(f-e))return[];if(0<c)for(a=e;a<f;a+=c)d.push(a);else for(a=e;a>f;a+=c)d.push(a);return d};
goog.array.repeat=function(a,b){for(var c=[],d=0;d<b;d++)c[d]=a;return c};goog.array.flatten=function(a){for(var b=[],c=0;c<arguments.length;c++){var d=arguments[c];if(goog.isArray(d))for(var e=0;e<d.length;e+=8192){var f=goog.array.slice(d,e,e+8192);f=goog.array.flatten.apply(null,f);for(var g=0;g<f.length;g++)b.push(f[g])}else b.push(d)}return b};
goog.array.rotate=function(a,b){goog.asserts.assert(null!=a.length);a.length&&(b%=a.length,0<b?Array.prototype.unshift.apply(a,a.splice(-b,b)):0>b&&Array.prototype.push.apply(a,a.splice(0,-b)));return a};goog.array.moveItem=function(a,b,c){goog.asserts.assert(0<=b&&b<a.length);goog.asserts.assert(0<=c&&c<a.length);b=Array.prototype.splice.call(a,b,1);Array.prototype.splice.call(a,c,0,b[0])};
goog.array.zip=function(a){if(!arguments.length)return[];for(var b=[],c=arguments[0].length,d=1;d<arguments.length;d++)arguments[d].length<c&&(c=arguments[d].length);for(d=0;d<c;d++){for(var e=[],f=0;f<arguments.length;f++)e.push(arguments[f][d]);b.push(e)}return b};goog.array.shuffle=function(a,b){b=b||Math.random;for(var c=a.length-1;0<c;c--){var d=Math.floor(b()*(c+1)),e=a[c];a[c]=a[d];a[d]=e}};goog.array.copyByIndex=function(a,b){var c=[];goog.array.forEach(b,function(b){c.push(a[b])});return c};
goog.array.concatMap=function(a,b,c){return goog.array.concat.apply([],goog.array.map(a,b,c))};goog.object={};goog.object.is=function(a,b){return a===b?0!==a||1/a===1/b:a!==a&&b!==b};goog.object.forEach=function(a,b,c){for(var d in a)b.call(c,a[d],d,a)};goog.object.filter=function(a,b,c){var d={},e;for(e in a)b.call(c,a[e],e,a)&&(d[e]=a[e]);return d};goog.object.map=function(a,b,c){var d={},e;for(e in a)d[e]=b.call(c,a[e],e,a);return d};goog.object.some=function(a,b,c){for(var d in a)if(b.call(c,a[d],d,a))return!0;return!1};
goog.object.every=function(a,b,c){for(var d in a)if(!b.call(c,a[d],d,a))return!1;return!0};goog.object.getCount=function(a){var b=0,c;for(c in a)b++;return b};goog.object.getAnyKey=function(a){for(var b in a)return b};goog.object.getAnyValue=function(a){for(var b in a)return a[b]};goog.object.contains=function(a,b){return goog.object.containsValue(a,b)};goog.object.getValues=function(a){var b=[],c=0,d;for(d in a)b[c++]=a[d];return b};
goog.object.getKeys=function(a){var b=[],c=0,d;for(d in a)b[c++]=d;return b};goog.object.getValueByKeys=function(a,b){var c=goog.isArrayLike(b),d=c?b:arguments;for(c=c?0:1;c<d.length&&(a=a[d[c]],goog.isDef(a));c++);return a};goog.object.containsKey=function(a,b){return null!==a&&b in a};goog.object.containsValue=function(a,b){for(var c in a)if(a[c]==b)return!0;return!1};goog.object.findKey=function(a,b,c){for(var d in a)if(b.call(c,a[d],d,a))return d};
goog.object.findValue=function(a,b,c){return(b=goog.object.findKey(a,b,c))&&a[b]};goog.object.isEmpty=function(a){for(var b in a)return!1;return!0};goog.object.clear=function(a){for(var b in a)delete a[b]};goog.object.remove=function(a,b){var c;(c=b in a)&&delete a[b];return c};goog.object.add=function(a,b,c){if(null!==a&&b in a)throw Error('The object already contains the key "'+b+'"');goog.object.set(a,b,c)};goog.object.get=function(a,b,c){return null!==a&&b in a?a[b]:c};
goog.object.set=function(a,b,c){a[b]=c};goog.object.setIfUndefined=function(a,b,c){return b in a?a[b]:a[b]=c};goog.object.setWithReturnValueIfNotSet=function(a,b,c){if(b in a)return a[b];c=c();return a[b]=c};goog.object.equals=function(a,b){for(var c in a)if(!(c in b)||a[c]!==b[c])return!1;for(c in b)if(!(c in a))return!1;return!0};goog.object.clone=function(a){var b={},c;for(c in a)b[c]=a[c];return b};
goog.object.unsafeClone=function(a){var b=goog.typeOf(a);if("object"==b||"array"==b){if(goog.isFunction(a.clone))return a.clone();b="array"==b?[]:{};for(var c in a)b[c]=goog.object.unsafeClone(a[c]);return b}return a};goog.object.transpose=function(a){var b={},c;for(c in a)b[a[c]]=c;return b};goog.object.PROTOTYPE_FIELDS_="constructor hasOwnProperty isPrototypeOf propertyIsEnumerable toLocaleString toString valueOf".split(" ");
goog.object.extend=function(a,b){for(var c,d,e=1;e<arguments.length;e++){d=arguments[e];for(c in d)a[c]=d[c];for(var f=0;f<goog.object.PROTOTYPE_FIELDS_.length;f++)c=goog.object.PROTOTYPE_FIELDS_[f],Object.prototype.hasOwnProperty.call(d,c)&&(a[c]=d[c])}};
goog.object.create=function(a){var b=arguments.length;if(1==b&&goog.isArray(arguments[0]))return goog.object.create.apply(null,arguments[0]);if(b%2)throw Error("Uneven number of arguments");for(var c={},d=0;d<b;d+=2)c[arguments[d]]=arguments[d+1];return c};goog.object.createSet=function(a){var b=arguments.length;if(1==b&&goog.isArray(arguments[0]))return goog.object.createSet.apply(null,arguments[0]);for(var c={},d=0;d<b;d++)c[arguments[d]]=!0;return c};
goog.object.createImmutableView=function(a){var b=a;Object.isFrozen&&!Object.isFrozen(a)&&(b=Object.create(a),Object.freeze(b));return b};goog.object.isImmutableView=function(a){return!!Object.isFrozen&&Object.isFrozen(a)};
goog.object.getAllPropertyNames=function(a,b,c){if(!a)return[];if(!Object.getOwnPropertyNames||!Object.getPrototypeOf)return goog.object.getKeys(a);for(var d={};a&&(a!==Object.prototype||b)&&(a!==Function.prototype||c);){for(var e=Object.getOwnPropertyNames(a),f=0;f<e.length;f++)d[e[f]]=!0;a=Object.getPrototypeOf(a)}return goog.object.getKeys(d)};goog.structs={};goog.structs.getCount=function(a){return a.getCount&&"function"==typeof a.getCount?a.getCount():goog.isArrayLike(a)||goog.isString(a)?a.length:goog.object.getCount(a)};goog.structs.getValues=function(a){if(a.getValues&&"function"==typeof a.getValues)return a.getValues();if(goog.isString(a))return a.split("");if(goog.isArrayLike(a)){for(var b=[],c=a.length,d=0;d<c;d++)b.push(a[d]);return b}return goog.object.getValues(a)};
goog.structs.getKeys=function(a){if(a.getKeys&&"function"==typeof a.getKeys)return a.getKeys();if(!a.getValues||"function"!=typeof a.getValues){if(goog.isArrayLike(a)||goog.isString(a)){var b=[];a=a.length;for(var c=0;c<a;c++)b.push(c);return b}return goog.object.getKeys(a)}};
goog.structs.contains=function(a,b){return a.contains&&"function"==typeof a.contains?a.contains(b):a.containsValue&&"function"==typeof a.containsValue?a.containsValue(b):goog.isArrayLike(a)||goog.isString(a)?goog.array.contains(a,b):goog.object.containsValue(a,b)};goog.structs.isEmpty=function(a){return a.isEmpty&&"function"==typeof a.isEmpty?a.isEmpty():goog.isArrayLike(a)||goog.isString(a)?goog.array.isEmpty(a):goog.object.isEmpty(a)};
goog.structs.clear=function(a){a.clear&&"function"==typeof a.clear?a.clear():goog.isArrayLike(a)?goog.array.clear(a):goog.object.clear(a)};goog.structs.forEach=function(a,b,c){if(a.forEach&&"function"==typeof a.forEach)a.forEach(b,c);else if(goog.isArrayLike(a)||goog.isString(a))goog.array.forEach(a,b,c);else for(var d=goog.structs.getKeys(a),e=goog.structs.getValues(a),f=e.length,g=0;g<f;g++)b.call(c,e[g],d&&d[g],a)};
goog.structs.filter=function(a,b,c){if("function"==typeof a.filter)return a.filter(b,c);if(goog.isArrayLike(a)||goog.isString(a))return goog.array.filter(a,b,c);var d=goog.structs.getKeys(a),e=goog.structs.getValues(a),f=e.length;if(d){var g={};for(var h=0;h<f;h++)b.call(c,e[h],d[h],a)&&(g[d[h]]=e[h])}else for(g=[],h=0;h<f;h++)b.call(c,e[h],void 0,a)&&g.push(e[h]);return g};
goog.structs.map=function(a,b,c){if("function"==typeof a.map)return a.map(b,c);if(goog.isArrayLike(a)||goog.isString(a))return goog.array.map(a,b,c);var d=goog.structs.getKeys(a),e=goog.structs.getValues(a),f=e.length;if(d){var g={};for(var h=0;h<f;h++)g[d[h]]=b.call(c,e[h],d[h],a)}else for(g=[],h=0;h<f;h++)g[h]=b.call(c,e[h],void 0,a);return g};
goog.structs.some=function(a,b,c){if("function"==typeof a.some)return a.some(b,c);if(goog.isArrayLike(a)||goog.isString(a))return goog.array.some(a,b,c);for(var d=goog.structs.getKeys(a),e=goog.structs.getValues(a),f=e.length,g=0;g<f;g++)if(b.call(c,e[g],d&&d[g],a))return!0;return!1};
goog.structs.every=function(a,b,c){if("function"==typeof a.every)return a.every(b,c);if(goog.isArrayLike(a)||goog.isString(a))return goog.array.every(a,b,c);for(var d=goog.structs.getKeys(a),e=goog.structs.getValues(a),f=e.length,g=0;g<f;g++)if(!b.call(c,e[g],d&&d[g],a))return!1;return!0};goog.functions={};goog.functions.constant=function(a){return function(){return a}};goog.functions.FALSE=goog.functions.constant(!1);goog.functions.TRUE=goog.functions.constant(!0);goog.functions.NULL=goog.functions.constant(null);goog.functions.identity=function(a,b){return a};goog.functions.error=function(a){return function(){throw Error(a);}};goog.functions.fail=function(a){return function(){throw a;}};
goog.functions.lock=function(a,b){b=b||0;return function(){return a.apply(this,Array.prototype.slice.call(arguments,0,b))}};goog.functions.nth=function(a){return function(){return arguments[a]}};goog.functions.partialRight=function(a,b){var c=Array.prototype.slice.call(arguments,1);return function(){var b=Array.prototype.slice.call(arguments);b.push.apply(b,c);return a.apply(this,b)}};goog.functions.withReturnValue=function(a,b){return goog.functions.sequence(a,goog.functions.constant(b))};
goog.functions.equalTo=function(a,b){return function(c){return b?a==c:a===c}};goog.functions.compose=function(a,b){var c=arguments,d=c.length;return function(){var a;d&&(a=c[d-1].apply(this,arguments));for(var b=d-2;0<=b;b--)a=c[b].call(this,a);return a}};goog.functions.sequence=function(a){var b=arguments,c=b.length;return function(){for(var a,e=0;e<c;e++)a=b[e].apply(this,arguments);return a}};
goog.functions.and=function(a){var b=arguments,c=b.length;return function(){for(var a=0;a<c;a++)if(!b[a].apply(this,arguments))return!1;return!0}};goog.functions.or=function(a){var b=arguments,c=b.length;return function(){for(var a=0;a<c;a++)if(b[a].apply(this,arguments))return!0;return!1}};goog.functions.not=function(a){return function(){return!a.apply(this,arguments)}};
goog.functions.create=function(a,b){var c=function(){};c.prototype=a.prototype;c=new c;a.apply(c,Array.prototype.slice.call(arguments,1));return c};goog.functions.CACHE_RETURN_VALUE=!0;goog.functions.cacheReturnValue=function(a){var b=!1,c;return function(){if(!goog.functions.CACHE_RETURN_VALUE)return a();b||(c=a(),b=!0);return c}};goog.functions.once=function(a){var b=a;return function(){if(b){var a=b;b=null;a()}}};
goog.functions.debounce=function(a,b,c){var d=0;return function(e){goog.global.clearTimeout(d);var f=arguments;d=goog.global.setTimeout(function(){a.apply(c,f)},b)}};goog.functions.throttle=function(a,b,c){var d=0,e=!1,f=[],g=function(){d=0;e&&(e=!1,h())},h=function(){d=goog.global.setTimeout(g,b);a.apply(c,f)};return function(a){f=arguments;d?e=!0:h()}};goog.functions.rateLimit=function(a,b,c){var d=0,e=function(){d=0};return function(f){d||(d=goog.global.setTimeout(e,b),a.apply(c,arguments))}};goog.math={};goog.math.randomInt=function(a){return Math.floor(Math.random()*a)};goog.math.uniformRandom=function(a,b){return a+Math.random()*(b-a)};goog.math.clamp=function(a,b,c){return Math.min(Math.max(a,b),c)};goog.math.modulo=function(a,b){a%=b;return 0>a*b?a+b:a};goog.math.lerp=function(a,b,c){return a+c*(b-a)};goog.math.nearlyEquals=function(a,b,c){return Math.abs(a-b)<=(c||1E-6)};goog.math.standardAngle=function(a){return goog.math.modulo(a,360)};
goog.math.standardAngleInRadians=function(a){return goog.math.modulo(a,2*Math.PI)};goog.math.toRadians=function(a){return a*Math.PI/180};goog.math.toDegrees=function(a){return 180*a/Math.PI};goog.math.angleDx=function(a,b){return b*Math.cos(goog.math.toRadians(a))};goog.math.angleDy=function(a,b){return b*Math.sin(goog.math.toRadians(a))};goog.math.angle=function(a,b,c,d){return goog.math.standardAngle(goog.math.toDegrees(Math.atan2(d-b,c-a)))};
goog.math.angleDifference=function(a,b){a=goog.math.standardAngle(b)-goog.math.standardAngle(a);180<a?a-=360:-180>=a&&(a=360+a);return a};goog.math.sign=function(a){return 0<a?1:0>a?-1:a};
goog.math.longestCommonSubsequence=function(a,b,c,d){c=c||function(a,b){return a==b};d=d||function(b,c){return a[b]};for(var e=a.length,f=b.length,g=[],h=0;h<e+1;h++)g[h]=[],g[h][0]=0;for(var k=0;k<f+1;k++)g[0][k]=0;for(h=1;h<=e;h++)for(k=1;k<=f;k++)c(a[h-1],b[k-1])?g[h][k]=g[h-1][k-1]+1:g[h][k]=Math.max(g[h-1][k],g[h][k-1]);var l=[];h=e;for(k=f;0<h&&0<k;)c(a[h-1],b[k-1])?(l.unshift(d(h-1,k-1)),h--,k--):g[h-1][k]>g[h][k-1]?h--:k--;return l};
goog.math.sum=function(a){return goog.array.reduce(arguments,function(a,c){return a+c},0)};goog.math.average=function(a){return goog.math.sum.apply(null,arguments)/arguments.length};goog.math.sampleVariance=function(a){var b=arguments.length;if(2>b)return 0;var c=goog.math.average.apply(null,arguments);return goog.math.sum.apply(null,goog.array.map(arguments,function(a){return Math.pow(a-c,2)}))/(b-1)};goog.math.standardDeviation=function(a){return Math.sqrt(goog.math.sampleVariance.apply(null,arguments))};
goog.math.isInt=function(a){return isFinite(a)&&0==a%1};goog.math.isFiniteNumber=function(a){return isFinite(a)};goog.math.isNegativeZero=function(a){return 0==a&&0>1/a};goog.math.log10Floor=function(a){if(0<a){var b=Math.round(Math.log(a)*Math.LOG10E);return b-(parseFloat("1e"+b)>a?1:0)}return 0==a?-Infinity:NaN};goog.math.safeFloor=function(a,b){goog.asserts.assert(!goog.isDef(b)||0<b);return Math.floor(a+(b||2E-15))};
goog.math.safeCeil=function(a,b){goog.asserts.assert(!goog.isDef(b)||0<b);return Math.ceil(a-(b||2E-15))};goog.iter={};goog.iter.StopIteration="StopIteration"in goog.global?goog.global.StopIteration:{message:"StopIteration",stack:""};goog.iter.Iterator=function(){};goog.iter.Iterator.prototype.next=function(){throw goog.iter.StopIteration;};goog.iter.Iterator.prototype.__iterator__=function(a){return this};
goog.iter.toIterator=function(a){if(a instanceof goog.iter.Iterator)return a;if("function"==typeof a.__iterator__)return a.__iterator__(!1);if(goog.isArrayLike(a)){var b=0,c=new goog.iter.Iterator;c.next=function(){for(;;){if(b>=a.length)throw goog.iter.StopIteration;if(b in a)return a[b++];b++}};return c}throw Error("Not implemented");};
goog.iter.forEach=function(a,b,c){if(goog.isArrayLike(a))try{goog.array.forEach(a,b,c)}catch(d){if(d!==goog.iter.StopIteration)throw d;}else{a=goog.iter.toIterator(a);try{for(;;)b.call(c,a.next(),void 0,a)}catch(d){if(d!==goog.iter.StopIteration)throw d;}}};goog.iter.filter=function(a,b,c){var d=goog.iter.toIterator(a);a=new goog.iter.Iterator;a.next=function(){for(;;){var a=d.next();if(b.call(c,a,void 0,d))return a}};return a};
goog.iter.filterFalse=function(a,b,c){return goog.iter.filter(a,goog.functions.not(b),c)};goog.iter.range=function(a,b,c){var d=0,e=a,f=c||1;1<arguments.length&&(d=a,e=b);if(0==f)throw Error("Range step argument must not be zero");var g=new goog.iter.Iterator;g.next=function(){if(0<f&&d>=e||0>f&&d<=e)throw goog.iter.StopIteration;var a=d;d+=f;return a};return g};goog.iter.join=function(a,b){return goog.iter.toArray(a).join(b)};
goog.iter.map=function(a,b,c){var d=goog.iter.toIterator(a);a=new goog.iter.Iterator;a.next=function(){var a=d.next();return b.call(c,a,void 0,d)};return a};goog.iter.reduce=function(a,b,c,d){var e=c;goog.iter.forEach(a,function(a){e=b.call(d,e,a)});return e};goog.iter.some=function(a,b,c){a=goog.iter.toIterator(a);try{for(;;)if(b.call(c,a.next(),void 0,a))return!0}catch(d){if(d!==goog.iter.StopIteration)throw d;}return!1};
goog.iter.every=function(a,b,c){a=goog.iter.toIterator(a);try{for(;;)if(!b.call(c,a.next(),void 0,a))return!1}catch(d){if(d!==goog.iter.StopIteration)throw d;}return!0};goog.iter.chain=function(a){return goog.iter.chainFromIterable(arguments)};
goog.iter.chainFromIterable=function(a){var b=goog.iter.toIterator(a);a=new goog.iter.Iterator;var c=null;a.next=function(){for(;;){if(null==c){var a=b.next();c=goog.iter.toIterator(a)}try{return c.next()}catch(e){if(e!==goog.iter.StopIteration)throw e;c=null}}};return a};goog.iter.dropWhile=function(a,b,c){var d=goog.iter.toIterator(a);a=new goog.iter.Iterator;var e=!0;a.next=function(){for(;;){var a=d.next();if(!e||!b.call(c,a,void 0,d))return e=!1,a}};return a};
goog.iter.takeWhile=function(a,b,c){var d=goog.iter.toIterator(a);a=new goog.iter.Iterator;a.next=function(){var a=d.next();if(b.call(c,a,void 0,d))return a;throw goog.iter.StopIteration;};return a};goog.iter.toArray=function(a){if(goog.isArrayLike(a))return goog.array.toArray(a);a=goog.iter.toIterator(a);var b=[];goog.iter.forEach(a,function(a){b.push(a)});return b};
goog.iter.equals=function(a,b,c){a=goog.iter.zipLongest({},a,b);var d=c||goog.array.defaultCompareEquality;return goog.iter.every(a,function(a){return d(a[0],a[1])})};goog.iter.nextOrValue=function(a,b){try{return goog.iter.toIterator(a).next()}catch(c){if(c!=goog.iter.StopIteration)throw c;return b}};
goog.iter.product=function(a){if(goog.array.some(arguments,function(a){return!a.length})||!arguments.length)return new goog.iter.Iterator;var b=new goog.iter.Iterator,c=arguments,d=goog.array.repeat(0,c.length);b.next=function(){if(d){for(var a=goog.array.map(d,function(a,b){return c[b][a]}),b=d.length-1;0<=b;b--){goog.asserts.assert(d);if(d[b]<c[b].length-1){d[b]++;break}if(0==b){d=null;break}d[b]=0}return a}throw goog.iter.StopIteration;};return b};
goog.iter.cycle=function(a){var b=goog.iter.toIterator(a),c=[],d=0;a=new goog.iter.Iterator;var e=!1;a.next=function(){var a=null;if(!e)try{return a=b.next(),c.push(a),a}catch(g){if(g!=goog.iter.StopIteration||goog.array.isEmpty(c))throw g;e=!0}a=c[d];d=(d+1)%c.length;return a};return a};goog.iter.count=function(a,b){var c=a||0,d=goog.isDef(b)?b:1;a=new goog.iter.Iterator;a.next=function(){var a=c;c+=d;return a};return a};
goog.iter.repeat=function(a){var b=new goog.iter.Iterator;b.next=goog.functions.constant(a);return b};goog.iter.accumulate=function(a){var b=goog.iter.toIterator(a),c=0;a=new goog.iter.Iterator;a.next=function(){return c+=b.next()};return a};goog.iter.zip=function(a){var b=arguments,c=new goog.iter.Iterator;if(0<b.length){var d=goog.array.map(b,goog.iter.toIterator);c.next=function(){return goog.array.map(d,function(a){return a.next()})}}return c};
goog.iter.zipLongest=function(a,b){var c=goog.array.slice(arguments,1),d=new goog.iter.Iterator;if(0<c.length){var e=goog.array.map(c,goog.iter.toIterator);d.next=function(){var b=!1,c=goog.array.map(e,function(c){try{var d=c.next();b=!0}catch(l){if(l!==goog.iter.StopIteration)throw l;d=a}return d});if(!b)throw goog.iter.StopIteration;return c}}return d};goog.iter.compress=function(a,b){var c=goog.iter.toIterator(b);return goog.iter.filter(a,function(){return!!c.next()})};
goog.iter.GroupByIterator_=function(a,b){this.iterator=goog.iter.toIterator(a);this.keyFunc=b||goog.functions.identity};goog.inherits(goog.iter.GroupByIterator_,goog.iter.Iterator);goog.iter.GroupByIterator_.prototype.next=function(){for(;this.currentKey==this.targetKey;)this.currentValue=this.iterator.next(),this.currentKey=this.keyFunc(this.currentValue);this.targetKey=this.currentKey;return[this.currentKey,this.groupItems_(this.targetKey)]};
goog.iter.GroupByIterator_.prototype.groupItems_=function(a){for(var b=[];this.currentKey==a;){b.push(this.currentValue);try{this.currentValue=this.iterator.next()}catch(c){if(c!==goog.iter.StopIteration)throw c;break}this.currentKey=this.keyFunc(this.currentValue)}return b};goog.iter.groupBy=function(a,b){return new goog.iter.GroupByIterator_(a,b)};
goog.iter.starMap=function(a,b,c){var d=goog.iter.toIterator(a);a=new goog.iter.Iterator;a.next=function(){var a=goog.iter.toArray(d.next());return b.apply(c,goog.array.concat(a,void 0,d))};return a};
goog.iter.tee=function(a,b){var c=goog.iter.toIterator(a);a=goog.isNumber(b)?b:2;var d=goog.array.map(goog.array.range(a),function(){return[]}),e=function(){var a=c.next();goog.array.forEach(d,function(b){b.push(a)})};return goog.array.map(d,function(a){var b=new goog.iter.Iterator;b.next=function(){goog.array.isEmpty(a)&&e();goog.asserts.assert(!goog.array.isEmpty(a));return a.shift()};return b})};goog.iter.enumerate=function(a,b){return goog.iter.zip(goog.iter.count(b),a)};
goog.iter.limit=function(a,b){goog.asserts.assert(goog.math.isInt(b)&&0<=b);var c=goog.iter.toIterator(a);a=new goog.iter.Iterator;var d=b;a.next=function(){if(0<d--)return c.next();throw goog.iter.StopIteration;};return a};goog.iter.consume=function(a,b){goog.asserts.assert(goog.math.isInt(b)&&0<=b);for(a=goog.iter.toIterator(a);0<b--;)goog.iter.nextOrValue(a,null);return a};
goog.iter.slice=function(a,b,c){goog.asserts.assert(goog.math.isInt(b)&&0<=b);a=goog.iter.consume(a,b);goog.isNumber(c)&&(goog.asserts.assert(goog.math.isInt(c)&&c>=b),a=goog.iter.limit(a,c-b));return a};goog.iter.hasDuplicates_=function(a){var b=[];goog.array.removeDuplicates(a,b);return a.length!=b.length};goog.iter.permutations=function(a,b){a=goog.iter.toArray(a);b=goog.isNumber(b)?b:a.length;b=goog.array.repeat(a,b);b=goog.iter.product.apply(void 0,b);return goog.iter.filter(b,function(a){return!goog.iter.hasDuplicates_(a)})};
goog.iter.combinations=function(a,b){function c(a){return d[a]}var d=goog.iter.toArray(a);a=goog.iter.range(d.length);b=goog.iter.permutations(a,b);var e=goog.iter.filter(b,function(a){return goog.array.isSorted(a)});b=new goog.iter.Iterator;b.next=function(){return goog.array.map(e.next(),c)};return b};
goog.iter.combinationsWithReplacement=function(a,b){function c(a){return d[a]}var d=goog.iter.toArray(a);a=goog.array.range(d.length);b=goog.array.repeat(a,b);b=goog.iter.product.apply(void 0,b);var e=goog.iter.filter(b,function(a){return goog.array.isSorted(a)});b=new goog.iter.Iterator;b.next=function(){return goog.array.map(e.next(),c)};return b};goog.structs.Map=function(a,b){this.map_={};this.keys_=[];this.version_=this.count_=0;var c=arguments.length;if(1<c){if(c%2)throw Error("Uneven number of arguments");for(var d=0;d<c;d+=2)this.set(arguments[d],arguments[d+1])}else a&&this.addAll(a)};goog.structs.Map.prototype.getCount=function(){return this.count_};goog.structs.Map.prototype.getValues=function(){this.cleanupKeysArray_();for(var a=[],b=0;b<this.keys_.length;b++)a.push(this.map_[this.keys_[b]]);return a};
goog.structs.Map.prototype.getKeys=function(){this.cleanupKeysArray_();return this.keys_.concat()};goog.structs.Map.prototype.containsKey=function(a){return goog.structs.Map.hasKey_(this.map_,a)};goog.structs.Map.prototype.containsValue=function(a){for(var b=0;b<this.keys_.length;b++){var c=this.keys_[b];if(goog.structs.Map.hasKey_(this.map_,c)&&this.map_[c]==a)return!0}return!1};
goog.structs.Map.prototype.equals=function(a,b){if(this===a)return!0;if(this.count_!=a.getCount())return!1;b=b||goog.structs.Map.defaultEquals;this.cleanupKeysArray_();for(var c,d=0;c=this.keys_[d];d++)if(!b(this.get(c),a.get(c)))return!1;return!0};goog.structs.Map.defaultEquals=function(a,b){return a===b};goog.structs.Map.prototype.isEmpty=function(){return 0==this.count_};goog.structs.Map.prototype.clear=function(){this.map_={};this.version_=this.count_=this.keys_.length=0};
goog.structs.Map.prototype.remove=function(a){return goog.structs.Map.hasKey_(this.map_,a)?(delete this.map_[a],this.count_--,this.version_++,this.keys_.length>2*this.count_&&this.cleanupKeysArray_(),!0):!1};
goog.structs.Map.prototype.cleanupKeysArray_=function(){if(this.count_!=this.keys_.length){for(var a=0,b=0;a<this.keys_.length;){var c=this.keys_[a];goog.structs.Map.hasKey_(this.map_,c)&&(this.keys_[b++]=c);a++}this.keys_.length=b}if(this.count_!=this.keys_.length){var d={};for(b=a=0;a<this.keys_.length;)c=this.keys_[a],goog.structs.Map.hasKey_(d,c)||(this.keys_[b++]=c,d[c]=1),a++;this.keys_.length=b}};
goog.structs.Map.prototype.get=function(a,b){return goog.structs.Map.hasKey_(this.map_,a)?this.map_[a]:b};goog.structs.Map.prototype.set=function(a,b){goog.structs.Map.hasKey_(this.map_,a)||(this.count_++,this.keys_.push(a),this.version_++);this.map_[a]=b};goog.structs.Map.prototype.addAll=function(a){if(a instanceof goog.structs.Map){var b=a.getKeys();a=a.getValues()}else b=goog.object.getKeys(a),a=goog.object.getValues(a);for(var c=0;c<b.length;c++)this.set(b[c],a[c])};
goog.structs.Map.prototype.forEach=function(a,b){for(var c=this.getKeys(),d=0;d<c.length;d++){var e=c[d],f=this.get(e);a.call(b,f,e,this)}};goog.structs.Map.prototype.clone=function(){return new goog.structs.Map(this)};goog.structs.Map.prototype.transpose=function(){for(var a=new goog.structs.Map,b=0;b<this.keys_.length;b++){var c=this.keys_[b];a.set(this.map_[c],c)}return a};
goog.structs.Map.prototype.toObject=function(){this.cleanupKeysArray_();for(var a={},b=0;b<this.keys_.length;b++){var c=this.keys_[b];a[c]=this.map_[c]}return a};goog.structs.Map.prototype.getKeyIterator=function(){return this.__iterator__(!0)};goog.structs.Map.prototype.getValueIterator=function(){return this.__iterator__(!1)};
goog.structs.Map.prototype.__iterator__=function(a){this.cleanupKeysArray_();var b=0,c=this.version_,d=this,e=new goog.iter.Iterator;e.next=function(){if(c!=d.version_)throw Error("The map has changed since the iterator was created");if(b>=d.keys_.length)throw goog.iter.StopIteration;var e=d.keys_[b++];return a?e:d.map_[e]};return e};goog.structs.Map.hasKey_=function(a,b){return Object.prototype.hasOwnProperty.call(a,b)};goog.uri={};goog.uri.utils={};goog.uri.utils.CharCode_={AMPERSAND:38,EQUAL:61,HASH:35,QUESTION:63};goog.uri.utils.buildFromEncodedParts=function(a,b,c,d,e,f,g){var h="";a&&(h+=a+":");c&&(h+="//",b&&(h+=b+"@"),h+=c,d&&(h+=":"+d));e&&(h+=e);f&&(h+="?"+f);g&&(h+="#"+g);return h};goog.uri.utils.splitRe_=/^(?:([^:/?#.]+):)?(?:\/\/(?:([^/?#]*)@)?([^/#?]*?)(?::([0-9]+))?(?=[/#?]|$))?([^?#]+)?(?:\?([^#]*))?(?:#([\s\S]*))?$/;
goog.uri.utils.ComponentIndex={SCHEME:1,USER_INFO:2,DOMAIN:3,PORT:4,PATH:5,QUERY_DATA:6,FRAGMENT:7};goog.uri.utils.split=function(a){return a.match(goog.uri.utils.splitRe_)};goog.uri.utils.decodeIfPossible_=function(a,b){return a?b?decodeURI(a):decodeURIComponent(a):a};goog.uri.utils.getComponentByIndex_=function(a,b){return goog.uri.utils.split(b)[a]||null};goog.uri.utils.getScheme=function(a){return goog.uri.utils.getComponentByIndex_(goog.uri.utils.ComponentIndex.SCHEME,a)};
goog.uri.utils.getEffectiveScheme=function(a){a=goog.uri.utils.getScheme(a);!a&&goog.global.self&&goog.global.self.location&&(a=goog.global.self.location.protocol,a=a.substr(0,a.length-1));return a?a.toLowerCase():""};goog.uri.utils.getUserInfoEncoded=function(a){return goog.uri.utils.getComponentByIndex_(goog.uri.utils.ComponentIndex.USER_INFO,a)};goog.uri.utils.getUserInfo=function(a){return goog.uri.utils.decodeIfPossible_(goog.uri.utils.getUserInfoEncoded(a))};
goog.uri.utils.getDomainEncoded=function(a){return goog.uri.utils.getComponentByIndex_(goog.uri.utils.ComponentIndex.DOMAIN,a)};goog.uri.utils.getDomain=function(a){return goog.uri.utils.decodeIfPossible_(goog.uri.utils.getDomainEncoded(a),!0)};goog.uri.utils.getPort=function(a){return Number(goog.uri.utils.getComponentByIndex_(goog.uri.utils.ComponentIndex.PORT,a))||null};goog.uri.utils.getPathEncoded=function(a){return goog.uri.utils.getComponentByIndex_(goog.uri.utils.ComponentIndex.PATH,a)};
goog.uri.utils.getPath=function(a){return goog.uri.utils.decodeIfPossible_(goog.uri.utils.getPathEncoded(a),!0)};goog.uri.utils.getQueryData=function(a){return goog.uri.utils.getComponentByIndex_(goog.uri.utils.ComponentIndex.QUERY_DATA,a)};goog.uri.utils.getFragmentEncoded=function(a){var b=a.indexOf("#");return 0>b?null:a.substr(b+1)};goog.uri.utils.setFragmentEncoded=function(a,b){return goog.uri.utils.removeFragment(a)+(b?"#"+b:"")};goog.uri.utils.getFragment=function(a){return goog.uri.utils.decodeIfPossible_(goog.uri.utils.getFragmentEncoded(a))};
goog.uri.utils.getHost=function(a){a=goog.uri.utils.split(a);return goog.uri.utils.buildFromEncodedParts(a[goog.uri.utils.ComponentIndex.SCHEME],a[goog.uri.utils.ComponentIndex.USER_INFO],a[goog.uri.utils.ComponentIndex.DOMAIN],a[goog.uri.utils.ComponentIndex.PORT])};goog.uri.utils.getOrigin=function(a){a=goog.uri.utils.split(a);return goog.uri.utils.buildFromEncodedParts(a[goog.uri.utils.ComponentIndex.SCHEME],null,a[goog.uri.utils.ComponentIndex.DOMAIN],a[goog.uri.utils.ComponentIndex.PORT])};
goog.uri.utils.getPathAndAfter=function(a){a=goog.uri.utils.split(a);return goog.uri.utils.buildFromEncodedParts(null,null,null,null,a[goog.uri.utils.ComponentIndex.PATH],a[goog.uri.utils.ComponentIndex.QUERY_DATA],a[goog.uri.utils.ComponentIndex.FRAGMENT])};goog.uri.utils.removeFragment=function(a){var b=a.indexOf("#");return 0>b?a:a.substr(0,b)};
goog.uri.utils.haveSameDomain=function(a,b){a=goog.uri.utils.split(a);b=goog.uri.utils.split(b);return a[goog.uri.utils.ComponentIndex.DOMAIN]==b[goog.uri.utils.ComponentIndex.DOMAIN]&&a[goog.uri.utils.ComponentIndex.SCHEME]==b[goog.uri.utils.ComponentIndex.SCHEME]&&a[goog.uri.utils.ComponentIndex.PORT]==b[goog.uri.utils.ComponentIndex.PORT]};
goog.uri.utils.assertNoFragmentsOrQueries_=function(a){goog.asserts.assert(0>a.indexOf("#")&&0>a.indexOf("?"),"goog.uri.utils: Fragment or query identifiers are not supported: [%s]",a)};goog.uri.utils.parseQueryData=function(a,b){if(a){a=a.split("\x26");for(var c=0;c<a.length;c++){var d=a[c].indexOf("\x3d"),e=null;if(0<=d){var f=a[c].substring(0,d);e=a[c].substring(d+1)}else f=a[c];b(f,e?goog.string.urlDecode(e):"")}}};
goog.uri.utils.splitQueryData_=function(a){var b=a.indexOf("#");0>b&&(b=a.length);var c=a.indexOf("?");if(0>c||c>b){c=b;var d=""}else d=a.substring(c+1,b);return[a.substr(0,c),d,a.substr(b)]};goog.uri.utils.joinQueryData_=function(a){return a[0]+(a[1]?"?"+a[1]:"")+a[2]};goog.uri.utils.appendQueryData_=function(a,b){return b?a?a+"\x26"+b:b:a};goog.uri.utils.appendQueryDataToUri_=function(a,b){if(!b)return a;a=goog.uri.utils.splitQueryData_(a);a[1]=goog.uri.utils.appendQueryData_(a[1],b);return goog.uri.utils.joinQueryData_(a)};
goog.uri.utils.appendKeyValuePairs_=function(a,b,c){goog.asserts.assertString(a);if(goog.isArray(b)){goog.asserts.assertArray(b);for(var d=0;d<b.length;d++)goog.uri.utils.appendKeyValuePairs_(a,String(b[d]),c)}else null!=b&&c.push(a+(""===b?"":"\x3d"+goog.string.urlEncode(b)))};
goog.uri.utils.buildQueryData=function(a,b){goog.asserts.assert(0==Math.max(a.length-(b||0),0)%2,"goog.uri.utils: Key/value lists must be even in length.");var c=[];for(b=b||0;b<a.length;b+=2)goog.uri.utils.appendKeyValuePairs_(a[b],a[b+1],c);return c.join("\x26")};goog.uri.utils.buildQueryDataFromMap=function(a){var b=[],c;for(c in a)goog.uri.utils.appendKeyValuePairs_(c,a[c],b);return b.join("\x26")};
goog.uri.utils.appendParams=function(a,b){var c=2==arguments.length?goog.uri.utils.buildQueryData(arguments[1],0):goog.uri.utils.buildQueryData(arguments,1);return goog.uri.utils.appendQueryDataToUri_(a,c)};goog.uri.utils.appendParamsFromMap=function(a,b){b=goog.uri.utils.buildQueryDataFromMap(b);return goog.uri.utils.appendQueryDataToUri_(a,b)};goog.uri.utils.appendParam=function(a,b,c){c=goog.isDefAndNotNull(c)?"\x3d"+goog.string.urlEncode(c):"";return goog.uri.utils.appendQueryDataToUri_(a,b+c)};
goog.uri.utils.findParam_=function(a,b,c,d){for(var e=c.length;0<=(b=a.indexOf(c,b))&&b<d;){var f=a.charCodeAt(b-1);if(f==goog.uri.utils.CharCode_.AMPERSAND||f==goog.uri.utils.CharCode_.QUESTION)if(f=a.charCodeAt(b+e),!f||f==goog.uri.utils.CharCode_.EQUAL||f==goog.uri.utils.CharCode_.AMPERSAND||f==goog.uri.utils.CharCode_.HASH)return b;b+=e+1}return-1};goog.uri.utils.hashOrEndRe_=/#|$/;goog.uri.utils.hasParam=function(a,b){return 0<=goog.uri.utils.findParam_(a,0,b,a.search(goog.uri.utils.hashOrEndRe_))};
goog.uri.utils.getParamValue=function(a,b){var c=a.search(goog.uri.utils.hashOrEndRe_),d=goog.uri.utils.findParam_(a,0,b,c);if(0>d)return null;var e=a.indexOf("\x26",d);if(0>e||e>c)e=c;d+=b.length+1;return goog.string.urlDecode(a.substr(d,e-d))};goog.uri.utils.getParamValues=function(a,b){for(var c=a.search(goog.uri.utils.hashOrEndRe_),d=0,e,f=[];0<=(e=goog.uri.utils.findParam_(a,d,b,c));){d=a.indexOf("\x26",e);if(0>d||d>c)d=c;e+=b.length+1;f.push(goog.string.urlDecode(a.substr(e,d-e)))}return f};
goog.uri.utils.trailingQueryPunctuationRe_=/[?&]($|#)/;goog.uri.utils.removeParam=function(a,b){for(var c=a.search(goog.uri.utils.hashOrEndRe_),d=0,e,f=[];0<=(e=goog.uri.utils.findParam_(a,d,b,c));)f.push(a.substring(d,e)),d=Math.min(a.indexOf("\x26",e)+1||c,c);f.push(a.substr(d));return f.join("").replace(goog.uri.utils.trailingQueryPunctuationRe_,"$1")};goog.uri.utils.setParam=function(a,b,c){return goog.uri.utils.appendParam(goog.uri.utils.removeParam(a,b),b,c)};
goog.uri.utils.setParamsFromMap=function(a,b){a=goog.uri.utils.splitQueryData_(a);var c=a[1],d=[];c&&goog.array.forEach(c.split("\x26"),function(a){var c=a.indexOf("\x3d");c=0<=c?a.substr(0,c):a;b.hasOwnProperty(c)||d.push(a)});a[1]=goog.uri.utils.appendQueryData_(d.join("\x26"),goog.uri.utils.buildQueryDataFromMap(b));return goog.uri.utils.joinQueryData_(a)};
goog.uri.utils.appendPath=function(a,b){goog.uri.utils.assertNoFragmentsOrQueries_(a);goog.string.endsWith(a,"/")&&(a=a.substr(0,a.length-1));goog.string.startsWith(b,"/")&&(b=b.substr(1));return goog.string.buildString(a,"/",b)};
goog.uri.utils.setPath=function(a,b){goog.string.startsWith(b,"/")||(b="/"+b);a=goog.uri.utils.split(a);return goog.uri.utils.buildFromEncodedParts(a[goog.uri.utils.ComponentIndex.SCHEME],a[goog.uri.utils.ComponentIndex.USER_INFO],a[goog.uri.utils.ComponentIndex.DOMAIN],a[goog.uri.utils.ComponentIndex.PORT],b,a[goog.uri.utils.ComponentIndex.QUERY_DATA],a[goog.uri.utils.ComponentIndex.FRAGMENT])};goog.uri.utils.StandardQueryParam={RANDOM:"zx"};
goog.uri.utils.makeUnique=function(a){return goog.uri.utils.setParam(a,goog.uri.utils.StandardQueryParam.RANDOM,goog.string.getRandomString())};goog.Uri=function(a,b){this.domain_=this.userInfo_=this.scheme_="";this.port_=null;this.fragment_=this.path_="";this.ignoreCase_=this.isReadOnly_=!1;var c;a instanceof goog.Uri?(this.ignoreCase_=goog.isDef(b)?b:a.getIgnoreCase(),this.setScheme(a.getScheme()),this.setUserInfo(a.getUserInfo()),this.setDomain(a.getDomain()),this.setPort(a.getPort()),this.setPath(a.getPath()),this.setQueryData(a.getQueryData().clone()),this.setFragment(a.getFragment())):a&&(c=goog.uri.utils.split(String(a)))?(this.ignoreCase_=
!!b,this.setScheme(c[goog.uri.utils.ComponentIndex.SCHEME]||"",!0),this.setUserInfo(c[goog.uri.utils.ComponentIndex.USER_INFO]||"",!0),this.setDomain(c[goog.uri.utils.ComponentIndex.DOMAIN]||"",!0),this.setPort(c[goog.uri.utils.ComponentIndex.PORT]),this.setPath(c[goog.uri.utils.ComponentIndex.PATH]||"",!0),this.setQueryData(c[goog.uri.utils.ComponentIndex.QUERY_DATA]||"",!0),this.setFragment(c[goog.uri.utils.ComponentIndex.FRAGMENT]||"",!0)):(this.ignoreCase_=!!b,this.queryData_=new goog.Uri.QueryData(null,
null,this.ignoreCase_))};goog.Uri.preserveParameterTypesCompatibilityFlag=!1;goog.Uri.RANDOM_PARAM=goog.uri.utils.StandardQueryParam.RANDOM;
goog.Uri.prototype.toString=function(){var a=[],b=this.getScheme();b&&a.push(goog.Uri.encodeSpecialChars_(b,goog.Uri.reDisallowedInSchemeOrUserInfo_,!0),":");var c=this.getDomain();if(c||"file"==b)a.push("//"),(b=this.getUserInfo())&&a.push(goog.Uri.encodeSpecialChars_(b,goog.Uri.reDisallowedInSchemeOrUserInfo_,!0),"@"),a.push(goog.Uri.removeDoubleEncoding_(goog.string.urlEncode(c))),c=this.getPort(),null!=c&&a.push(":",String(c));if(c=this.getPath())this.hasDomain()&&"/"!=c.charAt(0)&&a.push("/"),
a.push(goog.Uri.encodeSpecialChars_(c,"/"==c.charAt(0)?goog.Uri.reDisallowedInAbsolutePath_:goog.Uri.reDisallowedInRelativePath_,!0));(c=this.getEncodedQuery())&&a.push("?",c);(c=this.getFragment())&&a.push("#",goog.Uri.encodeSpecialChars_(c,goog.Uri.reDisallowedInFragment_));return a.join("")};
goog.Uri.prototype.resolve=function(a){var b=this.clone(),c=a.hasScheme();c?b.setScheme(a.getScheme()):c=a.hasUserInfo();c?b.setUserInfo(a.getUserInfo()):c=a.hasDomain();c?b.setDomain(a.getDomain()):c=a.hasPort();var d=a.getPath();if(c)b.setPort(a.getPort());else if(c=a.hasPath()){if("/"!=d.charAt(0))if(this.hasDomain()&&!this.hasPath())d="/"+d;else{var e=b.getPath().lastIndexOf("/");-1!=e&&(d=b.getPath().substr(0,e+1)+d)}d=goog.Uri.removeDotSegments(d)}c?b.setPath(d):c=a.hasQuery();c?b.setQueryData(a.getQueryData().clone()):
c=a.hasFragment();c&&b.setFragment(a.getFragment());return b};goog.Uri.prototype.clone=function(){return new goog.Uri(this)};goog.Uri.prototype.getScheme=function(){return this.scheme_};goog.Uri.prototype.setScheme=function(a,b){this.enforceReadOnly();if(this.scheme_=b?goog.Uri.decodeOrEmpty_(a,!0):a)this.scheme_=this.scheme_.replace(/:$/,"");return this};goog.Uri.prototype.hasScheme=function(){return!!this.scheme_};goog.Uri.prototype.getUserInfo=function(){return this.userInfo_};
goog.Uri.prototype.setUserInfo=function(a,b){this.enforceReadOnly();this.userInfo_=b?goog.Uri.decodeOrEmpty_(a):a;return this};goog.Uri.prototype.hasUserInfo=function(){return!!this.userInfo_};goog.Uri.prototype.getDomain=function(){return this.domain_};goog.Uri.prototype.setDomain=function(a,b){this.enforceReadOnly();this.domain_=b?goog.Uri.decodeOrEmpty_(a,!0):a;return this};goog.Uri.prototype.hasDomain=function(){return!!this.domain_};goog.Uri.prototype.getPort=function(){return this.port_};
goog.Uri.prototype.setPort=function(a){this.enforceReadOnly();if(a){a=Number(a);if(isNaN(a)||0>a)throw Error("Bad port number "+a);this.port_=a}else this.port_=null;return this};goog.Uri.prototype.hasPort=function(){return null!=this.port_};goog.Uri.prototype.getPath=function(){return this.path_};goog.Uri.prototype.setPath=function(a,b){this.enforceReadOnly();this.path_=b?goog.Uri.decodeOrEmpty_(a,!0):a;return this};goog.Uri.prototype.hasPath=function(){return!!this.path_};
goog.Uri.prototype.hasQuery=function(){return""!==this.queryData_.toString()};goog.Uri.prototype.setQueryData=function(a,b){this.enforceReadOnly();a instanceof goog.Uri.QueryData?(this.queryData_=a,this.queryData_.setIgnoreCase(this.ignoreCase_)):(b||(a=goog.Uri.encodeSpecialChars_(a,goog.Uri.reDisallowedInQuery_)),this.queryData_=new goog.Uri.QueryData(a,null,this.ignoreCase_));return this};goog.Uri.prototype.setQuery=function(a,b){return this.setQueryData(a,b)};
goog.Uri.prototype.getEncodedQuery=function(){return this.queryData_.toString()};goog.Uri.prototype.getDecodedQuery=function(){return this.queryData_.toDecodedString()};goog.Uri.prototype.getQueryData=function(){return this.queryData_};goog.Uri.prototype.getQuery=function(){return this.getEncodedQuery()};goog.Uri.prototype.setParameterValue=function(a,b){this.enforceReadOnly();this.queryData_.set(a,b);return this};
goog.Uri.prototype.setParameterValues=function(a,b){this.enforceReadOnly();goog.isArray(b)||(b=[String(b)]);this.queryData_.setValues(a,b);return this};goog.Uri.prototype.getParameterValues=function(a){return this.queryData_.getValues(a)};goog.Uri.prototype.getParameterValue=function(a){return this.queryData_.get(a)};goog.Uri.prototype.getFragment=function(){return this.fragment_};goog.Uri.prototype.setFragment=function(a,b){this.enforceReadOnly();this.fragment_=b?goog.Uri.decodeOrEmpty_(a):a;return this};
goog.Uri.prototype.hasFragment=function(){return!!this.fragment_};goog.Uri.prototype.hasSameDomainAs=function(a){return(!this.hasDomain()&&!a.hasDomain()||this.getDomain()==a.getDomain())&&(!this.hasPort()&&!a.hasPort()||this.getPort()==a.getPort())};goog.Uri.prototype.makeUnique=function(){this.enforceReadOnly();this.setParameterValue(goog.Uri.RANDOM_PARAM,goog.string.getRandomString());return this};goog.Uri.prototype.removeParameter=function(a){this.enforceReadOnly();this.queryData_.remove(a);return this};
goog.Uri.prototype.setReadOnly=function(a){this.isReadOnly_=a;return this};goog.Uri.prototype.isReadOnly=function(){return this.isReadOnly_};goog.Uri.prototype.enforceReadOnly=function(){if(this.isReadOnly_)throw Error("Tried to modify a read-only Uri");};goog.Uri.prototype.setIgnoreCase=function(a){this.ignoreCase_=a;this.queryData_&&this.queryData_.setIgnoreCase(a);return this};goog.Uri.prototype.getIgnoreCase=function(){return this.ignoreCase_};
goog.Uri.parse=function(a,b){return a instanceof goog.Uri?a.clone():new goog.Uri(a,b)};goog.Uri.create=function(a,b,c,d,e,f,g,h){h=new goog.Uri(null,h);a&&h.setScheme(a);b&&h.setUserInfo(b);c&&h.setDomain(c);d&&h.setPort(d);e&&h.setPath(e);f&&h.setQueryData(f);g&&h.setFragment(g);return h};goog.Uri.resolve=function(a,b){a instanceof goog.Uri||(a=goog.Uri.parse(a));b instanceof goog.Uri||(b=goog.Uri.parse(b));return a.resolve(b)};
goog.Uri.removeDotSegments=function(a){if(".."==a||"."==a)return"";if(goog.string.contains(a,"./")||goog.string.contains(a,"/.")){var b=goog.string.startsWith(a,"/");a=a.split("/");for(var c=[],d=0;d<a.length;){var e=a[d++];"."==e?b&&d==a.length&&c.push(""):".."==e?((1<c.length||1==c.length&&""!=c[0])&&c.pop(),b&&d==a.length&&c.push("")):(c.push(e),b=!0)}return c.join("/")}return a};goog.Uri.decodeOrEmpty_=function(a,b){return a?b?decodeURI(a.replace(/%25/g,"%2525")):decodeURIComponent(a):""};
goog.Uri.encodeSpecialChars_=function(a,b,c){return goog.isString(a)?(a=encodeURI(a).replace(b,goog.Uri.encodeChar_),c&&(a=goog.Uri.removeDoubleEncoding_(a)),a):null};goog.Uri.encodeChar_=function(a){a=a.charCodeAt(0);return"%"+(a>>4&15).toString(16)+(a&15).toString(16)};goog.Uri.removeDoubleEncoding_=function(a){return a.replace(/%25([0-9a-fA-F]{2})/g,"%$1")};goog.Uri.reDisallowedInSchemeOrUserInfo_=/[#\/\?@]/g;goog.Uri.reDisallowedInRelativePath_=/[#\?:]/g;goog.Uri.reDisallowedInAbsolutePath_=/[#\?]/g;
goog.Uri.reDisallowedInQuery_=/[#\?@]/g;goog.Uri.reDisallowedInFragment_=/#/g;goog.Uri.haveSameDomain=function(a,b){a=goog.uri.utils.split(a);b=goog.uri.utils.split(b);return a[goog.uri.utils.ComponentIndex.DOMAIN]==b[goog.uri.utils.ComponentIndex.DOMAIN]&&a[goog.uri.utils.ComponentIndex.PORT]==b[goog.uri.utils.ComponentIndex.PORT]};goog.Uri.QueryData=function(a,b,c){this.count_=this.keyMap_=null;this.encodedQuery_=a||null;this.ignoreCase_=!!c};
goog.Uri.QueryData.prototype.ensureKeyMapInitialized_=function(){if(!this.keyMap_&&(this.keyMap_=new goog.structs.Map,this.count_=0,this.encodedQuery_)){var a=this;goog.uri.utils.parseQueryData(this.encodedQuery_,function(b,c){a.add(goog.string.urlDecode(b),c)})}};
goog.Uri.QueryData.createFromMap=function(a,b,c){b=goog.structs.getKeys(a);if("undefined"==typeof b)throw Error("Keys are undefined");c=new goog.Uri.QueryData(null,null,c);a=goog.structs.getValues(a);for(var d=0;d<b.length;d++){var e=b[d],f=a[d];goog.isArray(f)?c.setValues(e,f):c.add(e,f)}return c};
goog.Uri.QueryData.createFromKeysValues=function(a,b,c,d){if(a.length!=b.length)throw Error("Mismatched lengths for keys/values");c=new goog.Uri.QueryData(null,null,d);for(d=0;d<a.length;d++)c.add(a[d],b[d]);return c};goog.Uri.QueryData.prototype.getCount=function(){this.ensureKeyMapInitialized_();return this.count_};
goog.Uri.QueryData.prototype.add=function(a,b){this.ensureKeyMapInitialized_();this.invalidateCache_();a=this.getKeyName_(a);var c=this.keyMap_.get(a);c||this.keyMap_.set(a,c=[]);c.push(b);this.count_=goog.asserts.assertNumber(this.count_)+1;return this};
goog.Uri.QueryData.prototype.remove=function(a){this.ensureKeyMapInitialized_();a=this.getKeyName_(a);return this.keyMap_.containsKey(a)?(this.invalidateCache_(),this.count_=goog.asserts.assertNumber(this.count_)-this.keyMap_.get(a).length,this.keyMap_.remove(a)):!1};goog.Uri.QueryData.prototype.clear=function(){this.invalidateCache_();this.keyMap_=null;this.count_=0};goog.Uri.QueryData.prototype.isEmpty=function(){this.ensureKeyMapInitialized_();return 0==this.count_};
goog.Uri.QueryData.prototype.containsKey=function(a){this.ensureKeyMapInitialized_();a=this.getKeyName_(a);return this.keyMap_.containsKey(a)};goog.Uri.QueryData.prototype.containsValue=function(a){var b=this.getValues();return goog.array.contains(b,a)};goog.Uri.QueryData.prototype.forEach=function(a,b){this.ensureKeyMapInitialized_();this.keyMap_.forEach(function(c,d){goog.array.forEach(c,function(c){a.call(b,c,d,this)},this)},this)};
goog.Uri.QueryData.prototype.getKeys=function(){this.ensureKeyMapInitialized_();for(var a=this.keyMap_.getValues(),b=this.keyMap_.getKeys(),c=[],d=0;d<b.length;d++)for(var e=a[d],f=0;f<e.length;f++)c.push(b[d]);return c};goog.Uri.QueryData.prototype.getValues=function(a){this.ensureKeyMapInitialized_();var b=[];if(goog.isString(a))this.containsKey(a)&&(b=goog.array.concat(b,this.keyMap_.get(this.getKeyName_(a))));else{a=this.keyMap_.getValues();for(var c=0;c<a.length;c++)b=goog.array.concat(b,a[c])}return b};
goog.Uri.QueryData.prototype.set=function(a,b){this.ensureKeyMapInitialized_();this.invalidateCache_();a=this.getKeyName_(a);this.containsKey(a)&&(this.count_=goog.asserts.assertNumber(this.count_)-this.keyMap_.get(a).length);this.keyMap_.set(a,[b]);this.count_=goog.asserts.assertNumber(this.count_)+1;return this};goog.Uri.QueryData.prototype.get=function(a,b){a=a?this.getValues(a):[];return goog.Uri.preserveParameterTypesCompatibilityFlag?0<a.length?a[0]:b:0<a.length?String(a[0]):b};
goog.Uri.QueryData.prototype.setValues=function(a,b){this.remove(a);0<b.length&&(this.invalidateCache_(),this.keyMap_.set(this.getKeyName_(a),goog.array.clone(b)),this.count_=goog.asserts.assertNumber(this.count_)+b.length)};
goog.Uri.QueryData.prototype.toString=function(){if(this.encodedQuery_)return this.encodedQuery_;if(!this.keyMap_)return"";for(var a=[],b=this.keyMap_.getKeys(),c=0;c<b.length;c++){var d=b[c],e=goog.string.urlEncode(d);d=this.getValues(d);for(var f=0;f<d.length;f++){var g=e;""!==d[f]&&(g+="\x3d"+goog.string.urlEncode(d[f]));a.push(g)}}return this.encodedQuery_=a.join("\x26")};goog.Uri.QueryData.prototype.toDecodedString=function(){return goog.Uri.decodeOrEmpty_(this.toString())};
goog.Uri.QueryData.prototype.invalidateCache_=function(){this.encodedQuery_=null};goog.Uri.QueryData.prototype.filterKeys=function(a){this.ensureKeyMapInitialized_();this.keyMap_.forEach(function(b,c){goog.array.contains(a,c)||this.remove(c)},this);return this};goog.Uri.QueryData.prototype.clone=function(){var a=new goog.Uri.QueryData;a.encodedQuery_=this.encodedQuery_;this.keyMap_&&(a.keyMap_=this.keyMap_.clone(),a.count_=this.count_);return a};
goog.Uri.QueryData.prototype.getKeyName_=function(a){a=String(a);this.ignoreCase_&&(a=a.toLowerCase());return a};goog.Uri.QueryData.prototype.setIgnoreCase=function(a){a&&!this.ignoreCase_&&(this.ensureKeyMapInitialized_(),this.invalidateCache_(),this.keyMap_.forEach(function(a,c){var b=c.toLowerCase();c!=b&&(this.remove(c),this.setValues(b,a))},this));this.ignoreCase_=a};
goog.Uri.QueryData.prototype.extend=function(a){for(var b=0;b<arguments.length;b++)goog.structs.forEach(arguments[b],function(a,b){this.add(b,a)},this)};goog.math.Integer=function(a,b){this.bits_=[];this.sign_=b;for(var c=!0,d=a.length-1;0<=d;d--){var e=a[d]|0;c&&e==b||(this.bits_[d]=e,c=!1)}};goog.math.Integer.IntCache_={};goog.math.Integer.fromInt=function(a){if(-128<=a&&128>a){var b=goog.math.Integer.IntCache_[a];if(b)return b}b=new goog.math.Integer([a|0],0>a?-1:0);-128<=a&&128>a&&(goog.math.Integer.IntCache_[a]=b);return b};
goog.math.Integer.fromNumber=function(a){if(isNaN(a)||!isFinite(a))return goog.math.Integer.ZERO;if(0>a)return goog.math.Integer.fromNumber(-a).negate();for(var b=[],c=1,d=0;a>=c;d++)b[d]=a/c|0,c*=goog.math.Integer.TWO_PWR_32_DBL_;return new goog.math.Integer(b,0)};goog.math.Integer.fromBits=function(a){return new goog.math.Integer(a,a[a.length-1]&-2147483648?-1:0)};
goog.math.Integer.fromString=function(a,b){if(0==a.length)throw Error("number format error: empty string");b=b||10;if(2>b||36<b)throw Error("radix out of range: "+b);if("-"==a.charAt(0))return goog.math.Integer.fromString(a.substring(1),b).negate();if(0<=a.indexOf("-"))throw Error('number format error: interior "-" character');for(var c=goog.math.Integer.fromNumber(Math.pow(b,8)),d=goog.math.Integer.ZERO,e=0;e<a.length;e+=8){var f=Math.min(8,a.length-e),g=parseInt(a.substring(e,e+f),b);8>f?(f=goog.math.Integer.fromNumber(Math.pow(b,
f)),d=d.multiply(f).add(goog.math.Integer.fromNumber(g))):(d=d.multiply(c),d=d.add(goog.math.Integer.fromNumber(g)))}return d};goog.math.Integer.TWO_PWR_32_DBL_=4294967296;goog.math.Integer.ZERO=goog.math.Integer.fromInt(0);goog.math.Integer.ONE=goog.math.Integer.fromInt(1);goog.math.Integer.TWO_PWR_24_=goog.math.Integer.fromInt(16777216);goog.math.Integer.prototype.toInt=function(){return 0<this.bits_.length?this.bits_[0]:this.sign_};
goog.math.Integer.prototype.toNumber=function(){if(this.isNegative())return-this.negate().toNumber();for(var a=0,b=1,c=0;c<this.bits_.length;c++)a+=this.getBitsUnsigned(c)*b,b*=goog.math.Integer.TWO_PWR_32_DBL_;return a};
goog.math.Integer.prototype.toString=function(a){a=a||10;if(2>a||36<a)throw Error("radix out of range: "+a);if(this.isZero())return"0";if(this.isNegative())return"-"+this.negate().toString(a);for(var b=goog.math.Integer.fromNumber(Math.pow(a,6)),c=this,d="";;){var e=c.divide(b),f=(c.subtract(e.multiply(b)).toInt()>>>0).toString(a);c=e;if(c.isZero())return f+d;for(;6>f.length;)f="0"+f;d=""+f+d}};goog.math.Integer.prototype.getBits=function(a){return 0>a?0:a<this.bits_.length?this.bits_[a]:this.sign_};
goog.math.Integer.prototype.getBitsUnsigned=function(a){a=this.getBits(a);return 0<=a?a:goog.math.Integer.TWO_PWR_32_DBL_+a};goog.math.Integer.prototype.getSign=function(){return this.sign_};goog.math.Integer.prototype.isZero=function(){if(0!=this.sign_)return!1;for(var a=0;a<this.bits_.length;a++)if(0!=this.bits_[a])return!1;return!0};goog.math.Integer.prototype.isNegative=function(){return-1==this.sign_};
goog.math.Integer.prototype.isOdd=function(){return 0==this.bits_.length&&-1==this.sign_||0<this.bits_.length&&0!=(this.bits_[0]&1)};goog.math.Integer.prototype.equals=function(a){if(this.sign_!=a.sign_)return!1;for(var b=Math.max(this.bits_.length,a.bits_.length),c=0;c<b;c++)if(this.getBits(c)!=a.getBits(c))return!1;return!0};goog.math.Integer.prototype.notEquals=function(a){return!this.equals(a)};goog.math.Integer.prototype.greaterThan=function(a){return 0<this.compare(a)};
goog.math.Integer.prototype.greaterThanOrEqual=function(a){return 0<=this.compare(a)};goog.math.Integer.prototype.lessThan=function(a){return 0>this.compare(a)};goog.math.Integer.prototype.lessThanOrEqual=function(a){return 0>=this.compare(a)};goog.math.Integer.prototype.compare=function(a){a=this.subtract(a);return a.isNegative()?-1:a.isZero()?0:1};
goog.math.Integer.prototype.shorten=function(a){var b=a-1>>5;a=(a-1)%32;for(var c=[],d=0;d<b;d++)c[d]=this.getBits(d);d=31==a?4294967295:(1<<a+1)-1;var e=this.getBits(b)&d;if(e&1<<a)return c[b]=e|4294967295-d,new goog.math.Integer(c,-1);c[b]=e;return new goog.math.Integer(c,0)};goog.math.Integer.prototype.negate=function(){return this.not().add(goog.math.Integer.ONE)};
goog.math.Integer.prototype.add=function(a){for(var b=Math.max(this.bits_.length,a.bits_.length),c=[],d=0,e=0;e<=b;e++){var f=this.getBits(e)>>>16,g=this.getBits(e)&65535,h=a.getBits(e)>>>16,k=a.getBits(e)&65535;g=d+g+k;f=(g>>>16)+f+h;d=f>>>16;g&=65535;f&=65535;c[e]=f<<16|g}return goog.math.Integer.fromBits(c)};goog.math.Integer.prototype.subtract=function(a){return this.add(a.negate())};
goog.math.Integer.prototype.multiply=function(a){if(this.isZero()||a.isZero())return goog.math.Integer.ZERO;if(this.isNegative())return a.isNegative()?this.negate().multiply(a.negate()):this.negate().multiply(a).negate();if(a.isNegative())return this.multiply(a.negate()).negate();if(this.lessThan(goog.math.Integer.TWO_PWR_24_)&&a.lessThan(goog.math.Integer.TWO_PWR_24_))return goog.math.Integer.fromNumber(this.toNumber()*a.toNumber());for(var b=this.bits_.length+a.bits_.length,c=[],d=0;d<2*b;d++)c[d]=
0;for(d=0;d<this.bits_.length;d++)for(var e=0;e<a.bits_.length;e++){var f=this.getBits(d)>>>16,g=this.getBits(d)&65535,h=a.getBits(e)>>>16,k=a.getBits(e)&65535;c[2*d+2*e]+=g*k;goog.math.Integer.carry16_(c,2*d+2*e);c[2*d+2*e+1]+=f*k;goog.math.Integer.carry16_(c,2*d+2*e+1);c[2*d+2*e+1]+=g*h;goog.math.Integer.carry16_(c,2*d+2*e+1);c[2*d+2*e+2]+=f*h;goog.math.Integer.carry16_(c,2*d+2*e+2)}for(d=0;d<b;d++)c[d]=c[2*d+1]<<16|c[2*d];for(d=b;d<2*b;d++)c[d]=0;return new goog.math.Integer(c,0)};
goog.math.Integer.carry16_=function(a,b){for(;(a[b]&65535)!=a[b];)a[b+1]+=a[b]>>>16,a[b]&=65535,b++};
goog.math.Integer.prototype.slowDivide_=function(a){if(this.isNegative()||a.isNegative())throw Error("slowDivide_ only works with positive integers.");for(var b=goog.math.Integer.ONE;a.lessThanOrEqual(this);)b=b.shiftLeft(1),a=a.shiftLeft(1);var c=b.shiftRight(1),d=a.shiftRight(1);a=a.shiftRight(2);for(b=b.shiftRight(2);!a.isZero();){var e=d.add(a);e.lessThanOrEqual(this)&&(c=c.add(b),d=e);a=a.shiftRight(1);b=b.shiftRight(1)}return c};
goog.math.Integer.prototype.divide=function(a){if(a.isZero())throw Error("division by zero");if(this.isZero())return goog.math.Integer.ZERO;if(this.isNegative())return a.isNegative()?this.negate().divide(a.negate()):this.negate().divide(a).negate();if(a.isNegative())return this.divide(a.negate()).negate();if(30<this.bits_.length)return this.slowDivide_(a);for(var b=goog.math.Integer.ZERO,c=this;c.greaterThanOrEqual(a);){var d=Math.max(1,Math.floor(c.toNumber()/a.toNumber())),e=Math.ceil(Math.log(d)/
Math.LN2);e=48>=e?1:Math.pow(2,e-48);for(var f=goog.math.Integer.fromNumber(d),g=f.multiply(a);g.isNegative()||g.greaterThan(c);)d-=e,f=goog.math.Integer.fromNumber(d),g=f.multiply(a);f.isZero()&&(f=goog.math.Integer.ONE);b=b.add(f);c=c.subtract(g)}return b};goog.math.Integer.prototype.modulo=function(a){return this.subtract(this.divide(a).multiply(a))};goog.math.Integer.prototype.not=function(){for(var a=this.bits_.length,b=[],c=0;c<a;c++)b[c]=~this.bits_[c];return new goog.math.Integer(b,~this.sign_)};
goog.math.Integer.prototype.and=function(a){for(var b=Math.max(this.bits_.length,a.bits_.length),c=[],d=0;d<b;d++)c[d]=this.getBits(d)&a.getBits(d);return new goog.math.Integer(c,this.sign_&a.sign_)};goog.math.Integer.prototype.or=function(a){for(var b=Math.max(this.bits_.length,a.bits_.length),c=[],d=0;d<b;d++)c[d]=this.getBits(d)|a.getBits(d);return new goog.math.Integer(c,this.sign_|a.sign_)};
goog.math.Integer.prototype.xor=function(a){for(var b=Math.max(this.bits_.length,a.bits_.length),c=[],d=0;d<b;d++)c[d]=this.getBits(d)^a.getBits(d);return new goog.math.Integer(c,this.sign_^a.sign_)};goog.math.Integer.prototype.shiftLeft=function(a){var b=a>>5;a%=32;for(var c=this.bits_.length+b+(0<a?1:0),d=[],e=0;e<c;e++)d[e]=0<a?this.getBits(e-b)<<a|this.getBits(e-b-1)>>>32-a:this.getBits(e-b);return new goog.math.Integer(d,this.sign_)};
goog.math.Integer.prototype.shiftRight=function(a){var b=a>>5;a%=32;for(var c=this.bits_.length-b,d=[],e=0;e<c;e++)d[e]=0<a?this.getBits(e+b)>>>a|this.getBits(e+b+1)<<32-a:this.getBits(e+b);return new goog.math.Integer(d,this.sign_)};goog.string.StringBuffer=function(a,b){null!=a&&this.append.apply(this,arguments)};goog.string.StringBuffer.prototype.buffer_="";goog.string.StringBuffer.prototype.set=function(a){this.buffer_=""+a};goog.string.StringBuffer.prototype.append=function(a,b,c){this.buffer_+=String(a);if(null!=b)for(var d=1;d<arguments.length;d++)this.buffer_+=arguments[d];return this};goog.string.StringBuffer.prototype.clear=function(){this.buffer_=""};goog.string.StringBuffer.prototype.getLength=function(){return this.buffer_.length};
goog.string.StringBuffer.prototype.toString=function(){return this.buffer_};goog.reflect={};goog.reflect.object=function(a,b){return b};goog.reflect.objectProperty=function(a,b){return a};goog.reflect.sinkValue=function(a){goog.reflect.sinkValue[" "](a);return a};goog.reflect.sinkValue[" "]=goog.nullFunction;goog.reflect.canAccessProperty=function(a,b){try{return goog.reflect.sinkValue(a[b]),!0}catch(c){}return!1};goog.reflect.cache=function(a,b,c,d){d=d?d(b):b;return Object.prototype.hasOwnProperty.call(a,d)?a[d]:a[d]=c(b)};goog.math.Long=function(a,b){this.low_=a|0;this.high_=b|0};goog.math.Long.IntCache_={};goog.math.Long.valueCache_={};goog.math.Long.getCachedIntValue_=function(a){return goog.reflect.cache(goog.math.Long.IntCache_,a,function(a){return new goog.math.Long(a,0>a?-1:0)})};goog.math.Long.MAX_VALUE_FOR_RADIX_="  111111111111111111111111111111111111111111111111111111111111111 2021110011022210012102010021220101220221 13333333333333333333333333333333 1104332401304422434310311212 1540241003031030222122211 22341010611245052052300 777777777777777777777 67404283172107811827 9223372036854775807 1728002635214590697 41a792678515120367 10b269549075433c37 4340724c6c71dc7a7 160e2ad3246366807 7fffffffffffffff 33d3d8307b214008 16agh595df825fa7 ba643dci0ffeehh 5cbfjia3fh26ja7 2heiciiie82dh97 1adaibb21dckfa7 i6k448cf4192c2 acd772jnc9l0l7 64ie1focnn5g77 3igoecjbmca687 27c48l5b37oaop 1bk39f3ah3dmq7 q1se8f0m04isb hajppbc1fc207 bm03i95hia437 7vvvvvvvvvvvv 5hg4ck9jd4u37 3tdtk1v8j6tpp 2pijmikexrxp7 1y2p0ij32e8e7".split(" ");
goog.math.Long.MIN_VALUE_FOR_RADIX_="  -1000000000000000000000000000000000000000000000000000000000000000 -2021110011022210012102010021220101220222 -20000000000000000000000000000000 -1104332401304422434310311213 -1540241003031030222122212 -22341010611245052052301 -1000000000000000000000 -67404283172107811828 -9223372036854775808 -1728002635214590698 -41a792678515120368 -10b269549075433c38 -4340724c6c71dc7a8 -160e2ad3246366808 -8000000000000000 -33d3d8307b214009 -16agh595df825fa8 -ba643dci0ffeehi -5cbfjia3fh26ja8 -2heiciiie82dh98 -1adaibb21dckfa8 -i6k448cf4192c3 -acd772jnc9l0l8 -64ie1focnn5g78 -3igoecjbmca688 -27c48l5b37oaoq -1bk39f3ah3dmq8 -q1se8f0m04isc -hajppbc1fc208 -bm03i95hia438 -8000000000000 -5hg4ck9jd4u38 -3tdtk1v8j6tpq -2pijmikexrxp8 -1y2p0ij32e8e8".split(" ");
goog.math.Long.fromInt=function(a){var b=a|0;goog.asserts.assert(a===b,"value should be a 32-bit integer");return-128<=b&&128>b?goog.math.Long.getCachedIntValue_(b):new goog.math.Long(b,0>b?-1:0)};
goog.math.Long.fromNumber=function(a){return isNaN(a)?goog.math.Long.getZero():a<=-goog.math.Long.TWO_PWR_63_DBL_?goog.math.Long.getMinValue():a+1>=goog.math.Long.TWO_PWR_63_DBL_?goog.math.Long.getMaxValue():0>a?goog.math.Long.fromNumber(-a).negate():new goog.math.Long(a%goog.math.Long.TWO_PWR_32_DBL_|0,a/goog.math.Long.TWO_PWR_32_DBL_|0)};goog.math.Long.fromBits=function(a,b){return new goog.math.Long(a,b)};
goog.math.Long.fromString=function(a,b){if(0==a.length)throw Error("number format error: empty string");b=b||10;if(2>b||36<b)throw Error("radix out of range: "+b);if("-"==a.charAt(0))return goog.math.Long.fromString(a.substring(1),b).negate();if(0<=a.indexOf("-"))throw Error('number format error: interior "-" character: '+a);for(var c=goog.math.Long.fromNumber(Math.pow(b,8)),d=goog.math.Long.getZero(),e=0;e<a.length;e+=8){var f=Math.min(8,a.length-e),g=parseInt(a.substring(e,e+f),b);8>f?(f=goog.math.Long.fromNumber(Math.pow(b,
f)),d=d.multiply(f).add(goog.math.Long.fromNumber(g))):(d=d.multiply(c),d=d.add(goog.math.Long.fromNumber(g)))}return d};goog.math.Long.isStringInRange=function(a,b){b=b||10;if(2>b||36<b)throw Error("radix out of range: "+b);b="-"==a.charAt(0)?goog.math.Long.MIN_VALUE_FOR_RADIX_[b]:goog.math.Long.MAX_VALUE_FOR_RADIX_[b];return a.length<b.length?!0:a.length==b.length&&a<=b?!0:!1};goog.math.Long.TWO_PWR_16_DBL_=65536;goog.math.Long.TWO_PWR_32_DBL_=goog.math.Long.TWO_PWR_16_DBL_*goog.math.Long.TWO_PWR_16_DBL_;
goog.math.Long.TWO_PWR_64_DBL_=goog.math.Long.TWO_PWR_32_DBL_*goog.math.Long.TWO_PWR_32_DBL_;goog.math.Long.TWO_PWR_63_DBL_=goog.math.Long.TWO_PWR_64_DBL_/2;goog.math.Long.getZero=function(){return goog.math.Long.getCachedIntValue_(0)};goog.math.Long.getOne=function(){return goog.math.Long.getCachedIntValue_(1)};goog.math.Long.getNegOne=function(){return goog.math.Long.getCachedIntValue_(-1)};
goog.math.Long.getMaxValue=function(){return goog.reflect.cache(goog.math.Long.valueCache_,goog.math.Long.ValueCacheId_.MAX_VALUE,function(){return goog.math.Long.fromBits(-1,2147483647)})};goog.math.Long.getMinValue=function(){return goog.reflect.cache(goog.math.Long.valueCache_,goog.math.Long.ValueCacheId_.MIN_VALUE,function(){return goog.math.Long.fromBits(0,-2147483648)})};
goog.math.Long.getTwoPwr24=function(){return goog.reflect.cache(goog.math.Long.valueCache_,goog.math.Long.ValueCacheId_.TWO_PWR_24,function(){return goog.math.Long.fromInt(16777216)})};goog.math.Long.prototype.toInt=function(){return this.low_};goog.math.Long.prototype.toNumber=function(){return this.high_*goog.math.Long.TWO_PWR_32_DBL_+this.getLowBitsUnsigned()};
goog.math.Long.prototype.toString=function(a){a=a||10;if(2>a||36<a)throw Error("radix out of range: "+a);if(this.isZero())return"0";if(this.isNegative()){if(this.equals(goog.math.Long.getMinValue())){var b=goog.math.Long.fromNumber(a),c=this.div(b);b=c.multiply(b).subtract(this);return c.toString(a)+b.toInt().toString(a)}return"-"+this.negate().toString(a)}c=goog.math.Long.fromNumber(Math.pow(a,6));b=this;for(var d="";;){var e=b.div(c),f=(b.subtract(e.multiply(c)).toInt()>>>0).toString(a);b=e;if(b.isZero())return f+
d;for(;6>f.length;)f="0"+f;d=""+f+d}};goog.math.Long.prototype.getHighBits=function(){return this.high_};goog.math.Long.prototype.getLowBits=function(){return this.low_};goog.math.Long.prototype.getLowBitsUnsigned=function(){return 0<=this.low_?this.low_:goog.math.Long.TWO_PWR_32_DBL_+this.low_};
goog.math.Long.prototype.getNumBitsAbs=function(){if(this.isNegative())return this.equals(goog.math.Long.getMinValue())?64:this.negate().getNumBitsAbs();for(var a=0!=this.high_?this.high_:this.low_,b=31;0<b&&0==(a&1<<b);b--);return 0!=this.high_?b+33:b+1};goog.math.Long.prototype.isZero=function(){return 0==this.high_&&0==this.low_};goog.math.Long.prototype.isNegative=function(){return 0>this.high_};goog.math.Long.prototype.isOdd=function(){return 1==(this.low_&1)};
goog.math.Long.prototype.equals=function(a){return this.high_==a.high_&&this.low_==a.low_};goog.math.Long.prototype.notEquals=function(a){return this.high_!=a.high_||this.low_!=a.low_};goog.math.Long.prototype.lessThan=function(a){return 0>this.compare(a)};goog.math.Long.prototype.lessThanOrEqual=function(a){return 0>=this.compare(a)};goog.math.Long.prototype.greaterThan=function(a){return 0<this.compare(a)};goog.math.Long.prototype.greaterThanOrEqual=function(a){return 0<=this.compare(a)};
goog.math.Long.prototype.compare=function(a){if(this.equals(a))return 0;var b=this.isNegative(),c=a.isNegative();return b&&!c?-1:!b&&c?1:this.subtract(a).isNegative()?-1:1};goog.math.Long.prototype.negate=function(){return this.equals(goog.math.Long.getMinValue())?goog.math.Long.getMinValue():this.not().add(goog.math.Long.getOne())};
goog.math.Long.prototype.add=function(a){var b=this.high_>>>16,c=this.high_&65535,d=this.low_>>>16,e=a.high_>>>16,f=a.high_&65535,g=a.low_>>>16;a=(this.low_&65535)+(a.low_&65535);g=(a>>>16)+(d+g);d=g>>>16;d+=c+f;b=(d>>>16)+(b+e)&65535;return goog.math.Long.fromBits((g&65535)<<16|a&65535,b<<16|d&65535)};goog.math.Long.prototype.subtract=function(a){return this.add(a.negate())};
goog.math.Long.prototype.multiply=function(a){if(this.isZero()||a.isZero())return goog.math.Long.getZero();if(this.equals(goog.math.Long.getMinValue()))return a.isOdd()?goog.math.Long.getMinValue():goog.math.Long.getZero();if(a.equals(goog.math.Long.getMinValue()))return this.isOdd()?goog.math.Long.getMinValue():goog.math.Long.getZero();if(this.isNegative())return a.isNegative()?this.negate().multiply(a.negate()):this.negate().multiply(a).negate();if(a.isNegative())return this.multiply(a.negate()).negate();
if(this.lessThan(goog.math.Long.getTwoPwr24())&&a.lessThan(goog.math.Long.getTwoPwr24()))return goog.math.Long.fromNumber(this.toNumber()*a.toNumber());var b=this.high_>>>16,c=this.high_&65535,d=this.low_>>>16,e=this.low_&65535,f=a.high_>>>16,g=a.high_&65535,h=a.low_>>>16;a=a.low_&65535;var k=e*a;var l=(k>>>16)+d*a;var m=l>>>16;l=(l&65535)+e*h;m+=l>>>16;m+=c*a;var n=m>>>16;m=(m&65535)+d*h;n+=m>>>16;m=(m&65535)+e*g;n=n+(m>>>16)+(b*a+c*h+d*g+e*f)&65535;return goog.math.Long.fromBits((l&65535)<<16|k&
65535,n<<16|m&65535)};
goog.math.Long.prototype.div=function(a){if(a.isZero())throw Error("division by zero");if(this.isZero())return goog.math.Long.getZero();if(this.equals(goog.math.Long.getMinValue())){if(a.equals(goog.math.Long.getOne())||a.equals(goog.math.Long.getNegOne()))return goog.math.Long.getMinValue();if(a.equals(goog.math.Long.getMinValue()))return goog.math.Long.getOne();var b=this.shiftRight(1).div(a).shiftLeft(1);if(b.equals(goog.math.Long.getZero()))return a.isNegative()?goog.math.Long.getOne():goog.math.Long.getNegOne();
var c=this.subtract(a.multiply(b));return b.add(c.div(a))}if(a.equals(goog.math.Long.getMinValue()))return goog.math.Long.getZero();if(this.isNegative())return a.isNegative()?this.negate().div(a.negate()):this.negate().div(a).negate();if(a.isNegative())return this.div(a.negate()).negate();var d=goog.math.Long.getZero();for(c=this;c.greaterThanOrEqual(a);){b=Math.max(1,Math.floor(c.toNumber()/a.toNumber()));var e=Math.ceil(Math.log(b)/Math.LN2);e=48>=e?1:Math.pow(2,e-48);for(var f=goog.math.Long.fromNumber(b),
g=f.multiply(a);g.isNegative()||g.greaterThan(c);)b-=e,f=goog.math.Long.fromNumber(b),g=f.multiply(a);f.isZero()&&(f=goog.math.Long.getOne());d=d.add(f);c=c.subtract(g)}return d};goog.math.Long.prototype.modulo=function(a){return this.subtract(this.div(a).multiply(a))};goog.math.Long.prototype.not=function(){return goog.math.Long.fromBits(~this.low_,~this.high_)};goog.math.Long.prototype.and=function(a){return goog.math.Long.fromBits(this.low_&a.low_,this.high_&a.high_)};
goog.math.Long.prototype.or=function(a){return goog.math.Long.fromBits(this.low_|a.low_,this.high_|a.high_)};goog.math.Long.prototype.xor=function(a){return goog.math.Long.fromBits(this.low_^a.low_,this.high_^a.high_)};goog.math.Long.prototype.shiftLeft=function(a){a&=63;if(0==a)return this;var b=this.low_;return 32>a?goog.math.Long.fromBits(b<<a,this.high_<<a|b>>>32-a):goog.math.Long.fromBits(0,b<<a-32)};
goog.math.Long.prototype.shiftRight=function(a){a&=63;if(0==a)return this;var b=this.high_;return 32>a?goog.math.Long.fromBits(this.low_>>>a|b<<32-a,b>>a):goog.math.Long.fromBits(b>>a-32,0<=b?0:-1)};goog.math.Long.prototype.shiftRightUnsigned=function(a){a&=63;if(0==a)return this;var b=this.high_;return 32>a?goog.math.Long.fromBits(this.low_>>>a|b<<32-a,b>>>a):32==a?goog.math.Long.fromBits(b,0):goog.math.Long.fromBits(b>>>a-32,0)};goog.math.Long.ValueCacheId_={MAX_VALUE:1,MIN_VALUE:2,TWO_PWR_24:6};var cljs={core:{}};cljs.core._STAR_clojurescript_version_STAR_="1.10.520";cljs.core._STAR_unchecked_if_STAR_=!1;cljs.core._STAR_unchecked_arrays_STAR_=!1;cljs.core._STAR_warn_on_infer_STAR_=!1;if("undefined"===typeof cljs||"undefined"===typeof cljs.core||"undefined"===typeof cljs.core.PROTOCOL_SENTINEL)cljs.core.PROTOCOL_SENTINEL={};cljs.core.MODULE_URIS=null;cljs.core.MODULE_INFOS=null;cljs.core._STAR_target_STAR_="default";cljs.core._STAR_ns_STAR_=null;cljs.core._STAR_out_STAR_=null;
cljs.core._STAR_assert_STAR_=!0;if("undefined"===typeof cljs||"undefined"===typeof cljs.core||"undefined"===typeof cljs.core._STAR_print_fn_STAR_)cljs.core._STAR_print_fn_STAR_=null;cljs.core._STAR_exec_tap_fn_STAR_=function(a){var b="undefined"!==typeof setTimeout;return b?(a=setTimeout(a,0),cljs.core.truth_(a)?!0:a):b};if("undefined"===typeof cljs||"undefined"===typeof cljs.core||"undefined"===typeof cljs.core._STAR_print_err_fn_STAR_)cljs.core._STAR_print_err_fn_STAR_=null;
cljs.core.set_print_fn_BANG_=function(a){return cljs.core._STAR_print_fn_STAR_=a};cljs.core.set_print_err_fn_BANG_=function(a){return cljs.core._STAR_print_err_fn_STAR_=a};cljs.core._STAR_flush_on_newline_STAR_=!0;cljs.core._STAR_print_newline_STAR_=!0;cljs.core._STAR_print_readably_STAR_=!0;cljs.core._STAR_print_meta_STAR_=!1;cljs.core._STAR_print_dup_STAR_=!1;cljs.core._STAR_print_namespace_maps_STAR_=!1;cljs.core._STAR_print_length_STAR_=null;cljs.core._STAR_print_level_STAR_=null;
cljs.core._STAR_print_fn_bodies_STAR_=!1;if("undefined"===typeof cljs||"undefined"===typeof cljs.core||"undefined"===typeof cljs.core._STAR_loaded_libs_STAR_)cljs.core._STAR_loaded_libs_STAR_=null;
cljs.core.pr_opts=function(){return new cljs.core.PersistentArrayMap(null,5,[new cljs.core.Keyword(null,"flush-on-newline","flush-on-newline",-151457939),cljs.core._STAR_flush_on_newline_STAR_,new cljs.core.Keyword(null,"readably","readably",1129599760),cljs.core._STAR_print_readably_STAR_,new cljs.core.Keyword(null,"meta","meta",1499536964),cljs.core._STAR_print_meta_STAR_,new cljs.core.Keyword(null,"dup","dup",556298533),cljs.core._STAR_print_dup_STAR_,new cljs.core.Keyword(null,"print-length",
"print-length",1931866356),cljs.core._STAR_print_length_STAR_],null)};cljs.core.enable_console_print_BANG_=function(){cljs.core._STAR_print_newline_STAR_=!1;cljs.core.set_print_fn_BANG_(function(){return console.log.apply(console,goog.array.clone(arguments))});cljs.core.set_print_err_fn_BANG_(function(){return console.error.apply(console,goog.array.clone(arguments))});return null};cljs.core.truth_=function(a){return null!=a&&!1!==a};cljs.core.not_native=null;
cljs.core.identical_QMARK_=function(a,b){return a===b};cljs.core.nil_QMARK_=function(a){return null==a};cljs.core.array_QMARK_=function(a){return"nodejs"===cljs.core._STAR_target_STAR_?Array.isArray(a):a instanceof Array};cljs.core.number_QMARK_=function(a){return"number"===typeof a};cljs.core.not=function(a){return null==a?!0:!1===a?!0:!1};cljs.core.some_QMARK_=function(a){return null!=a};cljs.core.object_QMARK_=function(a){return null!=a?a.constructor===Object:!1};cljs.core.string_QMARK_=function(a){return goog.isString(a)};
cljs.core.char_QMARK_=function(a){return"string"===typeof a&&1===a.length};cljs.core.any_QMARK_=function(a){return!0};cljs.core.native_satisfies_QMARK_=function(a,b){return a[goog.typeOf(null==b?null:b)]?!0:a._?!0:!1};cljs.core.is_proto_=function(a){return a.constructor.prototype===a};cljs.core._STAR_main_cli_fn_STAR_=null;cljs.core._STAR_command_line_args_STAR_=null;cljs.core.type=function(a){return null==a?null:a.constructor};
cljs.core.missing_protocol=function(a,b){var c=cljs.core.type(b);c=cljs.core.truth_(cljs.core.truth_(c)?c.cljs$lang$type:c)?c.cljs$lang$ctorStr:goog.typeOf(b);return Error(["No protocol method ",a," defined for type ",c,": ",b].join(""))};cljs.core.type__GT_str=function(a){var b=a.cljs$lang$ctorStr;return cljs.core.truth_(b)?b:cljs.core.str.cljs$core$IFn$_invoke$arity$1(a)};cljs.core.load_file=function(a){return cljs.core.truth_(COMPILED)?null:goog.nodeGlobalRequire(a)};
"undefined"!==typeof Symbol&&"function"===goog.typeOf(Symbol)?cljs.core.ITER_SYMBOL=Symbol.iterator:cljs.core.ITER_SYMBOL="@@iterator";cljs.core.CHAR_MAP={"]":"_RBRACK_","'":"_SINGLEQUOTE_","\x3d":"_EQ_",'"':"_DOUBLEQUOTE_","!":"_BANG_","*":"_STAR_","%":"_PERCENT_","|":"_BAR_","~":"_TILDE_","/":"_SLASH_","\\":"_BSLASH_","-":"_","?":"_QMARK_","\x26":"_AMPERSAND_",":":"_COLON_","\x3c":"_LT_","{":"_LBRACE_","}":"_RBRACE_","[":"_LBRACK_","#":"_SHARP_","^":"_CARET_","+":"_PLUS_","@":"_CIRCA_","\x3e":"_GT_"};
cljs.core.DEMUNGE_MAP={_RBRACE_:"}",_COLON_:":",_BANG_:"!",_QMARK_:"?",_BSLASH_:"\\\\",_SLASH_:"/",_PERCENT_:"%",_PLUS_:"+",_SHARP_:"#",_LBRACE_:"{",_BAR_:"|",_LBRACK_:"[",_EQ_:"\x3d",_:"-",_TILDE_:"~",_RBRACK_:"]",_GT_:"\x3e",_SINGLEQUOTE_:"'",_CIRCA_:"@",_AMPERSAND_:"\x26",_DOUBLEQUOTE_:'\\"',_CARET_:"^",_LT_:"\x3c",_STAR_:"*"};cljs.core.DEMUNGE_PATTERN=null;
cljs.core.system_time=function(){if("undefined"!==typeof performance&&null!=performance.now)return performance.now();if("undefined"!==typeof process&&null!=process.hrtime){var a=process.hrtime();return(1E9*a[0]+a[1])/1E6}return(new Date).getTime()};
cljs.core.make_array=function(a){switch(arguments.length){case 1:return cljs.core.make_array.cljs$core$IFn$_invoke$arity$1(arguments[0]);case 2:return cljs.core.make_array.cljs$core$IFn$_invoke$arity$2(arguments[0],arguments[1]);default:for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;b=new cljs.core.IndexedSeq(b.slice(2),0,null);return cljs.core.make_array.cljs$core$IFn$_invoke$arity$variadic(arguments[0],arguments[1],b)}};
cljs.core.make_array.cljs$core$IFn$_invoke$arity$1=function(a){return Array(a)};cljs.core.make_array.cljs$core$IFn$_invoke$arity$2=function(a,b){return Array(b)};cljs.core.make_array.cljs$core$IFn$_invoke$arity$variadic=function(a,b,c){a=Array(b);b=a.length;for(var d=0;;)if(d<b)a[d]=cljs.core.apply.cljs$core$IFn$_invoke$arity$3(cljs.core.make_array,null,c),d+=1;else break;return a};
cljs.core.make_array.cljs$lang$applyTo=function(a){var b=cljs.core.first(a),c=cljs.core.next(a);a=cljs.core.first(c);c=cljs.core.next(c);return this.cljs$core$IFn$_invoke$arity$variadic(b,a,c)};cljs.core.make_array.cljs$lang$maxFixedArity=2;cljs.core.aclone=function(a){for(var b=a.length,c=Array(b),d=0;;)if(d<b)c[d]=a[d],d+=1;else break;return c};cljs.core.array=function(a){for(var b=Array(arguments.length),c=0;;)if(c<b.length)b[c]=arguments[c],c+=1;else return b};
cljs.core.maybe_warn=function(a){return cljs.core.truth_(cljs.core._STAR_print_err_fn_STAR_)?cljs.core._STAR_print_err_fn_STAR_.cljs$core$IFn$_invoke$arity$1?cljs.core._STAR_print_err_fn_STAR_.cljs$core$IFn$_invoke$arity$1(a):cljs.core._STAR_print_err_fn_STAR_.call(null,a):null};
cljs.core.checked_aget=function(a){switch(arguments.length){case 2:return cljs.core.checked_aget.cljs$core$IFn$_invoke$arity$2(arguments[0],arguments[1]);default:for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;b=new cljs.core.IndexedSeq(b.slice(2),0,null);return cljs.core.checked_aget.cljs$core$IFn$_invoke$arity$variadic(arguments[0],arguments[1],b)}};
cljs.core.checked_aget.cljs$core$IFn$_invoke$arity$2=function(a,b){try{if(!cljs.core.truth_(function(){var b=cljs.core.array_QMARK_(a);return b?b:goog.isArrayLike(a)}()))throw Error("Assert failed: (or (array? array) (goog/isArrayLike array))");if("number"!==typeof b)throw Error("Assert failed: (number? idx)");if(0>b)throw Error("Assert failed: (not (neg? idx))");if(!(b<a.length))throw Error("Assert failed: (\x3c idx (alength array))");}catch(c){cljs.core.maybe_warn(c)}return a[b]};
cljs.core.checked_aget.cljs$core$IFn$_invoke$arity$variadic=function(a,b,c){return cljs.core.apply.cljs$core$IFn$_invoke$arity$3(cljs.core.checked_aget,cljs.core.checked_aget.cljs$core$IFn$_invoke$arity$2(a,b),c)};cljs.core.checked_aget.cljs$lang$applyTo=function(a){var b=cljs.core.first(a),c=cljs.core.next(a);a=cljs.core.first(c);c=cljs.core.next(c);return this.cljs$core$IFn$_invoke$arity$variadic(b,a,c)};cljs.core.checked_aget.cljs$lang$maxFixedArity=2;
cljs.core.checked_aset=function(a){switch(arguments.length){case 3:return cljs.core.checked_aset.cljs$core$IFn$_invoke$arity$3(arguments[0],arguments[1],arguments[2]);default:for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;b=new cljs.core.IndexedSeq(b.slice(3),0,null);return cljs.core.checked_aset.cljs$core$IFn$_invoke$arity$variadic(arguments[0],arguments[1],arguments[2],b)}};
cljs.core.checked_aset.cljs$core$IFn$_invoke$arity$3=function(a,b,c){try{if(!cljs.core.truth_(function(){var b=cljs.core.array_QMARK_(a);return b?b:goog.isArrayLike(a)}()))throw Error("Assert failed: (or (array? array) (goog/isArrayLike array))");if("number"!==typeof b)throw Error("Assert failed: (number? idx)");if(0>b)throw Error("Assert failed: (not (neg? idx))");if(!(b<a.length))throw Error("Assert failed: (\x3c idx (alength array))");}catch(d){cljs.core.maybe_warn(d)}return a[b]=c};
cljs.core.checked_aset.cljs$core$IFn$_invoke$arity$variadic=function(a,b,c,d){return cljs.core.apply.cljs$core$IFn$_invoke$arity$4(cljs.core.checked_aset,cljs.core.checked_aget.cljs$core$IFn$_invoke$arity$2(a,b),c,d)};cljs.core.checked_aset.cljs$lang$applyTo=function(a){var b=cljs.core.first(a),c=cljs.core.next(a);a=cljs.core.first(c);var d=cljs.core.next(c);c=cljs.core.first(d);d=cljs.core.next(d);return this.cljs$core$IFn$_invoke$arity$variadic(b,a,c,d)};
cljs.core.checked_aset.cljs$lang$maxFixedArity=3;cljs.core.checked_aget_SINGLEQUOTE_=function(a){switch(arguments.length){case 2:return cljs.core.checked_aget_SINGLEQUOTE_.cljs$core$IFn$_invoke$arity$2(arguments[0],arguments[1]);default:for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;b=new cljs.core.IndexedSeq(b.slice(2),0,null);return cljs.core.checked_aget_SINGLEQUOTE_.cljs$core$IFn$_invoke$arity$variadic(arguments[0],arguments[1],b)}};
cljs.core.checked_aget_SINGLEQUOTE_.cljs$core$IFn$_invoke$arity$2=function(a,b){if(!cljs.core.truth_(function(){var b=cljs.core.array_QMARK_(a);return b?b:goog.isArrayLike(a)}()))throw Error("Assert failed: (or (array? array) (goog/isArrayLike array))");if("number"!==typeof b)throw Error("Assert failed: (number? idx)");if(0>b)throw Error("Assert failed: (not (neg? idx))");if(!(b<a.length))throw Error("Assert failed: (\x3c idx (alength array))");return a[b]};
cljs.core.checked_aget_SINGLEQUOTE_.cljs$core$IFn$_invoke$arity$variadic=function(a,b,c){return cljs.core.apply.cljs$core$IFn$_invoke$arity$3(cljs.core.checked_aget_SINGLEQUOTE_,cljs.core.checked_aget_SINGLEQUOTE_.cljs$core$IFn$_invoke$arity$2(a,b),c)};cljs.core.checked_aget_SINGLEQUOTE_.cljs$lang$applyTo=function(a){var b=cljs.core.first(a),c=cljs.core.next(a);a=cljs.core.first(c);c=cljs.core.next(c);return this.cljs$core$IFn$_invoke$arity$variadic(b,a,c)};
cljs.core.checked_aget_SINGLEQUOTE_.cljs$lang$maxFixedArity=2;
cljs.core.checked_aset_SINGLEQUOTE_=function(a){switch(arguments.length){case 3:return cljs.core.checked_aset_SINGLEQUOTE_.cljs$core$IFn$_invoke$arity$3(arguments[0],arguments[1],arguments[2]);default:for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;b=new cljs.core.IndexedSeq(b.slice(3),0,null);return cljs.core.checked_aset_SINGLEQUOTE_.cljs$core$IFn$_invoke$arity$variadic(arguments[0],arguments[1],arguments[2],b)}};
cljs.core.checked_aset_SINGLEQUOTE_.cljs$core$IFn$_invoke$arity$3=function(a,b,c){if(!cljs.core.truth_(function(){var b=cljs.core.array_QMARK_(a);return b?b:goog.isArrayLike(a)}()))throw Error("Assert failed: (or (array? array) (goog/isArrayLike array))");if("number"!==typeof b)throw Error("Assert failed: (number? idx)");if(0>b)throw Error("Assert failed: (not (neg? idx))");if(!(b<a.length))throw Error("Assert failed: (\x3c idx (alength array))");return a[b]=c};
cljs.core.checked_aset_SINGLEQUOTE_.cljs$core$IFn$_invoke$arity$variadic=function(a,b,c,d){return cljs.core.apply.cljs$core$IFn$_invoke$arity$4(cljs.core.checked_aset_SINGLEQUOTE_,cljs.core.checked_aget_SINGLEQUOTE_.cljs$core$IFn$_invoke$arity$2(a,b),c,d)};
cljs.core.checked_aset_SINGLEQUOTE_.cljs$lang$applyTo=function(a){var b=cljs.core.first(a),c=cljs.core.next(a);a=cljs.core.first(c);var d=cljs.core.next(c);c=cljs.core.first(d);d=cljs.core.next(d);return this.cljs$core$IFn$_invoke$arity$variadic(b,a,c,d)};cljs.core.checked_aset_SINGLEQUOTE_.cljs$lang$maxFixedArity=3;
cljs.core.aget=function(a){switch(arguments.length){case 2:return cljs.core.aget.cljs$core$IFn$_invoke$arity$2(arguments[0],arguments[1]);default:for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;b=new cljs.core.IndexedSeq(b.slice(2),0,null);return cljs.core.aget.cljs$core$IFn$_invoke$arity$variadic(arguments[0],arguments[1],b)}};cljs.core.aget.cljs$core$IFn$_invoke$arity$2=function(a,b){return a[b]};
cljs.core.aget.cljs$core$IFn$_invoke$arity$variadic=function(a,b,c){return cljs.core.apply.cljs$core$IFn$_invoke$arity$3(cljs.core.aget,a[b],c)};cljs.core.aget.cljs$lang$applyTo=function(a){var b=cljs.core.first(a),c=cljs.core.next(a);a=cljs.core.first(c);c=cljs.core.next(c);return this.cljs$core$IFn$_invoke$arity$variadic(b,a,c)};cljs.core.aget.cljs$lang$maxFixedArity=2;
cljs.core.aset=function(a){switch(arguments.length){case 3:return cljs.core.aset.cljs$core$IFn$_invoke$arity$3(arguments[0],arguments[1],arguments[2]);default:for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;b=new cljs.core.IndexedSeq(b.slice(3),0,null);return cljs.core.aset.cljs$core$IFn$_invoke$arity$variadic(arguments[0],arguments[1],arguments[2],b)}};cljs.core.aset.cljs$core$IFn$_invoke$arity$3=function(a,b,c){return a[b]=c};
cljs.core.aset.cljs$core$IFn$_invoke$arity$variadic=function(a,b,c,d){return cljs.core.apply.cljs$core$IFn$_invoke$arity$4(cljs.core.aset,a[b],c,d)};cljs.core.aset.cljs$lang$applyTo=function(a){var b=cljs.core.first(a),c=cljs.core.next(a);a=cljs.core.first(c);var d=cljs.core.next(c);c=cljs.core.first(d);d=cljs.core.next(d);return this.cljs$core$IFn$_invoke$arity$variadic(b,a,c,d)};cljs.core.aset.cljs$lang$maxFixedArity=3;cljs.core.alength=function(a){return a.length};
cljs.core.into_array=function(a){switch(arguments.length){case 1:return cljs.core.into_array.cljs$core$IFn$_invoke$arity$1(arguments[0]);case 2:return cljs.core.into_array.cljs$core$IFn$_invoke$arity$2(arguments[0],arguments[1]);default:throw Error(["Invalid arity: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(""));}};cljs.core.into_array.cljs$core$IFn$_invoke$arity$1=function(a){return cljs.core.into_array.cljs$core$IFn$_invoke$arity$2(null,a)};
cljs.core.into_array.cljs$core$IFn$_invoke$arity$2=function(a,b){return cljs.core.reduce.cljs$core$IFn$_invoke$arity$3(function(a,b){a.push(b);return a},[],b)};cljs.core.into_array.cljs$lang$maxFixedArity=2;cljs.core.js_invoke=function(a){for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;b=2<b.length?new cljs.core.IndexedSeq(b.slice(2),0,null):null;return cljs.core.js_invoke.cljs$core$IFn$_invoke$arity$variadic(arguments[0],arguments[1],b)};
cljs.core.js_invoke.cljs$core$IFn$_invoke$arity$variadic=function(a,b,c){return a[b].apply(a,cljs.core.into_array.cljs$core$IFn$_invoke$arity$1(c))};cljs.core.js_invoke.cljs$lang$maxFixedArity=2;cljs.core.js_invoke.cljs$lang$applyTo=function(a){var b=cljs.core.first(a),c=cljs.core.next(a);a=cljs.core.first(c);c=cljs.core.next(c);return this.cljs$core$IFn$_invoke$arity$variadic(b,a,c)};cljs.core.Fn=function(){};cljs.core.IFn=function(){};
cljs.core._invoke=function(a){switch(arguments.length){case 1:return cljs.core._invoke.cljs$core$IFn$_invoke$arity$1(arguments[0]);case 2:return cljs.core._invoke.cljs$core$IFn$_invoke$arity$2(arguments[0],arguments[1]);case 3:return cljs.core._invoke.cljs$core$IFn$_invoke$arity$3(arguments[0],arguments[1],arguments[2]);case 4:return cljs.core._invoke.cljs$core$IFn$_invoke$arity$4(arguments[0],arguments[1],arguments[2],arguments[3]);case 5:return cljs.core._invoke.cljs$core$IFn$_invoke$arity$5(arguments[0],
arguments[1],arguments[2],arguments[3],arguments[4]);case 6:return cljs.core._invoke.cljs$core$IFn$_invoke$arity$6(arguments[0],arguments[1],arguments[2],arguments[3],arguments[4],arguments[5]);case 7:return cljs.core._invoke.cljs$core$IFn$_invoke$arity$7(arguments[0],arguments[1],arguments[2],arguments[3],arguments[4],arguments[5],arguments[6]);case 8:return cljs.core._invoke.cljs$core$IFn$_invoke$arity$8(arguments[0],arguments[1],arguments[2],arguments[3],arguments[4],arguments[5],arguments[6],
arguments[7]);case 9:return cljs.core._invoke.cljs$core$IFn$_invoke$arity$9(arguments[0],arguments[1],arguments[2],arguments[3],arguments[4],arguments[5],arguments[6],arguments[7],arguments[8]);case 10:return cljs.core._invoke.cljs$core$IFn$_invoke$arity$10(arguments[0],arguments[1],arguments[2],arguments[3],arguments[4],arguments[5],arguments[6],arguments[7],arguments[8],arguments[9]);case 11:return cljs.core._invoke.cljs$core$IFn$_invoke$arity$11(arguments[0],arguments[1],arguments[2],arguments[3],
arguments[4],arguments[5],arguments[6],arguments[7],arguments[8],arguments[9],arguments[10]);case 12:return cljs.core._invoke.cljs$core$IFn$_invoke$arity$12(arguments[0],arguments[1],arguments[2],arguments[3],arguments[4],arguments[5],arguments[6],arguments[7],arguments[8],arguments[9],arguments[10],arguments[11]);case 13:return cljs.core._invoke.cljs$core$IFn$_invoke$arity$13(arguments[0],arguments[1],arguments[2],arguments[3],arguments[4],arguments[5],arguments[6],arguments[7],arguments[8],arguments[9],
arguments[10],arguments[11],arguments[12]);case 14:return cljs.core._invoke.cljs$core$IFn$_invoke$arity$14(arguments[0],arguments[1],arguments[2],arguments[3],arguments[4],arguments[5],arguments[6],arguments[7],arguments[8],arguments[9],arguments[10],arguments[11],arguments[12],arguments[13]);case 15:return cljs.core._invoke.cljs$core$IFn$_invoke$arity$15(arguments[0],arguments[1],arguments[2],arguments[3],arguments[4],arguments[5],arguments[6],arguments[7],arguments[8],arguments[9],arguments[10],
arguments[11],arguments[12],arguments[13],arguments[14]);case 16:return cljs.core._invoke.cljs$core$IFn$_invoke$arity$16(arguments[0],arguments[1],arguments[2],arguments[3],arguments[4],arguments[5],arguments[6],arguments[7],arguments[8],arguments[9],arguments[10],arguments[11],arguments[12],arguments[13],arguments[14],arguments[15]);case 17:return cljs.core._invoke.cljs$core$IFn$_invoke$arity$17(arguments[0],arguments[1],arguments[2],arguments[3],arguments[4],arguments[5],arguments[6],arguments[7],
arguments[8],arguments[9],arguments[10],arguments[11],arguments[12],arguments[13],arguments[14],arguments[15],arguments[16]);case 18:return cljs.core._invoke.cljs$core$IFn$_invoke$arity$18(arguments[0],arguments[1],arguments[2],arguments[3],arguments[4],arguments[5],arguments[6],arguments[7],arguments[8],arguments[9],arguments[10],arguments[11],arguments[12],arguments[13],arguments[14],arguments[15],arguments[16],arguments[17]);case 19:return cljs.core._invoke.cljs$core$IFn$_invoke$arity$19(arguments[0],
arguments[1],arguments[2],arguments[3],arguments[4],arguments[5],arguments[6],arguments[7],arguments[8],arguments[9],arguments[10],arguments[11],arguments[12],arguments[13],arguments[14],arguments[15],arguments[16],arguments[17],arguments[18]);case 20:return cljs.core._invoke.cljs$core$IFn$_invoke$arity$20(arguments[0],arguments[1],arguments[2],arguments[3],arguments[4],arguments[5],arguments[6],arguments[7],arguments[8],arguments[9],arguments[10],arguments[11],arguments[12],arguments[13],arguments[14],
arguments[15],arguments[16],arguments[17],arguments[18],arguments[19]);case 21:return cljs.core._invoke.cljs$core$IFn$_invoke$arity$21(arguments[0],arguments[1],arguments[2],arguments[3],arguments[4],arguments[5],arguments[6],arguments[7],arguments[8],arguments[9],arguments[10],arguments[11],arguments[12],arguments[13],arguments[14],arguments[15],arguments[16],arguments[17],arguments[18],arguments[19],arguments[20]);case 22:return cljs.core._invoke.cljs$core$IFn$_invoke$arity$22(arguments[0],arguments[1],
arguments[2],arguments[3],arguments[4],arguments[5],arguments[6],arguments[7],arguments[8],arguments[9],arguments[10],arguments[11],arguments[12],arguments[13],arguments[14],arguments[15],arguments[16],arguments[17],arguments[18],arguments[19],arguments[20],arguments[21]);default:throw Error(["Invalid arity: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(""));}};
cljs.core._invoke.cljs$core$IFn$_invoke$arity$1=function(a){if(null!=a&&null!=a.cljs$core$IFn$_invoke$arity$1)return a.cljs$core$IFn$_invoke$arity$1(a);var b=cljs.core._invoke[goog.typeOf(null==a?null:a)];if(null!=b)return b.cljs$core$IFn$_invoke$arity$1?b.cljs$core$IFn$_invoke$arity$1(a):b.call(null,a);b=cljs.core._invoke._;if(null!=b)return b.cljs$core$IFn$_invoke$arity$1?b.cljs$core$IFn$_invoke$arity$1(a):b.call(null,a);throw cljs.core.missing_protocol("IFn.-invoke",a);};
cljs.core._invoke.cljs$core$IFn$_invoke$arity$2=function(a,b){if(null!=a&&null!=a.cljs$core$IFn$_invoke$arity$2)return a.cljs$core$IFn$_invoke$arity$2(a,b);var c=cljs.core._invoke[goog.typeOf(null==a?null:a)];if(null!=c)return c.cljs$core$IFn$_invoke$arity$2?c.cljs$core$IFn$_invoke$arity$2(a,b):c.call(null,a,b);c=cljs.core._invoke._;if(null!=c)return c.cljs$core$IFn$_invoke$arity$2?c.cljs$core$IFn$_invoke$arity$2(a,b):c.call(null,a,b);throw cljs.core.missing_protocol("IFn.-invoke",a);};
cljs.core._invoke.cljs$core$IFn$_invoke$arity$3=function(a,b,c){if(null!=a&&null!=a.cljs$core$IFn$_invoke$arity$3)return a.cljs$core$IFn$_invoke$arity$3(a,b,c);var d=cljs.core._invoke[goog.typeOf(null==a?null:a)];if(null!=d)return d.cljs$core$IFn$_invoke$arity$3?d.cljs$core$IFn$_invoke$arity$3(a,b,c):d.call(null,a,b,c);d=cljs.core._invoke._;if(null!=d)return d.cljs$core$IFn$_invoke$arity$3?d.cljs$core$IFn$_invoke$arity$3(a,b,c):d.call(null,a,b,c);throw cljs.core.missing_protocol("IFn.-invoke",a);
};
cljs.core._invoke.cljs$core$IFn$_invoke$arity$4=function(a,b,c,d){if(null!=a&&null!=a.cljs$core$IFn$_invoke$arity$4)return a.cljs$core$IFn$_invoke$arity$4(a,b,c,d);var e=cljs.core._invoke[goog.typeOf(null==a?null:a)];if(null!=e)return e.cljs$core$IFn$_invoke$arity$4?e.cljs$core$IFn$_invoke$arity$4(a,b,c,d):e.call(null,a,b,c,d);e=cljs.core._invoke._;if(null!=e)return e.cljs$core$IFn$_invoke$arity$4?e.cljs$core$IFn$_invoke$arity$4(a,b,c,d):e.call(null,a,b,c,d);throw cljs.core.missing_protocol("IFn.-invoke",a);
};
cljs.core._invoke.cljs$core$IFn$_invoke$arity$5=function(a,b,c,d,e){if(null!=a&&null!=a.cljs$core$IFn$_invoke$arity$5)return a.cljs$core$IFn$_invoke$arity$5(a,b,c,d,e);var f=cljs.core._invoke[goog.typeOf(null==a?null:a)];if(null!=f)return f.cljs$core$IFn$_invoke$arity$5?f.cljs$core$IFn$_invoke$arity$5(a,b,c,d,e):f.call(null,a,b,c,d,e);f=cljs.core._invoke._;if(null!=f)return f.cljs$core$IFn$_invoke$arity$5?f.cljs$core$IFn$_invoke$arity$5(a,b,c,d,e):f.call(null,a,b,c,d,e);throw cljs.core.missing_protocol("IFn.-invoke",a);
};
cljs.core._invoke.cljs$core$IFn$_invoke$arity$6=function(a,b,c,d,e,f){if(null!=a&&null!=a.cljs$core$IFn$_invoke$arity$6)return a.cljs$core$IFn$_invoke$arity$6(a,b,c,d,e,f);var g=cljs.core._invoke[goog.typeOf(null==a?null:a)];if(null!=g)return g.cljs$core$IFn$_invoke$arity$6?g.cljs$core$IFn$_invoke$arity$6(a,b,c,d,e,f):g.call(null,a,b,c,d,e,f);g=cljs.core._invoke._;if(null!=g)return g.cljs$core$IFn$_invoke$arity$6?g.cljs$core$IFn$_invoke$arity$6(a,b,c,d,e,f):g.call(null,a,b,c,d,e,f);throw cljs.core.missing_protocol("IFn.-invoke",a);
};
cljs.core._invoke.cljs$core$IFn$_invoke$arity$7=function(a,b,c,d,e,f,g){if(null!=a&&null!=a.cljs$core$IFn$_invoke$arity$7)return a.cljs$core$IFn$_invoke$arity$7(a,b,c,d,e,f,g);var h=cljs.core._invoke[goog.typeOf(null==a?null:a)];if(null!=h)return h.cljs$core$IFn$_invoke$arity$7?h.cljs$core$IFn$_invoke$arity$7(a,b,c,d,e,f,g):h.call(null,a,b,c,d,e,f,g);h=cljs.core._invoke._;if(null!=h)return h.cljs$core$IFn$_invoke$arity$7?h.cljs$core$IFn$_invoke$arity$7(a,b,c,d,e,f,g):h.call(null,a,b,c,d,e,f,g);throw cljs.core.missing_protocol("IFn.-invoke",
a);};
cljs.core._invoke.cljs$core$IFn$_invoke$arity$8=function(a,b,c,d,e,f,g,h){if(null!=a&&null!=a.cljs$core$IFn$_invoke$arity$8)return a.cljs$core$IFn$_invoke$arity$8(a,b,c,d,e,f,g,h);var k=cljs.core._invoke[goog.typeOf(null==a?null:a)];if(null!=k)return k.cljs$core$IFn$_invoke$arity$8?k.cljs$core$IFn$_invoke$arity$8(a,b,c,d,e,f,g,h):k.call(null,a,b,c,d,e,f,g,h);k=cljs.core._invoke._;if(null!=k)return k.cljs$core$IFn$_invoke$arity$8?k.cljs$core$IFn$_invoke$arity$8(a,b,c,d,e,f,g,h):k.call(null,a,b,c,d,
e,f,g,h);throw cljs.core.missing_protocol("IFn.-invoke",a);};
cljs.core._invoke.cljs$core$IFn$_invoke$arity$9=function(a,b,c,d,e,f,g,h,k){if(null!=a&&null!=a.cljs$core$IFn$_invoke$arity$9)return a.cljs$core$IFn$_invoke$arity$9(a,b,c,d,e,f,g,h,k);var l=cljs.core._invoke[goog.typeOf(null==a?null:a)];if(null!=l)return l.cljs$core$IFn$_invoke$arity$9?l.cljs$core$IFn$_invoke$arity$9(a,b,c,d,e,f,g,h,k):l.call(null,a,b,c,d,e,f,g,h,k);l=cljs.core._invoke._;if(null!=l)return l.cljs$core$IFn$_invoke$arity$9?l.cljs$core$IFn$_invoke$arity$9(a,b,c,d,e,f,g,h,k):l.call(null,
a,b,c,d,e,f,g,h,k);throw cljs.core.missing_protocol("IFn.-invoke",a);};
cljs.core._invoke.cljs$core$IFn$_invoke$arity$10=function(a,b,c,d,e,f,g,h,k,l){if(null!=a&&null!=a.cljs$core$IFn$_invoke$arity$10)return a.cljs$core$IFn$_invoke$arity$10(a,b,c,d,e,f,g,h,k,l);var m=cljs.core._invoke[goog.typeOf(null==a?null:a)];if(null!=m)return m.cljs$core$IFn$_invoke$arity$10?m.cljs$core$IFn$_invoke$arity$10(a,b,c,d,e,f,g,h,k,l):m.call(null,a,b,c,d,e,f,g,h,k,l);m=cljs.core._invoke._;if(null!=m)return m.cljs$core$IFn$_invoke$arity$10?m.cljs$core$IFn$_invoke$arity$10(a,b,c,d,e,f,g,
h,k,l):m.call(null,a,b,c,d,e,f,g,h,k,l);throw cljs.core.missing_protocol("IFn.-invoke",a);};
cljs.core._invoke.cljs$core$IFn$_invoke$arity$11=function(a,b,c,d,e,f,g,h,k,l,m){if(null!=a&&null!=a.cljs$core$IFn$_invoke$arity$11)return a.cljs$core$IFn$_invoke$arity$11(a,b,c,d,e,f,g,h,k,l,m);var n=cljs.core._invoke[goog.typeOf(null==a?null:a)];if(null!=n)return n.cljs$core$IFn$_invoke$arity$11?n.cljs$core$IFn$_invoke$arity$11(a,b,c,d,e,f,g,h,k,l,m):n.call(null,a,b,c,d,e,f,g,h,k,l,m);n=cljs.core._invoke._;if(null!=n)return n.cljs$core$IFn$_invoke$arity$11?n.cljs$core$IFn$_invoke$arity$11(a,b,c,
d,e,f,g,h,k,l,m):n.call(null,a,b,c,d,e,f,g,h,k,l,m);throw cljs.core.missing_protocol("IFn.-invoke",a);};
cljs.core._invoke.cljs$core$IFn$_invoke$arity$12=function(a,b,c,d,e,f,g,h,k,l,m,n){if(null!=a&&null!=a.cljs$core$IFn$_invoke$arity$12)return a.cljs$core$IFn$_invoke$arity$12(a,b,c,d,e,f,g,h,k,l,m,n);var p=cljs.core._invoke[goog.typeOf(null==a?null:a)];if(null!=p)return p.cljs$core$IFn$_invoke$arity$12?p.cljs$core$IFn$_invoke$arity$12(a,b,c,d,e,f,g,h,k,l,m,n):p.call(null,a,b,c,d,e,f,g,h,k,l,m,n);p=cljs.core._invoke._;if(null!=p)return p.cljs$core$IFn$_invoke$arity$12?p.cljs$core$IFn$_invoke$arity$12(a,
b,c,d,e,f,g,h,k,l,m,n):p.call(null,a,b,c,d,e,f,g,h,k,l,m,n);throw cljs.core.missing_protocol("IFn.-invoke",a);};
cljs.core._invoke.cljs$core$IFn$_invoke$arity$13=function(a,b,c,d,e,f,g,h,k,l,m,n,p){if(null!=a&&null!=a.cljs$core$IFn$_invoke$arity$13)return a.cljs$core$IFn$_invoke$arity$13(a,b,c,d,e,f,g,h,k,l,m,n,p);var q=cljs.core._invoke[goog.typeOf(null==a?null:a)];if(null!=q)return q.cljs$core$IFn$_invoke$arity$13?q.cljs$core$IFn$_invoke$arity$13(a,b,c,d,e,f,g,h,k,l,m,n,p):q.call(null,a,b,c,d,e,f,g,h,k,l,m,n,p);q=cljs.core._invoke._;if(null!=q)return q.cljs$core$IFn$_invoke$arity$13?q.cljs$core$IFn$_invoke$arity$13(a,
b,c,d,e,f,g,h,k,l,m,n,p):q.call(null,a,b,c,d,e,f,g,h,k,l,m,n,p);throw cljs.core.missing_protocol("IFn.-invoke",a);};
cljs.core._invoke.cljs$core$IFn$_invoke$arity$14=function(a,b,c,d,e,f,g,h,k,l,m,n,p,q){if(null!=a&&null!=a.cljs$core$IFn$_invoke$arity$14)return a.cljs$core$IFn$_invoke$arity$14(a,b,c,d,e,f,g,h,k,l,m,n,p,q);var r=cljs.core._invoke[goog.typeOf(null==a?null:a)];if(null!=r)return r.cljs$core$IFn$_invoke$arity$14?r.cljs$core$IFn$_invoke$arity$14(a,b,c,d,e,f,g,h,k,l,m,n,p,q):r.call(null,a,b,c,d,e,f,g,h,k,l,m,n,p,q);r=cljs.core._invoke._;if(null!=r)return r.cljs$core$IFn$_invoke$arity$14?r.cljs$core$IFn$_invoke$arity$14(a,
b,c,d,e,f,g,h,k,l,m,n,p,q):r.call(null,a,b,c,d,e,f,g,h,k,l,m,n,p,q);throw cljs.core.missing_protocol("IFn.-invoke",a);};
cljs.core._invoke.cljs$core$IFn$_invoke$arity$15=function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r){if(null!=a&&null!=a.cljs$core$IFn$_invoke$arity$15)return a.cljs$core$IFn$_invoke$arity$15(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r);var u=cljs.core._invoke[goog.typeOf(null==a?null:a)];if(null!=u)return u.cljs$core$IFn$_invoke$arity$15?u.cljs$core$IFn$_invoke$arity$15(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r):u.call(null,a,b,c,d,e,f,g,h,k,l,m,n,p,q,r);u=cljs.core._invoke._;if(null!=u)return u.cljs$core$IFn$_invoke$arity$15?u.cljs$core$IFn$_invoke$arity$15(a,
b,c,d,e,f,g,h,k,l,m,n,p,q,r):u.call(null,a,b,c,d,e,f,g,h,k,l,m,n,p,q,r);throw cljs.core.missing_protocol("IFn.-invoke",a);};
cljs.core._invoke.cljs$core$IFn$_invoke$arity$16=function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u){if(null!=a&&null!=a.cljs$core$IFn$_invoke$arity$16)return a.cljs$core$IFn$_invoke$arity$16(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u);var t=cljs.core._invoke[goog.typeOf(null==a?null:a)];if(null!=t)return t.cljs$core$IFn$_invoke$arity$16?t.cljs$core$IFn$_invoke$arity$16(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u):t.call(null,a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u);t=cljs.core._invoke._;if(null!=t)return t.cljs$core$IFn$_invoke$arity$16?
t.cljs$core$IFn$_invoke$arity$16(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u):t.call(null,a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u);throw cljs.core.missing_protocol("IFn.-invoke",a);};
cljs.core._invoke.cljs$core$IFn$_invoke$arity$17=function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t){if(null!=a&&null!=a.cljs$core$IFn$_invoke$arity$17)return a.cljs$core$IFn$_invoke$arity$17(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t);var v=cljs.core._invoke[goog.typeOf(null==a?null:a)];if(null!=v)return v.cljs$core$IFn$_invoke$arity$17?v.cljs$core$IFn$_invoke$arity$17(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t):v.call(null,a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t);v=cljs.core._invoke._;if(null!=v)return v.cljs$core$IFn$_invoke$arity$17?
v.cljs$core$IFn$_invoke$arity$17(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t):v.call(null,a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t);throw cljs.core.missing_protocol("IFn.-invoke",a);};
cljs.core._invoke.cljs$core$IFn$_invoke$arity$18=function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v){if(null!=a&&null!=a.cljs$core$IFn$_invoke$arity$18)return a.cljs$core$IFn$_invoke$arity$18(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v);var w=cljs.core._invoke[goog.typeOf(null==a?null:a)];if(null!=w)return w.cljs$core$IFn$_invoke$arity$18?w.cljs$core$IFn$_invoke$arity$18(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v):w.call(null,a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v);w=cljs.core._invoke._;if(null!=w)return w.cljs$core$IFn$_invoke$arity$18?
w.cljs$core$IFn$_invoke$arity$18(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v):w.call(null,a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v);throw cljs.core.missing_protocol("IFn.-invoke",a);};
cljs.core._invoke.cljs$core$IFn$_invoke$arity$19=function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w){if(null!=a&&null!=a.cljs$core$IFn$_invoke$arity$19)return a.cljs$core$IFn$_invoke$arity$19(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w);var x=cljs.core._invoke[goog.typeOf(null==a?null:a)];if(null!=x)return x.cljs$core$IFn$_invoke$arity$19?x.cljs$core$IFn$_invoke$arity$19(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w):x.call(null,a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w);x=cljs.core._invoke._;if(null!=x)return x.cljs$core$IFn$_invoke$arity$19?
x.cljs$core$IFn$_invoke$arity$19(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w):x.call(null,a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w);throw cljs.core.missing_protocol("IFn.-invoke",a);};
cljs.core._invoke.cljs$core$IFn$_invoke$arity$20=function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w,x){if(null!=a&&null!=a.cljs$core$IFn$_invoke$arity$20)return a.cljs$core$IFn$_invoke$arity$20(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w,x);var y=cljs.core._invoke[goog.typeOf(null==a?null:a)];if(null!=y)return y.cljs$core$IFn$_invoke$arity$20?y.cljs$core$IFn$_invoke$arity$20(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w,x):y.call(null,a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w,x);y=cljs.core._invoke._;if(null!=y)return y.cljs$core$IFn$_invoke$arity$20?
y.cljs$core$IFn$_invoke$arity$20(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w,x):y.call(null,a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w,x);throw cljs.core.missing_protocol("IFn.-invoke",a);};
cljs.core._invoke.cljs$core$IFn$_invoke$arity$21=function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w,x,y){if(null!=a&&null!=a.cljs$core$IFn$_invoke$arity$21)return a.cljs$core$IFn$_invoke$arity$21(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w,x,y);var z=cljs.core._invoke[goog.typeOf(null==a?null:a)];if(null!=z)return z.cljs$core$IFn$_invoke$arity$21?z.cljs$core$IFn$_invoke$arity$21(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w,x,y):z.call(null,a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w,x,y);z=cljs.core._invoke._;if(null!=
z)return z.cljs$core$IFn$_invoke$arity$21?z.cljs$core$IFn$_invoke$arity$21(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w,x,y):z.call(null,a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w,x,y);throw cljs.core.missing_protocol("IFn.-invoke",a);};
cljs.core._invoke.cljs$core$IFn$_invoke$arity$22=function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w,x,y,z){if(null!=a&&null!=a.cljs$core$IFn$_invoke$arity$22)return a.cljs$core$IFn$_invoke$arity$22(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w,x,y,z);var B=cljs.core._invoke[goog.typeOf(null==a?null:a)];if(null!=B)return B.cljs$core$IFn$_invoke$arity$22?B.cljs$core$IFn$_invoke$arity$22(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w,x,y,z):B.call(null,a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w,x,y,z);B=cljs.core._invoke._;if(null!=
B)return B.cljs$core$IFn$_invoke$arity$22?B.cljs$core$IFn$_invoke$arity$22(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w,x,y,z):B.call(null,a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w,x,y,z);throw cljs.core.missing_protocol("IFn.-invoke",a);};cljs.core._invoke.cljs$lang$maxFixedArity=22;cljs.core.ICloneable=function(){};
cljs.core._clone=function(a){if(null!=a&&null!=a.cljs$core$ICloneable$_clone$arity$1)return a.cljs$core$ICloneable$_clone$arity$1(a);var b=cljs.core._clone[goog.typeOf(null==a?null:a)];if(null!=b)return b.cljs$core$IFn$_invoke$arity$1?b.cljs$core$IFn$_invoke$arity$1(a):b.call(null,a);b=cljs.core._clone._;if(null!=b)return b.cljs$core$IFn$_invoke$arity$1?b.cljs$core$IFn$_invoke$arity$1(a):b.call(null,a);throw cljs.core.missing_protocol("ICloneable.-clone",a);};cljs.core.ICounted=function(){};
cljs.core._count=function(a){if(null!=a&&null!=a.cljs$core$ICounted$_count$arity$1)return a.cljs$core$ICounted$_count$arity$1(a);var b=cljs.core._count[goog.typeOf(null==a?null:a)];if(null!=b)return b.cljs$core$IFn$_invoke$arity$1?b.cljs$core$IFn$_invoke$arity$1(a):b.call(null,a);b=cljs.core._count._;if(null!=b)return b.cljs$core$IFn$_invoke$arity$1?b.cljs$core$IFn$_invoke$arity$1(a):b.call(null,a);throw cljs.core.missing_protocol("ICounted.-count",a);};cljs.core.IEmptyableCollection=function(){};
cljs.core._empty=function(a){if(null!=a&&null!=a.cljs$core$IEmptyableCollection$_empty$arity$1)return a.cljs$core$IEmptyableCollection$_empty$arity$1(a);var b=cljs.core._empty[goog.typeOf(null==a?null:a)];if(null!=b)return b.cljs$core$IFn$_invoke$arity$1?b.cljs$core$IFn$_invoke$arity$1(a):b.call(null,a);b=cljs.core._empty._;if(null!=b)return b.cljs$core$IFn$_invoke$arity$1?b.cljs$core$IFn$_invoke$arity$1(a):b.call(null,a);throw cljs.core.missing_protocol("IEmptyableCollection.-empty",a);};
cljs.core.ICollection=function(){};
cljs.core._conj=function(a,b){if(null!=a&&null!=a.cljs$core$ICollection$_conj$arity$2)return a.cljs$core$ICollection$_conj$arity$2(a,b);var c=cljs.core._conj[goog.typeOf(null==a?null:a)];if(null!=c)return c.cljs$core$IFn$_invoke$arity$2?c.cljs$core$IFn$_invoke$arity$2(a,b):c.call(null,a,b);c=cljs.core._conj._;if(null!=c)return c.cljs$core$IFn$_invoke$arity$2?c.cljs$core$IFn$_invoke$arity$2(a,b):c.call(null,a,b);throw cljs.core.missing_protocol("ICollection.-conj",a);};cljs.core.IIndexed=function(){};
cljs.core._nth=function(a){switch(arguments.length){case 2:return cljs.core._nth.cljs$core$IFn$_invoke$arity$2(arguments[0],arguments[1]);case 3:return cljs.core._nth.cljs$core$IFn$_invoke$arity$3(arguments[0],arguments[1],arguments[2]);default:throw Error(["Invalid arity: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(""));}};
cljs.core._nth.cljs$core$IFn$_invoke$arity$2=function(a,b){if(null!=a&&null!=a.cljs$core$IIndexed$_nth$arity$2)return a.cljs$core$IIndexed$_nth$arity$2(a,b);var c=cljs.core._nth[goog.typeOf(null==a?null:a)];if(null!=c)return c.cljs$core$IFn$_invoke$arity$2?c.cljs$core$IFn$_invoke$arity$2(a,b):c.call(null,a,b);c=cljs.core._nth._;if(null!=c)return c.cljs$core$IFn$_invoke$arity$2?c.cljs$core$IFn$_invoke$arity$2(a,b):c.call(null,a,b);throw cljs.core.missing_protocol("IIndexed.-nth",a);};
cljs.core._nth.cljs$core$IFn$_invoke$arity$3=function(a,b,c){if(null!=a&&null!=a.cljs$core$IIndexed$_nth$arity$3)return a.cljs$core$IIndexed$_nth$arity$3(a,b,c);var d=cljs.core._nth[goog.typeOf(null==a?null:a)];if(null!=d)return d.cljs$core$IFn$_invoke$arity$3?d.cljs$core$IFn$_invoke$arity$3(a,b,c):d.call(null,a,b,c);d=cljs.core._nth._;if(null!=d)return d.cljs$core$IFn$_invoke$arity$3?d.cljs$core$IFn$_invoke$arity$3(a,b,c):d.call(null,a,b,c);throw cljs.core.missing_protocol("IIndexed.-nth",a);};
cljs.core._nth.cljs$lang$maxFixedArity=3;cljs.core.ASeq=function(){};cljs.core.ISeq=function(){};
cljs.core._first=function(a){if(null!=a&&null!=a.cljs$core$ISeq$_first$arity$1)return a.cljs$core$ISeq$_first$arity$1(a);var b=cljs.core._first[goog.typeOf(null==a?null:a)];if(null!=b)return b.cljs$core$IFn$_invoke$arity$1?b.cljs$core$IFn$_invoke$arity$1(a):b.call(null,a);b=cljs.core._first._;if(null!=b)return b.cljs$core$IFn$_invoke$arity$1?b.cljs$core$IFn$_invoke$arity$1(a):b.call(null,a);throw cljs.core.missing_protocol("ISeq.-first",a);};
cljs.core._rest=function(a){if(null!=a&&null!=a.cljs$core$ISeq$_rest$arity$1)return a.cljs$core$ISeq$_rest$arity$1(a);var b=cljs.core._rest[goog.typeOf(null==a?null:a)];if(null!=b)return b.cljs$core$IFn$_invoke$arity$1?b.cljs$core$IFn$_invoke$arity$1(a):b.call(null,a);b=cljs.core._rest._;if(null!=b)return b.cljs$core$IFn$_invoke$arity$1?b.cljs$core$IFn$_invoke$arity$1(a):b.call(null,a);throw cljs.core.missing_protocol("ISeq.-rest",a);};cljs.core.INext=function(){};
cljs.core._next=function(a){if(null!=a&&null!=a.cljs$core$INext$_next$arity$1)return a.cljs$core$INext$_next$arity$1(a);var b=cljs.core._next[goog.typeOf(null==a?null:a)];if(null!=b)return b.cljs$core$IFn$_invoke$arity$1?b.cljs$core$IFn$_invoke$arity$1(a):b.call(null,a);b=cljs.core._next._;if(null!=b)return b.cljs$core$IFn$_invoke$arity$1?b.cljs$core$IFn$_invoke$arity$1(a):b.call(null,a);throw cljs.core.missing_protocol("INext.-next",a);};cljs.core.ILookup=function(){};
cljs.core._lookup=function(a){switch(arguments.length){case 2:return cljs.core._lookup.cljs$core$IFn$_invoke$arity$2(arguments[0],arguments[1]);case 3:return cljs.core._lookup.cljs$core$IFn$_invoke$arity$3(arguments[0],arguments[1],arguments[2]);default:throw Error(["Invalid arity: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(""));}};
cljs.core._lookup.cljs$core$IFn$_invoke$arity$2=function(a,b){if(null!=a&&null!=a.cljs$core$ILookup$_lookup$arity$2)return a.cljs$core$ILookup$_lookup$arity$2(a,b);var c=cljs.core._lookup[goog.typeOf(null==a?null:a)];if(null!=c)return c.cljs$core$IFn$_invoke$arity$2?c.cljs$core$IFn$_invoke$arity$2(a,b):c.call(null,a,b);c=cljs.core._lookup._;if(null!=c)return c.cljs$core$IFn$_invoke$arity$2?c.cljs$core$IFn$_invoke$arity$2(a,b):c.call(null,a,b);throw cljs.core.missing_protocol("ILookup.-lookup",a);
};
cljs.core._lookup.cljs$core$IFn$_invoke$arity$3=function(a,b,c){if(null!=a&&null!=a.cljs$core$ILookup$_lookup$arity$3)return a.cljs$core$ILookup$_lookup$arity$3(a,b,c);var d=cljs.core._lookup[goog.typeOf(null==a?null:a)];if(null!=d)return d.cljs$core$IFn$_invoke$arity$3?d.cljs$core$IFn$_invoke$arity$3(a,b,c):d.call(null,a,b,c);d=cljs.core._lookup._;if(null!=d)return d.cljs$core$IFn$_invoke$arity$3?d.cljs$core$IFn$_invoke$arity$3(a,b,c):d.call(null,a,b,c);throw cljs.core.missing_protocol("ILookup.-lookup",a);
};cljs.core._lookup.cljs$lang$maxFixedArity=3;cljs.core.IAssociative=function(){};
cljs.core._contains_key_QMARK_=function(a,b){if(null!=a&&null!=a.cljs$core$IAssociative$_contains_key_QMARK_$arity$2)return a.cljs$core$IAssociative$_contains_key_QMARK_$arity$2(a,b);var c=cljs.core._contains_key_QMARK_[goog.typeOf(null==a?null:a)];if(null!=c)return c.cljs$core$IFn$_invoke$arity$2?c.cljs$core$IFn$_invoke$arity$2(a,b):c.call(null,a,b);c=cljs.core._contains_key_QMARK_._;if(null!=c)return c.cljs$core$IFn$_invoke$arity$2?c.cljs$core$IFn$_invoke$arity$2(a,b):c.call(null,a,b);throw cljs.core.missing_protocol("IAssociative.-contains-key?",
a);};cljs.core._assoc=function(a,b,c){if(null!=a&&null!=a.cljs$core$IAssociative$_assoc$arity$3)return a.cljs$core$IAssociative$_assoc$arity$3(a,b,c);var d=cljs.core._assoc[goog.typeOf(null==a?null:a)];if(null!=d)return d.cljs$core$IFn$_invoke$arity$3?d.cljs$core$IFn$_invoke$arity$3(a,b,c):d.call(null,a,b,c);d=cljs.core._assoc._;if(null!=d)return d.cljs$core$IFn$_invoke$arity$3?d.cljs$core$IFn$_invoke$arity$3(a,b,c):d.call(null,a,b,c);throw cljs.core.missing_protocol("IAssociative.-assoc",a);};
cljs.core.IFind=function(){};cljs.core._find=function(a,b){if(null!=a&&null!=a.cljs$core$IFind$_find$arity$2)return a.cljs$core$IFind$_find$arity$2(a,b);var c=cljs.core._find[goog.typeOf(null==a?null:a)];if(null!=c)return c.cljs$core$IFn$_invoke$arity$2?c.cljs$core$IFn$_invoke$arity$2(a,b):c.call(null,a,b);c=cljs.core._find._;if(null!=c)return c.cljs$core$IFn$_invoke$arity$2?c.cljs$core$IFn$_invoke$arity$2(a,b):c.call(null,a,b);throw cljs.core.missing_protocol("IFind.-find",a);};cljs.core.IMap=function(){};
cljs.core._dissoc=function(a,b){if(null!=a&&null!=a.cljs$core$IMap$_dissoc$arity$2)return a.cljs$core$IMap$_dissoc$arity$2(a,b);var c=cljs.core._dissoc[goog.typeOf(null==a?null:a)];if(null!=c)return c.cljs$core$IFn$_invoke$arity$2?c.cljs$core$IFn$_invoke$arity$2(a,b):c.call(null,a,b);c=cljs.core._dissoc._;if(null!=c)return c.cljs$core$IFn$_invoke$arity$2?c.cljs$core$IFn$_invoke$arity$2(a,b):c.call(null,a,b);throw cljs.core.missing_protocol("IMap.-dissoc",a);};cljs.core.IMapEntry=function(){};
cljs.core._key=function(a){if(null!=a&&null!=a.cljs$core$IMapEntry$_key$arity$1)return a.cljs$core$IMapEntry$_key$arity$1(a);var b=cljs.core._key[goog.typeOf(null==a?null:a)];if(null!=b)return b.cljs$core$IFn$_invoke$arity$1?b.cljs$core$IFn$_invoke$arity$1(a):b.call(null,a);b=cljs.core._key._;if(null!=b)return b.cljs$core$IFn$_invoke$arity$1?b.cljs$core$IFn$_invoke$arity$1(a):b.call(null,a);throw cljs.core.missing_protocol("IMapEntry.-key",a);};
cljs.core._val=function(a){if(null!=a&&null!=a.cljs$core$IMapEntry$_val$arity$1)return a.cljs$core$IMapEntry$_val$arity$1(a);var b=cljs.core._val[goog.typeOf(null==a?null:a)];if(null!=b)return b.cljs$core$IFn$_invoke$arity$1?b.cljs$core$IFn$_invoke$arity$1(a):b.call(null,a);b=cljs.core._val._;if(null!=b)return b.cljs$core$IFn$_invoke$arity$1?b.cljs$core$IFn$_invoke$arity$1(a):b.call(null,a);throw cljs.core.missing_protocol("IMapEntry.-val",a);};cljs.core.ISet=function(){};
cljs.core._disjoin=function(a,b){if(null!=a&&null!=a.cljs$core$ISet$_disjoin$arity$2)return a.cljs$core$ISet$_disjoin$arity$2(a,b);var c=cljs.core._disjoin[goog.typeOf(null==a?null:a)];if(null!=c)return c.cljs$core$IFn$_invoke$arity$2?c.cljs$core$IFn$_invoke$arity$2(a,b):c.call(null,a,b);c=cljs.core._disjoin._;if(null!=c)return c.cljs$core$IFn$_invoke$arity$2?c.cljs$core$IFn$_invoke$arity$2(a,b):c.call(null,a,b);throw cljs.core.missing_protocol("ISet.-disjoin",a);};cljs.core.IStack=function(){};
cljs.core._peek=function(a){if(null!=a&&null!=a.cljs$core$IStack$_peek$arity$1)return a.cljs$core$IStack$_peek$arity$1(a);var b=cljs.core._peek[goog.typeOf(null==a?null:a)];if(null!=b)return b.cljs$core$IFn$_invoke$arity$1?b.cljs$core$IFn$_invoke$arity$1(a):b.call(null,a);b=cljs.core._peek._;if(null!=b)return b.cljs$core$IFn$_invoke$arity$1?b.cljs$core$IFn$_invoke$arity$1(a):b.call(null,a);throw cljs.core.missing_protocol("IStack.-peek",a);};
cljs.core._pop=function(a){if(null!=a&&null!=a.cljs$core$IStack$_pop$arity$1)return a.cljs$core$IStack$_pop$arity$1(a);var b=cljs.core._pop[goog.typeOf(null==a?null:a)];if(null!=b)return b.cljs$core$IFn$_invoke$arity$1?b.cljs$core$IFn$_invoke$arity$1(a):b.call(null,a);b=cljs.core._pop._;if(null!=b)return b.cljs$core$IFn$_invoke$arity$1?b.cljs$core$IFn$_invoke$arity$1(a):b.call(null,a);throw cljs.core.missing_protocol("IStack.-pop",a);};cljs.core.IVector=function(){};
cljs.core._assoc_n=function(a,b,c){if(null!=a&&null!=a.cljs$core$IVector$_assoc_n$arity$3)return a.cljs$core$IVector$_assoc_n$arity$3(a,b,c);var d=cljs.core._assoc_n[goog.typeOf(null==a?null:a)];if(null!=d)return d.cljs$core$IFn$_invoke$arity$3?d.cljs$core$IFn$_invoke$arity$3(a,b,c):d.call(null,a,b,c);d=cljs.core._assoc_n._;if(null!=d)return d.cljs$core$IFn$_invoke$arity$3?d.cljs$core$IFn$_invoke$arity$3(a,b,c):d.call(null,a,b,c);throw cljs.core.missing_protocol("IVector.-assoc-n",a);};
cljs.core.IDeref=function(){};cljs.core._deref=function(a){if(null!=a&&null!=a.cljs$core$IDeref$_deref$arity$1)return a.cljs$core$IDeref$_deref$arity$1(a);var b=cljs.core._deref[goog.typeOf(null==a?null:a)];if(null!=b)return b.cljs$core$IFn$_invoke$arity$1?b.cljs$core$IFn$_invoke$arity$1(a):b.call(null,a);b=cljs.core._deref._;if(null!=b)return b.cljs$core$IFn$_invoke$arity$1?b.cljs$core$IFn$_invoke$arity$1(a):b.call(null,a);throw cljs.core.missing_protocol("IDeref.-deref",a);};
cljs.core.IDerefWithTimeout=function(){};
cljs.core._deref_with_timeout=function(a,b,c){if(null!=a&&null!=a.cljs$core$IDerefWithTimeout$_deref_with_timeout$arity$3)return a.cljs$core$IDerefWithTimeout$_deref_with_timeout$arity$3(a,b,c);var d=cljs.core._deref_with_timeout[goog.typeOf(null==a?null:a)];if(null!=d)return d.cljs$core$IFn$_invoke$arity$3?d.cljs$core$IFn$_invoke$arity$3(a,b,c):d.call(null,a,b,c);d=cljs.core._deref_with_timeout._;if(null!=d)return d.cljs$core$IFn$_invoke$arity$3?d.cljs$core$IFn$_invoke$arity$3(a,b,c):d.call(null,
a,b,c);throw cljs.core.missing_protocol("IDerefWithTimeout.-deref-with-timeout",a);};cljs.core.IMeta=function(){};
cljs.core._meta=function(a){if(null!=a&&null!=a.cljs$core$IMeta$_meta$arity$1)return a.cljs$core$IMeta$_meta$arity$1(a);var b=cljs.core._meta[goog.typeOf(null==a?null:a)];if(null!=b)return b.cljs$core$IFn$_invoke$arity$1?b.cljs$core$IFn$_invoke$arity$1(a):b.call(null,a);b=cljs.core._meta._;if(null!=b)return b.cljs$core$IFn$_invoke$arity$1?b.cljs$core$IFn$_invoke$arity$1(a):b.call(null,a);throw cljs.core.missing_protocol("IMeta.-meta",a);};cljs.core.IWithMeta=function(){};
cljs.core._with_meta=function(a,b){if(null!=a&&null!=a.cljs$core$IWithMeta$_with_meta$arity$2)return a.cljs$core$IWithMeta$_with_meta$arity$2(a,b);var c=cljs.core._with_meta[goog.typeOf(null==a?null:a)];if(null!=c)return c.cljs$core$IFn$_invoke$arity$2?c.cljs$core$IFn$_invoke$arity$2(a,b):c.call(null,a,b);c=cljs.core._with_meta._;if(null!=c)return c.cljs$core$IFn$_invoke$arity$2?c.cljs$core$IFn$_invoke$arity$2(a,b):c.call(null,a,b);throw cljs.core.missing_protocol("IWithMeta.-with-meta",a);};
cljs.core.IReduce=function(){};cljs.core._reduce=function(a){switch(arguments.length){case 2:return cljs.core._reduce.cljs$core$IFn$_invoke$arity$2(arguments[0],arguments[1]);case 3:return cljs.core._reduce.cljs$core$IFn$_invoke$arity$3(arguments[0],arguments[1],arguments[2]);default:throw Error(["Invalid arity: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(""));}};
cljs.core._reduce.cljs$core$IFn$_invoke$arity$2=function(a,b){if(null!=a&&null!=a.cljs$core$IReduce$_reduce$arity$2)return a.cljs$core$IReduce$_reduce$arity$2(a,b);var c=cljs.core._reduce[goog.typeOf(null==a?null:a)];if(null!=c)return c.cljs$core$IFn$_invoke$arity$2?c.cljs$core$IFn$_invoke$arity$2(a,b):c.call(null,a,b);c=cljs.core._reduce._;if(null!=c)return c.cljs$core$IFn$_invoke$arity$2?c.cljs$core$IFn$_invoke$arity$2(a,b):c.call(null,a,b);throw cljs.core.missing_protocol("IReduce.-reduce",a);
};
cljs.core._reduce.cljs$core$IFn$_invoke$arity$3=function(a,b,c){if(null!=a&&null!=a.cljs$core$IReduce$_reduce$arity$3)return a.cljs$core$IReduce$_reduce$arity$3(a,b,c);var d=cljs.core._reduce[goog.typeOf(null==a?null:a)];if(null!=d)return d.cljs$core$IFn$_invoke$arity$3?d.cljs$core$IFn$_invoke$arity$3(a,b,c):d.call(null,a,b,c);d=cljs.core._reduce._;if(null!=d)return d.cljs$core$IFn$_invoke$arity$3?d.cljs$core$IFn$_invoke$arity$3(a,b,c):d.call(null,a,b,c);throw cljs.core.missing_protocol("IReduce.-reduce",a);
};cljs.core._reduce.cljs$lang$maxFixedArity=3;cljs.core.IKVReduce=function(){};
cljs.core._kv_reduce=function(a,b,c){if(null!=a&&null!=a.cljs$core$IKVReduce$_kv_reduce$arity$3)return a.cljs$core$IKVReduce$_kv_reduce$arity$3(a,b,c);var d=cljs.core._kv_reduce[goog.typeOf(null==a?null:a)];if(null!=d)return d.cljs$core$IFn$_invoke$arity$3?d.cljs$core$IFn$_invoke$arity$3(a,b,c):d.call(null,a,b,c);d=cljs.core._kv_reduce._;if(null!=d)return d.cljs$core$IFn$_invoke$arity$3?d.cljs$core$IFn$_invoke$arity$3(a,b,c):d.call(null,a,b,c);throw cljs.core.missing_protocol("IKVReduce.-kv-reduce",
a);};cljs.core.IEquiv=function(){};cljs.core._equiv=function(a,b){if(null!=a&&null!=a.cljs$core$IEquiv$_equiv$arity$2)return a.cljs$core$IEquiv$_equiv$arity$2(a,b);var c=cljs.core._equiv[goog.typeOf(null==a?null:a)];if(null!=c)return c.cljs$core$IFn$_invoke$arity$2?c.cljs$core$IFn$_invoke$arity$2(a,b):c.call(null,a,b);c=cljs.core._equiv._;if(null!=c)return c.cljs$core$IFn$_invoke$arity$2?c.cljs$core$IFn$_invoke$arity$2(a,b):c.call(null,a,b);throw cljs.core.missing_protocol("IEquiv.-equiv",a);};
cljs.core.IHash=function(){};cljs.core._hash=function(a){if(null!=a&&null!=a.cljs$core$IHash$_hash$arity$1)return a.cljs$core$IHash$_hash$arity$1(a);var b=cljs.core._hash[goog.typeOf(null==a?null:a)];if(null!=b)return b.cljs$core$IFn$_invoke$arity$1?b.cljs$core$IFn$_invoke$arity$1(a):b.call(null,a);b=cljs.core._hash._;if(null!=b)return b.cljs$core$IFn$_invoke$arity$1?b.cljs$core$IFn$_invoke$arity$1(a):b.call(null,a);throw cljs.core.missing_protocol("IHash.-hash",a);};cljs.core.ISeqable=function(){};
cljs.core._seq=function(a){if(null!=a&&null!=a.cljs$core$ISeqable$_seq$arity$1)return a.cljs$core$ISeqable$_seq$arity$1(a);var b=cljs.core._seq[goog.typeOf(null==a?null:a)];if(null!=b)return b.cljs$core$IFn$_invoke$arity$1?b.cljs$core$IFn$_invoke$arity$1(a):b.call(null,a);b=cljs.core._seq._;if(null!=b)return b.cljs$core$IFn$_invoke$arity$1?b.cljs$core$IFn$_invoke$arity$1(a):b.call(null,a);throw cljs.core.missing_protocol("ISeqable.-seq",a);};cljs.core.ISequential=function(){};cljs.core.IList=function(){};
cljs.core.IRecord=function(){};cljs.core.IReversible=function(){};
cljs.core._rseq=function(a){if(null!=a&&null!=a.cljs$core$IReversible$_rseq$arity$1)return a.cljs$core$IReversible$_rseq$arity$1(a);var b=cljs.core._rseq[goog.typeOf(null==a?null:a)];if(null!=b)return b.cljs$core$IFn$_invoke$arity$1?b.cljs$core$IFn$_invoke$arity$1(a):b.call(null,a);b=cljs.core._rseq._;if(null!=b)return b.cljs$core$IFn$_invoke$arity$1?b.cljs$core$IFn$_invoke$arity$1(a):b.call(null,a);throw cljs.core.missing_protocol("IReversible.-rseq",a);};cljs.core.ISorted=function(){};
cljs.core._sorted_seq=function(a,b){if(null!=a&&null!=a.cljs$core$ISorted$_sorted_seq$arity$2)return a.cljs$core$ISorted$_sorted_seq$arity$2(a,b);var c=cljs.core._sorted_seq[goog.typeOf(null==a?null:a)];if(null!=c)return c.cljs$core$IFn$_invoke$arity$2?c.cljs$core$IFn$_invoke$arity$2(a,b):c.call(null,a,b);c=cljs.core._sorted_seq._;if(null!=c)return c.cljs$core$IFn$_invoke$arity$2?c.cljs$core$IFn$_invoke$arity$2(a,b):c.call(null,a,b);throw cljs.core.missing_protocol("ISorted.-sorted-seq",a);};
cljs.core._sorted_seq_from=function(a,b,c){if(null!=a&&null!=a.cljs$core$ISorted$_sorted_seq_from$arity$3)return a.cljs$core$ISorted$_sorted_seq_from$arity$3(a,b,c);var d=cljs.core._sorted_seq_from[goog.typeOf(null==a?null:a)];if(null!=d)return d.cljs$core$IFn$_invoke$arity$3?d.cljs$core$IFn$_invoke$arity$3(a,b,c):d.call(null,a,b,c);d=cljs.core._sorted_seq_from._;if(null!=d)return d.cljs$core$IFn$_invoke$arity$3?d.cljs$core$IFn$_invoke$arity$3(a,b,c):d.call(null,a,b,c);throw cljs.core.missing_protocol("ISorted.-sorted-seq-from",
a);};cljs.core._entry_key=function(a,b){if(null!=a&&null!=a.cljs$core$ISorted$_entry_key$arity$2)return a.cljs$core$ISorted$_entry_key$arity$2(a,b);var c=cljs.core._entry_key[goog.typeOf(null==a?null:a)];if(null!=c)return c.cljs$core$IFn$_invoke$arity$2?c.cljs$core$IFn$_invoke$arity$2(a,b):c.call(null,a,b);c=cljs.core._entry_key._;if(null!=c)return c.cljs$core$IFn$_invoke$arity$2?c.cljs$core$IFn$_invoke$arity$2(a,b):c.call(null,a,b);throw cljs.core.missing_protocol("ISorted.-entry-key",a);};
cljs.core._comparator=function(a){if(null!=a&&null!=a.cljs$core$ISorted$_comparator$arity$1)return a.cljs$core$ISorted$_comparator$arity$1(a);var b=cljs.core._comparator[goog.typeOf(null==a?null:a)];if(null!=b)return b.cljs$core$IFn$_invoke$arity$1?b.cljs$core$IFn$_invoke$arity$1(a):b.call(null,a);b=cljs.core._comparator._;if(null!=b)return b.cljs$core$IFn$_invoke$arity$1?b.cljs$core$IFn$_invoke$arity$1(a):b.call(null,a);throw cljs.core.missing_protocol("ISorted.-comparator",a);};
cljs.core.IWriter=function(){};cljs.core._write=function(a,b){if(null!=a&&null!=a.cljs$core$IWriter$_write$arity$2)return a.cljs$core$IWriter$_write$arity$2(a,b);var c=cljs.core._write[goog.typeOf(null==a?null:a)];if(null!=c)return c.cljs$core$IFn$_invoke$arity$2?c.cljs$core$IFn$_invoke$arity$2(a,b):c.call(null,a,b);c=cljs.core._write._;if(null!=c)return c.cljs$core$IFn$_invoke$arity$2?c.cljs$core$IFn$_invoke$arity$2(a,b):c.call(null,a,b);throw cljs.core.missing_protocol("IWriter.-write",a);};
cljs.core._flush=function(a){if(null!=a&&null!=a.cljs$core$IWriter$_flush$arity$1)return a.cljs$core$IWriter$_flush$arity$1(a);var b=cljs.core._flush[goog.typeOf(null==a?null:a)];if(null!=b)return b.cljs$core$IFn$_invoke$arity$1?b.cljs$core$IFn$_invoke$arity$1(a):b.call(null,a);b=cljs.core._flush._;if(null!=b)return b.cljs$core$IFn$_invoke$arity$1?b.cljs$core$IFn$_invoke$arity$1(a):b.call(null,a);throw cljs.core.missing_protocol("IWriter.-flush",a);};cljs.core.IPrintWithWriter=function(){};
cljs.core._pr_writer=function(a,b,c){if(null!=a&&null!=a.cljs$core$IPrintWithWriter$_pr_writer$arity$3)return a.cljs$core$IPrintWithWriter$_pr_writer$arity$3(a,b,c);var d=cljs.core._pr_writer[goog.typeOf(null==a?null:a)];if(null!=d)return d.cljs$core$IFn$_invoke$arity$3?d.cljs$core$IFn$_invoke$arity$3(a,b,c):d.call(null,a,b,c);d=cljs.core._pr_writer._;if(null!=d)return d.cljs$core$IFn$_invoke$arity$3?d.cljs$core$IFn$_invoke$arity$3(a,b,c):d.call(null,a,b,c);throw cljs.core.missing_protocol("IPrintWithWriter.-pr-writer",
a);};cljs.core.IPending=function(){};
cljs.core._realized_QMARK_=function(a){if(null!=a&&null!=a.cljs$core$IPending$_realized_QMARK_$arity$1)return a.cljs$core$IPending$_realized_QMARK_$arity$1(a);var b=cljs.core._realized_QMARK_[goog.typeOf(null==a?null:a)];if(null!=b)return b.cljs$core$IFn$_invoke$arity$1?b.cljs$core$IFn$_invoke$arity$1(a):b.call(null,a);b=cljs.core._realized_QMARK_._;if(null!=b)return b.cljs$core$IFn$_invoke$arity$1?b.cljs$core$IFn$_invoke$arity$1(a):b.call(null,a);throw cljs.core.missing_protocol("IPending.-realized?",a);
};cljs.core.IWatchable=function(){};
cljs.core._notify_watches=function(a,b,c){if(null!=a&&null!=a.cljs$core$IWatchable$_notify_watches$arity$3)return a.cljs$core$IWatchable$_notify_watches$arity$3(a,b,c);var d=cljs.core._notify_watches[goog.typeOf(null==a?null:a)];if(null!=d)return d.cljs$core$IFn$_invoke$arity$3?d.cljs$core$IFn$_invoke$arity$3(a,b,c):d.call(null,a,b,c);d=cljs.core._notify_watches._;if(null!=d)return d.cljs$core$IFn$_invoke$arity$3?d.cljs$core$IFn$_invoke$arity$3(a,b,c):d.call(null,a,b,c);throw cljs.core.missing_protocol("IWatchable.-notify-watches",
a);};
cljs.core._add_watch=function(a,b,c){if(null!=a&&null!=a.cljs$core$IWatchable$_add_watch$arity$3)return a.cljs$core$IWatchable$_add_watch$arity$3(a,b,c);var d=cljs.core._add_watch[goog.typeOf(null==a?null:a)];if(null!=d)return d.cljs$core$IFn$_invoke$arity$3?d.cljs$core$IFn$_invoke$arity$3(a,b,c):d.call(null,a,b,c);d=cljs.core._add_watch._;if(null!=d)return d.cljs$core$IFn$_invoke$arity$3?d.cljs$core$IFn$_invoke$arity$3(a,b,c):d.call(null,a,b,c);throw cljs.core.missing_protocol("IWatchable.-add-watch",a);
};
cljs.core._remove_watch=function(a,b){if(null!=a&&null!=a.cljs$core$IWatchable$_remove_watch$arity$2)return a.cljs$core$IWatchable$_remove_watch$arity$2(a,b);var c=cljs.core._remove_watch[goog.typeOf(null==a?null:a)];if(null!=c)return c.cljs$core$IFn$_invoke$arity$2?c.cljs$core$IFn$_invoke$arity$2(a,b):c.call(null,a,b);c=cljs.core._remove_watch._;if(null!=c)return c.cljs$core$IFn$_invoke$arity$2?c.cljs$core$IFn$_invoke$arity$2(a,b):c.call(null,a,b);throw cljs.core.missing_protocol("IWatchable.-remove-watch",a);
};cljs.core.IEditableCollection=function(){};
cljs.core._as_transient=function(a){if(null!=a&&null!=a.cljs$core$IEditableCollection$_as_transient$arity$1)return a.cljs$core$IEditableCollection$_as_transient$arity$1(a);var b=cljs.core._as_transient[goog.typeOf(null==a?null:a)];if(null!=b)return b.cljs$core$IFn$_invoke$arity$1?b.cljs$core$IFn$_invoke$arity$1(a):b.call(null,a);b=cljs.core._as_transient._;if(null!=b)return b.cljs$core$IFn$_invoke$arity$1?b.cljs$core$IFn$_invoke$arity$1(a):b.call(null,a);throw cljs.core.missing_protocol("IEditableCollection.-as-transient",
a);};cljs.core.ITransientCollection=function(){};
cljs.core._conj_BANG_=function(a,b){if(null!=a&&null!=a.cljs$core$ITransientCollection$_conj_BANG_$arity$2)return a.cljs$core$ITransientCollection$_conj_BANG_$arity$2(a,b);var c=cljs.core._conj_BANG_[goog.typeOf(null==a?null:a)];if(null!=c)return c.cljs$core$IFn$_invoke$arity$2?c.cljs$core$IFn$_invoke$arity$2(a,b):c.call(null,a,b);c=cljs.core._conj_BANG_._;if(null!=c)return c.cljs$core$IFn$_invoke$arity$2?c.cljs$core$IFn$_invoke$arity$2(a,b):c.call(null,a,b);throw cljs.core.missing_protocol("ITransientCollection.-conj!",
a);};
cljs.core._persistent_BANG_=function(a){if(null!=a&&null!=a.cljs$core$ITransientCollection$_persistent_BANG_$arity$1)return a.cljs$core$ITransientCollection$_persistent_BANG_$arity$1(a);var b=cljs.core._persistent_BANG_[goog.typeOf(null==a?null:a)];if(null!=b)return b.cljs$core$IFn$_invoke$arity$1?b.cljs$core$IFn$_invoke$arity$1(a):b.call(null,a);b=cljs.core._persistent_BANG_._;if(null!=b)return b.cljs$core$IFn$_invoke$arity$1?b.cljs$core$IFn$_invoke$arity$1(a):b.call(null,a);throw cljs.core.missing_protocol("ITransientCollection.-persistent!",a);
};cljs.core.ITransientAssociative=function(){};
cljs.core._assoc_BANG_=function(a,b,c){if(null!=a&&null!=a.cljs$core$ITransientAssociative$_assoc_BANG_$arity$3)return a.cljs$core$ITransientAssociative$_assoc_BANG_$arity$3(a,b,c);var d=cljs.core._assoc_BANG_[goog.typeOf(null==a?null:a)];if(null!=d)return d.cljs$core$IFn$_invoke$arity$3?d.cljs$core$IFn$_invoke$arity$3(a,b,c):d.call(null,a,b,c);d=cljs.core._assoc_BANG_._;if(null!=d)return d.cljs$core$IFn$_invoke$arity$3?d.cljs$core$IFn$_invoke$arity$3(a,b,c):d.call(null,a,b,c);throw cljs.core.missing_protocol("ITransientAssociative.-assoc!",
a);};cljs.core.ITransientMap=function(){};
cljs.core._dissoc_BANG_=function(a,b){if(null!=a&&null!=a.cljs$core$ITransientMap$_dissoc_BANG_$arity$2)return a.cljs$core$ITransientMap$_dissoc_BANG_$arity$2(a,b);var c=cljs.core._dissoc_BANG_[goog.typeOf(null==a?null:a)];if(null!=c)return c.cljs$core$IFn$_invoke$arity$2?c.cljs$core$IFn$_invoke$arity$2(a,b):c.call(null,a,b);c=cljs.core._dissoc_BANG_._;if(null!=c)return c.cljs$core$IFn$_invoke$arity$2?c.cljs$core$IFn$_invoke$arity$2(a,b):c.call(null,a,b);throw cljs.core.missing_protocol("ITransientMap.-dissoc!",
a);};cljs.core.ITransientVector=function(){};
cljs.core._assoc_n_BANG_=function(a,b,c){if(null!=a&&null!=a.cljs$core$ITransientVector$_assoc_n_BANG_$arity$3)return a.cljs$core$ITransientVector$_assoc_n_BANG_$arity$3(a,b,c);var d=cljs.core._assoc_n_BANG_[goog.typeOf(null==a?null:a)];if(null!=d)return d.cljs$core$IFn$_invoke$arity$3?d.cljs$core$IFn$_invoke$arity$3(a,b,c):d.call(null,a,b,c);d=cljs.core._assoc_n_BANG_._;if(null!=d)return d.cljs$core$IFn$_invoke$arity$3?d.cljs$core$IFn$_invoke$arity$3(a,b,c):d.call(null,a,b,c);throw cljs.core.missing_protocol("ITransientVector.-assoc-n!",
a);};
cljs.core._pop_BANG_=function(a){if(null!=a&&null!=a.cljs$core$ITransientVector$_pop_BANG_$arity$1)return a.cljs$core$ITransientVector$_pop_BANG_$arity$1(a);var b=cljs.core._pop_BANG_[goog.typeOf(null==a?null:a)];if(null!=b)return b.cljs$core$IFn$_invoke$arity$1?b.cljs$core$IFn$_invoke$arity$1(a):b.call(null,a);b=cljs.core._pop_BANG_._;if(null!=b)return b.cljs$core$IFn$_invoke$arity$1?b.cljs$core$IFn$_invoke$arity$1(a):b.call(null,a);throw cljs.core.missing_protocol("ITransientVector.-pop!",a);};
cljs.core.ITransientSet=function(){};
cljs.core._disjoin_BANG_=function(a,b){if(null!=a&&null!=a.cljs$core$ITransientSet$_disjoin_BANG_$arity$2)return a.cljs$core$ITransientSet$_disjoin_BANG_$arity$2(a,b);var c=cljs.core._disjoin_BANG_[goog.typeOf(null==a?null:a)];if(null!=c)return c.cljs$core$IFn$_invoke$arity$2?c.cljs$core$IFn$_invoke$arity$2(a,b):c.call(null,a,b);c=cljs.core._disjoin_BANG_._;if(null!=c)return c.cljs$core$IFn$_invoke$arity$2?c.cljs$core$IFn$_invoke$arity$2(a,b):c.call(null,a,b);throw cljs.core.missing_protocol("ITransientSet.-disjoin!",
a);};cljs.core.IComparable=function(){};
cljs.core._compare=function(a,b){if(null!=a&&null!=a.cljs$core$IComparable$_compare$arity$2)return a.cljs$core$IComparable$_compare$arity$2(a,b);var c=cljs.core._compare[goog.typeOf(null==a?null:a)];if(null!=c)return c.cljs$core$IFn$_invoke$arity$2?c.cljs$core$IFn$_invoke$arity$2(a,b):c.call(null,a,b);c=cljs.core._compare._;if(null!=c)return c.cljs$core$IFn$_invoke$arity$2?c.cljs$core$IFn$_invoke$arity$2(a,b):c.call(null,a,b);throw cljs.core.missing_protocol("IComparable.-compare",a);};
cljs.core.IChunk=function(){};
cljs.core._drop_first=function(a){if(null!=a&&null!=a.cljs$core$IChunk$_drop_first$arity$1)return a.cljs$core$IChunk$_drop_first$arity$1(a);var b=cljs.core._drop_first[goog.typeOf(null==a?null:a)];if(null!=b)return b.cljs$core$IFn$_invoke$arity$1?b.cljs$core$IFn$_invoke$arity$1(a):b.call(null,a);b=cljs.core._drop_first._;if(null!=b)return b.cljs$core$IFn$_invoke$arity$1?b.cljs$core$IFn$_invoke$arity$1(a):b.call(null,a);throw cljs.core.missing_protocol("IChunk.-drop-first",a);};
cljs.core.IChunkedSeq=function(){};
cljs.core._chunked_first=function(a){if(null!=a&&null!=a.cljs$core$IChunkedSeq$_chunked_first$arity$1)return a.cljs$core$IChunkedSeq$_chunked_first$arity$1(a);var b=cljs.core._chunked_first[goog.typeOf(null==a?null:a)];if(null!=b)return b.cljs$core$IFn$_invoke$arity$1?b.cljs$core$IFn$_invoke$arity$1(a):b.call(null,a);b=cljs.core._chunked_first._;if(null!=b)return b.cljs$core$IFn$_invoke$arity$1?b.cljs$core$IFn$_invoke$arity$1(a):b.call(null,a);throw cljs.core.missing_protocol("IChunkedSeq.-chunked-first",a);
};
cljs.core._chunked_rest=function(a){if(null!=a&&null!=a.cljs$core$IChunkedSeq$_chunked_rest$arity$1)return a.cljs$core$IChunkedSeq$_chunked_rest$arity$1(a);var b=cljs.core._chunked_rest[goog.typeOf(null==a?null:a)];if(null!=b)return b.cljs$core$IFn$_invoke$arity$1?b.cljs$core$IFn$_invoke$arity$1(a):b.call(null,a);b=cljs.core._chunked_rest._;if(null!=b)return b.cljs$core$IFn$_invoke$arity$1?b.cljs$core$IFn$_invoke$arity$1(a):b.call(null,a);throw cljs.core.missing_protocol("IChunkedSeq.-chunked-rest",a);
};cljs.core.IChunkedNext=function(){};
cljs.core._chunked_next=function(a){if(null!=a&&null!=a.cljs$core$IChunkedNext$_chunked_next$arity$1)return a.cljs$core$IChunkedNext$_chunked_next$arity$1(a);var b=cljs.core._chunked_next[goog.typeOf(null==a?null:a)];if(null!=b)return b.cljs$core$IFn$_invoke$arity$1?b.cljs$core$IFn$_invoke$arity$1(a):b.call(null,a);b=cljs.core._chunked_next._;if(null!=b)return b.cljs$core$IFn$_invoke$arity$1?b.cljs$core$IFn$_invoke$arity$1(a):b.call(null,a);throw cljs.core.missing_protocol("IChunkedNext.-chunked-next",a);
};cljs.core.INamed=function(){};cljs.core._name=function(a){if(null!=a&&null!=a.cljs$core$INamed$_name$arity$1)return a.cljs$core$INamed$_name$arity$1(a);var b=cljs.core._name[goog.typeOf(null==a?null:a)];if(null!=b)return b.cljs$core$IFn$_invoke$arity$1?b.cljs$core$IFn$_invoke$arity$1(a):b.call(null,a);b=cljs.core._name._;if(null!=b)return b.cljs$core$IFn$_invoke$arity$1?b.cljs$core$IFn$_invoke$arity$1(a):b.call(null,a);throw cljs.core.missing_protocol("INamed.-name",a);};
cljs.core._namespace=function(a){if(null!=a&&null!=a.cljs$core$INamed$_namespace$arity$1)return a.cljs$core$INamed$_namespace$arity$1(a);var b=cljs.core._namespace[goog.typeOf(null==a?null:a)];if(null!=b)return b.cljs$core$IFn$_invoke$arity$1?b.cljs$core$IFn$_invoke$arity$1(a):b.call(null,a);b=cljs.core._namespace._;if(null!=b)return b.cljs$core$IFn$_invoke$arity$1?b.cljs$core$IFn$_invoke$arity$1(a):b.call(null,a);throw cljs.core.missing_protocol("INamed.-namespace",a);};cljs.core.IAtom=function(){};
cljs.core.IReset=function(){};
cljs.core._reset_BANG_=function(a,b){if(null!=a&&null!=a.cljs$core$IReset$_reset_BANG_$arity$2)return a.cljs$core$IReset$_reset_BANG_$arity$2(a,b);var c=cljs.core._reset_BANG_[goog.typeOf(null==a?null:a)];if(null!=c)return c.cljs$core$IFn$_invoke$arity$2?c.cljs$core$IFn$_invoke$arity$2(a,b):c.call(null,a,b);c=cljs.core._reset_BANG_._;if(null!=c)return c.cljs$core$IFn$_invoke$arity$2?c.cljs$core$IFn$_invoke$arity$2(a,b):c.call(null,a,b);throw cljs.core.missing_protocol("IReset.-reset!",a);};
cljs.core.ISwap=function(){};
cljs.core._swap_BANG_=function(a){switch(arguments.length){case 2:return cljs.core._swap_BANG_.cljs$core$IFn$_invoke$arity$2(arguments[0],arguments[1]);case 3:return cljs.core._swap_BANG_.cljs$core$IFn$_invoke$arity$3(arguments[0],arguments[1],arguments[2]);case 4:return cljs.core._swap_BANG_.cljs$core$IFn$_invoke$arity$4(arguments[0],arguments[1],arguments[2],arguments[3]);case 5:return cljs.core._swap_BANG_.cljs$core$IFn$_invoke$arity$5(arguments[0],arguments[1],arguments[2],arguments[3],arguments[4]);
default:throw Error(["Invalid arity: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(""));}};
cljs.core._swap_BANG_.cljs$core$IFn$_invoke$arity$2=function(a,b){if(null!=a&&null!=a.cljs$core$ISwap$_swap_BANG_$arity$2)return a.cljs$core$ISwap$_swap_BANG_$arity$2(a,b);var c=cljs.core._swap_BANG_[goog.typeOf(null==a?null:a)];if(null!=c)return c.cljs$core$IFn$_invoke$arity$2?c.cljs$core$IFn$_invoke$arity$2(a,b):c.call(null,a,b);c=cljs.core._swap_BANG_._;if(null!=c)return c.cljs$core$IFn$_invoke$arity$2?c.cljs$core$IFn$_invoke$arity$2(a,b):c.call(null,a,b);throw cljs.core.missing_protocol("ISwap.-swap!",
a);};
cljs.core._swap_BANG_.cljs$core$IFn$_invoke$arity$3=function(a,b,c){if(null!=a&&null!=a.cljs$core$ISwap$_swap_BANG_$arity$3)return a.cljs$core$ISwap$_swap_BANG_$arity$3(a,b,c);var d=cljs.core._swap_BANG_[goog.typeOf(null==a?null:a)];if(null!=d)return d.cljs$core$IFn$_invoke$arity$3?d.cljs$core$IFn$_invoke$arity$3(a,b,c):d.call(null,a,b,c);d=cljs.core._swap_BANG_._;if(null!=d)return d.cljs$core$IFn$_invoke$arity$3?d.cljs$core$IFn$_invoke$arity$3(a,b,c):d.call(null,a,b,c);throw cljs.core.missing_protocol("ISwap.-swap!",a);
};
cljs.core._swap_BANG_.cljs$core$IFn$_invoke$arity$4=function(a,b,c,d){if(null!=a&&null!=a.cljs$core$ISwap$_swap_BANG_$arity$4)return a.cljs$core$ISwap$_swap_BANG_$arity$4(a,b,c,d);var e=cljs.core._swap_BANG_[goog.typeOf(null==a?null:a)];if(null!=e)return e.cljs$core$IFn$_invoke$arity$4?e.cljs$core$IFn$_invoke$arity$4(a,b,c,d):e.call(null,a,b,c,d);e=cljs.core._swap_BANG_._;if(null!=e)return e.cljs$core$IFn$_invoke$arity$4?e.cljs$core$IFn$_invoke$arity$4(a,b,c,d):e.call(null,a,b,c,d);throw cljs.core.missing_protocol("ISwap.-swap!",a);
};
cljs.core._swap_BANG_.cljs$core$IFn$_invoke$arity$5=function(a,b,c,d,e){if(null!=a&&null!=a.cljs$core$ISwap$_swap_BANG_$arity$5)return a.cljs$core$ISwap$_swap_BANG_$arity$5(a,b,c,d,e);var f=cljs.core._swap_BANG_[goog.typeOf(null==a?null:a)];if(null!=f)return f.cljs$core$IFn$_invoke$arity$5?f.cljs$core$IFn$_invoke$arity$5(a,b,c,d,e):f.call(null,a,b,c,d,e);f=cljs.core._swap_BANG_._;if(null!=f)return f.cljs$core$IFn$_invoke$arity$5?f.cljs$core$IFn$_invoke$arity$5(a,b,c,d,e):f.call(null,a,b,c,d,e);throw cljs.core.missing_protocol("ISwap.-swap!",
a);};cljs.core._swap_BANG_.cljs$lang$maxFixedArity=5;cljs.core.IVolatile=function(){};
cljs.core._vreset_BANG_=function(a,b){if(null!=a&&null!=a.cljs$core$IVolatile$_vreset_BANG_$arity$2)return a.cljs$core$IVolatile$_vreset_BANG_$arity$2(a,b);var c=cljs.core._vreset_BANG_[goog.typeOf(null==a?null:a)];if(null!=c)return c.cljs$core$IFn$_invoke$arity$2?c.cljs$core$IFn$_invoke$arity$2(a,b):c.call(null,a,b);c=cljs.core._vreset_BANG_._;if(null!=c)return c.cljs$core$IFn$_invoke$arity$2?c.cljs$core$IFn$_invoke$arity$2(a,b):c.call(null,a,b);throw cljs.core.missing_protocol("IVolatile.-vreset!",
a);};cljs.core.IIterable=function(){};
cljs.core._iterator=function(a){if(null!=a&&null!=a.cljs$core$IIterable$_iterator$arity$1)return a.cljs$core$IIterable$_iterator$arity$1(a);var b=cljs.core._iterator[goog.typeOf(null==a?null:a)];if(null!=b)return b.cljs$core$IFn$_invoke$arity$1?b.cljs$core$IFn$_invoke$arity$1(a):b.call(null,a);b=cljs.core._iterator._;if(null!=b)return b.cljs$core$IFn$_invoke$arity$1?b.cljs$core$IFn$_invoke$arity$1(a):b.call(null,a);throw cljs.core.missing_protocol("IIterable.-iterator",a);};
cljs.core.StringBufferWriter=function(a){this.sb=a;this.cljs$lang$protocol_mask$partition0$=1073741824;this.cljs$lang$protocol_mask$partition1$=0};cljs.core.StringBufferWriter.prototype.cljs$core$IWriter$_write$arity$2=function(a,b){return this.sb.append(b)};cljs.core.StringBufferWriter.prototype.cljs$core$IWriter$_flush$arity$1=function(a){return null};
cljs.core.StringBufferWriter.getBasis=function(){return new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"sb","sb",-1249746442,null)],null)};cljs.core.StringBufferWriter.cljs$lang$type=!0;cljs.core.StringBufferWriter.cljs$lang$ctorStr="cljs.core/StringBufferWriter";cljs.core.StringBufferWriter.cljs$lang$ctorPrWriter=function(a,b,c){return cljs.core._write(b,"cljs.core/StringBufferWriter")};cljs.core.__GT_StringBufferWriter=function(a){return new cljs.core.StringBufferWriter(a)};
cljs.core.pr_str_STAR_=function(a){var b=new goog.string.StringBuffer,c=new cljs.core.StringBufferWriter(b);a.cljs$core$IPrintWithWriter$_pr_writer$arity$3(null,c,cljs.core.pr_opts());c.cljs$core$IWriter$_flush$arity$1(null);return cljs.core.str.cljs$core$IFn$_invoke$arity$1(b)};cljs.core.int_rotate_left=function(a,b){return a<<b|a>>>-b};
"undefined"!==typeof Math&&"undefined"!==typeof Math.imul&&0!==Math.imul(4294967295,5)?cljs.core.imul=function(a,b){return Math.imul(a,b)}:cljs.core.imul=function(a,b){var c=a&65535,d=b&65535;return c*d+((a>>>16&65535)*d+c*(b>>>16&65535)<<16>>>0)|0};cljs.core.m3_seed=0;cljs.core.m3_C1=-862048943;cljs.core.m3_C2=461845907;cljs.core.m3_mix_K1=function(a){return cljs.core.imul(cljs.core.int_rotate_left(cljs.core.imul(a|0,cljs.core.m3_C1),15),cljs.core.m3_C2)};
cljs.core.m3_mix_H1=function(a,b){return cljs.core.imul(cljs.core.int_rotate_left((a|0)^(b|0),13),5)+-430675100|0};cljs.core.m3_fmix=function(a,b){a=(a|0)^b;a=cljs.core.imul(a^a>>>16,-2048144789);a=cljs.core.imul(a^a>>>13,-1028477387);return a^a>>>16};cljs.core.m3_hash_int=function(a){if(0===a)return a;a=cljs.core.m3_mix_K1(a);a=cljs.core.m3_mix_H1(cljs.core.m3_seed,a);return cljs.core.m3_fmix(a,4)};
cljs.core.m3_hash_unencoded_chars=function(a){a:{var b=1;for(var c=cljs.core.m3_seed;;)if(b<a.length){var d=b+2;c=cljs.core.m3_mix_H1(c,cljs.core.m3_mix_K1(a.charCodeAt(b-1)|a.charCodeAt(b)<<16));b=d}else{b=c;break a}}b=1===(a.length&1)?b^cljs.core.m3_mix_K1(a.charCodeAt(a.length-1)):b;return cljs.core.m3_fmix(b,cljs.core.imul(2,a.length))};cljs.core.string_hash_cache={};cljs.core.string_hash_cache_count=0;
cljs.core.hash_string_STAR_=function(a){if(null!=a){var b=a.length;if(0<b)for(var c=0,d=0;;)if(c<b){var e=c+1;d=cljs.core.imul(31,d)+a.charCodeAt(c);c=e}else return d;else return 0}else return 0};cljs.core.add_to_string_hash_cache=function(a){var b=cljs.core.hash_string_STAR_(a);goog.object.set(cljs.core.string_hash_cache,a,b);cljs.core.string_hash_cache_count+=1;return b};
cljs.core.hash_string=function(a){255<cljs.core.string_hash_cache_count&&(cljs.core.string_hash_cache={},cljs.core.string_hash_cache_count=0);if(null==a)return 0;var b=cljs.core.string_hash_cache[a];return"number"===typeof b?b:cljs.core.add_to_string_hash_cache(a)};
cljs.core.hash=function(a){if(null!=a&&(a.cljs$lang$protocol_mask$partition0$&4194304||cljs.core.PROTOCOL_SENTINEL===a.cljs$core$IHash$))return cljs.core._hash(a)^0;if("number"===typeof a){if(cljs.core.truth_(isFinite(a)))return Math.floor(a)%2147483647;switch(a){case Infinity:return 2146435072;case -Infinity:return-1048576;default:return 2146959360}}else return!0===a?1231:!1===a?1237:"string"===typeof a?cljs.core.m3_hash_int(cljs.core.hash_string(a)):a instanceof Date?a.valueOf()^0:null==a?0:cljs.core._hash(a)^
0};cljs.core.hash_combine=function(a,b){return a^b+2654435769+(a<<6)+(a>>2)};cljs.core.instance_QMARK_=function(a,b){return b instanceof a};cljs.core.symbol_QMARK_=function(a){return a instanceof cljs.core.Symbol};cljs.core.hash_symbol=function(a){return cljs.core.hash_combine(cljs.core.m3_hash_unencoded_chars(a.name),cljs.core.hash_string(a.ns))};
cljs.core.compare_symbols=function(a,b){if(a.str===b.str)return 0;if(cljs.core.truth_(function(){var c=cljs.core.not(a.ns);return c?b.ns:c}()))return-1;if(cljs.core.truth_(a.ns)){if(cljs.core.not(b.ns))return 1;var c=goog.array.defaultCompare(a.ns,b.ns);return 0===c?goog.array.defaultCompare(a.name,b.name):c}return goog.array.defaultCompare(a.name,b.name)};
cljs.core.Symbol=function(a,b,c,d,e){this.ns=a;this.name=b;this.str=c;this._hash=d;this._meta=e;this.cljs$lang$protocol_mask$partition0$=2154168321;this.cljs$lang$protocol_mask$partition1$=4096};cljs.core.Symbol.prototype.toString=function(){return this.str};cljs.core.Symbol.prototype.equiv=function(a){return this.cljs$core$IEquiv$_equiv$arity$2(null,a)};cljs.core.Symbol.prototype.cljs$core$IEquiv$_equiv$arity$2=function(a,b){return b instanceof cljs.core.Symbol?this.str===b.str:!1};
cljs.core.Symbol.prototype.call=function(){var a=null,b=function(a,b){return cljs.core.get.cljs$core$IFn$_invoke$arity$2(b,this)},c=function(a,b,c){return cljs.core.get.cljs$core$IFn$_invoke$arity$3(b,this,c)};a=function(a,e,f){switch(arguments.length){case 2:return b.call(this,a,e);case 3:return c.call(this,a,e,f)}throw Error("Invalid arity: "+(arguments.length-1));};a.cljs$core$IFn$_invoke$arity$2=b;a.cljs$core$IFn$_invoke$arity$3=c;return a}();
cljs.core.Symbol.prototype.apply=function(a,b){return this.call.apply(this,[this].concat(cljs.core.aclone(b)))};cljs.core.Symbol.prototype.cljs$core$IFn$_invoke$arity$1=function(a){return cljs.core.get.cljs$core$IFn$_invoke$arity$2(a,this)};cljs.core.Symbol.prototype.cljs$core$IFn$_invoke$arity$2=function(a,b){return cljs.core.get.cljs$core$IFn$_invoke$arity$3(a,this,b)};cljs.core.Symbol.prototype.cljs$core$IMeta$_meta$arity$1=function(a){return this._meta};
cljs.core.Symbol.prototype.cljs$core$IWithMeta$_with_meta$arity$2=function(a,b){return new cljs.core.Symbol(this.ns,this.name,this.str,this._hash,b)};cljs.core.Symbol.prototype.cljs$core$IHash$_hash$arity$1=function(a){a=this._hash;return null!=a?a:this._hash=a=cljs.core.hash_symbol(this)};cljs.core.Symbol.prototype.cljs$core$INamed$_name$arity$1=function(a){return this.name};cljs.core.Symbol.prototype.cljs$core$INamed$_namespace$arity$1=function(a){return this.ns};
cljs.core.Symbol.prototype.cljs$core$IPrintWithWriter$_pr_writer$arity$3=function(a,b,c){return cljs.core._write(b,this.str)};
cljs.core.Symbol.getBasis=function(){return new cljs.core.PersistentVector(null,5,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"ns","ns",2082130287,null),new cljs.core.Symbol(null,"name","name",-810760592,null),new cljs.core.Symbol(null,"str","str",-1564826950,null),cljs.core.with_meta(new cljs.core.Symbol(null,"_hash","_hash",-2130838312,null),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"mutable","mutable",875778266),!0],null)),new cljs.core.Symbol(null,
"_meta","_meta",-1716892533,null)],null)};cljs.core.Symbol.cljs$lang$type=!0;cljs.core.Symbol.cljs$lang$ctorStr="cljs.core/Symbol";cljs.core.Symbol.cljs$lang$ctorPrWriter=function(a,b,c){return cljs.core._write(b,"cljs.core/Symbol")};cljs.core.__GT_Symbol=function(a,b,c,d,e){return new cljs.core.Symbol(a,b,c,d,e)};cljs.core.var_QMARK_=function(a){return a instanceof cljs.core.Var};
cljs.core.symbol=function(a){switch(arguments.length){case 1:return cljs.core.symbol.cljs$core$IFn$_invoke$arity$1(arguments[0]);case 2:return cljs.core.symbol.cljs$core$IFn$_invoke$arity$2(arguments[0],arguments[1]);default:throw Error(["Invalid arity: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(""));}};
cljs.core.symbol.cljs$core$IFn$_invoke$arity$1=function(a){for(;;){if(a instanceof cljs.core.Symbol)return a;if("string"===typeof a){var b=a.indexOf("/");return 1>b?cljs.core.symbol.cljs$core$IFn$_invoke$arity$2(null,a):cljs.core.symbol.cljs$core$IFn$_invoke$arity$2(a.substring(0,b),a.substring(b+1,a.length))}if(cljs.core.var_QMARK_(a))return a.sym;if(a instanceof cljs.core.Keyword)a=a.fqn;else throw Error("no conversion to symbol");}};
cljs.core.symbol.cljs$core$IFn$_invoke$arity$2=function(a,b){var c=null!=a?[cljs.core.str.cljs$core$IFn$_invoke$arity$1(a),"/",cljs.core.str.cljs$core$IFn$_invoke$arity$1(b)].join(""):b;return new cljs.core.Symbol(a,b,c,null,null)};cljs.core.symbol.cljs$lang$maxFixedArity=2;cljs.core.Var=function(a,b,c){this.val=a;this.sym=b;this._meta=c;this.cljs$lang$protocol_mask$partition0$=6717441;this.cljs$lang$protocol_mask$partition1$=0};
cljs.core.Var.prototype.isMacro=function(){return(this.val.cljs$core$IFn$_invoke$arity$0?this.val.cljs$core$IFn$_invoke$arity$0():this.val.call(null)).cljs$lang$macro};cljs.core.Var.prototype.toString=function(){return["#'",cljs.core.str.cljs$core$IFn$_invoke$arity$1(this.sym)].join("")};cljs.core.Var.prototype.cljs$core$IDeref$_deref$arity$1=function(a){return this.val.cljs$core$IFn$_invoke$arity$0?this.val.cljs$core$IFn$_invoke$arity$0():this.val.call(null)};
cljs.core.Var.prototype.cljs$core$IMeta$_meta$arity$1=function(a){return this._meta};cljs.core.Var.prototype.cljs$core$IWithMeta$_with_meta$arity$2=function(a,b){return new cljs.core.Var(this.val,this.sym,b)};cljs.core.Var.prototype.cljs$core$IEquiv$_equiv$arity$2=function(a,b){return b instanceof cljs.core.Var?cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(this.sym,b.sym):!1};cljs.core.Var.prototype.cljs$core$IHash$_hash$arity$1=function(a){return cljs.core.hash_symbol(this.sym)};
cljs.core.Var.prototype.cljs$core$Fn$=cljs.core.PROTOCOL_SENTINEL;
cljs.core.Var.prototype.call=function(){var a=null,b=function(a){a=this;a=a.val.cljs$core$IFn$_invoke$arity$0?a.val.cljs$core$IFn$_invoke$arity$0():a.val.call(null);return a.cljs$core$IFn$_invoke$arity$0?a.cljs$core$IFn$_invoke$arity$0():a.call(null)},c=function(a,b){a=this;a=a.val.cljs$core$IFn$_invoke$arity$0?a.val.cljs$core$IFn$_invoke$arity$0():a.val.call(null);return a.cljs$core$IFn$_invoke$arity$1?a.cljs$core$IFn$_invoke$arity$1(b):a.call(null,b)},d=function(a,b,c){a=this;a=a.val.cljs$core$IFn$_invoke$arity$0?
a.val.cljs$core$IFn$_invoke$arity$0():a.val.call(null);return a.cljs$core$IFn$_invoke$arity$2?a.cljs$core$IFn$_invoke$arity$2(b,c):a.call(null,b,c)},e=function(a,b,c,d){a=this;a=a.val.cljs$core$IFn$_invoke$arity$0?a.val.cljs$core$IFn$_invoke$arity$0():a.val.call(null);return a.cljs$core$IFn$_invoke$arity$3?a.cljs$core$IFn$_invoke$arity$3(b,c,d):a.call(null,b,c,d)},f=function(a,b,c,d,e){a=this;a=a.val.cljs$core$IFn$_invoke$arity$0?a.val.cljs$core$IFn$_invoke$arity$0():a.val.call(null);return a.cljs$core$IFn$_invoke$arity$4?
a.cljs$core$IFn$_invoke$arity$4(b,c,d,e):a.call(null,b,c,d,e)},g=function(a,b,c,d,e,f){a=this;a=a.val.cljs$core$IFn$_invoke$arity$0?a.val.cljs$core$IFn$_invoke$arity$0():a.val.call(null);return a.cljs$core$IFn$_invoke$arity$5?a.cljs$core$IFn$_invoke$arity$5(b,c,d,e,f):a.call(null,b,c,d,e,f)},h=function(a,b,c,d,e,f,g){a=this;a=a.val.cljs$core$IFn$_invoke$arity$0?a.val.cljs$core$IFn$_invoke$arity$0():a.val.call(null);return a.cljs$core$IFn$_invoke$arity$6?a.cljs$core$IFn$_invoke$arity$6(b,c,d,e,f,g):
a.call(null,b,c,d,e,f,g)},k=function(a,b,c,d,e,f,g,h){a=this;a=a.val.cljs$core$IFn$_invoke$arity$0?a.val.cljs$core$IFn$_invoke$arity$0():a.val.call(null);return a.cljs$core$IFn$_invoke$arity$7?a.cljs$core$IFn$_invoke$arity$7(b,c,d,e,f,g,h):a.call(null,b,c,d,e,f,g,h)},l=function(a,b,c,d,e,f,g,h,k){a=this;a=a.val.cljs$core$IFn$_invoke$arity$0?a.val.cljs$core$IFn$_invoke$arity$0():a.val.call(null);return a.cljs$core$IFn$_invoke$arity$8?a.cljs$core$IFn$_invoke$arity$8(b,c,d,e,f,g,h,k):a.call(null,b,c,
d,e,f,g,h,k)},m=function(a,b,c,d,e,f,g,h,k,l){a=this;a=a.val.cljs$core$IFn$_invoke$arity$0?a.val.cljs$core$IFn$_invoke$arity$0():a.val.call(null);return a.cljs$core$IFn$_invoke$arity$9?a.cljs$core$IFn$_invoke$arity$9(b,c,d,e,f,g,h,k,l):a.call(null,b,c,d,e,f,g,h,k,l)},n=function(a,b,c,d,e,f,g,h,k,l,m){a=this;a=a.val.cljs$core$IFn$_invoke$arity$0?a.val.cljs$core$IFn$_invoke$arity$0():a.val.call(null);return a.cljs$core$IFn$_invoke$arity$10?a.cljs$core$IFn$_invoke$arity$10(b,c,d,e,f,g,h,k,l,m):a.call(null,
b,c,d,e,f,g,h,k,l,m)},p=function(a,b,c,d,e,f,g,h,k,l,m,n){a=this;a=a.val.cljs$core$IFn$_invoke$arity$0?a.val.cljs$core$IFn$_invoke$arity$0():a.val.call(null);return a.cljs$core$IFn$_invoke$arity$11?a.cljs$core$IFn$_invoke$arity$11(b,c,d,e,f,g,h,k,l,m,n):a.call(null,b,c,d,e,f,g,h,k,l,m,n)},q=function(a,b,c,d,e,f,g,h,k,l,m,n,p){a=this;a=a.val.cljs$core$IFn$_invoke$arity$0?a.val.cljs$core$IFn$_invoke$arity$0():a.val.call(null);return a.cljs$core$IFn$_invoke$arity$12?a.cljs$core$IFn$_invoke$arity$12(b,
c,d,e,f,g,h,k,l,m,n,p):a.call(null,b,c,d,e,f,g,h,k,l,m,n,p)},r=function(a,b,c,d,e,f,g,h,k,l,m,n,p,q){a=this;a=a.val.cljs$core$IFn$_invoke$arity$0?a.val.cljs$core$IFn$_invoke$arity$0():a.val.call(null);return a.cljs$core$IFn$_invoke$arity$13?a.cljs$core$IFn$_invoke$arity$13(b,c,d,e,f,g,h,k,l,m,n,p,q):a.call(null,b,c,d,e,f,g,h,k,l,m,n,p,q)},u=function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r){a=this;a=a.val.cljs$core$IFn$_invoke$arity$0?a.val.cljs$core$IFn$_invoke$arity$0():a.val.call(null);return a.cljs$core$IFn$_invoke$arity$14?
a.cljs$core$IFn$_invoke$arity$14(b,c,d,e,f,g,h,k,l,m,n,p,q,r):a.call(null,b,c,d,e,f,g,h,k,l,m,n,p,q,r)},t=function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u){a=this;a=a.val.cljs$core$IFn$_invoke$arity$0?a.val.cljs$core$IFn$_invoke$arity$0():a.val.call(null);return a.cljs$core$IFn$_invoke$arity$15?a.cljs$core$IFn$_invoke$arity$15(b,c,d,e,f,g,h,k,l,m,n,p,q,r,u):a.call(null,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u)},v=function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t){a=this;a=a.val.cljs$core$IFn$_invoke$arity$0?a.val.cljs$core$IFn$_invoke$arity$0():
a.val.call(null);return a.cljs$core$IFn$_invoke$arity$16?a.cljs$core$IFn$_invoke$arity$16(b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t):a.call(null,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t)},w=function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v){a=this;a=a.val.cljs$core$IFn$_invoke$arity$0?a.val.cljs$core$IFn$_invoke$arity$0():a.val.call(null);return a.cljs$core$IFn$_invoke$arity$17?a.cljs$core$IFn$_invoke$arity$17(b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v):a.call(null,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v)},x=function(a,b,c,d,e,f,g,h,k,
l,m,n,p,q,r,u,t,v,w){a=this;a=a.val.cljs$core$IFn$_invoke$arity$0?a.val.cljs$core$IFn$_invoke$arity$0():a.val.call(null);return a.cljs$core$IFn$_invoke$arity$18?a.cljs$core$IFn$_invoke$arity$18(b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w):a.call(null,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w)},y=function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w,z){a=this;a=a.val.cljs$core$IFn$_invoke$arity$0?a.val.cljs$core$IFn$_invoke$arity$0():a.val.call(null);return a.cljs$core$IFn$_invoke$arity$19?a.cljs$core$IFn$_invoke$arity$19(b,
c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w,z):a.call(null,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w,z)},z=function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w,z,x){a=this;a=a.val.cljs$core$IFn$_invoke$arity$0?a.val.cljs$core$IFn$_invoke$arity$0():a.val.call(null);return a.cljs$core$IFn$_invoke$arity$20?a.cljs$core$IFn$_invoke$arity$20(b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w,z,x):a.call(null,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w,z,x)},B=function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w,z,x,y){a=this;return cljs.core.apply.cljs$core$IFn$_invoke$arity$variadic(a.val.cljs$core$IFn$_invoke$arity$0?
a.val.cljs$core$IFn$_invoke$arity$0():a.val.call(null),b,c,d,e,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([f,g,h,k,l,m,n,p,q,r,u,t,v,w,z,x,y],0))};a=function(a,A,D,F,E,G,J,M,L,K,I,H,O,P,N,Q,R,S,T,U,W,V){switch(arguments.length){case 1:return b.call(this,a);case 2:return c.call(this,a,A);case 3:return d.call(this,a,A,D);case 4:return e.call(this,a,A,D,F);case 5:return f.call(this,a,A,D,F,E);case 6:return g.call(this,a,A,D,F,E,G);case 7:return h.call(this,a,A,D,F,E,G,J);case 8:return k.call(this,
a,A,D,F,E,G,J,M);case 9:return l.call(this,a,A,D,F,E,G,J,M,L);case 10:return m.call(this,a,A,D,F,E,G,J,M,L,K);case 11:return n.call(this,a,A,D,F,E,G,J,M,L,K,I);case 12:return p.call(this,a,A,D,F,E,G,J,M,L,K,I,H);case 13:return q.call(this,a,A,D,F,E,G,J,M,L,K,I,H,O);case 14:return r.call(this,a,A,D,F,E,G,J,M,L,K,I,H,O,P);case 15:return u.call(this,a,A,D,F,E,G,J,M,L,K,I,H,O,P,N);case 16:return t.call(this,a,A,D,F,E,G,J,M,L,K,I,H,O,P,N,Q);case 17:return v.call(this,a,A,D,F,E,G,J,M,L,K,I,H,O,P,N,Q,R);
case 18:return w.call(this,a,A,D,F,E,G,J,M,L,K,I,H,O,P,N,Q,R,S);case 19:return x.call(this,a,A,D,F,E,G,J,M,L,K,I,H,O,P,N,Q,R,S,T);case 20:return y.call(this,a,A,D,F,E,G,J,M,L,K,I,H,O,P,N,Q,R,S,T,U);case 21:return z.call(this,a,A,D,F,E,G,J,M,L,K,I,H,O,P,N,Q,R,S,T,U,W);case 22:return B.call(this,a,A,D,F,E,G,J,M,L,K,I,H,O,P,N,Q,R,S,T,U,W,V)}throw Error("Invalid arity: "+(arguments.length-1));};a.cljs$core$IFn$_invoke$arity$1=b;a.cljs$core$IFn$_invoke$arity$2=c;a.cljs$core$IFn$_invoke$arity$3=d;a.cljs$core$IFn$_invoke$arity$4=
e;a.cljs$core$IFn$_invoke$arity$5=f;a.cljs$core$IFn$_invoke$arity$6=g;a.cljs$core$IFn$_invoke$arity$7=h;a.cljs$core$IFn$_invoke$arity$8=k;a.cljs$core$IFn$_invoke$arity$9=l;a.cljs$core$IFn$_invoke$arity$10=m;a.cljs$core$IFn$_invoke$arity$11=n;a.cljs$core$IFn$_invoke$arity$12=p;a.cljs$core$IFn$_invoke$arity$13=q;a.cljs$core$IFn$_invoke$arity$14=r;a.cljs$core$IFn$_invoke$arity$15=u;a.cljs$core$IFn$_invoke$arity$16=t;a.cljs$core$IFn$_invoke$arity$17=v;a.cljs$core$IFn$_invoke$arity$18=w;a.cljs$core$IFn$_invoke$arity$19=
x;a.cljs$core$IFn$_invoke$arity$20=y;a.cljs$core$IFn$_invoke$arity$21=z;a.cljs$core$IFn$_invoke$arity$22=B;return a}();cljs.core.Var.prototype.apply=function(a,b){return this.call.apply(this,[this].concat(cljs.core.aclone(b)))};cljs.core.Var.prototype.cljs$core$IFn$_invoke$arity$0=function(){var a=this.val.cljs$core$IFn$_invoke$arity$0?this.val.cljs$core$IFn$_invoke$arity$0():this.val.call(null);return a.cljs$core$IFn$_invoke$arity$0?a.cljs$core$IFn$_invoke$arity$0():a.call(null)};
cljs.core.Var.prototype.cljs$core$IFn$_invoke$arity$1=function(a){var b=this.val.cljs$core$IFn$_invoke$arity$0?this.val.cljs$core$IFn$_invoke$arity$0():this.val.call(null);return b.cljs$core$IFn$_invoke$arity$1?b.cljs$core$IFn$_invoke$arity$1(a):b.call(null,a)};
cljs.core.Var.prototype.cljs$core$IFn$_invoke$arity$2=function(a,b){var c=this.val.cljs$core$IFn$_invoke$arity$0?this.val.cljs$core$IFn$_invoke$arity$0():this.val.call(null);return c.cljs$core$IFn$_invoke$arity$2?c.cljs$core$IFn$_invoke$arity$2(a,b):c.call(null,a,b)};
cljs.core.Var.prototype.cljs$core$IFn$_invoke$arity$3=function(a,b,c){var d=this.val.cljs$core$IFn$_invoke$arity$0?this.val.cljs$core$IFn$_invoke$arity$0():this.val.call(null);return d.cljs$core$IFn$_invoke$arity$3?d.cljs$core$IFn$_invoke$arity$3(a,b,c):d.call(null,a,b,c)};
cljs.core.Var.prototype.cljs$core$IFn$_invoke$arity$4=function(a,b,c,d){var e=this.val.cljs$core$IFn$_invoke$arity$0?this.val.cljs$core$IFn$_invoke$arity$0():this.val.call(null);return e.cljs$core$IFn$_invoke$arity$4?e.cljs$core$IFn$_invoke$arity$4(a,b,c,d):e.call(null,a,b,c,d)};
cljs.core.Var.prototype.cljs$core$IFn$_invoke$arity$5=function(a,b,c,d,e){var f=this.val.cljs$core$IFn$_invoke$arity$0?this.val.cljs$core$IFn$_invoke$arity$0():this.val.call(null);return f.cljs$core$IFn$_invoke$arity$5?f.cljs$core$IFn$_invoke$arity$5(a,b,c,d,e):f.call(null,a,b,c,d,e)};
cljs.core.Var.prototype.cljs$core$IFn$_invoke$arity$6=function(a,b,c,d,e,f){var g=this.val.cljs$core$IFn$_invoke$arity$0?this.val.cljs$core$IFn$_invoke$arity$0():this.val.call(null);return g.cljs$core$IFn$_invoke$arity$6?g.cljs$core$IFn$_invoke$arity$6(a,b,c,d,e,f):g.call(null,a,b,c,d,e,f)};
cljs.core.Var.prototype.cljs$core$IFn$_invoke$arity$7=function(a,b,c,d,e,f,g){var h=this.val.cljs$core$IFn$_invoke$arity$0?this.val.cljs$core$IFn$_invoke$arity$0():this.val.call(null);return h.cljs$core$IFn$_invoke$arity$7?h.cljs$core$IFn$_invoke$arity$7(a,b,c,d,e,f,g):h.call(null,a,b,c,d,e,f,g)};
cljs.core.Var.prototype.cljs$core$IFn$_invoke$arity$8=function(a,b,c,d,e,f,g,h){var k=this.val.cljs$core$IFn$_invoke$arity$0?this.val.cljs$core$IFn$_invoke$arity$0():this.val.call(null);return k.cljs$core$IFn$_invoke$arity$8?k.cljs$core$IFn$_invoke$arity$8(a,b,c,d,e,f,g,h):k.call(null,a,b,c,d,e,f,g,h)};
cljs.core.Var.prototype.cljs$core$IFn$_invoke$arity$9=function(a,b,c,d,e,f,g,h,k){var l=this.val.cljs$core$IFn$_invoke$arity$0?this.val.cljs$core$IFn$_invoke$arity$0():this.val.call(null);return l.cljs$core$IFn$_invoke$arity$9?l.cljs$core$IFn$_invoke$arity$9(a,b,c,d,e,f,g,h,k):l.call(null,a,b,c,d,e,f,g,h,k)};
cljs.core.Var.prototype.cljs$core$IFn$_invoke$arity$10=function(a,b,c,d,e,f,g,h,k,l){var m=this.val.cljs$core$IFn$_invoke$arity$0?this.val.cljs$core$IFn$_invoke$arity$0():this.val.call(null);return m.cljs$core$IFn$_invoke$arity$10?m.cljs$core$IFn$_invoke$arity$10(a,b,c,d,e,f,g,h,k,l):m.call(null,a,b,c,d,e,f,g,h,k,l)};
cljs.core.Var.prototype.cljs$core$IFn$_invoke$arity$11=function(a,b,c,d,e,f,g,h,k,l,m){var n=this.val.cljs$core$IFn$_invoke$arity$0?this.val.cljs$core$IFn$_invoke$arity$0():this.val.call(null);return n.cljs$core$IFn$_invoke$arity$11?n.cljs$core$IFn$_invoke$arity$11(a,b,c,d,e,f,g,h,k,l,m):n.call(null,a,b,c,d,e,f,g,h,k,l,m)};
cljs.core.Var.prototype.cljs$core$IFn$_invoke$arity$12=function(a,b,c,d,e,f,g,h,k,l,m,n){var p=this.val.cljs$core$IFn$_invoke$arity$0?this.val.cljs$core$IFn$_invoke$arity$0():this.val.call(null);return p.cljs$core$IFn$_invoke$arity$12?p.cljs$core$IFn$_invoke$arity$12(a,b,c,d,e,f,g,h,k,l,m,n):p.call(null,a,b,c,d,e,f,g,h,k,l,m,n)};
cljs.core.Var.prototype.cljs$core$IFn$_invoke$arity$13=function(a,b,c,d,e,f,g,h,k,l,m,n,p){var q=this.val.cljs$core$IFn$_invoke$arity$0?this.val.cljs$core$IFn$_invoke$arity$0():this.val.call(null);return q.cljs$core$IFn$_invoke$arity$13?q.cljs$core$IFn$_invoke$arity$13(a,b,c,d,e,f,g,h,k,l,m,n,p):q.call(null,a,b,c,d,e,f,g,h,k,l,m,n,p)};
cljs.core.Var.prototype.cljs$core$IFn$_invoke$arity$14=function(a,b,c,d,e,f,g,h,k,l,m,n,p,q){var r=this.val.cljs$core$IFn$_invoke$arity$0?this.val.cljs$core$IFn$_invoke$arity$0():this.val.call(null);return r.cljs$core$IFn$_invoke$arity$14?r.cljs$core$IFn$_invoke$arity$14(a,b,c,d,e,f,g,h,k,l,m,n,p,q):r.call(null,a,b,c,d,e,f,g,h,k,l,m,n,p,q)};
cljs.core.Var.prototype.cljs$core$IFn$_invoke$arity$15=function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r){var u=this.val.cljs$core$IFn$_invoke$arity$0?this.val.cljs$core$IFn$_invoke$arity$0():this.val.call(null);return u.cljs$core$IFn$_invoke$arity$15?u.cljs$core$IFn$_invoke$arity$15(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r):u.call(null,a,b,c,d,e,f,g,h,k,l,m,n,p,q,r)};
cljs.core.Var.prototype.cljs$core$IFn$_invoke$arity$16=function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u){var t=this.val.cljs$core$IFn$_invoke$arity$0?this.val.cljs$core$IFn$_invoke$arity$0():this.val.call(null);return t.cljs$core$IFn$_invoke$arity$16?t.cljs$core$IFn$_invoke$arity$16(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u):t.call(null,a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u)};
cljs.core.Var.prototype.cljs$core$IFn$_invoke$arity$17=function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t){var v=this.val.cljs$core$IFn$_invoke$arity$0?this.val.cljs$core$IFn$_invoke$arity$0():this.val.call(null);return v.cljs$core$IFn$_invoke$arity$17?v.cljs$core$IFn$_invoke$arity$17(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t):v.call(null,a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t)};
cljs.core.Var.prototype.cljs$core$IFn$_invoke$arity$18=function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v){var w=this.val.cljs$core$IFn$_invoke$arity$0?this.val.cljs$core$IFn$_invoke$arity$0():this.val.call(null);return w.cljs$core$IFn$_invoke$arity$18?w.cljs$core$IFn$_invoke$arity$18(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v):w.call(null,a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v)};
cljs.core.Var.prototype.cljs$core$IFn$_invoke$arity$19=function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w){var x=this.val.cljs$core$IFn$_invoke$arity$0?this.val.cljs$core$IFn$_invoke$arity$0():this.val.call(null);return x.cljs$core$IFn$_invoke$arity$19?x.cljs$core$IFn$_invoke$arity$19(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w):x.call(null,a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w)};
cljs.core.Var.prototype.cljs$core$IFn$_invoke$arity$20=function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w,x){var y=this.val.cljs$core$IFn$_invoke$arity$0?this.val.cljs$core$IFn$_invoke$arity$0():this.val.call(null);return y.cljs$core$IFn$_invoke$arity$20?y.cljs$core$IFn$_invoke$arity$20(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w,x):y.call(null,a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w,x)};
cljs.core.Var.prototype.cljs$core$IFn$_invoke$arity$21=function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w,x,y){return cljs.core.apply.cljs$core$IFn$_invoke$arity$variadic(this.val.cljs$core$IFn$_invoke$arity$0?this.val.cljs$core$IFn$_invoke$arity$0():this.val.call(null),a,b,c,d,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([e,f,g,h,k,l,m,n,p,q,r,u,t,v,w,x,y],0))};
cljs.core.Var.getBasis=function(){return new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"val","val",1769233139,null),new cljs.core.Symbol(null,"sym","sym",195671222,null),new cljs.core.Symbol(null,"_meta","_meta",-1716892533,null)],null)};cljs.core.Var.cljs$lang$type=!0;cljs.core.Var.cljs$lang$ctorStr="cljs.core/Var";cljs.core.Var.cljs$lang$ctorPrWriter=function(a,b,c){return cljs.core._write(b,"cljs.core/Var")};
cljs.core.__GT_Var=function(a,b,c){return new cljs.core.Var(a,b,c)};cljs.core.iterable_QMARK_=function(a){return null!=a?a.cljs$lang$protocol_mask$partition1$&131072||cljs.core.PROTOCOL_SENTINEL===a.cljs$core$IIterable$?!0:a.cljs$lang$protocol_mask$partition1$?!1:cljs.core.native_satisfies_QMARK_(cljs.core.IIterable,a):cljs.core.native_satisfies_QMARK_(cljs.core.IIterable,a)};cljs.core.clone=function(a){return cljs.core._clone(a)};
cljs.core.cloneable_QMARK_=function(a){return null!=a?a.cljs$lang$protocol_mask$partition1$&8192||cljs.core.PROTOCOL_SENTINEL===a.cljs$core$ICloneable$?!0:a.cljs$lang$protocol_mask$partition1$?!1:cljs.core.native_satisfies_QMARK_(cljs.core.ICloneable,a):cljs.core.native_satisfies_QMARK_(cljs.core.ICloneable,a)};
cljs.core.seq=function(a){if(null==a)return null;if(null!=a&&(a.cljs$lang$protocol_mask$partition0$&8388608||cljs.core.PROTOCOL_SENTINEL===a.cljs$core$ISeqable$))return cljs.core._seq(a);if(cljs.core.array_QMARK_(a)||"string"===typeof a)return 0===a.length?null:new cljs.core.IndexedSeq(a,0,null);if(cljs.core.native_satisfies_QMARK_(cljs.core.ISeqable,a))return cljs.core._seq(a);throw Error([cljs.core.str.cljs$core$IFn$_invoke$arity$1(a)," is not ISeqable"].join(""));};
cljs.core.first=function(a){if(null==a)return null;if(null!=a&&(a.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===a.cljs$core$ISeq$))return cljs.core._first(a);a=cljs.core.seq(a);return null==a?null:cljs.core._first(a)};cljs.core.rest=function(a){return null!=a?null!=a&&(a.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===a.cljs$core$ISeq$)?cljs.core._rest(a):(a=cljs.core.seq(a))?a.cljs$core$ISeq$_rest$arity$1(null):cljs.core.List.EMPTY:cljs.core.List.EMPTY};
cljs.core.next=function(a){return null==a?null:null!=a&&(a.cljs$lang$protocol_mask$partition0$&128||cljs.core.PROTOCOL_SENTINEL===a.cljs$core$INext$)?cljs.core._next(a):cljs.core.seq(cljs.core.rest(a))};
cljs.core._EQ_=function(a){switch(arguments.length){case 1:return cljs.core._EQ_.cljs$core$IFn$_invoke$arity$1(arguments[0]);case 2:return cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(arguments[0],arguments[1]);default:for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;b=new cljs.core.IndexedSeq(b.slice(2),0,null);return cljs.core._EQ_.cljs$core$IFn$_invoke$arity$variadic(arguments[0],arguments[1],b)}};cljs.core._EQ_.cljs$core$IFn$_invoke$arity$1=function(a){return!0};
cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2=function(a,b){return null==a?null==b:a===b||cljs.core._equiv(a,b)};cljs.core._EQ_.cljs$core$IFn$_invoke$arity$variadic=function(a,b,c){for(;;)if(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(a,b))if(cljs.core.next(c))a=b,b=cljs.core.first(c),c=cljs.core.next(c);else return cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(b,cljs.core.first(c));else return!1};
cljs.core._EQ_.cljs$lang$applyTo=function(a){var b=cljs.core.first(a),c=cljs.core.next(a);a=cljs.core.first(c);c=cljs.core.next(c);return this.cljs$core$IFn$_invoke$arity$variadic(b,a,c)};cljs.core._EQ_.cljs$lang$maxFixedArity=2;cljs.core.ES6Iterator=function(a){this.s=a};cljs.core.ES6Iterator.prototype.next=function(){if(null!=this.s){var a=cljs.core.first(this.s);this.s=cljs.core.next(this.s);return{value:a,done:!1}}return{value:null,done:!0}};
cljs.core.ES6Iterator.getBasis=function(){return new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[cljs.core.with_meta(new cljs.core.Symbol(null,"s","s",-948495851,null),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"mutable","mutable",875778266),!0],null))],null)};cljs.core.ES6Iterator.cljs$lang$type=!0;cljs.core.ES6Iterator.cljs$lang$ctorStr="cljs.core/ES6Iterator";
cljs.core.ES6Iterator.cljs$lang$ctorPrWriter=function(a,b,c){return cljs.core._write(b,"cljs.core/ES6Iterator")};cljs.core.__GT_ES6Iterator=function(a){return new cljs.core.ES6Iterator(a)};cljs.core.es6_iterator=function(a){return new cljs.core.ES6Iterator(cljs.core.seq(a))};cljs.core.ES6IteratorSeq=function(a,b,c){this.value=a;this.iter=b;this._rest=c;this.cljs$lang$protocol_mask$partition0$=8388672;this.cljs$lang$protocol_mask$partition1$=0};
cljs.core.ES6IteratorSeq.prototype.cljs$core$ISeqable$_seq$arity$1=function(a){return this};cljs.core.ES6IteratorSeq.prototype.cljs$core$ISeq$_first$arity$1=function(a){return this.value};cljs.core.ES6IteratorSeq.prototype.cljs$core$ISeq$_rest$arity$1=function(a){null==this._rest&&(this._rest=cljs.core.es6_iterator_seq(this.iter));return this._rest};
cljs.core.ES6IteratorSeq.getBasis=function(){return new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"value","value",1946509744,null),new cljs.core.Symbol(null,"iter","iter",-1346195486,null),cljs.core.with_meta(new cljs.core.Symbol(null,"_rest","_rest",-2100466189,null),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"mutable","mutable",875778266),!0],null))],null)};cljs.core.ES6IteratorSeq.cljs$lang$type=!0;
cljs.core.ES6IteratorSeq.cljs$lang$ctorStr="cljs.core/ES6IteratorSeq";cljs.core.ES6IteratorSeq.cljs$lang$ctorPrWriter=function(a,b,c){return cljs.core._write(b,"cljs.core/ES6IteratorSeq")};cljs.core.__GT_ES6IteratorSeq=function(a,b,c){return new cljs.core.ES6IteratorSeq(a,b,c)};cljs.core.es6_iterator_seq=function(a){var b=a.next();return cljs.core.truth_(b.done)?cljs.core.List.EMPTY:new cljs.core.ES6IteratorSeq(b.value,a,null)};
cljs.core.mix_collection_hash=function(a,b){var c=cljs.core.m3_seed;a=cljs.core.m3_mix_K1(a);c=cljs.core.m3_mix_H1(c,a);return cljs.core.m3_fmix(c,b)};cljs.core.hash_ordered_coll=function(a){var b=0,c=1;for(a=cljs.core.seq(a);;)if(null!=a)b+=1,c=cljs.core.imul(31,c)+cljs.core.hash(cljs.core.first(a))|0,a=cljs.core.next(a);else return cljs.core.mix_collection_hash(c,b)};cljs.core.empty_ordered_hash=cljs.core.mix_collection_hash(1,0);
cljs.core.hash_unordered_coll=function(a){var b=0,c=0;for(a=cljs.core.seq(a);;)if(null!=a)b+=1,c=c+cljs.core.hash(cljs.core.first(a))|0,a=cljs.core.next(a);else return cljs.core.mix_collection_hash(c,b)};cljs.core.empty_unordered_hash=cljs.core.mix_collection_hash(0,0);goog.object.set(cljs.core.ICounted,"null",!0);var G__21566_21569=cljs.core._count,G__21567_21570="null",G__21568_21571=function(a,b){return function(a){return 0}}(G__21566_21569,G__21567_21570);
goog.object.set(G__21566_21569,G__21567_21570,G__21568_21571);Date.prototype.cljs$core$IEquiv$=cljs.core.PROTOCOL_SENTINEL;Date.prototype.cljs$core$IEquiv$_equiv$arity$2=function(a,b){return b instanceof Date&&this.valueOf()===b.valueOf()};Date.prototype.cljs$core$IComparable$=cljs.core.PROTOCOL_SENTINEL;
Date.prototype.cljs$core$IComparable$_compare$arity$2=function(a,b){if(b instanceof Date)return goog.array.defaultCompare(this.valueOf(),b.valueOf());throw Error(["Cannot compare ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(this)," to ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(b)].join(""));};cljs.core.Inst=function(){};
cljs.core.inst_ms_STAR_=function(a){if(null!=a&&null!=a.cljs$core$Inst$inst_ms_STAR_$arity$1)return a.cljs$core$Inst$inst_ms_STAR_$arity$1(a);var b=cljs.core.inst_ms_STAR_[goog.typeOf(null==a?null:a)];if(null!=b)return b.cljs$core$IFn$_invoke$arity$1?b.cljs$core$IFn$_invoke$arity$1(a):b.call(null,a);b=cljs.core.inst_ms_STAR_._;if(null!=b)return b.cljs$core$IFn$_invoke$arity$1?b.cljs$core$IFn$_invoke$arity$1(a):b.call(null,a);throw cljs.core.missing_protocol("Inst.inst-ms*",a);};
Date.prototype.cljs$core$Inst$=cljs.core.PROTOCOL_SENTINEL;Date.prototype.cljs$core$Inst$inst_ms_STAR_$arity$1=function(a){return this.getTime()};cljs.core.inst_ms=function(a){return cljs.core.inst_ms_STAR_(a)};cljs.core.inst_QMARK_=function(a){return null!=a?cljs.core.PROTOCOL_SENTINEL===a.cljs$core$Inst$?!0:a.cljs$lang$protocol_mask$partition$?!1:cljs.core.native_satisfies_QMARK_(cljs.core.Inst,a):cljs.core.native_satisfies_QMARK_(cljs.core.Inst,a)};goog.object.set(cljs.core.IEquiv,"number",!0);
var G__21575_21578=cljs.core._equiv,G__21576_21579="number",G__21577_21580=function(a,b){return function(a,b){return a===b}}(G__21575_21578,G__21576_21579);goog.object.set(G__21575_21578,G__21576_21579,G__21577_21580);goog.object.set(cljs.core.Fn,"function",!0);goog.object.set(cljs.core.IMeta,"function",!0);var G__21581_21584=cljs.core._meta,G__21582_21585="function",G__21583_21586=function(a,b){return function(a){return null}}(G__21581_21584,G__21582_21585);
goog.object.set(G__21581_21584,G__21582_21585,G__21583_21586);goog.object.set(cljs.core.IHash,"_",!0);var G__21587_21590=cljs.core._hash,G__21588_21591="_",G__21589_21592=function(a,b){return function(a){return goog.getUid(a)}}(G__21587_21590,G__21588_21591);goog.object.set(G__21587_21590,G__21588_21591,G__21589_21592);cljs.core.inc=function(a){return a+1};cljs.core.Reduced=function(a){this.val=a;this.cljs$lang$protocol_mask$partition0$=32768;this.cljs$lang$protocol_mask$partition1$=0};
cljs.core.Reduced.prototype.cljs$core$IDeref$_deref$arity$1=function(a){return this.val};cljs.core.Reduced.getBasis=function(){return new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"val","val",1769233139,null)],null)};cljs.core.Reduced.cljs$lang$type=!0;cljs.core.Reduced.cljs$lang$ctorStr="cljs.core/Reduced";cljs.core.Reduced.cljs$lang$ctorPrWriter=function(a,b,c){return cljs.core._write(b,"cljs.core/Reduced")};cljs.core.__GT_Reduced=function(a){return new cljs.core.Reduced(a)};
cljs.core.reduced=function(a){return new cljs.core.Reduced(a)};cljs.core.reduced_QMARK_=function(a){return a instanceof cljs.core.Reduced};cljs.core.ensure_reduced=function(a){return cljs.core.reduced_QMARK_(a)?a:cljs.core.reduced(a)};cljs.core.unreduced=function(a){return cljs.core.reduced_QMARK_(a)?cljs.core.deref(a):a};cljs.core.deref=function(a){return cljs.core._deref(a)};
cljs.core.ci_reduce=function(a){switch(arguments.length){case 2:return cljs.core.ci_reduce.cljs$core$IFn$_invoke$arity$2(arguments[0],arguments[1]);case 3:return cljs.core.ci_reduce.cljs$core$IFn$_invoke$arity$3(arguments[0],arguments[1],arguments[2]);case 4:return cljs.core.ci_reduce.cljs$core$IFn$_invoke$arity$4(arguments[0],arguments[1],arguments[2],arguments[3]);default:throw Error(["Invalid arity: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(""));}};
cljs.core.ci_reduce.cljs$core$IFn$_invoke$arity$2=function(a,b){var c=cljs.core._count(a);if(0===c)return b.cljs$core$IFn$_invoke$arity$0?b.cljs$core$IFn$_invoke$arity$0():b.call(null);for(var d=cljs.core._nth.cljs$core$IFn$_invoke$arity$2(a,0),e=1;;)if(e<c){var f=cljs.core._nth.cljs$core$IFn$_invoke$arity$2(a,e);d=b.cljs$core$IFn$_invoke$arity$2?b.cljs$core$IFn$_invoke$arity$2(d,f):b.call(null,d,f);if(cljs.core.reduced_QMARK_(d))return cljs.core.deref(d);e+=1}else return d};
cljs.core.ci_reduce.cljs$core$IFn$_invoke$arity$3=function(a,b,c){var d=cljs.core._count(a),e=c;for(c=0;;)if(c<d){var f=cljs.core._nth.cljs$core$IFn$_invoke$arity$2(a,c);e=b.cljs$core$IFn$_invoke$arity$2?b.cljs$core$IFn$_invoke$arity$2(e,f):b.call(null,e,f);if(cljs.core.reduced_QMARK_(e))return cljs.core.deref(e);c+=1}else return e};
cljs.core.ci_reduce.cljs$core$IFn$_invoke$arity$4=function(a,b,c,d){for(var e=cljs.core._count(a);;)if(d<e){var f=cljs.core._nth.cljs$core$IFn$_invoke$arity$2(a,d);c=b.cljs$core$IFn$_invoke$arity$2?b.cljs$core$IFn$_invoke$arity$2(c,f):b.call(null,c,f);if(cljs.core.reduced_QMARK_(c))return cljs.core.deref(c);d+=1}else return c};cljs.core.ci_reduce.cljs$lang$maxFixedArity=4;
cljs.core.array_reduce=function(a){switch(arguments.length){case 2:return cljs.core.array_reduce.cljs$core$IFn$_invoke$arity$2(arguments[0],arguments[1]);case 3:return cljs.core.array_reduce.cljs$core$IFn$_invoke$arity$3(arguments[0],arguments[1],arguments[2]);case 4:return cljs.core.array_reduce.cljs$core$IFn$_invoke$arity$4(arguments[0],arguments[1],arguments[2],arguments[3]);default:throw Error(["Invalid arity: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(""));}};
cljs.core.array_reduce.cljs$core$IFn$_invoke$arity$2=function(a,b){var c=a.length;if(0===a.length)return b.cljs$core$IFn$_invoke$arity$0?b.cljs$core$IFn$_invoke$arity$0():b.call(null);for(var d=a[0],e=1;;)if(e<c){var f=a[e];d=b.cljs$core$IFn$_invoke$arity$2?b.cljs$core$IFn$_invoke$arity$2(d,f):b.call(null,d,f);if(cljs.core.reduced_QMARK_(d))return cljs.core.deref(d);e+=1}else return d};
cljs.core.array_reduce.cljs$core$IFn$_invoke$arity$3=function(a,b,c){var d=a.length,e=c;for(c=0;;)if(c<d){var f=a[c];e=b.cljs$core$IFn$_invoke$arity$2?b.cljs$core$IFn$_invoke$arity$2(e,f):b.call(null,e,f);if(cljs.core.reduced_QMARK_(e))return cljs.core.deref(e);c+=1}else return e};
cljs.core.array_reduce.cljs$core$IFn$_invoke$arity$4=function(a,b,c,d){for(var e=a.length;;)if(d<e){var f=a[d];c=b.cljs$core$IFn$_invoke$arity$2?b.cljs$core$IFn$_invoke$arity$2(c,f):b.call(null,c,f);if(cljs.core.reduced_QMARK_(c))return cljs.core.deref(c);d+=1}else return c};cljs.core.array_reduce.cljs$lang$maxFixedArity=4;
cljs.core.counted_QMARK_=function(a){return null!=a?a.cljs$lang$protocol_mask$partition0$&2||cljs.core.PROTOCOL_SENTINEL===a.cljs$core$ICounted$?!0:a.cljs$lang$protocol_mask$partition0$?!1:cljs.core.native_satisfies_QMARK_(cljs.core.ICounted,a):cljs.core.native_satisfies_QMARK_(cljs.core.ICounted,a)};
cljs.core.indexed_QMARK_=function(a){return null!=a?a.cljs$lang$protocol_mask$partition0$&16||cljs.core.PROTOCOL_SENTINEL===a.cljs$core$IIndexed$?!0:a.cljs$lang$protocol_mask$partition0$?!1:cljs.core.native_satisfies_QMARK_(cljs.core.IIndexed,a):cljs.core.native_satisfies_QMARK_(cljs.core.IIndexed,a)};
cljs.core._indexOf=function(a){switch(arguments.length){case 2:return cljs.core._indexOf.cljs$core$IFn$_invoke$arity$2(arguments[0],arguments[1]);case 3:return cljs.core._indexOf.cljs$core$IFn$_invoke$arity$3(arguments[0],arguments[1],arguments[2]);default:throw Error(["Invalid arity: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(""));}};cljs.core._indexOf.cljs$core$IFn$_invoke$arity$2=function(a,b){return cljs.core._indexOf.cljs$core$IFn$_invoke$arity$3(a,b,0)};
cljs.core._indexOf.cljs$core$IFn$_invoke$arity$3=function(a,b,c){var d=cljs.core.count(a);if(c>=d)return-1;!(0<c)&&0>c&&(c+=d,c=0>c?0:c);for(;;)if(c<d){if(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(cljs.core.nth.cljs$core$IFn$_invoke$arity$2(a,c),b))return c;c+=1}else return-1};cljs.core._indexOf.cljs$lang$maxFixedArity=3;
cljs.core._lastIndexOf=function(a){switch(arguments.length){case 2:return cljs.core._lastIndexOf.cljs$core$IFn$_invoke$arity$2(arguments[0],arguments[1]);case 3:return cljs.core._lastIndexOf.cljs$core$IFn$_invoke$arity$3(arguments[0],arguments[1],arguments[2]);default:throw Error(["Invalid arity: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(""));}};
cljs.core._lastIndexOf.cljs$core$IFn$_invoke$arity$2=function(a,b){return cljs.core._lastIndexOf.cljs$core$IFn$_invoke$arity$3(a,b,cljs.core.count(a))};cljs.core._lastIndexOf.cljs$core$IFn$_invoke$arity$3=function(a,b,c){var d=cljs.core.count(a);if(0===d)return-1;0<c?(--d,c=d<c?d:c):c=0>c?d+c:c;for(;;)if(0<=c){if(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(cljs.core.nth.cljs$core$IFn$_invoke$arity$2(a,c),b))return c;--c}else return-1};cljs.core._lastIndexOf.cljs$lang$maxFixedArity=3;
cljs.core.IndexedSeqIterator=function(a,b){this.arr=a;this.i=b};cljs.core.IndexedSeqIterator.prototype.hasNext=function(){return this.i<this.arr.length};cljs.core.IndexedSeqIterator.prototype.next=function(){var a=this.arr[this.i];this.i+=1;return a};
cljs.core.IndexedSeqIterator.getBasis=function(){return new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"arr","arr",2115492975,null),cljs.core.with_meta(new cljs.core.Symbol(null,"i","i",253690212,null),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"mutable","mutable",875778266),!0],null))],null)};cljs.core.IndexedSeqIterator.cljs$lang$type=!0;cljs.core.IndexedSeqIterator.cljs$lang$ctorStr="cljs.core/IndexedSeqIterator";
cljs.core.IndexedSeqIterator.cljs$lang$ctorPrWriter=function(a,b,c){return cljs.core._write(b,"cljs.core/IndexedSeqIterator")};cljs.core.__GT_IndexedSeqIterator=function(a,b){return new cljs.core.IndexedSeqIterator(a,b)};cljs.core.IndexedSeq=function(a,b,c){this.arr=a;this.i=b;this.meta=c;this.cljs$lang$protocol_mask$partition0$=166592766;this.cljs$lang$protocol_mask$partition1$=139264};cljs.core.IndexedSeq.prototype.toString=function(){return cljs.core.pr_str_STAR_(this)};
cljs.core.IndexedSeq.prototype.equiv=function(a){return this.cljs$core$IEquiv$_equiv$arity$2(null,a)};
cljs.core.IndexedSeq.prototype.indexOf=function(){var a=null,b=function(a){return cljs.core._indexOf.cljs$core$IFn$_invoke$arity$3(this,a,0)},c=function(a,b){return cljs.core._indexOf.cljs$core$IFn$_invoke$arity$3(this,a,b)};a=function(a,e){switch(arguments.length){case 1:return b.call(this,a);case 2:return c.call(this,a,e)}throw Error("Invalid arity: "+arguments.length);};a.cljs$core$IFn$_invoke$arity$1=b;a.cljs$core$IFn$_invoke$arity$2=c;return a}();
cljs.core.IndexedSeq.prototype.lastIndexOf=function(){var a=null,b=function(a){return cljs.core._lastIndexOf.cljs$core$IFn$_invoke$arity$3(this,a,cljs.core.count(this))},c=function(a,b){return cljs.core._lastIndexOf.cljs$core$IFn$_invoke$arity$3(this,a,b)};a=function(a,e){switch(arguments.length){case 1:return b.call(this,a);case 2:return c.call(this,a,e)}throw Error("Invalid arity: "+arguments.length);};a.cljs$core$IFn$_invoke$arity$1=b;a.cljs$core$IFn$_invoke$arity$2=c;return a}();
cljs.core.IndexedSeq.prototype.cljs$core$IIndexed$_nth$arity$2=function(a,b){a=b+this.i;if(0<=a&&a<this.arr.length)return this.arr[a];throw Error("Index out of bounds");};cljs.core.IndexedSeq.prototype.cljs$core$IIndexed$_nth$arity$3=function(a,b,c){a=b+this.i;return 0<=a&&a<this.arr.length?this.arr[a]:c};cljs.core.IndexedSeq.prototype.cljs$core$IIterable$_iterator$arity$1=function(a){return new cljs.core.IndexedSeqIterator(this.arr,this.i)};
cljs.core.IndexedSeq.prototype.cljs$core$IMeta$_meta$arity$1=function(a){return this.meta};cljs.core.IndexedSeq.prototype.cljs$core$ICloneable$_clone$arity$1=function(a){return new cljs.core.IndexedSeq(this.arr,this.i,this.meta)};cljs.core.IndexedSeq.prototype.cljs$core$INext$_next$arity$1=function(a){return this.i+1<this.arr.length?new cljs.core.IndexedSeq(this.arr,this.i+1,null):null};
cljs.core.IndexedSeq.prototype.cljs$core$ICounted$_count$arity$1=function(a){a=this.arr.length-this.i;return 0>a?0:a};cljs.core.IndexedSeq.prototype.cljs$core$IReversible$_rseq$arity$1=function(a){a=this.cljs$core$ICounted$_count$arity$1(null);return 0<a?new cljs.core.RSeq(this,a-1,null):null};cljs.core.IndexedSeq.prototype.cljs$core$IHash$_hash$arity$1=function(a){return cljs.core.hash_ordered_coll(this)};
cljs.core.IndexedSeq.prototype.cljs$core$IEquiv$_equiv$arity$2=function(a,b){return cljs.core.equiv_sequential(this,b)};cljs.core.IndexedSeq.prototype.cljs$core$IEmptyableCollection$_empty$arity$1=function(a){return cljs.core.List.EMPTY};cljs.core.IndexedSeq.prototype.cljs$core$IReduce$_reduce$arity$2=function(a,b){return cljs.core.array_reduce.cljs$core$IFn$_invoke$arity$4(this.arr,b,this.arr[this.i],this.i+1)};
cljs.core.IndexedSeq.prototype.cljs$core$IReduce$_reduce$arity$3=function(a,b,c){return cljs.core.array_reduce.cljs$core$IFn$_invoke$arity$4(this.arr,b,c,this.i)};cljs.core.IndexedSeq.prototype.cljs$core$ISeq$_first$arity$1=function(a){return this.arr[this.i]};cljs.core.IndexedSeq.prototype.cljs$core$ISeq$_rest$arity$1=function(a){return this.i+1<this.arr.length?new cljs.core.IndexedSeq(this.arr,this.i+1,null):cljs.core.List.EMPTY};
cljs.core.IndexedSeq.prototype.cljs$core$ISeqable$_seq$arity$1=function(a){return this.i<this.arr.length?this:null};cljs.core.IndexedSeq.prototype.cljs$core$IWithMeta$_with_meta$arity$2=function(a,b){return b===this.meta?this:new cljs.core.IndexedSeq(this.arr,this.i,b)};cljs.core.IndexedSeq.prototype.cljs$core$ICollection$_conj$arity$2=function(a,b){return cljs.core.cons(b,this)};
cljs.core.IndexedSeq.getBasis=function(){return new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"arr","arr",2115492975,null),new cljs.core.Symbol(null,"i","i",253690212,null),new cljs.core.Symbol(null,"meta","meta",-1154898805,null)],null)};cljs.core.IndexedSeq.cljs$lang$type=!0;cljs.core.IndexedSeq.cljs$lang$ctorStr="cljs.core/IndexedSeq";cljs.core.IndexedSeq.cljs$lang$ctorPrWriter=function(a,b,c){return cljs.core._write(b,"cljs.core/IndexedSeq")};
cljs.core.__GT_IndexedSeq=function(a,b,c){return new cljs.core.IndexedSeq(a,b,c)};var G__21635_21638=cljs.core.IndexedSeq.prototype,G__21636_21639=cljs.core.ITER_SYMBOL,G__21637_21640=function(a,b){return function(){return cljs.core.es6_iterator(this)}}(G__21635_21638,G__21636_21639);goog.object.set(G__21635_21638,G__21636_21639,G__21637_21640);
cljs.core.prim_seq=function(a){switch(arguments.length){case 1:return cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$1(arguments[0]);case 2:return cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2(arguments[0],arguments[1]);default:throw Error(["Invalid arity: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(""));}};cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$1=function(a){return cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2(a,0)};
cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2=function(a,b){return b<a.length?new cljs.core.IndexedSeq(a,b,null):null};cljs.core.prim_seq.cljs$lang$maxFixedArity=2;
cljs.core.array_seq=function(a){switch(arguments.length){case 1:return cljs.core.array_seq.cljs$core$IFn$_invoke$arity$1(arguments[0]);case 2:return cljs.core.array_seq.cljs$core$IFn$_invoke$arity$2(arguments[0],arguments[1]);default:throw Error(["Invalid arity: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(""));}};cljs.core.array_seq.cljs$core$IFn$_invoke$arity$1=function(a){return cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2(a,0)};
cljs.core.array_seq.cljs$core$IFn$_invoke$arity$2=function(a,b){return cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2(a,b)};cljs.core.array_seq.cljs$lang$maxFixedArity=2;cljs.core.RSeq=function(a,b,c){this.ci=a;this.i=b;this.meta=c;this.cljs$lang$protocol_mask$partition0$=32374990;this.cljs$lang$protocol_mask$partition1$=8192};cljs.core.RSeq.prototype.toString=function(){return cljs.core.pr_str_STAR_(this)};
cljs.core.RSeq.prototype.equiv=function(a){return this.cljs$core$IEquiv$_equiv$arity$2(null,a)};
cljs.core.RSeq.prototype.indexOf=function(){var a=null,b=function(a){return cljs.core._indexOf.cljs$core$IFn$_invoke$arity$3(this,a,0)},c=function(a,b){return cljs.core._indexOf.cljs$core$IFn$_invoke$arity$3(this,a,b)};a=function(a,e){switch(arguments.length){case 1:return b.call(this,a);case 2:return c.call(this,a,e)}throw Error("Invalid arity: "+arguments.length);};a.cljs$core$IFn$_invoke$arity$1=b;a.cljs$core$IFn$_invoke$arity$2=c;return a}();
cljs.core.RSeq.prototype.lastIndexOf=function(){var a=null,b=function(a){return cljs.core._lastIndexOf.cljs$core$IFn$_invoke$arity$3(this,a,cljs.core.count(this))},c=function(a,b){return cljs.core._lastIndexOf.cljs$core$IFn$_invoke$arity$3(this,a,b)};a=function(a,e){switch(arguments.length){case 1:return b.call(this,a);case 2:return c.call(this,a,e)}throw Error("Invalid arity: "+arguments.length);};a.cljs$core$IFn$_invoke$arity$1=b;a.cljs$core$IFn$_invoke$arity$2=c;return a}();
cljs.core.RSeq.prototype.cljs$core$IMeta$_meta$arity$1=function(a){return this.meta};cljs.core.RSeq.prototype.cljs$core$ICloneable$_clone$arity$1=function(a){return new cljs.core.RSeq(this.ci,this.i,this.meta)};cljs.core.RSeq.prototype.cljs$core$INext$_next$arity$1=function(a){return 0<this.i?new cljs.core.RSeq(this.ci,this.i-1,null):null};cljs.core.RSeq.prototype.cljs$core$ICounted$_count$arity$1=function(a){return this.i+1};cljs.core.RSeq.prototype.cljs$core$IHash$_hash$arity$1=function(a){return cljs.core.hash_ordered_coll(this)};
cljs.core.RSeq.prototype.cljs$core$IEquiv$_equiv$arity$2=function(a,b){return cljs.core.equiv_sequential(this,b)};cljs.core.RSeq.prototype.cljs$core$IEmptyableCollection$_empty$arity$1=function(a){return cljs.core.List.EMPTY};cljs.core.RSeq.prototype.cljs$core$IReduce$_reduce$arity$2=function(a,b){return cljs.core.seq_reduce.cljs$core$IFn$_invoke$arity$2(b,this)};
cljs.core.RSeq.prototype.cljs$core$IReduce$_reduce$arity$3=function(a,b,c){return cljs.core.seq_reduce.cljs$core$IFn$_invoke$arity$3(b,c,this)};cljs.core.RSeq.prototype.cljs$core$ISeq$_first$arity$1=function(a){return cljs.core._nth.cljs$core$IFn$_invoke$arity$2(this.ci,this.i)};cljs.core.RSeq.prototype.cljs$core$ISeq$_rest$arity$1=function(a){return 0<this.i?new cljs.core.RSeq(this.ci,this.i-1,null):cljs.core.List.EMPTY};cljs.core.RSeq.prototype.cljs$core$ISeqable$_seq$arity$1=function(a){return this};
cljs.core.RSeq.prototype.cljs$core$IWithMeta$_with_meta$arity$2=function(a,b){return b===this.meta?this:new cljs.core.RSeq(this.ci,this.i,b)};cljs.core.RSeq.prototype.cljs$core$ICollection$_conj$arity$2=function(a,b){return cljs.core.cons(b,this)};
cljs.core.RSeq.getBasis=function(){return new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"ci","ci",2049808339,null),new cljs.core.Symbol(null,"i","i",253690212,null),new cljs.core.Symbol(null,"meta","meta",-1154898805,null)],null)};cljs.core.RSeq.cljs$lang$type=!0;cljs.core.RSeq.cljs$lang$ctorStr="cljs.core/RSeq";cljs.core.RSeq.cljs$lang$ctorPrWriter=function(a,b,c){return cljs.core._write(b,"cljs.core/RSeq")};
cljs.core.__GT_RSeq=function(a,b,c){return new cljs.core.RSeq(a,b,c)};var G__21649_21652=cljs.core.RSeq.prototype,G__21650_21653=cljs.core.ITER_SYMBOL,G__21651_21654=function(a,b){return function(){return cljs.core.es6_iterator(this)}}(G__21649_21652,G__21650_21653);goog.object.set(G__21649_21652,G__21650_21653,G__21651_21654);cljs.core.second=function(a){return cljs.core.first(cljs.core.next(a))};cljs.core.ffirst=function(a){return cljs.core.first(cljs.core.first(a))};cljs.core.nfirst=function(a){return cljs.core.next(cljs.core.first(a))};
cljs.core.fnext=function(a){return cljs.core.first(cljs.core.next(a))};cljs.core.nnext=function(a){return cljs.core.next(cljs.core.next(a))};cljs.core.last=function(a){for(;;){var b=cljs.core.next(a);if(null!=b)a=b;else return cljs.core.first(a)}};goog.object.set(cljs.core.IEquiv,"_",!0);var G__21656_21659=cljs.core._equiv,G__21657_21660="_",G__21658_21661=function(a,b){return function(a,b){return a===b}}(G__21656_21659,G__21657_21660);goog.object.set(G__21656_21659,G__21657_21660,G__21658_21661);
cljs.core.conj=function(a){switch(arguments.length){case 0:return cljs.core.conj.cljs$core$IFn$_invoke$arity$0();case 1:return cljs.core.conj.cljs$core$IFn$_invoke$arity$1(arguments[0]);case 2:return cljs.core.conj.cljs$core$IFn$_invoke$arity$2(arguments[0],arguments[1]);default:for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;b=new cljs.core.IndexedSeq(b.slice(2),0,null);return cljs.core.conj.cljs$core$IFn$_invoke$arity$variadic(arguments[0],arguments[1],b)}};
cljs.core.conj.cljs$core$IFn$_invoke$arity$0=function(){return cljs.core.PersistentVector.EMPTY};cljs.core.conj.cljs$core$IFn$_invoke$arity$1=function(a){return a};cljs.core.conj.cljs$core$IFn$_invoke$arity$2=function(a,b){return null!=a?cljs.core._conj(a,b):new cljs.core.List(null,b,null,1,null)};
cljs.core.conj.cljs$core$IFn$_invoke$arity$variadic=function(a,b,c){for(;;)if(cljs.core.truth_(c))a=cljs.core.conj.cljs$core$IFn$_invoke$arity$2(a,b),b=cljs.core.first(c),c=cljs.core.next(c);else return cljs.core.conj.cljs$core$IFn$_invoke$arity$2(a,b)};cljs.core.conj.cljs$lang$applyTo=function(a){var b=cljs.core.first(a),c=cljs.core.next(a);a=cljs.core.first(c);c=cljs.core.next(c);return this.cljs$core$IFn$_invoke$arity$variadic(b,a,c)};cljs.core.conj.cljs$lang$maxFixedArity=2;
cljs.core.empty=function(a){return null==a?null:null!=a&&(a.cljs$lang$protocol_mask$partition0$&4||cljs.core.PROTOCOL_SENTINEL===a.cljs$core$IEmptyableCollection$)?cljs.core._empty(a):(null!=a?a.cljs$lang$protocol_mask$partition0$&4||cljs.core.PROTOCOL_SENTINEL===a.cljs$core$IEmptyableCollection$||(a.cljs$lang$protocol_mask$partition0$?0:cljs.core.native_satisfies_QMARK_(cljs.core.IEmptyableCollection,a)):cljs.core.native_satisfies_QMARK_(cljs.core.IEmptyableCollection,a))?cljs.core._empty(a):null};
cljs.core.accumulating_seq_count=function(a){a=cljs.core.seq(a);for(var b=0;;){if(cljs.core.counted_QMARK_(a))return b+cljs.core._count(a);a=cljs.core.next(a);b+=1}};
cljs.core.count=function(a){return null!=a?null!=a&&(a.cljs$lang$protocol_mask$partition0$&2||cljs.core.PROTOCOL_SENTINEL===a.cljs$core$ICounted$)?cljs.core._count(a):cljs.core.array_QMARK_(a)?a.length:"string"===typeof a?a.length:null!=a&&(a.cljs$lang$protocol_mask$partition0$&8388608||cljs.core.PROTOCOL_SENTINEL===a.cljs$core$ISeqable$)?cljs.core.accumulating_seq_count(a):cljs.core._count(a):0};
cljs.core.linear_traversal_nth=function(a){switch(arguments.length){case 2:return cljs.core.linear_traversal_nth.cljs$core$IFn$_invoke$arity$2(arguments[0],arguments[1]);case 3:return cljs.core.linear_traversal_nth.cljs$core$IFn$_invoke$arity$3(arguments[0],arguments[1],arguments[2]);default:throw Error(["Invalid arity: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(""));}};
cljs.core.linear_traversal_nth.cljs$core$IFn$_invoke$arity$2=function(a,b){for(;;){if(null==a)throw Error("Index out of bounds");if(0===b){if(cljs.core.seq(a))return cljs.core.first(a);throw Error("Index out of bounds");}if(cljs.core.indexed_QMARK_(a))return cljs.core._nth.cljs$core$IFn$_invoke$arity$2(a,b);if(cljs.core.seq(a))a=cljs.core.next(a),--b;else throw Error("Index out of bounds");}};
cljs.core.linear_traversal_nth.cljs$core$IFn$_invoke$arity$3=function(a,b,c){for(;;){if(null==a)return c;if(0===b)return cljs.core.seq(a)?cljs.core.first(a):c;if(cljs.core.indexed_QMARK_(a))return cljs.core._nth.cljs$core$IFn$_invoke$arity$3(a,b,c);if(cljs.core.seq(a))a=cljs.core.next(a),--b;else return c}};cljs.core.linear_traversal_nth.cljs$lang$maxFixedArity=3;
cljs.core.nth=function(a){switch(arguments.length){case 2:return cljs.core.nth.cljs$core$IFn$_invoke$arity$2(arguments[0],arguments[1]);case 3:return cljs.core.nth.cljs$core$IFn$_invoke$arity$3(arguments[0],arguments[1],arguments[2]);default:throw Error(["Invalid arity: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(""));}};
cljs.core.nth.cljs$core$IFn$_invoke$arity$2=function(a,b){if("number"!==typeof b)throw Error("Index argument to nth must be a number");if(null==a)return a;if(null!=a&&(a.cljs$lang$protocol_mask$partition0$&16||cljs.core.PROTOCOL_SENTINEL===a.cljs$core$IIndexed$))return cljs.core._nth.cljs$core$IFn$_invoke$arity$2(a,b);if(cljs.core.array_QMARK_(a)){if(-1<b&&b<a.length)return a[b|0];throw Error("Index out of bounds");}if("string"===typeof a){if(-1<b&&b<a.length)return a.charAt(b|0);throw Error("Index out of bounds");
}if(null!=a&&(a.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===a.cljs$core$ISeq$)||null!=a&&(a.cljs$lang$protocol_mask$partition0$&16777216||cljs.core.PROTOCOL_SENTINEL===a.cljs$core$ISequential$)){if(0>b)throw Error("Index out of bounds");return cljs.core.linear_traversal_nth.cljs$core$IFn$_invoke$arity$2(a,b)}if(cljs.core.native_satisfies_QMARK_(cljs.core.IIndexed,a))return cljs.core._nth.cljs$core$IFn$_invoke$arity$2(a,b);throw Error(["nth not supported on this type ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.core.type__GT_str(cljs.core.type(a)))].join(""));
};
cljs.core.nth.cljs$core$IFn$_invoke$arity$3=function(a,b,c){if("number"!==typeof b)throw Error("Index argument to nth must be a number.");if(null==a)return c;if(null!=a&&(a.cljs$lang$protocol_mask$partition0$&16||cljs.core.PROTOCOL_SENTINEL===a.cljs$core$IIndexed$))return cljs.core._nth.cljs$core$IFn$_invoke$arity$3(a,b,c);if(cljs.core.array_QMARK_(a))return-1<b&&b<a.length?a[b|0]:c;if("string"===typeof a)return-1<b&&b<a.length?a.charAt(b|0):c;if(null!=a&&(a.cljs$lang$protocol_mask$partition0$&64||
cljs.core.PROTOCOL_SENTINEL===a.cljs$core$ISeq$)||null!=a&&(a.cljs$lang$protocol_mask$partition0$&16777216||cljs.core.PROTOCOL_SENTINEL===a.cljs$core$ISequential$))return 0>b?c:cljs.core.linear_traversal_nth.cljs$core$IFn$_invoke$arity$3(a,b,c);if(cljs.core.native_satisfies_QMARK_(cljs.core.IIndexed,a))return cljs.core._nth.cljs$core$IFn$_invoke$arity$3(a,b,c);throw Error(["nth not supported on this type ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.core.type__GT_str(cljs.core.type(a)))].join(""));
};cljs.core.nth.cljs$lang$maxFixedArity=3;cljs.core.nthrest=function(a,b){for(var c=a;;)if(a=0<b&&cljs.core.seq(c))--b,c=a=cljs.core.rest(a);else return c};
cljs.core.get=function(a){switch(arguments.length){case 2:return cljs.core.get.cljs$core$IFn$_invoke$arity$2(arguments[0],arguments[1]);case 3:return cljs.core.get.cljs$core$IFn$_invoke$arity$3(arguments[0],arguments[1],arguments[2]);default:throw Error(["Invalid arity: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(""));}};
cljs.core.get.cljs$core$IFn$_invoke$arity$2=function(a,b){return null==a?null:null!=a&&(a.cljs$lang$protocol_mask$partition0$&256||cljs.core.PROTOCOL_SENTINEL===a.cljs$core$ILookup$)?cljs.core._lookup.cljs$core$IFn$_invoke$arity$2(a,b):cljs.core.array_QMARK_(a)?null!=b&&b<a.length?a[b|0]:null:"string"===typeof a?null!=b&&b<a.length?a.charAt(b|0):null:cljs.core.native_satisfies_QMARK_(cljs.core.ILookup,a)?cljs.core._lookup.cljs$core$IFn$_invoke$arity$2(a,b):null};
cljs.core.get.cljs$core$IFn$_invoke$arity$3=function(a,b,c){return null!=a?null!=a&&(a.cljs$lang$protocol_mask$partition0$&256||cljs.core.PROTOCOL_SENTINEL===a.cljs$core$ILookup$)?cljs.core._lookup.cljs$core$IFn$_invoke$arity$3(a,b,c):cljs.core.array_QMARK_(a)?null!=b&&-1<b&&b<a.length?a[b|0]:c:"string"===typeof a?null!=b&&-1<b&&b<a.length?a.charAt(b|0):c:cljs.core.native_satisfies_QMARK_(cljs.core.ILookup,a)?cljs.core._lookup.cljs$core$IFn$_invoke$arity$3(a,b,c):c:c};
cljs.core.get.cljs$lang$maxFixedArity=3;cljs.core.assoc=function(a){switch(arguments.length){case 3:return cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(arguments[0],arguments[1],arguments[2]);default:for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;b=new cljs.core.IndexedSeq(b.slice(3),0,null);return cljs.core.assoc.cljs$core$IFn$_invoke$arity$variadic(arguments[0],arguments[1],arguments[2],b)}};
cljs.core.assoc.cljs$core$IFn$_invoke$arity$3=function(a,b,c){return null!=a?cljs.core._assoc(a,b,c):cljs.core.PersistentArrayMap.createAsIfByAssoc([b,c])};cljs.core.assoc.cljs$core$IFn$_invoke$arity$variadic=function(a,b,c,d){for(;;)if(a=cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(a,b,c),cljs.core.truth_(d))b=cljs.core.first(d),c=cljs.core.second(d),d=cljs.core.nnext(d);else return a};
cljs.core.assoc.cljs$lang$applyTo=function(a){var b=cljs.core.first(a),c=cljs.core.next(a);a=cljs.core.first(c);var d=cljs.core.next(c);c=cljs.core.first(d);d=cljs.core.next(d);return this.cljs$core$IFn$_invoke$arity$variadic(b,a,c,d)};cljs.core.assoc.cljs$lang$maxFixedArity=3;
cljs.core.dissoc=function(a){switch(arguments.length){case 1:return cljs.core.dissoc.cljs$core$IFn$_invoke$arity$1(arguments[0]);case 2:return cljs.core.dissoc.cljs$core$IFn$_invoke$arity$2(arguments[0],arguments[1]);default:for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;b=new cljs.core.IndexedSeq(b.slice(2),0,null);return cljs.core.dissoc.cljs$core$IFn$_invoke$arity$variadic(arguments[0],arguments[1],b)}};cljs.core.dissoc.cljs$core$IFn$_invoke$arity$1=function(a){return a};
cljs.core.dissoc.cljs$core$IFn$_invoke$arity$2=function(a,b){return null==a?null:cljs.core._dissoc(a,b)};cljs.core.dissoc.cljs$core$IFn$_invoke$arity$variadic=function(a,b,c){for(;;){if(null==a)return null;a=cljs.core.dissoc.cljs$core$IFn$_invoke$arity$2(a,b);if(cljs.core.truth_(c))b=cljs.core.first(c),c=cljs.core.next(c);else return a}};
cljs.core.dissoc.cljs$lang$applyTo=function(a){var b=cljs.core.first(a),c=cljs.core.next(a);a=cljs.core.first(c);c=cljs.core.next(c);return this.cljs$core$IFn$_invoke$arity$variadic(b,a,c)};cljs.core.dissoc.cljs$lang$maxFixedArity=2;cljs.core.fn_QMARK_=function(a){var b=goog.isFunction(a);return b?b:null!=a?cljs.core.PROTOCOL_SENTINEL===a.cljs$core$Fn$?!0:a.cljs$lang$protocol_mask$partition$?!1:cljs.core.native_satisfies_QMARK_(cljs.core.Fn,a):cljs.core.native_satisfies_QMARK_(cljs.core.Fn,a)};
cljs.core.MetaFn=function(a,b){this.afn=a;this.meta=b;this.cljs$lang$protocol_mask$partition0$=393217;this.cljs$lang$protocol_mask$partition1$=0};cljs.core.MetaFn.prototype.cljs$core$IMeta$_meta$arity$1=function(a){return this.meta};cljs.core.MetaFn.prototype.cljs$core$IWithMeta$_with_meta$arity$2=function(a,b){return new cljs.core.MetaFn(this.afn,b)};cljs.core.MetaFn.prototype.cljs$core$Fn$=cljs.core.PROTOCOL_SENTINEL;
cljs.core.MetaFn.prototype.call=function(){var a=null,b=function(a){a=this;return a.afn.cljs$core$IFn$_invoke$arity$0?a.afn.cljs$core$IFn$_invoke$arity$0():a.afn.call(null)},c=function(a,b){a=this;return a.afn.cljs$core$IFn$_invoke$arity$1?a.afn.cljs$core$IFn$_invoke$arity$1(b):a.afn.call(null,b)},d=function(a,b,c){a=this;return a.afn.cljs$core$IFn$_invoke$arity$2?a.afn.cljs$core$IFn$_invoke$arity$2(b,c):a.afn.call(null,b,c)},e=function(a,b,c,d){a=this;return a.afn.cljs$core$IFn$_invoke$arity$3?a.afn.cljs$core$IFn$_invoke$arity$3(b,
c,d):a.afn.call(null,b,c,d)},f=function(a,b,c,d,e){a=this;return a.afn.cljs$core$IFn$_invoke$arity$4?a.afn.cljs$core$IFn$_invoke$arity$4(b,c,d,e):a.afn.call(null,b,c,d,e)},g=function(a,b,c,d,e,f){a=this;return a.afn.cljs$core$IFn$_invoke$arity$5?a.afn.cljs$core$IFn$_invoke$arity$5(b,c,d,e,f):a.afn.call(null,b,c,d,e,f)},h=function(a,b,c,d,e,f,g){a=this;return a.afn.cljs$core$IFn$_invoke$arity$6?a.afn.cljs$core$IFn$_invoke$arity$6(b,c,d,e,f,g):a.afn.call(null,b,c,d,e,f,g)},k=function(a,b,c,d,e,f,g,
h){a=this;return a.afn.cljs$core$IFn$_invoke$arity$7?a.afn.cljs$core$IFn$_invoke$arity$7(b,c,d,e,f,g,h):a.afn.call(null,b,c,d,e,f,g,h)},l=function(a,b,c,d,e,f,g,h,k){a=this;return a.afn.cljs$core$IFn$_invoke$arity$8?a.afn.cljs$core$IFn$_invoke$arity$8(b,c,d,e,f,g,h,k):a.afn.call(null,b,c,d,e,f,g,h,k)},m=function(a,b,c,d,e,f,g,h,k,l){a=this;return a.afn.cljs$core$IFn$_invoke$arity$9?a.afn.cljs$core$IFn$_invoke$arity$9(b,c,d,e,f,g,h,k,l):a.afn.call(null,b,c,d,e,f,g,h,k,l)},n=function(a,b,c,d,e,f,g,
h,k,l,m){a=this;return a.afn.cljs$core$IFn$_invoke$arity$10?a.afn.cljs$core$IFn$_invoke$arity$10(b,c,d,e,f,g,h,k,l,m):a.afn.call(null,b,c,d,e,f,g,h,k,l,m)},p=function(a,b,c,d,e,f,g,h,k,l,m,n){a=this;return a.afn.cljs$core$IFn$_invoke$arity$11?a.afn.cljs$core$IFn$_invoke$arity$11(b,c,d,e,f,g,h,k,l,m,n):a.afn.call(null,b,c,d,e,f,g,h,k,l,m,n)},q=function(a,b,c,d,e,f,g,h,k,l,m,n,p){a=this;return a.afn.cljs$core$IFn$_invoke$arity$12?a.afn.cljs$core$IFn$_invoke$arity$12(b,c,d,e,f,g,h,k,l,m,n,p):a.afn.call(null,
b,c,d,e,f,g,h,k,l,m,n,p)},r=function(a,b,c,d,e,f,g,h,k,l,m,n,p,q){a=this;return a.afn.cljs$core$IFn$_invoke$arity$13?a.afn.cljs$core$IFn$_invoke$arity$13(b,c,d,e,f,g,h,k,l,m,n,p,q):a.afn.call(null,b,c,d,e,f,g,h,k,l,m,n,p,q)},u=function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r){a=this;return a.afn.cljs$core$IFn$_invoke$arity$14?a.afn.cljs$core$IFn$_invoke$arity$14(b,c,d,e,f,g,h,k,l,m,n,p,q,r):a.afn.call(null,b,c,d,e,f,g,h,k,l,m,n,p,q,r)},t=function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u){a=this;return a.afn.cljs$core$IFn$_invoke$arity$15?
a.afn.cljs$core$IFn$_invoke$arity$15(b,c,d,e,f,g,h,k,l,m,n,p,q,r,u):a.afn.call(null,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u)},v=function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t){a=this;return a.afn.cljs$core$IFn$_invoke$arity$16?a.afn.cljs$core$IFn$_invoke$arity$16(b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t):a.afn.call(null,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t)},w=function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v){a=this;return a.afn.cljs$core$IFn$_invoke$arity$17?a.afn.cljs$core$IFn$_invoke$arity$17(b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,
v):a.afn.call(null,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v)},x=function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w){a=this;return a.afn.cljs$core$IFn$_invoke$arity$18?a.afn.cljs$core$IFn$_invoke$arity$18(b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w):a.afn.call(null,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w)},y=function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w,z){a=this;return a.afn.cljs$core$IFn$_invoke$arity$19?a.afn.cljs$core$IFn$_invoke$arity$19(b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w,z):a.afn.call(null,b,c,d,e,f,g,h,k,l,m,n,
p,q,r,u,t,v,w,z)},z=function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w,z,x){a=this;return a.afn.cljs$core$IFn$_invoke$arity$20?a.afn.cljs$core$IFn$_invoke$arity$20(b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w,z,x):a.afn.call(null,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w,z,x)},B=function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w,z,x,y){return cljs.core.apply.cljs$core$IFn$_invoke$arity$variadic(this.afn,b,c,d,e,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([f,g,h,k,l,m,n,p,q,r,u,t,v,w,z,x,y],0))};a=function(a,A,D,F,
E,G,J,M,L,K,I,H,O,P,N,Q,R,S,T,U,W,V){switch(arguments.length){case 1:return b.call(this,a);case 2:return c.call(this,a,A);case 3:return d.call(this,a,A,D);case 4:return e.call(this,a,A,D,F);case 5:return f.call(this,a,A,D,F,E);case 6:return g.call(this,a,A,D,F,E,G);case 7:return h.call(this,a,A,D,F,E,G,J);case 8:return k.call(this,a,A,D,F,E,G,J,M);case 9:return l.call(this,a,A,D,F,E,G,J,M,L);case 10:return m.call(this,a,A,D,F,E,G,J,M,L,K);case 11:return n.call(this,a,A,D,F,E,G,J,M,L,K,I);case 12:return p.call(this,
a,A,D,F,E,G,J,M,L,K,I,H);case 13:return q.call(this,a,A,D,F,E,G,J,M,L,K,I,H,O);case 14:return r.call(this,a,A,D,F,E,G,J,M,L,K,I,H,O,P);case 15:return u.call(this,a,A,D,F,E,G,J,M,L,K,I,H,O,P,N);case 16:return t.call(this,a,A,D,F,E,G,J,M,L,K,I,H,O,P,N,Q);case 17:return v.call(this,a,A,D,F,E,G,J,M,L,K,I,H,O,P,N,Q,R);case 18:return w.call(this,a,A,D,F,E,G,J,M,L,K,I,H,O,P,N,Q,R,S);case 19:return x.call(this,a,A,D,F,E,G,J,M,L,K,I,H,O,P,N,Q,R,S,T);case 20:return y.call(this,a,A,D,F,E,G,J,M,L,K,I,H,O,P,N,
Q,R,S,T,U);case 21:return z.call(this,a,A,D,F,E,G,J,M,L,K,I,H,O,P,N,Q,R,S,T,U,W);case 22:return B.call(this,a,A,D,F,E,G,J,M,L,K,I,H,O,P,N,Q,R,S,T,U,W,V)}throw Error("Invalid arity: "+(arguments.length-1));};a.cljs$core$IFn$_invoke$arity$1=b;a.cljs$core$IFn$_invoke$arity$2=c;a.cljs$core$IFn$_invoke$arity$3=d;a.cljs$core$IFn$_invoke$arity$4=e;a.cljs$core$IFn$_invoke$arity$5=f;a.cljs$core$IFn$_invoke$arity$6=g;a.cljs$core$IFn$_invoke$arity$7=h;a.cljs$core$IFn$_invoke$arity$8=k;a.cljs$core$IFn$_invoke$arity$9=
l;a.cljs$core$IFn$_invoke$arity$10=m;a.cljs$core$IFn$_invoke$arity$11=n;a.cljs$core$IFn$_invoke$arity$12=p;a.cljs$core$IFn$_invoke$arity$13=q;a.cljs$core$IFn$_invoke$arity$14=r;a.cljs$core$IFn$_invoke$arity$15=u;a.cljs$core$IFn$_invoke$arity$16=t;a.cljs$core$IFn$_invoke$arity$17=v;a.cljs$core$IFn$_invoke$arity$18=w;a.cljs$core$IFn$_invoke$arity$19=x;a.cljs$core$IFn$_invoke$arity$20=y;a.cljs$core$IFn$_invoke$arity$21=z;a.cljs$core$IFn$_invoke$arity$22=B;return a}();
cljs.core.MetaFn.prototype.apply=function(a,b){return this.call.apply(this,[this].concat(cljs.core.aclone(b)))};cljs.core.MetaFn.prototype.cljs$core$IFn$_invoke$arity$0=function(){return this.afn.cljs$core$IFn$_invoke$arity$0?this.afn.cljs$core$IFn$_invoke$arity$0():this.afn.call(null)};cljs.core.MetaFn.prototype.cljs$core$IFn$_invoke$arity$1=function(a){return this.afn.cljs$core$IFn$_invoke$arity$1?this.afn.cljs$core$IFn$_invoke$arity$1(a):this.afn.call(null,a)};
cljs.core.MetaFn.prototype.cljs$core$IFn$_invoke$arity$2=function(a,b){return this.afn.cljs$core$IFn$_invoke$arity$2?this.afn.cljs$core$IFn$_invoke$arity$2(a,b):this.afn.call(null,a,b)};cljs.core.MetaFn.prototype.cljs$core$IFn$_invoke$arity$3=function(a,b,c){return this.afn.cljs$core$IFn$_invoke$arity$3?this.afn.cljs$core$IFn$_invoke$arity$3(a,b,c):this.afn.call(null,a,b,c)};
cljs.core.MetaFn.prototype.cljs$core$IFn$_invoke$arity$4=function(a,b,c,d){return this.afn.cljs$core$IFn$_invoke$arity$4?this.afn.cljs$core$IFn$_invoke$arity$4(a,b,c,d):this.afn.call(null,a,b,c,d)};cljs.core.MetaFn.prototype.cljs$core$IFn$_invoke$arity$5=function(a,b,c,d,e){return this.afn.cljs$core$IFn$_invoke$arity$5?this.afn.cljs$core$IFn$_invoke$arity$5(a,b,c,d,e):this.afn.call(null,a,b,c,d,e)};
cljs.core.MetaFn.prototype.cljs$core$IFn$_invoke$arity$6=function(a,b,c,d,e,f){return this.afn.cljs$core$IFn$_invoke$arity$6?this.afn.cljs$core$IFn$_invoke$arity$6(a,b,c,d,e,f):this.afn.call(null,a,b,c,d,e,f)};cljs.core.MetaFn.prototype.cljs$core$IFn$_invoke$arity$7=function(a,b,c,d,e,f,g){return this.afn.cljs$core$IFn$_invoke$arity$7?this.afn.cljs$core$IFn$_invoke$arity$7(a,b,c,d,e,f,g):this.afn.call(null,a,b,c,d,e,f,g)};
cljs.core.MetaFn.prototype.cljs$core$IFn$_invoke$arity$8=function(a,b,c,d,e,f,g,h){return this.afn.cljs$core$IFn$_invoke$arity$8?this.afn.cljs$core$IFn$_invoke$arity$8(a,b,c,d,e,f,g,h):this.afn.call(null,a,b,c,d,e,f,g,h)};cljs.core.MetaFn.prototype.cljs$core$IFn$_invoke$arity$9=function(a,b,c,d,e,f,g,h,k){return this.afn.cljs$core$IFn$_invoke$arity$9?this.afn.cljs$core$IFn$_invoke$arity$9(a,b,c,d,e,f,g,h,k):this.afn.call(null,a,b,c,d,e,f,g,h,k)};
cljs.core.MetaFn.prototype.cljs$core$IFn$_invoke$arity$10=function(a,b,c,d,e,f,g,h,k,l){return this.afn.cljs$core$IFn$_invoke$arity$10?this.afn.cljs$core$IFn$_invoke$arity$10(a,b,c,d,e,f,g,h,k,l):this.afn.call(null,a,b,c,d,e,f,g,h,k,l)};cljs.core.MetaFn.prototype.cljs$core$IFn$_invoke$arity$11=function(a,b,c,d,e,f,g,h,k,l,m){return this.afn.cljs$core$IFn$_invoke$arity$11?this.afn.cljs$core$IFn$_invoke$arity$11(a,b,c,d,e,f,g,h,k,l,m):this.afn.call(null,a,b,c,d,e,f,g,h,k,l,m)};
cljs.core.MetaFn.prototype.cljs$core$IFn$_invoke$arity$12=function(a,b,c,d,e,f,g,h,k,l,m,n){return this.afn.cljs$core$IFn$_invoke$arity$12?this.afn.cljs$core$IFn$_invoke$arity$12(a,b,c,d,e,f,g,h,k,l,m,n):this.afn.call(null,a,b,c,d,e,f,g,h,k,l,m,n)};cljs.core.MetaFn.prototype.cljs$core$IFn$_invoke$arity$13=function(a,b,c,d,e,f,g,h,k,l,m,n,p){return this.afn.cljs$core$IFn$_invoke$arity$13?this.afn.cljs$core$IFn$_invoke$arity$13(a,b,c,d,e,f,g,h,k,l,m,n,p):this.afn.call(null,a,b,c,d,e,f,g,h,k,l,m,n,p)};
cljs.core.MetaFn.prototype.cljs$core$IFn$_invoke$arity$14=function(a,b,c,d,e,f,g,h,k,l,m,n,p,q){return this.afn.cljs$core$IFn$_invoke$arity$14?this.afn.cljs$core$IFn$_invoke$arity$14(a,b,c,d,e,f,g,h,k,l,m,n,p,q):this.afn.call(null,a,b,c,d,e,f,g,h,k,l,m,n,p,q)};
cljs.core.MetaFn.prototype.cljs$core$IFn$_invoke$arity$15=function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r){return this.afn.cljs$core$IFn$_invoke$arity$15?this.afn.cljs$core$IFn$_invoke$arity$15(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r):this.afn.call(null,a,b,c,d,e,f,g,h,k,l,m,n,p,q,r)};
cljs.core.MetaFn.prototype.cljs$core$IFn$_invoke$arity$16=function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u){return this.afn.cljs$core$IFn$_invoke$arity$16?this.afn.cljs$core$IFn$_invoke$arity$16(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u):this.afn.call(null,a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u)};
cljs.core.MetaFn.prototype.cljs$core$IFn$_invoke$arity$17=function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t){return this.afn.cljs$core$IFn$_invoke$arity$17?this.afn.cljs$core$IFn$_invoke$arity$17(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t):this.afn.call(null,a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t)};
cljs.core.MetaFn.prototype.cljs$core$IFn$_invoke$arity$18=function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v){return this.afn.cljs$core$IFn$_invoke$arity$18?this.afn.cljs$core$IFn$_invoke$arity$18(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v):this.afn.call(null,a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v)};
cljs.core.MetaFn.prototype.cljs$core$IFn$_invoke$arity$19=function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w){return this.afn.cljs$core$IFn$_invoke$arity$19?this.afn.cljs$core$IFn$_invoke$arity$19(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w):this.afn.call(null,a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w)};
cljs.core.MetaFn.prototype.cljs$core$IFn$_invoke$arity$20=function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w,x){return this.afn.cljs$core$IFn$_invoke$arity$20?this.afn.cljs$core$IFn$_invoke$arity$20(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w,x):this.afn.call(null,a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w,x)};
cljs.core.MetaFn.prototype.cljs$core$IFn$_invoke$arity$21=function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w,x,y){return cljs.core.apply.cljs$core$IFn$_invoke$arity$variadic(this.afn,a,b,c,d,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([e,f,g,h,k,l,m,n,p,q,r,u,t,v,w,x,y],0))};
cljs.core.MetaFn.getBasis=function(){return new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"afn","afn",216963467,null),new cljs.core.Symbol(null,"meta","meta",-1154898805,null)],null)};cljs.core.MetaFn.cljs$lang$type=!0;cljs.core.MetaFn.cljs$lang$ctorStr="cljs.core/MetaFn";cljs.core.MetaFn.cljs$lang$ctorPrWriter=function(a,b,c){return cljs.core._write(b,"cljs.core/MetaFn")};
cljs.core.__GT_MetaFn=function(a,b){return new cljs.core.MetaFn(a,b)};cljs.core.with_meta=function(a,b){return goog.isFunction(a)?new cljs.core.MetaFn(a,b):null==a?null:cljs.core._with_meta(a,b)};
cljs.core.meta=function(a){var b=null!=a;return(b?null!=a?a.cljs$lang$protocol_mask$partition0$&131072||cljs.core.PROTOCOL_SENTINEL===a.cljs$core$IMeta$||(a.cljs$lang$protocol_mask$partition0$?0:cljs.core.native_satisfies_QMARK_(cljs.core.IMeta,a)):cljs.core.native_satisfies_QMARK_(cljs.core.IMeta,a):b)?cljs.core._meta(a):null};cljs.core.peek=function(a){return null==a?null:cljs.core._peek(a)};cljs.core.pop=function(a){return null==a?null:cljs.core._pop(a)};
cljs.core.disj=function(a){switch(arguments.length){case 1:return cljs.core.disj.cljs$core$IFn$_invoke$arity$1(arguments[0]);case 2:return cljs.core.disj.cljs$core$IFn$_invoke$arity$2(arguments[0],arguments[1]);default:for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;b=new cljs.core.IndexedSeq(b.slice(2),0,null);return cljs.core.disj.cljs$core$IFn$_invoke$arity$variadic(arguments[0],arguments[1],b)}};cljs.core.disj.cljs$core$IFn$_invoke$arity$1=function(a){return a};
cljs.core.disj.cljs$core$IFn$_invoke$arity$2=function(a,b){return null==a?null:cljs.core._disjoin(a,b)};cljs.core.disj.cljs$core$IFn$_invoke$arity$variadic=function(a,b,c){for(;;){if(null==a)return null;a=cljs.core.disj.cljs$core$IFn$_invoke$arity$2(a,b);if(cljs.core.truth_(c))b=cljs.core.first(c),c=cljs.core.next(c);else return a}};
cljs.core.disj.cljs$lang$applyTo=function(a){var b=cljs.core.first(a),c=cljs.core.next(a);a=cljs.core.first(c);c=cljs.core.next(c);return this.cljs$core$IFn$_invoke$arity$variadic(b,a,c)};cljs.core.disj.cljs$lang$maxFixedArity=2;cljs.core.empty_QMARK_=function(a){return null==a||cljs.core.not(cljs.core.seq(a))};
cljs.core.coll_QMARK_=function(a){return null==a?!1:null!=a?a.cljs$lang$protocol_mask$partition0$&8||cljs.core.PROTOCOL_SENTINEL===a.cljs$core$ICollection$?!0:a.cljs$lang$protocol_mask$partition0$?!1:cljs.core.native_satisfies_QMARK_(cljs.core.ICollection,a):cljs.core.native_satisfies_QMARK_(cljs.core.ICollection,a)};
cljs.core.set_QMARK_=function(a){return null==a?!1:null!=a?a.cljs$lang$protocol_mask$partition0$&4096||cljs.core.PROTOCOL_SENTINEL===a.cljs$core$ISet$?!0:a.cljs$lang$protocol_mask$partition0$?!1:cljs.core.native_satisfies_QMARK_(cljs.core.ISet,a):cljs.core.native_satisfies_QMARK_(cljs.core.ISet,a)};
cljs.core.associative_QMARK_=function(a){return null!=a?a.cljs$lang$protocol_mask$partition0$&512||cljs.core.PROTOCOL_SENTINEL===a.cljs$core$IAssociative$?!0:a.cljs$lang$protocol_mask$partition0$?!1:cljs.core.native_satisfies_QMARK_(cljs.core.IAssociative,a):cljs.core.native_satisfies_QMARK_(cljs.core.IAssociative,a)};
cljs.core.ifind_QMARK_=function(a){return null!=a?cljs.core.PROTOCOL_SENTINEL===a.cljs$core$IFind$?!0:a.cljs$lang$protocol_mask$partition$?!1:cljs.core.native_satisfies_QMARK_(cljs.core.IFind,a):cljs.core.native_satisfies_QMARK_(cljs.core.IFind,a)};
cljs.core.sequential_QMARK_=function(a){return null!=a?a.cljs$lang$protocol_mask$partition0$&16777216||cljs.core.PROTOCOL_SENTINEL===a.cljs$core$ISequential$?!0:a.cljs$lang$protocol_mask$partition0$?!1:cljs.core.native_satisfies_QMARK_(cljs.core.ISequential,a):cljs.core.native_satisfies_QMARK_(cljs.core.ISequential,a)};
cljs.core.sorted_QMARK_=function(a){return null!=a?a.cljs$lang$protocol_mask$partition0$&268435456||cljs.core.PROTOCOL_SENTINEL===a.cljs$core$ISorted$?!0:a.cljs$lang$protocol_mask$partition0$?!1:cljs.core.native_satisfies_QMARK_(cljs.core.ISorted,a):cljs.core.native_satisfies_QMARK_(cljs.core.ISorted,a)};
cljs.core.reduceable_QMARK_=function(a){return null!=a?a.cljs$lang$protocol_mask$partition0$&524288||cljs.core.PROTOCOL_SENTINEL===a.cljs$core$IReduce$?!0:a.cljs$lang$protocol_mask$partition0$?!1:cljs.core.native_satisfies_QMARK_(cljs.core.IReduce,a):cljs.core.native_satisfies_QMARK_(cljs.core.IReduce,a)};
cljs.core.map_QMARK_=function(a){return null==a?!1:null!=a?a.cljs$lang$protocol_mask$partition0$&1024||cljs.core.PROTOCOL_SENTINEL===a.cljs$core$IMap$?!0:a.cljs$lang$protocol_mask$partition0$?!1:cljs.core.native_satisfies_QMARK_(cljs.core.IMap,a):cljs.core.native_satisfies_QMARK_(cljs.core.IMap,a)};
cljs.core.record_QMARK_=function(a){return null!=a?a.cljs$lang$protocol_mask$partition0$&67108864||cljs.core.PROTOCOL_SENTINEL===a.cljs$core$IRecord$?!0:a.cljs$lang$protocol_mask$partition0$?!1:cljs.core.native_satisfies_QMARK_(cljs.core.IRecord,a):cljs.core.native_satisfies_QMARK_(cljs.core.IRecord,a)};
cljs.core.vector_QMARK_=function(a){return null!=a?a.cljs$lang$protocol_mask$partition0$&16384||cljs.core.PROTOCOL_SENTINEL===a.cljs$core$IVector$?!0:a.cljs$lang$protocol_mask$partition0$?!1:cljs.core.native_satisfies_QMARK_(cljs.core.IVector,a):cljs.core.native_satisfies_QMARK_(cljs.core.IVector,a)};cljs.core.chunked_seq_QMARK_=function(a){return null!=a?a.cljs$lang$protocol_mask$partition1$&512||cljs.core.PROTOCOL_SENTINEL===a.cljs$core$IChunkedSeq$?!0:!1:!1};
cljs.core.js_obj=function(a){switch(arguments.length){case 0:return cljs.core.js_obj.cljs$core$IFn$_invoke$arity$0();default:for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;b=new cljs.core.IndexedSeq(b.slice(0),0,null);return cljs.core.js_obj.cljs$core$IFn$_invoke$arity$variadic(b)}};cljs.core.js_obj.cljs$core$IFn$_invoke$arity$0=function(){return{}};
cljs.core.js_obj.cljs$core$IFn$_invoke$arity$variadic=function(a){return cljs.core.apply.cljs$core$IFn$_invoke$arity$2(goog.object.create,a)};cljs.core.js_obj.cljs$lang$applyTo=function(a){return this.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq(a))};cljs.core.js_obj.cljs$lang$maxFixedArity=0;cljs.core.js_keys=function(a){return goog.object.getKeys(a)};cljs.core.js_delete=function(a,b){return delete a[b]};
cljs.core.array_copy=function(a,b,c,d,e){for(;;){if(0===e)return c;c[d]=a[b];d+=1;--e;b+=1}};cljs.core.array_copy_downward=function(a,b,c,d,e){b+=e-1;for(d+=e-1;;){if(0===e)return c;c[d]=a[b];--d;--e;--b}};cljs.core.lookup_sentinel={};cljs.core.false_QMARK_=function(a){return!1===a};cljs.core.true_QMARK_=function(a){return!0===a};cljs.core.boolean_QMARK_=function(a){return!0===a||!1===a};cljs.core.undefined_QMARK_=function(a){return void 0===a};
cljs.core.seq_QMARK_=function(a){return null==a?!1:null!=a?a.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===a.cljs$core$ISeq$?!0:a.cljs$lang$protocol_mask$partition0$?!1:cljs.core.native_satisfies_QMARK_(cljs.core.ISeq,a):cljs.core.native_satisfies_QMARK_(cljs.core.ISeq,a)};
cljs.core.seqable_QMARK_=function(a){var b=null==a;return b?b:(b=null!=a?a.cljs$lang$protocol_mask$partition0$&8388608||cljs.core.PROTOCOL_SENTINEL===a.cljs$core$ISeqable$?!0:a.cljs$lang$protocol_mask$partition0$?!1:cljs.core.native_satisfies_QMARK_(cljs.core.ISeqable,a):cljs.core.native_satisfies_QMARK_(cljs.core.ISeqable,a))?b:cljs.core.array_QMARK_(a)||"string"===typeof a};cljs.core.boolean$=function(a){return null==a?!1:!1===a?!1:!0};
cljs.core.ifn_QMARK_=function(a){var b=cljs.core.fn_QMARK_(a);return b?b:null!=a?a.cljs$lang$protocol_mask$partition0$&1||cljs.core.PROTOCOL_SENTINEL===a.cljs$core$IFn$?!0:a.cljs$lang$protocol_mask$partition0$?!1:cljs.core.native_satisfies_QMARK_(cljs.core.IFn,a):cljs.core.native_satisfies_QMARK_(cljs.core.IFn,a)};cljs.core.integer_QMARK_=function(a){return"number"===typeof a&&!isNaN(a)&&Infinity!==a&&parseFloat(a)===parseInt(a,10)};
cljs.core.int_QMARK_=function(a){return cljs.core.integer_QMARK_(a)||a instanceof goog.math.Integer||a instanceof goog.math.Long};cljs.core.pos_int_QMARK_=function(a){return cljs.core.integer_QMARK_(a)?0<a:a instanceof goog.math.Integer?cljs.core.not(a.isNegative())&&cljs.core.not(a.isZero()):a instanceof goog.math.Long?cljs.core.not(a.isNegative())&&cljs.core.not(a.isZero()):!1};
cljs.core.neg_int_QMARK_=function(a){return cljs.core.integer_QMARK_(a)?0>a:a instanceof goog.math.Integer?a.isNegative():a instanceof goog.math.Long?a.isNegative():!1};cljs.core.nat_int_QMARK_=function(a){return cljs.core.integer_QMARK_(a)?!(0>a):a instanceof goog.math.Integer?cljs.core.not(a.isNegative()):a instanceof goog.math.Long?cljs.core.not(a.isNegative()):!1};cljs.core.float_QMARK_=function(a){return"number"===typeof a};cljs.core.double_QMARK_=function(a){return"number"===typeof a};
cljs.core.infinite_QMARK_=function(a){return a===Number.POSITIVE_INFINITY||a===Number.NEGATIVE_INFINITY};cljs.core.contains_QMARK_=function(a,b){return cljs.core.get.cljs$core$IFn$_invoke$arity$3(a,b,cljs.core.lookup_sentinel)===cljs.core.lookup_sentinel?!1:!0};cljs.core.find=function(a,b){return cljs.core.ifind_QMARK_(a)?cljs.core._find(a,b):null!=a&&cljs.core.associative_QMARK_(a)&&cljs.core.contains_QMARK_(a,b)?new cljs.core.MapEntry(b,cljs.core.get.cljs$core$IFn$_invoke$arity$2(a,b),null):null};
cljs.core.distinct_QMARK_=function(a){switch(arguments.length){case 1:return cljs.core.distinct_QMARK_.cljs$core$IFn$_invoke$arity$1(arguments[0]);case 2:return cljs.core.distinct_QMARK_.cljs$core$IFn$_invoke$arity$2(arguments[0],arguments[1]);default:for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;b=new cljs.core.IndexedSeq(b.slice(2),0,null);return cljs.core.distinct_QMARK_.cljs$core$IFn$_invoke$arity$variadic(arguments[0],arguments[1],b)}};
cljs.core.distinct_QMARK_.cljs$core$IFn$_invoke$arity$1=function(a){return!0};cljs.core.distinct_QMARK_.cljs$core$IFn$_invoke$arity$2=function(a,b){return!cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(a,b)};
cljs.core.distinct_QMARK_.cljs$core$IFn$_invoke$arity$variadic=function(a,b,c){if(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(a,b))return!1;a=cljs.core.PersistentHashSet.createAsIfByAssoc([a,b]);for(b=c;;){var d=cljs.core.first(b);c=cljs.core.next(b);if(cljs.core.truth_(b)){if(cljs.core.contains_QMARK_(a,d))return!1;a=cljs.core.conj.cljs$core$IFn$_invoke$arity$2(a,d);b=c}else return!0}};
cljs.core.distinct_QMARK_.cljs$lang$applyTo=function(a){var b=cljs.core.first(a),c=cljs.core.next(a);a=cljs.core.first(c);c=cljs.core.next(c);return this.cljs$core$IFn$_invoke$arity$variadic(b,a,c)};cljs.core.distinct_QMARK_.cljs$lang$maxFixedArity=2;
cljs.core.compare=function(a,b){if(a===b)return 0;if(null==a)return-1;if(null==b)return 1;if("number"===typeof a){if("number"===typeof b)return goog.array.defaultCompare(a,b);throw Error(["Cannot compare ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(a)," to ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(b)].join(""));}if(null!=a?a.cljs$lang$protocol_mask$partition1$&2048||cljs.core.PROTOCOL_SENTINEL===a.cljs$core$IComparable$||(a.cljs$lang$protocol_mask$partition1$?0:cljs.core.native_satisfies_QMARK_(cljs.core.IComparable,
a)):cljs.core.native_satisfies_QMARK_(cljs.core.IComparable,a))return cljs.core._compare(a,b);if("string"!==typeof a&&!cljs.core.array_QMARK_(a)&&!0!==a&&!1!==a||cljs.core.type(a)!==cljs.core.type(b))throw Error(["Cannot compare ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(a)," to ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(b)].join(""));return goog.array.defaultCompare(a,b)};
cljs.core.compare_indexed=function(a){switch(arguments.length){case 2:return cljs.core.compare_indexed.cljs$core$IFn$_invoke$arity$2(arguments[0],arguments[1]);case 4:return cljs.core.compare_indexed.cljs$core$IFn$_invoke$arity$4(arguments[0],arguments[1],arguments[2],arguments[3]);default:throw Error(["Invalid arity: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(""));}};
cljs.core.compare_indexed.cljs$core$IFn$_invoke$arity$2=function(a,b){var c=cljs.core.count(a),d=cljs.core.count(b);return c<d?-1:c>d?1:0===c?0:cljs.core.compare_indexed.cljs$core$IFn$_invoke$arity$4(a,b,c,0)};cljs.core.compare_indexed.cljs$core$IFn$_invoke$arity$4=function(a,b,c,d){for(;;){var e=cljs.core.compare(cljs.core.nth.cljs$core$IFn$_invoke$arity$2(a,d),cljs.core.nth.cljs$core$IFn$_invoke$arity$2(b,d));if(0===e&&d+1<c)d+=1;else return e}};
cljs.core.compare_indexed.cljs$lang$maxFixedArity=4;cljs.core.fn__GT_comparator=function(a){return cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(a,cljs.core.compare)?cljs.core.compare:function(b,c){var d=a.cljs$core$IFn$_invoke$arity$2?a.cljs$core$IFn$_invoke$arity$2(b,c):a.call(null,b,c);return"number"===typeof d?d:cljs.core.truth_(d)?-1:cljs.core.truth_(a.cljs$core$IFn$_invoke$arity$2?a.cljs$core$IFn$_invoke$arity$2(c,b):a.call(null,c,b))?1:0}};
cljs.core.sort=function(a){switch(arguments.length){case 1:return cljs.core.sort.cljs$core$IFn$_invoke$arity$1(arguments[0]);case 2:return cljs.core.sort.cljs$core$IFn$_invoke$arity$2(arguments[0],arguments[1]);default:throw Error(["Invalid arity: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(""));}};cljs.core.sort.cljs$core$IFn$_invoke$arity$1=function(a){return cljs.core.sort.cljs$core$IFn$_invoke$arity$2(cljs.core.compare,a)};
cljs.core.sort.cljs$core$IFn$_invoke$arity$2=function(a,b){return cljs.core.seq(b)?(b=cljs.core.to_array(b),a=cljs.core.fn__GT_comparator(a),goog.array.stableSort(b,a),cljs.core.seq(b)):cljs.core.List.EMPTY};cljs.core.sort.cljs$lang$maxFixedArity=2;
cljs.core.sort_by=function(a){switch(arguments.length){case 2:return cljs.core.sort_by.cljs$core$IFn$_invoke$arity$2(arguments[0],arguments[1]);case 3:return cljs.core.sort_by.cljs$core$IFn$_invoke$arity$3(arguments[0],arguments[1],arguments[2]);default:throw Error(["Invalid arity: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(""));}};cljs.core.sort_by.cljs$core$IFn$_invoke$arity$2=function(a,b){return cljs.core.sort_by.cljs$core$IFn$_invoke$arity$3(a,cljs.core.compare,b)};
cljs.core.sort_by.cljs$core$IFn$_invoke$arity$3=function(a,b,c){return cljs.core.sort.cljs$core$IFn$_invoke$arity$2(function(c,e){c=a.cljs$core$IFn$_invoke$arity$1?a.cljs$core$IFn$_invoke$arity$1(c):a.call(null,c);e=a.cljs$core$IFn$_invoke$arity$1?a.cljs$core$IFn$_invoke$arity$1(e):a.call(null,e);var d=cljs.core.fn__GT_comparator(b);return d.cljs$core$IFn$_invoke$arity$2?d.cljs$core$IFn$_invoke$arity$2(c,e):d.call(null,c,e)},c)};cljs.core.sort_by.cljs$lang$maxFixedArity=3;
cljs.core.seq_reduce=function(a){switch(arguments.length){case 2:return cljs.core.seq_reduce.cljs$core$IFn$_invoke$arity$2(arguments[0],arguments[1]);case 3:return cljs.core.seq_reduce.cljs$core$IFn$_invoke$arity$3(arguments[0],arguments[1],arguments[2]);default:throw Error(["Invalid arity: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(""));}};
cljs.core.seq_reduce.cljs$core$IFn$_invoke$arity$2=function(a,b){return(b=cljs.core.seq(b))?cljs.core.reduce.cljs$core$IFn$_invoke$arity$3(a,cljs.core.first(b),cljs.core.next(b)):a.cljs$core$IFn$_invoke$arity$0?a.cljs$core$IFn$_invoke$arity$0():a.call(null)};
cljs.core.seq_reduce.cljs$core$IFn$_invoke$arity$3=function(a,b,c){for(c=cljs.core.seq(c);;)if(c){var d=cljs.core.first(c);b=a.cljs$core$IFn$_invoke$arity$2?a.cljs$core$IFn$_invoke$arity$2(b,d):a.call(null,b,d);if(cljs.core.reduced_QMARK_(b))return cljs.core.deref(b);c=cljs.core.next(c)}else return b};cljs.core.seq_reduce.cljs$lang$maxFixedArity=3;cljs.core.shuffle=function(a){a=cljs.core.to_array(a);goog.array.shuffle(a);return cljs.core.vec(a)};
cljs.core.iter_reduce=function(a){switch(arguments.length){case 2:return cljs.core.iter_reduce.cljs$core$IFn$_invoke$arity$2(arguments[0],arguments[1]);case 3:return cljs.core.iter_reduce.cljs$core$IFn$_invoke$arity$3(arguments[0],arguments[1],arguments[2]);default:throw Error(["Invalid arity: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(""));}};
cljs.core.iter_reduce.cljs$core$IFn$_invoke$arity$2=function(a,b){a=cljs.core._iterator(a);if(cljs.core.truth_(a.hasNext()))for(var c=a.next();;)if(a.hasNext()){var d=a.next();c=b.cljs$core$IFn$_invoke$arity$2?b.cljs$core$IFn$_invoke$arity$2(c,d):b.call(null,c,d);if(cljs.core.reduced_QMARK_(c))return cljs.core.deref(c)}else return c;else return b.cljs$core$IFn$_invoke$arity$0?b.cljs$core$IFn$_invoke$arity$0():b.call(null)};
cljs.core.iter_reduce.cljs$core$IFn$_invoke$arity$3=function(a,b,c){for(a=cljs.core._iterator(a);;)if(a.hasNext()){var d=a.next();c=b.cljs$core$IFn$_invoke$arity$2?b.cljs$core$IFn$_invoke$arity$2(c,d):b.call(null,c,d);if(cljs.core.reduced_QMARK_(c))return cljs.core.deref(c)}else return c};cljs.core.iter_reduce.cljs$lang$maxFixedArity=3;
cljs.core.reduce=function(a){switch(arguments.length){case 2:return cljs.core.reduce.cljs$core$IFn$_invoke$arity$2(arguments[0],arguments[1]);case 3:return cljs.core.reduce.cljs$core$IFn$_invoke$arity$3(arguments[0],arguments[1],arguments[2]);default:throw Error(["Invalid arity: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(""));}};
cljs.core.reduce.cljs$core$IFn$_invoke$arity$2=function(a,b){return null!=b&&(b.cljs$lang$protocol_mask$partition0$&524288||cljs.core.PROTOCOL_SENTINEL===b.cljs$core$IReduce$)?cljs.core._reduce.cljs$core$IFn$_invoke$arity$2(b,a):cljs.core.array_QMARK_(b)?cljs.core.array_reduce.cljs$core$IFn$_invoke$arity$2(b,a):"string"===typeof b?cljs.core.array_reduce.cljs$core$IFn$_invoke$arity$2(b,a):cljs.core.native_satisfies_QMARK_(cljs.core.IReduce,b)?cljs.core._reduce.cljs$core$IFn$_invoke$arity$2(b,a):cljs.core.iterable_QMARK_(b)?
cljs.core.iter_reduce.cljs$core$IFn$_invoke$arity$2(b,a):cljs.core.seq_reduce.cljs$core$IFn$_invoke$arity$2(a,b)};
cljs.core.reduce.cljs$core$IFn$_invoke$arity$3=function(a,b,c){return null!=c&&(c.cljs$lang$protocol_mask$partition0$&524288||cljs.core.PROTOCOL_SENTINEL===c.cljs$core$IReduce$)?cljs.core._reduce.cljs$core$IFn$_invoke$arity$3(c,a,b):cljs.core.array_QMARK_(c)?cljs.core.array_reduce.cljs$core$IFn$_invoke$arity$3(c,a,b):"string"===typeof c?cljs.core.array_reduce.cljs$core$IFn$_invoke$arity$3(c,a,b):cljs.core.native_satisfies_QMARK_(cljs.core.IReduce,c)?cljs.core._reduce.cljs$core$IFn$_invoke$arity$3(c,
a,b):cljs.core.iterable_QMARK_(c)?cljs.core.iter_reduce.cljs$core$IFn$_invoke$arity$3(c,a,b):cljs.core.seq_reduce.cljs$core$IFn$_invoke$arity$3(a,b,c)};cljs.core.reduce.cljs$lang$maxFixedArity=3;cljs.core.reduce_kv=function(a,b,c){return null!=c?cljs.core._kv_reduce(c,a,b):b};cljs.core.identity=function(a){return a};
cljs.core.completing=function(a){switch(arguments.length){case 1:return cljs.core.completing.cljs$core$IFn$_invoke$arity$1(arguments[0]);case 2:return cljs.core.completing.cljs$core$IFn$_invoke$arity$2(arguments[0],arguments[1]);default:throw Error(["Invalid arity: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(""));}};cljs.core.completing.cljs$core$IFn$_invoke$arity$1=function(a){return cljs.core.completing.cljs$core$IFn$_invoke$arity$2(a,cljs.core.identity)};
cljs.core.completing.cljs$core$IFn$_invoke$arity$2=function(a,b){return function(){var c=null,d=function(){return a.cljs$core$IFn$_invoke$arity$0?a.cljs$core$IFn$_invoke$arity$0():a.call(null)},e=function(a){return b.cljs$core$IFn$_invoke$arity$1?b.cljs$core$IFn$_invoke$arity$1(a):b.call(null,a)},f=function(b,c){return a.cljs$core$IFn$_invoke$arity$2?a.cljs$core$IFn$_invoke$arity$2(b,c):a.call(null,b,c)};c=function(a,b){switch(arguments.length){case 0:return d.call(this);case 1:return e.call(this,
a);case 2:return f.call(this,a,b)}throw Error("Invalid arity: "+arguments.length);};c.cljs$core$IFn$_invoke$arity$0=d;c.cljs$core$IFn$_invoke$arity$1=e;c.cljs$core$IFn$_invoke$arity$2=f;return c}()};cljs.core.completing.cljs$lang$maxFixedArity=2;
cljs.core.transduce=function(a){switch(arguments.length){case 3:return cljs.core.transduce.cljs$core$IFn$_invoke$arity$3(arguments[0],arguments[1],arguments[2]);case 4:return cljs.core.transduce.cljs$core$IFn$_invoke$arity$4(arguments[0],arguments[1],arguments[2],arguments[3]);default:throw Error(["Invalid arity: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(""));}};
cljs.core.transduce.cljs$core$IFn$_invoke$arity$3=function(a,b,c){return cljs.core.transduce.cljs$core$IFn$_invoke$arity$4(a,b,b.cljs$core$IFn$_invoke$arity$0?b.cljs$core$IFn$_invoke$arity$0():b.call(null),c)};
cljs.core.transduce.cljs$core$IFn$_invoke$arity$4=function(a,b,c,d){a=a.cljs$core$IFn$_invoke$arity$1?a.cljs$core$IFn$_invoke$arity$1(b):a.call(null,b);c=cljs.core.reduce.cljs$core$IFn$_invoke$arity$3(a,c,d);return a.cljs$core$IFn$_invoke$arity$1?a.cljs$core$IFn$_invoke$arity$1(c):a.call(null,c)};cljs.core.transduce.cljs$lang$maxFixedArity=4;
cljs.core._PLUS_=function(a){switch(arguments.length){case 0:return cljs.core._PLUS_.cljs$core$IFn$_invoke$arity$0();case 1:return cljs.core._PLUS_.cljs$core$IFn$_invoke$arity$1(arguments[0]);case 2:return cljs.core._PLUS_.cljs$core$IFn$_invoke$arity$2(arguments[0],arguments[1]);default:for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;b=new cljs.core.IndexedSeq(b.slice(2),0,null);return cljs.core._PLUS_.cljs$core$IFn$_invoke$arity$variadic(arguments[0],arguments[1],
b)}};cljs.core._PLUS_.cljs$core$IFn$_invoke$arity$0=function(){return 0};cljs.core._PLUS_.cljs$core$IFn$_invoke$arity$1=function(a){return a};cljs.core._PLUS_.cljs$core$IFn$_invoke$arity$2=function(a,b){return a+b};cljs.core._PLUS_.cljs$core$IFn$_invoke$arity$variadic=function(a,b,c){return cljs.core.reduce.cljs$core$IFn$_invoke$arity$3(cljs.core._PLUS_,a+b,c)};
cljs.core._PLUS_.cljs$lang$applyTo=function(a){var b=cljs.core.first(a),c=cljs.core.next(a);a=cljs.core.first(c);c=cljs.core.next(c);return this.cljs$core$IFn$_invoke$arity$variadic(b,a,c)};cljs.core._PLUS_.cljs$lang$maxFixedArity=2;
cljs.core._=function(a){switch(arguments.length){case 1:return cljs.core._.cljs$core$IFn$_invoke$arity$1(arguments[0]);case 2:return cljs.core._.cljs$core$IFn$_invoke$arity$2(arguments[0],arguments[1]);default:for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;b=new cljs.core.IndexedSeq(b.slice(2),0,null);return cljs.core._.cljs$core$IFn$_invoke$arity$variadic(arguments[0],arguments[1],b)}};cljs.core._.cljs$core$IFn$_invoke$arity$1=function(a){return-a};
cljs.core._.cljs$core$IFn$_invoke$arity$2=function(a,b){return a-b};cljs.core._.cljs$core$IFn$_invoke$arity$variadic=function(a,b,c){return cljs.core.reduce.cljs$core$IFn$_invoke$arity$3(cljs.core._,a-b,c)};cljs.core._.cljs$lang$applyTo=function(a){var b=cljs.core.first(a),c=cljs.core.next(a);a=cljs.core.first(c);c=cljs.core.next(c);return this.cljs$core$IFn$_invoke$arity$variadic(b,a,c)};cljs.core._.cljs$lang$maxFixedArity=2;
cljs.core._STAR_=function(a){switch(arguments.length){case 0:return cljs.core._STAR_.cljs$core$IFn$_invoke$arity$0();case 1:return cljs.core._STAR_.cljs$core$IFn$_invoke$arity$1(arguments[0]);case 2:return cljs.core._STAR_.cljs$core$IFn$_invoke$arity$2(arguments[0],arguments[1]);default:for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;b=new cljs.core.IndexedSeq(b.slice(2),0,null);return cljs.core._STAR_.cljs$core$IFn$_invoke$arity$variadic(arguments[0],arguments[1],
b)}};cljs.core._STAR_.cljs$core$IFn$_invoke$arity$0=function(){return 1};cljs.core._STAR_.cljs$core$IFn$_invoke$arity$1=function(a){return a};cljs.core._STAR_.cljs$core$IFn$_invoke$arity$2=function(a,b){return a*b};cljs.core._STAR_.cljs$core$IFn$_invoke$arity$variadic=function(a,b,c){return cljs.core.reduce.cljs$core$IFn$_invoke$arity$3(cljs.core._STAR_,a*b,c)};
cljs.core._STAR_.cljs$lang$applyTo=function(a){var b=cljs.core.first(a),c=cljs.core.next(a);a=cljs.core.first(c);c=cljs.core.next(c);return this.cljs$core$IFn$_invoke$arity$variadic(b,a,c)};cljs.core._STAR_.cljs$lang$maxFixedArity=2;
cljs.core._SLASH_=function(a){switch(arguments.length){case 1:return cljs.core._SLASH_.cljs$core$IFn$_invoke$arity$1(arguments[0]);case 2:return cljs.core._SLASH_.cljs$core$IFn$_invoke$arity$2(arguments[0],arguments[1]);default:for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;b=new cljs.core.IndexedSeq(b.slice(2),0,null);return cljs.core._SLASH_.cljs$core$IFn$_invoke$arity$variadic(arguments[0],arguments[1],b)}};
cljs.core._SLASH_.cljs$core$IFn$_invoke$arity$1=function(a){return 1/a};cljs.core._SLASH_.cljs$core$IFn$_invoke$arity$2=function(a,b){return a/b};cljs.core._SLASH_.cljs$core$IFn$_invoke$arity$variadic=function(a,b,c){return cljs.core.reduce.cljs$core$IFn$_invoke$arity$3(cljs.core._SLASH_,a/b,c)};cljs.core._SLASH_.cljs$lang$applyTo=function(a){var b=cljs.core.first(a),c=cljs.core.next(a);a=cljs.core.first(c);c=cljs.core.next(c);return this.cljs$core$IFn$_invoke$arity$variadic(b,a,c)};
cljs.core._SLASH_.cljs$lang$maxFixedArity=2;cljs.core._LT_=function(a){switch(arguments.length){case 1:return cljs.core._LT_.cljs$core$IFn$_invoke$arity$1(arguments[0]);case 2:return cljs.core._LT_.cljs$core$IFn$_invoke$arity$2(arguments[0],arguments[1]);default:for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;b=new cljs.core.IndexedSeq(b.slice(2),0,null);return cljs.core._LT_.cljs$core$IFn$_invoke$arity$variadic(arguments[0],arguments[1],b)}};
cljs.core._LT_.cljs$core$IFn$_invoke$arity$1=function(a){return!0};cljs.core._LT_.cljs$core$IFn$_invoke$arity$2=function(a,b){return a<b};cljs.core._LT_.cljs$core$IFn$_invoke$arity$variadic=function(a,b,c){for(;;)if(a<b)if(cljs.core.next(c))a=b,b=cljs.core.first(c),c=cljs.core.next(c);else return b<cljs.core.first(c);else return!1};
cljs.core._LT_.cljs$lang$applyTo=function(a){var b=cljs.core.first(a),c=cljs.core.next(a);a=cljs.core.first(c);c=cljs.core.next(c);return this.cljs$core$IFn$_invoke$arity$variadic(b,a,c)};cljs.core._LT_.cljs$lang$maxFixedArity=2;
cljs.core._LT__EQ_=function(a){switch(arguments.length){case 1:return cljs.core._LT__EQ_.cljs$core$IFn$_invoke$arity$1(arguments[0]);case 2:return cljs.core._LT__EQ_.cljs$core$IFn$_invoke$arity$2(arguments[0],arguments[1]);default:for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;b=new cljs.core.IndexedSeq(b.slice(2),0,null);return cljs.core._LT__EQ_.cljs$core$IFn$_invoke$arity$variadic(arguments[0],arguments[1],b)}};
cljs.core._LT__EQ_.cljs$core$IFn$_invoke$arity$1=function(a){return!0};cljs.core._LT__EQ_.cljs$core$IFn$_invoke$arity$2=function(a,b){return a<=b};cljs.core._LT__EQ_.cljs$core$IFn$_invoke$arity$variadic=function(a,b,c){for(;;)if(a<=b)if(cljs.core.next(c))a=b,b=cljs.core.first(c),c=cljs.core.next(c);else return b<=cljs.core.first(c);else return!1};
cljs.core._LT__EQ_.cljs$lang$applyTo=function(a){var b=cljs.core.first(a),c=cljs.core.next(a);a=cljs.core.first(c);c=cljs.core.next(c);return this.cljs$core$IFn$_invoke$arity$variadic(b,a,c)};cljs.core._LT__EQ_.cljs$lang$maxFixedArity=2;
cljs.core._GT_=function(a){switch(arguments.length){case 1:return cljs.core._GT_.cljs$core$IFn$_invoke$arity$1(arguments[0]);case 2:return cljs.core._GT_.cljs$core$IFn$_invoke$arity$2(arguments[0],arguments[1]);default:for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;b=new cljs.core.IndexedSeq(b.slice(2),0,null);return cljs.core._GT_.cljs$core$IFn$_invoke$arity$variadic(arguments[0],arguments[1],b)}};cljs.core._GT_.cljs$core$IFn$_invoke$arity$1=function(a){return!0};
cljs.core._GT_.cljs$core$IFn$_invoke$arity$2=function(a,b){return a>b};cljs.core._GT_.cljs$core$IFn$_invoke$arity$variadic=function(a,b,c){for(;;)if(a>b)if(cljs.core.next(c))a=b,b=cljs.core.first(c),c=cljs.core.next(c);else return b>cljs.core.first(c);else return!1};cljs.core._GT_.cljs$lang$applyTo=function(a){var b=cljs.core.first(a),c=cljs.core.next(a);a=cljs.core.first(c);c=cljs.core.next(c);return this.cljs$core$IFn$_invoke$arity$variadic(b,a,c)};cljs.core._GT_.cljs$lang$maxFixedArity=2;
cljs.core._GT__EQ_=function(a){switch(arguments.length){case 1:return cljs.core._GT__EQ_.cljs$core$IFn$_invoke$arity$1(arguments[0]);case 2:return cljs.core._GT__EQ_.cljs$core$IFn$_invoke$arity$2(arguments[0],arguments[1]);default:for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;b=new cljs.core.IndexedSeq(b.slice(2),0,null);return cljs.core._GT__EQ_.cljs$core$IFn$_invoke$arity$variadic(arguments[0],arguments[1],b)}};
cljs.core._GT__EQ_.cljs$core$IFn$_invoke$arity$1=function(a){return!0};cljs.core._GT__EQ_.cljs$core$IFn$_invoke$arity$2=function(a,b){return a>=b};cljs.core._GT__EQ_.cljs$core$IFn$_invoke$arity$variadic=function(a,b,c){for(;;)if(a>=b)if(cljs.core.next(c))a=b,b=cljs.core.first(c),c=cljs.core.next(c);else return b>=cljs.core.first(c);else return!1};
cljs.core._GT__EQ_.cljs$lang$applyTo=function(a){var b=cljs.core.first(a),c=cljs.core.next(a);a=cljs.core.first(c);c=cljs.core.next(c);return this.cljs$core$IFn$_invoke$arity$variadic(b,a,c)};cljs.core._GT__EQ_.cljs$lang$maxFixedArity=2;cljs.core.dec=function(a){return a-1};
cljs.core.max=function(a){switch(arguments.length){case 1:return cljs.core.max.cljs$core$IFn$_invoke$arity$1(arguments[0]);case 2:return cljs.core.max.cljs$core$IFn$_invoke$arity$2(arguments[0],arguments[1]);default:for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;b=new cljs.core.IndexedSeq(b.slice(2),0,null);return cljs.core.max.cljs$core$IFn$_invoke$arity$variadic(arguments[0],arguments[1],b)}};cljs.core.max.cljs$core$IFn$_invoke$arity$1=function(a){return a};
cljs.core.max.cljs$core$IFn$_invoke$arity$2=function(a,b){return a>b?a:b};cljs.core.max.cljs$core$IFn$_invoke$arity$variadic=function(a,b,c){return cljs.core.reduce.cljs$core$IFn$_invoke$arity$3(cljs.core.max,a>b?a:b,c)};cljs.core.max.cljs$lang$applyTo=function(a){var b=cljs.core.first(a),c=cljs.core.next(a);a=cljs.core.first(c);c=cljs.core.next(c);return this.cljs$core$IFn$_invoke$arity$variadic(b,a,c)};cljs.core.max.cljs$lang$maxFixedArity=2;
cljs.core.min=function(a){switch(arguments.length){case 1:return cljs.core.min.cljs$core$IFn$_invoke$arity$1(arguments[0]);case 2:return cljs.core.min.cljs$core$IFn$_invoke$arity$2(arguments[0],arguments[1]);default:for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;b=new cljs.core.IndexedSeq(b.slice(2),0,null);return cljs.core.min.cljs$core$IFn$_invoke$arity$variadic(arguments[0],arguments[1],b)}};cljs.core.min.cljs$core$IFn$_invoke$arity$1=function(a){return a};
cljs.core.min.cljs$core$IFn$_invoke$arity$2=function(a,b){return a<b?a:b};cljs.core.min.cljs$core$IFn$_invoke$arity$variadic=function(a,b,c){return cljs.core.reduce.cljs$core$IFn$_invoke$arity$3(cljs.core.min,a<b?a:b,c)};cljs.core.min.cljs$lang$applyTo=function(a){var b=cljs.core.first(a),c=cljs.core.next(a);a=cljs.core.first(c);c=cljs.core.next(c);return this.cljs$core$IFn$_invoke$arity$variadic(b,a,c)};cljs.core.min.cljs$lang$maxFixedArity=2;cljs.core.byte$=function(a){return a};
cljs.core.char$=function(a){if("number"===typeof a)return String.fromCharCode(a);if("string"===typeof a&&1===a.length)return a;throw Error("Argument to char must be a character or number");};cljs.core.short$=function(a){return a};cljs.core.float$=function(a){return a};cljs.core.double$=function(a){return a};cljs.core.unchecked_byte=function(a){return a};cljs.core.unchecked_char=function(a){return a};cljs.core.unchecked_short=function(a){return a};cljs.core.unchecked_float=function(a){return a};
cljs.core.unchecked_double=function(a){return a};
cljs.core.unchecked_add=function(a){switch(arguments.length){case 0:return cljs.core.unchecked_add.cljs$core$IFn$_invoke$arity$0();case 1:return cljs.core.unchecked_add.cljs$core$IFn$_invoke$arity$1(arguments[0]);case 2:return cljs.core.unchecked_add.cljs$core$IFn$_invoke$arity$2(arguments[0],arguments[1]);default:for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;b=new cljs.core.IndexedSeq(b.slice(2),0,null);return cljs.core.unchecked_add.cljs$core$IFn$_invoke$arity$variadic(arguments[0],arguments[1],
b)}};cljs.core.unchecked_add.cljs$core$IFn$_invoke$arity$0=function(){return 0};cljs.core.unchecked_add.cljs$core$IFn$_invoke$arity$1=function(a){return a};cljs.core.unchecked_add.cljs$core$IFn$_invoke$arity$2=function(a,b){return a+b};cljs.core.unchecked_add.cljs$core$IFn$_invoke$arity$variadic=function(a,b,c){return cljs.core.reduce.cljs$core$IFn$_invoke$arity$3(cljs.core.unchecked_add,a+b,c)};
cljs.core.unchecked_add.cljs$lang$applyTo=function(a){var b=cljs.core.first(a),c=cljs.core.next(a);a=cljs.core.first(c);c=cljs.core.next(c);return this.cljs$core$IFn$_invoke$arity$variadic(b,a,c)};cljs.core.unchecked_add.cljs$lang$maxFixedArity=2;
cljs.core.unchecked_add_int=function(a){switch(arguments.length){case 0:return cljs.core.unchecked_add_int.cljs$core$IFn$_invoke$arity$0();case 1:return cljs.core.unchecked_add_int.cljs$core$IFn$_invoke$arity$1(arguments[0]);case 2:return cljs.core.unchecked_add_int.cljs$core$IFn$_invoke$arity$2(arguments[0],arguments[1]);default:for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;b=new cljs.core.IndexedSeq(b.slice(2),0,null);return cljs.core.unchecked_add_int.cljs$core$IFn$_invoke$arity$variadic(arguments[0],
arguments[1],b)}};cljs.core.unchecked_add_int.cljs$core$IFn$_invoke$arity$0=function(){return 0};cljs.core.unchecked_add_int.cljs$core$IFn$_invoke$arity$1=function(a){return a};cljs.core.unchecked_add_int.cljs$core$IFn$_invoke$arity$2=function(a,b){return a+b};cljs.core.unchecked_add_int.cljs$core$IFn$_invoke$arity$variadic=function(a,b,c){return cljs.core.reduce.cljs$core$IFn$_invoke$arity$3(cljs.core.unchecked_add_int,a+b,c)};
cljs.core.unchecked_add_int.cljs$lang$applyTo=function(a){var b=cljs.core.first(a),c=cljs.core.next(a);a=cljs.core.first(c);c=cljs.core.next(c);return this.cljs$core$IFn$_invoke$arity$variadic(b,a,c)};cljs.core.unchecked_add_int.cljs$lang$maxFixedArity=2;cljs.core.unchecked_dec=function(a){return a-1};cljs.core.unchecked_dec_int=function(a){return a-1};
cljs.core.unchecked_divide_int=function(a){switch(arguments.length){case 1:return cljs.core.unchecked_divide_int.cljs$core$IFn$_invoke$arity$1(arguments[0]);case 2:return cljs.core.unchecked_divide_int.cljs$core$IFn$_invoke$arity$2(arguments[0],arguments[1]);default:for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;b=new cljs.core.IndexedSeq(b.slice(2),0,null);return cljs.core.unchecked_divide_int.cljs$core$IFn$_invoke$arity$variadic(arguments[0],arguments[1],b)}};
cljs.core.unchecked_divide_int.cljs$core$IFn$_invoke$arity$1=function(a){return 1/a};cljs.core.unchecked_divide_int.cljs$core$IFn$_invoke$arity$2=function(a,b){return a/b};cljs.core.unchecked_divide_int.cljs$core$IFn$_invoke$arity$variadic=function(a,b,c){return cljs.core.reduce.cljs$core$IFn$_invoke$arity$3(cljs.core.unchecked_divide_int,a/b,c)};
cljs.core.unchecked_divide_int.cljs$lang$applyTo=function(a){var b=cljs.core.first(a),c=cljs.core.next(a);a=cljs.core.first(c);c=cljs.core.next(c);return this.cljs$core$IFn$_invoke$arity$variadic(b,a,c)};cljs.core.unchecked_divide_int.cljs$lang$maxFixedArity=2;cljs.core.unchecked_inc=function(a){return a+1};cljs.core.unchecked_inc_int=function(a){return a+1};
cljs.core.unchecked_multiply=function(a){switch(arguments.length){case 0:return cljs.core.unchecked_multiply.cljs$core$IFn$_invoke$arity$0();case 1:return cljs.core.unchecked_multiply.cljs$core$IFn$_invoke$arity$1(arguments[0]);case 2:return cljs.core.unchecked_multiply.cljs$core$IFn$_invoke$arity$2(arguments[0],arguments[1]);default:for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;b=new cljs.core.IndexedSeq(b.slice(2),0,null);return cljs.core.unchecked_multiply.cljs$core$IFn$_invoke$arity$variadic(arguments[0],
arguments[1],b)}};cljs.core.unchecked_multiply.cljs$core$IFn$_invoke$arity$0=function(){return 1};cljs.core.unchecked_multiply.cljs$core$IFn$_invoke$arity$1=function(a){return a};cljs.core.unchecked_multiply.cljs$core$IFn$_invoke$arity$2=function(a,b){return a*b};cljs.core.unchecked_multiply.cljs$core$IFn$_invoke$arity$variadic=function(a,b,c){return cljs.core.reduce.cljs$core$IFn$_invoke$arity$3(cljs.core.unchecked_multiply,a*b,c)};
cljs.core.unchecked_multiply.cljs$lang$applyTo=function(a){var b=cljs.core.first(a),c=cljs.core.next(a);a=cljs.core.first(c);c=cljs.core.next(c);return this.cljs$core$IFn$_invoke$arity$variadic(b,a,c)};cljs.core.unchecked_multiply.cljs$lang$maxFixedArity=2;
cljs.core.unchecked_multiply_int=function(a){switch(arguments.length){case 0:return cljs.core.unchecked_multiply_int.cljs$core$IFn$_invoke$arity$0();case 1:return cljs.core.unchecked_multiply_int.cljs$core$IFn$_invoke$arity$1(arguments[0]);case 2:return cljs.core.unchecked_multiply_int.cljs$core$IFn$_invoke$arity$2(arguments[0],arguments[1]);default:for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;b=new cljs.core.IndexedSeq(b.slice(2),0,null);return cljs.core.unchecked_multiply_int.cljs$core$IFn$_invoke$arity$variadic(arguments[0],
arguments[1],b)}};cljs.core.unchecked_multiply_int.cljs$core$IFn$_invoke$arity$0=function(){return 1};cljs.core.unchecked_multiply_int.cljs$core$IFn$_invoke$arity$1=function(a){return a};cljs.core.unchecked_multiply_int.cljs$core$IFn$_invoke$arity$2=function(a,b){return a*b};cljs.core.unchecked_multiply_int.cljs$core$IFn$_invoke$arity$variadic=function(a,b,c){return cljs.core.reduce.cljs$core$IFn$_invoke$arity$3(cljs.core.unchecked_multiply_int,a*b,c)};
cljs.core.unchecked_multiply_int.cljs$lang$applyTo=function(a){var b=cljs.core.first(a),c=cljs.core.next(a);a=cljs.core.first(c);c=cljs.core.next(c);return this.cljs$core$IFn$_invoke$arity$variadic(b,a,c)};cljs.core.unchecked_multiply_int.cljs$lang$maxFixedArity=2;cljs.core.unchecked_negate=function(a){return-a};cljs.core.unchecked_negate_int=function(a){return-a};cljs.core.unchecked_remainder_int=function(a,b){return cljs.core.mod(a,b)};
cljs.core.unchecked_subtract=function(a){switch(arguments.length){case 1:return cljs.core.unchecked_subtract.cljs$core$IFn$_invoke$arity$1(arguments[0]);case 2:return cljs.core.unchecked_subtract.cljs$core$IFn$_invoke$arity$2(arguments[0],arguments[1]);default:for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;b=new cljs.core.IndexedSeq(b.slice(2),0,null);return cljs.core.unchecked_subtract.cljs$core$IFn$_invoke$arity$variadic(arguments[0],arguments[1],b)}};
cljs.core.unchecked_subtract.cljs$core$IFn$_invoke$arity$1=function(a){return-a};cljs.core.unchecked_subtract.cljs$core$IFn$_invoke$arity$2=function(a,b){return a-b};cljs.core.unchecked_subtract.cljs$core$IFn$_invoke$arity$variadic=function(a,b,c){return cljs.core.reduce.cljs$core$IFn$_invoke$arity$3(cljs.core.unchecked_subtract,a-b,c)};
cljs.core.unchecked_subtract.cljs$lang$applyTo=function(a){var b=cljs.core.first(a),c=cljs.core.next(a);a=cljs.core.first(c);c=cljs.core.next(c);return this.cljs$core$IFn$_invoke$arity$variadic(b,a,c)};cljs.core.unchecked_subtract.cljs$lang$maxFixedArity=2;
cljs.core.unchecked_subtract_int=function(a){switch(arguments.length){case 1:return cljs.core.unchecked_subtract_int.cljs$core$IFn$_invoke$arity$1(arguments[0]);case 2:return cljs.core.unchecked_subtract_int.cljs$core$IFn$_invoke$arity$2(arguments[0],arguments[1]);default:for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;b=new cljs.core.IndexedSeq(b.slice(2),0,null);return cljs.core.unchecked_subtract_int.cljs$core$IFn$_invoke$arity$variadic(arguments[0],arguments[1],
b)}};cljs.core.unchecked_subtract_int.cljs$core$IFn$_invoke$arity$1=function(a){return-a};cljs.core.unchecked_subtract_int.cljs$core$IFn$_invoke$arity$2=function(a,b){return a-b};cljs.core.unchecked_subtract_int.cljs$core$IFn$_invoke$arity$variadic=function(a,b,c){return cljs.core.reduce.cljs$core$IFn$_invoke$arity$3(cljs.core.unchecked_subtract_int,a-b,c)};
cljs.core.unchecked_subtract_int.cljs$lang$applyTo=function(a){var b=cljs.core.first(a),c=cljs.core.next(a);a=cljs.core.first(c);c=cljs.core.next(c);return this.cljs$core$IFn$_invoke$arity$variadic(b,a,c)};cljs.core.unchecked_subtract_int.cljs$lang$maxFixedArity=2;cljs.core.fix=function(a){return 0<=a?Math.floor(a):Math.ceil(a)};cljs.core.int$=function(a){return a|0};cljs.core.unchecked_int=function(a){return cljs.core.fix(a)};cljs.core.long$=function(a){return cljs.core.fix(a)};
cljs.core.unchecked_long=function(a){return cljs.core.fix(a)};cljs.core.booleans=function(a){return a};cljs.core.bytes=function(a){return a};cljs.core.chars=function(a){return a};cljs.core.shorts=function(a){return a};cljs.core.ints=function(a){return a};cljs.core.floats=function(a){return a};cljs.core.doubles=function(a){return a};cljs.core.longs=function(a){return a};cljs.core.js_mod=function(a,b){return a%b};cljs.core.mod=function(a,b){return(a%b+b)%b};
cljs.core.quot=function(a,b){return cljs.core.fix((a-a%b)/b)};cljs.core.rem=function(a,b){var c=cljs.core.quot(a,b);return a-b*c};cljs.core.bit_xor=function(a){switch(arguments.length){case 2:return cljs.core.bit_xor.cljs$core$IFn$_invoke$arity$2(arguments[0],arguments[1]);default:for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;b=new cljs.core.IndexedSeq(b.slice(2),0,null);return cljs.core.bit_xor.cljs$core$IFn$_invoke$arity$variadic(arguments[0],arguments[1],b)}};
cljs.core.bit_xor.cljs$core$IFn$_invoke$arity$2=function(a,b){return a^b};cljs.core.bit_xor.cljs$core$IFn$_invoke$arity$variadic=function(a,b,c){return cljs.core.reduce.cljs$core$IFn$_invoke$arity$3(cljs.core.bit_xor,a^b,c)};cljs.core.bit_xor.cljs$lang$applyTo=function(a){var b=cljs.core.first(a),c=cljs.core.next(a);a=cljs.core.first(c);c=cljs.core.next(c);return this.cljs$core$IFn$_invoke$arity$variadic(b,a,c)};cljs.core.bit_xor.cljs$lang$maxFixedArity=2;
cljs.core.bit_and=function(a){switch(arguments.length){case 2:return cljs.core.bit_and.cljs$core$IFn$_invoke$arity$2(arguments[0],arguments[1]);default:for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;b=new cljs.core.IndexedSeq(b.slice(2),0,null);return cljs.core.bit_and.cljs$core$IFn$_invoke$arity$variadic(arguments[0],arguments[1],b)}};cljs.core.bit_and.cljs$core$IFn$_invoke$arity$2=function(a,b){return a&b};
cljs.core.bit_and.cljs$core$IFn$_invoke$arity$variadic=function(a,b,c){return cljs.core.reduce.cljs$core$IFn$_invoke$arity$3(cljs.core.bit_and,a&b,c)};cljs.core.bit_and.cljs$lang$applyTo=function(a){var b=cljs.core.first(a),c=cljs.core.next(a);a=cljs.core.first(c);c=cljs.core.next(c);return this.cljs$core$IFn$_invoke$arity$variadic(b,a,c)};cljs.core.bit_and.cljs$lang$maxFixedArity=2;
cljs.core.bit_or=function(a){switch(arguments.length){case 2:return cljs.core.bit_or.cljs$core$IFn$_invoke$arity$2(arguments[0],arguments[1]);default:for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;b=new cljs.core.IndexedSeq(b.slice(2),0,null);return cljs.core.bit_or.cljs$core$IFn$_invoke$arity$variadic(arguments[0],arguments[1],b)}};cljs.core.bit_or.cljs$core$IFn$_invoke$arity$2=function(a,b){return a|b};
cljs.core.bit_or.cljs$core$IFn$_invoke$arity$variadic=function(a,b,c){return cljs.core.reduce.cljs$core$IFn$_invoke$arity$3(cljs.core.bit_or,a|b,c)};cljs.core.bit_or.cljs$lang$applyTo=function(a){var b=cljs.core.first(a),c=cljs.core.next(a);a=cljs.core.first(c);c=cljs.core.next(c);return this.cljs$core$IFn$_invoke$arity$variadic(b,a,c)};cljs.core.bit_or.cljs$lang$maxFixedArity=2;
cljs.core.bit_and_not=function(a){switch(arguments.length){case 2:return cljs.core.bit_and_not.cljs$core$IFn$_invoke$arity$2(arguments[0],arguments[1]);default:for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;b=new cljs.core.IndexedSeq(b.slice(2),0,null);return cljs.core.bit_and_not.cljs$core$IFn$_invoke$arity$variadic(arguments[0],arguments[1],b)}};cljs.core.bit_and_not.cljs$core$IFn$_invoke$arity$2=function(a,b){return a&~b};
cljs.core.bit_and_not.cljs$core$IFn$_invoke$arity$variadic=function(a,b,c){return cljs.core.reduce.cljs$core$IFn$_invoke$arity$3(cljs.core.bit_and_not,a&~b,c)};cljs.core.bit_and_not.cljs$lang$applyTo=function(a){var b=cljs.core.first(a),c=cljs.core.next(a);a=cljs.core.first(c);c=cljs.core.next(c);return this.cljs$core$IFn$_invoke$arity$variadic(b,a,c)};cljs.core.bit_and_not.cljs$lang$maxFixedArity=2;cljs.core.bit_clear=function(a,b){return a&~(1<<b)};cljs.core.bit_flip=function(a,b){return a^1<<b};
cljs.core.bit_not=function(a){return~a};cljs.core.bit_set=function(a,b){return a|1<<b};cljs.core.bit_test=function(a,b){return 0!=(a&1<<b)};cljs.core.bit_shift_left=function(a,b){return a<<b};cljs.core.bit_shift_right=function(a,b){return a>>b};cljs.core.bit_shift_right_zero_fill=function(a,b){return a>>>b};cljs.core.unsigned_bit_shift_right=function(a,b){return a>>>b};cljs.core.bit_count=function(a){a-=a>>1&1431655765;a=(a&858993459)+(a>>2&858993459);return 16843009*(a+(a>>4)&252645135)>>24};
cljs.core._EQ__EQ_=function(a){switch(arguments.length){case 1:return cljs.core._EQ__EQ_.cljs$core$IFn$_invoke$arity$1(arguments[0]);case 2:return cljs.core._EQ__EQ_.cljs$core$IFn$_invoke$arity$2(arguments[0],arguments[1]);default:for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;b=new cljs.core.IndexedSeq(b.slice(2),0,null);return cljs.core._EQ__EQ_.cljs$core$IFn$_invoke$arity$variadic(arguments[0],arguments[1],b)}};
cljs.core._EQ__EQ_.cljs$core$IFn$_invoke$arity$1=function(a){return!0};cljs.core._EQ__EQ_.cljs$core$IFn$_invoke$arity$2=function(a,b){return cljs.core._equiv(a,b)};cljs.core._EQ__EQ_.cljs$core$IFn$_invoke$arity$variadic=function(a,b,c){for(;;)if(a===b)if(cljs.core.next(c))a=b,b=cljs.core.first(c),c=cljs.core.next(c);else return b===cljs.core.first(c);else return!1};
cljs.core._EQ__EQ_.cljs$lang$applyTo=function(a){var b=cljs.core.first(a),c=cljs.core.next(a);a=cljs.core.first(c);c=cljs.core.next(c);return this.cljs$core$IFn$_invoke$arity$variadic(b,a,c)};cljs.core._EQ__EQ_.cljs$lang$maxFixedArity=2;cljs.core.pos_QMARK_=function(a){return 0<a};cljs.core.zero_QMARK_=function(a){return 0===a};cljs.core.neg_QMARK_=function(a){return 0>a};cljs.core.nthnext=function(a,b){for(a=cljs.core.seq(a);;)if(a&&0<b)--b,a=cljs.core.next(a);else return a};
cljs.core.str=function(a){switch(arguments.length){case 0:return cljs.core.str.cljs$core$IFn$_invoke$arity$0();case 1:return cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments[0]);default:for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;b=new cljs.core.IndexedSeq(b.slice(1),0,null);return cljs.core.str.cljs$core$IFn$_invoke$arity$variadic(arguments[0],b)}};cljs.core.str.cljs$core$IFn$_invoke$arity$0=function(){return""};
cljs.core.str.cljs$core$IFn$_invoke$arity$1=function(a){return null==a?"":[a].join("")};cljs.core.str.cljs$core$IFn$_invoke$arity$variadic=function(a,b){for(a=new goog.string.StringBuffer(cljs.core.str.cljs$core$IFn$_invoke$arity$1(a));;)if(cljs.core.truth_(b))a=a.append(cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.core.first(b))),b=cljs.core.next(b);else return a.toString()};
cljs.core.str.cljs$lang$applyTo=function(a){var b=cljs.core.first(a);a=cljs.core.next(a);return this.cljs$core$IFn$_invoke$arity$variadic(b,a)};cljs.core.str.cljs$lang$maxFixedArity=1;
cljs.core.subs=function(a){switch(arguments.length){case 2:return cljs.core.subs.cljs$core$IFn$_invoke$arity$2(arguments[0],arguments[1]);case 3:return cljs.core.subs.cljs$core$IFn$_invoke$arity$3(arguments[0],arguments[1],arguments[2]);default:throw Error(["Invalid arity: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(""));}};cljs.core.subs.cljs$core$IFn$_invoke$arity$2=function(a,b){return a.substring(b)};
cljs.core.subs.cljs$core$IFn$_invoke$arity$3=function(a,b,c){return a.substring(b,c)};cljs.core.subs.cljs$lang$maxFixedArity=3;
cljs.core.equiv_sequential=function(a,b){return cljs.core.boolean$(cljs.core.sequential_QMARK_(b)?cljs.core.counted_QMARK_(a)&&cljs.core.counted_QMARK_(b)&&cljs.core.count(a)!==cljs.core.count(b)?!1:function(){for(var c=cljs.core.seq(a),d=cljs.core.seq(b);;){if(null==c)return null==d;if(null!=d&&cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(cljs.core.first(c),cljs.core.first(d)))c=cljs.core.next(c),d=cljs.core.next(d);else return!1}}():null)};
cljs.core.hash_coll=function(a){if(cljs.core.seq(a)){var b=cljs.core.hash(cljs.core.first(a));for(a=cljs.core.next(a);;){if(null==a)return b;b=cljs.core.hash_combine(b,cljs.core.hash(cljs.core.first(a)));a=cljs.core.next(a)}}else return 0};cljs.core.hash_imap=function(a){var b=0;for(a=cljs.core.seq(a);;)if(a){var c=cljs.core.first(a);b=(b+(cljs.core.hash(cljs.core.key(c))^cljs.core.hash(cljs.core.val(c))))%4503599627370496;a=cljs.core.next(a)}else return b};
cljs.core.hash_iset=function(a){var b=0;for(a=cljs.core.seq(a);;)if(a){var c=cljs.core.first(a);b=(b+cljs.core.hash(c))%4503599627370496;a=cljs.core.next(a)}else return b};
cljs.core.extend_object_BANG_=function(a,b){b=cljs.core.seq(b);for(var c=null,d=0,e=0;;)if(e<d){var f=c.cljs$core$IIndexed$_nth$arity$2(null,e),g=cljs.core.nth.cljs$core$IFn$_invoke$arity$3(f,0,null);f=cljs.core.nth.cljs$core$IFn$_invoke$arity$3(f,1,null);g=cljs.core.name(g);goog.object.set(a,g,f);e+=1}else if(b=cljs.core.seq(b))cljs.core.chunked_seq_QMARK_(b)?(d=cljs.core.chunk_first(b),b=cljs.core.chunk_rest(b),c=d,d=cljs.core.count(d)):(d=cljs.core.first(b),c=cljs.core.nth.cljs$core$IFn$_invoke$arity$3(d,
0,null),d=cljs.core.nth.cljs$core$IFn$_invoke$arity$3(d,1,null),c=cljs.core.name(c),goog.object.set(a,c,d),b=cljs.core.next(b),c=null,d=0),e=0;else break;return a};cljs.core.List=function(a,b,c,d,e){this.meta=a;this.first=b;this.rest=c;this.count=d;this.__hash=e;this.cljs$lang$protocol_mask$partition0$=65937646;this.cljs$lang$protocol_mask$partition1$=8192};cljs.core.List.prototype.toString=function(){return cljs.core.pr_str_STAR_(this)};
cljs.core.List.prototype.equiv=function(a){return this.cljs$core$IEquiv$_equiv$arity$2(null,a)};
cljs.core.List.prototype.indexOf=function(){var a=null,b=function(a){return cljs.core._indexOf.cljs$core$IFn$_invoke$arity$3(this,a,0)},c=function(a,b){return cljs.core._indexOf.cljs$core$IFn$_invoke$arity$3(this,a,b)};a=function(a,e){switch(arguments.length){case 1:return b.call(this,a);case 2:return c.call(this,a,e)}throw Error("Invalid arity: "+arguments.length);};a.cljs$core$IFn$_invoke$arity$1=b;a.cljs$core$IFn$_invoke$arity$2=c;return a}();
cljs.core.List.prototype.lastIndexOf=function(){var a=null,b=function(a){return cljs.core._lastIndexOf.cljs$core$IFn$_invoke$arity$3(this,a,this.count)},c=function(a,b){return cljs.core._lastIndexOf.cljs$core$IFn$_invoke$arity$3(this,a,b)};a=function(a,e){switch(arguments.length){case 1:return b.call(this,a);case 2:return c.call(this,a,e)}throw Error("Invalid arity: "+arguments.length);};a.cljs$core$IFn$_invoke$arity$1=b;a.cljs$core$IFn$_invoke$arity$2=c;return a}();
cljs.core.List.prototype.cljs$core$IMeta$_meta$arity$1=function(a){return this.meta};cljs.core.List.prototype.cljs$core$ICloneable$_clone$arity$1=function(a){return new cljs.core.List(this.meta,this.first,this.rest,this.count,this.__hash)};cljs.core.List.prototype.cljs$core$INext$_next$arity$1=function(a){return 1===this.count?null:this.rest};cljs.core.List.prototype.cljs$core$ICounted$_count$arity$1=function(a){return this.count};cljs.core.List.prototype.cljs$core$IStack$_peek$arity$1=function(a){return this.first};
cljs.core.List.prototype.cljs$core$IStack$_pop$arity$1=function(a){return this.cljs$core$ISeq$_rest$arity$1(null)};cljs.core.List.prototype.cljs$core$IHash$_hash$arity$1=function(a){a=this.__hash;return null!=a?a:this.__hash=a=cljs.core.hash_ordered_coll(this)};cljs.core.List.prototype.cljs$core$IEquiv$_equiv$arity$2=function(a,b){return cljs.core.equiv_sequential(this,b)};
cljs.core.List.prototype.cljs$core$IEmptyableCollection$_empty$arity$1=function(a){return cljs.core._with_meta(cljs.core.List.EMPTY,this.meta)};cljs.core.List.prototype.cljs$core$IReduce$_reduce$arity$2=function(a,b){return cljs.core.seq_reduce.cljs$core$IFn$_invoke$arity$2(b,this)};cljs.core.List.prototype.cljs$core$IReduce$_reduce$arity$3=function(a,b,c){return cljs.core.seq_reduce.cljs$core$IFn$_invoke$arity$3(b,c,this)};cljs.core.List.prototype.cljs$core$ISeq$_first$arity$1=function(a){return this.first};
cljs.core.List.prototype.cljs$core$ISeq$_rest$arity$1=function(a){return 1===this.count?cljs.core.List.EMPTY:this.rest};cljs.core.List.prototype.cljs$core$ISeqable$_seq$arity$1=function(a){return this};cljs.core.List.prototype.cljs$core$IWithMeta$_with_meta$arity$2=function(a,b){return b===this.meta?this:new cljs.core.List(b,this.first,this.rest,this.count,this.__hash)};
cljs.core.List.prototype.cljs$core$ICollection$_conj$arity$2=function(a,b){return new cljs.core.List(this.meta,b,this,this.count+1,null)};
cljs.core.List.getBasis=function(){return new cljs.core.PersistentVector(null,5,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"meta","meta",-1154898805,null),new cljs.core.Symbol(null,"first","first",996428481,null),new cljs.core.Symbol(null,"rest","rest",398835108,null),new cljs.core.Symbol(null,"count","count",-514511684,null),cljs.core.with_meta(new cljs.core.Symbol(null,"__hash","__hash",-1328796629,null),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,
"mutable","mutable",875778266),!0],null))],null)};cljs.core.List.cljs$lang$type=!0;cljs.core.List.cljs$lang$ctorStr="cljs.core/List";cljs.core.List.cljs$lang$ctorPrWriter=function(a,b,c){return cljs.core._write(b,"cljs.core/List")};cljs.core.__GT_List=function(a,b,c,d,e){return new cljs.core.List(a,b,c,d,e)};
cljs.core.list_QMARK_=function(a){return null!=a?a.cljs$lang$protocol_mask$partition0$&33554432||cljs.core.PROTOCOL_SENTINEL===a.cljs$core$IList$?!0:a.cljs$lang$protocol_mask$partition0$?!1:cljs.core.native_satisfies_QMARK_(cljs.core.IList,a):cljs.core.native_satisfies_QMARK_(cljs.core.IList,a)};var G__22126_22129=cljs.core.List.prototype,G__22127_22130=cljs.core.ITER_SYMBOL,G__22128_22131=function(a,b){return function(){return cljs.core.es6_iterator(this)}}(G__22126_22129,G__22127_22130);
goog.object.set(G__22126_22129,G__22127_22130,G__22128_22131);cljs.core.EmptyList=function(a){this.meta=a;this.cljs$lang$protocol_mask$partition0$=65937614;this.cljs$lang$protocol_mask$partition1$=8192};cljs.core.EmptyList.prototype.toString=function(){return cljs.core.pr_str_STAR_(this)};cljs.core.EmptyList.prototype.equiv=function(a){return this.cljs$core$IEquiv$_equiv$arity$2(null,a)};
cljs.core.EmptyList.prototype.indexOf=function(){var a=null,b=function(a){return cljs.core._indexOf.cljs$core$IFn$_invoke$arity$3(this,a,0)},c=function(a,b){return cljs.core._indexOf.cljs$core$IFn$_invoke$arity$3(this,a,b)};a=function(a,e){switch(arguments.length){case 1:return b.call(this,a);case 2:return c.call(this,a,e)}throw Error("Invalid arity: "+arguments.length);};a.cljs$core$IFn$_invoke$arity$1=b;a.cljs$core$IFn$_invoke$arity$2=c;return a}();
cljs.core.EmptyList.prototype.lastIndexOf=function(){var a=null,b=function(a){return cljs.core._lastIndexOf.cljs$core$IFn$_invoke$arity$3(this,a,cljs.core.count(this))},c=function(a,b){return cljs.core._lastIndexOf.cljs$core$IFn$_invoke$arity$3(this,a,b)};a=function(a,e){switch(arguments.length){case 1:return b.call(this,a);case 2:return c.call(this,a,e)}throw Error("Invalid arity: "+arguments.length);};a.cljs$core$IFn$_invoke$arity$1=b;a.cljs$core$IFn$_invoke$arity$2=c;return a}();
cljs.core.EmptyList.prototype.cljs$core$IMeta$_meta$arity$1=function(a){return this.meta};cljs.core.EmptyList.prototype.cljs$core$ICloneable$_clone$arity$1=function(a){return new cljs.core.EmptyList(this.meta)};cljs.core.EmptyList.prototype.cljs$core$INext$_next$arity$1=function(a){return null};cljs.core.EmptyList.prototype.cljs$core$ICounted$_count$arity$1=function(a){return 0};cljs.core.EmptyList.prototype.cljs$core$IStack$_peek$arity$1=function(a){return null};
cljs.core.EmptyList.prototype.cljs$core$IStack$_pop$arity$1=function(a){throw Error("Can't pop empty list");};cljs.core.EmptyList.prototype.cljs$core$IHash$_hash$arity$1=function(a){return cljs.core.empty_ordered_hash};cljs.core.EmptyList.prototype.cljs$core$IEquiv$_equiv$arity$2=function(a,b){return cljs.core.list_QMARK_(b)||cljs.core.sequential_QMARK_(b)?null==cljs.core.seq(b):!1};cljs.core.EmptyList.prototype.cljs$core$IEmptyableCollection$_empty$arity$1=function(a){return this};
cljs.core.EmptyList.prototype.cljs$core$IReduce$_reduce$arity$2=function(a,b){return cljs.core.seq_reduce.cljs$core$IFn$_invoke$arity$2(b,this)};cljs.core.EmptyList.prototype.cljs$core$IReduce$_reduce$arity$3=function(a,b,c){return cljs.core.seq_reduce.cljs$core$IFn$_invoke$arity$3(b,c,this)};cljs.core.EmptyList.prototype.cljs$core$ISeq$_first$arity$1=function(a){return null};cljs.core.EmptyList.prototype.cljs$core$ISeq$_rest$arity$1=function(a){return cljs.core.List.EMPTY};
cljs.core.EmptyList.prototype.cljs$core$ISeqable$_seq$arity$1=function(a){return null};cljs.core.EmptyList.prototype.cljs$core$IWithMeta$_with_meta$arity$2=function(a,b){return b===this.meta?this:new cljs.core.EmptyList(b)};cljs.core.EmptyList.prototype.cljs$core$ICollection$_conj$arity$2=function(a,b){return new cljs.core.List(this.meta,b,null,1,null)};
cljs.core.EmptyList.getBasis=function(){return new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"meta","meta",-1154898805,null)],null)};cljs.core.EmptyList.cljs$lang$type=!0;cljs.core.EmptyList.cljs$lang$ctorStr="cljs.core/EmptyList";cljs.core.EmptyList.cljs$lang$ctorPrWriter=function(a,b,c){return cljs.core._write(b,"cljs.core/EmptyList")};cljs.core.__GT_EmptyList=function(a){return new cljs.core.EmptyList(a)};cljs.core.List.EMPTY=new cljs.core.EmptyList(null);
var G__22134_22137=cljs.core.EmptyList.prototype,G__22135_22138=cljs.core.ITER_SYMBOL,G__22136_22139=function(a,b){return function(){return cljs.core.es6_iterator(this)}}(G__22134_22137,G__22135_22138);goog.object.set(G__22134_22137,G__22135_22138,G__22136_22139);
cljs.core.reversible_QMARK_=function(a){return null!=a?a.cljs$lang$protocol_mask$partition0$&134217728||cljs.core.PROTOCOL_SENTINEL===a.cljs$core$IReversible$?!0:a.cljs$lang$protocol_mask$partition0$?!1:cljs.core.native_satisfies_QMARK_(cljs.core.IReversible,a):cljs.core.native_satisfies_QMARK_(cljs.core.IReversible,a)};cljs.core.rseq=function(a){return cljs.core._rseq(a)};
cljs.core.reverse=function(a){return cljs.core.reversible_QMARK_(a)?(a=cljs.core.rseq(a))?a:cljs.core.List.EMPTY:cljs.core.reduce.cljs$core$IFn$_invoke$arity$3(cljs.core.conj,cljs.core.List.EMPTY,a)};cljs.core.list=function(a){for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;b=0<b.length?new cljs.core.IndexedSeq(b.slice(0),0,null):null;return cljs.core.list.cljs$core$IFn$_invoke$arity$variadic(b)};
cljs.core.list.cljs$core$IFn$_invoke$arity$variadic=function(a){if(a instanceof cljs.core.IndexedSeq&&0===a.i)var b=a.arr;else a:for(b=[];;)if(null!=a)b.push(cljs.core._first(a)),a=cljs.core._next(a);else break a;a=b.length;for(var c=cljs.core.List.EMPTY;;)if(0<a){var d=a-1;c=cljs.core._conj(c,b[a-1]);a=d}else return c};cljs.core.list.cljs$lang$maxFixedArity=0;cljs.core.list.cljs$lang$applyTo=function(a){return this.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq(a))};
cljs.core.Cons=function(a,b,c,d){this.meta=a;this.first=b;this.rest=c;this.__hash=d;this.cljs$lang$protocol_mask$partition0$=65929452;this.cljs$lang$protocol_mask$partition1$=8192};cljs.core.Cons.prototype.toString=function(){return cljs.core.pr_str_STAR_(this)};cljs.core.Cons.prototype.equiv=function(a){return this.cljs$core$IEquiv$_equiv$arity$2(null,a)};
cljs.core.Cons.prototype.indexOf=function(){var a=null,b=function(a){return cljs.core._indexOf.cljs$core$IFn$_invoke$arity$3(this,a,0)},c=function(a,b){return cljs.core._indexOf.cljs$core$IFn$_invoke$arity$3(this,a,b)};a=function(a,e){switch(arguments.length){case 1:return b.call(this,a);case 2:return c.call(this,a,e)}throw Error("Invalid arity: "+arguments.length);};a.cljs$core$IFn$_invoke$arity$1=b;a.cljs$core$IFn$_invoke$arity$2=c;return a}();
cljs.core.Cons.prototype.lastIndexOf=function(){var a=null,b=function(a){return cljs.core._lastIndexOf.cljs$core$IFn$_invoke$arity$3(this,a,cljs.core.count(this))},c=function(a,b){return cljs.core._lastIndexOf.cljs$core$IFn$_invoke$arity$3(this,a,b)};a=function(a,e){switch(arguments.length){case 1:return b.call(this,a);case 2:return c.call(this,a,e)}throw Error("Invalid arity: "+arguments.length);};a.cljs$core$IFn$_invoke$arity$1=b;a.cljs$core$IFn$_invoke$arity$2=c;return a}();
cljs.core.Cons.prototype.cljs$core$IMeta$_meta$arity$1=function(a){return this.meta};cljs.core.Cons.prototype.cljs$core$ICloneable$_clone$arity$1=function(a){return new cljs.core.Cons(this.meta,this.first,this.rest,this.__hash)};cljs.core.Cons.prototype.cljs$core$INext$_next$arity$1=function(a){return null==this.rest?null:cljs.core.seq(this.rest)};cljs.core.Cons.prototype.cljs$core$IHash$_hash$arity$1=function(a){a=this.__hash;return null!=a?a:this.__hash=a=cljs.core.hash_ordered_coll(this)};
cljs.core.Cons.prototype.cljs$core$IEquiv$_equiv$arity$2=function(a,b){return cljs.core.equiv_sequential(this,b)};cljs.core.Cons.prototype.cljs$core$IEmptyableCollection$_empty$arity$1=function(a){return cljs.core.List.EMPTY};cljs.core.Cons.prototype.cljs$core$IReduce$_reduce$arity$2=function(a,b){return cljs.core.seq_reduce.cljs$core$IFn$_invoke$arity$2(b,this)};
cljs.core.Cons.prototype.cljs$core$IReduce$_reduce$arity$3=function(a,b,c){return cljs.core.seq_reduce.cljs$core$IFn$_invoke$arity$3(b,c,this)};cljs.core.Cons.prototype.cljs$core$ISeq$_first$arity$1=function(a){return this.first};cljs.core.Cons.prototype.cljs$core$ISeq$_rest$arity$1=function(a){return null==this.rest?cljs.core.List.EMPTY:this.rest};cljs.core.Cons.prototype.cljs$core$ISeqable$_seq$arity$1=function(a){return this};
cljs.core.Cons.prototype.cljs$core$IWithMeta$_with_meta$arity$2=function(a,b){return b===this.meta?this:new cljs.core.Cons(b,this.first,this.rest,this.__hash)};cljs.core.Cons.prototype.cljs$core$ICollection$_conj$arity$2=function(a,b){return new cljs.core.Cons(null,b,this,null)};
cljs.core.Cons.getBasis=function(){return new cljs.core.PersistentVector(null,4,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"meta","meta",-1154898805,null),new cljs.core.Symbol(null,"first","first",996428481,null),new cljs.core.Symbol(null,"rest","rest",398835108,null),cljs.core.with_meta(new cljs.core.Symbol(null,"__hash","__hash",-1328796629,null),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"mutable","mutable",875778266),!0],null))],null)};
cljs.core.Cons.cljs$lang$type=!0;cljs.core.Cons.cljs$lang$ctorStr="cljs.core/Cons";cljs.core.Cons.cljs$lang$ctorPrWriter=function(a,b,c){return cljs.core._write(b,"cljs.core/Cons")};cljs.core.__GT_Cons=function(a,b,c,d){return new cljs.core.Cons(a,b,c,d)};var G__22150_22153=cljs.core.Cons.prototype,G__22151_22154=cljs.core.ITER_SYMBOL,G__22152_22155=function(a,b){return function(){return cljs.core.es6_iterator(this)}}(G__22150_22153,G__22151_22154);goog.object.set(G__22150_22153,G__22151_22154,G__22152_22155);
cljs.core.cons=function(a,b){return null==b?new cljs.core.List(null,a,null,1,null):null!=b&&(b.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===b.cljs$core$ISeq$)?new cljs.core.Cons(null,a,b,null):new cljs.core.Cons(null,a,cljs.core.seq(b),null)};cljs.core.hash_keyword=function(a){return cljs.core.hash_symbol(a)+2654435769|0};
cljs.core.compare_keywords=function(a,b){if(a.fqn===b.fqn)return 0;if(cljs.core.truth_(function(){var c=cljs.core.not(a.ns);return c?b.ns:c}()))return-1;if(cljs.core.truth_(a.ns)){if(cljs.core.not(b.ns))return 1;var c=goog.array.defaultCompare(a.ns,b.ns);return 0===c?goog.array.defaultCompare(a.name,b.name):c}return goog.array.defaultCompare(a.name,b.name)};
cljs.core.Keyword=function(a,b,c,d){this.ns=a;this.name=b;this.fqn=c;this._hash=d;this.cljs$lang$protocol_mask$partition0$=2153775105;this.cljs$lang$protocol_mask$partition1$=4096};cljs.core.Keyword.prototype.toString=function(){return[":",cljs.core.str.cljs$core$IFn$_invoke$arity$1(this.fqn)].join("")};cljs.core.Keyword.prototype.equiv=function(a){return this.cljs$core$IEquiv$_equiv$arity$2(null,a)};
cljs.core.Keyword.prototype.cljs$core$IEquiv$_equiv$arity$2=function(a,b){return b instanceof cljs.core.Keyword?this.fqn===b.fqn:!1};
cljs.core.Keyword.prototype.call=function(){var a=null,b=function(a,b){return cljs.core.get.cljs$core$IFn$_invoke$arity$2(b,this)},c=function(a,b,c){return cljs.core.get.cljs$core$IFn$_invoke$arity$3(b,this,c)};a=function(a,e,f){switch(arguments.length){case 2:return b.call(this,a,e);case 3:return c.call(this,a,e,f)}throw Error("Invalid arity: "+(arguments.length-1));};a.cljs$core$IFn$_invoke$arity$2=b;a.cljs$core$IFn$_invoke$arity$3=c;return a}();
cljs.core.Keyword.prototype.apply=function(a,b){return this.call.apply(this,[this].concat(cljs.core.aclone(b)))};cljs.core.Keyword.prototype.cljs$core$IFn$_invoke$arity$1=function(a){return cljs.core.get.cljs$core$IFn$_invoke$arity$2(a,this)};cljs.core.Keyword.prototype.cljs$core$IFn$_invoke$arity$2=function(a,b){return cljs.core.get.cljs$core$IFn$_invoke$arity$3(a,this,b)};cljs.core.Keyword.prototype.cljs$core$IHash$_hash$arity$1=function(a){a=this._hash;return null!=a?a:this._hash=a=cljs.core.hash_keyword(this)};
cljs.core.Keyword.prototype.cljs$core$INamed$_name$arity$1=function(a){return this.name};cljs.core.Keyword.prototype.cljs$core$INamed$_namespace$arity$1=function(a){return this.ns};cljs.core.Keyword.prototype.cljs$core$IPrintWithWriter$_pr_writer$arity$3=function(a,b,c){return cljs.core._write(b,[":",cljs.core.str.cljs$core$IFn$_invoke$arity$1(this.fqn)].join(""))};
cljs.core.Keyword.getBasis=function(){return new cljs.core.PersistentVector(null,4,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"ns","ns",2082130287,null),new cljs.core.Symbol(null,"name","name",-810760592,null),new cljs.core.Symbol(null,"fqn","fqn",-1749334463,null),cljs.core.with_meta(new cljs.core.Symbol(null,"_hash","_hash",-2130838312,null),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"mutable","mutable",875778266),!0],null))],null)};
cljs.core.Keyword.cljs$lang$type=!0;cljs.core.Keyword.cljs$lang$ctorStr="cljs.core/Keyword";cljs.core.Keyword.cljs$lang$ctorPrWriter=function(a,b,c){return cljs.core._write(b,"cljs.core/Keyword")};cljs.core.__GT_Keyword=function(a,b,c,d){return new cljs.core.Keyword(a,b,c,d)};cljs.core.keyword_QMARK_=function(a){return a instanceof cljs.core.Keyword};cljs.core.keyword_identical_QMARK_=function(a,b){return a===b?!0:a instanceof cljs.core.Keyword&&b instanceof cljs.core.Keyword?a.fqn===b.fqn:!1};
cljs.core.symbol_identical_QMARK_=function(a,b){return a===b?!0:a instanceof cljs.core.Symbol&&b instanceof cljs.core.Symbol?a.str===b.str:!1};cljs.core.namespace=function(a){if(null!=a&&(a.cljs$lang$protocol_mask$partition1$&4096||cljs.core.PROTOCOL_SENTINEL===a.cljs$core$INamed$))return cljs.core._namespace(a);throw Error(["Doesn't support namespace: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(a)].join(""));};
cljs.core.ident_QMARK_=function(a){return a instanceof cljs.core.Keyword||a instanceof cljs.core.Symbol};cljs.core.simple_ident_QMARK_=function(a){return cljs.core.ident_QMARK_(a)&&null==cljs.core.namespace(a)};cljs.core.qualified_ident_QMARK_=function(a){return cljs.core.boolean$(function(){var b=cljs.core.ident_QMARK_(a);return b?(b=cljs.core.namespace(a),cljs.core.truth_(b)?!0:b):b}())};cljs.core.simple_symbol_QMARK_=function(a){return a instanceof cljs.core.Symbol&&null==cljs.core.namespace(a)};
cljs.core.qualified_symbol_QMARK_=function(a){return cljs.core.boolean$(function(){var b=a instanceof cljs.core.Symbol;return b?(b=cljs.core.namespace(a),cljs.core.truth_(b)?!0:b):b}())};cljs.core.simple_keyword_QMARK_=function(a){return a instanceof cljs.core.Keyword&&null==cljs.core.namespace(a)};cljs.core.qualified_keyword_QMARK_=function(a){return cljs.core.boolean$(function(){var b=a instanceof cljs.core.Keyword;return b?(b=cljs.core.namespace(a),cljs.core.truth_(b)?!0:b):b}())};
cljs.core.keyword=function(a){switch(arguments.length){case 1:return cljs.core.keyword.cljs$core$IFn$_invoke$arity$1(arguments[0]);case 2:return cljs.core.keyword.cljs$core$IFn$_invoke$arity$2(arguments[0],arguments[1]);default:throw Error(["Invalid arity: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(""));}};
cljs.core.keyword.cljs$core$IFn$_invoke$arity$1=function(a){if(a instanceof cljs.core.Keyword)return a;if(a instanceof cljs.core.Symbol)return new cljs.core.Keyword(cljs.core.namespace(a),cljs.core.name(a),a.str,null);if("string"===typeof a){var b=a.split("/");return 2===b.length?new cljs.core.Keyword(b[0],b[1],a,null):new cljs.core.Keyword(null,b[0],a,null)}return null};
cljs.core.keyword.cljs$core$IFn$_invoke$arity$2=function(a,b){a=a instanceof cljs.core.Keyword?cljs.core.name(a):a instanceof cljs.core.Symbol?cljs.core.name(a):a;b=b instanceof cljs.core.Keyword?cljs.core.name(b):b instanceof cljs.core.Symbol?cljs.core.name(b):b;return new cljs.core.Keyword(a,b,[cljs.core.truth_(a)?[cljs.core.str.cljs$core$IFn$_invoke$arity$1(a),"/"].join(""):null,cljs.core.str.cljs$core$IFn$_invoke$arity$1(b)].join(""),null)};cljs.core.keyword.cljs$lang$maxFixedArity=2;
cljs.core.LazySeq=function(a,b,c,d){this.meta=a;this.fn=b;this.s=c;this.__hash=d;this.cljs$lang$protocol_mask$partition0$=32374988;this.cljs$lang$protocol_mask$partition1$=1};cljs.core.LazySeq.prototype.toString=function(){return cljs.core.pr_str_STAR_(this)};cljs.core.LazySeq.prototype.equiv=function(a){return this.cljs$core$IEquiv$_equiv$arity$2(null,a)};
cljs.core.LazySeq.prototype.sval=function(){null!=this.fn&&(this.s=this.fn.cljs$core$IFn$_invoke$arity$0?this.fn.cljs$core$IFn$_invoke$arity$0():this.fn.call(null),this.fn=null);return this.s};
cljs.core.LazySeq.prototype.indexOf=function(){var a=null,b=function(a){return cljs.core._indexOf.cljs$core$IFn$_invoke$arity$3(this,a,0)},c=function(a,b){return cljs.core._indexOf.cljs$core$IFn$_invoke$arity$3(this,a,b)};a=function(a,e){switch(arguments.length){case 1:return b.call(this,a);case 2:return c.call(this,a,e)}throw Error("Invalid arity: "+arguments.length);};a.cljs$core$IFn$_invoke$arity$1=b;a.cljs$core$IFn$_invoke$arity$2=c;return a}();
cljs.core.LazySeq.prototype.lastIndexOf=function(){var a=null,b=function(a){return cljs.core._lastIndexOf.cljs$core$IFn$_invoke$arity$3(this,a,cljs.core.count(this))},c=function(a,b){return cljs.core._lastIndexOf.cljs$core$IFn$_invoke$arity$3(this,a,b)};a=function(a,e){switch(arguments.length){case 1:return b.call(this,a);case 2:return c.call(this,a,e)}throw Error("Invalid arity: "+arguments.length);};a.cljs$core$IFn$_invoke$arity$1=b;a.cljs$core$IFn$_invoke$arity$2=c;return a}();
cljs.core.LazySeq.prototype.cljs$core$IMeta$_meta$arity$1=function(a){return this.meta};cljs.core.LazySeq.prototype.cljs$core$INext$_next$arity$1=function(a){this.cljs$core$ISeqable$_seq$arity$1(null);return null==this.s?null:cljs.core.next(this.s)};cljs.core.LazySeq.prototype.cljs$core$IHash$_hash$arity$1=function(a){a=this.__hash;return null!=a?a:this.__hash=a=cljs.core.hash_ordered_coll(this)};
cljs.core.LazySeq.prototype.cljs$core$IEquiv$_equiv$arity$2=function(a,b){return cljs.core.equiv_sequential(this,b)};cljs.core.LazySeq.prototype.cljs$core$IEmptyableCollection$_empty$arity$1=function(a){return cljs.core._with_meta(cljs.core.List.EMPTY,this.meta)};cljs.core.LazySeq.prototype.cljs$core$IPending$_realized_QMARK_$arity$1=function(a){return cljs.core.not(this.fn)};
cljs.core.LazySeq.prototype.cljs$core$IReduce$_reduce$arity$2=function(a,b){return cljs.core.seq_reduce.cljs$core$IFn$_invoke$arity$2(b,this)};cljs.core.LazySeq.prototype.cljs$core$IReduce$_reduce$arity$3=function(a,b,c){return cljs.core.seq_reduce.cljs$core$IFn$_invoke$arity$3(b,c,this)};cljs.core.LazySeq.prototype.cljs$core$ISeq$_first$arity$1=function(a){this.cljs$core$ISeqable$_seq$arity$1(null);return null==this.s?null:cljs.core.first(this.s)};
cljs.core.LazySeq.prototype.cljs$core$ISeq$_rest$arity$1=function(a){this.cljs$core$ISeqable$_seq$arity$1(null);return null!=this.s?cljs.core.rest(this.s):cljs.core.List.EMPTY};cljs.core.LazySeq.prototype.cljs$core$ISeqable$_seq$arity$1=function(a){this.sval();if(null==this.s)return null;for(a=this.s;;)if(a instanceof cljs.core.LazySeq)a=a.sval();else return this.s=a,cljs.core.seq(this.s)};
cljs.core.LazySeq.prototype.cljs$core$IWithMeta$_with_meta$arity$2=function(a,b){return b===this.meta?this:new cljs.core.LazySeq(b,function(a){return function(){return a.cljs$core$ISeqable$_seq$arity$1(null)}}(this),null,this.__hash)};cljs.core.LazySeq.prototype.cljs$core$ICollection$_conj$arity$2=function(a,b){return cljs.core.cons(b,this)};
cljs.core.LazySeq.getBasis=function(){return new cljs.core.PersistentVector(null,4,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"meta","meta",-1154898805,null),cljs.core.with_meta(new cljs.core.Symbol(null,"fn","fn",465265323,null),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"mutable","mutable",875778266),!0],null)),cljs.core.with_meta(new cljs.core.Symbol(null,"s","s",-948495851,null),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,
"mutable","mutable",875778266),!0],null)),cljs.core.with_meta(new cljs.core.Symbol(null,"__hash","__hash",-1328796629,null),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"mutable","mutable",875778266),!0],null))],null)};cljs.core.LazySeq.cljs$lang$type=!0;cljs.core.LazySeq.cljs$lang$ctorStr="cljs.core/LazySeq";cljs.core.LazySeq.cljs$lang$ctorPrWriter=function(a,b,c){return cljs.core._write(b,"cljs.core/LazySeq")};
cljs.core.__GT_LazySeq=function(a,b,c,d){return new cljs.core.LazySeq(a,b,c,d)};var G__22172_22175=cljs.core.LazySeq.prototype,G__22173_22176=cljs.core.ITER_SYMBOL,G__22174_22177=function(a,b){return function(){return cljs.core.es6_iterator(this)}}(G__22172_22175,G__22173_22176);goog.object.set(G__22172_22175,G__22173_22176,G__22174_22177);cljs.core.ChunkBuffer=function(a,b){this.buf=a;this.end=b;this.cljs$lang$protocol_mask$partition0$=2;this.cljs$lang$protocol_mask$partition1$=0};
cljs.core.ChunkBuffer.prototype.add=function(a){this.buf[this.end]=a;return this.end+=1};cljs.core.ChunkBuffer.prototype.chunk=function(){var a=new cljs.core.ArrayChunk(this.buf,0,this.end);this.buf=null;return a};cljs.core.ChunkBuffer.prototype.cljs$core$ICounted$_count$arity$1=function(a){return this.end};
cljs.core.ChunkBuffer.getBasis=function(){return new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[cljs.core.with_meta(new cljs.core.Symbol(null,"buf","buf",1426618187,null),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"mutable","mutable",875778266),!0],null)),cljs.core.with_meta(new cljs.core.Symbol(null,"end","end",1372345569,null),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"mutable","mutable",875778266),!0],null))],null)};
cljs.core.ChunkBuffer.cljs$lang$type=!0;cljs.core.ChunkBuffer.cljs$lang$ctorStr="cljs.core/ChunkBuffer";cljs.core.ChunkBuffer.cljs$lang$ctorPrWriter=function(a,b,c){return cljs.core._write(b,"cljs.core/ChunkBuffer")};cljs.core.__GT_ChunkBuffer=function(a,b){return new cljs.core.ChunkBuffer(a,b)};cljs.core.chunk_buffer=function(a){return new cljs.core.ChunkBuffer(Array(a),0)};
cljs.core.ArrayChunk=function(a,b,c){this.arr=a;this.off=b;this.end=c;this.cljs$lang$protocol_mask$partition0$=524306;this.cljs$lang$protocol_mask$partition1$=0};cljs.core.ArrayChunk.prototype.cljs$core$ICounted$_count$arity$1=function(a){return this.end-this.off};cljs.core.ArrayChunk.prototype.cljs$core$IIndexed$_nth$arity$2=function(a,b){return this.arr[this.off+b]};
cljs.core.ArrayChunk.prototype.cljs$core$IIndexed$_nth$arity$3=function(a,b,c){return 0<=b&&b<this.end-this.off?this.arr[this.off+b]:c};cljs.core.ArrayChunk.prototype.cljs$core$IChunk$=cljs.core.PROTOCOL_SENTINEL;cljs.core.ArrayChunk.prototype.cljs$core$IChunk$_drop_first$arity$1=function(a){if(this.off===this.end)throw Error("-drop-first of empty chunk");return new cljs.core.ArrayChunk(this.arr,this.off+1,this.end)};
cljs.core.ArrayChunk.prototype.cljs$core$IReduce$_reduce$arity$2=function(a,b){return cljs.core.array_reduce.cljs$core$IFn$_invoke$arity$4(this.arr,b,this.arr[this.off],this.off+1)};cljs.core.ArrayChunk.prototype.cljs$core$IReduce$_reduce$arity$3=function(a,b,c){return cljs.core.array_reduce.cljs$core$IFn$_invoke$arity$4(this.arr,b,c,this.off)};
cljs.core.ArrayChunk.getBasis=function(){return new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"arr","arr",2115492975,null),new cljs.core.Symbol(null,"off","off",-2047994980,null),new cljs.core.Symbol(null,"end","end",1372345569,null)],null)};cljs.core.ArrayChunk.cljs$lang$type=!0;cljs.core.ArrayChunk.cljs$lang$ctorStr="cljs.core/ArrayChunk";cljs.core.ArrayChunk.cljs$lang$ctorPrWriter=function(a,b,c){return cljs.core._write(b,"cljs.core/ArrayChunk")};
cljs.core.__GT_ArrayChunk=function(a,b,c){return new cljs.core.ArrayChunk(a,b,c)};
cljs.core.array_chunk=function(a){switch(arguments.length){case 1:return cljs.core.array_chunk.cljs$core$IFn$_invoke$arity$1(arguments[0]);case 2:return cljs.core.array_chunk.cljs$core$IFn$_invoke$arity$2(arguments[0],arguments[1]);case 3:return cljs.core.array_chunk.cljs$core$IFn$_invoke$arity$3(arguments[0],arguments[1],arguments[2]);default:throw Error(["Invalid arity: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(""));}};
cljs.core.array_chunk.cljs$core$IFn$_invoke$arity$1=function(a){return new cljs.core.ArrayChunk(a,0,a.length)};cljs.core.array_chunk.cljs$core$IFn$_invoke$arity$2=function(a,b){return new cljs.core.ArrayChunk(a,b,a.length)};cljs.core.array_chunk.cljs$core$IFn$_invoke$arity$3=function(a,b,c){return new cljs.core.ArrayChunk(a,b,c)};cljs.core.array_chunk.cljs$lang$maxFixedArity=3;
cljs.core.ChunkedCons=function(a,b,c,d){this.chunk=a;this.more=b;this.meta=c;this.__hash=d;this.cljs$lang$protocol_mask$partition0$=31850732;this.cljs$lang$protocol_mask$partition1$=1536};cljs.core.ChunkedCons.prototype.toString=function(){return cljs.core.pr_str_STAR_(this)};cljs.core.ChunkedCons.prototype.equiv=function(a){return this.cljs$core$IEquiv$_equiv$arity$2(null,a)};
cljs.core.ChunkedCons.prototype.indexOf=function(){var a=null,b=function(a){return cljs.core._indexOf.cljs$core$IFn$_invoke$arity$3(this,a,0)},c=function(a,b){return cljs.core._indexOf.cljs$core$IFn$_invoke$arity$3(this,a,b)};a=function(a,e){switch(arguments.length){case 1:return b.call(this,a);case 2:return c.call(this,a,e)}throw Error("Invalid arity: "+arguments.length);};a.cljs$core$IFn$_invoke$arity$1=b;a.cljs$core$IFn$_invoke$arity$2=c;return a}();
cljs.core.ChunkedCons.prototype.lastIndexOf=function(){var a=null,b=function(a){return cljs.core._lastIndexOf.cljs$core$IFn$_invoke$arity$3(this,a,cljs.core.count(this))},c=function(a,b){return cljs.core._lastIndexOf.cljs$core$IFn$_invoke$arity$3(this,a,b)};a=function(a,e){switch(arguments.length){case 1:return b.call(this,a);case 2:return c.call(this,a,e)}throw Error("Invalid arity: "+arguments.length);};a.cljs$core$IFn$_invoke$arity$1=b;a.cljs$core$IFn$_invoke$arity$2=c;return a}();
cljs.core.ChunkedCons.prototype.cljs$core$IMeta$_meta$arity$1=function(a){return this.meta};cljs.core.ChunkedCons.prototype.cljs$core$INext$_next$arity$1=function(a){return 1<cljs.core._count(this.chunk)?new cljs.core.ChunkedCons(cljs.core._drop_first(this.chunk),this.more,null,null):null==this.more?null:cljs.core._seq(this.more)};cljs.core.ChunkedCons.prototype.cljs$core$IHash$_hash$arity$1=function(a){a=this.__hash;return null!=a?a:this.__hash=a=cljs.core.hash_ordered_coll(this)};
cljs.core.ChunkedCons.prototype.cljs$core$IEquiv$_equiv$arity$2=function(a,b){return cljs.core.equiv_sequential(this,b)};cljs.core.ChunkedCons.prototype.cljs$core$IEmptyableCollection$_empty$arity$1=function(a){return cljs.core.List.EMPTY};cljs.core.ChunkedCons.prototype.cljs$core$ISeq$_first$arity$1=function(a){return cljs.core._nth.cljs$core$IFn$_invoke$arity$2(this.chunk,0)};
cljs.core.ChunkedCons.prototype.cljs$core$ISeq$_rest$arity$1=function(a){return 1<cljs.core._count(this.chunk)?new cljs.core.ChunkedCons(cljs.core._drop_first(this.chunk),this.more,null,null):null==this.more?cljs.core.List.EMPTY:this.more};cljs.core.ChunkedCons.prototype.cljs$core$ISeqable$_seq$arity$1=function(a){return this};cljs.core.ChunkedCons.prototype.cljs$core$IChunkedSeq$_chunked_first$arity$1=function(a){return this.chunk};
cljs.core.ChunkedCons.prototype.cljs$core$IChunkedSeq$_chunked_rest$arity$1=function(a){return null==this.more?cljs.core.List.EMPTY:this.more};cljs.core.ChunkedCons.prototype.cljs$core$IWithMeta$_with_meta$arity$2=function(a,b){return b===this.meta?this:new cljs.core.ChunkedCons(this.chunk,this.more,b,this.__hash)};cljs.core.ChunkedCons.prototype.cljs$core$ICollection$_conj$arity$2=function(a,b){return cljs.core.cons(b,this)};
cljs.core.ChunkedCons.prototype.cljs$core$IChunkedNext$_chunked_next$arity$1=function(a){return null==this.more?null:this.more};
cljs.core.ChunkedCons.getBasis=function(){return new cljs.core.PersistentVector(null,4,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"chunk","chunk",449371907,null),new cljs.core.Symbol(null,"more","more",-418290273,null),new cljs.core.Symbol(null,"meta","meta",-1154898805,null),cljs.core.with_meta(new cljs.core.Symbol(null,"__hash","__hash",-1328796629,null),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"mutable","mutable",875778266),!0],null))],null)};
cljs.core.ChunkedCons.cljs$lang$type=!0;cljs.core.ChunkedCons.cljs$lang$ctorStr="cljs.core/ChunkedCons";cljs.core.ChunkedCons.cljs$lang$ctorPrWriter=function(a,b,c){return cljs.core._write(b,"cljs.core/ChunkedCons")};cljs.core.__GT_ChunkedCons=function(a,b,c,d){return new cljs.core.ChunkedCons(a,b,c,d)};var G__22183_22186=cljs.core.ChunkedCons.prototype,G__22184_22187=cljs.core.ITER_SYMBOL,G__22185_22188=function(a,b){return function(){return cljs.core.es6_iterator(this)}}(G__22183_22186,G__22184_22187);
goog.object.set(G__22183_22186,G__22184_22187,G__22185_22188);cljs.core.chunk_cons=function(a,b){return 0===cljs.core._count(a)?b:new cljs.core.ChunkedCons(a,b,null,null)};cljs.core.chunk_append=function(a,b){return a.add(b)};cljs.core.chunk=function(a){return a.chunk()};cljs.core.chunk_first=function(a){return cljs.core._chunked_first(a)};cljs.core.chunk_rest=function(a){return cljs.core._chunked_rest(a)};
cljs.core.chunk_next=function(a){return null!=a&&(a.cljs$lang$protocol_mask$partition1$&1024||cljs.core.PROTOCOL_SENTINEL===a.cljs$core$IChunkedNext$)?cljs.core._chunked_next(a):cljs.core.seq(cljs.core._chunked_rest(a))};cljs.core.to_array=function(a){var b=[];for(a=cljs.core.seq(a);;)if(null!=a)b.push(cljs.core.first(a)),a=cljs.core.next(a);else return b};
cljs.core.to_array_2d=function(a){var b=Array(cljs.core.count(a)),c=0;for(a=cljs.core.seq(a);;)if(null!=a)b[c]=cljs.core.to_array(cljs.core.first(a)),c+=1,a=cljs.core.next(a);else break;return b};
cljs.core.int_array=function(a){switch(arguments.length){case 1:return cljs.core.int_array.cljs$core$IFn$_invoke$arity$1(arguments[0]);case 2:return cljs.core.int_array.cljs$core$IFn$_invoke$arity$2(arguments[0],arguments[1]);default:throw Error(["Invalid arity: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(""));}};cljs.core.int_array.cljs$core$IFn$_invoke$arity$1=function(a){return"number"===typeof a?cljs.core.int_array.cljs$core$IFn$_invoke$arity$2(a,null):cljs.core.into_array.cljs$core$IFn$_invoke$arity$1(a)};
cljs.core.int_array.cljs$core$IFn$_invoke$arity$2=function(a,b){var c=Array(a);if(cljs.core.seq_QMARK_(b)){var d=0;for(b=cljs.core.seq(b);;)if(b&&d<a)c[d]=cljs.core.first(b),d+=1,b=cljs.core.next(b);else return c}else{for(d=0;;)if(d<a)c[d]=b,d+=1;else break;return c}};cljs.core.int_array.cljs$lang$maxFixedArity=2;
cljs.core.long_array=function(a){switch(arguments.length){case 1:return cljs.core.long_array.cljs$core$IFn$_invoke$arity$1(arguments[0]);case 2:return cljs.core.long_array.cljs$core$IFn$_invoke$arity$2(arguments[0],arguments[1]);default:throw Error(["Invalid arity: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(""));}};cljs.core.long_array.cljs$core$IFn$_invoke$arity$1=function(a){return"number"===typeof a?cljs.core.long_array.cljs$core$IFn$_invoke$arity$2(a,null):cljs.core.into_array.cljs$core$IFn$_invoke$arity$1(a)};
cljs.core.long_array.cljs$core$IFn$_invoke$arity$2=function(a,b){var c=Array(a);if(cljs.core.seq_QMARK_(b)){var d=0;for(b=cljs.core.seq(b);;)if(b&&d<a)c[d]=cljs.core.first(b),d+=1,b=cljs.core.next(b);else return c}else{for(d=0;;)if(d<a)c[d]=b,d+=1;else break;return c}};cljs.core.long_array.cljs$lang$maxFixedArity=2;
cljs.core.double_array=function(a){switch(arguments.length){case 1:return cljs.core.double_array.cljs$core$IFn$_invoke$arity$1(arguments[0]);case 2:return cljs.core.double_array.cljs$core$IFn$_invoke$arity$2(arguments[0],arguments[1]);default:throw Error(["Invalid arity: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(""));}};
cljs.core.double_array.cljs$core$IFn$_invoke$arity$1=function(a){return"number"===typeof a?cljs.core.double_array.cljs$core$IFn$_invoke$arity$2(a,null):cljs.core.into_array.cljs$core$IFn$_invoke$arity$1(a)};cljs.core.double_array.cljs$core$IFn$_invoke$arity$2=function(a,b){var c=Array(a);if(cljs.core.seq_QMARK_(b)){var d=0;for(b=cljs.core.seq(b);;)if(b&&d<a)c[d]=cljs.core.first(b),d+=1,b=cljs.core.next(b);else return c}else{for(d=0;;)if(d<a)c[d]=b,d+=1;else break;return c}};
cljs.core.double_array.cljs$lang$maxFixedArity=2;cljs.core.object_array=function(a){switch(arguments.length){case 1:return cljs.core.object_array.cljs$core$IFn$_invoke$arity$1(arguments[0]);case 2:return cljs.core.object_array.cljs$core$IFn$_invoke$arity$2(arguments[0],arguments[1]);default:throw Error(["Invalid arity: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(""));}};
cljs.core.object_array.cljs$core$IFn$_invoke$arity$1=function(a){return"number"===typeof a?cljs.core.object_array.cljs$core$IFn$_invoke$arity$2(a,null):cljs.core.into_array.cljs$core$IFn$_invoke$arity$1(a)};cljs.core.object_array.cljs$core$IFn$_invoke$arity$2=function(a,b){var c=Array(a);if(cljs.core.seq_QMARK_(b)){var d=0;for(b=cljs.core.seq(b);;)if(b&&d<a)c[d]=cljs.core.first(b),d+=1,b=cljs.core.next(b);else return c}else{for(d=0;;)if(d<a)c[d]=b,d+=1;else break;return c}};
cljs.core.object_array.cljs$lang$maxFixedArity=2;cljs.core.bounded_count=function(a,b){if(cljs.core.counted_QMARK_(b))return cljs.core.count(b);var c=0;for(b=cljs.core.seq(b);;)if(null!=b&&c<a)c+=1,b=cljs.core.next(b);else return c};
cljs.core.spread=function(a){if(null==a)return null;var b=cljs.core.next(a);return null==b?cljs.core.seq(cljs.core.first(a)):cljs.core.cons(cljs.core.first(a),cljs.core.spread.cljs$core$IFn$_invoke$arity$1?cljs.core.spread.cljs$core$IFn$_invoke$arity$1(b):cljs.core.spread.call(null,b))};
cljs.core.concat=function(a){switch(arguments.length){case 0:return cljs.core.concat.cljs$core$IFn$_invoke$arity$0();case 1:return cljs.core.concat.cljs$core$IFn$_invoke$arity$1(arguments[0]);case 2:return cljs.core.concat.cljs$core$IFn$_invoke$arity$2(arguments[0],arguments[1]);default:for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;b=new cljs.core.IndexedSeq(b.slice(2),0,null);return cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic(arguments[0],arguments[1],
b)}};cljs.core.concat.cljs$core$IFn$_invoke$arity$0=function(){return new cljs.core.LazySeq(null,function(){return null},null,null)};cljs.core.concat.cljs$core$IFn$_invoke$arity$1=function(a){return new cljs.core.LazySeq(null,function(){return a},null,null)};
cljs.core.concat.cljs$core$IFn$_invoke$arity$2=function(a,b){return new cljs.core.LazySeq(null,function(){var c=cljs.core.seq(a);return c?cljs.core.chunked_seq_QMARK_(c)?cljs.core.chunk_cons(cljs.core.chunk_first(c),cljs.core.concat.cljs$core$IFn$_invoke$arity$2(cljs.core.chunk_rest(c),b)):cljs.core.cons(cljs.core.first(c),cljs.core.concat.cljs$core$IFn$_invoke$arity$2(cljs.core.rest(c),b)):b},null,null)};
cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic=function(a,b,c){return function g(a,b){return new cljs.core.LazySeq(null,function(){var c=cljs.core.seq(a);return c?cljs.core.chunked_seq_QMARK_(c)?cljs.core.chunk_cons(cljs.core.chunk_first(c),g(cljs.core.chunk_rest(c),b)):cljs.core.cons(cljs.core.first(c),g(cljs.core.rest(c),b)):cljs.core.truth_(b)?g(cljs.core.first(b),cljs.core.next(b)):null},null,null)}(cljs.core.concat.cljs$core$IFn$_invoke$arity$2(a,b),c)};
cljs.core.concat.cljs$lang$applyTo=function(a){var b=cljs.core.first(a),c=cljs.core.next(a);a=cljs.core.first(c);c=cljs.core.next(c);return this.cljs$core$IFn$_invoke$arity$variadic(b,a,c)};cljs.core.concat.cljs$lang$maxFixedArity=2;
cljs.core.list_STAR_=function(a){switch(arguments.length){case 1:return cljs.core.list_STAR_.cljs$core$IFn$_invoke$arity$1(arguments[0]);case 2:return cljs.core.list_STAR_.cljs$core$IFn$_invoke$arity$2(arguments[0],arguments[1]);case 3:return cljs.core.list_STAR_.cljs$core$IFn$_invoke$arity$3(arguments[0],arguments[1],arguments[2]);case 4:return cljs.core.list_STAR_.cljs$core$IFn$_invoke$arity$4(arguments[0],arguments[1],arguments[2],arguments[3]);default:for(var b=[],c=arguments.length,d=0;;)if(d<
c)b.push(arguments[d]),d+=1;else break;b=new cljs.core.IndexedSeq(b.slice(4),0,null);return cljs.core.list_STAR_.cljs$core$IFn$_invoke$arity$variadic(arguments[0],arguments[1],arguments[2],arguments[3],b)}};cljs.core.list_STAR_.cljs$core$IFn$_invoke$arity$1=function(a){return cljs.core.seq(a)};cljs.core.list_STAR_.cljs$core$IFn$_invoke$arity$2=function(a,b){return cljs.core.cons(a,b)};cljs.core.list_STAR_.cljs$core$IFn$_invoke$arity$3=function(a,b,c){return cljs.core.cons(a,cljs.core.cons(b,c))};
cljs.core.list_STAR_.cljs$core$IFn$_invoke$arity$4=function(a,b,c,d){return cljs.core.cons(a,cljs.core.cons(b,cljs.core.cons(c,d)))};cljs.core.list_STAR_.cljs$core$IFn$_invoke$arity$variadic=function(a,b,c,d,e){return cljs.core.cons(a,cljs.core.cons(b,cljs.core.cons(c,cljs.core.cons(d,cljs.core.spread(e)))))};
cljs.core.list_STAR_.cljs$lang$applyTo=function(a){var b=cljs.core.first(a),c=cljs.core.next(a);a=cljs.core.first(c);var d=cljs.core.next(c);c=cljs.core.first(d);var e=cljs.core.next(d);d=cljs.core.first(e);e=cljs.core.next(e);return this.cljs$core$IFn$_invoke$arity$variadic(b,a,c,d,e)};cljs.core.list_STAR_.cljs$lang$maxFixedArity=4;cljs.core.transient$=function(a){return cljs.core._as_transient(a)};cljs.core.persistent_BANG_=function(a){return cljs.core._persistent_BANG_(a)};
cljs.core.conj_BANG_=function(a){switch(arguments.length){case 0:return cljs.core.conj_BANG_.cljs$core$IFn$_invoke$arity$0();case 1:return cljs.core.conj_BANG_.cljs$core$IFn$_invoke$arity$1(arguments[0]);case 2:return cljs.core.conj_BANG_.cljs$core$IFn$_invoke$arity$2(arguments[0],arguments[1]);default:for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;b=new cljs.core.IndexedSeq(b.slice(2),0,null);return cljs.core.conj_BANG_.cljs$core$IFn$_invoke$arity$variadic(arguments[0],
arguments[1],b)}};cljs.core.conj_BANG_.cljs$core$IFn$_invoke$arity$0=function(){return cljs.core.transient$(cljs.core.PersistentVector.EMPTY)};cljs.core.conj_BANG_.cljs$core$IFn$_invoke$arity$1=function(a){return a};cljs.core.conj_BANG_.cljs$core$IFn$_invoke$arity$2=function(a,b){return cljs.core._conj_BANG_(a,b)};cljs.core.conj_BANG_.cljs$core$IFn$_invoke$arity$variadic=function(a,b,c){for(;;)if(a=cljs.core._conj_BANG_(a,b),cljs.core.truth_(c))b=cljs.core.first(c),c=cljs.core.next(c);else return a};
cljs.core.conj_BANG_.cljs$lang$applyTo=function(a){var b=cljs.core.first(a),c=cljs.core.next(a);a=cljs.core.first(c);c=cljs.core.next(c);return this.cljs$core$IFn$_invoke$arity$variadic(b,a,c)};cljs.core.conj_BANG_.cljs$lang$maxFixedArity=2;
cljs.core.assoc_BANG_=function(a){switch(arguments.length){case 3:return cljs.core.assoc_BANG_.cljs$core$IFn$_invoke$arity$3(arguments[0],arguments[1],arguments[2]);default:for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;b=new cljs.core.IndexedSeq(b.slice(3),0,null);return cljs.core.assoc_BANG_.cljs$core$IFn$_invoke$arity$variadic(arguments[0],arguments[1],arguments[2],b)}};
cljs.core.assoc_BANG_.cljs$core$IFn$_invoke$arity$3=function(a,b,c){return cljs.core._assoc_BANG_(a,b,c)};cljs.core.assoc_BANG_.cljs$core$IFn$_invoke$arity$variadic=function(a,b,c,d){for(;;)if(a=cljs.core._assoc_BANG_(a,b,c),cljs.core.truth_(d))b=cljs.core.first(d),c=cljs.core.second(d),d=cljs.core.nnext(d);else return a};
cljs.core.assoc_BANG_.cljs$lang$applyTo=function(a){var b=cljs.core.first(a),c=cljs.core.next(a);a=cljs.core.first(c);var d=cljs.core.next(c);c=cljs.core.first(d);d=cljs.core.next(d);return this.cljs$core$IFn$_invoke$arity$variadic(b,a,c,d)};cljs.core.assoc_BANG_.cljs$lang$maxFixedArity=3;
cljs.core.dissoc_BANG_=function(a){switch(arguments.length){case 2:return cljs.core.dissoc_BANG_.cljs$core$IFn$_invoke$arity$2(arguments[0],arguments[1]);default:for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;b=new cljs.core.IndexedSeq(b.slice(2),0,null);return cljs.core.dissoc_BANG_.cljs$core$IFn$_invoke$arity$variadic(arguments[0],arguments[1],b)}};cljs.core.dissoc_BANG_.cljs$core$IFn$_invoke$arity$2=function(a,b){return cljs.core._dissoc_BANG_(a,b)};
cljs.core.dissoc_BANG_.cljs$core$IFn$_invoke$arity$variadic=function(a,b,c){for(;;)if(a=cljs.core._dissoc_BANG_(a,b),cljs.core.truth_(c))b=cljs.core.first(c),c=cljs.core.next(c);else return a};cljs.core.dissoc_BANG_.cljs$lang$applyTo=function(a){var b=cljs.core.first(a),c=cljs.core.next(a);a=cljs.core.first(c);c=cljs.core.next(c);return this.cljs$core$IFn$_invoke$arity$variadic(b,a,c)};cljs.core.dissoc_BANG_.cljs$lang$maxFixedArity=2;cljs.core.pop_BANG_=function(a){return cljs.core._pop_BANG_(a)};
cljs.core.disj_BANG_=function(a){switch(arguments.length){case 2:return cljs.core.disj_BANG_.cljs$core$IFn$_invoke$arity$2(arguments[0],arguments[1]);default:for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;b=new cljs.core.IndexedSeq(b.slice(2),0,null);return cljs.core.disj_BANG_.cljs$core$IFn$_invoke$arity$variadic(arguments[0],arguments[1],b)}};cljs.core.disj_BANG_.cljs$core$IFn$_invoke$arity$2=function(a,b){return cljs.core._disjoin_BANG_(a,b)};
cljs.core.disj_BANG_.cljs$core$IFn$_invoke$arity$variadic=function(a,b,c){for(;;)if(a=cljs.core._disjoin_BANG_(a,b),cljs.core.truth_(c))b=cljs.core.first(c),c=cljs.core.next(c);else return a};cljs.core.disj_BANG_.cljs$lang$applyTo=function(a){var b=cljs.core.first(a),c=cljs.core.next(a);a=cljs.core.first(c);c=cljs.core.next(c);return this.cljs$core$IFn$_invoke$arity$variadic(b,a,c)};cljs.core.disj_BANG_.cljs$lang$maxFixedArity=2;
cljs.core.apply_to=function(a,b,c){var d=cljs.core.seq(c);if(0===b)return a.cljs$core$IFn$_invoke$arity$0?a.cljs$core$IFn$_invoke$arity$0():a.call(null);c=cljs.core._first(d);var e=cljs.core._rest(d);if(1===b)return a.cljs$core$IFn$_invoke$arity$1?a.cljs$core$IFn$_invoke$arity$1(c):a.call(null,c);d=cljs.core._first(e);var f=cljs.core._rest(e);if(2===b)return a.cljs$core$IFn$_invoke$arity$2?a.cljs$core$IFn$_invoke$arity$2(c,d):a.call(null,c,d);e=cljs.core._first(f);var g=cljs.core._rest(f);if(3===
b)return a.cljs$core$IFn$_invoke$arity$3?a.cljs$core$IFn$_invoke$arity$3(c,d,e):a.call(null,c,d,e);f=cljs.core._first(g);var h=cljs.core._rest(g);if(4===b)return a.cljs$core$IFn$_invoke$arity$4?a.cljs$core$IFn$_invoke$arity$4(c,d,e,f):a.call(null,c,d,e,f);g=cljs.core._first(h);var k=cljs.core._rest(h);if(5===b)return a.cljs$core$IFn$_invoke$arity$5?a.cljs$core$IFn$_invoke$arity$5(c,d,e,f,g):a.call(null,c,d,e,f,g);h=cljs.core._first(k);var l=cljs.core._rest(k);if(6===b)return a.cljs$core$IFn$_invoke$arity$6?
a.cljs$core$IFn$_invoke$arity$6(c,d,e,f,g,h):a.call(null,c,d,e,f,g,h);k=cljs.core._first(l);var m=cljs.core._rest(l);if(7===b)return a.cljs$core$IFn$_invoke$arity$7?a.cljs$core$IFn$_invoke$arity$7(c,d,e,f,g,h,k):a.call(null,c,d,e,f,g,h,k);l=cljs.core._first(m);var n=cljs.core._rest(m);if(8===b)return a.cljs$core$IFn$_invoke$arity$8?a.cljs$core$IFn$_invoke$arity$8(c,d,e,f,g,h,k,l):a.call(null,c,d,e,f,g,h,k,l);m=cljs.core._first(n);var p=cljs.core._rest(n);if(9===b)return a.cljs$core$IFn$_invoke$arity$9?
a.cljs$core$IFn$_invoke$arity$9(c,d,e,f,g,h,k,l,m):a.call(null,c,d,e,f,g,h,k,l,m);n=cljs.core._first(p);var q=cljs.core._rest(p);if(10===b)return a.cljs$core$IFn$_invoke$arity$10?a.cljs$core$IFn$_invoke$arity$10(c,d,e,f,g,h,k,l,m,n):a.call(null,c,d,e,f,g,h,k,l,m,n);p=cljs.core._first(q);var r=cljs.core._rest(q);if(11===b)return a.cljs$core$IFn$_invoke$arity$11?a.cljs$core$IFn$_invoke$arity$11(c,d,e,f,g,h,k,l,m,n,p):a.call(null,c,d,e,f,g,h,k,l,m,n,p);q=cljs.core._first(r);var u=cljs.core._rest(r);
if(12===b)return a.cljs$core$IFn$_invoke$arity$12?a.cljs$core$IFn$_invoke$arity$12(c,d,e,f,g,h,k,l,m,n,p,q):a.call(null,c,d,e,f,g,h,k,l,m,n,p,q);r=cljs.core._first(u);var t=cljs.core._rest(u);if(13===b)return a.cljs$core$IFn$_invoke$arity$13?a.cljs$core$IFn$_invoke$arity$13(c,d,e,f,g,h,k,l,m,n,p,q,r):a.call(null,c,d,e,f,g,h,k,l,m,n,p,q,r);u=cljs.core._first(t);var v=cljs.core._rest(t);if(14===b)return a.cljs$core$IFn$_invoke$arity$14?a.cljs$core$IFn$_invoke$arity$14(c,d,e,f,g,h,k,l,m,n,p,q,r,u):a.call(null,
c,d,e,f,g,h,k,l,m,n,p,q,r,u);t=cljs.core._first(v);var w=cljs.core._rest(v);if(15===b)return a.cljs$core$IFn$_invoke$arity$15?a.cljs$core$IFn$_invoke$arity$15(c,d,e,f,g,h,k,l,m,n,p,q,r,u,t):a.call(null,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t);v=cljs.core._first(w);var x=cljs.core._rest(w);if(16===b)return a.cljs$core$IFn$_invoke$arity$16?a.cljs$core$IFn$_invoke$arity$16(c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v):a.call(null,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v);w=cljs.core._first(x);var y=cljs.core._rest(x);if(17===b)return a.cljs$core$IFn$_invoke$arity$17?
a.cljs$core$IFn$_invoke$arity$17(c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w):a.call(null,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w);x=cljs.core._first(y);var z=cljs.core._rest(y);if(18===b)return a.cljs$core$IFn$_invoke$arity$18?a.cljs$core$IFn$_invoke$arity$18(c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w,x):a.call(null,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w,x);y=cljs.core._first(z);z=cljs.core._rest(z);if(19===b)return a.cljs$core$IFn$_invoke$arity$19?a.cljs$core$IFn$_invoke$arity$19(c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w,x,y):a.call(null,
c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w,x,y);var B=cljs.core._first(z);cljs.core._rest(z);if(20===b)return a.cljs$core$IFn$_invoke$arity$20?a.cljs$core$IFn$_invoke$arity$20(c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w,x,y,B):a.call(null,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w,x,y,B);throw Error("Only up to 20 arguments supported on functions");};
cljs.core.next_STAR_=function(a){return null!=a&&(a.cljs$lang$protocol_mask$partition0$&128||cljs.core.PROTOCOL_SENTINEL===a.cljs$core$INext$)?a.cljs$core$INext$_next$arity$1(null):cljs.core.seq(cljs.core.rest(a))};
cljs.core.apply_to_simple=function(a){switch(arguments.length){case 2:return cljs.core.apply_to_simple.cljs$core$IFn$_invoke$arity$2(arguments[0],arguments[1]);case 3:return cljs.core.apply_to_simple.cljs$core$IFn$_invoke$arity$3(arguments[0],arguments[1],arguments[2]);case 4:return cljs.core.apply_to_simple.cljs$core$IFn$_invoke$arity$4(arguments[0],arguments[1],arguments[2],arguments[3]);case 5:return cljs.core.apply_to_simple.cljs$core$IFn$_invoke$arity$5(arguments[0],arguments[1],arguments[2],
arguments[3],arguments[4]);case 6:return cljs.core.apply_to_simple.cljs$core$IFn$_invoke$arity$6(arguments[0],arguments[1],arguments[2],arguments[3],arguments[4],arguments[5]);default:throw Error(["Invalid arity: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(""));}};
cljs.core.apply_to_simple.cljs$core$IFn$_invoke$arity$2=function(a,b){return null==b?a.cljs$core$IFn$_invoke$arity$0?a.cljs$core$IFn$_invoke$arity$0():a.call(a):cljs.core.apply_to_simple.cljs$core$IFn$_invoke$arity$3(a,cljs.core._first(b),cljs.core.next_STAR_(b))};
cljs.core.apply_to_simple.cljs$core$IFn$_invoke$arity$3=function(a,b,c){return null==c?a.cljs$core$IFn$_invoke$arity$1?a.cljs$core$IFn$_invoke$arity$1(b):a.call(a,b):cljs.core.apply_to_simple.cljs$core$IFn$_invoke$arity$4(a,b,cljs.core._first(c),cljs.core.next_STAR_(c))};
cljs.core.apply_to_simple.cljs$core$IFn$_invoke$arity$4=function(a,b,c,d){return null==d?a.cljs$core$IFn$_invoke$arity$2?a.cljs$core$IFn$_invoke$arity$2(b,c):a.call(a,b,c):cljs.core.apply_to_simple.cljs$core$IFn$_invoke$arity$5(a,b,c,cljs.core._first(d),cljs.core.next_STAR_(d))};
cljs.core.apply_to_simple.cljs$core$IFn$_invoke$arity$5=function(a,b,c,d,e){return null==e?a.cljs$core$IFn$_invoke$arity$3?a.cljs$core$IFn$_invoke$arity$3(b,c,d):a.call(a,b,c,d):cljs.core.apply_to_simple.cljs$core$IFn$_invoke$arity$6(a,b,c,d,cljs.core._first(e),cljs.core.next_STAR_(e))};
cljs.core.apply_to_simple.cljs$core$IFn$_invoke$arity$6=function(a,b,c,d,e,f){if(null==f)return a.cljs$core$IFn$_invoke$arity$4?a.cljs$core$IFn$_invoke$arity$4(b,c,d,e):a.call(a,b,c,d,e);var g=cljs.core._first(f),h=cljs.core.next(f);if(null==h)return a.cljs$core$IFn$_invoke$arity$5?a.cljs$core$IFn$_invoke$arity$5(b,c,d,e,g):a.call(a,b,c,d,e,g);f=cljs.core._first(h);var k=cljs.core.next(h);if(null==k)return a.cljs$core$IFn$_invoke$arity$6?a.cljs$core$IFn$_invoke$arity$6(b,c,d,e,g,f):a.call(a,b,c,d,
e,g,f);h=cljs.core._first(k);var l=cljs.core.next(k);if(null==l)return a.cljs$core$IFn$_invoke$arity$7?a.cljs$core$IFn$_invoke$arity$7(b,c,d,e,g,f,h):a.call(a,b,c,d,e,g,f,h);k=cljs.core._first(l);var m=cljs.core.next(l);if(null==m)return a.cljs$core$IFn$_invoke$arity$8?a.cljs$core$IFn$_invoke$arity$8(b,c,d,e,g,f,h,k):a.call(a,b,c,d,e,g,f,h,k);l=cljs.core._first(m);var n=cljs.core.next(m);if(null==n)return a.cljs$core$IFn$_invoke$arity$9?a.cljs$core$IFn$_invoke$arity$9(b,c,d,e,g,f,h,k,l):a.call(a,
b,c,d,e,g,f,h,k,l);m=cljs.core._first(n);var p=cljs.core.next(n);if(null==p)return a.cljs$core$IFn$_invoke$arity$10?a.cljs$core$IFn$_invoke$arity$10(b,c,d,e,g,f,h,k,l,m):a.call(a,b,c,d,e,g,f,h,k,l,m);n=cljs.core._first(p);var q=cljs.core.next(p);if(null==q)return a.cljs$core$IFn$_invoke$arity$11?a.cljs$core$IFn$_invoke$arity$11(b,c,d,e,g,f,h,k,l,m,n):a.call(a,b,c,d,e,g,f,h,k,l,m,n);p=cljs.core._first(q);var r=cljs.core.next(q);if(null==r)return a.cljs$core$IFn$_invoke$arity$12?a.cljs$core$IFn$_invoke$arity$12(b,
c,d,e,g,f,h,k,l,m,n,p):a.call(a,b,c,d,e,g,f,h,k,l,m,n,p);q=cljs.core._first(r);var u=cljs.core.next(r);if(null==u)return a.cljs$core$IFn$_invoke$arity$13?a.cljs$core$IFn$_invoke$arity$13(b,c,d,e,g,f,h,k,l,m,n,p,q):a.call(a,b,c,d,e,g,f,h,k,l,m,n,p,q);r=cljs.core._first(u);var t=cljs.core.next(u);if(null==t)return a.cljs$core$IFn$_invoke$arity$14?a.cljs$core$IFn$_invoke$arity$14(b,c,d,e,g,f,h,k,l,m,n,p,q,r):a.call(a,b,c,d,e,g,f,h,k,l,m,n,p,q,r);u=cljs.core._first(t);var v=cljs.core.next(t);if(null==
v)return a.cljs$core$IFn$_invoke$arity$15?a.cljs$core$IFn$_invoke$arity$15(b,c,d,e,g,f,h,k,l,m,n,p,q,r,u):a.call(a,b,c,d,e,g,f,h,k,l,m,n,p,q,r,u);t=cljs.core._first(v);var w=cljs.core.next(v);if(null==w)return a.cljs$core$IFn$_invoke$arity$16?a.cljs$core$IFn$_invoke$arity$16(b,c,d,e,g,f,h,k,l,m,n,p,q,r,u,t):a.call(a,b,c,d,e,g,f,h,k,l,m,n,p,q,r,u,t);v=cljs.core._first(w);var x=cljs.core.next(w);if(null==x)return a.cljs$core$IFn$_invoke$arity$17?a.cljs$core$IFn$_invoke$arity$17(b,c,d,e,g,f,h,k,l,m,
n,p,q,r,u,t,v):a.call(a,b,c,d,e,g,f,h,k,l,m,n,p,q,r,u,t,v);w=cljs.core._first(x);var y=cljs.core.next(x);if(null==y)return a.cljs$core$IFn$_invoke$arity$18?a.cljs$core$IFn$_invoke$arity$18(b,c,d,e,g,f,h,k,l,m,n,p,q,r,u,t,v,w):a.call(a,b,c,d,e,g,f,h,k,l,m,n,p,q,r,u,t,v,w);x=cljs.core._first(y);var z=cljs.core.next(y);if(null==z)return a.cljs$core$IFn$_invoke$arity$19?a.cljs$core$IFn$_invoke$arity$19(b,c,d,e,g,f,h,k,l,m,n,p,q,r,u,t,v,w,x):a.call(a,b,c,d,e,g,f,h,k,l,m,n,p,q,r,u,t,v,w,x);y=cljs.core._first(z);
z=cljs.core.next(z);if(null==z)return a.cljs$core$IFn$_invoke$arity$20?a.cljs$core$IFn$_invoke$arity$20(b,c,d,e,g,f,h,k,l,m,n,p,q,r,u,t,v,w,x,y):a.call(a,b,c,d,e,g,f,h,k,l,m,n,p,q,r,u,t,v,w,x,y);b=[b,c,d,e,g,f,h,k,l,m,n,p,q,r,u,t,v,w,x,y];for(c=z;;)if(c)b.push(cljs.core._first(c)),c=cljs.core.next(c);else break;return a.apply(a,b)};cljs.core.apply_to_simple.cljs$lang$maxFixedArity=6;
cljs.core.apply=function(a){switch(arguments.length){case 2:return cljs.core.apply.cljs$core$IFn$_invoke$arity$2(arguments[0],arguments[1]);case 3:return cljs.core.apply.cljs$core$IFn$_invoke$arity$3(arguments[0],arguments[1],arguments[2]);case 4:return cljs.core.apply.cljs$core$IFn$_invoke$arity$4(arguments[0],arguments[1],arguments[2],arguments[3]);case 5:return cljs.core.apply.cljs$core$IFn$_invoke$arity$5(arguments[0],arguments[1],arguments[2],arguments[3],arguments[4]);default:for(var b=[],c=
arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;b=new cljs.core.IndexedSeq(b.slice(5),0,null);return cljs.core.apply.cljs$core$IFn$_invoke$arity$variadic(arguments[0],arguments[1],arguments[2],arguments[3],arguments[4],b)}};
cljs.core.apply.cljs$core$IFn$_invoke$arity$2=function(a,b){if(a.cljs$lang$applyTo){var c=a.cljs$lang$maxFixedArity,d=cljs.core.bounded_count(c+1,b);return d<=c?cljs.core.apply_to(a,d,b):a.cljs$lang$applyTo(b)}return cljs.core.apply_to_simple.cljs$core$IFn$_invoke$arity$2(a,cljs.core.seq(b))};
cljs.core.apply.cljs$core$IFn$_invoke$arity$3=function(a,b,c){if(a.cljs$lang$applyTo){b=cljs.core.list_STAR_.cljs$core$IFn$_invoke$arity$2(b,c);var d=a.cljs$lang$maxFixedArity;c=cljs.core.bounded_count(d,c)+1;return c<=d?cljs.core.apply_to(a,c,b):a.cljs$lang$applyTo(b)}return cljs.core.apply_to_simple.cljs$core$IFn$_invoke$arity$3(a,b,cljs.core.seq(c))};
cljs.core.apply.cljs$core$IFn$_invoke$arity$4=function(a,b,c,d){return a.cljs$lang$applyTo?(b=cljs.core.list_STAR_.cljs$core$IFn$_invoke$arity$3(b,c,d),c=a.cljs$lang$maxFixedArity,d=2+cljs.core.bounded_count(c-1,d),d<=c?cljs.core.apply_to(a,d,b):a.cljs$lang$applyTo(b)):cljs.core.apply_to_simple.cljs$core$IFn$_invoke$arity$4(a,b,c,cljs.core.seq(d))};
cljs.core.apply.cljs$core$IFn$_invoke$arity$5=function(a,b,c,d,e){return a.cljs$lang$applyTo?(b=cljs.core.list_STAR_.cljs$core$IFn$_invoke$arity$4(b,c,d,e),c=a.cljs$lang$maxFixedArity,e=3+cljs.core.bounded_count(c-2,e),e<=c?cljs.core.apply_to(a,e,b):a.cljs$lang$applyTo(b)):cljs.core.apply_to_simple.cljs$core$IFn$_invoke$arity$5(a,b,c,d,cljs.core.seq(e))};
cljs.core.apply.cljs$core$IFn$_invoke$arity$variadic=function(a,b,c,d,e,f){return a.cljs$lang$applyTo?(f=cljs.core.spread(f),b=cljs.core.cons(b,cljs.core.cons(c,cljs.core.cons(d,cljs.core.cons(e,f)))),c=a.cljs$lang$maxFixedArity,f=4+cljs.core.bounded_count(c-3,f),f<=c?cljs.core.apply_to(a,f,b):a.cljs$lang$applyTo(b)):cljs.core.apply_to_simple.cljs$core$IFn$_invoke$arity$6(a,b,c,d,e,cljs.core.spread(f))};
cljs.core.apply.cljs$lang$applyTo=function(a){var b=cljs.core.first(a),c=cljs.core.next(a);a=cljs.core.first(c);var d=cljs.core.next(c);c=cljs.core.first(d);var e=cljs.core.next(d);d=cljs.core.first(e);var f=cljs.core.next(e);e=cljs.core.first(f);f=cljs.core.next(f);return this.cljs$core$IFn$_invoke$arity$variadic(b,a,c,d,e,f)};cljs.core.apply.cljs$lang$maxFixedArity=5;
cljs.core.vary_meta=function(a){switch(arguments.length){case 2:return cljs.core.vary_meta.cljs$core$IFn$_invoke$arity$2(arguments[0],arguments[1]);case 3:return cljs.core.vary_meta.cljs$core$IFn$_invoke$arity$3(arguments[0],arguments[1],arguments[2]);case 4:return cljs.core.vary_meta.cljs$core$IFn$_invoke$arity$4(arguments[0],arguments[1],arguments[2],arguments[3]);case 5:return cljs.core.vary_meta.cljs$core$IFn$_invoke$arity$5(arguments[0],arguments[1],arguments[2],arguments[3],arguments[4]);case 6:return cljs.core.vary_meta.cljs$core$IFn$_invoke$arity$6(arguments[0],
arguments[1],arguments[2],arguments[3],arguments[4],arguments[5]);default:for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;b=new cljs.core.IndexedSeq(b.slice(6),0,null);return cljs.core.vary_meta.cljs$core$IFn$_invoke$arity$variadic(arguments[0],arguments[1],arguments[2],arguments[3],arguments[4],arguments[5],b)}};
cljs.core.vary_meta.cljs$core$IFn$_invoke$arity$2=function(a,b){return cljs.core.with_meta(a,function(){var c=cljs.core.meta(a);return b.cljs$core$IFn$_invoke$arity$1?b.cljs$core$IFn$_invoke$arity$1(c):b.call(null,c)}())};cljs.core.vary_meta.cljs$core$IFn$_invoke$arity$3=function(a,b,c){return cljs.core.with_meta(a,function(){var d=cljs.core.meta(a);return b.cljs$core$IFn$_invoke$arity$2?b.cljs$core$IFn$_invoke$arity$2(d,c):b.call(null,d,c)}())};
cljs.core.vary_meta.cljs$core$IFn$_invoke$arity$4=function(a,b,c,d){return cljs.core.with_meta(a,function(){var e=cljs.core.meta(a);return b.cljs$core$IFn$_invoke$arity$3?b.cljs$core$IFn$_invoke$arity$3(e,c,d):b.call(null,e,c,d)}())};cljs.core.vary_meta.cljs$core$IFn$_invoke$arity$5=function(a,b,c,d,e){return cljs.core.with_meta(a,function(){var f=cljs.core.meta(a);return b.cljs$core$IFn$_invoke$arity$4?b.cljs$core$IFn$_invoke$arity$4(f,c,d,e):b.call(null,f,c,d,e)}())};
cljs.core.vary_meta.cljs$core$IFn$_invoke$arity$6=function(a,b,c,d,e,f){return cljs.core.with_meta(a,function(){var g=cljs.core.meta(a);return b.cljs$core$IFn$_invoke$arity$5?b.cljs$core$IFn$_invoke$arity$5(g,c,d,e,f):b.call(null,g,c,d,e,f)}())};cljs.core.vary_meta.cljs$core$IFn$_invoke$arity$variadic=function(a,b,c,d,e,f,g){return cljs.core.with_meta(a,cljs.core.apply.cljs$core$IFn$_invoke$arity$variadic(b,cljs.core.meta(a),c,d,e,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([f,g],0)))};
cljs.core.vary_meta.cljs$lang$applyTo=function(a){var b=cljs.core.first(a),c=cljs.core.next(a);a=cljs.core.first(c);var d=cljs.core.next(c);c=cljs.core.first(d);var e=cljs.core.next(d);d=cljs.core.first(e);var f=cljs.core.next(e);e=cljs.core.first(f);var g=cljs.core.next(f);f=cljs.core.first(g);g=cljs.core.next(g);return this.cljs$core$IFn$_invoke$arity$variadic(b,a,c,d,e,f,g)};cljs.core.vary_meta.cljs$lang$maxFixedArity=6;
cljs.core.not_EQ_=function(a){switch(arguments.length){case 1:return cljs.core.not_EQ_.cljs$core$IFn$_invoke$arity$1(arguments[0]);case 2:return cljs.core.not_EQ_.cljs$core$IFn$_invoke$arity$2(arguments[0],arguments[1]);default:for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;b=new cljs.core.IndexedSeq(b.slice(2),0,null);return cljs.core.not_EQ_.cljs$core$IFn$_invoke$arity$variadic(arguments[0],arguments[1],b)}};cljs.core.not_EQ_.cljs$core$IFn$_invoke$arity$1=function(a){return!1};
cljs.core.not_EQ_.cljs$core$IFn$_invoke$arity$2=function(a,b){return!cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(a,b)};cljs.core.not_EQ_.cljs$core$IFn$_invoke$arity$variadic=function(a,b,c){return cljs.core.not(cljs.core.apply.cljs$core$IFn$_invoke$arity$4(cljs.core._EQ_,a,b,c))};cljs.core.not_EQ_.cljs$lang$applyTo=function(a){var b=cljs.core.first(a),c=cljs.core.next(a);a=cljs.core.first(c);c=cljs.core.next(c);return this.cljs$core$IFn$_invoke$arity$variadic(b,a,c)};
cljs.core.not_EQ_.cljs$lang$maxFixedArity=2;cljs.core.not_empty=function(a){return cljs.core.seq(a)?a:null};
cljs.core.nil_iter=function(){if("undefined"===typeof cljs||"undefined"===typeof cljs.core||"undefined"===typeof cljs.core.t_cljs$core22354)cljs.core.t_cljs$core22354=function(a){this.meta22355=a;this.cljs$lang$protocol_mask$partition0$=393216;this.cljs$lang$protocol_mask$partition1$=0},cljs.core.t_cljs$core22354.prototype.cljs$core$IWithMeta$_with_meta$arity$2=function(a,b){return new cljs.core.t_cljs$core22354(b)},cljs.core.t_cljs$core22354.prototype.cljs$core$IMeta$_meta$arity$1=function(a){return this.meta22355},
cljs.core.t_cljs$core22354.prototype.hasNext=function(){return!1},cljs.core.t_cljs$core22354.prototype.next=function(){return Error("No such element")},cljs.core.t_cljs$core22354.prototype.remove=function(){return Error("Unsupported operation")},cljs.core.t_cljs$core22354.getBasis=function(){return new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"meta22355","meta22355",-1215455637,null)],null)},cljs.core.t_cljs$core22354.cljs$lang$type=!0,cljs.core.t_cljs$core22354.cljs$lang$ctorStr=
"cljs.core/t_cljs$core22354",cljs.core.t_cljs$core22354.cljs$lang$ctorPrWriter=function(a,b,c){return cljs.core._write(b,"cljs.core/t_cljs$core22354")},cljs.core.__GT_t_cljs$core22354=function(a){return new cljs.core.t_cljs$core22354(a)};return new cljs.core.t_cljs$core22354(cljs.core.PersistentArrayMap.EMPTY)};cljs.core.StringIter=function(a,b){this.s=a;this.i=b};cljs.core.StringIter.prototype.hasNext=function(){return this.i<this.s.length};
cljs.core.StringIter.prototype.next=function(){var a=this.s.charAt(this.i);this.i+=1;return a};cljs.core.StringIter.prototype.remove=function(){return Error("Unsupported operation")};
cljs.core.StringIter.getBasis=function(){return new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"s","s",-948495851,null),cljs.core.with_meta(new cljs.core.Symbol(null,"i","i",253690212,null),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"mutable","mutable",875778266),!0],null))],null)};cljs.core.StringIter.cljs$lang$type=!0;cljs.core.StringIter.cljs$lang$ctorStr="cljs.core/StringIter";
cljs.core.StringIter.cljs$lang$ctorPrWriter=function(a,b,c){return cljs.core._write(b,"cljs.core/StringIter")};cljs.core.__GT_StringIter=function(a,b){return new cljs.core.StringIter(a,b)};cljs.core.string_iter=function(a){return new cljs.core.StringIter(a,0)};cljs.core.ArrayIter=function(a,b){this.arr=a;this.i=b};cljs.core.ArrayIter.prototype.hasNext=function(){return this.i<this.arr.length};cljs.core.ArrayIter.prototype.next=function(){var a=this.arr[this.i];this.i+=1;return a};
cljs.core.ArrayIter.prototype.remove=function(){return Error("Unsupported operation")};cljs.core.ArrayIter.getBasis=function(){return new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"arr","arr",2115492975,null),cljs.core.with_meta(new cljs.core.Symbol(null,"i","i",253690212,null),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"mutable","mutable",875778266),!0],null))],null)};cljs.core.ArrayIter.cljs$lang$type=!0;
cljs.core.ArrayIter.cljs$lang$ctorStr="cljs.core/ArrayIter";cljs.core.ArrayIter.cljs$lang$ctorPrWriter=function(a,b,c){return cljs.core._write(b,"cljs.core/ArrayIter")};cljs.core.__GT_ArrayIter=function(a,b){return new cljs.core.ArrayIter(a,b)};cljs.core.array_iter=function(a){return new cljs.core.ArrayIter(a,0)};cljs.core.INIT={};cljs.core.START={};cljs.core.SeqIter=function(a,b){this._seq=a;this._next=b};
cljs.core.SeqIter.prototype.hasNext=function(){this._seq===cljs.core.INIT?(this._seq=cljs.core.START,this._next=cljs.core.seq(this._next)):this._seq===this._next&&(this._next=cljs.core.next(this._seq));return null!=this._next};cljs.core.SeqIter.prototype.next=function(){if(this.hasNext())return this._seq=this._next,cljs.core.first(this._next);throw Error("No such element");};cljs.core.SeqIter.prototype.remove=function(){return Error("Unsupported operation")};
cljs.core.SeqIter.getBasis=function(){return new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[cljs.core.with_meta(new cljs.core.Symbol(null,"_seq","_seq",-449557847,null),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"mutable","mutable",875778266),!0],null)),cljs.core.with_meta(new cljs.core.Symbol(null,"_next","_next",101877036,null),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"mutable","mutable",875778266),!0],null))],null)};
cljs.core.SeqIter.cljs$lang$type=!0;cljs.core.SeqIter.cljs$lang$ctorStr="cljs.core/SeqIter";cljs.core.SeqIter.cljs$lang$ctorPrWriter=function(a,b,c){return cljs.core._write(b,"cljs.core/SeqIter")};cljs.core.__GT_SeqIter=function(a,b){return new cljs.core.SeqIter(a,b)};cljs.core.seq_iter=function(a){return new cljs.core.SeqIter(cljs.core.INIT,a)};
cljs.core.iter=function(a){if(cljs.core.iterable_QMARK_(a))return cljs.core._iterator(a);if(null==a)return cljs.core.nil_iter();if("string"===typeof a)return cljs.core.string_iter(a);if(cljs.core.array_QMARK_(a))return cljs.core.array_iter(a);if(cljs.core.seqable_QMARK_(a))return cljs.core.seq_iter(a);throw Error(["Cannot create iterator from ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(a)].join(""));};cljs.core.Many=function(a){this.vals=a};
cljs.core.Many.prototype.add=function(a){this.vals.push(a);return this};cljs.core.Many.prototype.remove=function(){return this.vals.shift()};cljs.core.Many.prototype.isEmpty=function(){return 0===this.vals.length};cljs.core.Many.prototype.toString=function(){return["Many: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(this.vals)].join("")};
cljs.core.Many.getBasis=function(){return new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"vals","vals",-1886377036,null)],null)};cljs.core.Many.cljs$lang$type=!0;cljs.core.Many.cljs$lang$ctorStr="cljs.core/Many";cljs.core.Many.cljs$lang$ctorPrWriter=function(a,b,c){return cljs.core._write(b,"cljs.core/Many")};cljs.core.__GT_Many=function(a){return new cljs.core.Many(a)};cljs.core.NONE={};cljs.core.Single=function(a){this.val=a};
cljs.core.Single.prototype.add=function(a){return this.val===cljs.core.NONE?(this.val=a,this):new cljs.core.Many([this.val,a])};cljs.core.Single.prototype.remove=function(){if(this.val===cljs.core.NONE)throw Error("Removing object from empty buffer");var a=this.val;this.val=cljs.core.NONE;return a};cljs.core.Single.prototype.isEmpty=function(){return this.val===cljs.core.NONE};cljs.core.Single.prototype.toString=function(){return["Single: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(this.val)].join("")};
cljs.core.Single.getBasis=function(){return new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[cljs.core.with_meta(new cljs.core.Symbol(null,"val","val",1769233139,null),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"mutable","mutable",875778266),!0],null))],null)};cljs.core.Single.cljs$lang$type=!0;cljs.core.Single.cljs$lang$ctorStr="cljs.core/Single";cljs.core.Single.cljs$lang$ctorPrWriter=function(a,b,c){return cljs.core._write(b,"cljs.core/Single")};
cljs.core.__GT_Single=function(a){return new cljs.core.Single(a)};cljs.core.Empty=function(){};cljs.core.Empty.prototype.add=function(a){return new cljs.core.Single(a)};cljs.core.Empty.prototype.remove=function(){throw Error("Removing object from empty buffer");};cljs.core.Empty.prototype.isEmpty=function(){return!0};cljs.core.Empty.prototype.toString=function(){return"Empty"};cljs.core.Empty.getBasis=function(){return cljs.core.PersistentVector.EMPTY};cljs.core.Empty.cljs$lang$type=!0;
cljs.core.Empty.cljs$lang$ctorStr="cljs.core/Empty";cljs.core.Empty.cljs$lang$ctorPrWriter=function(a,b,c){return cljs.core._write(b,"cljs.core/Empty")};cljs.core.__GT_Empty=function(){return new cljs.core.Empty};cljs.core.EMPTY=new cljs.core.Empty;cljs.core.MultiIterator=function(a){this.iters=a};cljs.core.MultiIterator.prototype.hasNext=function(){for(var a=cljs.core.seq(this.iters);;)if(null!=a)if(cljs.core.first(a).hasNext())a=cljs.core.next(a);else return!1;else return!0};
cljs.core.MultiIterator.prototype.next=function(){for(var a=[],b=this.iters.length,c=0;;)if(c<b)a[c]=this.iters[c].next(),c+=1;else break;return cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2(a,0)};cljs.core.MultiIterator.getBasis=function(){return new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"iters","iters",719353031,null)],null)};cljs.core.MultiIterator.cljs$lang$type=!0;cljs.core.MultiIterator.cljs$lang$ctorStr="cljs.core/MultiIterator";
cljs.core.MultiIterator.cljs$lang$ctorPrWriter=function(a,b,c){return cljs.core._write(b,"cljs.core/MultiIterator")};cljs.core.__GT_MultiIterator=function(a){return new cljs.core.MultiIterator(a)};
cljs.core.chunkIteratorSeq=function(a){return new cljs.core.LazySeq(null,function(){if(a.hasNext())for(var b=[],c=0;;)if(cljs.core.truth_(function(){var b=a.hasNext();return cljs.core.truth_(b)?32>c:b}()))b[c]=a.next(),c+=1;else return cljs.core.chunk_cons(cljs.core.array_chunk.cljs$core$IFn$_invoke$arity$3(b,0,c),cljs.core.chunkIteratorSeq.cljs$core$IFn$_invoke$arity$1?cljs.core.chunkIteratorSeq.cljs$core$IFn$_invoke$arity$1(a):cljs.core.chunkIteratorSeq.call(null,a));else return null},null,null)};
cljs.core.TransformerIterator=function(a,b,c,d,e,f){this.buffer=a;this._next=b;this.completed=c;this.xf=d;this.sourceIter=e;this.multi=f};
cljs.core.TransformerIterator.prototype.step=function(){if(this._next!==cljs.core.NONE)return!0;for(;;)if(this._next===cljs.core.NONE)if(this.buffer.isEmpty()){if(this.completed)return!1;if(this.sourceIter.hasNext()){if(this.multi)var a=cljs.core.apply.cljs$core$IFn$_invoke$arity$2(this.xf,cljs.core.cons(null,this.sourceIter.next()));else a=this.sourceIter.next(),a=this.xf.cljs$core$IFn$_invoke$arity$2?this.xf.cljs$core$IFn$_invoke$arity$2(null,a):this.xf.call(null,null,a);cljs.core.reduced_QMARK_(a)&&
(this.xf.cljs$core$IFn$_invoke$arity$1?this.xf.cljs$core$IFn$_invoke$arity$1(null):this.xf.call(null,null),this.completed=!0)}else this.xf.cljs$core$IFn$_invoke$arity$1?this.xf.cljs$core$IFn$_invoke$arity$1(null):this.xf.call(null,null),this.completed=!0}else this._next=this.buffer.remove();else return!0};cljs.core.TransformerIterator.prototype.hasNext=function(){return this.step()};
cljs.core.TransformerIterator.prototype.next=function(){if(this.hasNext()){var a=this._next;this._next=cljs.core.NONE;return a}throw Error("No such element");};cljs.core.TransformerIterator.prototype.remove=function(){return Error("Unsupported operation")};
cljs.core.TransformerIterator.getBasis=function(){return new cljs.core.PersistentVector(null,6,5,cljs.core.PersistentVector.EMPTY_NODE,[cljs.core.with_meta(new cljs.core.Symbol(null,"buffer","buffer",-2037140571,null),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"mutable","mutable",875778266),!0],null)),cljs.core.with_meta(new cljs.core.Symbol(null,"_next","_next",101877036,null),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"mutable","mutable",875778266),
!0],null)),cljs.core.with_meta(new cljs.core.Symbol(null,"completed","completed",1154475024,null),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"mutable","mutable",875778266),!0],null)),cljs.core.with_meta(new cljs.core.Symbol(null,"xf","xf",2042434515,null),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"mutable","mutable",875778266),!0],null)),new cljs.core.Symbol(null,"sourceIter","sourceIter",1068220306,null),new cljs.core.Symbol(null,"multi","multi",
1450238522,null)],null)};cljs.core.TransformerIterator.cljs$lang$type=!0;cljs.core.TransformerIterator.cljs$lang$ctorStr="cljs.core/TransformerIterator";cljs.core.TransformerIterator.cljs$lang$ctorPrWriter=function(a,b,c){return cljs.core._write(b,"cljs.core/TransformerIterator")};cljs.core.__GT_TransformerIterator=function(a,b,c,d,e,f){return new cljs.core.TransformerIterator(a,b,c,d,e,f)};
var G__22364_22367=cljs.core.TransformerIterator.prototype,G__22365_22368=cljs.core.ITER_SYMBOL,G__22366_22369=function(a,b){return function(){return cljs.core.es6_iterator(this)}}(G__22364_22367,G__22365_22368);goog.object.set(G__22364_22367,G__22365_22368,G__22366_22369);
cljs.core.transformer_iterator=function(a,b,c){var d=new cljs.core.TransformerIterator(cljs.core.EMPTY,cljs.core.NONE,!1,null,b,c);d.xf=function(){var b=function(a){return function(){var b=null,c=function(b,c){a.buffer=a.buffer.add(c);return b};b=function(a,b){switch(arguments.length){case 0:return null;case 1:return a;case 2:return c.call(this,a,b)}throw Error("Invalid arity: "+arguments.length);};b.cljs$core$IFn$_invoke$arity$0=function(){return null};b.cljs$core$IFn$_invoke$arity$1=function(a){return a};
b.cljs$core$IFn$_invoke$arity$2=c;return b}()}(d);return a.cljs$core$IFn$_invoke$arity$1?a.cljs$core$IFn$_invoke$arity$1(b):a.call(null,b)}();return d};cljs.core.TransformerIterator.create=function(a,b){return cljs.core.transformer_iterator(a,b,!1)};cljs.core.TransformerIterator.createMulti=function(a,b){return cljs.core.transformer_iterator(a,new cljs.core.MultiIterator(cljs.core.to_array(b)),!0)};
cljs.core.sequence=function(a){switch(arguments.length){case 1:return cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(arguments[0]);case 2:return cljs.core.sequence.cljs$core$IFn$_invoke$arity$2(arguments[0],arguments[1]);default:for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;b=new cljs.core.IndexedSeq(b.slice(2),0,null);return cljs.core.sequence.cljs$core$IFn$_invoke$arity$variadic(arguments[0],arguments[1],b)}};
cljs.core.sequence.cljs$core$IFn$_invoke$arity$1=function(a){return cljs.core.seq_QMARK_(a)?a:(a=cljs.core.seq(a))?a:cljs.core.List.EMPTY};cljs.core.sequence.cljs$core$IFn$_invoke$arity$2=function(a,b){a=cljs.core.chunkIteratorSeq(cljs.core.TransformerIterator.create(a,cljs.core.iter(b)));return cljs.core.truth_(a)?a:cljs.core.List.EMPTY};
cljs.core.sequence.cljs$core$IFn$_invoke$arity$variadic=function(a,b,c){a=cljs.core.chunkIteratorSeq(cljs.core.TransformerIterator.createMulti(a,cljs.core.map.cljs$core$IFn$_invoke$arity$2(cljs.core.iter,cljs.core.cons(b,c))));return cljs.core.truth_(a)?a:cljs.core.List.EMPTY};cljs.core.sequence.cljs$lang$applyTo=function(a){var b=cljs.core.first(a),c=cljs.core.next(a);a=cljs.core.first(c);c=cljs.core.next(c);return this.cljs$core$IFn$_invoke$arity$variadic(b,a,c)};
cljs.core.sequence.cljs$lang$maxFixedArity=2;cljs.core.every_QMARK_=function(a,b){for(;;){if(null==cljs.core.seq(b))return!0;if(cljs.core.truth_(function(){var c=cljs.core.first(b);return a.cljs$core$IFn$_invoke$arity$1?a.cljs$core$IFn$_invoke$arity$1(c):a.call(null,c)}())){var c=a,d=cljs.core.next(b);a=c;b=d}else return!1}};cljs.core.not_every_QMARK_=function(a,b){return!cljs.core.every_QMARK_(a,b)};
cljs.core.some=function(a,b){for(;;)if(b=cljs.core.seq(b)){var c=cljs.core.first(b);c=a.cljs$core$IFn$_invoke$arity$1?a.cljs$core$IFn$_invoke$arity$1(c):a.call(null,c);if(cljs.core.truth_(c))return c;b=cljs.core.next(b)}else return null};cljs.core.not_any_QMARK_=function(a,b){return cljs.core.not(cljs.core.some(a,b))};
cljs.core.even_QMARK_=function(a){if(cljs.core.integer_QMARK_(a))return 0===(a&1);throw Error(["Argument must be an integer: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(a)].join(""));};cljs.core.odd_QMARK_=function(a){return!cljs.core.even_QMARK_(a)};
cljs.core.complement=function(a){return function(){var b=null,c=function(){return cljs.core.not(a.cljs$core$IFn$_invoke$arity$0?a.cljs$core$IFn$_invoke$arity$0():a.call(null))},d=function(b){return cljs.core.not(a.cljs$core$IFn$_invoke$arity$1?a.cljs$core$IFn$_invoke$arity$1(b):a.call(null,b))},e=function(b,c){return cljs.core.not(a.cljs$core$IFn$_invoke$arity$2?a.cljs$core$IFn$_invoke$arity$2(b,c):a.call(null,b,c))},f=function(){var b=function(b,c,d){return cljs.core.not(cljs.core.apply.cljs$core$IFn$_invoke$arity$4(a,
b,c,d))},c=function(a,c,d){var e=null;if(2<arguments.length){e=0;for(var f=Array(arguments.length-2);e<f.length;)f[e]=arguments[e+2],++e;e=new cljs.core.IndexedSeq(f,0,null)}return b.call(this,a,c,e)};c.cljs$lang$maxFixedArity=2;c.cljs$lang$applyTo=function(a){var c=cljs.core.first(a);a=cljs.core.next(a);var d=cljs.core.first(a);a=cljs.core.rest(a);return b(c,d,a)};c.cljs$core$IFn$_invoke$arity$variadic=b;return c}();b=function(a,b,k){switch(arguments.length){case 0:return c.call(this);case 1:return d.call(this,
a);case 2:return e.call(this,a,b);default:var g=null;if(2<arguments.length){g=0;for(var h=Array(arguments.length-2);g<h.length;)h[g]=arguments[g+2],++g;g=new cljs.core.IndexedSeq(h,0,null)}return f.cljs$core$IFn$_invoke$arity$variadic(a,b,g)}throw Error("Invalid arity: "+arguments.length);};b.cljs$lang$maxFixedArity=2;b.cljs$lang$applyTo=f.cljs$lang$applyTo;b.cljs$core$IFn$_invoke$arity$0=c;b.cljs$core$IFn$_invoke$arity$1=d;b.cljs$core$IFn$_invoke$arity$2=e;b.cljs$core$IFn$_invoke$arity$variadic=
f.cljs$core$IFn$_invoke$arity$variadic;return b}()};cljs.core.constantly=function(a){return function(){var b=function(b){if(0<arguments.length){for(var c=0,e=Array(arguments.length-0);c<e.length;)e[c]=arguments[c+0],++c;new cljs.core.IndexedSeq(e,0,null)}return a};b.cljs$lang$maxFixedArity=0;b.cljs$lang$applyTo=function(b){cljs.core.seq(b);return a};b.cljs$core$IFn$_invoke$arity$variadic=function(b){return a};return b}()};
cljs.core.comp=function(a){switch(arguments.length){case 0:return cljs.core.comp.cljs$core$IFn$_invoke$arity$0();case 1:return cljs.core.comp.cljs$core$IFn$_invoke$arity$1(arguments[0]);case 2:return cljs.core.comp.cljs$core$IFn$_invoke$arity$2(arguments[0],arguments[1]);case 3:return cljs.core.comp.cljs$core$IFn$_invoke$arity$3(arguments[0],arguments[1],arguments[2]);default:for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;b=new cljs.core.IndexedSeq(b.slice(3),0,
null);return cljs.core.comp.cljs$core$IFn$_invoke$arity$variadic(arguments[0],arguments[1],arguments[2],b)}};cljs.core.comp.cljs$core$IFn$_invoke$arity$0=function(){return cljs.core.identity};cljs.core.comp.cljs$core$IFn$_invoke$arity$1=function(a){return a};
cljs.core.comp.cljs$core$IFn$_invoke$arity$2=function(a,b){return function(){var c=null,d=function(){var c=b.cljs$core$IFn$_invoke$arity$0?b.cljs$core$IFn$_invoke$arity$0():b.call(null);return a.cljs$core$IFn$_invoke$arity$1?a.cljs$core$IFn$_invoke$arity$1(c):a.call(null,c)},e=function(c){c=b.cljs$core$IFn$_invoke$arity$1?b.cljs$core$IFn$_invoke$arity$1(c):b.call(null,c);return a.cljs$core$IFn$_invoke$arity$1?a.cljs$core$IFn$_invoke$arity$1(c):a.call(null,c)},f=function(c,d){c=b.cljs$core$IFn$_invoke$arity$2?
b.cljs$core$IFn$_invoke$arity$2(c,d):b.call(null,c,d);return a.cljs$core$IFn$_invoke$arity$1?a.cljs$core$IFn$_invoke$arity$1(c):a.call(null,c)},g=function(c,d,e){c=b.cljs$core$IFn$_invoke$arity$3?b.cljs$core$IFn$_invoke$arity$3(c,d,e):b.call(null,c,d,e);return a.cljs$core$IFn$_invoke$arity$1?a.cljs$core$IFn$_invoke$arity$1(c):a.call(null,c)},h=function(){var c=function(c,d,e,f){c=cljs.core.apply.cljs$core$IFn$_invoke$arity$5(b,c,d,e,f);return a.cljs$core$IFn$_invoke$arity$1?a.cljs$core$IFn$_invoke$arity$1(c):
a.call(null,c)},d=function(a,b,d,e){var f=null;if(3<arguments.length){f=0;for(var g=Array(arguments.length-3);f<g.length;)g[f]=arguments[f+3],++f;f=new cljs.core.IndexedSeq(g,0,null)}return c.call(this,a,b,d,f)};d.cljs$lang$maxFixedArity=3;d.cljs$lang$applyTo=function(a){var b=cljs.core.first(a);a=cljs.core.next(a);var d=cljs.core.first(a);a=cljs.core.next(a);var e=cljs.core.first(a);a=cljs.core.rest(a);return c(b,d,e,a)};d.cljs$core$IFn$_invoke$arity$variadic=c;return d}();c=function(a,b,c,n){switch(arguments.length){case 0:return d.call(this);
case 1:return e.call(this,a);case 2:return f.call(this,a,b);case 3:return g.call(this,a,b,c);default:var k=null;if(3<arguments.length){k=0;for(var l=Array(arguments.length-3);k<l.length;)l[k]=arguments[k+3],++k;k=new cljs.core.IndexedSeq(l,0,null)}return h.cljs$core$IFn$_invoke$arity$variadic(a,b,c,k)}throw Error("Invalid arity: "+arguments.length);};c.cljs$lang$maxFixedArity=3;c.cljs$lang$applyTo=h.cljs$lang$applyTo;c.cljs$core$IFn$_invoke$arity$0=d;c.cljs$core$IFn$_invoke$arity$1=e;c.cljs$core$IFn$_invoke$arity$2=
f;c.cljs$core$IFn$_invoke$arity$3=g;c.cljs$core$IFn$_invoke$arity$variadic=h.cljs$core$IFn$_invoke$arity$variadic;return c}()};
cljs.core.comp.cljs$core$IFn$_invoke$arity$3=function(a,b,c){return function(){var d=null,e=function(){var d=c.cljs$core$IFn$_invoke$arity$0?c.cljs$core$IFn$_invoke$arity$0():c.call(null);d=b.cljs$core$IFn$_invoke$arity$1?b.cljs$core$IFn$_invoke$arity$1(d):b.call(null,d);return a.cljs$core$IFn$_invoke$arity$1?a.cljs$core$IFn$_invoke$arity$1(d):a.call(null,d)},f=function(d){d=c.cljs$core$IFn$_invoke$arity$1?c.cljs$core$IFn$_invoke$arity$1(d):c.call(null,d);d=b.cljs$core$IFn$_invoke$arity$1?b.cljs$core$IFn$_invoke$arity$1(d):
b.call(null,d);return a.cljs$core$IFn$_invoke$arity$1?a.cljs$core$IFn$_invoke$arity$1(d):a.call(null,d)},g=function(d,e){d=c.cljs$core$IFn$_invoke$arity$2?c.cljs$core$IFn$_invoke$arity$2(d,e):c.call(null,d,e);d=b.cljs$core$IFn$_invoke$arity$1?b.cljs$core$IFn$_invoke$arity$1(d):b.call(null,d);return a.cljs$core$IFn$_invoke$arity$1?a.cljs$core$IFn$_invoke$arity$1(d):a.call(null,d)},h=function(d,e,f){d=c.cljs$core$IFn$_invoke$arity$3?c.cljs$core$IFn$_invoke$arity$3(d,e,f):c.call(null,d,e,f);d=b.cljs$core$IFn$_invoke$arity$1?
b.cljs$core$IFn$_invoke$arity$1(d):b.call(null,d);return a.cljs$core$IFn$_invoke$arity$1?a.cljs$core$IFn$_invoke$arity$1(d):a.call(null,d)},k=function(){var d=function(d,e,f,g){d=cljs.core.apply.cljs$core$IFn$_invoke$arity$5(c,d,e,f,g);d=b.cljs$core$IFn$_invoke$arity$1?b.cljs$core$IFn$_invoke$arity$1(d):b.call(null,d);return a.cljs$core$IFn$_invoke$arity$1?a.cljs$core$IFn$_invoke$arity$1(d):a.call(null,d)},e=function(a,b,c,e){var f=null;if(3<arguments.length){f=0;for(var g=Array(arguments.length-
3);f<g.length;)g[f]=arguments[f+3],++f;f=new cljs.core.IndexedSeq(g,0,null)}return d.call(this,a,b,c,f)};e.cljs$lang$maxFixedArity=3;e.cljs$lang$applyTo=function(a){var b=cljs.core.first(a);a=cljs.core.next(a);var c=cljs.core.first(a);a=cljs.core.next(a);var e=cljs.core.first(a);a=cljs.core.rest(a);return d(b,c,e,a)};e.cljs$core$IFn$_invoke$arity$variadic=d;return e}();d=function(a,b,c,d){switch(arguments.length){case 0:return e.call(this);case 1:return f.call(this,a);case 2:return g.call(this,a,
b);case 3:return h.call(this,a,b,c);default:var l=null;if(3<arguments.length){l=0;for(var m=Array(arguments.length-3);l<m.length;)m[l]=arguments[l+3],++l;l=new cljs.core.IndexedSeq(m,0,null)}return k.cljs$core$IFn$_invoke$arity$variadic(a,b,c,l)}throw Error("Invalid arity: "+arguments.length);};d.cljs$lang$maxFixedArity=3;d.cljs$lang$applyTo=k.cljs$lang$applyTo;d.cljs$core$IFn$_invoke$arity$0=e;d.cljs$core$IFn$_invoke$arity$1=f;d.cljs$core$IFn$_invoke$arity$2=g;d.cljs$core$IFn$_invoke$arity$3=h;d.cljs$core$IFn$_invoke$arity$variadic=
k.cljs$core$IFn$_invoke$arity$variadic;return d}()};
cljs.core.comp.cljs$core$IFn$_invoke$arity$variadic=function(a,b,c,d){return function(a){return function(){var b=function(b){b=cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core.first(a),b);for(var c=cljs.core.next(a);;)if(c){var d=cljs.core.first(c);b=d.cljs$core$IFn$_invoke$arity$1?d.cljs$core$IFn$_invoke$arity$1(b):d.call(null,b);c=cljs.core.next(c)}else return b},c=function(a){var c=null;if(0<arguments.length){c=0;for(var d=Array(arguments.length-0);c<d.length;)d[c]=arguments[c+0],++c;c=
new cljs.core.IndexedSeq(d,0,null)}return b.call(this,c)};c.cljs$lang$maxFixedArity=0;c.cljs$lang$applyTo=function(a){a=cljs.core.seq(a);return b(a)};c.cljs$core$IFn$_invoke$arity$variadic=b;return c}()}(cljs.core.reverse(cljs.core.list_STAR_.cljs$core$IFn$_invoke$arity$4(a,b,c,d)))};
cljs.core.comp.cljs$lang$applyTo=function(a){var b=cljs.core.first(a),c=cljs.core.next(a);a=cljs.core.first(c);var d=cljs.core.next(c);c=cljs.core.first(d);d=cljs.core.next(d);return this.cljs$core$IFn$_invoke$arity$variadic(b,a,c,d)};cljs.core.comp.cljs$lang$maxFixedArity=3;
cljs.core.partial=function(a){switch(arguments.length){case 1:return cljs.core.partial.cljs$core$IFn$_invoke$arity$1(arguments[0]);case 2:return cljs.core.partial.cljs$core$IFn$_invoke$arity$2(arguments[0],arguments[1]);case 3:return cljs.core.partial.cljs$core$IFn$_invoke$arity$3(arguments[0],arguments[1],arguments[2]);case 4:return cljs.core.partial.cljs$core$IFn$_invoke$arity$4(arguments[0],arguments[1],arguments[2],arguments[3]);default:for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),
d+=1;else break;b=new cljs.core.IndexedSeq(b.slice(4),0,null);return cljs.core.partial.cljs$core$IFn$_invoke$arity$variadic(arguments[0],arguments[1],arguments[2],arguments[3],b)}};cljs.core.partial.cljs$core$IFn$_invoke$arity$1=function(a){return a};
cljs.core.partial.cljs$core$IFn$_invoke$arity$2=function(a,b){return function(){var c=null,d=function(){return a.cljs$core$IFn$_invoke$arity$1?a.cljs$core$IFn$_invoke$arity$1(b):a.call(null,b)},e=function(c){return a.cljs$core$IFn$_invoke$arity$2?a.cljs$core$IFn$_invoke$arity$2(b,c):a.call(null,b,c)},f=function(c,d){return a.cljs$core$IFn$_invoke$arity$3?a.cljs$core$IFn$_invoke$arity$3(b,c,d):a.call(null,b,c,d)},g=function(c,d,e){return a.cljs$core$IFn$_invoke$arity$4?a.cljs$core$IFn$_invoke$arity$4(b,
c,d,e):a.call(null,b,c,d,e)},h=function(){var c=function(c,d,e,f){return cljs.core.apply.cljs$core$IFn$_invoke$arity$variadic(a,b,c,d,e,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([f],0))},d=function(a,b,d,e){var f=null;if(3<arguments.length){f=0;for(var g=Array(arguments.length-3);f<g.length;)g[f]=arguments[f+3],++f;f=new cljs.core.IndexedSeq(g,0,null)}return c.call(this,a,b,d,f)};d.cljs$lang$maxFixedArity=3;d.cljs$lang$applyTo=function(a){var b=cljs.core.first(a);a=cljs.core.next(a);var d=
cljs.core.first(a);a=cljs.core.next(a);var e=cljs.core.first(a);a=cljs.core.rest(a);return c(b,d,e,a)};d.cljs$core$IFn$_invoke$arity$variadic=c;return d}();c=function(a,b,c,n){switch(arguments.length){case 0:return d.call(this);case 1:return e.call(this,a);case 2:return f.call(this,a,b);case 3:return g.call(this,a,b,c);default:var k=null;if(3<arguments.length){k=0;for(var l=Array(arguments.length-3);k<l.length;)l[k]=arguments[k+3],++k;k=new cljs.core.IndexedSeq(l,0,null)}return h.cljs$core$IFn$_invoke$arity$variadic(a,
b,c,k)}throw Error("Invalid arity: "+arguments.length);};c.cljs$lang$maxFixedArity=3;c.cljs$lang$applyTo=h.cljs$lang$applyTo;c.cljs$core$IFn$_invoke$arity$0=d;c.cljs$core$IFn$_invoke$arity$1=e;c.cljs$core$IFn$_invoke$arity$2=f;c.cljs$core$IFn$_invoke$arity$3=g;c.cljs$core$IFn$_invoke$arity$variadic=h.cljs$core$IFn$_invoke$arity$variadic;return c}()};
cljs.core.partial.cljs$core$IFn$_invoke$arity$3=function(a,b,c){return function(){var d=null,e=function(){return a.cljs$core$IFn$_invoke$arity$2?a.cljs$core$IFn$_invoke$arity$2(b,c):a.call(null,b,c)},f=function(d){return a.cljs$core$IFn$_invoke$arity$3?a.cljs$core$IFn$_invoke$arity$3(b,c,d):a.call(null,b,c,d)},g=function(d,e){return a.cljs$core$IFn$_invoke$arity$4?a.cljs$core$IFn$_invoke$arity$4(b,c,d,e):a.call(null,b,c,d,e)},h=function(d,e,f){return a.cljs$core$IFn$_invoke$arity$5?a.cljs$core$IFn$_invoke$arity$5(b,
c,d,e,f):a.call(null,b,c,d,e,f)},k=function(){var d=function(d,e,f,g){return cljs.core.apply.cljs$core$IFn$_invoke$arity$variadic(a,b,c,d,e,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([f,g],0))},e=function(a,b,c,e){var f=null;if(3<arguments.length){f=0;for(var g=Array(arguments.length-3);f<g.length;)g[f]=arguments[f+3],++f;f=new cljs.core.IndexedSeq(g,0,null)}return d.call(this,a,b,c,f)};e.cljs$lang$maxFixedArity=3;e.cljs$lang$applyTo=function(a){var b=cljs.core.first(a);a=cljs.core.next(a);
var c=cljs.core.first(a);a=cljs.core.next(a);var e=cljs.core.first(a);a=cljs.core.rest(a);return d(b,c,e,a)};e.cljs$core$IFn$_invoke$arity$variadic=d;return e}();d=function(a,b,c,d){switch(arguments.length){case 0:return e.call(this);case 1:return f.call(this,a);case 2:return g.call(this,a,b);case 3:return h.call(this,a,b,c);default:var l=null;if(3<arguments.length){l=0;for(var m=Array(arguments.length-3);l<m.length;)m[l]=arguments[l+3],++l;l=new cljs.core.IndexedSeq(m,0,null)}return k.cljs$core$IFn$_invoke$arity$variadic(a,
b,c,l)}throw Error("Invalid arity: "+arguments.length);};d.cljs$lang$maxFixedArity=3;d.cljs$lang$applyTo=k.cljs$lang$applyTo;d.cljs$core$IFn$_invoke$arity$0=e;d.cljs$core$IFn$_invoke$arity$1=f;d.cljs$core$IFn$_invoke$arity$2=g;d.cljs$core$IFn$_invoke$arity$3=h;d.cljs$core$IFn$_invoke$arity$variadic=k.cljs$core$IFn$_invoke$arity$variadic;return d}()};
cljs.core.partial.cljs$core$IFn$_invoke$arity$4=function(a,b,c,d){return function(){var e=null,f=function(){return a.cljs$core$IFn$_invoke$arity$3?a.cljs$core$IFn$_invoke$arity$3(b,c,d):a.call(null,b,c,d)},g=function(e){return a.cljs$core$IFn$_invoke$arity$4?a.cljs$core$IFn$_invoke$arity$4(b,c,d,e):a.call(null,b,c,d,e)},h=function(e,f){return a.cljs$core$IFn$_invoke$arity$5?a.cljs$core$IFn$_invoke$arity$5(b,c,d,e,f):a.call(null,b,c,d,e,f)},k=function(e,f,g){return a.cljs$core$IFn$_invoke$arity$6?
a.cljs$core$IFn$_invoke$arity$6(b,c,d,e,f,g):a.call(null,b,c,d,e,f,g)},l=function(){var e=function(e,f,g,h){return cljs.core.apply.cljs$core$IFn$_invoke$arity$variadic(a,b,c,d,e,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([f,g,h],0))},f=function(a,b,c,d){var f=null;if(3<arguments.length){f=0;for(var g=Array(arguments.length-3);f<g.length;)g[f]=arguments[f+3],++f;f=new cljs.core.IndexedSeq(g,0,null)}return e.call(this,a,b,c,f)};f.cljs$lang$maxFixedArity=3;f.cljs$lang$applyTo=function(a){var b=
cljs.core.first(a);a=cljs.core.next(a);var c=cljs.core.first(a);a=cljs.core.next(a);var d=cljs.core.first(a);a=cljs.core.rest(a);return e(b,c,d,a)};f.cljs$core$IFn$_invoke$arity$variadic=e;return f}();e=function(a,b,c,d){switch(arguments.length){case 0:return f.call(this);case 1:return g.call(this,a);case 2:return h.call(this,a,b);case 3:return k.call(this,a,b,c);default:var e=null;if(3<arguments.length){e=0;for(var m=Array(arguments.length-3);e<m.length;)m[e]=arguments[e+3],++e;e=new cljs.core.IndexedSeq(m,
0,null)}return l.cljs$core$IFn$_invoke$arity$variadic(a,b,c,e)}throw Error("Invalid arity: "+arguments.length);};e.cljs$lang$maxFixedArity=3;e.cljs$lang$applyTo=l.cljs$lang$applyTo;e.cljs$core$IFn$_invoke$arity$0=f;e.cljs$core$IFn$_invoke$arity$1=g;e.cljs$core$IFn$_invoke$arity$2=h;e.cljs$core$IFn$_invoke$arity$3=k;e.cljs$core$IFn$_invoke$arity$variadic=l.cljs$core$IFn$_invoke$arity$variadic;return e}()};
cljs.core.partial.cljs$core$IFn$_invoke$arity$variadic=function(a,b,c,d,e){return function(){var f=function(f){return cljs.core.apply.cljs$core$IFn$_invoke$arity$5(a,b,c,d,cljs.core.concat.cljs$core$IFn$_invoke$arity$2(e,f))},g=function(a){var b=null;if(0<arguments.length){b=0;for(var c=Array(arguments.length-0);b<c.length;)c[b]=arguments[b+0],++b;b=new cljs.core.IndexedSeq(c,0,null)}return f.call(this,b)};g.cljs$lang$maxFixedArity=0;g.cljs$lang$applyTo=function(a){a=cljs.core.seq(a);return f(a)};
g.cljs$core$IFn$_invoke$arity$variadic=f;return g}()};cljs.core.partial.cljs$lang$applyTo=function(a){var b=cljs.core.first(a),c=cljs.core.next(a);a=cljs.core.first(c);var d=cljs.core.next(c);c=cljs.core.first(d);var e=cljs.core.next(d);d=cljs.core.first(e);e=cljs.core.next(e);return this.cljs$core$IFn$_invoke$arity$variadic(b,a,c,d,e)};cljs.core.partial.cljs$lang$maxFixedArity=4;
cljs.core.fnil=function(a){switch(arguments.length){case 2:return cljs.core.fnil.cljs$core$IFn$_invoke$arity$2(arguments[0],arguments[1]);case 3:return cljs.core.fnil.cljs$core$IFn$_invoke$arity$3(arguments[0],arguments[1],arguments[2]);case 4:return cljs.core.fnil.cljs$core$IFn$_invoke$arity$4(arguments[0],arguments[1],arguments[2],arguments[3]);default:throw Error(["Invalid arity: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(""));}};
cljs.core.fnil.cljs$core$IFn$_invoke$arity$2=function(a,b){return function(){var c=null,d=function(c){c=null==c?b:c;return a.cljs$core$IFn$_invoke$arity$1?a.cljs$core$IFn$_invoke$arity$1(c):a.call(null,c)},e=function(c,d){c=null==c?b:c;return a.cljs$core$IFn$_invoke$arity$2?a.cljs$core$IFn$_invoke$arity$2(c,d):a.call(null,c,d)},f=function(c,d,e){c=null==c?b:c;return a.cljs$core$IFn$_invoke$arity$3?a.cljs$core$IFn$_invoke$arity$3(c,d,e):a.call(null,c,d,e)},g=function(){var c=function(c,d,e,f){return cljs.core.apply.cljs$core$IFn$_invoke$arity$5(a,
null==c?b:c,d,e,f)},d=function(a,b,d,e){var f=null;if(3<arguments.length){f=0;for(var g=Array(arguments.length-3);f<g.length;)g[f]=arguments[f+3],++f;f=new cljs.core.IndexedSeq(g,0,null)}return c.call(this,a,b,d,f)};d.cljs$lang$maxFixedArity=3;d.cljs$lang$applyTo=function(a){var b=cljs.core.first(a);a=cljs.core.next(a);var d=cljs.core.first(a);a=cljs.core.next(a);var e=cljs.core.first(a);a=cljs.core.rest(a);return c(b,d,e,a)};d.cljs$core$IFn$_invoke$arity$variadic=c;return d}();c=function(a,b,c,m){switch(arguments.length){case 1:return d.call(this,
a);case 2:return e.call(this,a,b);case 3:return f.call(this,a,b,c);default:var h=null;if(3<arguments.length){h=0;for(var k=Array(arguments.length-3);h<k.length;)k[h]=arguments[h+3],++h;h=new cljs.core.IndexedSeq(k,0,null)}return g.cljs$core$IFn$_invoke$arity$variadic(a,b,c,h)}throw Error("Invalid arity: "+arguments.length);};c.cljs$lang$maxFixedArity=3;c.cljs$lang$applyTo=g.cljs$lang$applyTo;c.cljs$core$IFn$_invoke$arity$1=d;c.cljs$core$IFn$_invoke$arity$2=e;c.cljs$core$IFn$_invoke$arity$3=f;c.cljs$core$IFn$_invoke$arity$variadic=
g.cljs$core$IFn$_invoke$arity$variadic;return c}()};
cljs.core.fnil.cljs$core$IFn$_invoke$arity$3=function(a,b,c){return function(){var d=null,e=function(d,e){d=null==d?b:d;e=null==e?c:e;return a.cljs$core$IFn$_invoke$arity$2?a.cljs$core$IFn$_invoke$arity$2(d,e):a.call(null,d,e)},f=function(d,e,f){d=null==d?b:d;e=null==e?c:e;return a.cljs$core$IFn$_invoke$arity$3?a.cljs$core$IFn$_invoke$arity$3(d,e,f):a.call(null,d,e,f)},g=function(){var d=function(d,e,f,g){return cljs.core.apply.cljs$core$IFn$_invoke$arity$5(a,null==d?b:d,null==e?c:e,f,g)},e=function(a,
b,c,e){var f=null;if(3<arguments.length){f=0;for(var g=Array(arguments.length-3);f<g.length;)g[f]=arguments[f+3],++f;f=new cljs.core.IndexedSeq(g,0,null)}return d.call(this,a,b,c,f)};e.cljs$lang$maxFixedArity=3;e.cljs$lang$applyTo=function(a){var b=cljs.core.first(a);a=cljs.core.next(a);var c=cljs.core.first(a);a=cljs.core.next(a);var e=cljs.core.first(a);a=cljs.core.rest(a);return d(b,c,e,a)};e.cljs$core$IFn$_invoke$arity$variadic=d;return e}();d=function(a,b,c,d){switch(arguments.length){case 2:return e.call(this,
a,b);case 3:return f.call(this,a,b,c);default:var h=null;if(3<arguments.length){h=0;for(var k=Array(arguments.length-3);h<k.length;)k[h]=arguments[h+3],++h;h=new cljs.core.IndexedSeq(k,0,null)}return g.cljs$core$IFn$_invoke$arity$variadic(a,b,c,h)}throw Error("Invalid arity: "+arguments.length);};d.cljs$lang$maxFixedArity=3;d.cljs$lang$applyTo=g.cljs$lang$applyTo;d.cljs$core$IFn$_invoke$arity$2=e;d.cljs$core$IFn$_invoke$arity$3=f;d.cljs$core$IFn$_invoke$arity$variadic=g.cljs$core$IFn$_invoke$arity$variadic;
return d}()};
cljs.core.fnil.cljs$core$IFn$_invoke$arity$4=function(a,b,c,d){return function(){var e=null,f=function(d,e){d=null==d?b:d;e=null==e?c:e;return a.cljs$core$IFn$_invoke$arity$2?a.cljs$core$IFn$_invoke$arity$2(d,e):a.call(null,d,e)},g=function(e,f,g){e=null==e?b:e;f=null==f?c:f;g=null==g?d:g;return a.cljs$core$IFn$_invoke$arity$3?a.cljs$core$IFn$_invoke$arity$3(e,f,g):a.call(null,e,f,g)},h=function(){var e=function(e,f,g,h){return cljs.core.apply.cljs$core$IFn$_invoke$arity$5(a,null==e?b:e,null==f?c:
f,null==g?d:g,h)},f=function(a,b,c,d){var f=null;if(3<arguments.length){f=0;for(var g=Array(arguments.length-3);f<g.length;)g[f]=arguments[f+3],++f;f=new cljs.core.IndexedSeq(g,0,null)}return e.call(this,a,b,c,f)};f.cljs$lang$maxFixedArity=3;f.cljs$lang$applyTo=function(a){var b=cljs.core.first(a);a=cljs.core.next(a);var c=cljs.core.first(a);a=cljs.core.next(a);var d=cljs.core.first(a);a=cljs.core.rest(a);return e(b,c,d,a)};f.cljs$core$IFn$_invoke$arity$variadic=e;return f}();e=function(a,b,c,d){switch(arguments.length){case 2:return f.call(this,
a,b);case 3:return g.call(this,a,b,c);default:var e=null;if(3<arguments.length){e=0;for(var k=Array(arguments.length-3);e<k.length;)k[e]=arguments[e+3],++e;e=new cljs.core.IndexedSeq(k,0,null)}return h.cljs$core$IFn$_invoke$arity$variadic(a,b,c,e)}throw Error("Invalid arity: "+arguments.length);};e.cljs$lang$maxFixedArity=3;e.cljs$lang$applyTo=h.cljs$lang$applyTo;e.cljs$core$IFn$_invoke$arity$2=f;e.cljs$core$IFn$_invoke$arity$3=g;e.cljs$core$IFn$_invoke$arity$variadic=h.cljs$core$IFn$_invoke$arity$variadic;
return e}()};cljs.core.fnil.cljs$lang$maxFixedArity=4;cljs.core.map_indexed=function(a){switch(arguments.length){case 1:return cljs.core.map_indexed.cljs$core$IFn$_invoke$arity$1(arguments[0]);case 2:return cljs.core.map_indexed.cljs$core$IFn$_invoke$arity$2(arguments[0],arguments[1]);default:throw Error(["Invalid arity: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(""));}};
cljs.core.map_indexed.cljs$core$IFn$_invoke$arity$1=function(a){return function(b){return function(c){return function(){var d=null,e=function(){return b.cljs$core$IFn$_invoke$arity$0?b.cljs$core$IFn$_invoke$arity$0():b.call(null)},f=function(a){return b.cljs$core$IFn$_invoke$arity$1?b.cljs$core$IFn$_invoke$arity$1(a):b.call(null,a)},g=function(d,e){var f=c.cljs$core$IVolatile$_vreset_BANG_$arity$2(null,c.cljs$core$IDeref$_deref$arity$1(null)+1);e=a.cljs$core$IFn$_invoke$arity$2?a.cljs$core$IFn$_invoke$arity$2(f,
e):a.call(null,f,e);return b.cljs$core$IFn$_invoke$arity$2?b.cljs$core$IFn$_invoke$arity$2(d,e):b.call(null,d,e)};d=function(a,b){switch(arguments.length){case 0:return e.call(this);case 1:return f.call(this,a);case 2:return g.call(this,a,b)}throw Error("Invalid arity: "+arguments.length);};d.cljs$core$IFn$_invoke$arity$0=e;d.cljs$core$IFn$_invoke$arity$1=f;d.cljs$core$IFn$_invoke$arity$2=g;return d}()}(cljs.core.volatile_BANG_(-1))}};
cljs.core.map_indexed.cljs$core$IFn$_invoke$arity$2=function(a,b){return function f(b,e){return new cljs.core.LazySeq(null,function(){var d=cljs.core.seq(e);if(d){if(cljs.core.chunked_seq_QMARK_(d)){for(var h=cljs.core.chunk_first(d),k=cljs.core.count(h),l=cljs.core.chunk_buffer(k),m=0;;)if(m<k)cljs.core.chunk_append(l,function(){var d=b+m,e=cljs.core._nth.cljs$core$IFn$_invoke$arity$2(h,m);return a.cljs$core$IFn$_invoke$arity$2?a.cljs$core$IFn$_invoke$arity$2(d,e):a.call(null,d,e)}()),m+=1;else break;
return cljs.core.chunk_cons(cljs.core.chunk(l),f(b+k,cljs.core.chunk_rest(d)))}return cljs.core.cons(function(){var e=cljs.core.first(d);return a.cljs$core$IFn$_invoke$arity$2?a.cljs$core$IFn$_invoke$arity$2(b,e):a.call(null,b,e)}(),f(b+1,cljs.core.rest(d)))}return null},null,null)}(0,b)};cljs.core.map_indexed.cljs$lang$maxFixedArity=2;
cljs.core.keep=function(a){switch(arguments.length){case 1:return cljs.core.keep.cljs$core$IFn$_invoke$arity$1(arguments[0]);case 2:return cljs.core.keep.cljs$core$IFn$_invoke$arity$2(arguments[0],arguments[1]);default:throw Error(["Invalid arity: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(""));}};
cljs.core.keep.cljs$core$IFn$_invoke$arity$1=function(a){return function(b){return function(){var c=null,d=function(){return b.cljs$core$IFn$_invoke$arity$0?b.cljs$core$IFn$_invoke$arity$0():b.call(null)},e=function(a){return b.cljs$core$IFn$_invoke$arity$1?b.cljs$core$IFn$_invoke$arity$1(a):b.call(null,a)},f=function(c,d){d=a.cljs$core$IFn$_invoke$arity$1?a.cljs$core$IFn$_invoke$arity$1(d):a.call(null,d);return null==d?c:b.cljs$core$IFn$_invoke$arity$2?b.cljs$core$IFn$_invoke$arity$2(c,d):b.call(null,
c,d)};c=function(a,b){switch(arguments.length){case 0:return d.call(this);case 1:return e.call(this,a);case 2:return f.call(this,a,b)}throw Error("Invalid arity: "+arguments.length);};c.cljs$core$IFn$_invoke$arity$0=d;c.cljs$core$IFn$_invoke$arity$1=e;c.cljs$core$IFn$_invoke$arity$2=f;return c}()}};
cljs.core.keep.cljs$core$IFn$_invoke$arity$2=function(a,b){return new cljs.core.LazySeq(null,function(){var c=cljs.core.seq(b);if(c){if(cljs.core.chunked_seq_QMARK_(c)){for(var d=cljs.core.chunk_first(c),e=cljs.core.count(d),f=cljs.core.chunk_buffer(e),g=0;;)if(g<e){var h=function(){var b=cljs.core._nth.cljs$core$IFn$_invoke$arity$2(d,g);return a.cljs$core$IFn$_invoke$arity$1?a.cljs$core$IFn$_invoke$arity$1(b):a.call(null,b)}();null!=h&&cljs.core.chunk_append(f,h);g+=1}else break;return cljs.core.chunk_cons(cljs.core.chunk(f),
cljs.core.keep.cljs$core$IFn$_invoke$arity$2(a,cljs.core.chunk_rest(c)))}e=function(){var b=cljs.core.first(c);return a.cljs$core$IFn$_invoke$arity$1?a.cljs$core$IFn$_invoke$arity$1(b):a.call(null,b)}();return null==e?cljs.core.keep.cljs$core$IFn$_invoke$arity$2(a,cljs.core.rest(c)):cljs.core.cons(e,cljs.core.keep.cljs$core$IFn$_invoke$arity$2(a,cljs.core.rest(c)))}return null},null,null)};cljs.core.keep.cljs$lang$maxFixedArity=2;
cljs.core.Atom=function(a,b,c,d){this.state=a;this.meta=b;this.validator=c;this.watches=d;this.cljs$lang$protocol_mask$partition1$=16386;this.cljs$lang$protocol_mask$partition0$=6455296};cljs.core.Atom.prototype.equiv=function(a){return this.cljs$core$IEquiv$_equiv$arity$2(null,a)};cljs.core.Atom.prototype.cljs$core$IEquiv$_equiv$arity$2=function(a,b){return this===b};cljs.core.Atom.prototype.cljs$core$IDeref$_deref$arity$1=function(a){return this.state};
cljs.core.Atom.prototype.cljs$core$IMeta$_meta$arity$1=function(a){return this.meta};
cljs.core.Atom.prototype.cljs$core$IWatchable$_notify_watches$arity$3=function(a,b,c){a=cljs.core.seq(this.watches);for(var d=null,e=0,f=0;;)if(f<e){var g=d.cljs$core$IIndexed$_nth$arity$2(null,f),h=cljs.core.nth.cljs$core$IFn$_invoke$arity$3(g,0,null);g=cljs.core.nth.cljs$core$IFn$_invoke$arity$3(g,1,null);g.cljs$core$IFn$_invoke$arity$4?g.cljs$core$IFn$_invoke$arity$4(h,this,b,c):g.call(null,h,this,b,c);f+=1}else if(a=cljs.core.seq(a))cljs.core.chunked_seq_QMARK_(a)?(d=cljs.core.chunk_first(a),
a=cljs.core.chunk_rest(a),h=d,e=cljs.core.count(d),d=h):(d=cljs.core.first(a),h=cljs.core.nth.cljs$core$IFn$_invoke$arity$3(d,0,null),g=cljs.core.nth.cljs$core$IFn$_invoke$arity$3(d,1,null),g.cljs$core$IFn$_invoke$arity$4?g.cljs$core$IFn$_invoke$arity$4(h,this,b,c):g.call(null,h,this,b,c),a=cljs.core.next(a),d=null,e=0),f=0;else return null};
cljs.core.Atom.prototype.cljs$core$IWatchable$_add_watch$arity$3=function(a,b,c){this.watches=cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(this.watches,b,c);return this};cljs.core.Atom.prototype.cljs$core$IWatchable$_remove_watch$arity$2=function(a,b){return this.watches=cljs.core.dissoc.cljs$core$IFn$_invoke$arity$2(this.watches,b)};cljs.core.Atom.prototype.cljs$core$IHash$_hash$arity$1=function(a){return goog.getUid(this)};
cljs.core.Atom.getBasis=function(){return new cljs.core.PersistentVector(null,4,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"state","state",-348086572,null),new cljs.core.Symbol(null,"meta","meta",-1154898805,null),new cljs.core.Symbol(null,"validator","validator",-325659154,null),new cljs.core.Symbol(null,"watches","watches",1367433992,null)],null)};cljs.core.Atom.cljs$lang$type=!0;cljs.core.Atom.cljs$lang$ctorStr="cljs.core/Atom";
cljs.core.Atom.cljs$lang$ctorPrWriter=function(a,b,c){return cljs.core._write(b,"cljs.core/Atom")};cljs.core.__GT_Atom=function(a,b,c,d){return new cljs.core.Atom(a,b,c,d)};
cljs.core.atom=function(a){switch(arguments.length){case 1:return cljs.core.atom.cljs$core$IFn$_invoke$arity$1(arguments[0]);default:for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;b=new cljs.core.IndexedSeq(b.slice(1),0,null);return cljs.core.atom.cljs$core$IFn$_invoke$arity$variadic(arguments[0],b)}};cljs.core.atom.cljs$core$IFn$_invoke$arity$1=function(a){return new cljs.core.Atom(a,null,null,null)};
cljs.core.atom.cljs$core$IFn$_invoke$arity$variadic=function(a,b){var c=null!=b&&(b.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===b.cljs$core$ISeq$)?cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core.hash_map,b):b;b=cljs.core.get.cljs$core$IFn$_invoke$arity$2(c,new cljs.core.Keyword(null,"meta","meta",1499536964));c=cljs.core.get.cljs$core$IFn$_invoke$arity$2(c,new cljs.core.Keyword(null,"validator","validator",-1966190681));return new cljs.core.Atom(a,b,c,null)};
cljs.core.atom.cljs$lang$applyTo=function(a){var b=cljs.core.first(a);a=cljs.core.next(a);return this.cljs$core$IFn$_invoke$arity$variadic(b,a)};cljs.core.atom.cljs$lang$maxFixedArity=1;
cljs.core.reset_BANG_=function(a,b){if(a instanceof cljs.core.Atom){var c=a.validator;if(null!=c&&!cljs.core.truth_(c.cljs$core$IFn$_invoke$arity$1?c.cljs$core$IFn$_invoke$arity$1(b):c.call(null,b)))throw Error("Validator rejected reference state");c=a.state;a.state=b;null!=a.watches&&a.cljs$core$IWatchable$_notify_watches$arity$3(null,c,b);return b}return cljs.core._reset_BANG_(a,b)};
cljs.core.reset_vals_BANG_=function(a,b){var c=a.validator;if(null!=c&&!cljs.core.truth_(c.cljs$core$IFn$_invoke$arity$1?c.cljs$core$IFn$_invoke$arity$1(b):c.call(null,b)))throw Error("Validator rejected reference state");c=a.state;a.state=b;null!=a.watches&&cljs.core._notify_watches(a,c,b);return new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[c,b],null)};
cljs.core.swap_BANG_=function(a){switch(arguments.length){case 2:return cljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$2(arguments[0],arguments[1]);case 3:return cljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$3(arguments[0],arguments[1],arguments[2]);case 4:return cljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$4(arguments[0],arguments[1],arguments[2],arguments[3]);default:for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;b=new cljs.core.IndexedSeq(b.slice(4),
0,null);return cljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$variadic(arguments[0],arguments[1],arguments[2],arguments[3],b)}};cljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$2=function(a,b){return a instanceof cljs.core.Atom?cljs.core.reset_BANG_(a,function(){var c=a.state;return b.cljs$core$IFn$_invoke$arity$1?b.cljs$core$IFn$_invoke$arity$1(c):b.call(null,c)}()):cljs.core._swap_BANG_.cljs$core$IFn$_invoke$arity$2(a,b)};
cljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$3=function(a,b,c){return a instanceof cljs.core.Atom?cljs.core.reset_BANG_(a,function(){var d=a.state;return b.cljs$core$IFn$_invoke$arity$2?b.cljs$core$IFn$_invoke$arity$2(d,c):b.call(null,d,c)}()):cljs.core._swap_BANG_.cljs$core$IFn$_invoke$arity$3(a,b,c)};
cljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$4=function(a,b,c,d){return a instanceof cljs.core.Atom?cljs.core.reset_BANG_(a,function(){var e=a.state;return b.cljs$core$IFn$_invoke$arity$3?b.cljs$core$IFn$_invoke$arity$3(e,c,d):b.call(null,e,c,d)}()):cljs.core._swap_BANG_.cljs$core$IFn$_invoke$arity$4(a,b,c,d)};
cljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$variadic=function(a,b,c,d,e){return a instanceof cljs.core.Atom?cljs.core.reset_BANG_(a,cljs.core.apply.cljs$core$IFn$_invoke$arity$5(b,a.state,c,d,e)):cljs.core._swap_BANG_.cljs$core$IFn$_invoke$arity$5(a,b,c,d,e)};
cljs.core.swap_BANG_.cljs$lang$applyTo=function(a){var b=cljs.core.first(a),c=cljs.core.next(a);a=cljs.core.first(c);var d=cljs.core.next(c);c=cljs.core.first(d);var e=cljs.core.next(d);d=cljs.core.first(e);e=cljs.core.next(e);return this.cljs$core$IFn$_invoke$arity$variadic(b,a,c,d,e)};cljs.core.swap_BANG_.cljs$lang$maxFixedArity=4;
cljs.core.swap_vals_BANG_=function(a){switch(arguments.length){case 2:return cljs.core.swap_vals_BANG_.cljs$core$IFn$_invoke$arity$2(arguments[0],arguments[1]);case 3:return cljs.core.swap_vals_BANG_.cljs$core$IFn$_invoke$arity$3(arguments[0],arguments[1],arguments[2]);case 4:return cljs.core.swap_vals_BANG_.cljs$core$IFn$_invoke$arity$4(arguments[0],arguments[1],arguments[2],arguments[3]);default:for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;b=new cljs.core.IndexedSeq(b.slice(4),
0,null);return cljs.core.swap_vals_BANG_.cljs$core$IFn$_invoke$arity$variadic(arguments[0],arguments[1],arguments[2],arguments[3],b)}};cljs.core.swap_vals_BANG_.cljs$core$IFn$_invoke$arity$2=function(a,b){return cljs.core.reset_vals_BANG_(a,function(){var c=a.state;return b.cljs$core$IFn$_invoke$arity$1?b.cljs$core$IFn$_invoke$arity$1(c):b.call(null,c)}())};
cljs.core.swap_vals_BANG_.cljs$core$IFn$_invoke$arity$3=function(a,b,c){return cljs.core.reset_vals_BANG_(a,function(){var d=a.state;return b.cljs$core$IFn$_invoke$arity$2?b.cljs$core$IFn$_invoke$arity$2(d,c):b.call(null,d,c)}())};cljs.core.swap_vals_BANG_.cljs$core$IFn$_invoke$arity$4=function(a,b,c,d){return cljs.core.reset_vals_BANG_(a,function(){var e=a.state;return b.cljs$core$IFn$_invoke$arity$3?b.cljs$core$IFn$_invoke$arity$3(e,c,d):b.call(null,e,c,d)}())};
cljs.core.swap_vals_BANG_.cljs$core$IFn$_invoke$arity$variadic=function(a,b,c,d,e){return cljs.core.reset_vals_BANG_(a,cljs.core.apply.cljs$core$IFn$_invoke$arity$5(b,a.state,c,d,e))};cljs.core.swap_vals_BANG_.cljs$lang$applyTo=function(a){var b=cljs.core.first(a),c=cljs.core.next(a);a=cljs.core.first(c);var d=cljs.core.next(c);c=cljs.core.first(d);var e=cljs.core.next(d);d=cljs.core.first(e);e=cljs.core.next(e);return this.cljs$core$IFn$_invoke$arity$variadic(b,a,c,d,e)};
cljs.core.swap_vals_BANG_.cljs$lang$maxFixedArity=4;cljs.core.compare_and_set_BANG_=function(a,b,c){return cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(a.cljs$core$IDeref$_deref$arity$1(null),b)?(cljs.core.reset_BANG_(a,c),!0):!1};cljs.core.set_validator_BANG_=function(a,b){if(null!=b&&cljs.core.not(function(){var c=cljs.core._deref(a);return b.cljs$core$IFn$_invoke$arity$1?b.cljs$core$IFn$_invoke$arity$1(c):b.call(null,c)}()))throw Error("Validator rejected reference state");return a.validator=b};
cljs.core.get_validator=function(a){return a.validator};cljs.core.Volatile=function(a){this.state=a;this.cljs$lang$protocol_mask$partition0$=32768;this.cljs$lang$protocol_mask$partition1$=0};cljs.core.Volatile.prototype.cljs$core$IVolatile$=cljs.core.PROTOCOL_SENTINEL;cljs.core.Volatile.prototype.cljs$core$IVolatile$_vreset_BANG_$arity$2=function(a,b){return this.state=b};cljs.core.Volatile.prototype.cljs$core$IDeref$_deref$arity$1=function(a){return this.state};
cljs.core.Volatile.getBasis=function(){return new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[cljs.core.with_meta(new cljs.core.Symbol(null,"state","state",-348086572,null),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"mutable","mutable",875778266),!0],null))],null)};cljs.core.Volatile.cljs$lang$type=!0;cljs.core.Volatile.cljs$lang$ctorStr="cljs.core/Volatile";
cljs.core.Volatile.cljs$lang$ctorPrWriter=function(a,b,c){return cljs.core._write(b,"cljs.core/Volatile")};cljs.core.__GT_Volatile=function(a){return new cljs.core.Volatile(a)};cljs.core.volatile_BANG_=function(a){return new cljs.core.Volatile(a)};cljs.core.volatile_QMARK_=function(a){return a instanceof cljs.core.Volatile};cljs.core.vreset_BANG_=function(a,b){return cljs.core._vreset_BANG_(a,b)};
cljs.core.keep_indexed=function(a){switch(arguments.length){case 1:return cljs.core.keep_indexed.cljs$core$IFn$_invoke$arity$1(arguments[0]);case 2:return cljs.core.keep_indexed.cljs$core$IFn$_invoke$arity$2(arguments[0],arguments[1]);default:throw Error(["Invalid arity: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(""));}};
cljs.core.keep_indexed.cljs$core$IFn$_invoke$arity$1=function(a){return function(b){return function(c){return function(){var d=null,e=function(){return b.cljs$core$IFn$_invoke$arity$0?b.cljs$core$IFn$_invoke$arity$0():b.call(null)},f=function(a){return b.cljs$core$IFn$_invoke$arity$1?b.cljs$core$IFn$_invoke$arity$1(a):b.call(null,a)},g=function(d,e){var f=c.cljs$core$IVolatile$_vreset_BANG_$arity$2(null,c.cljs$core$IDeref$_deref$arity$1(null)+1);e=a.cljs$core$IFn$_invoke$arity$2?a.cljs$core$IFn$_invoke$arity$2(f,
e):a.call(null,f,e);return null==e?d:b.cljs$core$IFn$_invoke$arity$2?b.cljs$core$IFn$_invoke$arity$2(d,e):b.call(null,d,e)};d=function(a,b){switch(arguments.length){case 0:return e.call(this);case 1:return f.call(this,a);case 2:return g.call(this,a,b)}throw Error("Invalid arity: "+arguments.length);};d.cljs$core$IFn$_invoke$arity$0=e;d.cljs$core$IFn$_invoke$arity$1=f;d.cljs$core$IFn$_invoke$arity$2=g;return d}()}(cljs.core.volatile_BANG_(-1))}};
cljs.core.keep_indexed.cljs$core$IFn$_invoke$arity$2=function(a,b){return function f(b,e){return new cljs.core.LazySeq(null,function(){var d=cljs.core.seq(e);if(d){if(cljs.core.chunked_seq_QMARK_(d)){for(var h=cljs.core.chunk_first(d),k=cljs.core.count(h),l=cljs.core.chunk_buffer(k),m=0;;)if(m<k){var n=function(){var d=b+m,e=cljs.core._nth.cljs$core$IFn$_invoke$arity$2(h,m);return a.cljs$core$IFn$_invoke$arity$2?a.cljs$core$IFn$_invoke$arity$2(d,e):a.call(null,d,e)}();null!=n&&cljs.core.chunk_append(l,
n);m+=1}else break;return cljs.core.chunk_cons(cljs.core.chunk(l),f(b+k,cljs.core.chunk_rest(d)))}k=function(){var e=cljs.core.first(d);return a.cljs$core$IFn$_invoke$arity$2?a.cljs$core$IFn$_invoke$arity$2(b,e):a.call(null,b,e)}();return null==k?f(b+1,cljs.core.rest(d)):cljs.core.cons(k,f(b+1,cljs.core.rest(d)))}return null},null,null)}(0,b)};cljs.core.keep_indexed.cljs$lang$maxFixedArity=2;
cljs.core.every_pred=function(a){switch(arguments.length){case 1:return cljs.core.every_pred.cljs$core$IFn$_invoke$arity$1(arguments[0]);case 2:return cljs.core.every_pred.cljs$core$IFn$_invoke$arity$2(arguments[0],arguments[1]);case 3:return cljs.core.every_pred.cljs$core$IFn$_invoke$arity$3(arguments[0],arguments[1],arguments[2]);default:for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;b=new cljs.core.IndexedSeq(b.slice(3),0,null);return cljs.core.every_pred.cljs$core$IFn$_invoke$arity$variadic(arguments[0],
arguments[1],arguments[2],b)}};
cljs.core.every_pred.cljs$core$IFn$_invoke$arity$1=function(a){return function(){var b=null,c=function(b){return cljs.core.boolean$(a.cljs$core$IFn$_invoke$arity$1?a.cljs$core$IFn$_invoke$arity$1(b):a.call(null,b))},d=function(b,c){return cljs.core.boolean$(function(){var d=a.cljs$core$IFn$_invoke$arity$1?a.cljs$core$IFn$_invoke$arity$1(b):a.call(null,b);return cljs.core.truth_(d)?a.cljs$core$IFn$_invoke$arity$1?a.cljs$core$IFn$_invoke$arity$1(c):a.call(null,c):d}())},e=function(b,c,d){return cljs.core.boolean$(function(){var e=
a.cljs$core$IFn$_invoke$arity$1?a.cljs$core$IFn$_invoke$arity$1(b):a.call(null,b);return cljs.core.truth_(e)?(e=a.cljs$core$IFn$_invoke$arity$1?a.cljs$core$IFn$_invoke$arity$1(c):a.call(null,c),cljs.core.truth_(e)?a.cljs$core$IFn$_invoke$arity$1?a.cljs$core$IFn$_invoke$arity$1(d):a.call(null,d):e):e}())},f=function(){var c=function(c,d,e,f){return cljs.core.boolean$(function(){var g=b.cljs$core$IFn$_invoke$arity$3(c,d,e);return cljs.core.truth_(g)?cljs.core.every_QMARK_(a,f):g}())},d=function(a,b,
d,e){var f=null;if(3<arguments.length){f=0;for(var g=Array(arguments.length-3);f<g.length;)g[f]=arguments[f+3],++f;f=new cljs.core.IndexedSeq(g,0,null)}return c.call(this,a,b,d,f)};d.cljs$lang$maxFixedArity=3;d.cljs$lang$applyTo=function(a){var b=cljs.core.first(a);a=cljs.core.next(a);var d=cljs.core.first(a);a=cljs.core.next(a);var e=cljs.core.first(a);a=cljs.core.rest(a);return c(b,d,e,a)};d.cljs$core$IFn$_invoke$arity$variadic=c;return d}();b=function(a,b,k,l){switch(arguments.length){case 0:return!0;
case 1:return c.call(this,a);case 2:return d.call(this,a,b);case 3:return e.call(this,a,b,k);default:var g=null;if(3<arguments.length){g=0;for(var h=Array(arguments.length-3);g<h.length;)h[g]=arguments[g+3],++g;g=new cljs.core.IndexedSeq(h,0,null)}return f.cljs$core$IFn$_invoke$arity$variadic(a,b,k,g)}throw Error("Invalid arity: "+arguments.length);};b.cljs$lang$maxFixedArity=3;b.cljs$lang$applyTo=f.cljs$lang$applyTo;b.cljs$core$IFn$_invoke$arity$0=function(){return!0};b.cljs$core$IFn$_invoke$arity$1=
c;b.cljs$core$IFn$_invoke$arity$2=d;b.cljs$core$IFn$_invoke$arity$3=e;b.cljs$core$IFn$_invoke$arity$variadic=f.cljs$core$IFn$_invoke$arity$variadic;return b}()};
cljs.core.every_pred.cljs$core$IFn$_invoke$arity$2=function(a,b){return function(){var c=null,d=function(c){return cljs.core.boolean$(function(){var d=a.cljs$core$IFn$_invoke$arity$1?a.cljs$core$IFn$_invoke$arity$1(c):a.call(null,c);return cljs.core.truth_(d)?b.cljs$core$IFn$_invoke$arity$1?b.cljs$core$IFn$_invoke$arity$1(c):b.call(null,c):d}())},e=function(c,d){return cljs.core.boolean$(function(){var e=a.cljs$core$IFn$_invoke$arity$1?a.cljs$core$IFn$_invoke$arity$1(c):a.call(null,c);return cljs.core.truth_(e)&&
(e=a.cljs$core$IFn$_invoke$arity$1?a.cljs$core$IFn$_invoke$arity$1(d):a.call(null,d),cljs.core.truth_(e))?(e=b.cljs$core$IFn$_invoke$arity$1?b.cljs$core$IFn$_invoke$arity$1(c):b.call(null,c),cljs.core.truth_(e)?b.cljs$core$IFn$_invoke$arity$1?b.cljs$core$IFn$_invoke$arity$1(d):b.call(null,d):e):e}())},f=function(c,d,e){return cljs.core.boolean$(function(){var f=a.cljs$core$IFn$_invoke$arity$1?a.cljs$core$IFn$_invoke$arity$1(c):a.call(null,c);return cljs.core.truth_(f)&&(f=a.cljs$core$IFn$_invoke$arity$1?
a.cljs$core$IFn$_invoke$arity$1(d):a.call(null,d),cljs.core.truth_(f)&&(f=a.cljs$core$IFn$_invoke$arity$1?a.cljs$core$IFn$_invoke$arity$1(e):a.call(null,e),cljs.core.truth_(f)&&(f=b.cljs$core$IFn$_invoke$arity$1?b.cljs$core$IFn$_invoke$arity$1(c):b.call(null,c),cljs.core.truth_(f))))?(f=b.cljs$core$IFn$_invoke$arity$1?b.cljs$core$IFn$_invoke$arity$1(d):b.call(null,d),cljs.core.truth_(f)?b.cljs$core$IFn$_invoke$arity$1?b.cljs$core$IFn$_invoke$arity$1(e):b.call(null,e):f):f}())},g=function(){var d=
function(d,e,f,g){return cljs.core.boolean$(function(){var h=c.cljs$core$IFn$_invoke$arity$3(d,e,f);return cljs.core.truth_(h)?cljs.core.every_QMARK_(function(c){return function(c){var d=a.cljs$core$IFn$_invoke$arity$1?a.cljs$core$IFn$_invoke$arity$1(c):a.call(null,c);return cljs.core.truth_(d)?b.cljs$core$IFn$_invoke$arity$1?b.cljs$core$IFn$_invoke$arity$1(c):b.call(null,c):d}}(h),g):h}())},e=function(a,b,c,e){var f=null;if(3<arguments.length){f=0;for(var g=Array(arguments.length-3);f<g.length;)g[f]=
arguments[f+3],++f;f=new cljs.core.IndexedSeq(g,0,null)}return d.call(this,a,b,c,f)};e.cljs$lang$maxFixedArity=3;e.cljs$lang$applyTo=function(a){var b=cljs.core.first(a);a=cljs.core.next(a);var c=cljs.core.first(a);a=cljs.core.next(a);var e=cljs.core.first(a);a=cljs.core.rest(a);return d(b,c,e,a)};e.cljs$core$IFn$_invoke$arity$variadic=d;return e}();c=function(a,b,c,m){switch(arguments.length){case 0:return!0;case 1:return d.call(this,a);case 2:return e.call(this,a,b);case 3:return f.call(this,a,
b,c);default:var h=null;if(3<arguments.length){h=0;for(var k=Array(arguments.length-3);h<k.length;)k[h]=arguments[h+3],++h;h=new cljs.core.IndexedSeq(k,0,null)}return g.cljs$core$IFn$_invoke$arity$variadic(a,b,c,h)}throw Error("Invalid arity: "+arguments.length);};c.cljs$lang$maxFixedArity=3;c.cljs$lang$applyTo=g.cljs$lang$applyTo;c.cljs$core$IFn$_invoke$arity$0=function(){return!0};c.cljs$core$IFn$_invoke$arity$1=d;c.cljs$core$IFn$_invoke$arity$2=e;c.cljs$core$IFn$_invoke$arity$3=f;c.cljs$core$IFn$_invoke$arity$variadic=
g.cljs$core$IFn$_invoke$arity$variadic;return c}()};
cljs.core.every_pred.cljs$core$IFn$_invoke$arity$3=function(a,b,c){return function(){var d=null,e=function(d){return cljs.core.boolean$(function(){var e=a.cljs$core$IFn$_invoke$arity$1?a.cljs$core$IFn$_invoke$arity$1(d):a.call(null,d);return cljs.core.truth_(e)?(e=b.cljs$core$IFn$_invoke$arity$1?b.cljs$core$IFn$_invoke$arity$1(d):b.call(null,d),cljs.core.truth_(e)?c.cljs$core$IFn$_invoke$arity$1?c.cljs$core$IFn$_invoke$arity$1(d):c.call(null,d):e):e}())},f=function(d,e){return cljs.core.boolean$(function(){var f=
a.cljs$core$IFn$_invoke$arity$1?a.cljs$core$IFn$_invoke$arity$1(d):a.call(null,d);return cljs.core.truth_(f)&&(f=b.cljs$core$IFn$_invoke$arity$1?b.cljs$core$IFn$_invoke$arity$1(d):b.call(null,d),cljs.core.truth_(f)&&(f=c.cljs$core$IFn$_invoke$arity$1?c.cljs$core$IFn$_invoke$arity$1(d):c.call(null,d),cljs.core.truth_(f)&&(f=a.cljs$core$IFn$_invoke$arity$1?a.cljs$core$IFn$_invoke$arity$1(e):a.call(null,e),cljs.core.truth_(f))))?(f=b.cljs$core$IFn$_invoke$arity$1?b.cljs$core$IFn$_invoke$arity$1(e):b.call(null,
e),cljs.core.truth_(f)?c.cljs$core$IFn$_invoke$arity$1?c.cljs$core$IFn$_invoke$arity$1(e):c.call(null,e):f):f}())},g=function(d,e,f){return cljs.core.boolean$(function(){var g=a.cljs$core$IFn$_invoke$arity$1?a.cljs$core$IFn$_invoke$arity$1(d):a.call(null,d);return cljs.core.truth_(g)&&(g=b.cljs$core$IFn$_invoke$arity$1?b.cljs$core$IFn$_invoke$arity$1(d):b.call(null,d),cljs.core.truth_(g)&&(g=c.cljs$core$IFn$_invoke$arity$1?c.cljs$core$IFn$_invoke$arity$1(d):c.call(null,d),cljs.core.truth_(g)&&(g=
a.cljs$core$IFn$_invoke$arity$1?a.cljs$core$IFn$_invoke$arity$1(e):a.call(null,e),cljs.core.truth_(g)&&(g=b.cljs$core$IFn$_invoke$arity$1?b.cljs$core$IFn$_invoke$arity$1(e):b.call(null,e),cljs.core.truth_(g)&&(g=c.cljs$core$IFn$_invoke$arity$1?c.cljs$core$IFn$_invoke$arity$1(e):c.call(null,e),cljs.core.truth_(g)&&(g=a.cljs$core$IFn$_invoke$arity$1?a.cljs$core$IFn$_invoke$arity$1(f):a.call(null,f),cljs.core.truth_(g)))))))?(g=b.cljs$core$IFn$_invoke$arity$1?b.cljs$core$IFn$_invoke$arity$1(f):b.call(null,
f),cljs.core.truth_(g)?c.cljs$core$IFn$_invoke$arity$1?c.cljs$core$IFn$_invoke$arity$1(f):c.call(null,f):g):g}())},h=function(){var e=function(e,f,g,h){return cljs.core.boolean$(function(){var k=d.cljs$core$IFn$_invoke$arity$3(e,f,g);return cljs.core.truth_(k)?cljs.core.every_QMARK_(function(d){return function(d){var e=a.cljs$core$IFn$_invoke$arity$1?a.cljs$core$IFn$_invoke$arity$1(d):a.call(null,d);return cljs.core.truth_(e)?(e=b.cljs$core$IFn$_invoke$arity$1?b.cljs$core$IFn$_invoke$arity$1(d):b.call(null,
d),cljs.core.truth_(e)?c.cljs$core$IFn$_invoke$arity$1?c.cljs$core$IFn$_invoke$arity$1(d):c.call(null,d):e):e}}(k),h):k}())},f=function(a,b,c,d){var f=null;if(3<arguments.length){f=0;for(var g=Array(arguments.length-3);f<g.length;)g[f]=arguments[f+3],++f;f=new cljs.core.IndexedSeq(g,0,null)}return e.call(this,a,b,c,f)};f.cljs$lang$maxFixedArity=3;f.cljs$lang$applyTo=function(a){var b=cljs.core.first(a);a=cljs.core.next(a);var c=cljs.core.first(a);a=cljs.core.next(a);var d=cljs.core.first(a);a=cljs.core.rest(a);
return e(b,c,d,a)};f.cljs$core$IFn$_invoke$arity$variadic=e;return f}();d=function(a,b,c,d){switch(arguments.length){case 0:return!0;case 1:return e.call(this,a);case 2:return f.call(this,a,b);case 3:return g.call(this,a,b,c);default:var k=null;if(3<arguments.length){k=0;for(var l=Array(arguments.length-3);k<l.length;)l[k]=arguments[k+3],++k;k=new cljs.core.IndexedSeq(l,0,null)}return h.cljs$core$IFn$_invoke$arity$variadic(a,b,c,k)}throw Error("Invalid arity: "+arguments.length);};d.cljs$lang$maxFixedArity=
3;d.cljs$lang$applyTo=h.cljs$lang$applyTo;d.cljs$core$IFn$_invoke$arity$0=function(){return!0};d.cljs$core$IFn$_invoke$arity$1=e;d.cljs$core$IFn$_invoke$arity$2=f;d.cljs$core$IFn$_invoke$arity$3=g;d.cljs$core$IFn$_invoke$arity$variadic=h.cljs$core$IFn$_invoke$arity$variadic;return d}()};
cljs.core.every_pred.cljs$core$IFn$_invoke$arity$variadic=function(a,b,c,d){return function(a){return function(){var b=null,c=function(b){return cljs.core.every_QMARK_(function(a){return function(a){return a.cljs$core$IFn$_invoke$arity$1?a.cljs$core$IFn$_invoke$arity$1(b):a.call(null,b)}}(a),a)},d=function(b,c){return cljs.core.every_QMARK_(function(a){return function(a){var d=a.cljs$core$IFn$_invoke$arity$1?a.cljs$core$IFn$_invoke$arity$1(b):a.call(null,b);return cljs.core.truth_(d)?a.cljs$core$IFn$_invoke$arity$1?
a.cljs$core$IFn$_invoke$arity$1(c):a.call(null,c):d}}(a),a)},e=function(b,c,d){return cljs.core.every_QMARK_(function(a){return function(a){var e=a.cljs$core$IFn$_invoke$arity$1?a.cljs$core$IFn$_invoke$arity$1(b):a.call(null,b);return cljs.core.truth_(e)?(e=a.cljs$core$IFn$_invoke$arity$1?a.cljs$core$IFn$_invoke$arity$1(c):a.call(null,c),cljs.core.truth_(e)?a.cljs$core$IFn$_invoke$arity$1?a.cljs$core$IFn$_invoke$arity$1(d):a.call(null,d):e):e}}(a),a)},l=function(){var c=function(c,d,e,f){return cljs.core.boolean$(function(){var g=
b.cljs$core$IFn$_invoke$arity$3(c,d,e);return cljs.core.truth_(g)?cljs.core.every_QMARK_(function(a,b){return function(a){return cljs.core.every_QMARK_(a,f)}}(g,a),a):g}())},d=function(a,b,d,e){var f=null;if(3<arguments.length){f=0;for(var g=Array(arguments.length-3);f<g.length;)g[f]=arguments[f+3],++f;f=new cljs.core.IndexedSeq(g,0,null)}return c.call(this,a,b,d,f)};d.cljs$lang$maxFixedArity=3;d.cljs$lang$applyTo=function(a){var b=cljs.core.first(a);a=cljs.core.next(a);var d=cljs.core.first(a);a=
cljs.core.next(a);var e=cljs.core.first(a);a=cljs.core.rest(a);return c(b,d,e,a)};d.cljs$core$IFn$_invoke$arity$variadic=c;return d}();b=function(a,b,f,g){switch(arguments.length){case 0:return!0;case 1:return c.call(this,a);case 2:return d.call(this,a,b);case 3:return e.call(this,a,b,f);default:var h=null;if(3<arguments.length){h=0;for(var k=Array(arguments.length-3);h<k.length;)k[h]=arguments[h+3],++h;h=new cljs.core.IndexedSeq(k,0,null)}return l.cljs$core$IFn$_invoke$arity$variadic(a,b,f,h)}throw Error("Invalid arity: "+
arguments.length);};b.cljs$lang$maxFixedArity=3;b.cljs$lang$applyTo=l.cljs$lang$applyTo;b.cljs$core$IFn$_invoke$arity$0=function(){return!0};b.cljs$core$IFn$_invoke$arity$1=c;b.cljs$core$IFn$_invoke$arity$2=d;b.cljs$core$IFn$_invoke$arity$3=e;b.cljs$core$IFn$_invoke$arity$variadic=l.cljs$core$IFn$_invoke$arity$variadic;return b}()}(cljs.core.list_STAR_.cljs$core$IFn$_invoke$arity$4(a,b,c,d))};
cljs.core.every_pred.cljs$lang$applyTo=function(a){var b=cljs.core.first(a),c=cljs.core.next(a);a=cljs.core.first(c);var d=cljs.core.next(c);c=cljs.core.first(d);d=cljs.core.next(d);return this.cljs$core$IFn$_invoke$arity$variadic(b,a,c,d)};cljs.core.every_pred.cljs$lang$maxFixedArity=3;
cljs.core.some_fn=function(a){switch(arguments.length){case 1:return cljs.core.some_fn.cljs$core$IFn$_invoke$arity$1(arguments[0]);case 2:return cljs.core.some_fn.cljs$core$IFn$_invoke$arity$2(arguments[0],arguments[1]);case 3:return cljs.core.some_fn.cljs$core$IFn$_invoke$arity$3(arguments[0],arguments[1],arguments[2]);default:for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;b=new cljs.core.IndexedSeq(b.slice(3),0,null);return cljs.core.some_fn.cljs$core$IFn$_invoke$arity$variadic(arguments[0],
arguments[1],arguments[2],b)}};
cljs.core.some_fn.cljs$core$IFn$_invoke$arity$1=function(a){return function(){var b=null,c=function(b){return a.cljs$core$IFn$_invoke$arity$1?a.cljs$core$IFn$_invoke$arity$1(b):a.call(null,b)},d=function(b,c){b=a.cljs$core$IFn$_invoke$arity$1?a.cljs$core$IFn$_invoke$arity$1(b):a.call(null,b);return cljs.core.truth_(b)?b:a.cljs$core$IFn$_invoke$arity$1?a.cljs$core$IFn$_invoke$arity$1(c):a.call(null,c)},e=function(b,c,d){b=a.cljs$core$IFn$_invoke$arity$1?a.cljs$core$IFn$_invoke$arity$1(b):a.call(null,
b);if(cljs.core.truth_(b))return b;c=a.cljs$core$IFn$_invoke$arity$1?a.cljs$core$IFn$_invoke$arity$1(c):a.call(null,c);return cljs.core.truth_(c)?c:a.cljs$core$IFn$_invoke$arity$1?a.cljs$core$IFn$_invoke$arity$1(d):a.call(null,d)},f=function(){var c=function(c,d,e,f){c=b.cljs$core$IFn$_invoke$arity$3(c,d,e);return cljs.core.truth_(c)?c:cljs.core.some(a,f)},d=function(a,b,d,e){var f=null;if(3<arguments.length){f=0;for(var g=Array(arguments.length-3);f<g.length;)g[f]=arguments[f+3],++f;f=new cljs.core.IndexedSeq(g,
0,null)}return c.call(this,a,b,d,f)};d.cljs$lang$maxFixedArity=3;d.cljs$lang$applyTo=function(a){var b=cljs.core.first(a);a=cljs.core.next(a);var d=cljs.core.first(a);a=cljs.core.next(a);var e=cljs.core.first(a);a=cljs.core.rest(a);return c(b,d,e,a)};d.cljs$core$IFn$_invoke$arity$variadic=c;return d}();b=function(a,b,k,l){switch(arguments.length){case 0:return null;case 1:return c.call(this,a);case 2:return d.call(this,a,b);case 3:return e.call(this,a,b,k);default:var g=null;if(3<arguments.length){g=
0;for(var h=Array(arguments.length-3);g<h.length;)h[g]=arguments[g+3],++g;g=new cljs.core.IndexedSeq(h,0,null)}return f.cljs$core$IFn$_invoke$arity$variadic(a,b,k,g)}throw Error("Invalid arity: "+arguments.length);};b.cljs$lang$maxFixedArity=3;b.cljs$lang$applyTo=f.cljs$lang$applyTo;b.cljs$core$IFn$_invoke$arity$0=function(){return null};b.cljs$core$IFn$_invoke$arity$1=c;b.cljs$core$IFn$_invoke$arity$2=d;b.cljs$core$IFn$_invoke$arity$3=e;b.cljs$core$IFn$_invoke$arity$variadic=f.cljs$core$IFn$_invoke$arity$variadic;
return b}()};
cljs.core.some_fn.cljs$core$IFn$_invoke$arity$2=function(a,b){return function(){var c=null,d=function(c){var d=a.cljs$core$IFn$_invoke$arity$1?a.cljs$core$IFn$_invoke$arity$1(c):a.call(null,c);return cljs.core.truth_(d)?d:b.cljs$core$IFn$_invoke$arity$1?b.cljs$core$IFn$_invoke$arity$1(c):b.call(null,c)},e=function(c,d){var e=a.cljs$core$IFn$_invoke$arity$1?a.cljs$core$IFn$_invoke$arity$1(c):a.call(null,c);if(cljs.core.truth_(e))return e;e=a.cljs$core$IFn$_invoke$arity$1?a.cljs$core$IFn$_invoke$arity$1(d):a.call(null,
d);if(cljs.core.truth_(e))return e;c=b.cljs$core$IFn$_invoke$arity$1?b.cljs$core$IFn$_invoke$arity$1(c):b.call(null,c);return cljs.core.truth_(c)?c:b.cljs$core$IFn$_invoke$arity$1?b.cljs$core$IFn$_invoke$arity$1(d):b.call(null,d)},f=function(c,d,e){var f=a.cljs$core$IFn$_invoke$arity$1?a.cljs$core$IFn$_invoke$arity$1(c):a.call(null,c);if(cljs.core.truth_(f))return f;f=a.cljs$core$IFn$_invoke$arity$1?a.cljs$core$IFn$_invoke$arity$1(d):a.call(null,d);if(cljs.core.truth_(f))return f;f=a.cljs$core$IFn$_invoke$arity$1?
a.cljs$core$IFn$_invoke$arity$1(e):a.call(null,e);if(cljs.core.truth_(f))return f;c=b.cljs$core$IFn$_invoke$arity$1?b.cljs$core$IFn$_invoke$arity$1(c):b.call(null,c);if(cljs.core.truth_(c))return c;d=b.cljs$core$IFn$_invoke$arity$1?b.cljs$core$IFn$_invoke$arity$1(d):b.call(null,d);return cljs.core.truth_(d)?d:b.cljs$core$IFn$_invoke$arity$1?b.cljs$core$IFn$_invoke$arity$1(e):b.call(null,e)},g=function(){var d=function(d,e,f,g){d=c.cljs$core$IFn$_invoke$arity$3(d,e,f);return cljs.core.truth_(d)?d:
cljs.core.some(function(c){return function(c){var d=a.cljs$core$IFn$_invoke$arity$1?a.cljs$core$IFn$_invoke$arity$1(c):a.call(null,c);return cljs.core.truth_(d)?d:b.cljs$core$IFn$_invoke$arity$1?b.cljs$core$IFn$_invoke$arity$1(c):b.call(null,c)}}(d),g)},e=function(a,b,c,e){var f=null;if(3<arguments.length){f=0;for(var g=Array(arguments.length-3);f<g.length;)g[f]=arguments[f+3],++f;f=new cljs.core.IndexedSeq(g,0,null)}return d.call(this,a,b,c,f)};e.cljs$lang$maxFixedArity=3;e.cljs$lang$applyTo=function(a){var b=
cljs.core.first(a);a=cljs.core.next(a);var c=cljs.core.first(a);a=cljs.core.next(a);var e=cljs.core.first(a);a=cljs.core.rest(a);return d(b,c,e,a)};e.cljs$core$IFn$_invoke$arity$variadic=d;return e}();c=function(a,b,c,m){switch(arguments.length){case 0:return null;case 1:return d.call(this,a);case 2:return e.call(this,a,b);case 3:return f.call(this,a,b,c);default:var h=null;if(3<arguments.length){h=0;for(var k=Array(arguments.length-3);h<k.length;)k[h]=arguments[h+3],++h;h=new cljs.core.IndexedSeq(k,
0,null)}return g.cljs$core$IFn$_invoke$arity$variadic(a,b,c,h)}throw Error("Invalid arity: "+arguments.length);};c.cljs$lang$maxFixedArity=3;c.cljs$lang$applyTo=g.cljs$lang$applyTo;c.cljs$core$IFn$_invoke$arity$0=function(){return null};c.cljs$core$IFn$_invoke$arity$1=d;c.cljs$core$IFn$_invoke$arity$2=e;c.cljs$core$IFn$_invoke$arity$3=f;c.cljs$core$IFn$_invoke$arity$variadic=g.cljs$core$IFn$_invoke$arity$variadic;return c}()};
cljs.core.some_fn.cljs$core$IFn$_invoke$arity$3=function(a,b,c){return function(){var d=null,e=function(d){var e=a.cljs$core$IFn$_invoke$arity$1?a.cljs$core$IFn$_invoke$arity$1(d):a.call(null,d);if(cljs.core.truth_(e))return e;e=b.cljs$core$IFn$_invoke$arity$1?b.cljs$core$IFn$_invoke$arity$1(d):b.call(null,d);return cljs.core.truth_(e)?e:c.cljs$core$IFn$_invoke$arity$1?c.cljs$core$IFn$_invoke$arity$1(d):c.call(null,d)},f=function(d,e){var f=a.cljs$core$IFn$_invoke$arity$1?a.cljs$core$IFn$_invoke$arity$1(d):
a.call(null,d);if(cljs.core.truth_(f))return f;f=b.cljs$core$IFn$_invoke$arity$1?b.cljs$core$IFn$_invoke$arity$1(d):b.call(null,d);if(cljs.core.truth_(f))return f;d=c.cljs$core$IFn$_invoke$arity$1?c.cljs$core$IFn$_invoke$arity$1(d):c.call(null,d);if(cljs.core.truth_(d))return d;d=a.cljs$core$IFn$_invoke$arity$1?a.cljs$core$IFn$_invoke$arity$1(e):a.call(null,e);if(cljs.core.truth_(d))return d;d=b.cljs$core$IFn$_invoke$arity$1?b.cljs$core$IFn$_invoke$arity$1(e):b.call(null,e);return cljs.core.truth_(d)?
d:c.cljs$core$IFn$_invoke$arity$1?c.cljs$core$IFn$_invoke$arity$1(e):c.call(null,e)},g=function(d,e,f){var g=a.cljs$core$IFn$_invoke$arity$1?a.cljs$core$IFn$_invoke$arity$1(d):a.call(null,d);if(cljs.core.truth_(g))return g;g=b.cljs$core$IFn$_invoke$arity$1?b.cljs$core$IFn$_invoke$arity$1(d):b.call(null,d);if(cljs.core.truth_(g))return g;d=c.cljs$core$IFn$_invoke$arity$1?c.cljs$core$IFn$_invoke$arity$1(d):c.call(null,d);if(cljs.core.truth_(d))return d;d=a.cljs$core$IFn$_invoke$arity$1?a.cljs$core$IFn$_invoke$arity$1(e):
a.call(null,e);if(cljs.core.truth_(d))return d;d=b.cljs$core$IFn$_invoke$arity$1?b.cljs$core$IFn$_invoke$arity$1(e):b.call(null,e);if(cljs.core.truth_(d))return d;e=c.cljs$core$IFn$_invoke$arity$1?c.cljs$core$IFn$_invoke$arity$1(e):c.call(null,e);if(cljs.core.truth_(e))return e;e=a.cljs$core$IFn$_invoke$arity$1?a.cljs$core$IFn$_invoke$arity$1(f):a.call(null,f);if(cljs.core.truth_(e))return e;e=b.cljs$core$IFn$_invoke$arity$1?b.cljs$core$IFn$_invoke$arity$1(f):b.call(null,f);return cljs.core.truth_(e)?
e:c.cljs$core$IFn$_invoke$arity$1?c.cljs$core$IFn$_invoke$arity$1(f):c.call(null,f)},h=function(){var e=function(e,f,g,h){e=d.cljs$core$IFn$_invoke$arity$3(e,f,g);return cljs.core.truth_(e)?e:cljs.core.some(function(d){return function(d){var e=a.cljs$core$IFn$_invoke$arity$1?a.cljs$core$IFn$_invoke$arity$1(d):a.call(null,d);if(cljs.core.truth_(e))return e;e=b.cljs$core$IFn$_invoke$arity$1?b.cljs$core$IFn$_invoke$arity$1(d):b.call(null,d);return cljs.core.truth_(e)?e:c.cljs$core$IFn$_invoke$arity$1?
c.cljs$core$IFn$_invoke$arity$1(d):c.call(null,d)}}(e),h)},f=function(a,b,c,d){var f=null;if(3<arguments.length){f=0;for(var g=Array(arguments.length-3);f<g.length;)g[f]=arguments[f+3],++f;f=new cljs.core.IndexedSeq(g,0,null)}return e.call(this,a,b,c,f)};f.cljs$lang$maxFixedArity=3;f.cljs$lang$applyTo=function(a){var b=cljs.core.first(a);a=cljs.core.next(a);var c=cljs.core.first(a);a=cljs.core.next(a);var d=cljs.core.first(a);a=cljs.core.rest(a);return e(b,c,d,a)};f.cljs$core$IFn$_invoke$arity$variadic=
e;return f}();d=function(a,b,c,d){switch(arguments.length){case 0:return null;case 1:return e.call(this,a);case 2:return f.call(this,a,b);case 3:return g.call(this,a,b,c);default:var k=null;if(3<arguments.length){k=0;for(var l=Array(arguments.length-3);k<l.length;)l[k]=arguments[k+3],++k;k=new cljs.core.IndexedSeq(l,0,null)}return h.cljs$core$IFn$_invoke$arity$variadic(a,b,c,k)}throw Error("Invalid arity: "+arguments.length);};d.cljs$lang$maxFixedArity=3;d.cljs$lang$applyTo=h.cljs$lang$applyTo;d.cljs$core$IFn$_invoke$arity$0=
function(){return null};d.cljs$core$IFn$_invoke$arity$1=e;d.cljs$core$IFn$_invoke$arity$2=f;d.cljs$core$IFn$_invoke$arity$3=g;d.cljs$core$IFn$_invoke$arity$variadic=h.cljs$core$IFn$_invoke$arity$variadic;return d}()};
cljs.core.some_fn.cljs$core$IFn$_invoke$arity$variadic=function(a,b,c,d){return function(a){return function(){var b=null,c=function(b){return cljs.core.some(function(a){return function(a){return a.cljs$core$IFn$_invoke$arity$1?a.cljs$core$IFn$_invoke$arity$1(b):a.call(null,b)}}(a),a)},d=function(b,c){return cljs.core.some(function(a){return function(a){var d=a.cljs$core$IFn$_invoke$arity$1?a.cljs$core$IFn$_invoke$arity$1(b):a.call(null,b);return cljs.core.truth_(d)?d:a.cljs$core$IFn$_invoke$arity$1?
a.cljs$core$IFn$_invoke$arity$1(c):a.call(null,c)}}(a),a)},e=function(b,c,d){return cljs.core.some(function(a){return function(a){var e=a.cljs$core$IFn$_invoke$arity$1?a.cljs$core$IFn$_invoke$arity$1(b):a.call(null,b);if(cljs.core.truth_(e))return e;e=a.cljs$core$IFn$_invoke$arity$1?a.cljs$core$IFn$_invoke$arity$1(c):a.call(null,c);return cljs.core.truth_(e)?e:a.cljs$core$IFn$_invoke$arity$1?a.cljs$core$IFn$_invoke$arity$1(d):a.call(null,d)}}(a),a)},l=function(){var c=function(c,d,e,f){c=b.cljs$core$IFn$_invoke$arity$3(c,
d,e);return cljs.core.truth_(c)?c:cljs.core.some(function(a,b){return function(a){return cljs.core.some(a,f)}}(c,a),a)},d=function(a,b,d,e){var f=null;if(3<arguments.length){f=0;for(var g=Array(arguments.length-3);f<g.length;)g[f]=arguments[f+3],++f;f=new cljs.core.IndexedSeq(g,0,null)}return c.call(this,a,b,d,f)};d.cljs$lang$maxFixedArity=3;d.cljs$lang$applyTo=function(a){var b=cljs.core.first(a);a=cljs.core.next(a);var d=cljs.core.first(a);a=cljs.core.next(a);var e=cljs.core.first(a);a=cljs.core.rest(a);
return c(b,d,e,a)};d.cljs$core$IFn$_invoke$arity$variadic=c;return d}();b=function(a,b,f,g){switch(arguments.length){case 0:return null;case 1:return c.call(this,a);case 2:return d.call(this,a,b);case 3:return e.call(this,a,b,f);default:var h=null;if(3<arguments.length){h=0;for(var k=Array(arguments.length-3);h<k.length;)k[h]=arguments[h+3],++h;h=new cljs.core.IndexedSeq(k,0,null)}return l.cljs$core$IFn$_invoke$arity$variadic(a,b,f,h)}throw Error("Invalid arity: "+arguments.length);};b.cljs$lang$maxFixedArity=
3;b.cljs$lang$applyTo=l.cljs$lang$applyTo;b.cljs$core$IFn$_invoke$arity$0=function(){return null};b.cljs$core$IFn$_invoke$arity$1=c;b.cljs$core$IFn$_invoke$arity$2=d;b.cljs$core$IFn$_invoke$arity$3=e;b.cljs$core$IFn$_invoke$arity$variadic=l.cljs$core$IFn$_invoke$arity$variadic;return b}()}(cljs.core.list_STAR_.cljs$core$IFn$_invoke$arity$4(a,b,c,d))};
cljs.core.some_fn.cljs$lang$applyTo=function(a){var b=cljs.core.first(a),c=cljs.core.next(a);a=cljs.core.first(c);var d=cljs.core.next(c);c=cljs.core.first(d);d=cljs.core.next(d);return this.cljs$core$IFn$_invoke$arity$variadic(b,a,c,d)};cljs.core.some_fn.cljs$lang$maxFixedArity=3;
cljs.core.map=function(a){switch(arguments.length){case 1:return cljs.core.map.cljs$core$IFn$_invoke$arity$1(arguments[0]);case 2:return cljs.core.map.cljs$core$IFn$_invoke$arity$2(arguments[0],arguments[1]);case 3:return cljs.core.map.cljs$core$IFn$_invoke$arity$3(arguments[0],arguments[1],arguments[2]);case 4:return cljs.core.map.cljs$core$IFn$_invoke$arity$4(arguments[0],arguments[1],arguments[2],arguments[3]);default:for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;
b=new cljs.core.IndexedSeq(b.slice(4),0,null);return cljs.core.map.cljs$core$IFn$_invoke$arity$variadic(arguments[0],arguments[1],arguments[2],arguments[3],b)}};
cljs.core.map.cljs$core$IFn$_invoke$arity$1=function(a){return function(b){return function(){var c=null,d=function(){return b.cljs$core$IFn$_invoke$arity$0?b.cljs$core$IFn$_invoke$arity$0():b.call(null)},e=function(a){return b.cljs$core$IFn$_invoke$arity$1?b.cljs$core$IFn$_invoke$arity$1(a):b.call(null,a)},f=function(c,d){d=a.cljs$core$IFn$_invoke$arity$1?a.cljs$core$IFn$_invoke$arity$1(d):a.call(null,d);return b.cljs$core$IFn$_invoke$arity$2?b.cljs$core$IFn$_invoke$arity$2(c,d):b.call(null,c,d)},
g=function(){var c=function(c,d,e){d=cljs.core.apply.cljs$core$IFn$_invoke$arity$3(a,d,e);return b.cljs$core$IFn$_invoke$arity$2?b.cljs$core$IFn$_invoke$arity$2(c,d):b.call(null,c,d)},d=function(a,b,d){var e=null;if(2<arguments.length){e=0;for(var f=Array(arguments.length-2);e<f.length;)f[e]=arguments[e+2],++e;e=new cljs.core.IndexedSeq(f,0,null)}return c.call(this,a,b,e)};d.cljs$lang$maxFixedArity=2;d.cljs$lang$applyTo=function(a){var b=cljs.core.first(a);a=cljs.core.next(a);var d=cljs.core.first(a);
a=cljs.core.rest(a);return c(b,d,a)};d.cljs$core$IFn$_invoke$arity$variadic=c;return d}();c=function(a,b,c){switch(arguments.length){case 0:return d.call(this);case 1:return e.call(this,a);case 2:return f.call(this,a,b);default:var h=null;if(2<arguments.length){h=0;for(var k=Array(arguments.length-2);h<k.length;)k[h]=arguments[h+2],++h;h=new cljs.core.IndexedSeq(k,0,null)}return g.cljs$core$IFn$_invoke$arity$variadic(a,b,h)}throw Error("Invalid arity: "+arguments.length);};c.cljs$lang$maxFixedArity=
2;c.cljs$lang$applyTo=g.cljs$lang$applyTo;c.cljs$core$IFn$_invoke$arity$0=d;c.cljs$core$IFn$_invoke$arity$1=e;c.cljs$core$IFn$_invoke$arity$2=f;c.cljs$core$IFn$_invoke$arity$variadic=g.cljs$core$IFn$_invoke$arity$variadic;return c}()}};
cljs.core.map.cljs$core$IFn$_invoke$arity$2=function(a,b){return new cljs.core.LazySeq(null,function(){var c=cljs.core.seq(b);if(c){if(cljs.core.chunked_seq_QMARK_(c)){for(var d=cljs.core.chunk_first(c),e=cljs.core.count(d),f=cljs.core.chunk_buffer(e),g=0;;)if(g<e)cljs.core.chunk_append(f,function(){var b=cljs.core._nth.cljs$core$IFn$_invoke$arity$2(d,g);return a.cljs$core$IFn$_invoke$arity$1?a.cljs$core$IFn$_invoke$arity$1(b):a.call(null,b)}()),g+=1;else break;return cljs.core.chunk_cons(cljs.core.chunk(f),
cljs.core.map.cljs$core$IFn$_invoke$arity$2(a,cljs.core.chunk_rest(c)))}return cljs.core.cons(function(){var b=cljs.core.first(c);return a.cljs$core$IFn$_invoke$arity$1?a.cljs$core$IFn$_invoke$arity$1(b):a.call(null,b)}(),cljs.core.map.cljs$core$IFn$_invoke$arity$2(a,cljs.core.rest(c)))}return null},null,null)};
cljs.core.map.cljs$core$IFn$_invoke$arity$3=function(a,b,c){return new cljs.core.LazySeq(null,function(){var d=cljs.core.seq(b),e=cljs.core.seq(c);return d&&e?cljs.core.cons(function(){var b=cljs.core.first(d),c=cljs.core.first(e);return a.cljs$core$IFn$_invoke$arity$2?a.cljs$core$IFn$_invoke$arity$2(b,c):a.call(null,b,c)}(),cljs.core.map.cljs$core$IFn$_invoke$arity$3(a,cljs.core.rest(d),cljs.core.rest(e))):null},null,null)};
cljs.core.map.cljs$core$IFn$_invoke$arity$4=function(a,b,c,d){return new cljs.core.LazySeq(null,function(){var e=cljs.core.seq(b),f=cljs.core.seq(c),g=cljs.core.seq(d);return e&&f&&g?cljs.core.cons(function(){var b=cljs.core.first(e),c=cljs.core.first(f),d=cljs.core.first(g);return a.cljs$core$IFn$_invoke$arity$3?a.cljs$core$IFn$_invoke$arity$3(b,c,d):a.call(null,b,c,d)}(),cljs.core.map.cljs$core$IFn$_invoke$arity$4(a,cljs.core.rest(e),cljs.core.rest(f),cljs.core.rest(g))):null},null,null)};
cljs.core.map.cljs$core$IFn$_invoke$arity$variadic=function(a,b,c,d,e){var f=function k(a){return new cljs.core.LazySeq(null,function(){var b=cljs.core.map.cljs$core$IFn$_invoke$arity$2(cljs.core.seq,a);return cljs.core.every_QMARK_(cljs.core.identity,b)?cljs.core.cons(cljs.core.map.cljs$core$IFn$_invoke$arity$2(cljs.core.first,b),k(cljs.core.map.cljs$core$IFn$_invoke$arity$2(cljs.core.rest,b))):null},null,null)};return cljs.core.map.cljs$core$IFn$_invoke$arity$2(function(b){return function(b){return cljs.core.apply.cljs$core$IFn$_invoke$arity$2(a,
b)}}(f),f(cljs.core.conj.cljs$core$IFn$_invoke$arity$variadic(e,d,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([c,b],0))))};cljs.core.map.cljs$lang$applyTo=function(a){var b=cljs.core.first(a),c=cljs.core.next(a);a=cljs.core.first(c);var d=cljs.core.next(c);c=cljs.core.first(d);var e=cljs.core.next(d);d=cljs.core.first(e);e=cljs.core.next(e);return this.cljs$core$IFn$_invoke$arity$variadic(b,a,c,d,e)};cljs.core.map.cljs$lang$maxFixedArity=4;
cljs.core.take=function(a){switch(arguments.length){case 1:return cljs.core.take.cljs$core$IFn$_invoke$arity$1(arguments[0]);case 2:return cljs.core.take.cljs$core$IFn$_invoke$arity$2(arguments[0],arguments[1]);default:throw Error(["Invalid arity: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(""));}};
cljs.core.take.cljs$core$IFn$_invoke$arity$1=function(a){if("number"!==typeof a)throw Error("Assert failed: (number? n)");return function(b){return function(a){return function(){var c=null,e=function(){return b.cljs$core$IFn$_invoke$arity$0?b.cljs$core$IFn$_invoke$arity$0():b.call(null)},f=function(a){return b.cljs$core$IFn$_invoke$arity$1?b.cljs$core$IFn$_invoke$arity$1(a):b.call(null,a)},g=function(c,d){var e=cljs.core.deref(a),f=a.cljs$core$IVolatile$_vreset_BANG_$arity$2(null,a.cljs$core$IDeref$_deref$arity$1(null)-
1);c=0<e?b.cljs$core$IFn$_invoke$arity$2?b.cljs$core$IFn$_invoke$arity$2(c,d):b.call(null,c,d):c;return 0<f?c:cljs.core.ensure_reduced(c)};c=function(a,b){switch(arguments.length){case 0:return e.call(this);case 1:return f.call(this,a);case 2:return g.call(this,a,b)}throw Error("Invalid arity: "+arguments.length);};c.cljs$core$IFn$_invoke$arity$0=e;c.cljs$core$IFn$_invoke$arity$1=f;c.cljs$core$IFn$_invoke$arity$2=g;return c}()}(cljs.core.volatile_BANG_(a))}};
cljs.core.take.cljs$core$IFn$_invoke$arity$2=function(a,b){if("number"!==typeof a)throw Error("Assert failed: (number? n)");return new cljs.core.LazySeq(null,function(){if(0<a){var c=cljs.core.seq(b);return c?cljs.core.cons(cljs.core.first(c),cljs.core.take.cljs$core$IFn$_invoke$arity$2(a-1,cljs.core.rest(c))):null}return null},null,null)};cljs.core.take.cljs$lang$maxFixedArity=2;
cljs.core.drop=function(a){switch(arguments.length){case 1:return cljs.core.drop.cljs$core$IFn$_invoke$arity$1(arguments[0]);case 2:return cljs.core.drop.cljs$core$IFn$_invoke$arity$2(arguments[0],arguments[1]);default:throw Error(["Invalid arity: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(""));}};
cljs.core.drop.cljs$core$IFn$_invoke$arity$1=function(a){if("number"!==typeof a)throw Error("Assert failed: (number? n)");return function(b){return function(a){return function(){var c=null,e=function(){return b.cljs$core$IFn$_invoke$arity$0?b.cljs$core$IFn$_invoke$arity$0():b.call(null)},f=function(a){return b.cljs$core$IFn$_invoke$arity$1?b.cljs$core$IFn$_invoke$arity$1(a):b.call(null,a)},g=function(c,d){var e=cljs.core.deref(a);a.cljs$core$IVolatile$_vreset_BANG_$arity$2(null,a.cljs$core$IDeref$_deref$arity$1(null)-
1);return 0<e?c:b.cljs$core$IFn$_invoke$arity$2?b.cljs$core$IFn$_invoke$arity$2(c,d):b.call(null,c,d)};c=function(a,b){switch(arguments.length){case 0:return e.call(this);case 1:return f.call(this,a);case 2:return g.call(this,a,b)}throw Error("Invalid arity: "+arguments.length);};c.cljs$core$IFn$_invoke$arity$0=e;c.cljs$core$IFn$_invoke$arity$1=f;c.cljs$core$IFn$_invoke$arity$2=g;return c}()}(cljs.core.volatile_BANG_(a))}};
cljs.core.drop.cljs$core$IFn$_invoke$arity$2=function(a,b){if("number"!==typeof a)throw Error("Assert failed: (number? n)");return new cljs.core.LazySeq(null,function(c){return function(){return c(a,b)}}(function(a,b){for(;;)if(b=cljs.core.seq(b),0<a&&b)--a,b=cljs.core.rest(b);else return b}),null,null)};cljs.core.drop.cljs$lang$maxFixedArity=2;
cljs.core.drop_last=function(a){switch(arguments.length){case 1:return cljs.core.drop_last.cljs$core$IFn$_invoke$arity$1(arguments[0]);case 2:return cljs.core.drop_last.cljs$core$IFn$_invoke$arity$2(arguments[0],arguments[1]);default:throw Error(["Invalid arity: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(""));}};cljs.core.drop_last.cljs$core$IFn$_invoke$arity$1=function(a){return cljs.core.drop_last.cljs$core$IFn$_invoke$arity$2(1,a)};
cljs.core.drop_last.cljs$core$IFn$_invoke$arity$2=function(a,b){return cljs.core.map.cljs$core$IFn$_invoke$arity$3(function(a,b){return a},b,cljs.core.drop.cljs$core$IFn$_invoke$arity$2(a,b))};cljs.core.drop_last.cljs$lang$maxFixedArity=2;cljs.core.take_last=function(a,b){var c=cljs.core.seq(b);for(a=cljs.core.seq(cljs.core.drop.cljs$core$IFn$_invoke$arity$2(a,b));;)if(a)c=cljs.core.next(c),a=cljs.core.next(a);else return c};
cljs.core.drop_while=function(a){switch(arguments.length){case 1:return cljs.core.drop_while.cljs$core$IFn$_invoke$arity$1(arguments[0]);case 2:return cljs.core.drop_while.cljs$core$IFn$_invoke$arity$2(arguments[0],arguments[1]);default:throw Error(["Invalid arity: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(""));}};
cljs.core.drop_while.cljs$core$IFn$_invoke$arity$1=function(a){return function(b){return function(c){return function(){var d=null,e=function(){return b.cljs$core$IFn$_invoke$arity$0?b.cljs$core$IFn$_invoke$arity$0():b.call(null)},f=function(a){return b.cljs$core$IFn$_invoke$arity$1?b.cljs$core$IFn$_invoke$arity$1(a):b.call(null,a)},g=function(d,e){var f=cljs.core.deref(c);if(cljs.core.truth_(cljs.core.truth_(f)?a.cljs$core$IFn$_invoke$arity$1?a.cljs$core$IFn$_invoke$arity$1(e):a.call(null,e):f))return d;
cljs.core.vreset_BANG_(c,null);return b.cljs$core$IFn$_invoke$arity$2?b.cljs$core$IFn$_invoke$arity$2(d,e):b.call(null,d,e)};d=function(a,b){switch(arguments.length){case 0:return e.call(this);case 1:return f.call(this,a);case 2:return g.call(this,a,b)}throw Error("Invalid arity: "+arguments.length);};d.cljs$core$IFn$_invoke$arity$0=e;d.cljs$core$IFn$_invoke$arity$1=f;d.cljs$core$IFn$_invoke$arity$2=g;return d}()}(cljs.core.volatile_BANG_(!0))}};
cljs.core.drop_while.cljs$core$IFn$_invoke$arity$2=function(a,b){return new cljs.core.LazySeq(null,function(c){return function(){return c(a,b)}}(function(a,b){for(;;){var c=cljs.core.seq(b);if(cljs.core.truth_(function(){var b=c;return b?(b=cljs.core.first(c),a.cljs$core$IFn$_invoke$arity$1?a.cljs$core$IFn$_invoke$arity$1(b):a.call(null,b)):b}())){b=a;var d=cljs.core.rest(c);a=b;b=d}else return c}}),null,null)};cljs.core.drop_while.cljs$lang$maxFixedArity=2;
cljs.core.Cycle=function(a,b,c,d,e){this.meta=a;this.all=b;this.prev=c;this.current=d;this._next=e;this.cljs$lang$protocol_mask$partition0$=26083532;this.cljs$lang$protocol_mask$partition1$=1};cljs.core.Cycle.prototype.toString=function(){return cljs.core.pr_str_STAR_(this)};cljs.core.Cycle.prototype.currentval=function(){if(!this.current){var a=cljs.core.next(this.prev);this.current=a?a:this.all}return this.current};cljs.core.Cycle.prototype.cljs$core$IMeta$_meta$arity$1=function(a){return this.meta};
cljs.core.Cycle.prototype.cljs$core$INext$_next$arity$1=function(a){return this.cljs$core$ISeq$_rest$arity$1(null)};cljs.core.Cycle.prototype.cljs$core$IEmptyableCollection$_empty$arity$1=function(a){return cljs.core.List.EMPTY};cljs.core.Cycle.prototype.cljs$core$IPending$_realized_QMARK_$arity$1=function(a){return null!=this.current};
cljs.core.Cycle.prototype.cljs$core$IReduce$_reduce$arity$2=function(a,b){for(var c=this,d=this.currentval(),e=cljs.core.first(d);;){var f=function(){var a=cljs.core.next(d);return a?a:c.all}();a=function(){var a=e,c=cljs.core.first(f);return b.cljs$core$IFn$_invoke$arity$2?b.cljs$core$IFn$_invoke$arity$2(a,c):b.call(null,a,c)}();if(cljs.core.reduced_QMARK_(a))return cljs.core.deref(a);d=f;e=a}};
cljs.core.Cycle.prototype.cljs$core$IReduce$_reduce$arity$3=function(a,b,c){for(var d=this,e=this.currentval(),f=c;;){c=function(){var a=f,c=cljs.core.first(e);return b.cljs$core$IFn$_invoke$arity$2?b.cljs$core$IFn$_invoke$arity$2(a,c):b.call(null,a,c)}();if(cljs.core.reduced_QMARK_(c))return cljs.core.deref(c);e=a=function(){var a=cljs.core.next(e);return a?a:d.all}();f=c}};cljs.core.Cycle.prototype.cljs$core$ISeq$_first$arity$1=function(a){return cljs.core.first(this.currentval())};
cljs.core.Cycle.prototype.cljs$core$ISeq$_rest$arity$1=function(a){null==this._next&&(this._next=new cljs.core.Cycle(null,this.all,this.currentval(),null,null));return this._next};cljs.core.Cycle.prototype.cljs$core$ISeqable$_seq$arity$1=function(a){return this};cljs.core.Cycle.prototype.cljs$core$IWithMeta$_with_meta$arity$2=function(a,b){return b===this.meta?this:new cljs.core.Cycle(b,this.all,this.prev,this.current,this._next)};
cljs.core.Cycle.prototype.cljs$core$ICollection$_conj$arity$2=function(a,b){return cljs.core.cons(b,this)};
cljs.core.Cycle.getBasis=function(){return new cljs.core.PersistentVector(null,5,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"meta","meta",-1154898805,null),new cljs.core.Symbol(null,"all","all",-1762306027,null),new cljs.core.Symbol(null,"prev","prev",43462301,null),cljs.core.with_meta(new cljs.core.Symbol(null,"current","current",552492924,null),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"mutable","mutable",875778266),!0],null)),cljs.core.with_meta(new cljs.core.Symbol(null,
"_next","_next",101877036,null),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"mutable","mutable",875778266),!0],null))],null)};cljs.core.Cycle.cljs$lang$type=!0;cljs.core.Cycle.cljs$lang$ctorStr="cljs.core/Cycle";cljs.core.Cycle.cljs$lang$ctorPrWriter=function(a,b,c){return cljs.core._write(b,"cljs.core/Cycle")};cljs.core.__GT_Cycle=function(a,b,c,d,e){return new cljs.core.Cycle(a,b,c,d,e)};
cljs.core.cycle=function(a){return(a=cljs.core.seq(a))?new cljs.core.Cycle(null,a,null,a,null):cljs.core.List.EMPTY};cljs.core.split_at=function(a,b){return new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[cljs.core.take.cljs$core$IFn$_invoke$arity$2(a,b),cljs.core.drop.cljs$core$IFn$_invoke$arity$2(a,b)],null)};
cljs.core.Repeat=function(a,b,c,d,e){this.meta=a;this.count=b;this.val=c;this.next=d;this.__hash=e;this.cljs$lang$protocol_mask$partition0$=32374988;this.cljs$lang$protocol_mask$partition1$=1};cljs.core.Repeat.prototype.toString=function(){return cljs.core.pr_str_STAR_(this)};cljs.core.Repeat.prototype.equiv=function(a){return this.cljs$core$IEquiv$_equiv$arity$2(null,a)};
cljs.core.Repeat.prototype.indexOf=function(){var a=null,b=function(a){return cljs.core._indexOf.cljs$core$IFn$_invoke$arity$3(this,a,0)},c=function(a,b){return cljs.core._indexOf.cljs$core$IFn$_invoke$arity$3(this,a,b)};a=function(a,e){switch(arguments.length){case 1:return b.call(this,a);case 2:return c.call(this,a,e)}throw Error("Invalid arity: "+arguments.length);};a.cljs$core$IFn$_invoke$arity$1=b;a.cljs$core$IFn$_invoke$arity$2=c;return a}();
cljs.core.Repeat.prototype.lastIndexOf=function(){var a=null,b=function(a){return cljs.core._lastIndexOf.cljs$core$IFn$_invoke$arity$3(this,a,this.count)},c=function(a,b){return cljs.core._lastIndexOf.cljs$core$IFn$_invoke$arity$3(this,a,b)};a=function(a,e){switch(arguments.length){case 1:return b.call(this,a);case 2:return c.call(this,a,e)}throw Error("Invalid arity: "+arguments.length);};a.cljs$core$IFn$_invoke$arity$1=b;a.cljs$core$IFn$_invoke$arity$2=c;return a}();
cljs.core.Repeat.prototype.cljs$core$IMeta$_meta$arity$1=function(a){return this.meta};cljs.core.Repeat.prototype.cljs$core$INext$_next$arity$1=function(a){return null==this.next?1<this.count?this.next=new cljs.core.Repeat(null,this.count-1,this.val,null,null):-1===this.count?this:null:this.next};cljs.core.Repeat.prototype.cljs$core$IHash$_hash$arity$1=function(a){a=this.__hash;return null!=a?a:this.__hash=a=cljs.core.hash_ordered_coll(this)};
cljs.core.Repeat.prototype.cljs$core$IEquiv$_equiv$arity$2=function(a,b){return cljs.core.equiv_sequential(this,b)};cljs.core.Repeat.prototype.cljs$core$IEmptyableCollection$_empty$arity$1=function(a){return cljs.core.List.EMPTY};cljs.core.Repeat.prototype.cljs$core$IPending$_realized_QMARK_$arity$1=function(a){return!1};
cljs.core.Repeat.prototype.cljs$core$IReduce$_reduce$arity$2=function(a,b){if(-1===this.count)for(var c=b.cljs$core$IFn$_invoke$arity$2?b.cljs$core$IFn$_invoke$arity$2(this.val,this.val):b.call(null,this.val,this.val);;){if(cljs.core.reduced_QMARK_(c))return cljs.core.deref(c);c=b.cljs$core$IFn$_invoke$arity$2?b.cljs$core$IFn$_invoke$arity$2(c,this.val):b.call(null,c,this.val)}else for(a=1,c=this.val;;)if(a<this.count){c=b.cljs$core$IFn$_invoke$arity$2?b.cljs$core$IFn$_invoke$arity$2(c,this.val):
b.call(null,c,this.val);if(cljs.core.reduced_QMARK_(c))return cljs.core.deref(c);a+=1}else return c};
cljs.core.Repeat.prototype.cljs$core$IReduce$_reduce$arity$3=function(a,b,c){if(-1===this.count)for(c=b.cljs$core$IFn$_invoke$arity$2?b.cljs$core$IFn$_invoke$arity$2(c,this.val):b.call(null,c,this.val);;){if(cljs.core.reduced_QMARK_(c))return cljs.core.deref(c);c=b.cljs$core$IFn$_invoke$arity$2?b.cljs$core$IFn$_invoke$arity$2(c,this.val):b.call(null,c,this.val)}else for(a=0;;)if(a<this.count){c=b.cljs$core$IFn$_invoke$arity$2?b.cljs$core$IFn$_invoke$arity$2(c,this.val):b.call(null,c,this.val);if(cljs.core.reduced_QMARK_(c))return cljs.core.deref(c);
a+=1}else return c};cljs.core.Repeat.prototype.cljs$core$ISeq$_first$arity$1=function(a){return this.val};cljs.core.Repeat.prototype.cljs$core$ISeq$_rest$arity$1=function(a){return null==this.next?1<this.count?this.next=new cljs.core.Repeat(null,this.count-1,this.val,null,null):-1===this.count?this:cljs.core.List.EMPTY:this.next};cljs.core.Repeat.prototype.cljs$core$ISeqable$_seq$arity$1=function(a){return this};
cljs.core.Repeat.prototype.cljs$core$IWithMeta$_with_meta$arity$2=function(a,b){return b===this.meta?this:new cljs.core.Repeat(b,this.count,this.val,this.next,null)};cljs.core.Repeat.prototype.cljs$core$ICollection$_conj$arity$2=function(a,b){return cljs.core.cons(b,this)};
cljs.core.Repeat.getBasis=function(){return new cljs.core.PersistentVector(null,5,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"meta","meta",-1154898805,null),new cljs.core.Symbol(null,"count","count",-514511684,null),new cljs.core.Symbol(null,"val","val",1769233139,null),cljs.core.with_meta(new cljs.core.Symbol(null,"next","next",1522830042,null),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"mutable","mutable",875778266),!0],null)),cljs.core.with_meta(new cljs.core.Symbol(null,
"__hash","__hash",-1328796629,null),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"mutable","mutable",875778266),!0],null))],null)};cljs.core.Repeat.cljs$lang$type=!0;cljs.core.Repeat.cljs$lang$ctorStr="cljs.core/Repeat";cljs.core.Repeat.cljs$lang$ctorPrWriter=function(a,b,c){return cljs.core._write(b,"cljs.core/Repeat")};cljs.core.__GT_Repeat=function(a,b,c,d,e){return new cljs.core.Repeat(a,b,c,d,e)};
cljs.core.repeat=function(a){switch(arguments.length){case 1:return cljs.core.repeat.cljs$core$IFn$_invoke$arity$1(arguments[0]);case 2:return cljs.core.repeat.cljs$core$IFn$_invoke$arity$2(arguments[0],arguments[1]);default:throw Error(["Invalid arity: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(""));}};cljs.core.repeat.cljs$core$IFn$_invoke$arity$1=function(a){return new cljs.core.Repeat(null,-1,a,null,null)};
cljs.core.repeat.cljs$core$IFn$_invoke$arity$2=function(a,b){return 0<a?new cljs.core.Repeat(null,a,b,null,null):cljs.core.List.EMPTY};cljs.core.repeat.cljs$lang$maxFixedArity=2;cljs.core.replicate=function(a,b){return cljs.core.take.cljs$core$IFn$_invoke$arity$2(a,cljs.core.repeat.cljs$core$IFn$_invoke$arity$1(b))};
cljs.core.repeatedly=function(a){switch(arguments.length){case 1:return cljs.core.repeatedly.cljs$core$IFn$_invoke$arity$1(arguments[0]);case 2:return cljs.core.repeatedly.cljs$core$IFn$_invoke$arity$2(arguments[0],arguments[1]);default:throw Error(["Invalid arity: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(""));}};
cljs.core.repeatedly.cljs$core$IFn$_invoke$arity$1=function(a){return new cljs.core.LazySeq(null,function(){return cljs.core.cons(a.cljs$core$IFn$_invoke$arity$0?a.cljs$core$IFn$_invoke$arity$0():a.call(null),cljs.core.repeatedly.cljs$core$IFn$_invoke$arity$1(a))},null,null)};cljs.core.repeatedly.cljs$core$IFn$_invoke$arity$2=function(a,b){return cljs.core.take.cljs$core$IFn$_invoke$arity$2(a,cljs.core.repeatedly.cljs$core$IFn$_invoke$arity$1(b))};cljs.core.repeatedly.cljs$lang$maxFixedArity=2;
cljs.core.UNREALIZED_SEED={};cljs.core.Iterate=function(a,b,c,d,e){this.meta=a;this.f=b;this.prev_seed=c;this.seed=d;this.next=e;this.cljs$lang$protocol_mask$partition0$=26083532;this.cljs$lang$protocol_mask$partition1$=1};cljs.core.Iterate.prototype.toString=function(){return cljs.core.pr_str_STAR_(this)};cljs.core.Iterate.prototype.cljs$core$IMeta$_meta$arity$1=function(a){return this.meta};cljs.core.Iterate.prototype.cljs$core$INext$_next$arity$1=function(a){return this.cljs$core$ISeq$_rest$arity$1(null)};
cljs.core.Iterate.prototype.cljs$core$IEmptyableCollection$_empty$arity$1=function(a){return cljs.core.List.EMPTY};cljs.core.Iterate.prototype.cljs$core$IPending$_realized_QMARK_$arity$1=function(a){return this.seed!==cljs.core.UNREALIZED_SEED};
cljs.core.Iterate.prototype.cljs$core$IReduce$_reduce$arity$2=function(a,b){a=this.cljs$core$ISeq$_first$arity$1(null);var c=this.f.cljs$core$IFn$_invoke$arity$1?this.f.cljs$core$IFn$_invoke$arity$1(a):this.f.call(null,a);for(a=b.cljs$core$IFn$_invoke$arity$2?b.cljs$core$IFn$_invoke$arity$2(a,c):b.call(null,a,c);;){if(cljs.core.reduced_QMARK_(a))return cljs.core.deref(a);c=this.f.cljs$core$IFn$_invoke$arity$1?this.f.cljs$core$IFn$_invoke$arity$1(c):this.f.call(null,c);a=b.cljs$core$IFn$_invoke$arity$2?
b.cljs$core$IFn$_invoke$arity$2(a,c):b.call(null,a,c)}};
cljs.core.Iterate.prototype.cljs$core$IReduce$_reduce$arity$3=function(a,b,c){a=this.cljs$core$ISeq$_first$arity$1(null);for(c=b.cljs$core$IFn$_invoke$arity$2?b.cljs$core$IFn$_invoke$arity$2(c,a):b.call(null,c,a);;){if(cljs.core.reduced_QMARK_(c))return cljs.core.deref(c);a=this.f.cljs$core$IFn$_invoke$arity$1?this.f.cljs$core$IFn$_invoke$arity$1(a):this.f.call(null,a);c=b.cljs$core$IFn$_invoke$arity$2?b.cljs$core$IFn$_invoke$arity$2(c,a):b.call(null,c,a)}};
cljs.core.Iterate.prototype.cljs$core$ISeq$_first$arity$1=function(a){cljs.core.UNREALIZED_SEED===this.seed&&(this.seed=this.f.cljs$core$IFn$_invoke$arity$1?this.f.cljs$core$IFn$_invoke$arity$1(this.prev_seed):this.f.call(null,this.prev_seed));return this.seed};cljs.core.Iterate.prototype.cljs$core$ISeq$_rest$arity$1=function(a){null==this.next&&(this.next=new cljs.core.Iterate(null,this.f,this.cljs$core$ISeq$_first$arity$1(null),cljs.core.UNREALIZED_SEED,null));return this.next};
cljs.core.Iterate.prototype.cljs$core$ISeqable$_seq$arity$1=function(a){return this};cljs.core.Iterate.prototype.cljs$core$IWithMeta$_with_meta$arity$2=function(a,b){return b===this.meta?this:new cljs.core.Iterate(b,this.f,this.prev_seed,this.seed,this.next)};cljs.core.Iterate.prototype.cljs$core$ICollection$_conj$arity$2=function(a,b){return cljs.core.cons(b,this)};
cljs.core.Iterate.getBasis=function(){return new cljs.core.PersistentVector(null,5,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"meta","meta",-1154898805,null),new cljs.core.Symbol(null,"f","f",43394975,null),new cljs.core.Symbol(null,"prev-seed","prev-seed",2126381367,null),cljs.core.with_meta(new cljs.core.Symbol(null,"seed","seed",1709144854,null),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"mutable","mutable",875778266),!0],null)),cljs.core.with_meta(new cljs.core.Symbol(null,
"next","next",1522830042,null),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"mutable","mutable",875778266),!0],null))],null)};cljs.core.Iterate.cljs$lang$type=!0;cljs.core.Iterate.cljs$lang$ctorStr="cljs.core/Iterate";cljs.core.Iterate.cljs$lang$ctorPrWriter=function(a,b,c){return cljs.core._write(b,"cljs.core/Iterate")};cljs.core.__GT_Iterate=function(a,b,c,d,e){return new cljs.core.Iterate(a,b,c,d,e)};
cljs.core.iterate=function(a,b){return new cljs.core.Iterate(null,a,null,b,null)};
cljs.core.interleave=function(a){switch(arguments.length){case 0:return cljs.core.interleave.cljs$core$IFn$_invoke$arity$0();case 1:return cljs.core.interleave.cljs$core$IFn$_invoke$arity$1(arguments[0]);case 2:return cljs.core.interleave.cljs$core$IFn$_invoke$arity$2(arguments[0],arguments[1]);default:for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;b=new cljs.core.IndexedSeq(b.slice(2),0,null);return cljs.core.interleave.cljs$core$IFn$_invoke$arity$variadic(arguments[0],
arguments[1],b)}};cljs.core.interleave.cljs$core$IFn$_invoke$arity$0=function(){return cljs.core.List.EMPTY};cljs.core.interleave.cljs$core$IFn$_invoke$arity$1=function(a){return new cljs.core.LazySeq(null,function(){return a},null,null)};
cljs.core.interleave.cljs$core$IFn$_invoke$arity$2=function(a,b){return new cljs.core.LazySeq(null,function(){var c=cljs.core.seq(a),d=cljs.core.seq(b);return c&&d?cljs.core.cons(cljs.core.first(c),cljs.core.cons(cljs.core.first(d),cljs.core.interleave.cljs$core$IFn$_invoke$arity$2(cljs.core.rest(c),cljs.core.rest(d)))):null},null,null)};
cljs.core.interleave.cljs$core$IFn$_invoke$arity$variadic=function(a,b,c){return new cljs.core.LazySeq(null,function(){var d=cljs.core.map.cljs$core$IFn$_invoke$arity$2(cljs.core.seq,cljs.core.conj.cljs$core$IFn$_invoke$arity$variadic(c,b,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([a],0)));return cljs.core.every_QMARK_(cljs.core.identity,d)?cljs.core.concat.cljs$core$IFn$_invoke$arity$2(cljs.core.map.cljs$core$IFn$_invoke$arity$2(cljs.core.first,d),cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core.interleave,
cljs.core.map.cljs$core$IFn$_invoke$arity$2(cljs.core.rest,d))):null},null,null)};cljs.core.interleave.cljs$lang$applyTo=function(a){var b=cljs.core.first(a),c=cljs.core.next(a);a=cljs.core.first(c);c=cljs.core.next(c);return this.cljs$core$IFn$_invoke$arity$variadic(b,a,c)};cljs.core.interleave.cljs$lang$maxFixedArity=2;
cljs.core.interpose=function(a){switch(arguments.length){case 1:return cljs.core.interpose.cljs$core$IFn$_invoke$arity$1(arguments[0]);case 2:return cljs.core.interpose.cljs$core$IFn$_invoke$arity$2(arguments[0],arguments[1]);default:throw Error(["Invalid arity: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(""));}};
cljs.core.interpose.cljs$core$IFn$_invoke$arity$1=function(a){return function(b){return function(c){return function(){var d=null,e=function(){return b.cljs$core$IFn$_invoke$arity$0?b.cljs$core$IFn$_invoke$arity$0():b.call(null)},f=function(a){return b.cljs$core$IFn$_invoke$arity$1?b.cljs$core$IFn$_invoke$arity$1(a):b.call(null,a)},g=function(d,e){if(cljs.core.truth_(cljs.core.deref(c)))return d=b.cljs$core$IFn$_invoke$arity$2?b.cljs$core$IFn$_invoke$arity$2(d,a):b.call(null,d,a),cljs.core.reduced_QMARK_(d)?
d:b.cljs$core$IFn$_invoke$arity$2?b.cljs$core$IFn$_invoke$arity$2(d,e):b.call(null,d,e);cljs.core.vreset_BANG_(c,!0);return b.cljs$core$IFn$_invoke$arity$2?b.cljs$core$IFn$_invoke$arity$2(d,e):b.call(null,d,e)};d=function(a,b){switch(arguments.length){case 0:return e.call(this);case 1:return f.call(this,a);case 2:return g.call(this,a,b)}throw Error("Invalid arity: "+arguments.length);};d.cljs$core$IFn$_invoke$arity$0=e;d.cljs$core$IFn$_invoke$arity$1=f;d.cljs$core$IFn$_invoke$arity$2=g;return d}()}(cljs.core.volatile_BANG_(!1))}};
cljs.core.interpose.cljs$core$IFn$_invoke$arity$2=function(a,b){return cljs.core.drop.cljs$core$IFn$_invoke$arity$2(1,cljs.core.interleave.cljs$core$IFn$_invoke$arity$2(cljs.core.repeat.cljs$core$IFn$_invoke$arity$1(a),b))};cljs.core.interpose.cljs$lang$maxFixedArity=2;
cljs.core.flatten1=function(a){return function e(a,d){return new cljs.core.LazySeq(null,function(){var c=cljs.core.seq(a);return c?cljs.core.cons(cljs.core.first(c),e(cljs.core.rest(c),d)):cljs.core.seq(d)?e(cljs.core.first(d),cljs.core.rest(d)):null},null,null)}(null,a)};
cljs.core.mapcat=function(a){switch(arguments.length){case 1:return cljs.core.mapcat.cljs$core$IFn$_invoke$arity$1(arguments[0]);default:for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;b=new cljs.core.IndexedSeq(b.slice(1),0,null);return cljs.core.mapcat.cljs$core$IFn$_invoke$arity$variadic(arguments[0],b)}};
cljs.core.mapcat.cljs$core$IFn$_invoke$arity$1=function(a){return cljs.core.comp.cljs$core$IFn$_invoke$arity$2(cljs.core.map.cljs$core$IFn$_invoke$arity$1(a),cljs.core.cat)};cljs.core.mapcat.cljs$core$IFn$_invoke$arity$variadic=function(a,b){return cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core.concat,cljs.core.apply.cljs$core$IFn$_invoke$arity$3(cljs.core.map,a,b))};
cljs.core.mapcat.cljs$lang$applyTo=function(a){var b=cljs.core.first(a);a=cljs.core.next(a);return this.cljs$core$IFn$_invoke$arity$variadic(b,a)};cljs.core.mapcat.cljs$lang$maxFixedArity=1;
cljs.core.filter=function(a){switch(arguments.length){case 1:return cljs.core.filter.cljs$core$IFn$_invoke$arity$1(arguments[0]);case 2:return cljs.core.filter.cljs$core$IFn$_invoke$arity$2(arguments[0],arguments[1]);default:throw Error(["Invalid arity: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(""));}};
cljs.core.filter.cljs$core$IFn$_invoke$arity$1=function(a){return function(b){return function(){var c=null,d=function(){return b.cljs$core$IFn$_invoke$arity$0?b.cljs$core$IFn$_invoke$arity$0():b.call(null)},e=function(a){return b.cljs$core$IFn$_invoke$arity$1?b.cljs$core$IFn$_invoke$arity$1(a):b.call(null,a)},f=function(c,d){return cljs.core.truth_(a.cljs$core$IFn$_invoke$arity$1?a.cljs$core$IFn$_invoke$arity$1(d):a.call(null,d))?b.cljs$core$IFn$_invoke$arity$2?b.cljs$core$IFn$_invoke$arity$2(c,d):
b.call(null,c,d):c};c=function(a,b){switch(arguments.length){case 0:return d.call(this);case 1:return e.call(this,a);case 2:return f.call(this,a,b)}throw Error("Invalid arity: "+arguments.length);};c.cljs$core$IFn$_invoke$arity$0=d;c.cljs$core$IFn$_invoke$arity$1=e;c.cljs$core$IFn$_invoke$arity$2=f;return c}()}};
cljs.core.filter.cljs$core$IFn$_invoke$arity$2=function(a,b){return new cljs.core.LazySeq(null,function(){var c=cljs.core.seq(b);if(c){if(cljs.core.chunked_seq_QMARK_(c)){for(var d=cljs.core.chunk_first(c),e=cljs.core.count(d),f=cljs.core.chunk_buffer(e),g=0;;)if(g<e)cljs.core.truth_(function(){var b=cljs.core._nth.cljs$core$IFn$_invoke$arity$2(d,g);return a.cljs$core$IFn$_invoke$arity$1?a.cljs$core$IFn$_invoke$arity$1(b):a.call(null,b)}())&&cljs.core.chunk_append(f,cljs.core._nth.cljs$core$IFn$_invoke$arity$2(d,
g)),g+=1;else break;return cljs.core.chunk_cons(cljs.core.chunk(f),cljs.core.filter.cljs$core$IFn$_invoke$arity$2(a,cljs.core.chunk_rest(c)))}e=cljs.core.first(c);c=cljs.core.rest(c);return cljs.core.truth_(a.cljs$core$IFn$_invoke$arity$1?a.cljs$core$IFn$_invoke$arity$1(e):a.call(null,e))?cljs.core.cons(e,cljs.core.filter.cljs$core$IFn$_invoke$arity$2(a,c)):cljs.core.filter.cljs$core$IFn$_invoke$arity$2(a,c)}return null},null,null)};cljs.core.filter.cljs$lang$maxFixedArity=2;
cljs.core.remove=function(a){switch(arguments.length){case 1:return cljs.core.remove.cljs$core$IFn$_invoke$arity$1(arguments[0]);case 2:return cljs.core.remove.cljs$core$IFn$_invoke$arity$2(arguments[0],arguments[1]);default:throw Error(["Invalid arity: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(""));}};cljs.core.remove.cljs$core$IFn$_invoke$arity$1=function(a){return cljs.core.filter.cljs$core$IFn$_invoke$arity$1(cljs.core.complement(a))};
cljs.core.remove.cljs$core$IFn$_invoke$arity$2=function(a,b){return cljs.core.filter.cljs$core$IFn$_invoke$arity$2(cljs.core.complement(a),b)};cljs.core.remove.cljs$lang$maxFixedArity=2;
cljs.core.tree_seq=function(a,b,c){return function f(c){return new cljs.core.LazySeq(null,function(){return cljs.core.cons(c,cljs.core.truth_(a.cljs$core$IFn$_invoke$arity$1?a.cljs$core$IFn$_invoke$arity$1(c):a.call(null,c))?cljs.core.mapcat.cljs$core$IFn$_invoke$arity$variadic(f,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([b.cljs$core$IFn$_invoke$arity$1?b.cljs$core$IFn$_invoke$arity$1(c):b.call(null,c)],0)):null)},null,null)}(c)};
cljs.core.flatten=function(a){return cljs.core.filter.cljs$core$IFn$_invoke$arity$2(function(a){return!cljs.core.sequential_QMARK_(a)},cljs.core.rest(cljs.core.tree_seq(cljs.core.sequential_QMARK_,cljs.core.seq,a)))};
cljs.core.into=function(a){switch(arguments.length){case 0:return cljs.core.into.cljs$core$IFn$_invoke$arity$0();case 1:return cljs.core.into.cljs$core$IFn$_invoke$arity$1(arguments[0]);case 2:return cljs.core.into.cljs$core$IFn$_invoke$arity$2(arguments[0],arguments[1]);case 3:return cljs.core.into.cljs$core$IFn$_invoke$arity$3(arguments[0],arguments[1],arguments[2]);default:throw Error(["Invalid arity: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(""));}};
cljs.core.into.cljs$core$IFn$_invoke$arity$0=function(){return cljs.core.PersistentVector.EMPTY};cljs.core.into.cljs$core$IFn$_invoke$arity$1=function(a){return a};
cljs.core.into.cljs$core$IFn$_invoke$arity$2=function(a,b){return null!=a?null!=a&&(a.cljs$lang$protocol_mask$partition1$&4||cljs.core.PROTOCOL_SENTINEL===a.cljs$core$IEditableCollection$)?cljs.core._with_meta(cljs.core.persistent_BANG_(cljs.core.reduce.cljs$core$IFn$_invoke$arity$3(cljs.core._conj_BANG_,cljs.core.transient$(a),b)),cljs.core.meta(a)):cljs.core.reduce.cljs$core$IFn$_invoke$arity$3(cljs.core._conj,a,b):cljs.core.reduce.cljs$core$IFn$_invoke$arity$3(cljs.core.conj,cljs.core.List.EMPTY,
b)};cljs.core.into.cljs$core$IFn$_invoke$arity$3=function(a,b,c){return null!=a&&(a.cljs$lang$protocol_mask$partition1$&4||cljs.core.PROTOCOL_SENTINEL===a.cljs$core$IEditableCollection$)?cljs.core._with_meta(cljs.core.persistent_BANG_(cljs.core.transduce.cljs$core$IFn$_invoke$arity$4(b,cljs.core.conj_BANG_,cljs.core.transient$(a),c)),cljs.core.meta(a)):cljs.core.transduce.cljs$core$IFn$_invoke$arity$4(b,cljs.core.conj,a,c)};cljs.core.into.cljs$lang$maxFixedArity=3;
cljs.core.mapv=function(a){switch(arguments.length){case 2:return cljs.core.mapv.cljs$core$IFn$_invoke$arity$2(arguments[0],arguments[1]);case 3:return cljs.core.mapv.cljs$core$IFn$_invoke$arity$3(arguments[0],arguments[1],arguments[2]);case 4:return cljs.core.mapv.cljs$core$IFn$_invoke$arity$4(arguments[0],arguments[1],arguments[2],arguments[3]);default:for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;b=new cljs.core.IndexedSeq(b.slice(4),0,null);return cljs.core.mapv.cljs$core$IFn$_invoke$arity$variadic(arguments[0],
arguments[1],arguments[2],arguments[3],b)}};cljs.core.mapv.cljs$core$IFn$_invoke$arity$2=function(a,b){return cljs.core.persistent_BANG_(cljs.core.reduce.cljs$core$IFn$_invoke$arity$3(function(b,d){return cljs.core.conj_BANG_.cljs$core$IFn$_invoke$arity$2(b,a.cljs$core$IFn$_invoke$arity$1?a.cljs$core$IFn$_invoke$arity$1(d):a.call(null,d))},cljs.core.transient$(cljs.core.PersistentVector.EMPTY),b))};
cljs.core.mapv.cljs$core$IFn$_invoke$arity$3=function(a,b,c){return cljs.core.into.cljs$core$IFn$_invoke$arity$2(cljs.core.PersistentVector.EMPTY,cljs.core.map.cljs$core$IFn$_invoke$arity$3(a,b,c))};cljs.core.mapv.cljs$core$IFn$_invoke$arity$4=function(a,b,c,d){return cljs.core.into.cljs$core$IFn$_invoke$arity$2(cljs.core.PersistentVector.EMPTY,cljs.core.map.cljs$core$IFn$_invoke$arity$4(a,b,c,d))};
cljs.core.mapv.cljs$core$IFn$_invoke$arity$variadic=function(a,b,c,d,e){return cljs.core.into.cljs$core$IFn$_invoke$arity$2(cljs.core.PersistentVector.EMPTY,cljs.core.apply.cljs$core$IFn$_invoke$arity$variadic(cljs.core.map,a,b,c,d,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([e],0)))};
cljs.core.mapv.cljs$lang$applyTo=function(a){var b=cljs.core.first(a),c=cljs.core.next(a);a=cljs.core.first(c);var d=cljs.core.next(c);c=cljs.core.first(d);var e=cljs.core.next(d);d=cljs.core.first(e);e=cljs.core.next(e);return this.cljs$core$IFn$_invoke$arity$variadic(b,a,c,d,e)};cljs.core.mapv.cljs$lang$maxFixedArity=4;
cljs.core.filterv=function(a,b){return cljs.core.persistent_BANG_(cljs.core.reduce.cljs$core$IFn$_invoke$arity$3(function(b,d){return cljs.core.truth_(a.cljs$core$IFn$_invoke$arity$1?a.cljs$core$IFn$_invoke$arity$1(d):a.call(null,d))?cljs.core.conj_BANG_.cljs$core$IFn$_invoke$arity$2(b,d):b},cljs.core.transient$(cljs.core.PersistentVector.EMPTY),b))};
cljs.core.partition=function(a){switch(arguments.length){case 2:return cljs.core.partition.cljs$core$IFn$_invoke$arity$2(arguments[0],arguments[1]);case 3:return cljs.core.partition.cljs$core$IFn$_invoke$arity$3(arguments[0],arguments[1],arguments[2]);case 4:return cljs.core.partition.cljs$core$IFn$_invoke$arity$4(arguments[0],arguments[1],arguments[2],arguments[3]);default:throw Error(["Invalid arity: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(""));}};
cljs.core.partition.cljs$core$IFn$_invoke$arity$2=function(a,b){return cljs.core.partition.cljs$core$IFn$_invoke$arity$3(a,a,b)};
cljs.core.partition.cljs$core$IFn$_invoke$arity$3=function(a,b,c){return new cljs.core.LazySeq(null,function(){var d=cljs.core.seq(c);if(d){var e=cljs.core.take.cljs$core$IFn$_invoke$arity$2(a,d);return a===cljs.core.count(e)?cljs.core.cons(e,cljs.core.partition.cljs$core$IFn$_invoke$arity$3(a,b,cljs.core.drop.cljs$core$IFn$_invoke$arity$2(b,d))):null}return null},null,null)};
cljs.core.partition.cljs$core$IFn$_invoke$arity$4=function(a,b,c,d){return new cljs.core.LazySeq(null,function(){var e=cljs.core.seq(d);if(e){var f=cljs.core.take.cljs$core$IFn$_invoke$arity$2(a,e);return a===cljs.core.count(f)?cljs.core.cons(f,cljs.core.partition.cljs$core$IFn$_invoke$arity$4(a,b,c,cljs.core.drop.cljs$core$IFn$_invoke$arity$2(b,e))):new cljs.core.List(null,cljs.core.take.cljs$core$IFn$_invoke$arity$2(a,cljs.core.concat.cljs$core$IFn$_invoke$arity$2(f,c)),null,1,null)}return null},
null,null)};cljs.core.partition.cljs$lang$maxFixedArity=4;cljs.core.get_in=function(a){switch(arguments.length){case 2:return cljs.core.get_in.cljs$core$IFn$_invoke$arity$2(arguments[0],arguments[1]);case 3:return cljs.core.get_in.cljs$core$IFn$_invoke$arity$3(arguments[0],arguments[1],arguments[2]);default:throw Error(["Invalid arity: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(""));}};
cljs.core.get_in.cljs$core$IFn$_invoke$arity$2=function(a,b){return cljs.core.reduce.cljs$core$IFn$_invoke$arity$3(cljs.core.get,a,b)};cljs.core.get_in.cljs$core$IFn$_invoke$arity$3=function(a,b,c){var d=cljs.core.lookup_sentinel;for(b=cljs.core.seq(b);;)if(null!=b){a=cljs.core.get.cljs$core$IFn$_invoke$arity$3(a,cljs.core.first(b),d);if(d===a)return c;b=cljs.core.next(b)}else return a};cljs.core.get_in.cljs$lang$maxFixedArity=3;
cljs.core.assoc_in=function(a,b,c){b=cljs.core.seq(b);var d=cljs.core.first(b),e=cljs.core.next(b);return e?cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(a,d,function(){var b=cljs.core.get.cljs$core$IFn$_invoke$arity$2(a,d);return cljs.core.assoc_in.cljs$core$IFn$_invoke$arity$3?cljs.core.assoc_in.cljs$core$IFn$_invoke$arity$3(b,e,c):cljs.core.assoc_in.call(null,b,e,c)}()):cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(a,d,c)};
cljs.core.update_in=function(a){switch(arguments.length){case 3:return cljs.core.update_in.cljs$core$IFn$_invoke$arity$3(arguments[0],arguments[1],arguments[2]);case 4:return cljs.core.update_in.cljs$core$IFn$_invoke$arity$4(arguments[0],arguments[1],arguments[2],arguments[3]);case 5:return cljs.core.update_in.cljs$core$IFn$_invoke$arity$5(arguments[0],arguments[1],arguments[2],arguments[3],arguments[4]);case 6:return cljs.core.update_in.cljs$core$IFn$_invoke$arity$6(arguments[0],arguments[1],arguments[2],
arguments[3],arguments[4],arguments[5]);default:for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;b=new cljs.core.IndexedSeq(b.slice(6),0,null);return cljs.core.update_in.cljs$core$IFn$_invoke$arity$variadic(arguments[0],arguments[1],arguments[2],arguments[3],arguments[4],arguments[5],b)}};
cljs.core.update_in.cljs$core$IFn$_invoke$arity$3=function(a,b,c){b=cljs.core.seq(b);var d=cljs.core.first(b);return(b=cljs.core.next(b))?cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(a,d,cljs.core.update_in.cljs$core$IFn$_invoke$arity$3(cljs.core.get.cljs$core$IFn$_invoke$arity$2(a,d),b,c)):cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(a,d,function(){var b=cljs.core.get.cljs$core$IFn$_invoke$arity$2(a,d);return c.cljs$core$IFn$_invoke$arity$1?c.cljs$core$IFn$_invoke$arity$1(b):c.call(null,b)}())};
cljs.core.update_in.cljs$core$IFn$_invoke$arity$4=function(a,b,c,d){b=cljs.core.seq(b);var e=cljs.core.first(b);return(b=cljs.core.next(b))?cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(a,e,cljs.core.update_in.cljs$core$IFn$_invoke$arity$4(cljs.core.get.cljs$core$IFn$_invoke$arity$2(a,e),b,c,d)):cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(a,e,function(){var b=cljs.core.get.cljs$core$IFn$_invoke$arity$2(a,e);return c.cljs$core$IFn$_invoke$arity$2?c.cljs$core$IFn$_invoke$arity$2(b,d):c.call(null,
b,d)}())};
cljs.core.update_in.cljs$core$IFn$_invoke$arity$5=function(a,b,c,d,e){b=cljs.core.seq(b);var f=cljs.core.first(b);return(b=cljs.core.next(b))?cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(a,f,cljs.core.update_in.cljs$core$IFn$_invoke$arity$5(cljs.core.get.cljs$core$IFn$_invoke$arity$2(a,f),b,c,d,e)):cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(a,f,function(){var b=cljs.core.get.cljs$core$IFn$_invoke$arity$2(a,f);return c.cljs$core$IFn$_invoke$arity$3?c.cljs$core$IFn$_invoke$arity$3(b,d,e):c.call(null,
b,d,e)}())};
cljs.core.update_in.cljs$core$IFn$_invoke$arity$6=function(a,b,c,d,e,f){b=cljs.core.seq(b);var g=cljs.core.first(b);return(b=cljs.core.next(b))?cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(a,g,cljs.core.update_in.cljs$core$IFn$_invoke$arity$6(cljs.core.get.cljs$core$IFn$_invoke$arity$2(a,g),b,c,d,e,f)):cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(a,g,function(){var b=cljs.core.get.cljs$core$IFn$_invoke$arity$2(a,g);return c.cljs$core$IFn$_invoke$arity$4?c.cljs$core$IFn$_invoke$arity$4(b,d,e,f):
c.call(null,b,d,e,f)}())};
cljs.core.update_in.cljs$core$IFn$_invoke$arity$variadic=function(a,b,c,d,e,f,g){var h=cljs.core.seq(b);b=cljs.core.first(h);return(h=cljs.core.next(h))?cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(a,b,cljs.core.apply.cljs$core$IFn$_invoke$arity$variadic(cljs.core.update_in,cljs.core.get.cljs$core$IFn$_invoke$arity$2(a,b),h,c,d,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([e,f,g],0))):cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(a,b,cljs.core.apply.cljs$core$IFn$_invoke$arity$variadic(c,cljs.core.get.cljs$core$IFn$_invoke$arity$2(a,
b),d,e,f,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([g],0)))};cljs.core.update_in.cljs$lang$applyTo=function(a){var b=cljs.core.first(a),c=cljs.core.next(a);a=cljs.core.first(c);var d=cljs.core.next(c);c=cljs.core.first(d);var e=cljs.core.next(d);d=cljs.core.first(e);var f=cljs.core.next(e);e=cljs.core.first(f);var g=cljs.core.next(f);f=cljs.core.first(g);g=cljs.core.next(g);return this.cljs$core$IFn$_invoke$arity$variadic(b,a,c,d,e,f,g)};cljs.core.update_in.cljs$lang$maxFixedArity=6;
cljs.core.update=function(a){switch(arguments.length){case 3:return cljs.core.update.cljs$core$IFn$_invoke$arity$3(arguments[0],arguments[1],arguments[2]);case 4:return cljs.core.update.cljs$core$IFn$_invoke$arity$4(arguments[0],arguments[1],arguments[2],arguments[3]);case 5:return cljs.core.update.cljs$core$IFn$_invoke$arity$5(arguments[0],arguments[1],arguments[2],arguments[3],arguments[4]);case 6:return cljs.core.update.cljs$core$IFn$_invoke$arity$6(arguments[0],arguments[1],arguments[2],arguments[3],
arguments[4],arguments[5]);default:for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;b=new cljs.core.IndexedSeq(b.slice(6),0,null);return cljs.core.update.cljs$core$IFn$_invoke$arity$variadic(arguments[0],arguments[1],arguments[2],arguments[3],arguments[4],arguments[5],b)}};
cljs.core.update.cljs$core$IFn$_invoke$arity$3=function(a,b,c){return cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(a,b,function(){var d=cljs.core.get.cljs$core$IFn$_invoke$arity$2(a,b);return c.cljs$core$IFn$_invoke$arity$1?c.cljs$core$IFn$_invoke$arity$1(d):c.call(null,d)}())};
cljs.core.update.cljs$core$IFn$_invoke$arity$4=function(a,b,c,d){return cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(a,b,function(){var e=cljs.core.get.cljs$core$IFn$_invoke$arity$2(a,b);return c.cljs$core$IFn$_invoke$arity$2?c.cljs$core$IFn$_invoke$arity$2(e,d):c.call(null,e,d)}())};
cljs.core.update.cljs$core$IFn$_invoke$arity$5=function(a,b,c,d,e){return cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(a,b,function(){var f=cljs.core.get.cljs$core$IFn$_invoke$arity$2(a,b);return c.cljs$core$IFn$_invoke$arity$3?c.cljs$core$IFn$_invoke$arity$3(f,d,e):c.call(null,f,d,e)}())};
cljs.core.update.cljs$core$IFn$_invoke$arity$6=function(a,b,c,d,e,f){return cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(a,b,function(){var g=cljs.core.get.cljs$core$IFn$_invoke$arity$2(a,b);return c.cljs$core$IFn$_invoke$arity$4?c.cljs$core$IFn$_invoke$arity$4(g,d,e,f):c.call(null,g,d,e,f)}())};
cljs.core.update.cljs$core$IFn$_invoke$arity$variadic=function(a,b,c,d,e,f,g){return cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(a,b,cljs.core.apply.cljs$core$IFn$_invoke$arity$variadic(c,cljs.core.get.cljs$core$IFn$_invoke$arity$2(a,b),d,e,f,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([g],0)))};
cljs.core.update.cljs$lang$applyTo=function(a){var b=cljs.core.first(a),c=cljs.core.next(a);a=cljs.core.first(c);var d=cljs.core.next(c);c=cljs.core.first(d);var e=cljs.core.next(d);d=cljs.core.first(e);var f=cljs.core.next(e);e=cljs.core.first(f);var g=cljs.core.next(f);f=cljs.core.first(g);g=cljs.core.next(g);return this.cljs$core$IFn$_invoke$arity$variadic(b,a,c,d,e,f,g)};cljs.core.update.cljs$lang$maxFixedArity=6;cljs.core.VectorNode=function(a,b){this.edit=a;this.arr=b};
cljs.core.VectorNode.getBasis=function(){return new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"edit","edit",-1302639,null),new cljs.core.Symbol(null,"arr","arr",2115492975,null)],null)};cljs.core.VectorNode.cljs$lang$type=!0;cljs.core.VectorNode.cljs$lang$ctorStr="cljs.core/VectorNode";cljs.core.VectorNode.cljs$lang$ctorPrWriter=function(a,b,c){return cljs.core._write(b,"cljs.core/VectorNode")};
cljs.core.__GT_VectorNode=function(a,b){return new cljs.core.VectorNode(a,b)};cljs.core.pv_fresh_node=function(a){return new cljs.core.VectorNode(a,[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null])};cljs.core.pv_aget=function(a,b){return a.arr[b]};cljs.core.pv_aset=function(a,b,c){return a.arr[b]=c};cljs.core.pv_clone_node=function(a){return new cljs.core.VectorNode(a.edit,cljs.core.aclone(a.arr))};
cljs.core.tail_off=function(a){a=a.cnt;return 32>a?0:a-1>>>5<<5};cljs.core.new_path=function(a,b,c){for(;;){if(0===b)return c;var d=cljs.core.pv_fresh_node(a);cljs.core.pv_aset(d,0,c);c=d;b-=5}};
cljs.core.push_tail=function(a,b,c,d){var e=cljs.core.pv_clone_node(c),f=a.cnt-1>>>b&31;5===b?cljs.core.pv_aset(e,f,d):(c=cljs.core.pv_aget(c,f),null!=c?(b-=5,a=cljs.core.push_tail.cljs$core$IFn$_invoke$arity$4?cljs.core.push_tail.cljs$core$IFn$_invoke$arity$4(a,b,c,d):cljs.core.push_tail.call(null,a,b,c,d)):a=cljs.core.new_path(null,b-5,d),cljs.core.pv_aset(e,f,a));return e};
cljs.core.vector_index_out_of_bounds=function(a,b){throw Error(["No item ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(a)," in vector of length ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(b)].join(""));};cljs.core.first_array_for_longvec=function(a){var b=a.root;for(a=a.shift;;)if(0<a)b=cljs.core.pv_aget(b,0),a-=5;else return b.arr};cljs.core.unchecked_array_for=function(a,b){if(b>=cljs.core.tail_off(a))return a.tail;var c=a.root;for(a=a.shift;;)if(0<a)c=cljs.core.pv_aget(c,b>>>a&31),a-=5;else return c.arr};
cljs.core.array_for=function(a,b){return 0<=b&&b<a.cnt?cljs.core.unchecked_array_for(a,b):cljs.core.vector_index_out_of_bounds(b,a.cnt)};cljs.core.do_assoc=function(a,b,c,d,e){var f=cljs.core.pv_clone_node(c);if(0===b)cljs.core.pv_aset(f,d&31,e);else{var g=d>>>b&31;cljs.core.pv_aset(f,g,function(){var f=b-5,k=cljs.core.pv_aget(c,g);return cljs.core.do_assoc.cljs$core$IFn$_invoke$arity$5?cljs.core.do_assoc.cljs$core$IFn$_invoke$arity$5(a,f,k,d,e):cljs.core.do_assoc.call(null,a,f,k,d,e)}())}return f};
cljs.core.pop_tail=function(a,b,c){var d=a.cnt-2>>>b&31;if(5<b){b-=5;var e=cljs.core.pv_aget(c,d);a=cljs.core.pop_tail.cljs$core$IFn$_invoke$arity$3?cljs.core.pop_tail.cljs$core$IFn$_invoke$arity$3(a,b,e):cljs.core.pop_tail.call(null,a,b,e);if(null==a&&0===d)return null;c=cljs.core.pv_clone_node(c);cljs.core.pv_aset(c,d,a);return c}if(0===d)return null;c=cljs.core.pv_clone_node(c);cljs.core.pv_aset(c,d,null);return c};
cljs.core.RangedIterator=function(a,b,c,d,e,f){this.i=a;this.base=b;this.arr=c;this.v=d;this.start=e;this.end=f};cljs.core.RangedIterator.prototype.hasNext=function(){return this.i<this.end};cljs.core.RangedIterator.prototype.next=function(){32===this.i-this.base&&(this.arr=cljs.core.unchecked_array_for(this.v,this.i),this.base+=32);var a=this.arr[this.i&31];this.i+=1;return a};
cljs.core.RangedIterator.getBasis=function(){return new cljs.core.PersistentVector(null,6,5,cljs.core.PersistentVector.EMPTY_NODE,[cljs.core.with_meta(new cljs.core.Symbol(null,"i","i",253690212,null),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"mutable","mutable",875778266),!0],null)),cljs.core.with_meta(new cljs.core.Symbol(null,"base","base",1825810849,null),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"mutable","mutable",875778266),!0],null)),cljs.core.with_meta(new cljs.core.Symbol(null,
"arr","arr",2115492975,null),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"mutable","mutable",875778266),!0],null)),new cljs.core.Symbol(null,"v","v",1661996586,null),new cljs.core.Symbol(null,"start","start",1285322546,null),new cljs.core.Symbol(null,"end","end",1372345569,null)],null)};cljs.core.RangedIterator.cljs$lang$type=!0;cljs.core.RangedIterator.cljs$lang$ctorStr="cljs.core/RangedIterator";
cljs.core.RangedIterator.cljs$lang$ctorPrWriter=function(a,b,c){return cljs.core._write(b,"cljs.core/RangedIterator")};cljs.core.__GT_RangedIterator=function(a,b,c,d,e,f){return new cljs.core.RangedIterator(a,b,c,d,e,f)};cljs.core.ranged_iterator=function(a,b,c){return new cljs.core.RangedIterator(b,b-b%32,b<cljs.core.count(a)?cljs.core.unchecked_array_for(a,b):null,a,b,c)};
cljs.core.pv_reduce=function(a){switch(arguments.length){case 4:return cljs.core.pv_reduce.cljs$core$IFn$_invoke$arity$4(arguments[0],arguments[1],arguments[2],arguments[3]);case 5:return cljs.core.pv_reduce.cljs$core$IFn$_invoke$arity$5(arguments[0],arguments[1],arguments[2],arguments[3],arguments[4]);default:throw Error(["Invalid arity: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(""));}};
cljs.core.pv_reduce.cljs$core$IFn$_invoke$arity$4=function(a,b,c,d){return c<d?cljs.core.pv_reduce.cljs$core$IFn$_invoke$arity$5(a,b,cljs.core.nth.cljs$core$IFn$_invoke$arity$2(a,c),c+1,d):b.cljs$core$IFn$_invoke$arity$0?b.cljs$core$IFn$_invoke$arity$0():b.call(null)};
cljs.core.pv_reduce.cljs$core$IFn$_invoke$arity$5=function(a,b,c,d,e){var f=c;c=d;for(d=cljs.core.unchecked_array_for(a,d);;)if(c<e){var g=c&31;d=0===g?cljs.core.unchecked_array_for(a,c):d;g=d[g];f=b.cljs$core$IFn$_invoke$arity$2?b.cljs$core$IFn$_invoke$arity$2(f,g):b.call(null,f,g);if(cljs.core.reduced_QMARK_(f))return cljs.core.deref(f);c+=1}else return f};cljs.core.pv_reduce.cljs$lang$maxFixedArity=5;cljs.core.APersistentVector=function(){};
cljs.core.PersistentVector=function(a,b,c,d,e,f){this.meta=a;this.cnt=b;this.shift=c;this.root=d;this.tail=e;this.__hash=f;this.cljs$lang$protocol_mask$partition0$=167666463;this.cljs$lang$protocol_mask$partition1$=139268};cljs.core.PersistentVector.prototype.cljs$core$IFind$=cljs.core.PROTOCOL_SENTINEL;cljs.core.PersistentVector.prototype.cljs$core$IFind$_find$arity$2=function(a,b){return 0<=b&&b<this.cnt?new cljs.core.MapEntry(b,cljs.core.unchecked_array_for(this,b)[b&31],null):null};
cljs.core.PersistentVector.prototype.toString=function(){return cljs.core.pr_str_STAR_(this)};cljs.core.PersistentVector.prototype.equiv=function(a){return this.cljs$core$IEquiv$_equiv$arity$2(null,a)};
cljs.core.PersistentVector.prototype.indexOf=function(){var a=null,b=function(a){return cljs.core._indexOf.cljs$core$IFn$_invoke$arity$3(this,a,0)},c=function(a,b){return cljs.core._indexOf.cljs$core$IFn$_invoke$arity$3(this,a,b)};a=function(a,e){switch(arguments.length){case 1:return b.call(this,a);case 2:return c.call(this,a,e)}throw Error("Invalid arity: "+arguments.length);};a.cljs$core$IFn$_invoke$arity$1=b;a.cljs$core$IFn$_invoke$arity$2=c;return a}();
cljs.core.PersistentVector.prototype.lastIndexOf=function(){var a=null,b=function(a){return cljs.core._lastIndexOf.cljs$core$IFn$_invoke$arity$3(this,a,cljs.core.count(this))},c=function(a,b){return cljs.core._lastIndexOf.cljs$core$IFn$_invoke$arity$3(this,a,b)};a=function(a,e){switch(arguments.length){case 1:return b.call(this,a);case 2:return c.call(this,a,e)}throw Error("Invalid arity: "+arguments.length);};a.cljs$core$IFn$_invoke$arity$1=b;a.cljs$core$IFn$_invoke$arity$2=c;return a}();
cljs.core.PersistentVector.prototype.cljs$core$ILookup$_lookup$arity$2=function(a,b){return this.cljs$core$ILookup$_lookup$arity$3(null,b,null)};cljs.core.PersistentVector.prototype.cljs$core$ILookup$_lookup$arity$3=function(a,b,c){return"number"===typeof b?this.cljs$core$IIndexed$_nth$arity$3(null,b,c):c};
cljs.core.PersistentVector.prototype.cljs$core$IKVReduce$_kv_reduce$arity$3=function(a,b,c){a=0;for(var d=c;;)if(a<this.cnt){var e=cljs.core.unchecked_array_for(this,a);c=e.length;a:for(var f=0;;)if(f<c){var g=f+a,h=e[f];d=b.cljs$core$IFn$_invoke$arity$3?b.cljs$core$IFn$_invoke$arity$3(d,g,h):b.call(null,d,g,h);if(cljs.core.reduced_QMARK_(d)){e=d;break a}f+=1}else{e=d;break a}if(cljs.core.reduced_QMARK_(e))return cljs.core.deref(e);a+=c;d=e}else return d};
cljs.core.PersistentVector.prototype.cljs$core$APersistentVector$=cljs.core.PROTOCOL_SENTINEL;cljs.core.PersistentVector.prototype.cljs$core$IIndexed$_nth$arity$2=function(a,b){return cljs.core.array_for(this,b)[b&31]};cljs.core.PersistentVector.prototype.cljs$core$IIndexed$_nth$arity$3=function(a,b,c){return 0<=b&&b<this.cnt?cljs.core.unchecked_array_for(this,b)[b&31]:c};
cljs.core.PersistentVector.prototype.cljs$core$IVector$_assoc_n$arity$3=function(a,b,c){if(0<=b&&b<this.cnt)return cljs.core.tail_off(this)<=b?(a=cljs.core.aclone(this.tail),a[b&31]=c,new cljs.core.PersistentVector(this.meta,this.cnt,this.shift,this.root,a,null)):new cljs.core.PersistentVector(this.meta,this.cnt,this.shift,cljs.core.do_assoc(this,this.shift,this.root,b,c),this.tail,null);if(b===this.cnt)return this.cljs$core$ICollection$_conj$arity$2(null,c);throw Error(["Index ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(b),
" out of bounds  [0,",cljs.core.str.cljs$core$IFn$_invoke$arity$1(this.cnt),"]"].join(""));};cljs.core.PersistentVector.prototype.cljs$core$IIterable$_iterator$arity$1=function(a){return cljs.core.ranged_iterator(this,0,this.cnt)};cljs.core.PersistentVector.prototype.cljs$core$IMeta$_meta$arity$1=function(a){return this.meta};
cljs.core.PersistentVector.prototype.cljs$core$ICloneable$_clone$arity$1=function(a){return new cljs.core.PersistentVector(this.meta,this.cnt,this.shift,this.root,this.tail,this.__hash)};cljs.core.PersistentVector.prototype.cljs$core$ICounted$_count$arity$1=function(a){return this.cnt};cljs.core.PersistentVector.prototype.cljs$core$IStack$_peek$arity$1=function(a){return 0<this.cnt?this.cljs$core$IIndexed$_nth$arity$2(null,this.cnt-1):null};
cljs.core.PersistentVector.prototype.cljs$core$IStack$_pop$arity$1=function(a){if(0===this.cnt)throw Error("Can't pop empty vector");if(1===this.cnt)return cljs.core._with_meta(cljs.core.PersistentVector.EMPTY,this.meta);if(1<this.cnt-cljs.core.tail_off(this))return new cljs.core.PersistentVector(this.meta,this.cnt-1,this.shift,this.root,this.tail.slice(0,-1),null);a=cljs.core.unchecked_array_for(this,this.cnt-2);var b=cljs.core.pop_tail(this,this.shift,this.root);b=null==b?cljs.core.PersistentVector.EMPTY_NODE:
b;var c=this.cnt-1;return 5<this.shift&&null==cljs.core.pv_aget(b,1)?new cljs.core.PersistentVector(this.meta,c,this.shift-5,cljs.core.pv_aget(b,0),a,null):new cljs.core.PersistentVector(this.meta,c,this.shift,b,a,null)};cljs.core.PersistentVector.prototype.cljs$core$IReversible$_rseq$arity$1=function(a){return 0<this.cnt?new cljs.core.RSeq(this,this.cnt-1,null):null};cljs.core.PersistentVector.prototype.cljs$core$IHash$_hash$arity$1=function(a){a=this.__hash;return null!=a?a:this.__hash=a=cljs.core.hash_ordered_coll(this)};
cljs.core.PersistentVector.prototype.cljs$core$IEquiv$_equiv$arity$2=function(a,b){if(b instanceof cljs.core.PersistentVector)if(this.cnt===cljs.core.count(b))for(a=this.cljs$core$IIterable$_iterator$arity$1(null),b=b.cljs$core$IIterable$_iterator$arity$1(null);;)if(a.hasNext()){var c=a.next(),d=b.next();if(!cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(c,d))return!1}else return!0;else return!1;else return cljs.core.equiv_sequential(this,b)};
cljs.core.PersistentVector.prototype.cljs$core$IEditableCollection$_as_transient$arity$1=function(a){return new cljs.core.TransientVector(this.cnt,this.shift,cljs.core.tv_editable_root(this.root),cljs.core.tv_editable_tail(this.tail))};cljs.core.PersistentVector.prototype.cljs$core$IEmptyableCollection$_empty$arity$1=function(a){return cljs.core._with_meta(cljs.core.PersistentVector.EMPTY,this.meta)};
cljs.core.PersistentVector.prototype.cljs$core$IReduce$_reduce$arity$2=function(a,b){return cljs.core.pv_reduce.cljs$core$IFn$_invoke$arity$4(this,b,0,this.cnt)};
cljs.core.PersistentVector.prototype.cljs$core$IReduce$_reduce$arity$3=function(a,b,c){a=0;for(var d=c;;)if(a<this.cnt){var e=cljs.core.unchecked_array_for(this,a);c=e.length;a:for(var f=0;;)if(f<c){var g=e[f];d=b.cljs$core$IFn$_invoke$arity$2?b.cljs$core$IFn$_invoke$arity$2(d,g):b.call(null,d,g);if(cljs.core.reduced_QMARK_(d)){e=d;break a}f+=1}else{e=d;break a}if(cljs.core.reduced_QMARK_(e))return cljs.core.deref(e);a+=c;d=e}else return d};
cljs.core.PersistentVector.prototype.cljs$core$IAssociative$_assoc$arity$3=function(a,b,c){if("number"===typeof b)return this.cljs$core$IVector$_assoc_n$arity$3(null,b,c);throw Error("Vector's key for assoc must be a number.");};cljs.core.PersistentVector.prototype.cljs$core$IAssociative$_contains_key_QMARK_$arity$2=function(a,b){return cljs.core.integer_QMARK_(b)?0<=b&&b<this.cnt:!1};
cljs.core.PersistentVector.prototype.cljs$core$ISeqable$_seq$arity$1=function(a){return 0===this.cnt?null:32>=this.cnt?new cljs.core.IndexedSeq(this.tail,0,null):cljs.core.chunked_seq.cljs$core$IFn$_invoke$arity$4(this,cljs.core.first_array_for_longvec(this),0,0)};cljs.core.PersistentVector.prototype.cljs$core$IWithMeta$_with_meta$arity$2=function(a,b){return b===this.meta?this:new cljs.core.PersistentVector(b,this.cnt,this.shift,this.root,this.tail,this.__hash)};
cljs.core.PersistentVector.prototype.cljs$core$ICollection$_conj$arity$2=function(a,b){if(32>this.cnt-cljs.core.tail_off(this)){a=this.tail.length;for(var c=Array(a+1),d=0;;)if(d<a)c[d]=this.tail[d],d+=1;else break;c[a]=b;return new cljs.core.PersistentVector(this.meta,this.cnt+1,this.shift,this.root,c,null)}a=(c=this.cnt>>>5>1<<this.shift)?this.shift+5:this.shift;c?(c=cljs.core.pv_fresh_node(null),cljs.core.pv_aset(c,0,this.root),cljs.core.pv_aset(c,1,cljs.core.new_path(null,this.shift,new cljs.core.VectorNode(null,
this.tail)))):c=cljs.core.push_tail(this,this.shift,this.root,new cljs.core.VectorNode(null,this.tail));return new cljs.core.PersistentVector(this.meta,this.cnt+1,a,c,[b],null)};
cljs.core.PersistentVector.prototype.call=function(){var a=null;a=function(a,c,d){switch(arguments.length){case 2:return this.cljs$core$IIndexed$_nth$arity$2(null,c);case 3:return this.cljs$core$IIndexed$_nth$arity$3(null,c,d)}throw Error("Invalid arity: "+(arguments.length-1));};a.cljs$core$IFn$_invoke$arity$2=function(a,c){return this.cljs$core$IIndexed$_nth$arity$2(null,c)};a.cljs$core$IFn$_invoke$arity$3=function(a,c,d){return this.cljs$core$IIndexed$_nth$arity$3(null,c,d)};return a}();
cljs.core.PersistentVector.prototype.apply=function(a,b){return this.call.apply(this,[this].concat(cljs.core.aclone(b)))};cljs.core.PersistentVector.prototype.cljs$core$IFn$_invoke$arity$1=function(a){return this.cljs$core$IIndexed$_nth$arity$2(null,a)};cljs.core.PersistentVector.prototype.cljs$core$IFn$_invoke$arity$2=function(a,b){return this.cljs$core$IIndexed$_nth$arity$3(null,a,b)};
cljs.core.PersistentVector.getBasis=function(){return new cljs.core.PersistentVector(null,6,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"meta","meta",-1154898805,null),new cljs.core.Symbol(null,"cnt","cnt",1924510325,null),new cljs.core.Symbol(null,"shift","shift",-1657295705,null),new cljs.core.Symbol(null,"root","root",1191874074,null),new cljs.core.Symbol(null,"tail","tail",494507963,null),cljs.core.with_meta(new cljs.core.Symbol(null,"__hash","__hash",-1328796629,null),
new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"mutable","mutable",875778266),!0],null))],null)};cljs.core.PersistentVector.cljs$lang$type=!0;cljs.core.PersistentVector.cljs$lang$ctorStr="cljs.core/PersistentVector";cljs.core.PersistentVector.cljs$lang$ctorPrWriter=function(a,b,c){return cljs.core._write(b,"cljs.core/PersistentVector")};cljs.core.__GT_PersistentVector=function(a,b,c,d,e,f){return new cljs.core.PersistentVector(a,b,c,d,e,f)};
cljs.core.PersistentVector.EMPTY_NODE=new cljs.core.VectorNode(null,[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null]);cljs.core.PersistentVector.EMPTY=new cljs.core.PersistentVector(null,0,5,cljs.core.PersistentVector.EMPTY_NODE,[],cljs.core.empty_ordered_hash);
cljs.core.PersistentVector.fromArray=function(a,b){var c=a.length;a=b?a:cljs.core.aclone(a);if(32>c)return new cljs.core.PersistentVector(null,c,5,cljs.core.PersistentVector.EMPTY_NODE,a,null);var d=a.slice(0,32);b=32;for(var e=(new cljs.core.PersistentVector(null,32,5,cljs.core.PersistentVector.EMPTY_NODE,d,null)).cljs$core$IEditableCollection$_as_transient$arity$1(null);;)if(b<c)d=b+1,e=cljs.core.conj_BANG_.cljs$core$IFn$_invoke$arity$2(e,a[b]),b=d;else return cljs.core.persistent_BANG_(e)};
var G__22965_22968=cljs.core.PersistentVector.prototype,G__22966_22969=cljs.core.ITER_SYMBOL,G__22967_22970=function(a,b){return function(){return cljs.core.es6_iterator(this)}}(G__22965_22968,G__22966_22969);goog.object.set(G__22965_22968,G__22966_22969,G__22967_22970);
cljs.core.vec=function(a){return cljs.core.map_entry_QMARK_(a)?new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[cljs.core.key(a),cljs.core.val(a)],null):cljs.core.vector_QMARK_(a)?cljs.core.with_meta(a,null):cljs.core.array_QMARK_(a)?cljs.core.PersistentVector.fromArray(a,!0):cljs.core._persistent_BANG_(cljs.core.reduce.cljs$core$IFn$_invoke$arity$3(cljs.core._conj_BANG_,cljs.core._as_transient(cljs.core.PersistentVector.EMPTY),a))};
cljs.core.vector=function(a){for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;b=0<b.length?new cljs.core.IndexedSeq(b.slice(0),0,null):null;return cljs.core.vector.cljs$core$IFn$_invoke$arity$variadic(b)};cljs.core.vector.cljs$core$IFn$_invoke$arity$variadic=function(a){return a instanceof cljs.core.IndexedSeq&&0===a.i?cljs.core.PersistentVector.fromArray(a.arr,!0):cljs.core.vec(a)};cljs.core.vector.cljs$lang$maxFixedArity=0;cljs.core.vector.cljs$lang$applyTo=function(a){return this.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq(a))};
cljs.core.ChunkedSeq=function(a,b,c,d,e,f){this.vec=a;this.node=b;this.i=c;this.off=d;this.meta=e;this.__hash=f;this.cljs$lang$protocol_mask$partition0$=32375020;this.cljs$lang$protocol_mask$partition1$=1536};cljs.core.ChunkedSeq.prototype.toString=function(){return cljs.core.pr_str_STAR_(this)};cljs.core.ChunkedSeq.prototype.equiv=function(a){return this.cljs$core$IEquiv$_equiv$arity$2(null,a)};
cljs.core.ChunkedSeq.prototype.indexOf=function(){var a=null,b=function(a){return cljs.core._indexOf.cljs$core$IFn$_invoke$arity$3(this,a,0)},c=function(a,b){return cljs.core._indexOf.cljs$core$IFn$_invoke$arity$3(this,a,b)};a=function(a,e){switch(arguments.length){case 1:return b.call(this,a);case 2:return c.call(this,a,e)}throw Error("Invalid arity: "+arguments.length);};a.cljs$core$IFn$_invoke$arity$1=b;a.cljs$core$IFn$_invoke$arity$2=c;return a}();
cljs.core.ChunkedSeq.prototype.lastIndexOf=function(){var a=null,b=function(a){return cljs.core._lastIndexOf.cljs$core$IFn$_invoke$arity$3(this,a,cljs.core.count(this))},c=function(a,b){return cljs.core._lastIndexOf.cljs$core$IFn$_invoke$arity$3(this,a,b)};a=function(a,e){switch(arguments.length){case 1:return b.call(this,a);case 2:return c.call(this,a,e)}throw Error("Invalid arity: "+arguments.length);};a.cljs$core$IFn$_invoke$arity$1=b;a.cljs$core$IFn$_invoke$arity$2=c;return a}();
cljs.core.ChunkedSeq.prototype.cljs$core$IMeta$_meta$arity$1=function(a){return this.meta};cljs.core.ChunkedSeq.prototype.cljs$core$INext$_next$arity$1=function(a){return this.off+1<this.node.length?(a=cljs.core.chunked_seq.cljs$core$IFn$_invoke$arity$4(this.vec,this.node,this.i,this.off+1),null==a?null:a):this.cljs$core$IChunkedNext$_chunked_next$arity$1(null)};cljs.core.ChunkedSeq.prototype.cljs$core$IHash$_hash$arity$1=function(a){a=this.__hash;return null!=a?a:this.__hash=a=cljs.core.hash_ordered_coll(this)};
cljs.core.ChunkedSeq.prototype.cljs$core$IEquiv$_equiv$arity$2=function(a,b){return cljs.core.equiv_sequential(this,b)};cljs.core.ChunkedSeq.prototype.cljs$core$IEmptyableCollection$_empty$arity$1=function(a){return cljs.core.List.EMPTY};cljs.core.ChunkedSeq.prototype.cljs$core$IReduce$_reduce$arity$2=function(a,b){return cljs.core.pv_reduce.cljs$core$IFn$_invoke$arity$4(this.vec,b,this.i+this.off,cljs.core.count(this.vec))};
cljs.core.ChunkedSeq.prototype.cljs$core$IReduce$_reduce$arity$3=function(a,b,c){return cljs.core.pv_reduce.cljs$core$IFn$_invoke$arity$5(this.vec,b,c,this.i+this.off,cljs.core.count(this.vec))};cljs.core.ChunkedSeq.prototype.cljs$core$ISeq$_first$arity$1=function(a){return this.node[this.off]};
cljs.core.ChunkedSeq.prototype.cljs$core$ISeq$_rest$arity$1=function(a){return this.off+1<this.node.length?(a=cljs.core.chunked_seq.cljs$core$IFn$_invoke$arity$4(this.vec,this.node,this.i,this.off+1),null==a?cljs.core.List.EMPTY:a):this.cljs$core$IChunkedSeq$_chunked_rest$arity$1(null)};cljs.core.ChunkedSeq.prototype.cljs$core$ISeqable$_seq$arity$1=function(a){return this};
cljs.core.ChunkedSeq.prototype.cljs$core$IChunkedSeq$_chunked_first$arity$1=function(a){return cljs.core.array_chunk.cljs$core$IFn$_invoke$arity$2(this.node,this.off)};cljs.core.ChunkedSeq.prototype.cljs$core$IChunkedSeq$_chunked_rest$arity$1=function(a){a=this.i+this.node.length;return a<cljs.core._count(this.vec)?cljs.core.chunked_seq.cljs$core$IFn$_invoke$arity$4(this.vec,cljs.core.unchecked_array_for(this.vec,a),a,0):cljs.core.List.EMPTY};
cljs.core.ChunkedSeq.prototype.cljs$core$IWithMeta$_with_meta$arity$2=function(a,b){return b===this.meta?this:cljs.core.chunked_seq.cljs$core$IFn$_invoke$arity$5(this.vec,this.node,this.i,this.off,b)};cljs.core.ChunkedSeq.prototype.cljs$core$ICollection$_conj$arity$2=function(a,b){return cljs.core.cons(b,this)};
cljs.core.ChunkedSeq.prototype.cljs$core$IChunkedNext$_chunked_next$arity$1=function(a){a=this.i+this.node.length;return a<cljs.core._count(this.vec)?cljs.core.chunked_seq.cljs$core$IFn$_invoke$arity$4(this.vec,cljs.core.unchecked_array_for(this.vec,a),a,0):null};
cljs.core.ChunkedSeq.getBasis=function(){return new cljs.core.PersistentVector(null,6,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"vec","vec",982683596,null),new cljs.core.Symbol(null,"node","node",-2073234571,null),new cljs.core.Symbol(null,"i","i",253690212,null),new cljs.core.Symbol(null,"off","off",-2047994980,null),new cljs.core.Symbol(null,"meta","meta",-1154898805,null),cljs.core.with_meta(new cljs.core.Symbol(null,"__hash","__hash",-1328796629,null),new cljs.core.PersistentArrayMap(null,
1,[new cljs.core.Keyword(null,"mutable","mutable",875778266),!0],null))],null)};cljs.core.ChunkedSeq.cljs$lang$type=!0;cljs.core.ChunkedSeq.cljs$lang$ctorStr="cljs.core/ChunkedSeq";cljs.core.ChunkedSeq.cljs$lang$ctorPrWriter=function(a,b,c){return cljs.core._write(b,"cljs.core/ChunkedSeq")};cljs.core.__GT_ChunkedSeq=function(a,b,c,d,e,f){return new cljs.core.ChunkedSeq(a,b,c,d,e,f)};
var G__22977_22980=cljs.core.ChunkedSeq.prototype,G__22978_22981=cljs.core.ITER_SYMBOL,G__22979_22982=function(a,b){return function(){return cljs.core.es6_iterator(this)}}(G__22977_22980,G__22978_22981);goog.object.set(G__22977_22980,G__22978_22981,G__22979_22982);
cljs.core.chunked_seq=function(a){switch(arguments.length){case 3:return cljs.core.chunked_seq.cljs$core$IFn$_invoke$arity$3(arguments[0],arguments[1],arguments[2]);case 4:return cljs.core.chunked_seq.cljs$core$IFn$_invoke$arity$4(arguments[0],arguments[1],arguments[2],arguments[3]);case 5:return cljs.core.chunked_seq.cljs$core$IFn$_invoke$arity$5(arguments[0],arguments[1],arguments[2],arguments[3],arguments[4]);default:throw Error(["Invalid arity: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(""));
}};cljs.core.chunked_seq.cljs$core$IFn$_invoke$arity$3=function(a,b,c){return new cljs.core.ChunkedSeq(a,cljs.core.array_for(a,b),b,c,null,null)};cljs.core.chunked_seq.cljs$core$IFn$_invoke$arity$4=function(a,b,c,d){return new cljs.core.ChunkedSeq(a,b,c,d,null,null)};cljs.core.chunked_seq.cljs$core$IFn$_invoke$arity$5=function(a,b,c,d,e){return new cljs.core.ChunkedSeq(a,b,c,d,e,null)};cljs.core.chunked_seq.cljs$lang$maxFixedArity=5;
cljs.core.Subvec=function(a,b,c,d,e){this.meta=a;this.v=b;this.start=c;this.end=d;this.__hash=e;this.cljs$lang$protocol_mask$partition0$=167666463;this.cljs$lang$protocol_mask$partition1$=139264};cljs.core.Subvec.prototype.cljs$core$IFind$=cljs.core.PROTOCOL_SENTINEL;cljs.core.Subvec.prototype.cljs$core$IFind$_find$arity$2=function(a,b){if(0>b)return null;a=this.start+b;return a<this.end?new cljs.core.MapEntry(b,cljs.core._lookup.cljs$core$IFn$_invoke$arity$2(this.v,a),null):null};
cljs.core.Subvec.prototype.toString=function(){return cljs.core.pr_str_STAR_(this)};cljs.core.Subvec.prototype.equiv=function(a){return this.cljs$core$IEquiv$_equiv$arity$2(null,a)};
cljs.core.Subvec.prototype.indexOf=function(){var a=null,b=function(a){return cljs.core._indexOf.cljs$core$IFn$_invoke$arity$3(this,a,0)},c=function(a,b){return cljs.core._indexOf.cljs$core$IFn$_invoke$arity$3(this,a,b)};a=function(a,e){switch(arguments.length){case 1:return b.call(this,a);case 2:return c.call(this,a,e)}throw Error("Invalid arity: "+arguments.length);};a.cljs$core$IFn$_invoke$arity$1=b;a.cljs$core$IFn$_invoke$arity$2=c;return a}();
cljs.core.Subvec.prototype.lastIndexOf=function(){var a=null,b=function(a){return cljs.core._lastIndexOf.cljs$core$IFn$_invoke$arity$3(this,a,cljs.core.count(this))},c=function(a,b){return cljs.core._lastIndexOf.cljs$core$IFn$_invoke$arity$3(this,a,b)};a=function(a,e){switch(arguments.length){case 1:return b.call(this,a);case 2:return c.call(this,a,e)}throw Error("Invalid arity: "+arguments.length);};a.cljs$core$IFn$_invoke$arity$1=b;a.cljs$core$IFn$_invoke$arity$2=c;return a}();
cljs.core.Subvec.prototype.cljs$core$ILookup$_lookup$arity$2=function(a,b){return this.cljs$core$ILookup$_lookup$arity$3(null,b,null)};cljs.core.Subvec.prototype.cljs$core$ILookup$_lookup$arity$3=function(a,b,c){return"number"===typeof b?this.cljs$core$IIndexed$_nth$arity$3(null,b,c):c};
cljs.core.Subvec.prototype.cljs$core$IKVReduce$_kv_reduce$arity$3=function(a,b,c){a=this.start;for(var d=0;;)if(a<this.end){var e=d,f=cljs.core._nth.cljs$core$IFn$_invoke$arity$2(this.v,a);c=b.cljs$core$IFn$_invoke$arity$3?b.cljs$core$IFn$_invoke$arity$3(c,e,f):b.call(null,c,e,f);if(cljs.core.reduced_QMARK_(c))return cljs.core.deref(c);d+=1;a+=1}else return c};
cljs.core.Subvec.prototype.cljs$core$IIndexed$_nth$arity$2=function(a,b){return 0>b||this.end<=this.start+b?cljs.core.vector_index_out_of_bounds(b,this.end-this.start):cljs.core._nth.cljs$core$IFn$_invoke$arity$2(this.v,this.start+b)};cljs.core.Subvec.prototype.cljs$core$IIndexed$_nth$arity$3=function(a,b,c){return 0>b||this.end<=this.start+b?c:cljs.core._nth.cljs$core$IFn$_invoke$arity$3(this.v,this.start+b,c)};
cljs.core.Subvec.prototype.cljs$core$IVector$_assoc_n$arity$3=function(a,b,c){var d=this,e=d.start+b;if(0>b||d.end+1<=e)throw Error(["Index ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(b)," out of bounds [0,",cljs.core.str.cljs$core$IFn$_invoke$arity$1(this.cljs$core$ICounted$_count$arity$1(null)),"]"].join(""));return cljs.core.build_subvec(d.meta,cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(d.v,e,c),d.start,function(){var a=d.end,b=e+1;return a>b?a:b}(),null)};
cljs.core.Subvec.prototype.cljs$core$IIterable$_iterator$arity$1=function(a){return null!=this.v&&cljs.core.PROTOCOL_SENTINEL===this.v.cljs$core$APersistentVector$?cljs.core.ranged_iterator(this.v,this.start,this.end):cljs.core.seq_iter(this)};cljs.core.Subvec.prototype.cljs$core$IMeta$_meta$arity$1=function(a){return this.meta};cljs.core.Subvec.prototype.cljs$core$ICloneable$_clone$arity$1=function(a){return new cljs.core.Subvec(this.meta,this.v,this.start,this.end,this.__hash)};
cljs.core.Subvec.prototype.cljs$core$ICounted$_count$arity$1=function(a){return this.end-this.start};cljs.core.Subvec.prototype.cljs$core$IStack$_peek$arity$1=function(a){return cljs.core._nth.cljs$core$IFn$_invoke$arity$2(this.v,this.end-1)};cljs.core.Subvec.prototype.cljs$core$IStack$_pop$arity$1=function(a){if(this.start===this.end)throw Error("Can't pop empty vector");return cljs.core.build_subvec(this.meta,this.v,this.start,this.end-1,null)};
cljs.core.Subvec.prototype.cljs$core$IReversible$_rseq$arity$1=function(a){return this.start!==this.end?new cljs.core.RSeq(this,this.end-this.start-1,null):null};cljs.core.Subvec.prototype.cljs$core$IHash$_hash$arity$1=function(a){a=this.__hash;return null!=a?a:this.__hash=a=cljs.core.hash_ordered_coll(this)};cljs.core.Subvec.prototype.cljs$core$IEquiv$_equiv$arity$2=function(a,b){return cljs.core.equiv_sequential(this,b)};
cljs.core.Subvec.prototype.cljs$core$IEmptyableCollection$_empty$arity$1=function(a){return cljs.core._with_meta(cljs.core.PersistentVector.EMPTY,this.meta)};cljs.core.Subvec.prototype.cljs$core$IReduce$_reduce$arity$2=function(a,b){return null!=this.v&&cljs.core.PROTOCOL_SENTINEL===this.v.cljs$core$APersistentVector$?cljs.core.pv_reduce.cljs$core$IFn$_invoke$arity$4(this.v,b,this.start,this.end):cljs.core.ci_reduce.cljs$core$IFn$_invoke$arity$2(this,b)};
cljs.core.Subvec.prototype.cljs$core$IReduce$_reduce$arity$3=function(a,b,c){return null!=this.v&&cljs.core.PROTOCOL_SENTINEL===this.v.cljs$core$APersistentVector$?cljs.core.pv_reduce.cljs$core$IFn$_invoke$arity$5(this.v,b,c,this.start,this.end):cljs.core.ci_reduce.cljs$core$IFn$_invoke$arity$3(this,b,c)};
cljs.core.Subvec.prototype.cljs$core$IAssociative$_assoc$arity$3=function(a,b,c){if("number"===typeof b)return this.cljs$core$IVector$_assoc_n$arity$3(null,b,c);throw Error("Subvec's key for assoc must be a number.");};
cljs.core.Subvec.prototype.cljs$core$ISeqable$_seq$arity$1=function(a){var b=this;return function(a){return function f(c){return c===b.end?null:cljs.core.cons(cljs.core._nth.cljs$core$IFn$_invoke$arity$2(b.v,c),new cljs.core.LazySeq(null,function(a){return function(){return f(c+1)}}(a),null,null))}}(this)(b.start)};cljs.core.Subvec.prototype.cljs$core$IWithMeta$_with_meta$arity$2=function(a,b){return b===this.meta?this:cljs.core.build_subvec(b,this.v,this.start,this.end,this.__hash)};
cljs.core.Subvec.prototype.cljs$core$ICollection$_conj$arity$2=function(a,b){return cljs.core.build_subvec(this.meta,cljs.core._assoc_n(this.v,this.end,b),this.start,this.end+1,null)};
cljs.core.Subvec.prototype.call=function(){var a=null;a=function(a,c,d){switch(arguments.length){case 2:return this.cljs$core$IIndexed$_nth$arity$2(null,c);case 3:return this.cljs$core$IIndexed$_nth$arity$3(null,c,d)}throw Error("Invalid arity: "+(arguments.length-1));};a.cljs$core$IFn$_invoke$arity$2=function(a,c){return this.cljs$core$IIndexed$_nth$arity$2(null,c)};a.cljs$core$IFn$_invoke$arity$3=function(a,c,d){return this.cljs$core$IIndexed$_nth$arity$3(null,c,d)};return a}();
cljs.core.Subvec.prototype.apply=function(a,b){return this.call.apply(this,[this].concat(cljs.core.aclone(b)))};cljs.core.Subvec.prototype.cljs$core$IFn$_invoke$arity$1=function(a){return this.cljs$core$IIndexed$_nth$arity$2(null,a)};cljs.core.Subvec.prototype.cljs$core$IFn$_invoke$arity$2=function(a,b){return this.cljs$core$IIndexed$_nth$arity$3(null,a,b)};
cljs.core.Subvec.getBasis=function(){return new cljs.core.PersistentVector(null,5,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"meta","meta",-1154898805,null),new cljs.core.Symbol(null,"v","v",1661996586,null),new cljs.core.Symbol(null,"start","start",1285322546,null),new cljs.core.Symbol(null,"end","end",1372345569,null),cljs.core.with_meta(new cljs.core.Symbol(null,"__hash","__hash",-1328796629,null),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"mutable",
"mutable",875778266),!0],null))],null)};cljs.core.Subvec.cljs$lang$type=!0;cljs.core.Subvec.cljs$lang$ctorStr="cljs.core/Subvec";cljs.core.Subvec.cljs$lang$ctorPrWriter=function(a,b,c){return cljs.core._write(b,"cljs.core/Subvec")};cljs.core.__GT_Subvec=function(a,b,c,d,e){return new cljs.core.Subvec(a,b,c,d,e)};var G__22999_23002=cljs.core.Subvec.prototype,G__23000_23003=cljs.core.ITER_SYMBOL,G__23001_23004=function(a,b){return function(){return cljs.core.es6_iterator(this)}}(G__22999_23002,G__23000_23003);
goog.object.set(G__22999_23002,G__23000_23003,G__23001_23004);cljs.core.build_subvec=function(a,b,c,d,e){for(;;)if(b instanceof cljs.core.Subvec)c=b.start+c,d=b.start+d,b=b.v;else{if(!cljs.core.vector_QMARK_(b))throw Error("v must satisfy IVector");var f=cljs.core.count(b);if(0>c||0>d||c>f||d>f)throw Error("Index out of bounds");return new cljs.core.Subvec(a,b,c,d,e)}};
cljs.core.subvec=function(a){switch(arguments.length){case 2:return cljs.core.subvec.cljs$core$IFn$_invoke$arity$2(arguments[0],arguments[1]);case 3:return cljs.core.subvec.cljs$core$IFn$_invoke$arity$3(arguments[0],arguments[1],arguments[2]);default:throw Error(["Invalid arity: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(""));}};cljs.core.subvec.cljs$core$IFn$_invoke$arity$2=function(a,b){return cljs.core.subvec.cljs$core$IFn$_invoke$arity$3(a,b,cljs.core.count(a))};
cljs.core.subvec.cljs$core$IFn$_invoke$arity$3=function(a,b,c){if(null==b||null==c)throw Error("Assert failed: (and (not (nil? start)) (not (nil? end)))");return cljs.core.build_subvec(null,a,b|0,c|0,null)};cljs.core.subvec.cljs$lang$maxFixedArity=3;cljs.core.tv_ensure_editable=function(a,b){return a===b.edit?b:new cljs.core.VectorNode(a,cljs.core.aclone(b.arr))};cljs.core.tv_editable_root=function(a){return new cljs.core.VectorNode({},cljs.core.aclone(a.arr))};
cljs.core.tv_editable_tail=function(a){var b=[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null];cljs.core.array_copy(a,0,b,0,a.length);return b};
cljs.core.tv_push_tail=function(a,b,c,d){var e=cljs.core.tv_ensure_editable(a.root.edit,c),f=a.cnt-1>>>b&31;cljs.core.pv_aset(e,f,5===b?d:function(){var c=cljs.core.pv_aget(e,f);if(null!=c){var h=b-5;return cljs.core.tv_push_tail.cljs$core$IFn$_invoke$arity$4?cljs.core.tv_push_tail.cljs$core$IFn$_invoke$arity$4(a,h,c,d):cljs.core.tv_push_tail.call(null,a,h,c,d)}return cljs.core.new_path(a.root.edit,b-5,d)}());return e};
cljs.core.tv_pop_tail=function(a,b,c){c=cljs.core.tv_ensure_editable(a.root.edit,c);var d=a.cnt-2>>>b&31;if(5<b){b-=5;var e=cljs.core.pv_aget(c,d);a=cljs.core.tv_pop_tail.cljs$core$IFn$_invoke$arity$3?cljs.core.tv_pop_tail.cljs$core$IFn$_invoke$arity$3(a,b,e):cljs.core.tv_pop_tail.call(null,a,b,e);if(null==a&&0===d)return null;cljs.core.pv_aset(c,d,a);return c}if(0===d)return null;cljs.core.pv_aset(c,d,null);return c};
cljs.core.unchecked_editable_array_for=function(a,b){if(b>=cljs.core.tail_off(a))return a.tail;var c=a.root,d=c;for(a=a.shift;;)if(0<a)d=cljs.core.tv_ensure_editable(c.edit,cljs.core.pv_aget(d,b>>>a&31)),a-=5;else return d.arr};cljs.core.TransientVector=function(a,b,c,d){this.cnt=a;this.shift=b;this.root=c;this.tail=d;this.cljs$lang$protocol_mask$partition1$=88;this.cljs$lang$protocol_mask$partition0$=275};
cljs.core.TransientVector.prototype.cljs$core$ITransientCollection$_conj_BANG_$arity$2=function(a,b){if(this.root.edit){if(32>this.cnt-cljs.core.tail_off(this))this.tail[this.cnt&31]=b;else{a=new cljs.core.VectorNode(this.root.edit,this.tail);var c=[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null];c[0]=b;this.tail=c;this.cnt>>>5>1<<this.shift?(b=[null,null,null,null,null,null,null,null,
null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null],c=this.shift+5,b[0]=this.root,b[1]=cljs.core.new_path(this.root.edit,this.shift,a),this.root=new cljs.core.VectorNode(this.root.edit,b),this.shift=c):this.root=cljs.core.tv_push_tail(this,this.shift,this.root,a)}this.cnt+=1;return this}throw Error("conj! after persistent!");};
cljs.core.TransientVector.prototype.cljs$core$ITransientCollection$_persistent_BANG_$arity$1=function(a){if(this.root.edit){this.root.edit=null;a=this.cnt-cljs.core.tail_off(this);var b=Array(a);cljs.core.array_copy(this.tail,0,b,0,a);return new cljs.core.PersistentVector(null,this.cnt,this.shift,this.root,b,null)}throw Error("persistent! called twice");};
cljs.core.TransientVector.prototype.cljs$core$ITransientAssociative$_assoc_BANG_$arity$3=function(a,b,c){if("number"===typeof b)return this.cljs$core$ITransientVector$_assoc_n_BANG_$arity$3(null,b,c);throw Error("TransientVector's key for assoc! must be a number.");};
cljs.core.TransientVector.prototype.cljs$core$ITransientVector$_assoc_n_BANG_$arity$3=function(a,b,c){var d=this,e=this;if(d.root.edit){if(0<=b&&b<d.cnt)return cljs.core.tail_off(e)<=b?d.tail[b&31]=c:(a=function(){return function(a){return function l(a,e){e=cljs.core.tv_ensure_editable(d.root.edit,e);if(0===a)cljs.core.pv_aset(e,b&31,c);else{var f=b>>>a&31;cljs.core.pv_aset(e,f,l(a-5,cljs.core.pv_aget(e,f)))}return e}}(e)(d.shift,d.root)}(),d.root=a),e;if(b===d.cnt)return e.cljs$core$ITransientCollection$_conj_BANG_$arity$2(null,
c);throw Error(["Index ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(b)," out of bounds for TransientVector of length",cljs.core.str.cljs$core$IFn$_invoke$arity$1(d.cnt)].join(""));}throw Error("assoc! after persistent!");};
cljs.core.TransientVector.prototype.cljs$core$ITransientVector$_pop_BANG_$arity$1=function(a){if(this.root.edit){if(0===this.cnt)throw Error("Can't pop empty vector");if(1===this.cnt)this.cnt=0;else if(0<(this.cnt-1&31))--this.cnt;else{a=cljs.core.unchecked_editable_array_for(this,this.cnt-2);var b=cljs.core.tv_pop_tail(this,this.shift,this.root);b=null!=b?b:new cljs.core.VectorNode(this.root.edit,[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,
null,null,null,null,null,null,null,null,null,null,null,null]);5<this.shift&&null==cljs.core.pv_aget(b,1)?(this.root=cljs.core.tv_ensure_editable(this.root.edit,cljs.core.pv_aget(b,0)),this.shift-=5):this.root=b;--this.cnt;this.tail=a}return this}throw Error("pop! after persistent!");};cljs.core.TransientVector.prototype.cljs$core$ICounted$_count$arity$1=function(a){if(this.root.edit)return this.cnt;throw Error("count after persistent!");};
cljs.core.TransientVector.prototype.cljs$core$IIndexed$_nth$arity$2=function(a,b){if(this.root.edit)return cljs.core.array_for(this,b)[b&31];throw Error("nth after persistent!");};cljs.core.TransientVector.prototype.cljs$core$IIndexed$_nth$arity$3=function(a,b,c){return 0<=b&&b<this.cnt?this.cljs$core$IIndexed$_nth$arity$2(null,b):c};cljs.core.TransientVector.prototype.cljs$core$ILookup$_lookup$arity$2=function(a,b){return this.cljs$core$ILookup$_lookup$arity$3(null,b,null)};
cljs.core.TransientVector.prototype.cljs$core$ILookup$_lookup$arity$3=function(a,b,c){return"number"===typeof b?this.cljs$core$IIndexed$_nth$arity$3(null,b,c):c};
cljs.core.TransientVector.prototype.call=function(){var a=null;a=function(a,c,d){switch(arguments.length){case 2:return this.cljs$core$ILookup$_lookup$arity$2(null,c);case 3:return this.cljs$core$ILookup$_lookup$arity$3(null,c,d)}throw Error("Invalid arity: "+(arguments.length-1));};a.cljs$core$IFn$_invoke$arity$2=function(a,c){return this.cljs$core$ILookup$_lookup$arity$2(null,c)};a.cljs$core$IFn$_invoke$arity$3=function(a,c,d){return this.cljs$core$ILookup$_lookup$arity$3(null,c,d)};return a}();
cljs.core.TransientVector.prototype.apply=function(a,b){return this.call.apply(this,[this].concat(cljs.core.aclone(b)))};cljs.core.TransientVector.prototype.cljs$core$IFn$_invoke$arity$1=function(a){return this.cljs$core$ILookup$_lookup$arity$2(null,a)};cljs.core.TransientVector.prototype.cljs$core$IFn$_invoke$arity$2=function(a,b){return this.cljs$core$ILookup$_lookup$arity$3(null,a,b)};
cljs.core.TransientVector.getBasis=function(){return new cljs.core.PersistentVector(null,4,5,cljs.core.PersistentVector.EMPTY_NODE,[cljs.core.with_meta(new cljs.core.Symbol(null,"cnt","cnt",1924510325,null),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"mutable","mutable",875778266),!0],null)),cljs.core.with_meta(new cljs.core.Symbol(null,"shift","shift",-1657295705,null),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"mutable","mutable",875778266),!0],null)),
cljs.core.with_meta(new cljs.core.Symbol(null,"root","root",1191874074,null),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"mutable","mutable",875778266),!0],null)),cljs.core.with_meta(new cljs.core.Symbol(null,"tail","tail",494507963,null),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"mutable","mutable",875778266),!0],null))],null)};cljs.core.TransientVector.cljs$lang$type=!0;cljs.core.TransientVector.cljs$lang$ctorStr="cljs.core/TransientVector";
cljs.core.TransientVector.cljs$lang$ctorPrWriter=function(a,b,c){return cljs.core._write(b,"cljs.core/TransientVector")};cljs.core.__GT_TransientVector=function(a,b,c,d){return new cljs.core.TransientVector(a,b,c,d)};cljs.core.PersistentQueueIter=function(a,b){this.fseq=a;this.riter=b};cljs.core.PersistentQueueIter.prototype.hasNext=function(){var a=null!=this.fseq&&cljs.core.seq(this.fseq);return a?a:(a=null!=this.riter)?this.riter.hasNext():a};
cljs.core.PersistentQueueIter.prototype.next=function(){if(null!=this.fseq){var a=cljs.core.first(this.fseq);this.fseq=cljs.core.next(this.fseq);return a}if(null!=this.riter&&this.riter.hasNext())return this.riter.next();throw Error("No such element");};cljs.core.PersistentQueueIter.prototype.remove=function(){return Error("Unsupported operation")};
cljs.core.PersistentQueueIter.getBasis=function(){return new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[cljs.core.with_meta(new cljs.core.Symbol(null,"fseq","fseq",-1466412450,null),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"mutable","mutable",875778266),!0],null)),new cljs.core.Symbol(null,"riter","riter",-237834262,null)],null)};cljs.core.PersistentQueueIter.cljs$lang$type=!0;cljs.core.PersistentQueueIter.cljs$lang$ctorStr="cljs.core/PersistentQueueIter";
cljs.core.PersistentQueueIter.cljs$lang$ctorPrWriter=function(a,b,c){return cljs.core._write(b,"cljs.core/PersistentQueueIter")};cljs.core.__GT_PersistentQueueIter=function(a,b){return new cljs.core.PersistentQueueIter(a,b)};cljs.core.PersistentQueueSeq=function(a,b,c,d){this.meta=a;this.front=b;this.rear=c;this.__hash=d;this.cljs$lang$protocol_mask$partition0$=31850700;this.cljs$lang$protocol_mask$partition1$=0};cljs.core.PersistentQueueSeq.prototype.toString=function(){return cljs.core.pr_str_STAR_(this)};
cljs.core.PersistentQueueSeq.prototype.equiv=function(a){return this.cljs$core$IEquiv$_equiv$arity$2(null,a)};
cljs.core.PersistentQueueSeq.prototype.indexOf=function(){var a=null,b=function(a){return cljs.core._indexOf.cljs$core$IFn$_invoke$arity$3(this,a,0)},c=function(a,b){return cljs.core._indexOf.cljs$core$IFn$_invoke$arity$3(this,a,b)};a=function(a,e){switch(arguments.length){case 1:return b.call(this,a);case 2:return c.call(this,a,e)}throw Error("Invalid arity: "+arguments.length);};a.cljs$core$IFn$_invoke$arity$1=b;a.cljs$core$IFn$_invoke$arity$2=c;return a}();
cljs.core.PersistentQueueSeq.prototype.lastIndexOf=function(){var a=null,b=function(a){return cljs.core._lastIndexOf.cljs$core$IFn$_invoke$arity$3(this,a,cljs.core.count(this))},c=function(a,b){return cljs.core._lastIndexOf.cljs$core$IFn$_invoke$arity$3(this,a,b)};a=function(a,e){switch(arguments.length){case 1:return b.call(this,a);case 2:return c.call(this,a,e)}throw Error("Invalid arity: "+arguments.length);};a.cljs$core$IFn$_invoke$arity$1=b;a.cljs$core$IFn$_invoke$arity$2=c;return a}();
cljs.core.PersistentQueueSeq.prototype.cljs$core$IMeta$_meta$arity$1=function(a){return this.meta};cljs.core.PersistentQueueSeq.prototype.cljs$core$INext$_next$arity$1=function(a){return(a=cljs.core.next(this.front))?new cljs.core.PersistentQueueSeq(this.meta,a,this.rear,null):null!=this.rear?new cljs.core.PersistentQueueSeq(this.meta,this.rear,null,null):null};cljs.core.PersistentQueueSeq.prototype.cljs$core$IHash$_hash$arity$1=function(a){a=this.__hash;return null!=a?a:this.__hash=a=cljs.core.hash_ordered_coll(this)};
cljs.core.PersistentQueueSeq.prototype.cljs$core$IEquiv$_equiv$arity$2=function(a,b){return cljs.core.equiv_sequential(this,b)};cljs.core.PersistentQueueSeq.prototype.cljs$core$IEmptyableCollection$_empty$arity$1=function(a){return cljs.core._with_meta(cljs.core.List.EMPTY,this.meta)};cljs.core.PersistentQueueSeq.prototype.cljs$core$ISeq$_first$arity$1=function(a){return cljs.core.first(this.front)};
cljs.core.PersistentQueueSeq.prototype.cljs$core$ISeq$_rest$arity$1=function(a){return(a=cljs.core.next(this.front))?new cljs.core.PersistentQueueSeq(this.meta,a,this.rear,null):null==this.rear?this.cljs$core$IEmptyableCollection$_empty$arity$1(null):new cljs.core.PersistentQueueSeq(this.meta,this.rear,null,null)};cljs.core.PersistentQueueSeq.prototype.cljs$core$ISeqable$_seq$arity$1=function(a){return this};
cljs.core.PersistentQueueSeq.prototype.cljs$core$IWithMeta$_with_meta$arity$2=function(a,b){return b===this.meta?this:new cljs.core.PersistentQueueSeq(b,this.front,this.rear,this.__hash)};cljs.core.PersistentQueueSeq.prototype.cljs$core$ICollection$_conj$arity$2=function(a,b){return cljs.core.cons(b,this)};
cljs.core.PersistentQueueSeq.getBasis=function(){return new cljs.core.PersistentVector(null,4,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"meta","meta",-1154898805,null),new cljs.core.Symbol(null,"front","front",117022539,null),new cljs.core.Symbol(null,"rear","rear",-900164830,null),cljs.core.with_meta(new cljs.core.Symbol(null,"__hash","__hash",-1328796629,null),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"mutable","mutable",875778266),!0],null))],
null)};cljs.core.PersistentQueueSeq.cljs$lang$type=!0;cljs.core.PersistentQueueSeq.cljs$lang$ctorStr="cljs.core/PersistentQueueSeq";cljs.core.PersistentQueueSeq.cljs$lang$ctorPrWriter=function(a,b,c){return cljs.core._write(b,"cljs.core/PersistentQueueSeq")};cljs.core.__GT_PersistentQueueSeq=function(a,b,c,d){return new cljs.core.PersistentQueueSeq(a,b,c,d)};
var G__23030_23033=cljs.core.PersistentQueueSeq.prototype,G__23031_23034=cljs.core.ITER_SYMBOL,G__23032_23035=function(a,b){return function(){return cljs.core.es6_iterator(this)}}(G__23030_23033,G__23031_23034);goog.object.set(G__23030_23033,G__23031_23034,G__23032_23035);cljs.core.PersistentQueue=function(a,b,c,d,e){this.meta=a;this.count=b;this.front=c;this.rear=d;this.__hash=e;this.cljs$lang$protocol_mask$partition1$=139264;this.cljs$lang$protocol_mask$partition0$=31858766};
cljs.core.PersistentQueue.prototype.toString=function(){return cljs.core.pr_str_STAR_(this)};cljs.core.PersistentQueue.prototype.equiv=function(a){return this.cljs$core$IEquiv$_equiv$arity$2(null,a)};
cljs.core.PersistentQueue.prototype.indexOf=function(){var a=null,b=function(a){return cljs.core._indexOf.cljs$core$IFn$_invoke$arity$3(this,a,0)},c=function(a,b){return cljs.core._indexOf.cljs$core$IFn$_invoke$arity$3(this,a,b)};a=function(a,e){switch(arguments.length){case 1:return b.call(this,a);case 2:return c.call(this,a,e)}throw Error("Invalid arity: "+arguments.length);};a.cljs$core$IFn$_invoke$arity$1=b;a.cljs$core$IFn$_invoke$arity$2=c;return a}();
cljs.core.PersistentQueue.prototype.lastIndexOf=function(){var a=null,b=function(a){return cljs.core._lastIndexOf.cljs$core$IFn$_invoke$arity$3(this,a,this.count.cljs$core$IFn$_invoke$arity$1?this.count.cljs$core$IFn$_invoke$arity$1(this):this.count.call(null,this))},c=function(a,b){return cljs.core._lastIndexOf.cljs$core$IFn$_invoke$arity$3(this,a,b)};a=function(a,e){switch(arguments.length){case 1:return b.call(this,a);case 2:return c.call(this,a,e)}throw Error("Invalid arity: "+arguments.length);
};a.cljs$core$IFn$_invoke$arity$1=b;a.cljs$core$IFn$_invoke$arity$2=c;return a}();cljs.core.PersistentQueue.prototype.cljs$core$IIterable$_iterator$arity$1=function(a){return new cljs.core.PersistentQueueIter(this.front,cljs.core._iterator(this.rear))};cljs.core.PersistentQueue.prototype.cljs$core$IMeta$_meta$arity$1=function(a){return this.meta};
cljs.core.PersistentQueue.prototype.cljs$core$ICloneable$_clone$arity$1=function(a){return new cljs.core.PersistentQueue(this.meta,this.count,this.front,this.rear,this.__hash)};cljs.core.PersistentQueue.prototype.cljs$core$ICounted$_count$arity$1=function(a){return this.count};cljs.core.PersistentQueue.prototype.cljs$core$IStack$_peek$arity$1=function(a){return cljs.core.first(this.front)};
cljs.core.PersistentQueue.prototype.cljs$core$IStack$_pop$arity$1=function(a){return cljs.core.truth_(this.front)?(a=cljs.core.next(this.front))?new cljs.core.PersistentQueue(this.meta,this.count-1,a,this.rear,null):new cljs.core.PersistentQueue(this.meta,this.count-1,cljs.core.seq(this.rear),cljs.core.PersistentVector.EMPTY,null):this};cljs.core.PersistentQueue.prototype.cljs$core$IHash$_hash$arity$1=function(a){a=this.__hash;return null!=a?a:this.__hash=a=cljs.core.hash_ordered_coll(this)};
cljs.core.PersistentQueue.prototype.cljs$core$IEquiv$_equiv$arity$2=function(a,b){return cljs.core.equiv_sequential(this,b)};cljs.core.PersistentQueue.prototype.cljs$core$IEmptyableCollection$_empty$arity$1=function(a){return cljs.core._with_meta(cljs.core.PersistentQueue.EMPTY,this.meta)};cljs.core.PersistentQueue.prototype.cljs$core$ISeq$_first$arity$1=function(a){return cljs.core.first(this.front)};cljs.core.PersistentQueue.prototype.cljs$core$ISeq$_rest$arity$1=function(a){return cljs.core.rest(cljs.core.seq(this))};
cljs.core.PersistentQueue.prototype.cljs$core$ISeqable$_seq$arity$1=function(a){var b=this,c=cljs.core.seq(b.rear);return cljs.core.truth_(function(){var a=b.front;return cljs.core.truth_(a)?a:c}())?new cljs.core.PersistentQueueSeq(null,b.front,cljs.core.seq(c),null):null};cljs.core.PersistentQueue.prototype.cljs$core$IWithMeta$_with_meta$arity$2=function(a,b){return b===this.meta?this:new cljs.core.PersistentQueue(b,this.count,this.front,this.rear,this.__hash)};
cljs.core.PersistentQueue.prototype.cljs$core$ICollection$_conj$arity$2=function(a,b){var c=this;return cljs.core.truth_(c.front)?new cljs.core.PersistentQueue(c.meta,c.count+1,c.front,cljs.core.conj.cljs$core$IFn$_invoke$arity$2(function(){var a=c.rear;return cljs.core.truth_(a)?a:cljs.core.PersistentVector.EMPTY}(),b),null):new cljs.core.PersistentQueue(c.meta,c.count+1,cljs.core.conj.cljs$core$IFn$_invoke$arity$2(c.front,b),cljs.core.PersistentVector.EMPTY,null)};
cljs.core.PersistentQueue.getBasis=function(){return new cljs.core.PersistentVector(null,5,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"meta","meta",-1154898805,null),new cljs.core.Symbol(null,"count","count",-514511684,null),new cljs.core.Symbol(null,"front","front",117022539,null),new cljs.core.Symbol(null,"rear","rear",-900164830,null),cljs.core.with_meta(new cljs.core.Symbol(null,"__hash","__hash",-1328796629,null),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,
"mutable","mutable",875778266),!0],null))],null)};cljs.core.PersistentQueue.cljs$lang$type=!0;cljs.core.PersistentQueue.cljs$lang$ctorStr="cljs.core/PersistentQueue";cljs.core.PersistentQueue.cljs$lang$ctorPrWriter=function(a,b,c){return cljs.core._write(b,"cljs.core/PersistentQueue")};cljs.core.__GT_PersistentQueue=function(a,b,c,d,e){return new cljs.core.PersistentQueue(a,b,c,d,e)};cljs.core.PersistentQueue.EMPTY=new cljs.core.PersistentQueue(null,0,null,cljs.core.PersistentVector.EMPTY,cljs.core.empty_ordered_hash);
var G__23038_23041=cljs.core.PersistentQueue.prototype,G__23039_23042=cljs.core.ITER_SYMBOL,G__23040_23043=function(a,b){return function(){return cljs.core.es6_iterator(this)}}(G__23038_23041,G__23039_23042);goog.object.set(G__23038_23041,G__23039_23042,G__23040_23043);cljs.core.NeverEquiv=function(){this.cljs$lang$protocol_mask$partition0$=2097152;this.cljs$lang$protocol_mask$partition1$=0};cljs.core.NeverEquiv.prototype.equiv=function(a){return this.cljs$core$IEquiv$_equiv$arity$2(null,a)};
cljs.core.NeverEquiv.prototype.cljs$core$IEquiv$_equiv$arity$2=function(a,b){return!1};cljs.core.NeverEquiv.getBasis=function(){return cljs.core.PersistentVector.EMPTY};cljs.core.NeverEquiv.cljs$lang$type=!0;cljs.core.NeverEquiv.cljs$lang$ctorStr="cljs.core/NeverEquiv";cljs.core.NeverEquiv.cljs$lang$ctorPrWriter=function(a,b,c){return cljs.core._write(b,"cljs.core/NeverEquiv")};cljs.core.__GT_NeverEquiv=function(){return new cljs.core.NeverEquiv};cljs.core.never_equiv=new cljs.core.NeverEquiv;
cljs.core.equiv_map=function(a,b){return cljs.core.boolean$(cljs.core.map_QMARK_(b)&&!cljs.core.record_QMARK_(b)?cljs.core.count(a)===cljs.core.count(b)?(null!=a?a.cljs$lang$protocol_mask$partition0$&1048576||cljs.core.PROTOCOL_SENTINEL===a.cljs$core$IKVReduce$||(a.cljs$lang$protocol_mask$partition0$?0:cljs.core.native_satisfies_QMARK_(cljs.core.IKVReduce,a)):cljs.core.native_satisfies_QMARK_(cljs.core.IKVReduce,a))?cljs.core.reduce_kv(function(a,d,e){return cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(cljs.core.get.cljs$core$IFn$_invoke$arity$3(b,
d,cljs.core.never_equiv),e)?!0:cljs.core.reduced(!1)},!0,a):cljs.core.every_QMARK_(function(a){return cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(cljs.core.get.cljs$core$IFn$_invoke$arity$3(b,cljs.core.first(a),cljs.core.never_equiv),cljs.core.second(a))},a):null:null)};cljs.core.scan_array=function(a,b,c){for(var d=c.length,e=0;;)if(e<d){if(b===c[e])return e;e+=a}else return null};cljs.core.obj_map_compare_keys=function(a,b){a=cljs.core.hash(a);b=cljs.core.hash(b);return a<b?-1:a>b?1:0};
cljs.core.obj_map__GT_hash_map=function(a,b,c){var d=a.keys,e=d.length,f=a.strobj;a=cljs.core.meta(a);for(var g=0,h=cljs.core.transient$(cljs.core.PersistentHashMap.EMPTY);;)if(g<e){var k=d[g];g+=1;h=cljs.core.assoc_BANG_.cljs$core$IFn$_invoke$arity$3(h,k,goog.object.get(f,k))}else return cljs.core._with_meta(cljs.core.persistent_BANG_(cljs.core.assoc_BANG_.cljs$core$IFn$_invoke$arity$3(h,b,c)),a)};
cljs.core.obj_clone=function(a,b){for(var c={},d=b.length,e=0;;)if(e<d){var f=b[e],g=c,h=f;f=goog.object.get(a,f);goog.object.set(g,h,f);e+=1}else break;return c};cljs.core.ObjMap=function(a,b,c,d,e){this.meta=a;this.keys=b;this.strobj=c;this.update_count=d;this.__hash=e;this.cljs$lang$protocol_mask$partition0$=16123663;this.cljs$lang$protocol_mask$partition1$=4};cljs.core.ObjMap.prototype.cljs$core$IFind$=cljs.core.PROTOCOL_SENTINEL;
cljs.core.ObjMap.prototype.cljs$core$IFind$_find$arity$2=function(a,b){return goog.isString(b)&&null!=cljs.core.scan_array(1,b,this.keys)?new cljs.core.MapEntry(b,this.strobj[b],null):null};cljs.core.ObjMap.prototype.toString=function(){return cljs.core.pr_str_STAR_(this)};cljs.core.ObjMap.prototype.equiv=function(a){return this.cljs$core$IEquiv$_equiv$arity$2(null,a)};cljs.core.ObjMap.prototype.cljs$core$ILookup$_lookup$arity$2=function(a,b){return this.cljs$core$ILookup$_lookup$arity$3(null,b,null)};
cljs.core.ObjMap.prototype.cljs$core$ILookup$_lookup$arity$3=function(a,b,c){return goog.isString(b)&&null!=cljs.core.scan_array(1,b,this.keys)?this.strobj[b]:c};
cljs.core.ObjMap.prototype.cljs$core$IKVReduce$_kv_reduce$arity$3=function(a,b,c){a=this.keys.sort(cljs.core.obj_map_compare_keys);for(var d=c;;)if(cljs.core.seq(a)){var e=c=cljs.core.first(a);c=this.strobj[c];c=b.cljs$core$IFn$_invoke$arity$3?b.cljs$core$IFn$_invoke$arity$3(d,e,c):b.call(null,d,e,c);if(cljs.core.reduced_QMARK_(c))return cljs.core.deref(c);a=cljs.core.rest(a);d=c}else return d};cljs.core.ObjMap.prototype.cljs$core$IMeta$_meta$arity$1=function(a){return this.meta};
cljs.core.ObjMap.prototype.cljs$core$ICounted$_count$arity$1=function(a){return this.keys.length};cljs.core.ObjMap.prototype.cljs$core$IHash$_hash$arity$1=function(a){a=this.__hash;return null!=a?a:this.__hash=a=cljs.core.hash_unordered_coll(this)};cljs.core.ObjMap.prototype.cljs$core$IEquiv$_equiv$arity$2=function(a,b){return cljs.core.equiv_map(this,b)};
cljs.core.ObjMap.prototype.cljs$core$IEditableCollection$_as_transient$arity$1=function(a){return cljs.core.transient$(cljs.core.into.cljs$core$IFn$_invoke$arity$2(cljs.core.PersistentHashMap.EMPTY,this))};cljs.core.ObjMap.prototype.cljs$core$IEmptyableCollection$_empty$arity$1=function(a){return cljs.core._with_meta(cljs.core.ObjMap.EMPTY,this.meta)};
cljs.core.ObjMap.prototype.cljs$core$IMap$_dissoc$arity$2=function(a,b){if(goog.isString(b)&&null!=cljs.core.scan_array(1,b,this.keys)){a=cljs.core.aclone(this.keys);var c=cljs.core.obj_clone(this.strobj,this.keys);a.splice(cljs.core.scan_array(1,b,a),1);delete c[b];return new cljs.core.ObjMap(this.meta,a,c,this.update_count+1,null)}return this};
cljs.core.ObjMap.prototype.cljs$core$IAssociative$_assoc$arity$3=function(a,b,c){if(goog.isString(b)){if(this.update_count>cljs.core.ObjMap.HASHMAP_THRESHOLD||this.keys.length>=cljs.core.ObjMap.HASHMAP_THRESHOLD)return cljs.core.obj_map__GT_hash_map(this,b,c);if(null!=cljs.core.scan_array(1,b,this.keys))return a=cljs.core.obj_clone(this.strobj,this.keys),goog.object.set(a,b,c),new cljs.core.ObjMap(this.meta,this.keys,a,this.update_count+1,null);a=cljs.core.obj_clone(this.strobj,this.keys);var d=cljs.core.aclone(this.keys);
goog.object.set(a,b,c);d.push(b);return new cljs.core.ObjMap(this.meta,d,a,this.update_count+1,null)}return cljs.core.obj_map__GT_hash_map(this,b,c)};cljs.core.ObjMap.prototype.cljs$core$IAssociative$_contains_key_QMARK_$arity$2=function(a,b){return goog.isString(b)&&null!=cljs.core.scan_array(1,b,this.keys)?!0:!1};
cljs.core.ObjMap.prototype.cljs$core$ISeqable$_seq$arity$1=function(a){var b=this;return 0<b.keys.length?cljs.core.map.cljs$core$IFn$_invoke$arity$2(function(a){return function(a){return new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[a,b.strobj[a]],null)}}(this),b.keys.sort(cljs.core.obj_map_compare_keys)):null};
cljs.core.ObjMap.prototype.cljs$core$IWithMeta$_with_meta$arity$2=function(a,b){return b===this.meta?this:new cljs.core.ObjMap(b,this.keys,this.strobj,this.update_count,this.__hash)};
cljs.core.ObjMap.prototype.cljs$core$ICollection$_conj$arity$2=function(a,b){return cljs.core.vector_QMARK_(b)?this.cljs$core$IAssociative$_assoc$arity$3(null,cljs.core._nth.cljs$core$IFn$_invoke$arity$2(b,0),cljs.core._nth.cljs$core$IFn$_invoke$arity$2(b,1)):cljs.core.reduce.cljs$core$IFn$_invoke$arity$3(cljs.core._conj,this,b)};
cljs.core.ObjMap.prototype.call=function(){var a=null;a=function(a,c,d){switch(arguments.length){case 2:return this.cljs$core$ILookup$_lookup$arity$2(null,c);case 3:return this.cljs$core$ILookup$_lookup$arity$3(null,c,d)}throw Error("Invalid arity: "+(arguments.length-1));};a.cljs$core$IFn$_invoke$arity$2=function(a,c){return this.cljs$core$ILookup$_lookup$arity$2(null,c)};a.cljs$core$IFn$_invoke$arity$3=function(a,c,d){return this.cljs$core$ILookup$_lookup$arity$3(null,c,d)};return a}();
cljs.core.ObjMap.prototype.apply=function(a,b){return this.call.apply(this,[this].concat(cljs.core.aclone(b)))};cljs.core.ObjMap.prototype.cljs$core$IFn$_invoke$arity$1=function(a){return this.cljs$core$ILookup$_lookup$arity$2(null,a)};cljs.core.ObjMap.prototype.cljs$core$IFn$_invoke$arity$2=function(a,b){return this.cljs$core$ILookup$_lookup$arity$3(null,a,b)};
cljs.core.ObjMap.getBasis=function(){return new cljs.core.PersistentVector(null,5,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"meta","meta",-1154898805,null),new cljs.core.Symbol(null,"keys","keys",-1586012071,null),new cljs.core.Symbol(null,"strobj","strobj",1088091283,null),new cljs.core.Symbol(null,"update-count","update-count",-411982269,null),cljs.core.with_meta(new cljs.core.Symbol(null,"__hash","__hash",-1328796629,null),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,
"mutable","mutable",875778266),!0],null))],null)};cljs.core.ObjMap.cljs$lang$type=!0;cljs.core.ObjMap.cljs$lang$ctorStr="cljs.core/ObjMap";cljs.core.ObjMap.cljs$lang$ctorPrWriter=function(a,b,c){return cljs.core._write(b,"cljs.core/ObjMap")};cljs.core.__GT_ObjMap=function(a,b,c,d,e){return new cljs.core.ObjMap(a,b,c,d,e)};cljs.core.ObjMap.EMPTY=new cljs.core.ObjMap(null,[],{},0,cljs.core.empty_unordered_hash);cljs.core.ObjMap.HASHMAP_THRESHOLD=8;
cljs.core.ObjMap.fromObject=function(a,b){return new cljs.core.ObjMap(null,a,b,0,null)};cljs.core.RecordIter=function(a,b,c,d,e){this.i=a;this.record=b;this.base_count=c;this.fields=d;this.ext_map_iter=e};cljs.core.RecordIter.prototype.hasNext=function(){var a=this.i<this.base_count;return a?a:this.ext_map_iter.hasNext()};
cljs.core.RecordIter.prototype.next=function(){if(this.i<this.base_count){var a=cljs.core.nth.cljs$core$IFn$_invoke$arity$2(this.fields,this.i);this.i+=1;return new cljs.core.MapEntry(a,cljs.core._lookup.cljs$core$IFn$_invoke$arity$2(this.record,a),null)}return this.ext_map_iter.next()};cljs.core.RecordIter.prototype.remove=function(){return Error("Unsupported operation")};
cljs.core.RecordIter.getBasis=function(){return new cljs.core.PersistentVector(null,5,5,cljs.core.PersistentVector.EMPTY_NODE,[cljs.core.with_meta(new cljs.core.Symbol(null,"i","i",253690212,null),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"mutable","mutable",875778266),!0],null)),new cljs.core.Symbol(null,"record","record",861424668,null),new cljs.core.Symbol(null,"base-count","base-count",-1180647182,null),new cljs.core.Symbol(null,"fields","fields",-291534703,null),new cljs.core.Symbol(null,
"ext-map-iter","ext-map-iter",-1215982757,null)],null)};cljs.core.RecordIter.cljs$lang$type=!0;cljs.core.RecordIter.cljs$lang$ctorStr="cljs.core/RecordIter";cljs.core.RecordIter.cljs$lang$ctorPrWriter=function(a,b,c){return cljs.core._write(b,"cljs.core/RecordIter")};cljs.core.__GT_RecordIter=function(a,b,c,d,e){return new cljs.core.RecordIter(a,b,c,d,e)};cljs.core.ES6EntriesIterator=function(a){this.s=a};
cljs.core.ES6EntriesIterator.prototype.next=function(){if(null!=this.s){var a=cljs.core.first(this.s),b=cljs.core.nth.cljs$core$IFn$_invoke$arity$3(a,0,null);a=cljs.core.nth.cljs$core$IFn$_invoke$arity$3(a,1,null);this.s=cljs.core.next(this.s);return{value:[b,a],done:!1}}return{value:null,done:!0}};
cljs.core.ES6EntriesIterator.getBasis=function(){return new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[cljs.core.with_meta(new cljs.core.Symbol(null,"s","s",-948495851,null),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"mutable","mutable",875778266),!0],null))],null)};cljs.core.ES6EntriesIterator.cljs$lang$type=!0;cljs.core.ES6EntriesIterator.cljs$lang$ctorStr="cljs.core/ES6EntriesIterator";
cljs.core.ES6EntriesIterator.cljs$lang$ctorPrWriter=function(a,b,c){return cljs.core._write(b,"cljs.core/ES6EntriesIterator")};cljs.core.__GT_ES6EntriesIterator=function(a){return new cljs.core.ES6EntriesIterator(a)};cljs.core.es6_entries_iterator=function(a){return new cljs.core.ES6EntriesIterator(cljs.core.seq(a))};cljs.core.ES6SetEntriesIterator=function(a){this.s=a};
cljs.core.ES6SetEntriesIterator.prototype.next=function(){if(null!=this.s){var a=cljs.core.first(this.s);this.s=cljs.core.next(this.s);return{value:[a,a],done:!1}}return{value:null,done:!0}};
cljs.core.ES6SetEntriesIterator.getBasis=function(){return new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[cljs.core.with_meta(new cljs.core.Symbol(null,"s","s",-948495851,null),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"mutable","mutable",875778266),!0],null))],null)};cljs.core.ES6SetEntriesIterator.cljs$lang$type=!0;cljs.core.ES6SetEntriesIterator.cljs$lang$ctorStr="cljs.core/ES6SetEntriesIterator";
cljs.core.ES6SetEntriesIterator.cljs$lang$ctorPrWriter=function(a,b,c){return cljs.core._write(b,"cljs.core/ES6SetEntriesIterator")};cljs.core.__GT_ES6SetEntriesIterator=function(a){return new cljs.core.ES6SetEntriesIterator(a)};cljs.core.es6_set_entries_iterator=function(a){return new cljs.core.ES6SetEntriesIterator(cljs.core.seq(a))};cljs.core.array_index_of_nil_QMARK_=function(a){for(var b=a.length,c=0;;){if(b<=c)return-1;if(null==a[c])return c;c+=2}};
cljs.core.array_index_of_keyword_QMARK_=function(a,b){var c=a.length;b=b.fqn;for(var d=0;;){if(c<=d)return-1;if(a[d]instanceof cljs.core.Keyword&&b===a[d].fqn)return d;d+=2}};cljs.core.array_index_of_symbol_QMARK_=function(a,b){var c=a.length;b=b.str;for(var d=0;;){if(c<=d)return-1;if(a[d]instanceof cljs.core.Symbol&&b===a[d].str)return d;d+=2}};cljs.core.array_index_of_identical_QMARK_=function(a,b){for(var c=a.length,d=0;;){if(c<=d)return-1;if(b===a[d])return d;d+=2}};
cljs.core.array_index_of_equiv_QMARK_=function(a,b){for(var c=a.length,d=0;;){if(c<=d)return-1;if(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(b,a[d]))return d;d+=2}};
cljs.core.array_index_of=function(a,b){return b instanceof cljs.core.Keyword?cljs.core.array_index_of_keyword_QMARK_(a,b):goog.isString(b)||"number"===typeof b?cljs.core.array_index_of_identical_QMARK_(a,b):b instanceof cljs.core.Symbol?cljs.core.array_index_of_symbol_QMARK_(a,b):null==b?cljs.core.array_index_of_nil_QMARK_(a):cljs.core.array_index_of_equiv_QMARK_(a,b)};cljs.core.array_map_index_of=function(a,b){return cljs.core.array_index_of(a.arr,b)};
cljs.core.array_extend_kv=function(a,b,c){for(var d=a.length,e=Array(d+2),f=0;;)if(f<d)e[f]=a[f],f+=1;else break;e[d]=b;e[d+1]=c;return e};cljs.core.array_map_extend_kv=function(a,b,c){return cljs.core.array_extend_kv(a.arr,b,c)};cljs.core.MapEntry=function(a,b,c){this.key=a;this.val=b;this.__hash=c;this.cljs$lang$protocol_mask$partition0$=166619935;this.cljs$lang$protocol_mask$partition1$=0};cljs.core.MapEntry.prototype.cljs$core$IFind$=cljs.core.PROTOCOL_SENTINEL;
cljs.core.MapEntry.prototype.cljs$core$IFind$_find$arity$2=function(a,b){switch(b){case 0:return new cljs.core.MapEntry(0,this.key,null);case 1:return new cljs.core.MapEntry(1,this.val,null);default:return null}};
cljs.core.MapEntry.prototype.indexOf=function(){var a=null,b=function(a){return cljs.core._indexOf.cljs$core$IFn$_invoke$arity$3(this,a,0)},c=function(a,b){return cljs.core._indexOf.cljs$core$IFn$_invoke$arity$3(this,a,b)};a=function(a,e){switch(arguments.length){case 1:return b.call(this,a);case 2:return c.call(this,a,e)}throw Error("Invalid arity: "+arguments.length);};a.cljs$core$IFn$_invoke$arity$1=b;a.cljs$core$IFn$_invoke$arity$2=c;return a}();
cljs.core.MapEntry.prototype.lastIndexOf=function(){var a=null,b=function(a){return cljs.core._lastIndexOf.cljs$core$IFn$_invoke$arity$3(this,a,cljs.core.count(this))},c=function(a,b){return cljs.core._lastIndexOf.cljs$core$IFn$_invoke$arity$3(this,a,b)};a=function(a,e){switch(arguments.length){case 1:return b.call(this,a);case 2:return c.call(this,a,e)}throw Error("Invalid arity: "+arguments.length);};a.cljs$core$IFn$_invoke$arity$1=b;a.cljs$core$IFn$_invoke$arity$2=c;return a}();
cljs.core.MapEntry.prototype.cljs$core$ILookup$_lookup$arity$2=function(a,b){return this.cljs$core$IIndexed$_nth$arity$3(null,b,null)};cljs.core.MapEntry.prototype.cljs$core$ILookup$_lookup$arity$3=function(a,b,c){return this.cljs$core$IIndexed$_nth$arity$3(null,b,c)};cljs.core.MapEntry.prototype.cljs$core$IIndexed$_nth$arity$2=function(a,b){if(0===b)return this.key;if(1===b)return this.val;throw Error("Index out of bounds");};
cljs.core.MapEntry.prototype.cljs$core$IIndexed$_nth$arity$3=function(a,b,c){return 0===b?this.key:1===b?this.val:c};cljs.core.MapEntry.prototype.cljs$core$IVector$_assoc_n$arity$3=function(a,b,c){return(new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[this.key,this.val],null)).cljs$core$IVector$_assoc_n$arity$3(null,b,c)};cljs.core.MapEntry.prototype.cljs$core$IMeta$_meta$arity$1=function(a){return null};
cljs.core.MapEntry.prototype.cljs$core$ICounted$_count$arity$1=function(a){return 2};cljs.core.MapEntry.prototype.cljs$core$IMapEntry$_key$arity$1=function(a){return this.key};cljs.core.MapEntry.prototype.cljs$core$IMapEntry$_val$arity$1=function(a){return this.val};cljs.core.MapEntry.prototype.cljs$core$IStack$_peek$arity$1=function(a){return this.val};
cljs.core.MapEntry.prototype.cljs$core$IStack$_pop$arity$1=function(a){return new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[this.key],null)};cljs.core.MapEntry.prototype.cljs$core$IReversible$_rseq$arity$1=function(a){return new cljs.core.IndexedSeq([this.val,this.key],0,null)};cljs.core.MapEntry.prototype.cljs$core$IHash$_hash$arity$1=function(a){a=this.__hash;return null!=a?a:this.__hash=a=cljs.core.hash_ordered_coll(this)};
cljs.core.MapEntry.prototype.cljs$core$IEquiv$_equiv$arity$2=function(a,b){return cljs.core.equiv_sequential(this,b)};cljs.core.MapEntry.prototype.cljs$core$IEmptyableCollection$_empty$arity$1=function(a){return null};cljs.core.MapEntry.prototype.cljs$core$IReduce$_reduce$arity$2=function(a,b){return cljs.core.ci_reduce.cljs$core$IFn$_invoke$arity$2(this,b)};
cljs.core.MapEntry.prototype.cljs$core$IReduce$_reduce$arity$3=function(a,b,c){return cljs.core.ci_reduce.cljs$core$IFn$_invoke$arity$3(this,b,c)};cljs.core.MapEntry.prototype.cljs$core$IAssociative$_assoc$arity$3=function(a,b,c){return cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[this.key,this.val],null),b,c)};
cljs.core.MapEntry.prototype.cljs$core$IAssociative$_contains_key_QMARK_$arity$2=function(a,b){return 0===b||1===b};cljs.core.MapEntry.prototype.cljs$core$ISeqable$_seq$arity$1=function(a){return new cljs.core.IndexedSeq([this.key,this.val],0,null)};cljs.core.MapEntry.prototype.cljs$core$IWithMeta$_with_meta$arity$2=function(a,b){return cljs.core.with_meta(new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[this.key,this.val],null),b)};
cljs.core.MapEntry.prototype.cljs$core$ICollection$_conj$arity$2=function(a,b){return new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,[this.key,this.val,b],null)};
cljs.core.MapEntry.prototype.call=function(){var a=null;a=function(a,c,d){switch(arguments.length){case 2:return this.cljs$core$IIndexed$_nth$arity$2(null,c);case 3:return this.cljs$core$IIndexed$_nth$arity$3(null,c,d)}throw Error("Invalid arity: "+(arguments.length-1));};a.cljs$core$IFn$_invoke$arity$2=function(a,c){return this.cljs$core$IIndexed$_nth$arity$2(null,c)};a.cljs$core$IFn$_invoke$arity$3=function(a,c,d){return this.cljs$core$IIndexed$_nth$arity$3(null,c,d)};return a}();
cljs.core.MapEntry.prototype.apply=function(a,b){return this.call.apply(this,[this].concat(cljs.core.aclone(b)))};cljs.core.MapEntry.prototype.cljs$core$IFn$_invoke$arity$1=function(a){return this.cljs$core$IIndexed$_nth$arity$2(null,a)};cljs.core.MapEntry.prototype.cljs$core$IFn$_invoke$arity$2=function(a,b){return this.cljs$core$IIndexed$_nth$arity$3(null,a,b)};
cljs.core.MapEntry.getBasis=function(){return new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"key","key",124488940,null),new cljs.core.Symbol(null,"val","val",1769233139,null),cljs.core.with_meta(new cljs.core.Symbol(null,"__hash","__hash",-1328796629,null),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"mutable","mutable",875778266),!0],null))],null)};cljs.core.MapEntry.cljs$lang$type=!0;
cljs.core.MapEntry.cljs$lang$ctorStr="cljs.core/MapEntry";cljs.core.MapEntry.cljs$lang$ctorPrWriter=function(a,b,c){return cljs.core._write(b,"cljs.core/MapEntry")};cljs.core.__GT_MapEntry=function(a,b,c){return new cljs.core.MapEntry(a,b,c)};cljs.core.map_entry_QMARK_=function(a){return null!=a?a.cljs$lang$protocol_mask$partition0$&2048||cljs.core.PROTOCOL_SENTINEL===a.cljs$core$IMapEntry$?!0:!1:!1};
cljs.core.PersistentArrayMapSeq=function(a,b,c){this.arr=a;this.i=b;this._meta=c;this.cljs$lang$protocol_mask$partition0$=32374990;this.cljs$lang$protocol_mask$partition1$=0};cljs.core.PersistentArrayMapSeq.prototype.toString=function(){return cljs.core.pr_str_STAR_(this)};cljs.core.PersistentArrayMapSeq.prototype.equiv=function(a){return this.cljs$core$IEquiv$_equiv$arity$2(null,a)};
cljs.core.PersistentArrayMapSeq.prototype.indexOf=function(){var a=null,b=function(a){return cljs.core._indexOf.cljs$core$IFn$_invoke$arity$3(this,a,0)},c=function(a,b){return cljs.core._indexOf.cljs$core$IFn$_invoke$arity$3(this,a,b)};a=function(a,e){switch(arguments.length){case 1:return b.call(this,a);case 2:return c.call(this,a,e)}throw Error("Invalid arity: "+arguments.length);};a.cljs$core$IFn$_invoke$arity$1=b;a.cljs$core$IFn$_invoke$arity$2=c;return a}();
cljs.core.PersistentArrayMapSeq.prototype.lastIndexOf=function(){var a=null,b=function(a){return cljs.core._lastIndexOf.cljs$core$IFn$_invoke$arity$3(this,a,cljs.core.count(this))},c=function(a,b){return cljs.core._lastIndexOf.cljs$core$IFn$_invoke$arity$3(this,a,b)};a=function(a,e){switch(arguments.length){case 1:return b.call(this,a);case 2:return c.call(this,a,e)}throw Error("Invalid arity: "+arguments.length);};a.cljs$core$IFn$_invoke$arity$1=b;a.cljs$core$IFn$_invoke$arity$2=c;return a}();
cljs.core.PersistentArrayMapSeq.prototype.cljs$core$IMeta$_meta$arity$1=function(a){return this._meta};cljs.core.PersistentArrayMapSeq.prototype.cljs$core$INext$_next$arity$1=function(a){return this.i<this.arr.length-2?new cljs.core.PersistentArrayMapSeq(this.arr,this.i+2,null):null};cljs.core.PersistentArrayMapSeq.prototype.cljs$core$ICounted$_count$arity$1=function(a){return(this.arr.length-this.i)/2};cljs.core.PersistentArrayMapSeq.prototype.cljs$core$IHash$_hash$arity$1=function(a){return cljs.core.hash_ordered_coll(this)};
cljs.core.PersistentArrayMapSeq.prototype.cljs$core$IEquiv$_equiv$arity$2=function(a,b){return cljs.core.equiv_sequential(this,b)};cljs.core.PersistentArrayMapSeq.prototype.cljs$core$IEmptyableCollection$_empty$arity$1=function(a){return cljs.core.List.EMPTY};cljs.core.PersistentArrayMapSeq.prototype.cljs$core$IReduce$_reduce$arity$2=function(a,b){return cljs.core.seq_reduce.cljs$core$IFn$_invoke$arity$2(b,this)};
cljs.core.PersistentArrayMapSeq.prototype.cljs$core$IReduce$_reduce$arity$3=function(a,b,c){return cljs.core.seq_reduce.cljs$core$IFn$_invoke$arity$3(b,c,this)};cljs.core.PersistentArrayMapSeq.prototype.cljs$core$ISeq$_first$arity$1=function(a){return new cljs.core.MapEntry(this.arr[this.i],this.arr[this.i+1],null)};cljs.core.PersistentArrayMapSeq.prototype.cljs$core$ISeq$_rest$arity$1=function(a){return this.i<this.arr.length-2?new cljs.core.PersistentArrayMapSeq(this.arr,this.i+2,null):cljs.core.List.EMPTY};
cljs.core.PersistentArrayMapSeq.prototype.cljs$core$ISeqable$_seq$arity$1=function(a){return this};cljs.core.PersistentArrayMapSeq.prototype.cljs$core$IWithMeta$_with_meta$arity$2=function(a,b){return b===this._meta?this:new cljs.core.PersistentArrayMapSeq(this.arr,this.i,b)};cljs.core.PersistentArrayMapSeq.prototype.cljs$core$ICollection$_conj$arity$2=function(a,b){return cljs.core.cons(b,this)};
cljs.core.PersistentArrayMapSeq.getBasis=function(){return new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"arr","arr",2115492975,null),new cljs.core.Symbol(null,"i","i",253690212,null),new cljs.core.Symbol(null,"_meta","_meta",-1716892533,null)],null)};cljs.core.PersistentArrayMapSeq.cljs$lang$type=!0;cljs.core.PersistentArrayMapSeq.cljs$lang$ctorStr="cljs.core/PersistentArrayMapSeq";
cljs.core.PersistentArrayMapSeq.cljs$lang$ctorPrWriter=function(a,b,c){return cljs.core._write(b,"cljs.core/PersistentArrayMapSeq")};cljs.core.__GT_PersistentArrayMapSeq=function(a,b,c){return new cljs.core.PersistentArrayMapSeq(a,b,c)};var G__23088_23091=cljs.core.PersistentArrayMapSeq.prototype,G__23089_23092=cljs.core.ITER_SYMBOL,G__23090_23093=function(a,b){return function(){return cljs.core.es6_iterator(this)}}(G__23088_23091,G__23089_23092);goog.object.set(G__23088_23091,G__23089_23092,G__23090_23093);
cljs.core.persistent_array_map_seq=function(a,b,c){return b<=a.length-2?new cljs.core.PersistentArrayMapSeq(a,b,c):null};cljs.core.PersistentArrayMapIterator=function(a,b,c){this.arr=a;this.i=b;this.cnt=c};cljs.core.PersistentArrayMapIterator.prototype.hasNext=function(){return this.i<this.cnt};cljs.core.PersistentArrayMapIterator.prototype.next=function(){var a=new cljs.core.MapEntry(this.arr[this.i],this.arr[this.i+1],null);this.i+=2;return a};
cljs.core.PersistentArrayMapIterator.getBasis=function(){return new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"arr","arr",2115492975,null),cljs.core.with_meta(new cljs.core.Symbol(null,"i","i",253690212,null),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"mutable","mutable",875778266),!0],null)),new cljs.core.Symbol(null,"cnt","cnt",1924510325,null)],null)};cljs.core.PersistentArrayMapIterator.cljs$lang$type=!0;
cljs.core.PersistentArrayMapIterator.cljs$lang$ctorStr="cljs.core/PersistentArrayMapIterator";cljs.core.PersistentArrayMapIterator.cljs$lang$ctorPrWriter=function(a,b,c){return cljs.core._write(b,"cljs.core/PersistentArrayMapIterator")};cljs.core.__GT_PersistentArrayMapIterator=function(a,b,c){return new cljs.core.PersistentArrayMapIterator(a,b,c)};
cljs.core.PersistentArrayMap=function(a,b,c,d){this.meta=a;this.cnt=b;this.arr=c;this.__hash=d;this.cljs$lang$protocol_mask$partition0$=16647951;this.cljs$lang$protocol_mask$partition1$=139268};cljs.core.PersistentArrayMap.prototype.cljs$core$IFind$=cljs.core.PROTOCOL_SENTINEL;cljs.core.PersistentArrayMap.prototype.cljs$core$IFind$_find$arity$2=function(a,b){a=cljs.core.array_map_index_of(this,b);return-1===a?null:new cljs.core.MapEntry(this.arr[a],this.arr[a+1],null)};
cljs.core.PersistentArrayMap.prototype.toString=function(){return cljs.core.pr_str_STAR_(this)};cljs.core.PersistentArrayMap.prototype.equiv=function(a){return this.cljs$core$IEquiv$_equiv$arity$2(null,a)};cljs.core.PersistentArrayMap.prototype.keys=function(){return cljs.core.es6_iterator(cljs.core.keys(this))};cljs.core.PersistentArrayMap.prototype.entries=function(){return cljs.core.es6_entries_iterator(cljs.core.seq(this))};cljs.core.PersistentArrayMap.prototype.values=function(){return cljs.core.es6_iterator(cljs.core.vals(this))};
cljs.core.PersistentArrayMap.prototype.has=function(a){return cljs.core.contains_QMARK_(this,a)};cljs.core.PersistentArrayMap.prototype.get=function(a,b){return this.cljs$core$ILookup$_lookup$arity$3(null,a,b)};
cljs.core.PersistentArrayMap.prototype.forEach=function(a){for(var b=cljs.core.seq(this),c=null,d=0,e=0;;)if(e<d){var f=c.cljs$core$IIndexed$_nth$arity$2(null,e),g=cljs.core.nth.cljs$core$IFn$_invoke$arity$3(f,0,null);f=cljs.core.nth.cljs$core$IFn$_invoke$arity$3(f,1,null);a.cljs$core$IFn$_invoke$arity$2?a.cljs$core$IFn$_invoke$arity$2(f,g):a.call(null,f,g);e+=1}else if(b=cljs.core.seq(b))cljs.core.chunked_seq_QMARK_(b)?(c=cljs.core.chunk_first(b),b=cljs.core.chunk_rest(b),g=c,d=cljs.core.count(c),
c=g):(c=cljs.core.first(b),g=cljs.core.nth.cljs$core$IFn$_invoke$arity$3(c,0,null),f=cljs.core.nth.cljs$core$IFn$_invoke$arity$3(c,1,null),a.cljs$core$IFn$_invoke$arity$2?a.cljs$core$IFn$_invoke$arity$2(f,g):a.call(null,f,g),b=cljs.core.next(b),c=null,d=0),e=0;else return null};cljs.core.PersistentArrayMap.prototype.cljs$core$ILookup$_lookup$arity$2=function(a,b){return this.cljs$core$ILookup$_lookup$arity$3(null,b,null)};
cljs.core.PersistentArrayMap.prototype.cljs$core$ILookup$_lookup$arity$3=function(a,b,c){a=cljs.core.array_map_index_of(this,b);return-1===a?c:this.arr[a+1]};cljs.core.PersistentArrayMap.prototype.cljs$core$IKVReduce$_kv_reduce$arity$3=function(a,b,c){a=this.arr.length;for(var d=0;;)if(d<a){var e=this.arr[d],f=this.arr[d+1];c=b.cljs$core$IFn$_invoke$arity$3?b.cljs$core$IFn$_invoke$arity$3(c,e,f):b.call(null,c,e,f);if(cljs.core.reduced_QMARK_(c))return cljs.core.deref(c);d+=2}else return c};
cljs.core.PersistentArrayMap.prototype.cljs$core$IIterable$_iterator$arity$1=function(a){return new cljs.core.PersistentArrayMapIterator(this.arr,0,2*this.cnt)};cljs.core.PersistentArrayMap.prototype.cljs$core$IMeta$_meta$arity$1=function(a){return this.meta};cljs.core.PersistentArrayMap.prototype.cljs$core$ICloneable$_clone$arity$1=function(a){return new cljs.core.PersistentArrayMap(this.meta,this.cnt,this.arr,this.__hash)};
cljs.core.PersistentArrayMap.prototype.cljs$core$ICounted$_count$arity$1=function(a){return this.cnt};cljs.core.PersistentArrayMap.prototype.cljs$core$IHash$_hash$arity$1=function(a){a=this.__hash;return null!=a?a:this.__hash=a=cljs.core.hash_unordered_coll(this)};
cljs.core.PersistentArrayMap.prototype.cljs$core$IEquiv$_equiv$arity$2=function(a,b){if(cljs.core.map_QMARK_(b)&&!cljs.core.record_QMARK_(b))if(a=this.arr.length,this.cnt===b.cljs$core$ICounted$_count$arity$1(null))for(var c=0;;)if(c<a){var d=b.cljs$core$ILookup$_lookup$arity$3(null,this.arr[c],cljs.core.lookup_sentinel);if(d!==cljs.core.lookup_sentinel)if(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(this.arr[c+1],d))c+=2;else return!1;else return!1}else return!0;else return!1;else return!1};
cljs.core.PersistentArrayMap.prototype.cljs$core$IEditableCollection$_as_transient$arity$1=function(a){return new cljs.core.TransientArrayMap({},this.arr.length,cljs.core.aclone(this.arr))};cljs.core.PersistentArrayMap.prototype.cljs$core$IEmptyableCollection$_empty$arity$1=function(a){return cljs.core._with_meta(cljs.core.PersistentArrayMap.EMPTY,this.meta)};
cljs.core.PersistentArrayMap.prototype.cljs$core$IReduce$_reduce$arity$2=function(a,b){return cljs.core.iter_reduce.cljs$core$IFn$_invoke$arity$2(this,b)};cljs.core.PersistentArrayMap.prototype.cljs$core$IReduce$_reduce$arity$3=function(a,b,c){return cljs.core.iter_reduce.cljs$core$IFn$_invoke$arity$3(this,b,c)};
cljs.core.PersistentArrayMap.prototype.cljs$core$IMap$_dissoc$arity$2=function(a,b){if(0<=cljs.core.array_map_index_of(this,b)){a=this.arr.length;var c=a-2;if(0===c)return this.cljs$core$IEmptyableCollection$_empty$arity$1(null);c=Array(c);for(var d=0,e=0;;){if(d>=a)return new cljs.core.PersistentArrayMap(this.meta,this.cnt-1,c,null);cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(b,this.arr[d])?d+=2:(c[e]=this.arr[d],c[e+1]=this.arr[d+1],e+=2,d+=2)}}else return this};
cljs.core.PersistentArrayMap.prototype.cljs$core$IAssociative$_assoc$arity$3=function(a,b,c){a=cljs.core.array_map_index_of(this,b);if(-1===a)return this.cnt<cljs.core.PersistentArrayMap.HASHMAP_THRESHOLD?(c=cljs.core.array_map_extend_kv(this,b,c),new cljs.core.PersistentArrayMap(this.meta,this.cnt+1,c,null)):cljs.core._with_meta(cljs.core._assoc(cljs.core.into.cljs$core$IFn$_invoke$arity$2(cljs.core.PersistentHashMap.EMPTY,this),b,c),this.meta);if(c===this.arr[a+1])return this;b=cljs.core.aclone(this.arr);
b[a+1]=c;return new cljs.core.PersistentArrayMap(this.meta,this.cnt,b,null)};cljs.core.PersistentArrayMap.prototype.cljs$core$IAssociative$_contains_key_QMARK_$arity$2=function(a,b){return-1!==cljs.core.array_map_index_of(this,b)};cljs.core.PersistentArrayMap.prototype.cljs$core$ISeqable$_seq$arity$1=function(a){return cljs.core.persistent_array_map_seq(this.arr,0,null)};
cljs.core.PersistentArrayMap.prototype.cljs$core$IWithMeta$_with_meta$arity$2=function(a,b){return b===this.meta?this:new cljs.core.PersistentArrayMap(b,this.cnt,this.arr,this.__hash)};
cljs.core.PersistentArrayMap.prototype.cljs$core$ICollection$_conj$arity$2=function(a,b){if(cljs.core.vector_QMARK_(b))return this.cljs$core$IAssociative$_assoc$arity$3(null,cljs.core._nth.cljs$core$IFn$_invoke$arity$2(b,0),cljs.core._nth.cljs$core$IFn$_invoke$arity$2(b,1));a=this;for(b=cljs.core.seq(b);;){if(null==b)return a;var c=cljs.core.first(b);if(cljs.core.vector_QMARK_(c))a=cljs.core._assoc(a,cljs.core._nth.cljs$core$IFn$_invoke$arity$2(c,0),cljs.core._nth.cljs$core$IFn$_invoke$arity$2(c,
1)),b=cljs.core.next(b);else throw Error("conj on a map takes map entries or seqables of map entries");}};
cljs.core.PersistentArrayMap.prototype.call=function(){var a=null;a=function(a,c,d){switch(arguments.length){case 2:return this.cljs$core$ILookup$_lookup$arity$2(null,c);case 3:return this.cljs$core$ILookup$_lookup$arity$3(null,c,d)}throw Error("Invalid arity: "+(arguments.length-1));};a.cljs$core$IFn$_invoke$arity$2=function(a,c){return this.cljs$core$ILookup$_lookup$arity$2(null,c)};a.cljs$core$IFn$_invoke$arity$3=function(a,c,d){return this.cljs$core$ILookup$_lookup$arity$3(null,c,d)};return a}();
cljs.core.PersistentArrayMap.prototype.apply=function(a,b){return this.call.apply(this,[this].concat(cljs.core.aclone(b)))};cljs.core.PersistentArrayMap.prototype.cljs$core$IFn$_invoke$arity$1=function(a){return this.cljs$core$ILookup$_lookup$arity$2(null,a)};cljs.core.PersistentArrayMap.prototype.cljs$core$IFn$_invoke$arity$2=function(a,b){return this.cljs$core$ILookup$_lookup$arity$3(null,a,b)};
cljs.core.PersistentArrayMap.getBasis=function(){return new cljs.core.PersistentVector(null,4,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"meta","meta",-1154898805,null),new cljs.core.Symbol(null,"cnt","cnt",1924510325,null),new cljs.core.Symbol(null,"arr","arr",2115492975,null),cljs.core.with_meta(new cljs.core.Symbol(null,"__hash","__hash",-1328796629,null),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"mutable","mutable",875778266),!0],null))],null)};
cljs.core.PersistentArrayMap.cljs$lang$type=!0;cljs.core.PersistentArrayMap.cljs$lang$ctorStr="cljs.core/PersistentArrayMap";cljs.core.PersistentArrayMap.cljs$lang$ctorPrWriter=function(a,b,c){return cljs.core._write(b,"cljs.core/PersistentArrayMap")};cljs.core.__GT_PersistentArrayMap=function(a,b,c,d){return new cljs.core.PersistentArrayMap(a,b,c,d)};cljs.core.PersistentArrayMap.EMPTY=new cljs.core.PersistentArrayMap(null,0,[],cljs.core.empty_unordered_hash);
cljs.core.PersistentArrayMap.HASHMAP_THRESHOLD=8;cljs.core.PersistentArrayMap.fromArray=function(a,b,c){a=b?a:cljs.core.aclone(a);if(!c){c=[];for(b=0;;)if(b<a.length){var d=a[b],e=a[b+1];-1===cljs.core.array_index_of(c,d)&&(c.push(d),c.push(e));b+=2}else break;a=c}return new cljs.core.PersistentArrayMap(null,a.length/2,a,null)};
cljs.core.PersistentArrayMap.createWithCheck=function(a){for(var b=[],c=0;;)if(c<a.length){var d=a[c],e=a[c+1];if(-1===cljs.core.array_index_of(b,d)){var f=b;f.push(d);f.push(e)}else throw Error(["Duplicate key: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(d)].join(""));c+=2}else break;return new cljs.core.PersistentArrayMap(null,a.length/2,a,null)};
cljs.core.PersistentArrayMap.createAsIfByAssoc=function(a){for(var b=[],c=0;;)if(c<a.length){var d=a[c],e=a[c+1],f=cljs.core.array_index_of(b,d);-1===f?(f=b,f.push(d),f.push(e)):b[f+1]=e;c+=2}else break;return new cljs.core.PersistentArrayMap(null,b.length/2,b,null)};var G__23158_23161=cljs.core.PersistentArrayMap.prototype,G__23159_23162=cljs.core.ITER_SYMBOL,G__23160_23163=function(a,b){return function(){return cljs.core.es6_iterator(this)}}(G__23158_23161,G__23159_23162);
goog.object.set(G__23158_23161,G__23159_23162,G__23160_23163);cljs.core.TransientArrayMap=function(a,b,c){this.editable_QMARK_=a;this.len=b;this.arr=c;this.cljs$lang$protocol_mask$partition0$=259;this.cljs$lang$protocol_mask$partition1$=56};cljs.core.TransientArrayMap.prototype.cljs$core$ICounted$_count$arity$1=function(a){if(cljs.core.truth_(this.editable_QMARK_))return cljs.core.quot(this.len,2);throw Error("count after persistent!");};
cljs.core.TransientArrayMap.prototype.cljs$core$ILookup$_lookup$arity$2=function(a,b){return this.cljs$core$ILookup$_lookup$arity$3(null,b,null)};cljs.core.TransientArrayMap.prototype.cljs$core$ILookup$_lookup$arity$3=function(a,b,c){if(cljs.core.truth_(this.editable_QMARK_))return a=cljs.core.array_map_index_of(this,b),-1===a?c:this.arr[a+1];throw Error("lookup after persistent!");};
cljs.core.TransientArrayMap.prototype.cljs$core$ITransientCollection$_conj_BANG_$arity$2=function(a,b){if(cljs.core.truth_(this.editable_QMARK_)){if(cljs.core.map_entry_QMARK_(b))return this.cljs$core$ITransientAssociative$_assoc_BANG_$arity$3(null,cljs.core.key(b),cljs.core.val(b));if(cljs.core.vector_QMARK_(b))return this.cljs$core$ITransientAssociative$_assoc_BANG_$arity$3(null,b.cljs$core$IFn$_invoke$arity$1?b.cljs$core$IFn$_invoke$arity$1(0):b.call(null,0),b.cljs$core$IFn$_invoke$arity$1?b.cljs$core$IFn$_invoke$arity$1(1):
b.call(null,1));a=cljs.core.seq(b);for(b=this;;){var c=cljs.core.first(a);if(cljs.core.truth_(c))a=cljs.core.next(a),b=cljs.core._assoc_BANG_(b,cljs.core.key(c),cljs.core.val(c));else return b}}else throw Error("conj! after persistent!");};
cljs.core.TransientArrayMap.prototype.cljs$core$ITransientCollection$_persistent_BANG_$arity$1=function(a){if(cljs.core.truth_(this.editable_QMARK_))return this.editable_QMARK_=!1,new cljs.core.PersistentArrayMap(null,cljs.core.quot(this.len,2),this.arr,null);throw Error("persistent! called twice");};
cljs.core.TransientArrayMap.prototype.cljs$core$ITransientAssociative$_assoc_BANG_$arity$3=function(a,b,c){if(cljs.core.truth_(this.editable_QMARK_)){a=cljs.core.array_map_index_of(this,b);if(-1===a)return this.len+2<=2*cljs.core.PersistentArrayMap.HASHMAP_THRESHOLD?(this.len+=2,this.arr.push(b),this.arr.push(c),this):cljs.core.assoc_BANG_.cljs$core$IFn$_invoke$arity$3(cljs.core.array__GT_transient_hash_map(this.len,this.arr),b,c);c!==this.arr[a+1]&&(this.arr[a+1]=c);return this}throw Error("assoc! after persistent!");
};cljs.core.TransientArrayMap.prototype.cljs$core$ITransientMap$_dissoc_BANG_$arity$2=function(a,b){if(cljs.core.truth_(this.editable_QMARK_))return a=cljs.core.array_map_index_of(this,b),0<=a&&(this.arr[a]=this.arr[this.len-2],this.arr[a+1]=this.arr[this.len-1],a=this.arr,a.pop(),a.pop(),this.len-=2),this;throw Error("dissoc! after persistent!");};
cljs.core.TransientArrayMap.prototype.call=function(){var a=null;a=function(a,c,d){switch(arguments.length){case 2:return this.cljs$core$ILookup$_lookup$arity$3(null,c,null);case 3:return this.cljs$core$ILookup$_lookup$arity$3(null,c,d)}throw Error("Invalid arity: "+(arguments.length-1));};a.cljs$core$IFn$_invoke$arity$2=function(a,c){return this.cljs$core$ILookup$_lookup$arity$3(null,c,null)};a.cljs$core$IFn$_invoke$arity$3=function(a,c,d){return this.cljs$core$ILookup$_lookup$arity$3(null,c,d)};
return a}();cljs.core.TransientArrayMap.prototype.apply=function(a,b){return this.call.apply(this,[this].concat(cljs.core.aclone(b)))};cljs.core.TransientArrayMap.prototype.cljs$core$IFn$_invoke$arity$1=function(a){return this.cljs$core$ILookup$_lookup$arity$3(null,a,null)};cljs.core.TransientArrayMap.prototype.cljs$core$IFn$_invoke$arity$2=function(a,b){return this.cljs$core$ILookup$_lookup$arity$3(null,a,b)};
cljs.core.TransientArrayMap.getBasis=function(){return new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,[cljs.core.with_meta(new cljs.core.Symbol(null,"editable?","editable?",-164945806,null),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"mutable","mutable",875778266),!0],null)),cljs.core.with_meta(new cljs.core.Symbol(null,"len","len",-1230778691,null),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"mutable","mutable",875778266),
!0],null)),new cljs.core.Symbol(null,"arr","arr",2115492975,null)],null)};cljs.core.TransientArrayMap.cljs$lang$type=!0;cljs.core.TransientArrayMap.cljs$lang$ctorStr="cljs.core/TransientArrayMap";cljs.core.TransientArrayMap.cljs$lang$ctorPrWriter=function(a,b,c){return cljs.core._write(b,"cljs.core/TransientArrayMap")};cljs.core.__GT_TransientArrayMap=function(a,b,c){return new cljs.core.TransientArrayMap(a,b,c)};
cljs.core.array__GT_transient_hash_map=function(a,b){for(var c=cljs.core.transient$(cljs.core.PersistentHashMap.EMPTY),d=0;;)if(d<a)c=cljs.core.assoc_BANG_.cljs$core$IFn$_invoke$arity$3(c,b[d],b[d+1]),d+=2;else return c};cljs.core.Box=function(a){this.val=a};
cljs.core.Box.getBasis=function(){return new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[cljs.core.with_meta(new cljs.core.Symbol(null,"val","val",1769233139,null),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"mutable","mutable",875778266),!0],null))],null)};cljs.core.Box.cljs$lang$type=!0;cljs.core.Box.cljs$lang$ctorStr="cljs.core/Box";cljs.core.Box.cljs$lang$ctorPrWriter=function(a,b,c){return cljs.core._write(b,"cljs.core/Box")};
cljs.core.__GT_Box=function(a){return new cljs.core.Box(a)};cljs.core.key_test=function(a,b){return a===b?!0:cljs.core.keyword_identical_QMARK_(a,b)?!0:cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(a,b)};cljs.core.mask=function(a,b){return a>>>b&31};
cljs.core.clone_and_set=function(a){switch(arguments.length){case 3:return cljs.core.clone_and_set.cljs$core$IFn$_invoke$arity$3(arguments[0],arguments[1],arguments[2]);case 5:return cljs.core.clone_and_set.cljs$core$IFn$_invoke$arity$5(arguments[0],arguments[1],arguments[2],arguments[3],arguments[4]);default:throw Error(["Invalid arity: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(""));}};
cljs.core.clone_and_set.cljs$core$IFn$_invoke$arity$3=function(a,b,c){a=cljs.core.aclone(a);a[b]=c;return a};cljs.core.clone_and_set.cljs$core$IFn$_invoke$arity$5=function(a,b,c,d,e){a=cljs.core.aclone(a);a[b]=c;a[d]=e;return a};cljs.core.clone_and_set.cljs$lang$maxFixedArity=5;cljs.core.remove_pair=function(a,b){var c=Array(a.length-2);cljs.core.array_copy(a,0,c,0,2*b);cljs.core.array_copy(a,2*(b+1),c,2*b,c.length-2*b);return c};
cljs.core.bitmap_indexed_node_index=function(a,b){return cljs.core.bit_count(a&b-1)};cljs.core.bitpos=function(a,b){return 1<<(a>>>b&31)};
cljs.core.edit_and_set=function(a){switch(arguments.length){case 4:return cljs.core.edit_and_set.cljs$core$IFn$_invoke$arity$4(arguments[0],arguments[1],arguments[2],arguments[3]);case 6:return cljs.core.edit_and_set.cljs$core$IFn$_invoke$arity$6(arguments[0],arguments[1],arguments[2],arguments[3],arguments[4],arguments[5]);default:throw Error(["Invalid arity: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(""));}};
cljs.core.edit_and_set.cljs$core$IFn$_invoke$arity$4=function(a,b,c,d){a=a.ensure_editable(b);a.arr[c]=d;return a};cljs.core.edit_and_set.cljs$core$IFn$_invoke$arity$6=function(a,b,c,d,e,f){a=a.ensure_editable(b);a.arr[c]=d;a.arr[e]=f;return a};cljs.core.edit_and_set.cljs$lang$maxFixedArity=6;
cljs.core.inode_kv_reduce=function(a,b,c){for(var d=a.length,e=0,f=c;;)if(e<d){c=a[e];if(null!=c){var g=a[e+1];c=b.cljs$core$IFn$_invoke$arity$3?b.cljs$core$IFn$_invoke$arity$3(f,c,g):b.call(null,f,c,g)}else c=a[e+1],c=null!=c?c.kv_reduce(b,f):f;if(cljs.core.reduced_QMARK_(c))return c;e+=2;f=c}else return f};cljs.core.NodeIterator=function(a,b,c,d){this.arr=a;this.i=b;this.next_entry=c;this.next_iter=d};
cljs.core.NodeIterator.prototype.advance=function(){for(var a=this.arr.length;;)if(this.i<a){var b=this.arr[this.i],c=this.arr[this.i+1];null!=b?b=this.next_entry=new cljs.core.MapEntry(b,c,null):null!=c?(b=cljs.core._iterator(c),b=b.hasNext()?this.next_iter=b:!1):b=!1;this.i+=2;if(b)return!0}else return!1};cljs.core.NodeIterator.prototype.hasNext=function(){var a=null!=this.next_entry;return a?a:(a=null!=this.next_iter)?a:this.advance()};
cljs.core.NodeIterator.prototype.next=function(){if(null!=this.next_entry){var a=this.next_entry;this.next_entry=null;return a}if(null!=this.next_iter)return a=this.next_iter.next(),this.next_iter.hasNext()||(this.next_iter=null),a;if(this.advance())return this.next();throw Error("No such element");};cljs.core.NodeIterator.prototype.remove=function(){return Error("Unsupported operation")};
cljs.core.NodeIterator.getBasis=function(){return new cljs.core.PersistentVector(null,4,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"arr","arr",2115492975,null),cljs.core.with_meta(new cljs.core.Symbol(null,"i","i",253690212,null),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"mutable","mutable",875778266),!0],null)),cljs.core.with_meta(new cljs.core.Symbol(null,"next-entry","next-entry",1091342476,null),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,
"mutable","mutable",875778266),!0],null)),cljs.core.with_meta(new cljs.core.Symbol(null,"next-iter","next-iter",1526626239,null),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"mutable","mutable",875778266),!0],null))],null)};cljs.core.NodeIterator.cljs$lang$type=!0;cljs.core.NodeIterator.cljs$lang$ctorStr="cljs.core/NodeIterator";cljs.core.NodeIterator.cljs$lang$ctorPrWriter=function(a,b,c){return cljs.core._write(b,"cljs.core/NodeIterator")};
cljs.core.__GT_NodeIterator=function(a,b,c,d){return new cljs.core.NodeIterator(a,b,c,d)};cljs.core.BitmapIndexedNode=function(a,b,c){this.edit=a;this.bitmap=b;this.arr=c;this.cljs$lang$protocol_mask$partition1$=131072;this.cljs$lang$protocol_mask$partition0$=0};
cljs.core.BitmapIndexedNode.prototype.ensure_editable=function(a){if(a===this.edit)return this;var b=cljs.core.bit_count(this.bitmap),c=Array(0>b?4:2*(b+1));cljs.core.array_copy(this.arr,0,c,0,2*b);return new cljs.core.BitmapIndexedNode(a,this.bitmap,c)};
cljs.core.BitmapIndexedNode.prototype.inode_without_BANG_=function(a,b,c,d,e){var f=1<<(c>>>b&31);if(0===(this.bitmap&f))return this;var g=cljs.core.bitmap_indexed_node_index(this.bitmap,f),h=this.arr[2*g],k=this.arr[2*g+1];return null==h?(b=k.inode_without_BANG_(a,b+5,c,d,e),b===k?this:null!=b?cljs.core.edit_and_set.cljs$core$IFn$_invoke$arity$4(this,a,2*g+1,b):this.bitmap===f?null:this.edit_and_remove_pair(a,f,g)):cljs.core.key_test(d,h)?(e.val=!0,this.edit_and_remove_pair(a,f,g)):this};
cljs.core.BitmapIndexedNode.prototype.edit_and_remove_pair=function(a,b,c){if(this.bitmap===b)return null;a=this.ensure_editable(a);var d=a.arr,e=d.length;a.bitmap^=b;cljs.core.array_copy(d,2*(c+1),d,2*c,e-2*(c+1));d[e-2]=null;d[e-1]=null;return a};cljs.core.BitmapIndexedNode.prototype.inode_seq=function(){return cljs.core.create_inode_seq.cljs$core$IFn$_invoke$arity$1(this.arr)};cljs.core.BitmapIndexedNode.prototype.kv_reduce=function(a,b){return cljs.core.inode_kv_reduce(this.arr,a,b)};
cljs.core.BitmapIndexedNode.prototype.inode_lookup=function(a,b,c,d){var e=1<<(b>>>a&31);if(0===(this.bitmap&e))return d;var f=cljs.core.bitmap_indexed_node_index(this.bitmap,e);e=this.arr[2*f];f=this.arr[2*f+1];return null==e?f.inode_lookup(a+5,b,c,d):cljs.core.key_test(c,e)?f:d};
cljs.core.BitmapIndexedNode.prototype.inode_assoc_BANG_=function(a,b,c,d,e,f){var g=1<<(c>>>b&31),h=cljs.core.bitmap_indexed_node_index(this.bitmap,g);if(0===(this.bitmap&g)){var k=cljs.core.bit_count(this.bitmap);if(2*k<this.arr.length)return a=this.ensure_editable(a),b=a.arr,f.val=!0,cljs.core.array_copy_downward(b,2*h,b,2*(h+1),2*(k-h)),b[2*h]=d,b[2*h+1]=e,a.bitmap|=g,a;if(16<=k){h=[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,
null,null,null,null,null,null,null,null,null];h[c>>>b&31]=cljs.core.BitmapIndexedNode.EMPTY.inode_assoc_BANG_(a,b+5,c,d,e,f);for(e=d=0;;)if(32>d)0===(this.bitmap>>>d&1)?d+=1:(h[d]=null!=this.arr[e]?cljs.core.BitmapIndexedNode.EMPTY.inode_assoc_BANG_(a,b+5,cljs.core.hash(this.arr[e]),this.arr[e],this.arr[e+1],f):this.arr[e+1],e+=2,d+=1);else break;return new cljs.core.ArrayNode(a,k+1,h)}b=Array(2*(k+4));cljs.core.array_copy(this.arr,0,b,0,2*h);b[2*h]=d;b[2*h+1]=e;cljs.core.array_copy(this.arr,2*h,
b,2*(h+1),2*(k-h));f.val=!0;a=this.ensure_editable(a);a.arr=b;a.bitmap|=g;return a}k=this.arr[2*h];g=this.arr[2*h+1];if(null==k)return k=g.inode_assoc_BANG_(a,b+5,c,d,e,f),k===g?this:cljs.core.edit_and_set.cljs$core$IFn$_invoke$arity$4(this,a,2*h+1,k);if(cljs.core.key_test(d,k))return e===g?this:cljs.core.edit_and_set.cljs$core$IFn$_invoke$arity$4(this,a,2*h+1,e);f.val=!0;return cljs.core.edit_and_set.cljs$core$IFn$_invoke$arity$6(this,a,2*h,null,2*h+1,cljs.core.create_node.cljs$core$IFn$_invoke$arity$7(a,
b+5,k,g,c,d,e))};
cljs.core.BitmapIndexedNode.prototype.inode_assoc=function(a,b,c,d,e){var f=1<<(b>>>a&31),g=cljs.core.bitmap_indexed_node_index(this.bitmap,f);if(0===(this.bitmap&f)){var h=cljs.core.bit_count(this.bitmap);if(16<=h){g=[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null];g[b>>>a&31]=cljs.core.BitmapIndexedNode.EMPTY.inode_assoc(a+5,b,c,d,e);for(d=c=0;;)if(32>c)0===(this.bitmap>>>c&1)?c+=1:(g[c]=
null!=this.arr[d]?cljs.core.BitmapIndexedNode.EMPTY.inode_assoc(a+5,cljs.core.hash(this.arr[d]),this.arr[d],this.arr[d+1],e):this.arr[d+1],d+=2,c+=1);else break;return new cljs.core.ArrayNode(null,h+1,g)}a=Array(2*(h+1));cljs.core.array_copy(this.arr,0,a,0,2*g);a[2*g]=c;a[2*g+1]=d;cljs.core.array_copy(this.arr,2*g,a,2*(g+1),2*(h-g));e.val=!0;return new cljs.core.BitmapIndexedNode(null,this.bitmap|f,a)}h=this.arr[2*g];f=this.arr[2*g+1];if(null==h)return h=f.inode_assoc(a+5,b,c,d,e),h===f?this:new cljs.core.BitmapIndexedNode(null,
this.bitmap,cljs.core.clone_and_set.cljs$core$IFn$_invoke$arity$3(this.arr,2*g+1,h));if(cljs.core.key_test(c,h))return d===f?this:new cljs.core.BitmapIndexedNode(null,this.bitmap,cljs.core.clone_and_set.cljs$core$IFn$_invoke$arity$3(this.arr,2*g+1,d));e.val=!0;return new cljs.core.BitmapIndexedNode(null,this.bitmap,cljs.core.clone_and_set.cljs$core$IFn$_invoke$arity$5(this.arr,2*g,null,2*g+1,cljs.core.create_node.cljs$core$IFn$_invoke$arity$6(a+5,h,f,b,c,d)))};
cljs.core.BitmapIndexedNode.prototype.inode_find=function(a,b,c,d){var e=1<<(b>>>a&31);if(0===(this.bitmap&e))return d;var f=cljs.core.bitmap_indexed_node_index(this.bitmap,e);e=this.arr[2*f];f=this.arr[2*f+1];return null==e?f.inode_find(a+5,b,c,d):cljs.core.key_test(c,e)?new cljs.core.MapEntry(e,f,null):d};
cljs.core.BitmapIndexedNode.prototype.inode_without=function(a,b,c){var d=1<<(b>>>a&31);if(0===(this.bitmap&d))return this;var e=cljs.core.bitmap_indexed_node_index(this.bitmap,d),f=this.arr[2*e],g=this.arr[2*e+1];return null==f?(a=g.inode_without(a+5,b,c),a===g?this:null!=a?new cljs.core.BitmapIndexedNode(null,this.bitmap,cljs.core.clone_and_set.cljs$core$IFn$_invoke$arity$3(this.arr,2*e+1,a)):this.bitmap===d?null:new cljs.core.BitmapIndexedNode(null,this.bitmap^d,cljs.core.remove_pair(this.arr,
e))):cljs.core.key_test(c,f)?new cljs.core.BitmapIndexedNode(null,this.bitmap^d,cljs.core.remove_pair(this.arr,e)):this};cljs.core.BitmapIndexedNode.prototype.cljs$core$IIterable$_iterator$arity$1=function(a){return new cljs.core.NodeIterator(this.arr,0,null,null)};
cljs.core.BitmapIndexedNode.getBasis=function(){return new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"edit","edit",-1302639,null),cljs.core.with_meta(new cljs.core.Symbol(null,"bitmap","bitmap",501334601,null),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"mutable","mutable",875778266),!0],null)),cljs.core.with_meta(new cljs.core.Symbol(null,"arr","arr",2115492975,null),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,
"mutable","mutable",875778266),!0],null))],null)};cljs.core.BitmapIndexedNode.cljs$lang$type=!0;cljs.core.BitmapIndexedNode.cljs$lang$ctorStr="cljs.core/BitmapIndexedNode";cljs.core.BitmapIndexedNode.cljs$lang$ctorPrWriter=function(a,b,c){return cljs.core._write(b,"cljs.core/BitmapIndexedNode")};cljs.core.__GT_BitmapIndexedNode=function(a,b,c){return new cljs.core.BitmapIndexedNode(a,b,c)};cljs.core.BitmapIndexedNode.EMPTY=new cljs.core.BitmapIndexedNode(null,0,[]);
cljs.core.pack_array_node=function(a,b,c){var d=a.arr,e=d.length;a=Array(2*(a.cnt-1));for(var f=0,g=1,h=0;;)if(f<e)f!==c&&null!=d[f]?(a[g]=d[f],g+=2,h|=1<<f,f+=1):f+=1;else return new cljs.core.BitmapIndexedNode(b,h,a)};cljs.core.ArrayNodeIterator=function(a,b,c){this.arr=a;this.i=b;this.next_iter=c};
cljs.core.ArrayNodeIterator.prototype.hasNext=function(){for(var a=this.arr.length;;){if(null!=this.next_iter&&this.next_iter.hasNext())return!0;if(this.i<a){var b=this.arr[this.i];this.i+=1;null!=b&&(this.next_iter=cljs.core._iterator(b))}else return!1}};cljs.core.ArrayNodeIterator.prototype.next=function(){if(this.hasNext())return this.next_iter.next();throw Error("No such element");};cljs.core.ArrayNodeIterator.prototype.remove=function(){return Error("Unsupported operation")};
cljs.core.ArrayNodeIterator.getBasis=function(){return new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"arr","arr",2115492975,null),cljs.core.with_meta(new cljs.core.Symbol(null,"i","i",253690212,null),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"mutable","mutable",875778266),!0],null)),cljs.core.with_meta(new cljs.core.Symbol(null,"next-iter","next-iter",1526626239,null),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,
"mutable","mutable",875778266),!0],null))],null)};cljs.core.ArrayNodeIterator.cljs$lang$type=!0;cljs.core.ArrayNodeIterator.cljs$lang$ctorStr="cljs.core/ArrayNodeIterator";cljs.core.ArrayNodeIterator.cljs$lang$ctorPrWriter=function(a,b,c){return cljs.core._write(b,"cljs.core/ArrayNodeIterator")};cljs.core.__GT_ArrayNodeIterator=function(a,b,c){return new cljs.core.ArrayNodeIterator(a,b,c)};
cljs.core.ArrayNode=function(a,b,c){this.edit=a;this.cnt=b;this.arr=c;this.cljs$lang$protocol_mask$partition1$=131072;this.cljs$lang$protocol_mask$partition0$=0};cljs.core.ArrayNode.prototype.ensure_editable=function(a){return a===this.edit?this:new cljs.core.ArrayNode(a,this.cnt,cljs.core.aclone(this.arr))};
cljs.core.ArrayNode.prototype.inode_without_BANG_=function(a,b,c,d,e){var f=c>>>b&31,g=this.arr[f];if(null==g)return this;b=g.inode_without_BANG_(a,b+5,c,d,e);if(b===g)return this;if(null==b){if(8>=this.cnt)return cljs.core.pack_array_node(this,a,f);a=cljs.core.edit_and_set.cljs$core$IFn$_invoke$arity$4(this,a,f,b);--a.cnt;return a}return cljs.core.edit_and_set.cljs$core$IFn$_invoke$arity$4(this,a,f,b)};cljs.core.ArrayNode.prototype.inode_seq=function(){return cljs.core.create_array_node_seq.cljs$core$IFn$_invoke$arity$1(this.arr)};
cljs.core.ArrayNode.prototype.kv_reduce=function(a,b){for(var c=this.arr.length,d=0;;)if(d<c){var e=this.arr[d];if(null!=e){b=e.kv_reduce(a,b);if(cljs.core.reduced_QMARK_(b))return b;d+=1}else d+=1}else return b};cljs.core.ArrayNode.prototype.inode_lookup=function(a,b,c,d){var e=this.arr[b>>>a&31];return null!=e?e.inode_lookup(a+5,b,c,d):d};
cljs.core.ArrayNode.prototype.inode_assoc_BANG_=function(a,b,c,d,e,f){var g=c>>>b&31,h=this.arr[g];if(null==h)return a=cljs.core.edit_and_set.cljs$core$IFn$_invoke$arity$4(this,a,g,cljs.core.BitmapIndexedNode.EMPTY.inode_assoc_BANG_(a,b+5,c,d,e,f)),a.cnt+=1,a;b=h.inode_assoc_BANG_(a,b+5,c,d,e,f);return b===h?this:cljs.core.edit_and_set.cljs$core$IFn$_invoke$arity$4(this,a,g,b)};
cljs.core.ArrayNode.prototype.inode_assoc=function(a,b,c,d,e){var f=b>>>a&31,g=this.arr[f];if(null==g)return new cljs.core.ArrayNode(null,this.cnt+1,cljs.core.clone_and_set.cljs$core$IFn$_invoke$arity$3(this.arr,f,cljs.core.BitmapIndexedNode.EMPTY.inode_assoc(a+5,b,c,d,e)));a=g.inode_assoc(a+5,b,c,d,e);return a===g?this:new cljs.core.ArrayNode(null,this.cnt,cljs.core.clone_and_set.cljs$core$IFn$_invoke$arity$3(this.arr,f,a))};
cljs.core.ArrayNode.prototype.inode_find=function(a,b,c,d){var e=this.arr[b>>>a&31];return null!=e?e.inode_find(a+5,b,c,d):d};
cljs.core.ArrayNode.prototype.inode_without=function(a,b,c){var d=b>>>a&31,e=this.arr[d];return null!=e?(a=e.inode_without(a+5,b,c),a===e?this:null==a?8>=this.cnt?cljs.core.pack_array_node(this,null,d):new cljs.core.ArrayNode(null,this.cnt-1,cljs.core.clone_and_set.cljs$core$IFn$_invoke$arity$3(this.arr,d,a)):new cljs.core.ArrayNode(null,this.cnt,cljs.core.clone_and_set.cljs$core$IFn$_invoke$arity$3(this.arr,d,a))):this};
cljs.core.ArrayNode.prototype.cljs$core$IIterable$_iterator$arity$1=function(a){return new cljs.core.ArrayNodeIterator(this.arr,0,null)};
cljs.core.ArrayNode.getBasis=function(){return new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"edit","edit",-1302639,null),cljs.core.with_meta(new cljs.core.Symbol(null,"cnt","cnt",1924510325,null),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"mutable","mutable",875778266),!0],null)),cljs.core.with_meta(new cljs.core.Symbol(null,"arr","arr",2115492975,null),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,
"mutable","mutable",875778266),!0],null))],null)};cljs.core.ArrayNode.cljs$lang$type=!0;cljs.core.ArrayNode.cljs$lang$ctorStr="cljs.core/ArrayNode";cljs.core.ArrayNode.cljs$lang$ctorPrWriter=function(a,b,c){return cljs.core._write(b,"cljs.core/ArrayNode")};cljs.core.__GT_ArrayNode=function(a,b,c){return new cljs.core.ArrayNode(a,b,c)};cljs.core.hash_collision_node_find_index=function(a,b,c){b*=2;for(var d=0;;)if(d<b){if(cljs.core.key_test(c,a[d]))return d;d+=2}else return-1};
cljs.core.HashCollisionNode=function(a,b,c,d){this.edit=a;this.collision_hash=b;this.cnt=c;this.arr=d;this.cljs$lang$protocol_mask$partition1$=131072;this.cljs$lang$protocol_mask$partition0$=0};cljs.core.HashCollisionNode.prototype.ensure_editable=function(a){if(a===this.edit)return this;var b=Array(2*(this.cnt+1));cljs.core.array_copy(this.arr,0,b,0,2*this.cnt);return new cljs.core.HashCollisionNode(a,this.collision_hash,this.cnt,b)};
cljs.core.HashCollisionNode.prototype.inode_without_BANG_=function(a,b,c,d,e){b=cljs.core.hash_collision_node_find_index(this.arr,this.cnt,d);if(-1===b)return this;e.val=!0;if(1===this.cnt)return null;a=this.ensure_editable(a);e=a.arr;e[b]=e[2*this.cnt-2];e[b+1]=e[2*this.cnt-1];e[2*this.cnt-1]=null;e[2*this.cnt-2]=null;--a.cnt;return a};cljs.core.HashCollisionNode.prototype.inode_seq=function(){return cljs.core.create_inode_seq.cljs$core$IFn$_invoke$arity$1(this.arr)};
cljs.core.HashCollisionNode.prototype.kv_reduce=function(a,b){return cljs.core.inode_kv_reduce(this.arr,a,b)};cljs.core.HashCollisionNode.prototype.inode_lookup=function(a,b,c,d){a=cljs.core.hash_collision_node_find_index(this.arr,this.cnt,c);return 0>a?d:cljs.core.key_test(c,this.arr[a])?this.arr[a+1]:d};
cljs.core.HashCollisionNode.prototype.inode_assoc_BANG_=function(a,b,c,d,e,f){if(c===this.collision_hash){b=cljs.core.hash_collision_node_find_index(this.arr,this.cnt,d);if(-1===b){if(this.arr.length>2*this.cnt)return a=cljs.core.edit_and_set.cljs$core$IFn$_invoke$arity$6(this,a,2*this.cnt,d,2*this.cnt+1,e),f.val=!0,a.cnt+=1,a;b=this.arr.length;c=Array(b+2);cljs.core.array_copy(this.arr,0,c,0,b);c[b]=d;c[b+1]=e;f.val=!0;return this.ensure_editable_array(a,this.cnt+1,c)}return this.arr[b+1]===e?this:
cljs.core.edit_and_set.cljs$core$IFn$_invoke$arity$4(this,a,b+1,e)}return(new cljs.core.BitmapIndexedNode(a,1<<(this.collision_hash>>>b&31),[null,this,null,null])).inode_assoc_BANG_(a,b,c,d,e,f)};
cljs.core.HashCollisionNode.prototype.inode_assoc=function(a,b,c,d,e){return b===this.collision_hash?(a=cljs.core.hash_collision_node_find_index(this.arr,this.cnt,c),-1===a?(a=2*this.cnt,b=Array(a+2),cljs.core.array_copy(this.arr,0,b,0,a),b[a]=c,b[a+1]=d,e.val=!0,new cljs.core.HashCollisionNode(null,this.collision_hash,this.cnt+1,b)):cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(this.arr[a+1],d)?this:new cljs.core.HashCollisionNode(null,this.collision_hash,this.cnt,cljs.core.clone_and_set.cljs$core$IFn$_invoke$arity$3(this.arr,
a+1,d))):(new cljs.core.BitmapIndexedNode(null,1<<(this.collision_hash>>>a&31),[null,this])).inode_assoc(a,b,c,d,e)};cljs.core.HashCollisionNode.prototype.ensure_editable_array=function(a,b,c){return a===this.edit?(this.arr=c,this.cnt=b,this):new cljs.core.HashCollisionNode(this.edit,this.collision_hash,b,c)};
cljs.core.HashCollisionNode.prototype.inode_find=function(a,b,c,d){a=cljs.core.hash_collision_node_find_index(this.arr,this.cnt,c);return 0>a?d:cljs.core.key_test(c,this.arr[a])?new cljs.core.MapEntry(this.arr[a],this.arr[a+1],null):d};
cljs.core.HashCollisionNode.prototype.inode_without=function(a,b,c){a=cljs.core.hash_collision_node_find_index(this.arr,this.cnt,c);return-1===a?this:1===this.cnt?null:new cljs.core.HashCollisionNode(null,this.collision_hash,this.cnt-1,cljs.core.remove_pair(this.arr,cljs.core.quot(a,2)))};cljs.core.HashCollisionNode.prototype.cljs$core$IIterable$_iterator$arity$1=function(a){return new cljs.core.NodeIterator(this.arr,0,null,null)};
cljs.core.HashCollisionNode.getBasis=function(){return new cljs.core.PersistentVector(null,4,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"edit","edit",-1302639,null),cljs.core.with_meta(new cljs.core.Symbol(null,"collision-hash","collision-hash",-35831342,null),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"mutable","mutable",875778266),!0],null)),cljs.core.with_meta(new cljs.core.Symbol(null,"cnt","cnt",1924510325,null),new cljs.core.PersistentArrayMap(null,
1,[new cljs.core.Keyword(null,"mutable","mutable",875778266),!0],null)),cljs.core.with_meta(new cljs.core.Symbol(null,"arr","arr",2115492975,null),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"mutable","mutable",875778266),!0],null))],null)};cljs.core.HashCollisionNode.cljs$lang$type=!0;cljs.core.HashCollisionNode.cljs$lang$ctorStr="cljs.core/HashCollisionNode";cljs.core.HashCollisionNode.cljs$lang$ctorPrWriter=function(a,b,c){return cljs.core._write(b,"cljs.core/HashCollisionNode")};
cljs.core.__GT_HashCollisionNode=function(a,b,c,d){return new cljs.core.HashCollisionNode(a,b,c,d)};
cljs.core.create_node=function(a){switch(arguments.length){case 6:return cljs.core.create_node.cljs$core$IFn$_invoke$arity$6(arguments[0],arguments[1],arguments[2],arguments[3],arguments[4],arguments[5]);case 7:return cljs.core.create_node.cljs$core$IFn$_invoke$arity$7(arguments[0],arguments[1],arguments[2],arguments[3],arguments[4],arguments[5],arguments[6]);default:throw Error(["Invalid arity: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(""));}};
cljs.core.create_node.cljs$core$IFn$_invoke$arity$6=function(a,b,c,d,e,f){var g=cljs.core.hash(b);if(g===d)return new cljs.core.HashCollisionNode(null,g,2,[b,c,e,f]);var h=new cljs.core.Box(!1);return cljs.core.BitmapIndexedNode.EMPTY.inode_assoc(a,g,b,c,h).inode_assoc(a,d,e,f,h)};
cljs.core.create_node.cljs$core$IFn$_invoke$arity$7=function(a,b,c,d,e,f,g){var h=cljs.core.hash(c);if(h===e)return new cljs.core.HashCollisionNode(null,h,2,[c,d,f,g]);var k=new cljs.core.Box(!1);return cljs.core.BitmapIndexedNode.EMPTY.inode_assoc_BANG_(a,b,h,c,d,k).inode_assoc_BANG_(a,b,e,f,g,k)};cljs.core.create_node.cljs$lang$maxFixedArity=7;
cljs.core.NodeSeq=function(a,b,c,d,e){this.meta=a;this.nodes=b;this.i=c;this.s=d;this.__hash=e;this.cljs$lang$protocol_mask$partition0$=32374988;this.cljs$lang$protocol_mask$partition1$=0};cljs.core.NodeSeq.prototype.toString=function(){return cljs.core.pr_str_STAR_(this)};cljs.core.NodeSeq.prototype.equiv=function(a){return this.cljs$core$IEquiv$_equiv$arity$2(null,a)};
cljs.core.NodeSeq.prototype.indexOf=function(){var a=null,b=function(a){return cljs.core._indexOf.cljs$core$IFn$_invoke$arity$3(this,a,0)},c=function(a,b){return cljs.core._indexOf.cljs$core$IFn$_invoke$arity$3(this,a,b)};a=function(a,e){switch(arguments.length){case 1:return b.call(this,a);case 2:return c.call(this,a,e)}throw Error("Invalid arity: "+arguments.length);};a.cljs$core$IFn$_invoke$arity$1=b;a.cljs$core$IFn$_invoke$arity$2=c;return a}();
cljs.core.NodeSeq.prototype.lastIndexOf=function(){var a=null,b=function(a){return cljs.core._lastIndexOf.cljs$core$IFn$_invoke$arity$3(this,a,cljs.core.count(this))},c=function(a,b){return cljs.core._lastIndexOf.cljs$core$IFn$_invoke$arity$3(this,a,b)};a=function(a,e){switch(arguments.length){case 1:return b.call(this,a);case 2:return c.call(this,a,e)}throw Error("Invalid arity: "+arguments.length);};a.cljs$core$IFn$_invoke$arity$1=b;a.cljs$core$IFn$_invoke$arity$2=c;return a}();
cljs.core.NodeSeq.prototype.cljs$core$IMeta$_meta$arity$1=function(a){return this.meta};cljs.core.NodeSeq.prototype.cljs$core$INext$_next$arity$1=function(a){return null==this.s?cljs.core.create_inode_seq.cljs$core$IFn$_invoke$arity$3(this.nodes,this.i+2,null):cljs.core.create_inode_seq.cljs$core$IFn$_invoke$arity$3(this.nodes,this.i,cljs.core.next(this.s))};cljs.core.NodeSeq.prototype.cljs$core$IHash$_hash$arity$1=function(a){a=this.__hash;return null!=a?a:this.__hash=a=cljs.core.hash_ordered_coll(this)};
cljs.core.NodeSeq.prototype.cljs$core$IEquiv$_equiv$arity$2=function(a,b){return cljs.core.equiv_sequential(this,b)};cljs.core.NodeSeq.prototype.cljs$core$IEmptyableCollection$_empty$arity$1=function(a){return cljs.core.List.EMPTY};cljs.core.NodeSeq.prototype.cljs$core$IReduce$_reduce$arity$2=function(a,b){return cljs.core.seq_reduce.cljs$core$IFn$_invoke$arity$2(b,this)};
cljs.core.NodeSeq.prototype.cljs$core$IReduce$_reduce$arity$3=function(a,b,c){return cljs.core.seq_reduce.cljs$core$IFn$_invoke$arity$3(b,c,this)};cljs.core.NodeSeq.prototype.cljs$core$ISeq$_first$arity$1=function(a){return null==this.s?new cljs.core.MapEntry(this.nodes[this.i],this.nodes[this.i+1],null):cljs.core.first(this.s)};
cljs.core.NodeSeq.prototype.cljs$core$ISeq$_rest$arity$1=function(a){a=null==this.s?cljs.core.create_inode_seq.cljs$core$IFn$_invoke$arity$3(this.nodes,this.i+2,null):cljs.core.create_inode_seq.cljs$core$IFn$_invoke$arity$3(this.nodes,this.i,cljs.core.next(this.s));return null!=a?a:cljs.core.List.EMPTY};cljs.core.NodeSeq.prototype.cljs$core$ISeqable$_seq$arity$1=function(a){return this};
cljs.core.NodeSeq.prototype.cljs$core$IWithMeta$_with_meta$arity$2=function(a,b){return b===this.meta?this:new cljs.core.NodeSeq(b,this.nodes,this.i,this.s,this.__hash)};cljs.core.NodeSeq.prototype.cljs$core$ICollection$_conj$arity$2=function(a,b){return cljs.core.cons(b,this)};
cljs.core.NodeSeq.getBasis=function(){return new cljs.core.PersistentVector(null,5,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"meta","meta",-1154898805,null),new cljs.core.Symbol(null,"nodes","nodes",-459054278,null),new cljs.core.Symbol(null,"i","i",253690212,null),new cljs.core.Symbol(null,"s","s",-948495851,null),cljs.core.with_meta(new cljs.core.Symbol(null,"__hash","__hash",-1328796629,null),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"mutable",
"mutable",875778266),!0],null))],null)};cljs.core.NodeSeq.cljs$lang$type=!0;cljs.core.NodeSeq.cljs$lang$ctorStr="cljs.core/NodeSeq";cljs.core.NodeSeq.cljs$lang$ctorPrWriter=function(a,b,c){return cljs.core._write(b,"cljs.core/NodeSeq")};cljs.core.__GT_NodeSeq=function(a,b,c,d,e){return new cljs.core.NodeSeq(a,b,c,d,e)};
var G__23213_23216=cljs.core.NodeSeq.prototype,G__23214_23217=cljs.core.ITER_SYMBOL,G__23215_23218=function(a,b){return function(){return cljs.core.es6_iterator(this)}}(G__23213_23216,G__23214_23217);goog.object.set(G__23213_23216,G__23214_23217,G__23215_23218);
cljs.core.create_inode_seq=function(a){switch(arguments.length){case 1:return cljs.core.create_inode_seq.cljs$core$IFn$_invoke$arity$1(arguments[0]);case 3:return cljs.core.create_inode_seq.cljs$core$IFn$_invoke$arity$3(arguments[0],arguments[1],arguments[2]);default:throw Error(["Invalid arity: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(""));}};
cljs.core.create_inode_seq.cljs$core$IFn$_invoke$arity$1=function(a){return cljs.core.create_inode_seq.cljs$core$IFn$_invoke$arity$3(a,0,null)};
cljs.core.create_inode_seq.cljs$core$IFn$_invoke$arity$3=function(a,b,c){if(null==c)for(c=a.length;;)if(b<c){if(null!=a[b])return new cljs.core.NodeSeq(null,a,b,null,null);var d=a[b+1];if(cljs.core.truth_(d)&&(d=d.inode_seq(),cljs.core.truth_(d)))return new cljs.core.NodeSeq(null,a,b+2,d,null);b+=2}else return null;else return new cljs.core.NodeSeq(null,a,b,c,null)};cljs.core.create_inode_seq.cljs$lang$maxFixedArity=3;
cljs.core.ArrayNodeSeq=function(a,b,c,d,e){this.meta=a;this.nodes=b;this.i=c;this.s=d;this.__hash=e;this.cljs$lang$protocol_mask$partition0$=32374988;this.cljs$lang$protocol_mask$partition1$=0};cljs.core.ArrayNodeSeq.prototype.toString=function(){return cljs.core.pr_str_STAR_(this)};cljs.core.ArrayNodeSeq.prototype.equiv=function(a){return this.cljs$core$IEquiv$_equiv$arity$2(null,a)};
cljs.core.ArrayNodeSeq.prototype.indexOf=function(){var a=null,b=function(a){return cljs.core._indexOf.cljs$core$IFn$_invoke$arity$3(this,a,0)},c=function(a,b){return cljs.core._indexOf.cljs$core$IFn$_invoke$arity$3(this,a,b)};a=function(a,e){switch(arguments.length){case 1:return b.call(this,a);case 2:return c.call(this,a,e)}throw Error("Invalid arity: "+arguments.length);};a.cljs$core$IFn$_invoke$arity$1=b;a.cljs$core$IFn$_invoke$arity$2=c;return a}();
cljs.core.ArrayNodeSeq.prototype.lastIndexOf=function(){var a=null,b=function(a){return cljs.core._lastIndexOf.cljs$core$IFn$_invoke$arity$3(this,a,cljs.core.count(this))},c=function(a,b){return cljs.core._lastIndexOf.cljs$core$IFn$_invoke$arity$3(this,a,b)};a=function(a,e){switch(arguments.length){case 1:return b.call(this,a);case 2:return c.call(this,a,e)}throw Error("Invalid arity: "+arguments.length);};a.cljs$core$IFn$_invoke$arity$1=b;a.cljs$core$IFn$_invoke$arity$2=c;return a}();
cljs.core.ArrayNodeSeq.prototype.cljs$core$IMeta$_meta$arity$1=function(a){return this.meta};cljs.core.ArrayNodeSeq.prototype.cljs$core$INext$_next$arity$1=function(a){return cljs.core.create_array_node_seq.cljs$core$IFn$_invoke$arity$3(this.nodes,this.i,cljs.core.next(this.s))};cljs.core.ArrayNodeSeq.prototype.cljs$core$IHash$_hash$arity$1=function(a){a=this.__hash;return null!=a?a:this.__hash=a=cljs.core.hash_ordered_coll(this)};
cljs.core.ArrayNodeSeq.prototype.cljs$core$IEquiv$_equiv$arity$2=function(a,b){return cljs.core.equiv_sequential(this,b)};cljs.core.ArrayNodeSeq.prototype.cljs$core$IEmptyableCollection$_empty$arity$1=function(a){return cljs.core.List.EMPTY};cljs.core.ArrayNodeSeq.prototype.cljs$core$IReduce$_reduce$arity$2=function(a,b){return cljs.core.seq_reduce.cljs$core$IFn$_invoke$arity$2(b,this)};
cljs.core.ArrayNodeSeq.prototype.cljs$core$IReduce$_reduce$arity$3=function(a,b,c){return cljs.core.seq_reduce.cljs$core$IFn$_invoke$arity$3(b,c,this)};cljs.core.ArrayNodeSeq.prototype.cljs$core$ISeq$_first$arity$1=function(a){return cljs.core.first(this.s)};cljs.core.ArrayNodeSeq.prototype.cljs$core$ISeq$_rest$arity$1=function(a){a=cljs.core.create_array_node_seq.cljs$core$IFn$_invoke$arity$3(this.nodes,this.i,cljs.core.next(this.s));return null!=a?a:cljs.core.List.EMPTY};
cljs.core.ArrayNodeSeq.prototype.cljs$core$ISeqable$_seq$arity$1=function(a){return this};cljs.core.ArrayNodeSeq.prototype.cljs$core$IWithMeta$_with_meta$arity$2=function(a,b){return b===this.meta?this:new cljs.core.ArrayNodeSeq(b,this.nodes,this.i,this.s,this.__hash)};cljs.core.ArrayNodeSeq.prototype.cljs$core$ICollection$_conj$arity$2=function(a,b){return cljs.core.cons(b,this)};
cljs.core.ArrayNodeSeq.getBasis=function(){return new cljs.core.PersistentVector(null,5,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"meta","meta",-1154898805,null),new cljs.core.Symbol(null,"nodes","nodes",-459054278,null),new cljs.core.Symbol(null,"i","i",253690212,null),new cljs.core.Symbol(null,"s","s",-948495851,null),cljs.core.with_meta(new cljs.core.Symbol(null,"__hash","__hash",-1328796629,null),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"mutable",
"mutable",875778266),!0],null))],null)};cljs.core.ArrayNodeSeq.cljs$lang$type=!0;cljs.core.ArrayNodeSeq.cljs$lang$ctorStr="cljs.core/ArrayNodeSeq";cljs.core.ArrayNodeSeq.cljs$lang$ctorPrWriter=function(a,b,c){return cljs.core._write(b,"cljs.core/ArrayNodeSeq")};cljs.core.__GT_ArrayNodeSeq=function(a,b,c,d,e){return new cljs.core.ArrayNodeSeq(a,b,c,d,e)};
var G__23226_23229=cljs.core.ArrayNodeSeq.prototype,G__23227_23230=cljs.core.ITER_SYMBOL,G__23228_23231=function(a,b){return function(){return cljs.core.es6_iterator(this)}}(G__23226_23229,G__23227_23230);goog.object.set(G__23226_23229,G__23227_23230,G__23228_23231);
cljs.core.create_array_node_seq=function(a){switch(arguments.length){case 1:return cljs.core.create_array_node_seq.cljs$core$IFn$_invoke$arity$1(arguments[0]);case 3:return cljs.core.create_array_node_seq.cljs$core$IFn$_invoke$arity$3(arguments[0],arguments[1],arguments[2]);default:throw Error(["Invalid arity: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(""));}};
cljs.core.create_array_node_seq.cljs$core$IFn$_invoke$arity$1=function(a){return cljs.core.create_array_node_seq.cljs$core$IFn$_invoke$arity$3(a,0,null)};cljs.core.create_array_node_seq.cljs$core$IFn$_invoke$arity$3=function(a,b,c){if(null==c)for(c=a.length;;)if(b<c){var d=a[b];if(cljs.core.truth_(d)&&(d=d.inode_seq(),cljs.core.truth_(d)))return new cljs.core.ArrayNodeSeq(null,a,b+1,d,null);b+=1}else return null;else return new cljs.core.ArrayNodeSeq(null,a,b,c,null)};
cljs.core.create_array_node_seq.cljs$lang$maxFixedArity=3;cljs.core.HashMapIter=function(a,b,c){this.nil_val=a;this.root_iter=b;this.seen=c};cljs.core.HashMapIter.prototype.hasNext=function(){return!this.seen||this.root_iter.hasNext()};cljs.core.HashMapIter.prototype.next=function(){if(this.seen)return this.root_iter.next();this.seen=!0;return new cljs.core.MapEntry(null,this.nil_val,null)};cljs.core.HashMapIter.prototype.remove=function(){return Error("Unsupported operation")};
cljs.core.HashMapIter.getBasis=function(){return new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"nil-val","nil-val",-513933559,null),new cljs.core.Symbol(null,"root-iter","root-iter",1974672108,null),cljs.core.with_meta(new cljs.core.Symbol(null,"seen","seen",1121531738,null),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"mutable","mutable",875778266),!0],null))],null)};cljs.core.HashMapIter.cljs$lang$type=!0;
cljs.core.HashMapIter.cljs$lang$ctorStr="cljs.core/HashMapIter";cljs.core.HashMapIter.cljs$lang$ctorPrWriter=function(a,b,c){return cljs.core._write(b,"cljs.core/HashMapIter")};cljs.core.__GT_HashMapIter=function(a,b,c){return new cljs.core.HashMapIter(a,b,c)};cljs.core.PersistentHashMap=function(a,b,c,d,e,f){this.meta=a;this.cnt=b;this.root=c;this.has_nil_QMARK_=d;this.nil_val=e;this.__hash=f;this.cljs$lang$protocol_mask$partition0$=16123663;this.cljs$lang$protocol_mask$partition1$=139268};
cljs.core.PersistentHashMap.prototype.cljs$core$IFind$=cljs.core.PROTOCOL_SENTINEL;cljs.core.PersistentHashMap.prototype.cljs$core$IFind$_find$arity$2=function(a,b){return null==b?this.has_nil_QMARK_?new cljs.core.MapEntry(null,this.nil_val,null):null:null==this.root?null:this.root.inode_find(0,cljs.core.hash(b),b,null)};cljs.core.PersistentHashMap.prototype.toString=function(){return cljs.core.pr_str_STAR_(this)};
cljs.core.PersistentHashMap.prototype.equiv=function(a){return this.cljs$core$IEquiv$_equiv$arity$2(null,a)};cljs.core.PersistentHashMap.prototype.keys=function(){return cljs.core.es6_iterator(cljs.core.keys(this))};cljs.core.PersistentHashMap.prototype.entries=function(){return cljs.core.es6_entries_iterator(cljs.core.seq(this))};cljs.core.PersistentHashMap.prototype.values=function(){return cljs.core.es6_iterator(cljs.core.vals(this))};
cljs.core.PersistentHashMap.prototype.has=function(a){return cljs.core.contains_QMARK_(this,a)};cljs.core.PersistentHashMap.prototype.get=function(a,b){return this.cljs$core$ILookup$_lookup$arity$3(null,a,b)};
cljs.core.PersistentHashMap.prototype.forEach=function(a){for(var b=cljs.core.seq(this),c=null,d=0,e=0;;)if(e<d){var f=c.cljs$core$IIndexed$_nth$arity$2(null,e),g=cljs.core.nth.cljs$core$IFn$_invoke$arity$3(f,0,null);f=cljs.core.nth.cljs$core$IFn$_invoke$arity$3(f,1,null);a.cljs$core$IFn$_invoke$arity$2?a.cljs$core$IFn$_invoke$arity$2(f,g):a.call(null,f,g);e+=1}else if(b=cljs.core.seq(b))cljs.core.chunked_seq_QMARK_(b)?(c=cljs.core.chunk_first(b),b=cljs.core.chunk_rest(b),g=c,d=cljs.core.count(c),
c=g):(c=cljs.core.first(b),g=cljs.core.nth.cljs$core$IFn$_invoke$arity$3(c,0,null),f=cljs.core.nth.cljs$core$IFn$_invoke$arity$3(c,1,null),a.cljs$core$IFn$_invoke$arity$2?a.cljs$core$IFn$_invoke$arity$2(f,g):a.call(null,f,g),b=cljs.core.next(b),c=null,d=0),e=0;else return null};cljs.core.PersistentHashMap.prototype.cljs$core$ILookup$_lookup$arity$2=function(a,b){return this.cljs$core$ILookup$_lookup$arity$3(null,b,null)};
cljs.core.PersistentHashMap.prototype.cljs$core$ILookup$_lookup$arity$3=function(a,b,c){return null==b?this.has_nil_QMARK_?this.nil_val:c:null==this.root?c:this.root.inode_lookup(0,cljs.core.hash(b),b,c)};
cljs.core.PersistentHashMap.prototype.cljs$core$IKVReduce$_kv_reduce$arity$3=function(a,b,c){a=this.has_nil_QMARK_?b.cljs$core$IFn$_invoke$arity$3?b.cljs$core$IFn$_invoke$arity$3(c,null,this.nil_val):b.call(null,c,null,this.nil_val):c;return cljs.core.reduced_QMARK_(a)?cljs.core.deref(a):null!=this.root?cljs.core.unreduced(this.root.kv_reduce(b,a)):a};
cljs.core.PersistentHashMap.prototype.cljs$core$IIterable$_iterator$arity$1=function(a){a=this.root?cljs.core._iterator(this.root):cljs.core.nil_iter();return this.has_nil_QMARK_?new cljs.core.HashMapIter(this.nil_val,a,!1):a};cljs.core.PersistentHashMap.prototype.cljs$core$IMeta$_meta$arity$1=function(a){return this.meta};
cljs.core.PersistentHashMap.prototype.cljs$core$ICloneable$_clone$arity$1=function(a){return new cljs.core.PersistentHashMap(this.meta,this.cnt,this.root,this.has_nil_QMARK_,this.nil_val,this.__hash)};cljs.core.PersistentHashMap.prototype.cljs$core$ICounted$_count$arity$1=function(a){return this.cnt};cljs.core.PersistentHashMap.prototype.cljs$core$IHash$_hash$arity$1=function(a){a=this.__hash;return null!=a?a:this.__hash=a=cljs.core.hash_unordered_coll(this)};
cljs.core.PersistentHashMap.prototype.cljs$core$IEquiv$_equiv$arity$2=function(a,b){return cljs.core.equiv_map(this,b)};cljs.core.PersistentHashMap.prototype.cljs$core$IEditableCollection$_as_transient$arity$1=function(a){return new cljs.core.TransientHashMap({},this.root,this.cnt,this.has_nil_QMARK_,this.nil_val)};cljs.core.PersistentHashMap.prototype.cljs$core$IEmptyableCollection$_empty$arity$1=function(a){return cljs.core._with_meta(cljs.core.PersistentHashMap.EMPTY,this.meta)};
cljs.core.PersistentHashMap.prototype.cljs$core$IMap$_dissoc$arity$2=function(a,b){if(null==b)return this.has_nil_QMARK_?new cljs.core.PersistentHashMap(this.meta,this.cnt-1,this.root,!1,null,null):this;if(null==this.root)return this;a=this.root.inode_without(0,cljs.core.hash(b),b);return a===this.root?this:new cljs.core.PersistentHashMap(this.meta,this.cnt-1,a,this.has_nil_QMARK_,this.nil_val,null)};
cljs.core.PersistentHashMap.prototype.cljs$core$IAssociative$_assoc$arity$3=function(a,b,c){if(null==b)return this.has_nil_QMARK_&&c===this.nil_val?this:new cljs.core.PersistentHashMap(this.meta,this.has_nil_QMARK_?this.cnt:this.cnt+1,this.root,!0,c,null);a=new cljs.core.Box(!1);b=(null==this.root?cljs.core.BitmapIndexedNode.EMPTY:this.root).inode_assoc(0,cljs.core.hash(b),b,c,a);return b===this.root?this:new cljs.core.PersistentHashMap(this.meta,a.val?this.cnt+1:this.cnt,b,this.has_nil_QMARK_,this.nil_val,
null)};cljs.core.PersistentHashMap.prototype.cljs$core$IAssociative$_contains_key_QMARK_$arity$2=function(a,b){return null==b?this.has_nil_QMARK_:null==this.root?!1:this.root.inode_lookup(0,cljs.core.hash(b),b,cljs.core.lookup_sentinel)!==cljs.core.lookup_sentinel};cljs.core.PersistentHashMap.prototype.cljs$core$ISeqable$_seq$arity$1=function(a){return 0<this.cnt?(a=null!=this.root?this.root.inode_seq():null,this.has_nil_QMARK_?cljs.core.cons(new cljs.core.MapEntry(null,this.nil_val,null),a):a):null};
cljs.core.PersistentHashMap.prototype.cljs$core$IWithMeta$_with_meta$arity$2=function(a,b){return b===this.meta?this:new cljs.core.PersistentHashMap(b,this.cnt,this.root,this.has_nil_QMARK_,this.nil_val,this.__hash)};
cljs.core.PersistentHashMap.prototype.cljs$core$ICollection$_conj$arity$2=function(a,b){if(cljs.core.vector_QMARK_(b))return this.cljs$core$IAssociative$_assoc$arity$3(null,cljs.core._nth.cljs$core$IFn$_invoke$arity$2(b,0),cljs.core._nth.cljs$core$IFn$_invoke$arity$2(b,1));a=this;for(b=cljs.core.seq(b);;){if(null==b)return a;var c=cljs.core.first(b);if(cljs.core.vector_QMARK_(c))a=cljs.core._assoc(a,cljs.core._nth.cljs$core$IFn$_invoke$arity$2(c,0),cljs.core._nth.cljs$core$IFn$_invoke$arity$2(c,1)),
b=cljs.core.next(b);else throw Error("conj on a map takes map entries or seqables of map entries");}};
cljs.core.PersistentHashMap.prototype.call=function(){var a=null;a=function(a,c,d){switch(arguments.length){case 2:return this.cljs$core$ILookup$_lookup$arity$2(null,c);case 3:return this.cljs$core$ILookup$_lookup$arity$3(null,c,d)}throw Error("Invalid arity: "+(arguments.length-1));};a.cljs$core$IFn$_invoke$arity$2=function(a,c){return this.cljs$core$ILookup$_lookup$arity$2(null,c)};a.cljs$core$IFn$_invoke$arity$3=function(a,c,d){return this.cljs$core$ILookup$_lookup$arity$3(null,c,d)};return a}();
cljs.core.PersistentHashMap.prototype.apply=function(a,b){return this.call.apply(this,[this].concat(cljs.core.aclone(b)))};cljs.core.PersistentHashMap.prototype.cljs$core$IFn$_invoke$arity$1=function(a){return this.cljs$core$ILookup$_lookup$arity$2(null,a)};cljs.core.PersistentHashMap.prototype.cljs$core$IFn$_invoke$arity$2=function(a,b){return this.cljs$core$ILookup$_lookup$arity$3(null,a,b)};
cljs.core.PersistentHashMap.getBasis=function(){return new cljs.core.PersistentVector(null,6,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"meta","meta",-1154898805,null),new cljs.core.Symbol(null,"cnt","cnt",1924510325,null),new cljs.core.Symbol(null,"root","root",1191874074,null),cljs.core.with_meta(new cljs.core.Symbol(null,"has-nil?","has-nil?",825886722,null),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"tag","tag",-1290361223),new cljs.core.Symbol(null,
"boolean","boolean",-278886877,null)],null)),new cljs.core.Symbol(null,"nil-val","nil-val",-513933559,null),cljs.core.with_meta(new cljs.core.Symbol(null,"__hash","__hash",-1328796629,null),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"mutable","mutable",875778266),!0],null))],null)};cljs.core.PersistentHashMap.cljs$lang$type=!0;cljs.core.PersistentHashMap.cljs$lang$ctorStr="cljs.core/PersistentHashMap";
cljs.core.PersistentHashMap.cljs$lang$ctorPrWriter=function(a,b,c){return cljs.core._write(b,"cljs.core/PersistentHashMap")};cljs.core.__GT_PersistentHashMap=function(a,b,c,d,e,f){return new cljs.core.PersistentHashMap(a,b,c,d,e,f)};cljs.core.PersistentHashMap.EMPTY=new cljs.core.PersistentHashMap(null,0,null,!1,null,cljs.core.empty_unordered_hash);
cljs.core.PersistentHashMap.fromArray=function(a,b){a=b?a:cljs.core.aclone(a);b=a.length;for(var c=0,d=cljs.core.transient$(cljs.core.PersistentHashMap.EMPTY);;)if(c<b){var e=c+2;d=cljs.core._assoc_BANG_(d,a[c],a[c+1]);c=e}else return cljs.core._persistent_BANG_(d)};cljs.core.PersistentHashMap.fromArrays=function(a,b){for(var c=a.length,d=0,e=cljs.core.transient$(cljs.core.PersistentHashMap.EMPTY);;)if(d<c){var f=d+1;e=cljs.core._assoc_BANG_(e,a[d],b[d]);d=f}else return cljs.core.persistent_BANG_(e)};
cljs.core.PersistentHashMap.createWithCheck=function(a){for(var b=a.length,c=cljs.core.transient$(cljs.core.PersistentHashMap.EMPTY),d=0;;)if(d<b){cljs.core._assoc_BANG_(c,a[d],a[d+1]);if(cljs.core.not_EQ_.cljs$core$IFn$_invoke$arity$2(cljs.core._count(c),d/2+1))throw Error(["Duplicate key: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(a[d])].join(""));d+=2}else break;return cljs.core._persistent_BANG_(c)};
var G__23277_23280=cljs.core.PersistentHashMap.prototype,G__23278_23281=cljs.core.ITER_SYMBOL,G__23279_23282=function(a,b){return function(){return cljs.core.es6_iterator(this)}}(G__23277_23280,G__23278_23281);goog.object.set(G__23277_23280,G__23278_23281,G__23279_23282);cljs.core.TransientHashMap=function(a,b,c,d,e){this.edit=a;this.root=b;this.count=c;this.has_nil_QMARK_=d;this.nil_val=e;this.cljs$lang$protocol_mask$partition0$=259;this.cljs$lang$protocol_mask$partition1$=56};
cljs.core.TransientHashMap.prototype.conj_BANG_=function(a){if(this.edit){if(cljs.core.map_entry_QMARK_(a))return this.assoc_BANG_(cljs.core.key(a),cljs.core.val(a));if(cljs.core.vector_QMARK_(a))return this.assoc_BANG_(a.cljs$core$IFn$_invoke$arity$1?a.cljs$core$IFn$_invoke$arity$1(0):a.call(null,0),a.cljs$core$IFn$_invoke$arity$1?a.cljs$core$IFn$_invoke$arity$1(1):a.call(null,1));a=cljs.core.seq(a);for(var b=this;;){var c=cljs.core.first(a);if(cljs.core.truth_(c))a=cljs.core.next(a),b=b.assoc_BANG_(cljs.core.key(c),
cljs.core.val(c));else return b}}else throw Error("conj! after persistent");};
cljs.core.TransientHashMap.prototype.assoc_BANG_=function(a,b){if(this.edit){if(null==a)this.nil_val!==b&&(this.nil_val=b),this.has_nil_QMARK_||(this.count+=1,this.has_nil_QMARK_=!0);else{var c=new cljs.core.Box(!1);a=(null==this.root?cljs.core.BitmapIndexedNode.EMPTY:this.root).inode_assoc_BANG_(this.edit,0,cljs.core.hash(a),a,b,c);a!==this.root&&(this.root=a);c.val&&(this.count+=1)}return this}throw Error("assoc! after persistent!");};
cljs.core.TransientHashMap.prototype.without_BANG_=function(a){if(this.edit){if(null==a)this.has_nil_QMARK_&&(this.has_nil_QMARK_=!1,this.nil_val=null,--this.count);else if(null!=this.root){var b=new cljs.core.Box(!1);a=this.root.inode_without_BANG_(this.edit,0,cljs.core.hash(a),a,b);a!==this.root&&(this.root=a);b.val&&--this.count}return this}throw Error("dissoc! after persistent!");};
cljs.core.TransientHashMap.prototype.persistent_BANG_=function(){if(this.edit)return this.edit=null,new cljs.core.PersistentHashMap(null,this.count,this.root,this.has_nil_QMARK_,this.nil_val,null);throw Error("persistent! called twice");};cljs.core.TransientHashMap.prototype.cljs$core$ICounted$_count$arity$1=function(a){if(this.edit)return this.count;throw Error("count after persistent!");};
cljs.core.TransientHashMap.prototype.cljs$core$ILookup$_lookup$arity$2=function(a,b){return null==b?this.has_nil_QMARK_?this.nil_val:null:null==this.root?null:this.root.inode_lookup(0,cljs.core.hash(b),b)};cljs.core.TransientHashMap.prototype.cljs$core$ILookup$_lookup$arity$3=function(a,b,c){return null==b?this.has_nil_QMARK_?this.nil_val:c:null==this.root?c:this.root.inode_lookup(0,cljs.core.hash(b),b,c)};
cljs.core.TransientHashMap.prototype.cljs$core$ITransientCollection$_conj_BANG_$arity$2=function(a,b){return this.conj_BANG_(b)};cljs.core.TransientHashMap.prototype.cljs$core$ITransientCollection$_persistent_BANG_$arity$1=function(a){return this.persistent_BANG_()};cljs.core.TransientHashMap.prototype.cljs$core$ITransientAssociative$_assoc_BANG_$arity$3=function(a,b,c){return this.assoc_BANG_(b,c)};cljs.core.TransientHashMap.prototype.cljs$core$ITransientMap$_dissoc_BANG_$arity$2=function(a,b){return this.without_BANG_(b)};
cljs.core.TransientHashMap.prototype.call=function(){var a=null;a=function(a,c,d){switch(arguments.length){case 2:return this.cljs$core$ILookup$_lookup$arity$2(null,c);case 3:return this.cljs$core$ILookup$_lookup$arity$3(null,c,d)}throw Error("Invalid arity: "+(arguments.length-1));};a.cljs$core$IFn$_invoke$arity$2=function(a,c){return this.cljs$core$ILookup$_lookup$arity$2(null,c)};a.cljs$core$IFn$_invoke$arity$3=function(a,c,d){return this.cljs$core$ILookup$_lookup$arity$3(null,c,d)};return a}();
cljs.core.TransientHashMap.prototype.apply=function(a,b){return this.call.apply(this,[this].concat(cljs.core.aclone(b)))};cljs.core.TransientHashMap.prototype.cljs$core$IFn$_invoke$arity$1=function(a){return this.cljs$core$ILookup$_lookup$arity$2(null,a)};cljs.core.TransientHashMap.prototype.cljs$core$IFn$_invoke$arity$2=function(a,b){return this.cljs$core$ILookup$_lookup$arity$3(null,a,b)};
cljs.core.TransientHashMap.getBasis=function(){return new cljs.core.PersistentVector(null,5,5,cljs.core.PersistentVector.EMPTY_NODE,[cljs.core.with_meta(new cljs.core.Symbol(null,"edit","edit",-1302639,null),new cljs.core.PersistentArrayMap(null,2,[new cljs.core.Keyword(null,"tag","tag",-1290361223),new cljs.core.Symbol(null,"boolean","boolean",-278886877,null),new cljs.core.Keyword(null,"mutable","mutable",875778266),!0],null)),cljs.core.with_meta(new cljs.core.Symbol(null,"root","root",1191874074,
null),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"mutable","mutable",875778266),!0],null)),cljs.core.with_meta(new cljs.core.Symbol(null,"count","count",-514511684,null),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"mutable","mutable",875778266),!0],null)),cljs.core.with_meta(new cljs.core.Symbol(null,"has-nil?","has-nil?",825886722,null),new cljs.core.PersistentArrayMap(null,2,[new cljs.core.Keyword(null,"tag","tag",-1290361223),new cljs.core.Symbol(null,
"boolean","boolean",-278886877,null),new cljs.core.Keyword(null,"mutable","mutable",875778266),!0],null)),cljs.core.with_meta(new cljs.core.Symbol(null,"nil-val","nil-val",-513933559,null),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"mutable","mutable",875778266),!0],null))],null)};cljs.core.TransientHashMap.cljs$lang$type=!0;cljs.core.TransientHashMap.cljs$lang$ctorStr="cljs.core/TransientHashMap";
cljs.core.TransientHashMap.cljs$lang$ctorPrWriter=function(a,b,c){return cljs.core._write(b,"cljs.core/TransientHashMap")};cljs.core.__GT_TransientHashMap=function(a,b,c,d,e){return new cljs.core.TransientHashMap(a,b,c,d,e)};cljs.core.tree_map_seq_push=function(a,b,c){for(var d=b;;)if(null!=a)b=c?a.left:a.right,d=cljs.core.conj.cljs$core$IFn$_invoke$arity$2(d,a),a=b;else return d};
cljs.core.PersistentTreeMapSeq=function(a,b,c,d,e){this.meta=a;this.stack=b;this.ascending_QMARK_=c;this.cnt=d;this.__hash=e;this.cljs$lang$protocol_mask$partition0$=32374990;this.cljs$lang$protocol_mask$partition1$=0};cljs.core.PersistentTreeMapSeq.prototype.toString=function(){return cljs.core.pr_str_STAR_(this)};cljs.core.PersistentTreeMapSeq.prototype.equiv=function(a){return this.cljs$core$IEquiv$_equiv$arity$2(null,a)};
cljs.core.PersistentTreeMapSeq.prototype.indexOf=function(){var a=null,b=function(a){return cljs.core._indexOf.cljs$core$IFn$_invoke$arity$3(this,a,0)},c=function(a,b){return cljs.core._indexOf.cljs$core$IFn$_invoke$arity$3(this,a,b)};a=function(a,e){switch(arguments.length){case 1:return b.call(this,a);case 2:return c.call(this,a,e)}throw Error("Invalid arity: "+arguments.length);};a.cljs$core$IFn$_invoke$arity$1=b;a.cljs$core$IFn$_invoke$arity$2=c;return a}();
cljs.core.PersistentTreeMapSeq.prototype.lastIndexOf=function(){var a=null,b=function(a){return cljs.core._lastIndexOf.cljs$core$IFn$_invoke$arity$3(this,a,cljs.core.count(this))},c=function(a,b){return cljs.core._lastIndexOf.cljs$core$IFn$_invoke$arity$3(this,a,b)};a=function(a,e){switch(arguments.length){case 1:return b.call(this,a);case 2:return c.call(this,a,e)}throw Error("Invalid arity: "+arguments.length);};a.cljs$core$IFn$_invoke$arity$1=b;a.cljs$core$IFn$_invoke$arity$2=c;return a}();
cljs.core.PersistentTreeMapSeq.prototype.cljs$core$IMeta$_meta$arity$1=function(a){return this.meta};cljs.core.PersistentTreeMapSeq.prototype.cljs$core$INext$_next$arity$1=function(a){a=cljs.core.first(this.stack);a=cljs.core.tree_map_seq_push(this.ascending_QMARK_?a.right:a.left,cljs.core.next(this.stack),this.ascending_QMARK_);return null==a?null:new cljs.core.PersistentTreeMapSeq(null,a,this.ascending_QMARK_,this.cnt-1,null)};
cljs.core.PersistentTreeMapSeq.prototype.cljs$core$ICounted$_count$arity$1=function(a){return 0>this.cnt?cljs.core.count(cljs.core.next(this))+1:this.cnt};cljs.core.PersistentTreeMapSeq.prototype.cljs$core$IHash$_hash$arity$1=function(a){a=this.__hash;return null!=a?a:this.__hash=a=cljs.core.hash_ordered_coll(this)};cljs.core.PersistentTreeMapSeq.prototype.cljs$core$IEquiv$_equiv$arity$2=function(a,b){return cljs.core.equiv_sequential(this,b)};
cljs.core.PersistentTreeMapSeq.prototype.cljs$core$IEmptyableCollection$_empty$arity$1=function(a){return cljs.core.List.EMPTY};cljs.core.PersistentTreeMapSeq.prototype.cljs$core$IReduce$_reduce$arity$2=function(a,b){return cljs.core.seq_reduce.cljs$core$IFn$_invoke$arity$2(b,this)};cljs.core.PersistentTreeMapSeq.prototype.cljs$core$IReduce$_reduce$arity$3=function(a,b,c){return cljs.core.seq_reduce.cljs$core$IFn$_invoke$arity$3(b,c,this)};
cljs.core.PersistentTreeMapSeq.prototype.cljs$core$ISeq$_first$arity$1=function(a){return cljs.core.peek(this.stack)};cljs.core.PersistentTreeMapSeq.prototype.cljs$core$ISeq$_rest$arity$1=function(a){a=cljs.core.first(this.stack);a=cljs.core.tree_map_seq_push(this.ascending_QMARK_?a.right:a.left,cljs.core.next(this.stack),this.ascending_QMARK_);return null!=a?new cljs.core.PersistentTreeMapSeq(null,a,this.ascending_QMARK_,this.cnt-1,null):cljs.core.List.EMPTY};
cljs.core.PersistentTreeMapSeq.prototype.cljs$core$ISeqable$_seq$arity$1=function(a){return this};cljs.core.PersistentTreeMapSeq.prototype.cljs$core$IWithMeta$_with_meta$arity$2=function(a,b){return b===this.meta?this:new cljs.core.PersistentTreeMapSeq(b,this.stack,this.ascending_QMARK_,this.cnt,this.__hash)};cljs.core.PersistentTreeMapSeq.prototype.cljs$core$ICollection$_conj$arity$2=function(a,b){return cljs.core.cons(b,this)};
cljs.core.PersistentTreeMapSeq.getBasis=function(){return new cljs.core.PersistentVector(null,5,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"meta","meta",-1154898805,null),new cljs.core.Symbol(null,"stack","stack",847125597,null),cljs.core.with_meta(new cljs.core.Symbol(null,"ascending?","ascending?",-1938452653,null),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"tag","tag",-1290361223),new cljs.core.Symbol(null,"boolean","boolean",-278886877,null)],null)),
new cljs.core.Symbol(null,"cnt","cnt",1924510325,null),cljs.core.with_meta(new cljs.core.Symbol(null,"__hash","__hash",-1328796629,null),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"mutable","mutable",875778266),!0],null))],null)};cljs.core.PersistentTreeMapSeq.cljs$lang$type=!0;cljs.core.PersistentTreeMapSeq.cljs$lang$ctorStr="cljs.core/PersistentTreeMapSeq";cljs.core.PersistentTreeMapSeq.cljs$lang$ctorPrWriter=function(a,b,c){return cljs.core._write(b,"cljs.core/PersistentTreeMapSeq")};
cljs.core.__GT_PersistentTreeMapSeq=function(a,b,c,d,e){return new cljs.core.PersistentTreeMapSeq(a,b,c,d,e)};var G__23291_23294=cljs.core.PersistentTreeMapSeq.prototype,G__23292_23295=cljs.core.ITER_SYMBOL,G__23293_23296=function(a,b){return function(){return cljs.core.es6_iterator(this)}}(G__23291_23294,G__23292_23295);goog.object.set(G__23291_23294,G__23292_23295,G__23293_23296);
cljs.core.create_tree_map_seq=function(a,b,c){return new cljs.core.PersistentTreeMapSeq(null,cljs.core.tree_map_seq_push(a,null,b),b,c,null)};
cljs.core.balance_left=function(a,b,c,d){return c instanceof cljs.core.RedNode?c.left instanceof cljs.core.RedNode?new cljs.core.RedNode(c.key,c.val,c.left.blacken(),new cljs.core.BlackNode(a,b,c.right,d,null),null):c.right instanceof cljs.core.RedNode?new cljs.core.RedNode(c.right.key,c.right.val,new cljs.core.BlackNode(c.key,c.val,c.left,c.right.left,null),new cljs.core.BlackNode(a,b,c.right.right,d,null),null):new cljs.core.BlackNode(a,b,c,d,null):new cljs.core.BlackNode(a,b,c,d,null)};
cljs.core.balance_right=function(a,b,c,d){return d instanceof cljs.core.RedNode?d.right instanceof cljs.core.RedNode?new cljs.core.RedNode(d.key,d.val,new cljs.core.BlackNode(a,b,c,d.left,null),d.right.blacken(),null):d.left instanceof cljs.core.RedNode?new cljs.core.RedNode(d.left.key,d.left.val,new cljs.core.BlackNode(a,b,c,d.left.left,null),new cljs.core.BlackNode(d.key,d.val,d.left.right,d.right,null),null):new cljs.core.BlackNode(a,b,c,d,null):new cljs.core.BlackNode(a,b,c,d,null)};
cljs.core.balance_left_del=function(a,b,c,d){if(c instanceof cljs.core.RedNode)return new cljs.core.RedNode(a,b,c.blacken(),d,null);if(d instanceof cljs.core.BlackNode)return cljs.core.balance_right(a,b,c,d.redden());if(d instanceof cljs.core.RedNode&&d.left instanceof cljs.core.BlackNode)return new cljs.core.RedNode(d.left.key,d.left.val,new cljs.core.BlackNode(a,b,c,d.left.left,null),cljs.core.balance_right(d.key,d.val,d.left.right,d.right.redden()),null);throw Error("red-black tree invariant violation");
};
cljs.core.balance_right_del=function(a,b,c,d){if(d instanceof cljs.core.RedNode)return new cljs.core.RedNode(a,b,c,d.blacken(),null);if(c instanceof cljs.core.BlackNode)return cljs.core.balance_left(a,b,c.redden(),d);if(c instanceof cljs.core.RedNode&&c.right instanceof cljs.core.BlackNode)return new cljs.core.RedNode(c.right.key,c.right.val,cljs.core.balance_left(c.key,c.val,c.left.redden(),c.right.left),new cljs.core.BlackNode(a,b,c.right.right,d,null),null);throw Error("red-black tree invariant violation");};
cljs.core.tree_map_kv_reduce=function(a,b,c){var d=null!=a.left?function(){var d=a.left;return cljs.core.tree_map_kv_reduce.cljs$core$IFn$_invoke$arity$3?cljs.core.tree_map_kv_reduce.cljs$core$IFn$_invoke$arity$3(d,b,c):cljs.core.tree_map_kv_reduce.call(null,d,b,c)}():c;if(cljs.core.reduced_QMARK_(d))return d;var e=function(){var c=a.key,e=a.val;return b.cljs$core$IFn$_invoke$arity$3?b.cljs$core$IFn$_invoke$arity$3(d,c,e):b.call(null,d,c,e)}();if(cljs.core.reduced_QMARK_(e))return e;if(null!=a.right){var f=
a.right;return cljs.core.tree_map_kv_reduce.cljs$core$IFn$_invoke$arity$3?cljs.core.tree_map_kv_reduce.cljs$core$IFn$_invoke$arity$3(f,b,e):cljs.core.tree_map_kv_reduce.call(null,f,b,e)}return e};cljs.core.BlackNode=function(a,b,c,d,e){this.key=a;this.val=b;this.left=c;this.right=d;this.__hash=e;this.cljs$lang$protocol_mask$partition0$=166619935;this.cljs$lang$protocol_mask$partition1$=0};cljs.core.BlackNode.prototype.cljs$core$IFind$=cljs.core.PROTOCOL_SENTINEL;
cljs.core.BlackNode.prototype.cljs$core$IFind$_find$arity$2=function(a,b){switch(b){case 0:return new cljs.core.MapEntry(0,this.key,null);case 1:return new cljs.core.MapEntry(1,this.val,null);default:return null}};
cljs.core.BlackNode.prototype.lastIndexOf=function(){var a=null,b=function(a){return cljs.core._lastIndexOf.cljs$core$IFn$_invoke$arity$3(this,a,cljs.core.count(this))},c=function(a,b){return cljs.core._lastIndexOf.cljs$core$IFn$_invoke$arity$3(this,a,b)};a=function(a,e){switch(arguments.length){case 1:return b.call(this,a);case 2:return c.call(this,a,e)}throw Error("Invalid arity: "+arguments.length);};a.cljs$core$IFn$_invoke$arity$1=b;a.cljs$core$IFn$_invoke$arity$2=c;return a}();
cljs.core.BlackNode.prototype.indexOf=function(){var a=null,b=function(a){return cljs.core._indexOf.cljs$core$IFn$_invoke$arity$3(this,a,0)},c=function(a,b){return cljs.core._indexOf.cljs$core$IFn$_invoke$arity$3(this,a,b)};a=function(a,e){switch(arguments.length){case 1:return b.call(this,a);case 2:return c.call(this,a,e)}throw Error("Invalid arity: "+arguments.length);};a.cljs$core$IFn$_invoke$arity$1=b;a.cljs$core$IFn$_invoke$arity$2=c;return a}();cljs.core.BlackNode.prototype.add_right=function(a){return a.balance_right(this)};
cljs.core.BlackNode.prototype.redden=function(){return new cljs.core.RedNode(this.key,this.val,this.left,this.right,null)};cljs.core.BlackNode.prototype.blacken=function(){return this};cljs.core.BlackNode.prototype.add_left=function(a){return a.balance_left(this)};cljs.core.BlackNode.prototype.replace=function(a,b,c,d){return new cljs.core.BlackNode(a,b,c,d,null)};cljs.core.BlackNode.prototype.balance_left=function(a){return new cljs.core.BlackNode(a.key,a.val,this,a.right,null)};
cljs.core.BlackNode.prototype.balance_right=function(a){return new cljs.core.BlackNode(a.key,a.val,a.left,this,null)};cljs.core.BlackNode.prototype.remove_left=function(a){return cljs.core.balance_left_del(this.key,this.val,a,this.right)};cljs.core.BlackNode.prototype.kv_reduce=function(a,b){return cljs.core.tree_map_kv_reduce(this,a,b)};cljs.core.BlackNode.prototype.remove_right=function(a){return cljs.core.balance_right_del(this.key,this.val,this.left,a)};
cljs.core.BlackNode.prototype.cljs$core$ILookup$_lookup$arity$2=function(a,b){return this.cljs$core$IIndexed$_nth$arity$3(null,b,null)};cljs.core.BlackNode.prototype.cljs$core$ILookup$_lookup$arity$3=function(a,b,c){return this.cljs$core$IIndexed$_nth$arity$3(null,b,c)};cljs.core.BlackNode.prototype.cljs$core$IIndexed$_nth$arity$2=function(a,b){if(0===b)return this.key;if(1===b)return this.val;throw Error("Index out of bounds");};
cljs.core.BlackNode.prototype.cljs$core$IIndexed$_nth$arity$3=function(a,b,c){return 0===b?this.key:1===b?this.val:c};cljs.core.BlackNode.prototype.cljs$core$IVector$_assoc_n$arity$3=function(a,b,c){return(new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[this.key,this.val],null)).cljs$core$IVector$_assoc_n$arity$3(null,b,c)};cljs.core.BlackNode.prototype.cljs$core$IMeta$_meta$arity$1=function(a){return null};
cljs.core.BlackNode.prototype.cljs$core$ICounted$_count$arity$1=function(a){return 2};cljs.core.BlackNode.prototype.cljs$core$IMapEntry$_key$arity$1=function(a){return this.key};cljs.core.BlackNode.prototype.cljs$core$IMapEntry$_val$arity$1=function(a){return this.val};cljs.core.BlackNode.prototype.cljs$core$IStack$_peek$arity$1=function(a){return this.val};
cljs.core.BlackNode.prototype.cljs$core$IStack$_pop$arity$1=function(a){return new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[this.key],null)};cljs.core.BlackNode.prototype.cljs$core$IReversible$_rseq$arity$1=function(a){return new cljs.core.IndexedSeq([this.val,this.key],0,null)};cljs.core.BlackNode.prototype.cljs$core$IHash$_hash$arity$1=function(a){a=this.__hash;return null!=a?a:this.__hash=a=cljs.core.hash_ordered_coll(this)};
cljs.core.BlackNode.prototype.cljs$core$IEquiv$_equiv$arity$2=function(a,b){return cljs.core.equiv_sequential(this,b)};cljs.core.BlackNode.prototype.cljs$core$IEmptyableCollection$_empty$arity$1=function(a){return null};cljs.core.BlackNode.prototype.cljs$core$IReduce$_reduce$arity$2=function(a,b){return cljs.core.ci_reduce.cljs$core$IFn$_invoke$arity$2(this,b)};
cljs.core.BlackNode.prototype.cljs$core$IReduce$_reduce$arity$3=function(a,b,c){return cljs.core.ci_reduce.cljs$core$IFn$_invoke$arity$3(this,b,c)};cljs.core.BlackNode.prototype.cljs$core$IAssociative$_assoc$arity$3=function(a,b,c){return cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[this.key,this.val],null),b,c)};
cljs.core.BlackNode.prototype.cljs$core$IAssociative$_contains_key_QMARK_$arity$2=function(a,b){return 0===b||1===b};cljs.core.BlackNode.prototype.cljs$core$ISeqable$_seq$arity$1=function(a){return new cljs.core.IndexedSeq([this.key,this.val],0,null)};cljs.core.BlackNode.prototype.cljs$core$IWithMeta$_with_meta$arity$2=function(a,b){return cljs.core._with_meta(new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[this.key,this.val],null),b)};
cljs.core.BlackNode.prototype.cljs$core$ICollection$_conj$arity$2=function(a,b){return new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,[this.key,this.val,b],null)};
cljs.core.BlackNode.prototype.call=function(){var a=null;a=function(a,c,d){switch(arguments.length){case 2:return this.cljs$core$IIndexed$_nth$arity$2(null,c);case 3:return this.cljs$core$IIndexed$_nth$arity$3(null,c,d)}throw Error("Invalid arity: "+(arguments.length-1));};a.cljs$core$IFn$_invoke$arity$2=function(a,c){return this.cljs$core$IIndexed$_nth$arity$2(null,c)};a.cljs$core$IFn$_invoke$arity$3=function(a,c,d){return this.cljs$core$IIndexed$_nth$arity$3(null,c,d)};return a}();
cljs.core.BlackNode.prototype.apply=function(a,b){return this.call.apply(this,[this].concat(cljs.core.aclone(b)))};cljs.core.BlackNode.prototype.cljs$core$IFn$_invoke$arity$1=function(a){return this.cljs$core$IIndexed$_nth$arity$2(null,a)};cljs.core.BlackNode.prototype.cljs$core$IFn$_invoke$arity$2=function(a,b){return this.cljs$core$IIndexed$_nth$arity$3(null,a,b)};
cljs.core.BlackNode.getBasis=function(){return new cljs.core.PersistentVector(null,5,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"key","key",124488940,null),new cljs.core.Symbol(null,"val","val",1769233139,null),new cljs.core.Symbol(null,"left","left",1241415590,null),new cljs.core.Symbol(null,"right","right",1187949694,null),cljs.core.with_meta(new cljs.core.Symbol(null,"__hash","__hash",-1328796629,null),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,
"mutable","mutable",875778266),!0],null))],null)};cljs.core.BlackNode.cljs$lang$type=!0;cljs.core.BlackNode.cljs$lang$ctorStr="cljs.core/BlackNode";cljs.core.BlackNode.cljs$lang$ctorPrWriter=function(a,b,c){return cljs.core._write(b,"cljs.core/BlackNode")};cljs.core.__GT_BlackNode=function(a,b,c,d,e){return new cljs.core.BlackNode(a,b,c,d,e)};
var G__23312_23315=cljs.core.BlackNode.prototype,G__23313_23316=cljs.core.ITER_SYMBOL,G__23314_23317=function(a,b){return function(){return cljs.core.es6_iterator(this)}}(G__23312_23315,G__23313_23316);goog.object.set(G__23312_23315,G__23313_23316,G__23314_23317);cljs.core.RedNode=function(a,b,c,d,e){this.key=a;this.val=b;this.left=c;this.right=d;this.__hash=e;this.cljs$lang$protocol_mask$partition0$=166619935;this.cljs$lang$protocol_mask$partition1$=0};
cljs.core.RedNode.prototype.cljs$core$IFind$=cljs.core.PROTOCOL_SENTINEL;cljs.core.RedNode.prototype.cljs$core$IFind$_find$arity$2=function(a,b){switch(b){case 0:return new cljs.core.MapEntry(0,this.key,null);case 1:return new cljs.core.MapEntry(1,this.val,null);default:return null}};
cljs.core.RedNode.prototype.lastIndexOf=function(){var a=null,b=function(a){return cljs.core._lastIndexOf.cljs$core$IFn$_invoke$arity$3(this,a,cljs.core.count(this))},c=function(a,b){return cljs.core._lastIndexOf.cljs$core$IFn$_invoke$arity$3(this,a,b)};a=function(a,e){switch(arguments.length){case 1:return b.call(this,a);case 2:return c.call(this,a,e)}throw Error("Invalid arity: "+arguments.length);};a.cljs$core$IFn$_invoke$arity$1=b;a.cljs$core$IFn$_invoke$arity$2=c;return a}();
cljs.core.RedNode.prototype.indexOf=function(){var a=null,b=function(a){return cljs.core._indexOf.cljs$core$IFn$_invoke$arity$3(this,a,0)},c=function(a,b){return cljs.core._indexOf.cljs$core$IFn$_invoke$arity$3(this,a,b)};a=function(a,e){switch(arguments.length){case 1:return b.call(this,a);case 2:return c.call(this,a,e)}throw Error("Invalid arity: "+arguments.length);};a.cljs$core$IFn$_invoke$arity$1=b;a.cljs$core$IFn$_invoke$arity$2=c;return a}();
cljs.core.RedNode.prototype.add_right=function(a){return new cljs.core.RedNode(this.key,this.val,this.left,a,null)};cljs.core.RedNode.prototype.redden=function(){throw Error("red-black tree invariant violation");};cljs.core.RedNode.prototype.blacken=function(){return new cljs.core.BlackNode(this.key,this.val,this.left,this.right,null)};cljs.core.RedNode.prototype.add_left=function(a){return new cljs.core.RedNode(this.key,this.val,a,this.right,null)};
cljs.core.RedNode.prototype.replace=function(a,b,c,d){return new cljs.core.RedNode(a,b,c,d,null)};
cljs.core.RedNode.prototype.balance_left=function(a){return this.left instanceof cljs.core.RedNode?new cljs.core.RedNode(this.key,this.val,this.left.blacken(),new cljs.core.BlackNode(a.key,a.val,this.right,a.right,null),null):this.right instanceof cljs.core.RedNode?new cljs.core.RedNode(this.right.key,this.right.val,new cljs.core.BlackNode(this.key,this.val,this.left,this.right.left,null),new cljs.core.BlackNode(a.key,a.val,this.right.right,a.right,null),null):new cljs.core.BlackNode(a.key,a.val,
this,a.right,null)};
cljs.core.RedNode.prototype.balance_right=function(a){return this.right instanceof cljs.core.RedNode?new cljs.core.RedNode(this.key,this.val,new cljs.core.BlackNode(a.key,a.val,a.left,this.left,null),this.right.blacken(),null):this.left instanceof cljs.core.RedNode?new cljs.core.RedNode(this.left.key,this.left.val,new cljs.core.BlackNode(a.key,a.val,a.left,this.left.left,null),new cljs.core.BlackNode(this.key,this.val,this.left.right,this.right,null),null):new cljs.core.BlackNode(a.key,a.val,a.left,
this,null)};cljs.core.RedNode.prototype.remove_left=function(a){return new cljs.core.RedNode(this.key,this.val,a,this.right,null)};cljs.core.RedNode.prototype.kv_reduce=function(a,b){return cljs.core.tree_map_kv_reduce(this,a,b)};cljs.core.RedNode.prototype.remove_right=function(a){return new cljs.core.RedNode(this.key,this.val,this.left,a,null)};cljs.core.RedNode.prototype.cljs$core$ILookup$_lookup$arity$2=function(a,b){return this.cljs$core$IIndexed$_nth$arity$3(null,b,null)};
cljs.core.RedNode.prototype.cljs$core$ILookup$_lookup$arity$3=function(a,b,c){return this.cljs$core$IIndexed$_nth$arity$3(null,b,c)};cljs.core.RedNode.prototype.cljs$core$IIndexed$_nth$arity$2=function(a,b){if(0===b)return this.key;if(1===b)return this.val;throw Error("Index out of bounds");};cljs.core.RedNode.prototype.cljs$core$IIndexed$_nth$arity$3=function(a,b,c){return 0===b?this.key:1===b?this.val:c};
cljs.core.RedNode.prototype.cljs$core$IVector$_assoc_n$arity$3=function(a,b,c){return(new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[this.key,this.val],null)).cljs$core$IVector$_assoc_n$arity$3(null,b,c)};cljs.core.RedNode.prototype.cljs$core$IMeta$_meta$arity$1=function(a){return null};cljs.core.RedNode.prototype.cljs$core$ICounted$_count$arity$1=function(a){return 2};cljs.core.RedNode.prototype.cljs$core$IMapEntry$_key$arity$1=function(a){return this.key};
cljs.core.RedNode.prototype.cljs$core$IMapEntry$_val$arity$1=function(a){return this.val};cljs.core.RedNode.prototype.cljs$core$IStack$_peek$arity$1=function(a){return this.val};cljs.core.RedNode.prototype.cljs$core$IStack$_pop$arity$1=function(a){return new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[this.key],null)};cljs.core.RedNode.prototype.cljs$core$IReversible$_rseq$arity$1=function(a){return new cljs.core.IndexedSeq([this.val,this.key],0,null)};
cljs.core.RedNode.prototype.cljs$core$IHash$_hash$arity$1=function(a){a=this.__hash;return null!=a?a:this.__hash=a=cljs.core.hash_ordered_coll(this)};cljs.core.RedNode.prototype.cljs$core$IEquiv$_equiv$arity$2=function(a,b){return cljs.core.equiv_sequential(this,b)};cljs.core.RedNode.prototype.cljs$core$IEmptyableCollection$_empty$arity$1=function(a){return null};
cljs.core.RedNode.prototype.cljs$core$IReduce$_reduce$arity$2=function(a,b){return cljs.core.ci_reduce.cljs$core$IFn$_invoke$arity$2(this,b)};cljs.core.RedNode.prototype.cljs$core$IReduce$_reduce$arity$3=function(a,b,c){return cljs.core.ci_reduce.cljs$core$IFn$_invoke$arity$3(this,b,c)};
cljs.core.RedNode.prototype.cljs$core$IAssociative$_assoc$arity$3=function(a,b,c){return cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[this.key,this.val],null),b,c)};cljs.core.RedNode.prototype.cljs$core$IAssociative$_contains_key_QMARK_$arity$2=function(a,b){return 0===b||1===b};cljs.core.RedNode.prototype.cljs$core$ISeqable$_seq$arity$1=function(a){return new cljs.core.IndexedSeq([this.key,this.val],0,null)};
cljs.core.RedNode.prototype.cljs$core$IWithMeta$_with_meta$arity$2=function(a,b){return cljs.core._with_meta(new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[this.key,this.val],null),b)};cljs.core.RedNode.prototype.cljs$core$ICollection$_conj$arity$2=function(a,b){return new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,[this.key,this.val,b],null)};
cljs.core.RedNode.prototype.call=function(){var a=null;a=function(a,c,d){switch(arguments.length){case 2:return this.cljs$core$IIndexed$_nth$arity$2(null,c);case 3:return this.cljs$core$IIndexed$_nth$arity$3(null,c,d)}throw Error("Invalid arity: "+(arguments.length-1));};a.cljs$core$IFn$_invoke$arity$2=function(a,c){return this.cljs$core$IIndexed$_nth$arity$2(null,c)};a.cljs$core$IFn$_invoke$arity$3=function(a,c,d){return this.cljs$core$IIndexed$_nth$arity$3(null,c,d)};return a}();
cljs.core.RedNode.prototype.apply=function(a,b){return this.call.apply(this,[this].concat(cljs.core.aclone(b)))};cljs.core.RedNode.prototype.cljs$core$IFn$_invoke$arity$1=function(a){return this.cljs$core$IIndexed$_nth$arity$2(null,a)};cljs.core.RedNode.prototype.cljs$core$IFn$_invoke$arity$2=function(a,b){return this.cljs$core$IIndexed$_nth$arity$3(null,a,b)};
cljs.core.RedNode.getBasis=function(){return new cljs.core.PersistentVector(null,5,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"key","key",124488940,null),new cljs.core.Symbol(null,"val","val",1769233139,null),new cljs.core.Symbol(null,"left","left",1241415590,null),new cljs.core.Symbol(null,"right","right",1187949694,null),cljs.core.with_meta(new cljs.core.Symbol(null,"__hash","__hash",-1328796629,null),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"mutable",
"mutable",875778266),!0],null))],null)};cljs.core.RedNode.cljs$lang$type=!0;cljs.core.RedNode.cljs$lang$ctorStr="cljs.core/RedNode";cljs.core.RedNode.cljs$lang$ctorPrWriter=function(a,b,c){return cljs.core._write(b,"cljs.core/RedNode")};cljs.core.__GT_RedNode=function(a,b,c,d,e){return new cljs.core.RedNode(a,b,c,d,e)};
var G__23324_23327=cljs.core.RedNode.prototype,G__23325_23328=cljs.core.ITER_SYMBOL,G__23326_23329=function(a,b){return function(){return cljs.core.es6_iterator(this)}}(G__23324_23327,G__23325_23328);goog.object.set(G__23324_23327,G__23325_23328,G__23326_23329);
cljs.core.tree_map_add=function(a,b,c,d,e){if(null==b)return new cljs.core.RedNode(c,d,null,null,null);var f=function(){var d=b.key;return a.cljs$core$IFn$_invoke$arity$2?a.cljs$core$IFn$_invoke$arity$2(c,d):a.call(null,c,d)}();if(0===f)return e[0]=b,null;if(0>f)return f=function(){var f=b.left;return cljs.core.tree_map_add.cljs$core$IFn$_invoke$arity$5?cljs.core.tree_map_add.cljs$core$IFn$_invoke$arity$5(a,f,c,d,e):cljs.core.tree_map_add.call(null,a,f,c,d,e)}(),null!=f?b.add_left(f):null;f=function(){var f=
b.right;return cljs.core.tree_map_add.cljs$core$IFn$_invoke$arity$5?cljs.core.tree_map_add.cljs$core$IFn$_invoke$arity$5(a,f,c,d,e):cljs.core.tree_map_add.call(null,a,f,c,d,e)}();return null!=f?b.add_right(f):null};
cljs.core.tree_map_append=function(a,b){if(null==a)return b;if(null==b)return a;if(a instanceof cljs.core.RedNode){if(b instanceof cljs.core.RedNode){var c=function(){var c=a.right,e=b.left;return cljs.core.tree_map_append.cljs$core$IFn$_invoke$arity$2?cljs.core.tree_map_append.cljs$core$IFn$_invoke$arity$2(c,e):cljs.core.tree_map_append.call(null,c,e)}();return c instanceof cljs.core.RedNode?new cljs.core.RedNode(c.key,c.val,new cljs.core.RedNode(a.key,a.val,a.left,c.left,null),new cljs.core.RedNode(b.key,
b.val,c.right,b.right,null),null):new cljs.core.RedNode(a.key,a.val,a.left,new cljs.core.RedNode(b.key,b.val,c,b.right,null),null)}return new cljs.core.RedNode(a.key,a.val,a.left,function(){var c=a.right;return cljs.core.tree_map_append.cljs$core$IFn$_invoke$arity$2?cljs.core.tree_map_append.cljs$core$IFn$_invoke$arity$2(c,b):cljs.core.tree_map_append.call(null,c,b)}(),null)}if(b instanceof cljs.core.RedNode)return new cljs.core.RedNode(b.key,b.val,function(){var c=b.left;return cljs.core.tree_map_append.cljs$core$IFn$_invoke$arity$2?
cljs.core.tree_map_append.cljs$core$IFn$_invoke$arity$2(a,c):cljs.core.tree_map_append.call(null,a,c)}(),b.right,null);c=function(){var c=a.right,e=b.left;return cljs.core.tree_map_append.cljs$core$IFn$_invoke$arity$2?cljs.core.tree_map_append.cljs$core$IFn$_invoke$arity$2(c,e):cljs.core.tree_map_append.call(null,c,e)}();return c instanceof cljs.core.RedNode?new cljs.core.RedNode(c.key,c.val,new cljs.core.BlackNode(a.key,a.val,a.left,c.left,null),new cljs.core.BlackNode(b.key,b.val,c.right,b.right,
null),null):cljs.core.balance_left_del(a.key,a.val,a.left,new cljs.core.BlackNode(b.key,b.val,c,b.right,null))};
cljs.core.tree_map_remove=function(a,b,c,d){if(null!=b){var e=function(){var d=b.key;return a.cljs$core$IFn$_invoke$arity$2?a.cljs$core$IFn$_invoke$arity$2(c,d):a.call(null,c,d)}();if(0===e)return d[0]=b,cljs.core.tree_map_append(b.left,b.right);if(0>e)return e=function(){var e=b.left;return cljs.core.tree_map_remove.cljs$core$IFn$_invoke$arity$4?cljs.core.tree_map_remove.cljs$core$IFn$_invoke$arity$4(a,e,c,d):cljs.core.tree_map_remove.call(null,a,e,c,d)}(),null!=e||null!=d[0]?b.left instanceof cljs.core.BlackNode?
cljs.core.balance_left_del(b.key,b.val,e,b.right):new cljs.core.RedNode(b.key,b.val,e,b.right,null):null;e=function(){var e=b.right;return cljs.core.tree_map_remove.cljs$core$IFn$_invoke$arity$4?cljs.core.tree_map_remove.cljs$core$IFn$_invoke$arity$4(a,e,c,d):cljs.core.tree_map_remove.call(null,a,e,c,d)}();return null!=e||null!=d[0]?b.right instanceof cljs.core.BlackNode?cljs.core.balance_right_del(b.key,b.val,b.left,e):new cljs.core.RedNode(b.key,b.val,b.left,e,null):null}return null};
cljs.core.tree_map_replace=function(a,b,c,d){var e=b.key,f=a.cljs$core$IFn$_invoke$arity$2?a.cljs$core$IFn$_invoke$arity$2(c,e):a.call(null,c,e);return 0===f?b.replace(e,d,b.left,b.right):0>f?b.replace(e,b.val,function(){var e=b.left;return cljs.core.tree_map_replace.cljs$core$IFn$_invoke$arity$4?cljs.core.tree_map_replace.cljs$core$IFn$_invoke$arity$4(a,e,c,d):cljs.core.tree_map_replace.call(null,a,e,c,d)}(),b.right):b.replace(e,b.val,b.left,function(){var e=b.right;return cljs.core.tree_map_replace.cljs$core$IFn$_invoke$arity$4?
cljs.core.tree_map_replace.cljs$core$IFn$_invoke$arity$4(a,e,c,d):cljs.core.tree_map_replace.call(null,a,e,c,d)}())};cljs.core.PersistentTreeMap=function(a,b,c,d,e){this.comp=a;this.tree=b;this.cnt=c;this.meta=d;this.__hash=e;this.cljs$lang$protocol_mask$partition0$=418776847;this.cljs$lang$protocol_mask$partition1$=8192};cljs.core.PersistentTreeMap.prototype.cljs$core$IFind$=cljs.core.PROTOCOL_SENTINEL;cljs.core.PersistentTreeMap.prototype.cljs$core$IFind$_find$arity$2=function(a,b){return this.entry_at(b)};
cljs.core.PersistentTreeMap.prototype.forEach=function(a){for(var b=cljs.core.seq(this),c=null,d=0,e=0;;)if(e<d){var f=c.cljs$core$IIndexed$_nth$arity$2(null,e),g=cljs.core.nth.cljs$core$IFn$_invoke$arity$3(f,0,null);f=cljs.core.nth.cljs$core$IFn$_invoke$arity$3(f,1,null);a.cljs$core$IFn$_invoke$arity$2?a.cljs$core$IFn$_invoke$arity$2(f,g):a.call(null,f,g);e+=1}else if(b=cljs.core.seq(b))cljs.core.chunked_seq_QMARK_(b)?(c=cljs.core.chunk_first(b),b=cljs.core.chunk_rest(b),g=c,d=cljs.core.count(c),
c=g):(c=cljs.core.first(b),g=cljs.core.nth.cljs$core$IFn$_invoke$arity$3(c,0,null),f=cljs.core.nth.cljs$core$IFn$_invoke$arity$3(c,1,null),a.cljs$core$IFn$_invoke$arity$2?a.cljs$core$IFn$_invoke$arity$2(f,g):a.call(null,f,g),b=cljs.core.next(b),c=null,d=0),e=0;else return null};cljs.core.PersistentTreeMap.prototype.get=function(a,b){return this.cljs$core$ILookup$_lookup$arity$3(null,a,b)};cljs.core.PersistentTreeMap.prototype.entries=function(){return cljs.core.es6_entries_iterator(cljs.core.seq(this))};
cljs.core.PersistentTreeMap.prototype.toString=function(){return cljs.core.pr_str_STAR_(this)};cljs.core.PersistentTreeMap.prototype.keys=function(){return cljs.core.es6_iterator(cljs.core.keys(this))};cljs.core.PersistentTreeMap.prototype.values=function(){return cljs.core.es6_iterator(cljs.core.vals(this))};cljs.core.PersistentTreeMap.prototype.equiv=function(a){return this.cljs$core$IEquiv$_equiv$arity$2(null,a)};
cljs.core.PersistentTreeMap.prototype.entry_at=function(a){for(var b=this.tree;;)if(null!=b){var c=a;var d=b.key;c=this.comp.cljs$core$IFn$_invoke$arity$2?this.comp.cljs$core$IFn$_invoke$arity$2(c,d):this.comp.call(null,c,d);if(0===c)return b;b=0>c?b.left:b.right}else return null};cljs.core.PersistentTreeMap.prototype.has=function(a){return cljs.core.contains_QMARK_(this,a)};
cljs.core.PersistentTreeMap.prototype.cljs$core$ILookup$_lookup$arity$2=function(a,b){return this.cljs$core$ILookup$_lookup$arity$3(null,b,null)};cljs.core.PersistentTreeMap.prototype.cljs$core$ILookup$_lookup$arity$3=function(a,b,c){a=this.entry_at(b);return null!=a?a.val:c};cljs.core.PersistentTreeMap.prototype.cljs$core$IKVReduce$_kv_reduce$arity$3=function(a,b,c){return null!=this.tree?cljs.core.unreduced(cljs.core.tree_map_kv_reduce(this.tree,b,c)):c};
cljs.core.PersistentTreeMap.prototype.cljs$core$IMeta$_meta$arity$1=function(a){return this.meta};cljs.core.PersistentTreeMap.prototype.cljs$core$ICloneable$_clone$arity$1=function(a){return new cljs.core.PersistentTreeMap(this.comp,this.tree,this.cnt,this.meta,this.__hash)};cljs.core.PersistentTreeMap.prototype.cljs$core$ICounted$_count$arity$1=function(a){return this.cnt};
cljs.core.PersistentTreeMap.prototype.cljs$core$IReversible$_rseq$arity$1=function(a){return 0<this.cnt?cljs.core.create_tree_map_seq(this.tree,!1,this.cnt):null};cljs.core.PersistentTreeMap.prototype.cljs$core$IHash$_hash$arity$1=function(a){a=this.__hash;return null!=a?a:this.__hash=a=cljs.core.hash_unordered_coll(this)};cljs.core.PersistentTreeMap.prototype.cljs$core$IEquiv$_equiv$arity$2=function(a,b){return cljs.core.equiv_map(this,b)};
cljs.core.PersistentTreeMap.prototype.cljs$core$IEmptyableCollection$_empty$arity$1=function(a){return new cljs.core.PersistentTreeMap(this.comp,null,0,this.meta,0)};
cljs.core.PersistentTreeMap.prototype.cljs$core$IMap$_dissoc$arity$2=function(a,b){a=[null];b=cljs.core.tree_map_remove(this.comp,this.tree,b,a);return null==b?null==cljs.core.nth.cljs$core$IFn$_invoke$arity$2(a,0)?this:new cljs.core.PersistentTreeMap(this.comp,null,0,this.meta,null):new cljs.core.PersistentTreeMap(this.comp,b.blacken(),this.cnt-1,this.meta,null)};
cljs.core.PersistentTreeMap.prototype.cljs$core$IAssociative$_assoc$arity$3=function(a,b,c){a=[null];var d=cljs.core.tree_map_add(this.comp,this.tree,b,c,a);return null==d?(a=cljs.core.nth.cljs$core$IFn$_invoke$arity$2(a,0),cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(c,a.val)?this:new cljs.core.PersistentTreeMap(this.comp,cljs.core.tree_map_replace(this.comp,this.tree,b,c),this.cnt,this.meta,null)):new cljs.core.PersistentTreeMap(this.comp,d.blacken(),this.cnt+1,this.meta,null)};
cljs.core.PersistentTreeMap.prototype.cljs$core$IAssociative$_contains_key_QMARK_$arity$2=function(a,b){return null!=this.entry_at(b)};cljs.core.PersistentTreeMap.prototype.cljs$core$ISeqable$_seq$arity$1=function(a){return 0<this.cnt?cljs.core.create_tree_map_seq(this.tree,!0,this.cnt):null};cljs.core.PersistentTreeMap.prototype.cljs$core$IWithMeta$_with_meta$arity$2=function(a,b){return b===this.meta?this:new cljs.core.PersistentTreeMap(this.comp,this.tree,this.cnt,b,this.__hash)};
cljs.core.PersistentTreeMap.prototype.cljs$core$ICollection$_conj$arity$2=function(a,b){if(cljs.core.vector_QMARK_(b))return this.cljs$core$IAssociative$_assoc$arity$3(null,cljs.core._nth.cljs$core$IFn$_invoke$arity$2(b,0),cljs.core._nth.cljs$core$IFn$_invoke$arity$2(b,1));a=this;for(b=cljs.core.seq(b);;){if(null==b)return a;var c=cljs.core.first(b);if(cljs.core.vector_QMARK_(c))a=cljs.core._assoc(a,cljs.core._nth.cljs$core$IFn$_invoke$arity$2(c,0),cljs.core._nth.cljs$core$IFn$_invoke$arity$2(c,1)),
b=cljs.core.next(b);else throw Error("conj on a map takes map entries or seqables of map entries");}};
cljs.core.PersistentTreeMap.prototype.call=function(){var a=null;a=function(a,c,d){switch(arguments.length){case 2:return this.cljs$core$ILookup$_lookup$arity$2(null,c);case 3:return this.cljs$core$ILookup$_lookup$arity$3(null,c,d)}throw Error("Invalid arity: "+(arguments.length-1));};a.cljs$core$IFn$_invoke$arity$2=function(a,c){return this.cljs$core$ILookup$_lookup$arity$2(null,c)};a.cljs$core$IFn$_invoke$arity$3=function(a,c,d){return this.cljs$core$ILookup$_lookup$arity$3(null,c,d)};return a}();
cljs.core.PersistentTreeMap.prototype.apply=function(a,b){return this.call.apply(this,[this].concat(cljs.core.aclone(b)))};cljs.core.PersistentTreeMap.prototype.cljs$core$IFn$_invoke$arity$1=function(a){return this.cljs$core$ILookup$_lookup$arity$2(null,a)};cljs.core.PersistentTreeMap.prototype.cljs$core$IFn$_invoke$arity$2=function(a,b){return this.cljs$core$ILookup$_lookup$arity$3(null,a,b)};
cljs.core.PersistentTreeMap.prototype.cljs$core$ISorted$_sorted_seq$arity$2=function(a,b){return 0<this.cnt?cljs.core.create_tree_map_seq(this.tree,b,this.cnt):null};
cljs.core.PersistentTreeMap.prototype.cljs$core$ISorted$_sorted_seq_from$arity$3=function(a,b,c){if(0<this.cnt){a=null;for(var d=this.tree;;)if(null!=d){var e=b;var f=d.key;e=this.comp.cljs$core$IFn$_invoke$arity$2?this.comp.cljs$core$IFn$_invoke$arity$2(e,f):this.comp.call(null,e,f);if(0===e)return new cljs.core.PersistentTreeMapSeq(null,cljs.core.conj.cljs$core$IFn$_invoke$arity$2(a,d),c,-1,null);cljs.core.truth_(c)?0>e?(a=cljs.core.conj.cljs$core$IFn$_invoke$arity$2(a,d),d=d.left):d=d.right:0<
e?(a=cljs.core.conj.cljs$core$IFn$_invoke$arity$2(a,d),d=d.right):d=d.left}else return null==a?null:new cljs.core.PersistentTreeMapSeq(null,a,c,-1,null)}else return null};cljs.core.PersistentTreeMap.prototype.cljs$core$ISorted$_entry_key$arity$2=function(a,b){return cljs.core.key(b)};cljs.core.PersistentTreeMap.prototype.cljs$core$ISorted$_comparator$arity$1=function(a){return this.comp};
cljs.core.PersistentTreeMap.getBasis=function(){return new cljs.core.PersistentVector(null,5,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"comp","comp",-1462482139,null),new cljs.core.Symbol(null,"tree","tree",1444219499,null),new cljs.core.Symbol(null,"cnt","cnt",1924510325,null),new cljs.core.Symbol(null,"meta","meta",-1154898805,null),cljs.core.with_meta(new cljs.core.Symbol(null,"__hash","__hash",-1328796629,null),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,
"mutable","mutable",875778266),!0],null))],null)};cljs.core.PersistentTreeMap.cljs$lang$type=!0;cljs.core.PersistentTreeMap.cljs$lang$ctorStr="cljs.core/PersistentTreeMap";cljs.core.PersistentTreeMap.cljs$lang$ctorPrWriter=function(a,b,c){return cljs.core._write(b,"cljs.core/PersistentTreeMap")};cljs.core.__GT_PersistentTreeMap=function(a,b,c,d,e){return new cljs.core.PersistentTreeMap(a,b,c,d,e)};cljs.core.PersistentTreeMap.EMPTY=new cljs.core.PersistentTreeMap(cljs.core.compare,null,0,null,cljs.core.empty_unordered_hash);
var G__23416_23419=cljs.core.PersistentTreeMap.prototype,G__23417_23420=cljs.core.ITER_SYMBOL,G__23418_23421=function(a,b){return function(){return cljs.core.es6_iterator(this)}}(G__23416_23419,G__23417_23420);goog.object.set(G__23416_23419,G__23417_23420,G__23418_23421);cljs.core.hash_map=function(a){for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;b=0<b.length?new cljs.core.IndexedSeq(b.slice(0),0,null):null;return cljs.core.hash_map.cljs$core$IFn$_invoke$arity$variadic(b)};
cljs.core.hash_map.cljs$core$IFn$_invoke$arity$variadic=function(a){a=cljs.core.seq(a);for(var b=cljs.core.transient$(cljs.core.PersistentHashMap.EMPTY);;)if(a){var c=cljs.core.nnext(a);b=cljs.core.assoc_BANG_.cljs$core$IFn$_invoke$arity$3(b,cljs.core.first(a),cljs.core.second(a));a=c}else return cljs.core.persistent_BANG_(b)};cljs.core.hash_map.cljs$lang$maxFixedArity=0;cljs.core.hash_map.cljs$lang$applyTo=function(a){return this.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq(a))};
cljs.core.array_map=function(a){for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;b=0<b.length?new cljs.core.IndexedSeq(b.slice(0),0,null):null;return cljs.core.array_map.cljs$core$IFn$_invoke$arity$variadic(b)};cljs.core.array_map.cljs$core$IFn$_invoke$arity$variadic=function(a){a=a instanceof cljs.core.IndexedSeq&&0===a.i?a.arr:cljs.core.into_array.cljs$core$IFn$_invoke$arity$1(a);return cljs.core.PersistentArrayMap.createAsIfByAssoc(a)};
cljs.core.array_map.cljs$lang$maxFixedArity=0;cljs.core.array_map.cljs$lang$applyTo=function(a){return this.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq(a))};cljs.core.obj_map=function(a){for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;b=0<b.length?new cljs.core.IndexedSeq(b.slice(0),0,null):null;return cljs.core.obj_map.cljs$core$IFn$_invoke$arity$variadic(b)};
cljs.core.obj_map.cljs$core$IFn$_invoke$arity$variadic=function(a){var b=[],c={};for(a=cljs.core.seq(a);;)if(a){b.push(cljs.core.first(a));var d=c,e=cljs.core.first(a),f=cljs.core.second(a);goog.object.set(d,e,f);a=cljs.core.nnext(a)}else return cljs.core.ObjMap.fromObject(b,c)};cljs.core.obj_map.cljs$lang$maxFixedArity=0;cljs.core.obj_map.cljs$lang$applyTo=function(a){return this.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq(a))};
cljs.core.sorted_map=function(a){for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;b=0<b.length?new cljs.core.IndexedSeq(b.slice(0),0,null):null;return cljs.core.sorted_map.cljs$core$IFn$_invoke$arity$variadic(b)};
cljs.core.sorted_map.cljs$core$IFn$_invoke$arity$variadic=function(a){a=cljs.core.seq(a);for(var b=cljs.core.PersistentTreeMap.EMPTY;;)if(a){var c=cljs.core.nnext(a);b=cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(b,cljs.core.first(a),cljs.core.second(a));a=c}else return b};cljs.core.sorted_map.cljs$lang$maxFixedArity=0;cljs.core.sorted_map.cljs$lang$applyTo=function(a){return this.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq(a))};
cljs.core.sorted_map_by=function(a){for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;b=1<b.length?new cljs.core.IndexedSeq(b.slice(1),0,null):null;return cljs.core.sorted_map_by.cljs$core$IFn$_invoke$arity$variadic(arguments[0],b)};
cljs.core.sorted_map_by.cljs$core$IFn$_invoke$arity$variadic=function(a,b){b=cljs.core.seq(b);for(var c=new cljs.core.PersistentTreeMap(cljs.core.fn__GT_comparator(a),null,0,null,0);;)if(b)a=cljs.core.nnext(b),c=cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(c,cljs.core.first(b),cljs.core.second(b)),b=a;else return c};cljs.core.sorted_map_by.cljs$lang$maxFixedArity=1;
cljs.core.sorted_map_by.cljs$lang$applyTo=function(a){var b=cljs.core.first(a);a=cljs.core.next(a);return this.cljs$core$IFn$_invoke$arity$variadic(b,a)};cljs.core.KeySeq=function(a,b){this.mseq=a;this._meta=b;this.cljs$lang$protocol_mask$partition0$=32374988;this.cljs$lang$protocol_mask$partition1$=0};cljs.core.KeySeq.prototype.toString=function(){return cljs.core.pr_str_STAR_(this)};cljs.core.KeySeq.prototype.equiv=function(a){return this.cljs$core$IEquiv$_equiv$arity$2(null,a)};
cljs.core.KeySeq.prototype.indexOf=function(){var a=null,b=function(a){return cljs.core._indexOf.cljs$core$IFn$_invoke$arity$3(this,a,0)},c=function(a,b){return cljs.core._indexOf.cljs$core$IFn$_invoke$arity$3(this,a,b)};a=function(a,e){switch(arguments.length){case 1:return b.call(this,a);case 2:return c.call(this,a,e)}throw Error("Invalid arity: "+arguments.length);};a.cljs$core$IFn$_invoke$arity$1=b;a.cljs$core$IFn$_invoke$arity$2=c;return a}();
cljs.core.KeySeq.prototype.lastIndexOf=function(){var a=null,b=function(a){return cljs.core._lastIndexOf.cljs$core$IFn$_invoke$arity$3(this,a,cljs.core.count(this))},c=function(a,b){return cljs.core._lastIndexOf.cljs$core$IFn$_invoke$arity$3(this,a,b)};a=function(a,e){switch(arguments.length){case 1:return b.call(this,a);case 2:return c.call(this,a,e)}throw Error("Invalid arity: "+arguments.length);};a.cljs$core$IFn$_invoke$arity$1=b;a.cljs$core$IFn$_invoke$arity$2=c;return a}();
cljs.core.KeySeq.prototype.cljs$core$IMeta$_meta$arity$1=function(a){return this._meta};
cljs.core.KeySeq.prototype.cljs$core$INext$_next$arity$1=function(a){a=(null!=this.mseq?this.mseq.cljs$lang$protocol_mask$partition0$&128||cljs.core.PROTOCOL_SENTINEL===this.mseq.cljs$core$INext$||(this.mseq.cljs$lang$protocol_mask$partition0$?0:cljs.core.native_satisfies_QMARK_(cljs.core.INext,this.mseq)):cljs.core.native_satisfies_QMARK_(cljs.core.INext,this.mseq))?this.mseq.cljs$core$INext$_next$arity$1(null):cljs.core.next(this.mseq);return null==a?null:new cljs.core.KeySeq(a,null)};
cljs.core.KeySeq.prototype.cljs$core$IHash$_hash$arity$1=function(a){return cljs.core.hash_ordered_coll(this)};cljs.core.KeySeq.prototype.cljs$core$IEquiv$_equiv$arity$2=function(a,b){return cljs.core.equiv_sequential(this,b)};cljs.core.KeySeq.prototype.cljs$core$IEmptyableCollection$_empty$arity$1=function(a){return cljs.core.List.EMPTY};cljs.core.KeySeq.prototype.cljs$core$IReduce$_reduce$arity$2=function(a,b){return cljs.core.seq_reduce.cljs$core$IFn$_invoke$arity$2(b,this)};
cljs.core.KeySeq.prototype.cljs$core$IReduce$_reduce$arity$3=function(a,b,c){return cljs.core.seq_reduce.cljs$core$IFn$_invoke$arity$3(b,c,this)};cljs.core.KeySeq.prototype.cljs$core$ISeq$_first$arity$1=function(a){return this.mseq.cljs$core$ISeq$_first$arity$1(null).cljs$core$IMapEntry$_key$arity$1(null)};
cljs.core.KeySeq.prototype.cljs$core$ISeq$_rest$arity$1=function(a){a=(null!=this.mseq?this.mseq.cljs$lang$protocol_mask$partition0$&128||cljs.core.PROTOCOL_SENTINEL===this.mseq.cljs$core$INext$||(this.mseq.cljs$lang$protocol_mask$partition0$?0:cljs.core.native_satisfies_QMARK_(cljs.core.INext,this.mseq)):cljs.core.native_satisfies_QMARK_(cljs.core.INext,this.mseq))?this.mseq.cljs$core$INext$_next$arity$1(null):cljs.core.next(this.mseq);return null!=a?new cljs.core.KeySeq(a,null):cljs.core.List.EMPTY};
cljs.core.KeySeq.prototype.cljs$core$ISeqable$_seq$arity$1=function(a){return this};cljs.core.KeySeq.prototype.cljs$core$IWithMeta$_with_meta$arity$2=function(a,b){return b===this._meta?this:new cljs.core.KeySeq(this.mseq,b)};cljs.core.KeySeq.prototype.cljs$core$ICollection$_conj$arity$2=function(a,b){return cljs.core.cons(b,this)};
cljs.core.KeySeq.getBasis=function(){return new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[cljs.core.with_meta(new cljs.core.Symbol(null,"mseq","mseq",1602647196,null),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"tag","tag",-1290361223),new cljs.core.Symbol(null,"not-native","not-native",-236392494,null)],null)),new cljs.core.Symbol(null,"_meta","_meta",-1716892533,null)],null)};cljs.core.KeySeq.cljs$lang$type=!0;
cljs.core.KeySeq.cljs$lang$ctorStr="cljs.core/KeySeq";cljs.core.KeySeq.cljs$lang$ctorPrWriter=function(a,b,c){return cljs.core._write(b,"cljs.core/KeySeq")};cljs.core.__GT_KeySeq=function(a,b){return new cljs.core.KeySeq(a,b)};var G__23462_23465=cljs.core.KeySeq.prototype,G__23463_23466=cljs.core.ITER_SYMBOL,G__23464_23467=function(a,b){return function(){return cljs.core.es6_iterator(this)}}(G__23462_23465,G__23463_23466);goog.object.set(G__23462_23465,G__23463_23466,G__23464_23467);
cljs.core.keys=function(a){return(a=cljs.core.seq(a))?new cljs.core.KeySeq(a,null):null};cljs.core.key=function(a){return cljs.core._key(a)};cljs.core.ValSeq=function(a,b){this.mseq=a;this._meta=b;this.cljs$lang$protocol_mask$partition0$=32374988;this.cljs$lang$protocol_mask$partition1$=0};cljs.core.ValSeq.prototype.toString=function(){return cljs.core.pr_str_STAR_(this)};cljs.core.ValSeq.prototype.equiv=function(a){return this.cljs$core$IEquiv$_equiv$arity$2(null,a)};
cljs.core.ValSeq.prototype.indexOf=function(){var a=null,b=function(a){return cljs.core._indexOf.cljs$core$IFn$_invoke$arity$3(this,a,0)},c=function(a,b){return cljs.core._indexOf.cljs$core$IFn$_invoke$arity$3(this,a,b)};a=function(a,e){switch(arguments.length){case 1:return b.call(this,a);case 2:return c.call(this,a,e)}throw Error("Invalid arity: "+arguments.length);};a.cljs$core$IFn$_invoke$arity$1=b;a.cljs$core$IFn$_invoke$arity$2=c;return a}();
cljs.core.ValSeq.prototype.lastIndexOf=function(){var a=null,b=function(a){return cljs.core._lastIndexOf.cljs$core$IFn$_invoke$arity$3(this,a,cljs.core.count(this))},c=function(a,b){return cljs.core._lastIndexOf.cljs$core$IFn$_invoke$arity$3(this,a,b)};a=function(a,e){switch(arguments.length){case 1:return b.call(this,a);case 2:return c.call(this,a,e)}throw Error("Invalid arity: "+arguments.length);};a.cljs$core$IFn$_invoke$arity$1=b;a.cljs$core$IFn$_invoke$arity$2=c;return a}();
cljs.core.ValSeq.prototype.cljs$core$IMeta$_meta$arity$1=function(a){return this._meta};
cljs.core.ValSeq.prototype.cljs$core$INext$_next$arity$1=function(a){a=(null!=this.mseq?this.mseq.cljs$lang$protocol_mask$partition0$&128||cljs.core.PROTOCOL_SENTINEL===this.mseq.cljs$core$INext$||(this.mseq.cljs$lang$protocol_mask$partition0$?0:cljs.core.native_satisfies_QMARK_(cljs.core.INext,this.mseq)):cljs.core.native_satisfies_QMARK_(cljs.core.INext,this.mseq))?this.mseq.cljs$core$INext$_next$arity$1(null):cljs.core.next(this.mseq);return null==a?null:new cljs.core.ValSeq(a,null)};
cljs.core.ValSeq.prototype.cljs$core$IHash$_hash$arity$1=function(a){return cljs.core.hash_ordered_coll(this)};cljs.core.ValSeq.prototype.cljs$core$IEquiv$_equiv$arity$2=function(a,b){return cljs.core.equiv_sequential(this,b)};cljs.core.ValSeq.prototype.cljs$core$IEmptyableCollection$_empty$arity$1=function(a){return cljs.core.List.EMPTY};cljs.core.ValSeq.prototype.cljs$core$IReduce$_reduce$arity$2=function(a,b){return cljs.core.seq_reduce.cljs$core$IFn$_invoke$arity$2(b,this)};
cljs.core.ValSeq.prototype.cljs$core$IReduce$_reduce$arity$3=function(a,b,c){return cljs.core.seq_reduce.cljs$core$IFn$_invoke$arity$3(b,c,this)};cljs.core.ValSeq.prototype.cljs$core$ISeq$_first$arity$1=function(a){return this.mseq.cljs$core$ISeq$_first$arity$1(null).cljs$core$IMapEntry$_val$arity$1(null)};
cljs.core.ValSeq.prototype.cljs$core$ISeq$_rest$arity$1=function(a){a=(null!=this.mseq?this.mseq.cljs$lang$protocol_mask$partition0$&128||cljs.core.PROTOCOL_SENTINEL===this.mseq.cljs$core$INext$||(this.mseq.cljs$lang$protocol_mask$partition0$?0:cljs.core.native_satisfies_QMARK_(cljs.core.INext,this.mseq)):cljs.core.native_satisfies_QMARK_(cljs.core.INext,this.mseq))?this.mseq.cljs$core$INext$_next$arity$1(null):cljs.core.next(this.mseq);return null!=a?new cljs.core.ValSeq(a,null):cljs.core.List.EMPTY};
cljs.core.ValSeq.prototype.cljs$core$ISeqable$_seq$arity$1=function(a){return this};cljs.core.ValSeq.prototype.cljs$core$IWithMeta$_with_meta$arity$2=function(a,b){return b===this._meta?this:new cljs.core.ValSeq(this.mseq,b)};cljs.core.ValSeq.prototype.cljs$core$ICollection$_conj$arity$2=function(a,b){return cljs.core.cons(b,this)};
cljs.core.ValSeq.getBasis=function(){return new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[cljs.core.with_meta(new cljs.core.Symbol(null,"mseq","mseq",1602647196,null),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"tag","tag",-1290361223),new cljs.core.Symbol(null,"not-native","not-native",-236392494,null)],null)),new cljs.core.Symbol(null,"_meta","_meta",-1716892533,null)],null)};cljs.core.ValSeq.cljs$lang$type=!0;
cljs.core.ValSeq.cljs$lang$ctorStr="cljs.core/ValSeq";cljs.core.ValSeq.cljs$lang$ctorPrWriter=function(a,b,c){return cljs.core._write(b,"cljs.core/ValSeq")};cljs.core.__GT_ValSeq=function(a,b){return new cljs.core.ValSeq(a,b)};var G__23472_23475=cljs.core.ValSeq.prototype,G__23473_23476=cljs.core.ITER_SYMBOL,G__23474_23477=function(a,b){return function(){return cljs.core.es6_iterator(this)}}(G__23472_23475,G__23473_23476);goog.object.set(G__23472_23475,G__23473_23476,G__23474_23477);
cljs.core.vals=function(a){return(a=cljs.core.seq(a))?new cljs.core.ValSeq(a,null):null};cljs.core.val=function(a){return cljs.core._val(a)};cljs.core.merge=function(a){for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;b=0<b.length?new cljs.core.IndexedSeq(b.slice(0),0,null):null;return cljs.core.merge.cljs$core$IFn$_invoke$arity$variadic(b)};
cljs.core.merge.cljs$core$IFn$_invoke$arity$variadic=function(a){return cljs.core.truth_(cljs.core.some(cljs.core.identity,a))?cljs.core.reduce.cljs$core$IFn$_invoke$arity$2(function(a,c){return cljs.core.conj.cljs$core$IFn$_invoke$arity$2(cljs.core.truth_(a)?a:cljs.core.PersistentArrayMap.EMPTY,c)},a):null};cljs.core.merge.cljs$lang$maxFixedArity=0;cljs.core.merge.cljs$lang$applyTo=function(a){return this.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq(a))};
cljs.core.merge_with=function(a){for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;b=1<b.length?new cljs.core.IndexedSeq(b.slice(1),0,null):null;return cljs.core.merge_with.cljs$core$IFn$_invoke$arity$variadic(arguments[0],b)};
cljs.core.merge_with.cljs$core$IFn$_invoke$arity$variadic=function(a,b){if(cljs.core.truth_(cljs.core.some(cljs.core.identity,b))){var c=function(a){return function(b,c){return cljs.core.reduce.cljs$core$IFn$_invoke$arity$3(a,cljs.core.truth_(b)?b:cljs.core.PersistentArrayMap.EMPTY,cljs.core.seq(c))}}(function(b,c){var d=cljs.core.key(c),e=cljs.core.val(c);return cljs.core.contains_QMARK_(b,d)?cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(b,d,function(){var c=cljs.core.get.cljs$core$IFn$_invoke$arity$2(b,
d);return a.cljs$core$IFn$_invoke$arity$2?a.cljs$core$IFn$_invoke$arity$2(c,e):a.call(null,c,e)}()):cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(b,d,e)});return cljs.core.reduce.cljs$core$IFn$_invoke$arity$2(c,b)}return null};cljs.core.merge_with.cljs$lang$maxFixedArity=1;cljs.core.merge_with.cljs$lang$applyTo=function(a){var b=cljs.core.first(a);a=cljs.core.next(a);return this.cljs$core$IFn$_invoke$arity$variadic(b,a)};
cljs.core.select_keys=function(a,b){var c=cljs.core.PersistentArrayMap.EMPTY;for(b=cljs.core.seq(b);;)if(b){var d=cljs.core.first(b),e=cljs.core.get.cljs$core$IFn$_invoke$arity$3(a,d,new cljs.core.Keyword("cljs.core","not-found","cljs.core/not-found",-1572889185));c=cljs.core.not_EQ_.cljs$core$IFn$_invoke$arity$2(e,new cljs.core.Keyword("cljs.core","not-found","cljs.core/not-found",-1572889185))?cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(c,d,e):c;b=cljs.core.next(b)}else return cljs.core._with_meta(c,
cljs.core.meta(a))};cljs.core.HashSetIter=function(a){this.iter=a};cljs.core.HashSetIter.prototype.hasNext=function(){return this.iter.hasNext()};cljs.core.HashSetIter.prototype.next=function(){if(this.iter.hasNext())return this.iter.next().key;throw Error("No such element");};cljs.core.HashSetIter.prototype.remove=function(){return Error("Unsupported operation")};
cljs.core.HashSetIter.getBasis=function(){return new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"iter","iter",-1346195486,null)],null)};cljs.core.HashSetIter.cljs$lang$type=!0;cljs.core.HashSetIter.cljs$lang$ctorStr="cljs.core/HashSetIter";cljs.core.HashSetIter.cljs$lang$ctorPrWriter=function(a,b,c){return cljs.core._write(b,"cljs.core/HashSetIter")};cljs.core.__GT_HashSetIter=function(a){return new cljs.core.HashSetIter(a)};
cljs.core.PersistentHashSet=function(a,b,c){this.meta=a;this.hash_map=b;this.__hash=c;this.cljs$lang$protocol_mask$partition0$=15077647;this.cljs$lang$protocol_mask$partition1$=139268};cljs.core.PersistentHashSet.prototype.toString=function(){return cljs.core.pr_str_STAR_(this)};cljs.core.PersistentHashSet.prototype.equiv=function(a){return this.cljs$core$IEquiv$_equiv$arity$2(null,a)};cljs.core.PersistentHashSet.prototype.keys=function(){return cljs.core.es6_iterator(cljs.core.seq(this))};
cljs.core.PersistentHashSet.prototype.entries=function(){return cljs.core.es6_set_entries_iterator(cljs.core.seq(this))};cljs.core.PersistentHashSet.prototype.values=function(){return cljs.core.es6_iterator(cljs.core.seq(this))};cljs.core.PersistentHashSet.prototype.has=function(a){return cljs.core.contains_QMARK_(this,a)};
cljs.core.PersistentHashSet.prototype.forEach=function(a){for(var b=cljs.core.seq(this),c=null,d=0,e=0;;)if(e<d){var f=c.cljs$core$IIndexed$_nth$arity$2(null,e),g=cljs.core.nth.cljs$core$IFn$_invoke$arity$3(f,0,null);f=cljs.core.nth.cljs$core$IFn$_invoke$arity$3(f,1,null);a.cljs$core$IFn$_invoke$arity$2?a.cljs$core$IFn$_invoke$arity$2(f,g):a.call(null,f,g);e+=1}else if(b=cljs.core.seq(b))cljs.core.chunked_seq_QMARK_(b)?(c=cljs.core.chunk_first(b),b=cljs.core.chunk_rest(b),g=c,d=cljs.core.count(c),
c=g):(c=cljs.core.first(b),g=cljs.core.nth.cljs$core$IFn$_invoke$arity$3(c,0,null),f=cljs.core.nth.cljs$core$IFn$_invoke$arity$3(c,1,null),a.cljs$core$IFn$_invoke$arity$2?a.cljs$core$IFn$_invoke$arity$2(f,g):a.call(null,f,g),b=cljs.core.next(b),c=null,d=0),e=0;else return null};cljs.core.PersistentHashSet.prototype.cljs$core$ILookup$_lookup$arity$2=function(a,b){return this.cljs$core$ILookup$_lookup$arity$3(null,b,null)};
cljs.core.PersistentHashSet.prototype.cljs$core$ILookup$_lookup$arity$3=function(a,b,c){a=cljs.core._find(this.hash_map,b);return cljs.core.truth_(a)?cljs.core.key(a):c};cljs.core.PersistentHashSet.prototype.cljs$core$IIterable$_iterator$arity$1=function(a){return new cljs.core.HashSetIter(cljs.core._iterator(this.hash_map))};cljs.core.PersistentHashSet.prototype.cljs$core$IMeta$_meta$arity$1=function(a){return this.meta};
cljs.core.PersistentHashSet.prototype.cljs$core$ICloneable$_clone$arity$1=function(a){return new cljs.core.PersistentHashSet(this.meta,this.hash_map,this.__hash)};cljs.core.PersistentHashSet.prototype.cljs$core$ICounted$_count$arity$1=function(a){return cljs.core._count(this.hash_map)};cljs.core.PersistentHashSet.prototype.cljs$core$IHash$_hash$arity$1=function(a){a=this.__hash;return null!=a?a:this.__hash=a=cljs.core.hash_unordered_coll(this)};
cljs.core.PersistentHashSet.prototype.cljs$core$IEquiv$_equiv$arity$2=function(a,b){if(a=cljs.core.set_QMARK_(b)){var c=cljs.core.count(this)===cljs.core.count(b);if(c)try{return cljs.core.reduce_kv(function(a,c,f){return function(a,c){return(a=cljs.core.contains_QMARK_(b,c))?a:cljs.core.reduced(!1)}}(c,a,this),!0,this.hash_map)}catch(d){if(d instanceof Error)return!1;throw d;}else return c}else return a};cljs.core.PersistentHashSet.prototype.cljs$core$IEditableCollection$_as_transient$arity$1=function(a){return new cljs.core.TransientHashSet(cljs.core._as_transient(this.hash_map))};
cljs.core.PersistentHashSet.prototype.cljs$core$IEmptyableCollection$_empty$arity$1=function(a){return cljs.core._with_meta(cljs.core.PersistentHashSet.EMPTY,this.meta)};cljs.core.PersistentHashSet.prototype.cljs$core$ISet$_disjoin$arity$2=function(a,b){return new cljs.core.PersistentHashSet(this.meta,cljs.core._dissoc(this.hash_map,b),null)};cljs.core.PersistentHashSet.prototype.cljs$core$ISeqable$_seq$arity$1=function(a){return cljs.core.keys(this.hash_map)};
cljs.core.PersistentHashSet.prototype.cljs$core$IWithMeta$_with_meta$arity$2=function(a,b){return b===this.meta?this:new cljs.core.PersistentHashSet(b,this.hash_map,this.__hash)};cljs.core.PersistentHashSet.prototype.cljs$core$ICollection$_conj$arity$2=function(a,b){return new cljs.core.PersistentHashSet(this.meta,cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(this.hash_map,b,null),null)};
cljs.core.PersistentHashSet.prototype.call=function(){var a=null;a=function(a,c,d){switch(arguments.length){case 2:return this.cljs$core$ILookup$_lookup$arity$2(null,c);case 3:return this.cljs$core$ILookup$_lookup$arity$3(null,c,d)}throw Error("Invalid arity: "+(arguments.length-1));};a.cljs$core$IFn$_invoke$arity$2=function(a,c){return this.cljs$core$ILookup$_lookup$arity$2(null,c)};a.cljs$core$IFn$_invoke$arity$3=function(a,c,d){return this.cljs$core$ILookup$_lookup$arity$3(null,c,d)};return a}();
cljs.core.PersistentHashSet.prototype.apply=function(a,b){return this.call.apply(this,[this].concat(cljs.core.aclone(b)))};cljs.core.PersistentHashSet.prototype.cljs$core$IFn$_invoke$arity$1=function(a){return this.cljs$core$ILookup$_lookup$arity$2(null,a)};cljs.core.PersistentHashSet.prototype.cljs$core$IFn$_invoke$arity$2=function(a,b){return this.cljs$core$ILookup$_lookup$arity$3(null,a,b)};
cljs.core.PersistentHashSet.getBasis=function(){return new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"meta","meta",-1154898805,null),new cljs.core.Symbol(null,"hash-map","hash-map",-439030950,null),cljs.core.with_meta(new cljs.core.Symbol(null,"__hash","__hash",-1328796629,null),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"mutable","mutable",875778266),!0],null))],null)};cljs.core.PersistentHashSet.cljs$lang$type=!0;
cljs.core.PersistentHashSet.cljs$lang$ctorStr="cljs.core/PersistentHashSet";cljs.core.PersistentHashSet.cljs$lang$ctorPrWriter=function(a,b,c){return cljs.core._write(b,"cljs.core/PersistentHashSet")};cljs.core.__GT_PersistentHashSet=function(a,b,c){return new cljs.core.PersistentHashSet(a,b,c)};cljs.core.PersistentHashSet.EMPTY=new cljs.core.PersistentHashSet(null,cljs.core.PersistentArrayMap.EMPTY,cljs.core.empty_unordered_hash);
cljs.core.PersistentHashSet.fromArray=function(a,b){var c=a.length;if(c<=cljs.core.PersistentArrayMap.HASHMAP_THRESHOLD){b||cljs.core.aclone(a);b=0;for(var d=cljs.core.transient$(cljs.core.PersistentArrayMap.EMPTY);;)if(b<c){var e=b+1;d=cljs.core._assoc_BANG_(d,a[b],null);b=e}else return new cljs.core.PersistentHashSet(null,cljs.core._persistent_BANG_(d),null)}else for(b=0,d=cljs.core.transient$(cljs.core.PersistentHashSet.EMPTY);;)if(b<c)e=b+1,d=cljs.core._conj_BANG_(d,a[b]),b=e;else return cljs.core._persistent_BANG_(d)};
cljs.core.PersistentHashSet.createWithCheck=function(a){for(var b=a.length,c=cljs.core._as_transient(cljs.core.PersistentHashSet.EMPTY),d=0;;)if(d<b){cljs.core._conj_BANG_(c,a[d]);if(!cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(cljs.core.count(c),d+1))throw Error(["Duplicate key: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(a[d])].join(""));d+=1}else break;return cljs.core._persistent_BANG_(c)};
cljs.core.PersistentHashSet.createAsIfByAssoc=function(a){for(var b=a.length,c=cljs.core._as_transient(cljs.core.PersistentHashSet.EMPTY),d=0;;)if(d<b)cljs.core._conj_BANG_(c,a[d]),d+=1;else break;return cljs.core._persistent_BANG_(c)};var G__23538_23541=cljs.core.PersistentHashSet.prototype,G__23539_23542=cljs.core.ITER_SYMBOL,G__23540_23543=function(a,b){return function(){return cljs.core.es6_iterator(this)}}(G__23538_23541,G__23539_23542);goog.object.set(G__23538_23541,G__23539_23542,G__23540_23543);
cljs.core.TransientHashSet=function(a){this.transient_map=a;this.cljs$lang$protocol_mask$partition1$=136;this.cljs$lang$protocol_mask$partition0$=259};cljs.core.TransientHashSet.prototype.cljs$core$ITransientCollection$_conj_BANG_$arity$2=function(a,b){this.transient_map=cljs.core.assoc_BANG_.cljs$core$IFn$_invoke$arity$3(this.transient_map,b,null);return this};
cljs.core.TransientHashSet.prototype.cljs$core$ITransientCollection$_persistent_BANG_$arity$1=function(a){return new cljs.core.PersistentHashSet(null,cljs.core.persistent_BANG_(this.transient_map),null)};cljs.core.TransientHashSet.prototype.cljs$core$ITransientSet$_disjoin_BANG_$arity$2=function(a,b){this.transient_map=cljs.core.dissoc_BANG_.cljs$core$IFn$_invoke$arity$2(this.transient_map,b);return this};cljs.core.TransientHashSet.prototype.cljs$core$ICounted$_count$arity$1=function(a){return cljs.core.count(this.transient_map)};
cljs.core.TransientHashSet.prototype.cljs$core$ILookup$_lookup$arity$2=function(a,b){return this.cljs$core$ILookup$_lookup$arity$3(null,b,null)};cljs.core.TransientHashSet.prototype.cljs$core$ILookup$_lookup$arity$3=function(a,b,c){return cljs.core._lookup.cljs$core$IFn$_invoke$arity$3(this.transient_map,b,cljs.core.lookup_sentinel)===cljs.core.lookup_sentinel?c:b};
cljs.core.TransientHashSet.prototype.call=function(){var a=null,b=function(a,b){return cljs.core._lookup.cljs$core$IFn$_invoke$arity$3(this.transient_map,b,cljs.core.lookup_sentinel)===cljs.core.lookup_sentinel?null:b},c=function(a,b,c){return cljs.core._lookup.cljs$core$IFn$_invoke$arity$3(this.transient_map,b,cljs.core.lookup_sentinel)===cljs.core.lookup_sentinel?c:b};a=function(a,e,f){switch(arguments.length){case 2:return b.call(this,a,e);case 3:return c.call(this,a,e,f)}throw Error("Invalid arity: "+
(arguments.length-1));};a.cljs$core$IFn$_invoke$arity$2=b;a.cljs$core$IFn$_invoke$arity$3=c;return a}();cljs.core.TransientHashSet.prototype.apply=function(a,b){return this.call.apply(this,[this].concat(cljs.core.aclone(b)))};cljs.core.TransientHashSet.prototype.cljs$core$IFn$_invoke$arity$1=function(a){return cljs.core._lookup.cljs$core$IFn$_invoke$arity$3(this.transient_map,a,cljs.core.lookup_sentinel)===cljs.core.lookup_sentinel?null:a};
cljs.core.TransientHashSet.prototype.cljs$core$IFn$_invoke$arity$2=function(a,b){return cljs.core._lookup.cljs$core$IFn$_invoke$arity$3(this.transient_map,a,cljs.core.lookup_sentinel)===cljs.core.lookup_sentinel?b:a};
cljs.core.TransientHashSet.getBasis=function(){return new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[cljs.core.with_meta(new cljs.core.Symbol(null,"transient-map","transient-map",351764893,null),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"mutable","mutable",875778266),!0],null))],null)};cljs.core.TransientHashSet.cljs$lang$type=!0;cljs.core.TransientHashSet.cljs$lang$ctorStr="cljs.core/TransientHashSet";
cljs.core.TransientHashSet.cljs$lang$ctorPrWriter=function(a,b,c){return cljs.core._write(b,"cljs.core/TransientHashSet")};cljs.core.__GT_TransientHashSet=function(a){return new cljs.core.TransientHashSet(a)};cljs.core.PersistentTreeSet=function(a,b,c){this.meta=a;this.tree_map=b;this.__hash=c;this.cljs$lang$protocol_mask$partition0$=417730831;this.cljs$lang$protocol_mask$partition1$=8192};cljs.core.PersistentTreeSet.prototype.toString=function(){return cljs.core.pr_str_STAR_(this)};
cljs.core.PersistentTreeSet.prototype.equiv=function(a){return this.cljs$core$IEquiv$_equiv$arity$2(null,a)};cljs.core.PersistentTreeSet.prototype.keys=function(){return cljs.core.es6_iterator(cljs.core.seq(this))};cljs.core.PersistentTreeSet.prototype.entries=function(){return cljs.core.es6_set_entries_iterator(cljs.core.seq(this))};cljs.core.PersistentTreeSet.prototype.values=function(){return cljs.core.es6_iterator(cljs.core.seq(this))};
cljs.core.PersistentTreeSet.prototype.has=function(a){return cljs.core.contains_QMARK_(this,a)};
cljs.core.PersistentTreeSet.prototype.forEach=function(a){for(var b=cljs.core.seq(this),c=null,d=0,e=0;;)if(e<d){var f=c.cljs$core$IIndexed$_nth$arity$2(null,e),g=cljs.core.nth.cljs$core$IFn$_invoke$arity$3(f,0,null);f=cljs.core.nth.cljs$core$IFn$_invoke$arity$3(f,1,null);a.cljs$core$IFn$_invoke$arity$2?a.cljs$core$IFn$_invoke$arity$2(f,g):a.call(null,f,g);e+=1}else if(b=cljs.core.seq(b))cljs.core.chunked_seq_QMARK_(b)?(c=cljs.core.chunk_first(b),b=cljs.core.chunk_rest(b),g=c,d=cljs.core.count(c),
c=g):(c=cljs.core.first(b),g=cljs.core.nth.cljs$core$IFn$_invoke$arity$3(c,0,null),f=cljs.core.nth.cljs$core$IFn$_invoke$arity$3(c,1,null),a.cljs$core$IFn$_invoke$arity$2?a.cljs$core$IFn$_invoke$arity$2(f,g):a.call(null,f,g),b=cljs.core.next(b),c=null,d=0),e=0;else return null};cljs.core.PersistentTreeSet.prototype.cljs$core$ILookup$_lookup$arity$2=function(a,b){return this.cljs$core$ILookup$_lookup$arity$3(null,b,null)};
cljs.core.PersistentTreeSet.prototype.cljs$core$ILookup$_lookup$arity$3=function(a,b,c){a=this.tree_map.entry_at(b);return null!=a?a.key:c};cljs.core.PersistentTreeSet.prototype.cljs$core$IMeta$_meta$arity$1=function(a){return this.meta};cljs.core.PersistentTreeSet.prototype.cljs$core$ICloneable$_clone$arity$1=function(a){return new cljs.core.PersistentTreeSet(this.meta,this.tree_map,this.__hash)};cljs.core.PersistentTreeSet.prototype.cljs$core$ICounted$_count$arity$1=function(a){return cljs.core.count(this.tree_map)};
cljs.core.PersistentTreeSet.prototype.cljs$core$IReversible$_rseq$arity$1=function(a){return 0<cljs.core.count(this.tree_map)?cljs.core.map.cljs$core$IFn$_invoke$arity$2(cljs.core.key,cljs.core.rseq(this.tree_map)):null};cljs.core.PersistentTreeSet.prototype.cljs$core$IHash$_hash$arity$1=function(a){a=this.__hash;return null!=a?a:this.__hash=a=cljs.core.hash_unordered_coll(this)};
cljs.core.PersistentTreeSet.prototype.cljs$core$IEquiv$_equiv$arity$2=function(a,b){if(a=cljs.core.set_QMARK_(b)){var c=cljs.core.count(this)===cljs.core.count(b);if(c)try{return cljs.core.reduce_kv(function(a,c,f){return function(a,c){return(a=cljs.core.contains_QMARK_(b,c))?a:cljs.core.reduced(!1)}}(c,a,this),!0,this.tree_map)}catch(d){if(d instanceof Error)return!1;throw d;}else return c}else return a};
cljs.core.PersistentTreeSet.prototype.cljs$core$IEmptyableCollection$_empty$arity$1=function(a){return new cljs.core.PersistentTreeSet(this.meta,cljs.core._empty(this.tree_map),0)};cljs.core.PersistentTreeSet.prototype.cljs$core$ISet$_disjoin$arity$2=function(a,b){return new cljs.core.PersistentTreeSet(this.meta,cljs.core.dissoc.cljs$core$IFn$_invoke$arity$2(this.tree_map,b),null)};cljs.core.PersistentTreeSet.prototype.cljs$core$ISeqable$_seq$arity$1=function(a){return cljs.core.keys(this.tree_map)};
cljs.core.PersistentTreeSet.prototype.cljs$core$IWithMeta$_with_meta$arity$2=function(a,b){return b===this.meta?this:new cljs.core.PersistentTreeSet(b,this.tree_map,this.__hash)};cljs.core.PersistentTreeSet.prototype.cljs$core$ICollection$_conj$arity$2=function(a,b){return new cljs.core.PersistentTreeSet(this.meta,cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(this.tree_map,b,null),null)};
cljs.core.PersistentTreeSet.prototype.call=function(){var a=null;a=function(a,c,d){switch(arguments.length){case 2:return this.cljs$core$ILookup$_lookup$arity$2(null,c);case 3:return this.cljs$core$ILookup$_lookup$arity$3(null,c,d)}throw Error("Invalid arity: "+(arguments.length-1));};a.cljs$core$IFn$_invoke$arity$2=function(a,c){return this.cljs$core$ILookup$_lookup$arity$2(null,c)};a.cljs$core$IFn$_invoke$arity$3=function(a,c,d){return this.cljs$core$ILookup$_lookup$arity$3(null,c,d)};return a}();
cljs.core.PersistentTreeSet.prototype.apply=function(a,b){return this.call.apply(this,[this].concat(cljs.core.aclone(b)))};cljs.core.PersistentTreeSet.prototype.cljs$core$IFn$_invoke$arity$1=function(a){return this.cljs$core$ILookup$_lookup$arity$2(null,a)};cljs.core.PersistentTreeSet.prototype.cljs$core$IFn$_invoke$arity$2=function(a,b){return this.cljs$core$ILookup$_lookup$arity$3(null,a,b)};
cljs.core.PersistentTreeSet.prototype.cljs$core$ISorted$_sorted_seq$arity$2=function(a,b){return cljs.core.map.cljs$core$IFn$_invoke$arity$2(cljs.core.key,cljs.core._sorted_seq(this.tree_map,b))};cljs.core.PersistentTreeSet.prototype.cljs$core$ISorted$_sorted_seq_from$arity$3=function(a,b,c){return cljs.core.map.cljs$core$IFn$_invoke$arity$2(cljs.core.key,cljs.core._sorted_seq_from(this.tree_map,b,c))};cljs.core.PersistentTreeSet.prototype.cljs$core$ISorted$_entry_key$arity$2=function(a,b){return b};
cljs.core.PersistentTreeSet.prototype.cljs$core$ISorted$_comparator$arity$1=function(a){return cljs.core._comparator(this.tree_map)};
cljs.core.PersistentTreeSet.getBasis=function(){return new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"meta","meta",-1154898805,null),new cljs.core.Symbol(null,"tree-map","tree-map",1373073049,null),cljs.core.with_meta(new cljs.core.Symbol(null,"__hash","__hash",-1328796629,null),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"mutable","mutable",875778266),!0],null))],null)};cljs.core.PersistentTreeSet.cljs$lang$type=!0;
cljs.core.PersistentTreeSet.cljs$lang$ctorStr="cljs.core/PersistentTreeSet";cljs.core.PersistentTreeSet.cljs$lang$ctorPrWriter=function(a,b,c){return cljs.core._write(b,"cljs.core/PersistentTreeSet")};cljs.core.__GT_PersistentTreeSet=function(a,b,c){return new cljs.core.PersistentTreeSet(a,b,c)};cljs.core.PersistentTreeSet.EMPTY=new cljs.core.PersistentTreeSet(null,cljs.core.PersistentTreeMap.EMPTY,cljs.core.empty_unordered_hash);
var G__23581_23584=cljs.core.PersistentTreeSet.prototype,G__23582_23585=cljs.core.ITER_SYMBOL,G__23583_23586=function(a,b){return function(){return cljs.core.es6_iterator(this)}}(G__23581_23584,G__23582_23585);goog.object.set(G__23581_23584,G__23582_23585,G__23583_23586);cljs.core.set_from_indexed_seq=function(a){a=a.arr;a:for(var b=a.length,c=0,d=cljs.core._as_transient(cljs.core.PersistentHashSet.EMPTY);;)if(c<b){var e=c+1;d=cljs.core._conj_BANG_(d,a[c]);c=e}else break a;return d.cljs$core$ITransientCollection$_persistent_BANG_$arity$1(null)};
cljs.core.set=function(a){if(cljs.core.set_QMARK_(a))return cljs.core.with_meta(a,null);a=cljs.core.seq(a);if(null==a)return cljs.core.PersistentHashSet.EMPTY;if(a instanceof cljs.core.IndexedSeq&&0===a.i)return cljs.core.PersistentHashSet.createAsIfByAssoc(a.arr);for(var b=cljs.core._as_transient(cljs.core.PersistentHashSet.EMPTY);;)if(null!=a){var c=cljs.core.next(a);b=cljs.core._conj_BANG_(b,cljs.core._first(a));a=c}else return cljs.core.persistent_BANG_(b)};
cljs.core.hash_set=function(a){switch(arguments.length){case 0:return cljs.core.hash_set.cljs$core$IFn$_invoke$arity$0();default:for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;b=new cljs.core.IndexedSeq(b.slice(0),0,null);return cljs.core.hash_set.cljs$core$IFn$_invoke$arity$variadic(b)}};cljs.core.hash_set.cljs$core$IFn$_invoke$arity$0=function(){return cljs.core.PersistentHashSet.EMPTY};cljs.core.hash_set.cljs$core$IFn$_invoke$arity$variadic=function(a){return cljs.core.set(a)};
cljs.core.hash_set.cljs$lang$applyTo=function(a){return this.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq(a))};cljs.core.hash_set.cljs$lang$maxFixedArity=0;cljs.core.sorted_set=function(a){for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;b=0<b.length?new cljs.core.IndexedSeq(b.slice(0),0,null):null;return cljs.core.sorted_set.cljs$core$IFn$_invoke$arity$variadic(b)};
cljs.core.sorted_set.cljs$core$IFn$_invoke$arity$variadic=function(a){return cljs.core.reduce.cljs$core$IFn$_invoke$arity$3(cljs.core._conj,cljs.core.PersistentTreeSet.EMPTY,a)};cljs.core.sorted_set.cljs$lang$maxFixedArity=0;cljs.core.sorted_set.cljs$lang$applyTo=function(a){return this.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq(a))};
cljs.core.sorted_set_by=function(a){for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;b=1<b.length?new cljs.core.IndexedSeq(b.slice(1),0,null):null;return cljs.core.sorted_set_by.cljs$core$IFn$_invoke$arity$variadic(arguments[0],b)};cljs.core.sorted_set_by.cljs$core$IFn$_invoke$arity$variadic=function(a,b){return cljs.core.reduce.cljs$core$IFn$_invoke$arity$3(cljs.core._conj,new cljs.core.PersistentTreeSet(null,cljs.core.sorted_map_by(a),0),b)};
cljs.core.sorted_set_by.cljs$lang$maxFixedArity=1;cljs.core.sorted_set_by.cljs$lang$applyTo=function(a){var b=cljs.core.first(a);a=cljs.core.next(a);return this.cljs$core$IFn$_invoke$arity$variadic(b,a)};
cljs.core.replace=function(a){switch(arguments.length){case 1:return cljs.core.replace.cljs$core$IFn$_invoke$arity$1(arguments[0]);case 2:return cljs.core.replace.cljs$core$IFn$_invoke$arity$2(arguments[0],arguments[1]);default:throw Error(["Invalid arity: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(""));}};
cljs.core.replace.cljs$core$IFn$_invoke$arity$1=function(a){return cljs.core.map.cljs$core$IFn$_invoke$arity$1(function(b){var c=cljs.core.find(a,b);return cljs.core.truth_(c)?cljs.core.val(c):b})};
cljs.core.replace.cljs$core$IFn$_invoke$arity$2=function(a,b){if(cljs.core.vector_QMARK_(b)){var c=cljs.core.count(b);return cljs.core.reduce.cljs$core$IFn$_invoke$arity$3(function(b){return function(b,c){var d=cljs.core.find(a,cljs.core.nth.cljs$core$IFn$_invoke$arity$2(b,c));return cljs.core.truth_(d)?cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(b,c,cljs.core.second(d)):b}}(c),b,cljs.core.take.cljs$core$IFn$_invoke$arity$2(c,cljs.core.iterate(cljs.core.inc,0)))}return cljs.core.map.cljs$core$IFn$_invoke$arity$2(function(b){var c=
cljs.core.find(a,b);return cljs.core.truth_(c)?cljs.core.second(c):b},b)};cljs.core.replace.cljs$lang$maxFixedArity=2;cljs.core.distinct=function(a){switch(arguments.length){case 0:return cljs.core.distinct.cljs$core$IFn$_invoke$arity$0();case 1:return cljs.core.distinct.cljs$core$IFn$_invoke$arity$1(arguments[0]);default:throw Error(["Invalid arity: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(""));}};
cljs.core.distinct.cljs$core$IFn$_invoke$arity$0=function(){return function(a){return function(b){return function(){var c=null,d=function(){return a.cljs$core$IFn$_invoke$arity$0?a.cljs$core$IFn$_invoke$arity$0():a.call(null)},e=function(b){return a.cljs$core$IFn$_invoke$arity$1?a.cljs$core$IFn$_invoke$arity$1(b):a.call(null,b)},f=function(c,d){if(cljs.core.contains_QMARK_(cljs.core.deref(b),d))return c;b.cljs$core$IVolatile$_vreset_BANG_$arity$2(null,cljs.core.conj.cljs$core$IFn$_invoke$arity$2(b.cljs$core$IDeref$_deref$arity$1(null),
d));return a.cljs$core$IFn$_invoke$arity$2?a.cljs$core$IFn$_invoke$arity$2(c,d):a.call(null,c,d)};c=function(a,b){switch(arguments.length){case 0:return d.call(this);case 1:return e.call(this,a);case 2:return f.call(this,a,b)}throw Error("Invalid arity: "+arguments.length);};c.cljs$core$IFn$_invoke$arity$0=d;c.cljs$core$IFn$_invoke$arity$1=e;c.cljs$core$IFn$_invoke$arity$2=f;return c}()}(cljs.core.volatile_BANG_(cljs.core.PersistentHashSet.EMPTY))}};
cljs.core.distinct.cljs$core$IFn$_invoke$arity$1=function(a){return function e(a,d){return new cljs.core.LazySeq(null,function(){var c;a:{var g=a;for(c=d;;){var h=g;g=cljs.core.nth.cljs$core$IFn$_invoke$arity$3(h,0,null);if(h=cljs.core.seq(h))if(cljs.core.contains_QMARK_(c,g))g=cljs.core.rest(h);else{c=cljs.core.cons(g,e(cljs.core.rest(h),cljs.core.conj.cljs$core$IFn$_invoke$arity$2(c,g)));break a}else{c=null;break a}}}return c},null,null)}(a,cljs.core.PersistentHashSet.EMPTY)};
cljs.core.distinct.cljs$lang$maxFixedArity=1;cljs.core.butlast=function(a){for(var b=cljs.core.PersistentVector.EMPTY;;)if(cljs.core.next(a))b=cljs.core.conj.cljs$core$IFn$_invoke$arity$2(b,cljs.core.first(a)),a=cljs.core.next(a);else return cljs.core.seq(b)};
cljs.core.name=function(a){if(null!=a&&(a.cljs$lang$protocol_mask$partition1$&4096||cljs.core.PROTOCOL_SENTINEL===a.cljs$core$INamed$))return cljs.core._name(a);if("string"===typeof a)return a;throw Error(["Doesn't support name: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(a)].join(""));};
cljs.core.zipmap=function(a,b){var c=cljs.core.transient$(cljs.core.PersistentArrayMap.EMPTY);a=cljs.core.seq(a);for(b=cljs.core.seq(b);;)if(a&&b)c=cljs.core.assoc_BANG_.cljs$core$IFn$_invoke$arity$3(c,cljs.core.first(a),cljs.core.first(b)),a=cljs.core.next(a),b=cljs.core.next(b);else return cljs.core.persistent_BANG_(c)};
cljs.core.max_key=function(a){switch(arguments.length){case 2:return cljs.core.max_key.cljs$core$IFn$_invoke$arity$2(arguments[0],arguments[1]);case 3:return cljs.core.max_key.cljs$core$IFn$_invoke$arity$3(arguments[0],arguments[1],arguments[2]);default:for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;b=new cljs.core.IndexedSeq(b.slice(3),0,null);return cljs.core.max_key.cljs$core$IFn$_invoke$arity$variadic(arguments[0],arguments[1],arguments[2],b)}};
cljs.core.max_key.cljs$core$IFn$_invoke$arity$2=function(a,b){return b};cljs.core.max_key.cljs$core$IFn$_invoke$arity$3=function(a,b,c){return(a.cljs$core$IFn$_invoke$arity$1?a.cljs$core$IFn$_invoke$arity$1(b):a.call(null,b))>(a.cljs$core$IFn$_invoke$arity$1?a.cljs$core$IFn$_invoke$arity$1(c):a.call(null,c))?b:c};
cljs.core.max_key.cljs$core$IFn$_invoke$arity$variadic=function(a,b,c,d){return cljs.core.reduce.cljs$core$IFn$_invoke$arity$3(function(b,c){return cljs.core.max_key.cljs$core$IFn$_invoke$arity$3(a,b,c)},cljs.core.max_key.cljs$core$IFn$_invoke$arity$3(a,b,c),d)};cljs.core.max_key.cljs$lang$applyTo=function(a){var b=cljs.core.first(a),c=cljs.core.next(a);a=cljs.core.first(c);var d=cljs.core.next(c);c=cljs.core.first(d);d=cljs.core.next(d);return this.cljs$core$IFn$_invoke$arity$variadic(b,a,c,d)};
cljs.core.max_key.cljs$lang$maxFixedArity=3;
cljs.core.min_key=function(a){switch(arguments.length){case 2:return cljs.core.min_key.cljs$core$IFn$_invoke$arity$2(arguments[0],arguments[1]);case 3:return cljs.core.min_key.cljs$core$IFn$_invoke$arity$3(arguments[0],arguments[1],arguments[2]);default:for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;b=new cljs.core.IndexedSeq(b.slice(3),0,null);return cljs.core.min_key.cljs$core$IFn$_invoke$arity$variadic(arguments[0],arguments[1],arguments[2],b)}};
cljs.core.min_key.cljs$core$IFn$_invoke$arity$2=function(a,b){return b};cljs.core.min_key.cljs$core$IFn$_invoke$arity$3=function(a,b,c){return(a.cljs$core$IFn$_invoke$arity$1?a.cljs$core$IFn$_invoke$arity$1(b):a.call(null,b))<(a.cljs$core$IFn$_invoke$arity$1?a.cljs$core$IFn$_invoke$arity$1(c):a.call(null,c))?b:c};
cljs.core.min_key.cljs$core$IFn$_invoke$arity$variadic=function(a,b,c,d){return cljs.core.reduce.cljs$core$IFn$_invoke$arity$3(function(b,c){return cljs.core.min_key.cljs$core$IFn$_invoke$arity$3(a,b,c)},cljs.core.min_key.cljs$core$IFn$_invoke$arity$3(a,b,c),d)};cljs.core.min_key.cljs$lang$applyTo=function(a){var b=cljs.core.first(a),c=cljs.core.next(a);a=cljs.core.first(c);var d=cljs.core.next(c);c=cljs.core.first(d);d=cljs.core.next(d);return this.cljs$core$IFn$_invoke$arity$variadic(b,a,c,d)};
cljs.core.min_key.cljs$lang$maxFixedArity=3;cljs.core.ArrayList=function(a){this.arr=a};cljs.core.ArrayList.prototype.add=function(a){return this.arr.push(a)};cljs.core.ArrayList.prototype.size=function(){return this.arr.length};cljs.core.ArrayList.prototype.clear=function(){return this.arr=[]};cljs.core.ArrayList.prototype.isEmpty=function(){return 0===this.arr.length};cljs.core.ArrayList.prototype.toArray=function(){return this.arr};
cljs.core.ArrayList.getBasis=function(){return new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[cljs.core.with_meta(new cljs.core.Symbol(null,"arr","arr",2115492975,null),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"mutable","mutable",875778266),!0],null))],null)};cljs.core.ArrayList.cljs$lang$type=!0;cljs.core.ArrayList.cljs$lang$ctorStr="cljs.core/ArrayList";
cljs.core.ArrayList.cljs$lang$ctorPrWriter=function(a,b,c){return cljs.core._write(b,"cljs.core/ArrayList")};cljs.core.__GT_ArrayList=function(a){return new cljs.core.ArrayList(a)};cljs.core.array_list=function(){return new cljs.core.ArrayList([])};
cljs.core.partition_all=function(a){switch(arguments.length){case 1:return cljs.core.partition_all.cljs$core$IFn$_invoke$arity$1(arguments[0]);case 2:return cljs.core.partition_all.cljs$core$IFn$_invoke$arity$2(arguments[0],arguments[1]);case 3:return cljs.core.partition_all.cljs$core$IFn$_invoke$arity$3(arguments[0],arguments[1],arguments[2]);default:throw Error(["Invalid arity: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(""));}};
cljs.core.partition_all.cljs$core$IFn$_invoke$arity$1=function(a){return function(b){return function(c){return function(){var d=null,e=function(){return b.cljs$core$IFn$_invoke$arity$0?b.cljs$core$IFn$_invoke$arity$0():b.call(null)},f=function(a){if(!cljs.core.truth_(c.isEmpty())){var d=cljs.core.vec(c.toArray());c.clear();a=cljs.core.unreduced(b.cljs$core$IFn$_invoke$arity$2?b.cljs$core$IFn$_invoke$arity$2(a,d):b.call(null,a,d))}return b.cljs$core$IFn$_invoke$arity$1?b.cljs$core$IFn$_invoke$arity$1(a):
b.call(null,a)},g=function(d,e){c.add(e);return a===c.size()?(e=cljs.core.vec(c.toArray()),c.clear(),b.cljs$core$IFn$_invoke$arity$2?b.cljs$core$IFn$_invoke$arity$2(d,e):b.call(null,d,e)):d};d=function(a,b){switch(arguments.length){case 0:return e.call(this);case 1:return f.call(this,a);case 2:return g.call(this,a,b)}throw Error("Invalid arity: "+arguments.length);};d.cljs$core$IFn$_invoke$arity$0=e;d.cljs$core$IFn$_invoke$arity$1=f;d.cljs$core$IFn$_invoke$arity$2=g;return d}()}(cljs.core.array_list())}};
cljs.core.partition_all.cljs$core$IFn$_invoke$arity$2=function(a,b){return cljs.core.partition_all.cljs$core$IFn$_invoke$arity$3(a,a,b)};cljs.core.partition_all.cljs$core$IFn$_invoke$arity$3=function(a,b,c){return new cljs.core.LazySeq(null,function(){var d=cljs.core.seq(c);return d?cljs.core.cons(cljs.core.take.cljs$core$IFn$_invoke$arity$2(a,d),cljs.core.partition_all.cljs$core$IFn$_invoke$arity$3(a,b,cljs.core.drop.cljs$core$IFn$_invoke$arity$2(b,d))):null},null,null)};
cljs.core.partition_all.cljs$lang$maxFixedArity=3;cljs.core.take_while=function(a){switch(arguments.length){case 1:return cljs.core.take_while.cljs$core$IFn$_invoke$arity$1(arguments[0]);case 2:return cljs.core.take_while.cljs$core$IFn$_invoke$arity$2(arguments[0],arguments[1]);default:throw Error(["Invalid arity: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(""));}};
cljs.core.take_while.cljs$core$IFn$_invoke$arity$1=function(a){return function(b){return function(){var c=null,d=function(){return b.cljs$core$IFn$_invoke$arity$0?b.cljs$core$IFn$_invoke$arity$0():b.call(null)},e=function(a){return b.cljs$core$IFn$_invoke$arity$1?b.cljs$core$IFn$_invoke$arity$1(a):b.call(null,a)},f=function(c,d){return cljs.core.truth_(a.cljs$core$IFn$_invoke$arity$1?a.cljs$core$IFn$_invoke$arity$1(d):a.call(null,d))?b.cljs$core$IFn$_invoke$arity$2?b.cljs$core$IFn$_invoke$arity$2(c,
d):b.call(null,c,d):cljs.core.reduced(c)};c=function(a,b){switch(arguments.length){case 0:return d.call(this);case 1:return e.call(this,a);case 2:return f.call(this,a,b)}throw Error("Invalid arity: "+arguments.length);};c.cljs$core$IFn$_invoke$arity$0=d;c.cljs$core$IFn$_invoke$arity$1=e;c.cljs$core$IFn$_invoke$arity$2=f;return c}()}};
cljs.core.take_while.cljs$core$IFn$_invoke$arity$2=function(a,b){return new cljs.core.LazySeq(null,function(){var c=cljs.core.seq(b);return c?cljs.core.truth_(function(){var b=cljs.core.first(c);return a.cljs$core$IFn$_invoke$arity$1?a.cljs$core$IFn$_invoke$arity$1(b):a.call(null,b)}())?cljs.core.cons(cljs.core.first(c),cljs.core.take_while.cljs$core$IFn$_invoke$arity$2(a,cljs.core.rest(c))):null:null},null,null)};cljs.core.take_while.cljs$lang$maxFixedArity=2;
cljs.core.mk_bound_fn=function(a,b,c){return function(d){var e=cljs.core._comparator(a);d=cljs.core._entry_key(a,d);e=e.cljs$core$IFn$_invoke$arity$2?e.cljs$core$IFn$_invoke$arity$2(d,c):e.call(null,d,c);return b.cljs$core$IFn$_invoke$arity$2?b.cljs$core$IFn$_invoke$arity$2(e,0):b.call(null,e,0)}};
cljs.core.subseq=function(a){switch(arguments.length){case 3:return cljs.core.subseq.cljs$core$IFn$_invoke$arity$3(arguments[0],arguments[1],arguments[2]);case 5:return cljs.core.subseq.cljs$core$IFn$_invoke$arity$5(arguments[0],arguments[1],arguments[2],arguments[3],arguments[4]);default:throw Error(["Invalid arity: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(""));}};
cljs.core.subseq.cljs$core$IFn$_invoke$arity$3=function(a,b,c){var d=cljs.core.mk_bound_fn(a,b,c);return cljs.core.truth_(function(){var a=cljs.core.PersistentHashSet.createAsIfByAssoc([cljs.core._GT_,cljs.core._GT__EQ_]);return a.cljs$core$IFn$_invoke$arity$1?a.cljs$core$IFn$_invoke$arity$1(b):a.call(null,b)}())?(a=cljs.core._sorted_seq_from(a,c,!0),cljs.core.truth_(a)?(c=cljs.core.nth.cljs$core$IFn$_invoke$arity$3(a,0,null),cljs.core.truth_(d.cljs$core$IFn$_invoke$arity$1?d.cljs$core$IFn$_invoke$arity$1(c):
d.call(null,c))?a:cljs.core.next(a)):null):cljs.core.take_while.cljs$core$IFn$_invoke$arity$2(d,cljs.core._sorted_seq(a,!0))};
cljs.core.subseq.cljs$core$IFn$_invoke$arity$5=function(a,b,c,d,e){var f=cljs.core._sorted_seq_from(a,c,!0);if(cljs.core.truth_(f)){var g=cljs.core.nth.cljs$core$IFn$_invoke$arity$3(f,0,null);return cljs.core.take_while.cljs$core$IFn$_invoke$arity$2(cljs.core.mk_bound_fn(a,d,e),cljs.core.truth_(function(){var d=cljs.core.mk_bound_fn(a,b,c);return d.cljs$core$IFn$_invoke$arity$1?d.cljs$core$IFn$_invoke$arity$1(g):d.call(null,g)}())?f:cljs.core.next(f))}return null};
cljs.core.subseq.cljs$lang$maxFixedArity=5;cljs.core.rsubseq=function(a){switch(arguments.length){case 3:return cljs.core.rsubseq.cljs$core$IFn$_invoke$arity$3(arguments[0],arguments[1],arguments[2]);case 5:return cljs.core.rsubseq.cljs$core$IFn$_invoke$arity$5(arguments[0],arguments[1],arguments[2],arguments[3],arguments[4]);default:throw Error(["Invalid arity: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(""));}};
cljs.core.rsubseq.cljs$core$IFn$_invoke$arity$3=function(a,b,c){var d=cljs.core.mk_bound_fn(a,b,c);return cljs.core.truth_(function(){var a=cljs.core.PersistentHashSet.createAsIfByAssoc([cljs.core._LT_,cljs.core._LT__EQ_]);return a.cljs$core$IFn$_invoke$arity$1?a.cljs$core$IFn$_invoke$arity$1(b):a.call(null,b)}())?(a=cljs.core._sorted_seq_from(a,c,!1),cljs.core.truth_(a)?(c=cljs.core.nth.cljs$core$IFn$_invoke$arity$3(a,0,null),cljs.core.truth_(d.cljs$core$IFn$_invoke$arity$1?d.cljs$core$IFn$_invoke$arity$1(c):
d.call(null,c))?a:cljs.core.next(a)):null):cljs.core.take_while.cljs$core$IFn$_invoke$arity$2(d,cljs.core._sorted_seq(a,!1))};
cljs.core.rsubseq.cljs$core$IFn$_invoke$arity$5=function(a,b,c,d,e){var f=cljs.core._sorted_seq_from(a,e,!1);if(cljs.core.truth_(f)){var g=cljs.core.nth.cljs$core$IFn$_invoke$arity$3(f,0,null);return cljs.core.take_while.cljs$core$IFn$_invoke$arity$2(cljs.core.mk_bound_fn(a,b,c),cljs.core.truth_(function(){var b=cljs.core.mk_bound_fn(a,d,e);return b.cljs$core$IFn$_invoke$arity$1?b.cljs$core$IFn$_invoke$arity$1(g):b.call(null,g)}())?f:cljs.core.next(f))}return null};
cljs.core.rsubseq.cljs$lang$maxFixedArity=5;cljs.core.RangeChunk=function(a,b,c){this.start=a;this.step=b;this.count=c;this.cljs$lang$protocol_mask$partition0$=82;this.cljs$lang$protocol_mask$partition1$=0};cljs.core.RangeChunk.prototype.cljs$core$ICounted$_count$arity$1=function(a){return this.count};cljs.core.RangeChunk.prototype.cljs$core$ISeq$_first$arity$1=function(a){return this.start};cljs.core.RangeChunk.prototype.cljs$core$IIndexed$_nth$arity$2=function(a,b){return this.start+b*this.step};
cljs.core.RangeChunk.prototype.cljs$core$IIndexed$_nth$arity$3=function(a,b,c){return 0<=b&&b<this.count?this.start+b*this.step:c};cljs.core.RangeChunk.prototype.cljs$core$IChunk$=cljs.core.PROTOCOL_SENTINEL;cljs.core.RangeChunk.prototype.cljs$core$IChunk$_drop_first$arity$1=function(a){if(1>=this.count)throw Error("-drop-first of empty chunk");return new cljs.core.RangeChunk(this.start+this.step,this.step,this.count-1)};
cljs.core.RangeChunk.getBasis=function(){return new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"start","start",1285322546,null),new cljs.core.Symbol(null,"step","step",-1365547645,null),new cljs.core.Symbol(null,"count","count",-514511684,null)],null)};cljs.core.RangeChunk.cljs$lang$type=!0;cljs.core.RangeChunk.cljs$lang$ctorStr="cljs.core/RangeChunk";cljs.core.RangeChunk.cljs$lang$ctorPrWriter=function(a,b,c){return cljs.core._write(b,"cljs.core/RangeChunk")};
cljs.core.__GT_RangeChunk=function(a,b,c){return new cljs.core.RangeChunk(a,b,c)};cljs.core.RangeIterator=function(a,b,c){this.i=a;this.end=b;this.step=c};cljs.core.RangeIterator.prototype.hasNext=function(){return 0<this.step?this.i<this.end:this.i>this.end};cljs.core.RangeIterator.prototype.next=function(){var a=this.i;this.i+=this.step;return a};
cljs.core.RangeIterator.getBasis=function(){return new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,[cljs.core.with_meta(new cljs.core.Symbol(null,"i","i",253690212,null),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"mutable","mutable",875778266),!0],null)),new cljs.core.Symbol(null,"end","end",1372345569,null),new cljs.core.Symbol(null,"step","step",-1365547645,null)],null)};cljs.core.RangeIterator.cljs$lang$type=!0;
cljs.core.RangeIterator.cljs$lang$ctorStr="cljs.core/RangeIterator";cljs.core.RangeIterator.cljs$lang$ctorPrWriter=function(a,b,c){return cljs.core._write(b,"cljs.core/RangeIterator")};cljs.core.__GT_RangeIterator=function(a,b,c){return new cljs.core.RangeIterator(a,b,c)};cljs.core.Range=function(a,b,c,d,e,f,g){this.meta=a;this.start=b;this.end=c;this.step=d;this.chunk=e;this.chunk_next=f;this.__hash=g;this.cljs$lang$protocol_mask$partition0$=32375006;this.cljs$lang$protocol_mask$partition1$=140800};
cljs.core.Range.prototype.toString=function(){return cljs.core.pr_str_STAR_(this)};cljs.core.Range.prototype.equiv=function(a){return this.cljs$core$IEquiv$_equiv$arity$2(null,a)};
cljs.core.Range.prototype.indexOf=function(){var a=null,b=function(a){return cljs.core._indexOf.cljs$core$IFn$_invoke$arity$3(this,a,0)},c=function(a,b){return cljs.core._indexOf.cljs$core$IFn$_invoke$arity$3(this,a,b)};a=function(a,e){switch(arguments.length){case 1:return b.call(this,a);case 2:return c.call(this,a,e)}throw Error("Invalid arity: "+arguments.length);};a.cljs$core$IFn$_invoke$arity$1=b;a.cljs$core$IFn$_invoke$arity$2=c;return a}();
cljs.core.Range.prototype.lastIndexOf=function(){var a=null,b=function(a){return cljs.core._lastIndexOf.cljs$core$IFn$_invoke$arity$3(this,a,cljs.core.count(this))},c=function(a,b){return cljs.core._lastIndexOf.cljs$core$IFn$_invoke$arity$3(this,a,b)};a=function(a,e){switch(arguments.length){case 1:return b.call(this,a);case 2:return c.call(this,a,e)}throw Error("Invalid arity: "+arguments.length);};a.cljs$core$IFn$_invoke$arity$1=b;a.cljs$core$IFn$_invoke$arity$2=c;return a}();
cljs.core.Range.prototype.forceChunk=function(){if(null==this.chunk){var a=this.cljs$core$ICounted$_count$arity$1(null);return 32<a?(this.chunk_next=new cljs.core.Range(null,this.start+32*this.step,this.end,this.step,null,null,null),this.chunk=new cljs.core.RangeChunk(this.start,this.step,32)):this.chunk=new cljs.core.RangeChunk(this.start,this.step,a)}return null};
cljs.core.Range.prototype.cljs$core$IIndexed$_nth$arity$2=function(a,b){if(0<=b&&b<this.cljs$core$ICounted$_count$arity$1(null))return this.start+b*this.step;if(0<=b&&this.start>this.end&&0===this.step)return this.start;throw Error("Index out of bounds");};cljs.core.Range.prototype.cljs$core$IIndexed$_nth$arity$3=function(a,b,c){return 0<=b&&b<this.cljs$core$ICounted$_count$arity$1(null)?this.start+b*this.step:0<=b&&this.start>this.end&&0===this.step?this.start:c};
cljs.core.Range.prototype.cljs$core$IIterable$_iterator$arity$1=function(a){return new cljs.core.RangeIterator(this.start,this.end,this.step)};cljs.core.Range.prototype.cljs$core$IMeta$_meta$arity$1=function(a){return this.meta};cljs.core.Range.prototype.cljs$core$ICloneable$_clone$arity$1=function(a){return new cljs.core.Range(this.meta,this.start,this.end,this.step,this.chunk,this.chunk_next,this.__hash)};
cljs.core.Range.prototype.cljs$core$INext$_next$arity$1=function(a){return 0<this.step?this.start+this.step<this.end?new cljs.core.Range(null,this.start+this.step,this.end,this.step,null,null,null):null:this.start+this.step>this.end?new cljs.core.Range(null,this.start+this.step,this.end,this.step,null,null,null):null};cljs.core.Range.prototype.cljs$core$ICounted$_count$arity$1=function(a){return Math.ceil((this.end-this.start)/this.step)};
cljs.core.Range.prototype.cljs$core$IHash$_hash$arity$1=function(a){a=this.__hash;return null!=a?a:this.__hash=a=cljs.core.hash_ordered_coll(this)};cljs.core.Range.prototype.cljs$core$IEquiv$_equiv$arity$2=function(a,b){return cljs.core.equiv_sequential(this,b)};cljs.core.Range.prototype.cljs$core$IEmptyableCollection$_empty$arity$1=function(a){return cljs.core.List.EMPTY};
cljs.core.Range.prototype.cljs$core$IReduce$_reduce$arity$2=function(a,b){return cljs.core.ci_reduce.cljs$core$IFn$_invoke$arity$2(this,b)};cljs.core.Range.prototype.cljs$core$IReduce$_reduce$arity$3=function(a,b,c){for(a=this.start;;)if(0<this.step?a<this.end:a>this.end){c=b.cljs$core$IFn$_invoke$arity$2?b.cljs$core$IFn$_invoke$arity$2(c,a):b.call(null,c,a);if(cljs.core.reduced_QMARK_(c))return cljs.core.deref(c);a+=this.step}else return c};
cljs.core.Range.prototype.cljs$core$ISeq$_first$arity$1=function(a){return this.start};cljs.core.Range.prototype.cljs$core$ISeq$_rest$arity$1=function(a){a=this.cljs$core$INext$_next$arity$1(null);return null==a?cljs.core.List.EMPTY:a};cljs.core.Range.prototype.cljs$core$ISeqable$_seq$arity$1=function(a){return this};cljs.core.Range.prototype.cljs$core$IChunkedSeq$_chunked_first$arity$1=function(a){this.forceChunk();return this.chunk};
cljs.core.Range.prototype.cljs$core$IChunkedSeq$_chunked_rest$arity$1=function(a){this.forceChunk();return null==this.chunk_next?cljs.core.List.EMPTY:this.chunk_next};cljs.core.Range.prototype.cljs$core$IWithMeta$_with_meta$arity$2=function(a,b){return b===this.meta?this:new cljs.core.Range(b,this.start,this.end,this.step,this.chunk,this.chunk_next,this.__hash)};cljs.core.Range.prototype.cljs$core$ICollection$_conj$arity$2=function(a,b){return cljs.core.cons(b,this)};
cljs.core.Range.prototype.cljs$core$IChunkedNext$_chunked_next$arity$1=function(a){return cljs.core.seq(this.cljs$core$IChunkedSeq$_chunked_rest$arity$1(null))};
cljs.core.Range.getBasis=function(){return new cljs.core.PersistentVector(null,7,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"meta","meta",-1154898805,null),new cljs.core.Symbol(null,"start","start",1285322546,null),new cljs.core.Symbol(null,"end","end",1372345569,null),new cljs.core.Symbol(null,"step","step",-1365547645,null),cljs.core.with_meta(new cljs.core.Symbol(null,"chunk","chunk",449371907,null),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"mutable",
"mutable",875778266),!0],null)),cljs.core.with_meta(new cljs.core.Symbol(null,"chunk-next","chunk-next",-547810434,null),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"mutable","mutable",875778266),!0],null)),cljs.core.with_meta(new cljs.core.Symbol(null,"__hash","__hash",-1328796629,null),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"mutable","mutable",875778266),!0],null))],null)};cljs.core.Range.cljs$lang$type=!0;cljs.core.Range.cljs$lang$ctorStr="cljs.core/Range";
cljs.core.Range.cljs$lang$ctorPrWriter=function(a,b,c){return cljs.core._write(b,"cljs.core/Range")};cljs.core.__GT_Range=function(a,b,c,d,e,f,g){return new cljs.core.Range(a,b,c,d,e,f,g)};var G__23697_23700=cljs.core.Range.prototype,G__23698_23701=cljs.core.ITER_SYMBOL,G__23699_23702=function(a,b){return function(){return cljs.core.es6_iterator(this)}}(G__23697_23700,G__23698_23701);goog.object.set(G__23697_23700,G__23698_23701,G__23699_23702);
cljs.core.range=function(a){switch(arguments.length){case 0:return cljs.core.range.cljs$core$IFn$_invoke$arity$0();case 1:return cljs.core.range.cljs$core$IFn$_invoke$arity$1(arguments[0]);case 2:return cljs.core.range.cljs$core$IFn$_invoke$arity$2(arguments[0],arguments[1]);case 3:return cljs.core.range.cljs$core$IFn$_invoke$arity$3(arguments[0],arguments[1],arguments[2]);default:throw Error(["Invalid arity: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(""));}};
cljs.core.range.cljs$core$IFn$_invoke$arity$0=function(){return cljs.core.range.cljs$core$IFn$_invoke$arity$3(0,Number.MAX_VALUE,1)};cljs.core.range.cljs$core$IFn$_invoke$arity$1=function(a){return cljs.core.range.cljs$core$IFn$_invoke$arity$3(0,a,1)};cljs.core.range.cljs$core$IFn$_invoke$arity$2=function(a,b){return cljs.core.range.cljs$core$IFn$_invoke$arity$3(a,b,1)};
cljs.core.range.cljs$core$IFn$_invoke$arity$3=function(a,b,c){return 0<c?b<=a?cljs.core.List.EMPTY:new cljs.core.Range(null,a,b,c,null,null,null):0>c?b>=a?cljs.core.List.EMPTY:new cljs.core.Range(null,a,b,c,null,null,null):b===a?cljs.core.List.EMPTY:cljs.core.repeat.cljs$core$IFn$_invoke$arity$1(a)};cljs.core.range.cljs$lang$maxFixedArity=3;
cljs.core.take_nth=function(a){switch(arguments.length){case 1:return cljs.core.take_nth.cljs$core$IFn$_invoke$arity$1(arguments[0]);case 2:return cljs.core.take_nth.cljs$core$IFn$_invoke$arity$2(arguments[0],arguments[1]);default:throw Error(["Invalid arity: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(""));}};
cljs.core.take_nth.cljs$core$IFn$_invoke$arity$1=function(a){if("number"!==typeof a)throw Error("Assert failed: (number? n)");return function(b){return function(c){return function(){var d=null,e=function(){return b.cljs$core$IFn$_invoke$arity$0?b.cljs$core$IFn$_invoke$arity$0():b.call(null)},f=function(a){return b.cljs$core$IFn$_invoke$arity$1?b.cljs$core$IFn$_invoke$arity$1(a):b.call(null,a)},g=function(d,e){var f=c.cljs$core$IVolatile$_vreset_BANG_$arity$2(null,c.cljs$core$IDeref$_deref$arity$1(null)+
1);return 0===cljs.core.rem(f,a)?b.cljs$core$IFn$_invoke$arity$2?b.cljs$core$IFn$_invoke$arity$2(d,e):b.call(null,d,e):d};d=function(a,b){switch(arguments.length){case 0:return e.call(this);case 1:return f.call(this,a);case 2:return g.call(this,a,b)}throw Error("Invalid arity: "+arguments.length);};d.cljs$core$IFn$_invoke$arity$0=e;d.cljs$core$IFn$_invoke$arity$1=f;d.cljs$core$IFn$_invoke$arity$2=g;return d}()}(cljs.core.volatile_BANG_(-1))}};
cljs.core.take_nth.cljs$core$IFn$_invoke$arity$2=function(a,b){if("number"!==typeof a)throw Error("Assert failed: (number? n)");return new cljs.core.LazySeq(null,function(){var c=cljs.core.seq(b);return c?cljs.core.cons(cljs.core.first(c),cljs.core.take_nth.cljs$core$IFn$_invoke$arity$2(a,cljs.core.drop.cljs$core$IFn$_invoke$arity$2(a,c))):null},null,null)};cljs.core.take_nth.cljs$lang$maxFixedArity=2;
cljs.core.split_with=function(a,b){return new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[cljs.core.take_while.cljs$core$IFn$_invoke$arity$2(a,b),cljs.core.drop_while.cljs$core$IFn$_invoke$arity$2(a,b)],null)};
cljs.core.partition_by=function(a){switch(arguments.length){case 1:return cljs.core.partition_by.cljs$core$IFn$_invoke$arity$1(arguments[0]);case 2:return cljs.core.partition_by.cljs$core$IFn$_invoke$arity$2(arguments[0],arguments[1]);default:throw Error(["Invalid arity: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(""));}};
cljs.core.partition_by.cljs$core$IFn$_invoke$arity$1=function(a){return function(b){var c=cljs.core.array_list(),d=cljs.core.volatile_BANG_(new cljs.core.Keyword("cljs.core","none","cljs.core/none",926646439));return function(c,d){return function(){var e=null,f=function(){return b.cljs$core$IFn$_invoke$arity$0?b.cljs$core$IFn$_invoke$arity$0():b.call(null)},k=function(a){if(!cljs.core.truth_(c.isEmpty())){var d=cljs.core.vec(c.toArray());c.clear();a=cljs.core.unreduced(b.cljs$core$IFn$_invoke$arity$2?
b.cljs$core$IFn$_invoke$arity$2(a,d):b.call(null,a,d))}return b.cljs$core$IFn$_invoke$arity$1?b.cljs$core$IFn$_invoke$arity$1(a):b.call(null,a)},l=function(e,f){var g=cljs.core.deref(d),h=a.cljs$core$IFn$_invoke$arity$1?a.cljs$core$IFn$_invoke$arity$1(f):a.call(null,f);cljs.core.vreset_BANG_(d,h);if(cljs.core.keyword_identical_QMARK_(g,new cljs.core.Keyword("cljs.core","none","cljs.core/none",926646439))||cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(h,g))return c.add(f),e;g=cljs.core.vec(c.toArray());
c.clear();e=b.cljs$core$IFn$_invoke$arity$2?b.cljs$core$IFn$_invoke$arity$2(e,g):b.call(null,e,g);cljs.core.reduced_QMARK_(e)||c.add(f);return e};e=function(a,b){switch(arguments.length){case 0:return f.call(this);case 1:return k.call(this,a);case 2:return l.call(this,a,b)}throw Error("Invalid arity: "+arguments.length);};e.cljs$core$IFn$_invoke$arity$0=f;e.cljs$core$IFn$_invoke$arity$1=k;e.cljs$core$IFn$_invoke$arity$2=l;return e}()}(c,d)}};
cljs.core.partition_by.cljs$core$IFn$_invoke$arity$2=function(a,b){return new cljs.core.LazySeq(null,function(){var c=cljs.core.seq(b);if(c){var d=cljs.core.first(c),e=a.cljs$core$IFn$_invoke$arity$1?a.cljs$core$IFn$_invoke$arity$1(d):a.call(null,d),f=cljs.core.cons(d,cljs.core.take_while.cljs$core$IFn$_invoke$arity$2(function(b,c,d,e){return function(b){return cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(c,a.cljs$core$IFn$_invoke$arity$1?a.cljs$core$IFn$_invoke$arity$1(b):a.call(null,b))}}(d,e,c,
c),cljs.core.next(c)));return cljs.core.cons(f,cljs.core.partition_by.cljs$core$IFn$_invoke$arity$2(a,new cljs.core.LazySeq(null,function(a,b,c,d,e){return function(){return cljs.core.drop.cljs$core$IFn$_invoke$arity$2(cljs.core.count(c),d)}}(d,e,f,c,c),null,null)))}return null},null,null)};cljs.core.partition_by.cljs$lang$maxFixedArity=2;
cljs.core.frequencies=function(a){return cljs.core.persistent_BANG_(cljs.core.reduce.cljs$core$IFn$_invoke$arity$3(function(a,c){return cljs.core.assoc_BANG_.cljs$core$IFn$_invoke$arity$3(a,c,cljs.core.get.cljs$core$IFn$_invoke$arity$3(a,c,0)+1)},cljs.core.transient$(cljs.core.PersistentArrayMap.EMPTY),a))};
cljs.core.reductions=function(a){switch(arguments.length){case 2:return cljs.core.reductions.cljs$core$IFn$_invoke$arity$2(arguments[0],arguments[1]);case 3:return cljs.core.reductions.cljs$core$IFn$_invoke$arity$3(arguments[0],arguments[1],arguments[2]);default:throw Error(["Invalid arity: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(""));}};
cljs.core.reductions.cljs$core$IFn$_invoke$arity$2=function(a,b){return new cljs.core.LazySeq(null,function(){var c=cljs.core.seq(b);return c?cljs.core.reductions.cljs$core$IFn$_invoke$arity$3(a,cljs.core.first(c),cljs.core.rest(c)):new cljs.core.List(null,a.cljs$core$IFn$_invoke$arity$0?a.cljs$core$IFn$_invoke$arity$0():a.call(null),null,1,null)},null,null)};
cljs.core.reductions.cljs$core$IFn$_invoke$arity$3=function(a,b,c){return cljs.core.reduced_QMARK_(b)?new cljs.core.List(null,cljs.core.deref(b),null,1,null):cljs.core.cons(b,new cljs.core.LazySeq(null,function(){var d=cljs.core.seq(c);return d?cljs.core.reductions.cljs$core$IFn$_invoke$arity$3(a,function(){var c=cljs.core.first(d);return a.cljs$core$IFn$_invoke$arity$2?a.cljs$core$IFn$_invoke$arity$2(b,c):a.call(null,b,c)}(),cljs.core.rest(d)):null},null,null))};
cljs.core.reductions.cljs$lang$maxFixedArity=3;
cljs.core.juxt=function(a){switch(arguments.length){case 1:return cljs.core.juxt.cljs$core$IFn$_invoke$arity$1(arguments[0]);case 2:return cljs.core.juxt.cljs$core$IFn$_invoke$arity$2(arguments[0],arguments[1]);case 3:return cljs.core.juxt.cljs$core$IFn$_invoke$arity$3(arguments[0],arguments[1],arguments[2]);default:for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;b=new cljs.core.IndexedSeq(b.slice(3),0,null);return cljs.core.juxt.cljs$core$IFn$_invoke$arity$variadic(arguments[0],arguments[1],
arguments[2],b)}};
cljs.core.juxt.cljs$core$IFn$_invoke$arity$1=function(a){return function(){var b=null,c=function(){return new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[a.cljs$core$IFn$_invoke$arity$0?a.cljs$core$IFn$_invoke$arity$0():a.call(null)],null)},d=function(b){return new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[a.cljs$core$IFn$_invoke$arity$1?a.cljs$core$IFn$_invoke$arity$1(b):a.call(null,b)],null)},e=function(b,c){return new cljs.core.PersistentVector(null,1,
5,cljs.core.PersistentVector.EMPTY_NODE,[a.cljs$core$IFn$_invoke$arity$2?a.cljs$core$IFn$_invoke$arity$2(b,c):a.call(null,b,c)],null)},f=function(b,c,d){return new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[a.cljs$core$IFn$_invoke$arity$3?a.cljs$core$IFn$_invoke$arity$3(b,c,d):a.call(null,b,c,d)],null)},g=function(){var b=function(b,c,d,e){return new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[cljs.core.apply.cljs$core$IFn$_invoke$arity$5(a,
b,c,d,e)],null)},c=function(a,c,d,e){var f=null;if(3<arguments.length){f=0;for(var g=Array(arguments.length-3);f<g.length;)g[f]=arguments[f+3],++f;f=new cljs.core.IndexedSeq(g,0,null)}return b.call(this,a,c,d,f)};c.cljs$lang$maxFixedArity=3;c.cljs$lang$applyTo=function(a){var c=cljs.core.first(a);a=cljs.core.next(a);var d=cljs.core.first(a);a=cljs.core.next(a);var e=cljs.core.first(a);a=cljs.core.rest(a);return b(c,d,e,a)};c.cljs$core$IFn$_invoke$arity$variadic=b;return c}();b=function(a,b,l,m){switch(arguments.length){case 0:return c.call(this);
case 1:return d.call(this,a);case 2:return e.call(this,a,b);case 3:return f.call(this,a,b,l);default:var h=null;if(3<arguments.length){h=0;for(var k=Array(arguments.length-3);h<k.length;)k[h]=arguments[h+3],++h;h=new cljs.core.IndexedSeq(k,0,null)}return g.cljs$core$IFn$_invoke$arity$variadic(a,b,l,h)}throw Error("Invalid arity: "+arguments.length);};b.cljs$lang$maxFixedArity=3;b.cljs$lang$applyTo=g.cljs$lang$applyTo;b.cljs$core$IFn$_invoke$arity$0=c;b.cljs$core$IFn$_invoke$arity$1=d;b.cljs$core$IFn$_invoke$arity$2=
e;b.cljs$core$IFn$_invoke$arity$3=f;b.cljs$core$IFn$_invoke$arity$variadic=g.cljs$core$IFn$_invoke$arity$variadic;return b}()};
cljs.core.juxt.cljs$core$IFn$_invoke$arity$2=function(a,b){return function(){var c=null,d=function(){return new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[a.cljs$core$IFn$_invoke$arity$0?a.cljs$core$IFn$_invoke$arity$0():a.call(null),b.cljs$core$IFn$_invoke$arity$0?b.cljs$core$IFn$_invoke$arity$0():b.call(null)],null)},e=function(c){return new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[a.cljs$core$IFn$_invoke$arity$1?a.cljs$core$IFn$_invoke$arity$1(c):
a.call(null,c),b.cljs$core$IFn$_invoke$arity$1?b.cljs$core$IFn$_invoke$arity$1(c):b.call(null,c)],null)},f=function(c,d){return new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[a.cljs$core$IFn$_invoke$arity$2?a.cljs$core$IFn$_invoke$arity$2(c,d):a.call(null,c,d),b.cljs$core$IFn$_invoke$arity$2?b.cljs$core$IFn$_invoke$arity$2(c,d):b.call(null,c,d)],null)},g=function(c,d,e){return new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[a.cljs$core$IFn$_invoke$arity$3?
a.cljs$core$IFn$_invoke$arity$3(c,d,e):a.call(null,c,d,e),b.cljs$core$IFn$_invoke$arity$3?b.cljs$core$IFn$_invoke$arity$3(c,d,e):b.call(null,c,d,e)],null)},h=function(){var c=function(c,d,e,f){return new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[cljs.core.apply.cljs$core$IFn$_invoke$arity$5(a,c,d,e,f),cljs.core.apply.cljs$core$IFn$_invoke$arity$5(b,c,d,e,f)],null)},d=function(a,b,d,e){var f=null;if(3<arguments.length){f=0;for(var g=Array(arguments.length-3);f<g.length;)g[f]=
arguments[f+3],++f;f=new cljs.core.IndexedSeq(g,0,null)}return c.call(this,a,b,d,f)};d.cljs$lang$maxFixedArity=3;d.cljs$lang$applyTo=function(a){var b=cljs.core.first(a);a=cljs.core.next(a);var d=cljs.core.first(a);a=cljs.core.next(a);var e=cljs.core.first(a);a=cljs.core.rest(a);return c(b,d,e,a)};d.cljs$core$IFn$_invoke$arity$variadic=c;return d}();c=function(a,b,c,n){switch(arguments.length){case 0:return d.call(this);case 1:return e.call(this,a);case 2:return f.call(this,a,b);case 3:return g.call(this,
a,b,c);default:var k=null;if(3<arguments.length){k=0;for(var l=Array(arguments.length-3);k<l.length;)l[k]=arguments[k+3],++k;k=new cljs.core.IndexedSeq(l,0,null)}return h.cljs$core$IFn$_invoke$arity$variadic(a,b,c,k)}throw Error("Invalid arity: "+arguments.length);};c.cljs$lang$maxFixedArity=3;c.cljs$lang$applyTo=h.cljs$lang$applyTo;c.cljs$core$IFn$_invoke$arity$0=d;c.cljs$core$IFn$_invoke$arity$1=e;c.cljs$core$IFn$_invoke$arity$2=f;c.cljs$core$IFn$_invoke$arity$3=g;c.cljs$core$IFn$_invoke$arity$variadic=
h.cljs$core$IFn$_invoke$arity$variadic;return c}()};
cljs.core.juxt.cljs$core$IFn$_invoke$arity$3=function(a,b,c){return function(){var d=null,e=function(){return new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,[a.cljs$core$IFn$_invoke$arity$0?a.cljs$core$IFn$_invoke$arity$0():a.call(null),b.cljs$core$IFn$_invoke$arity$0?b.cljs$core$IFn$_invoke$arity$0():b.call(null),c.cljs$core$IFn$_invoke$arity$0?c.cljs$core$IFn$_invoke$arity$0():c.call(null)],null)},f=function(d){return new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,
[a.cljs$core$IFn$_invoke$arity$1?a.cljs$core$IFn$_invoke$arity$1(d):a.call(null,d),b.cljs$core$IFn$_invoke$arity$1?b.cljs$core$IFn$_invoke$arity$1(d):b.call(null,d),c.cljs$core$IFn$_invoke$arity$1?c.cljs$core$IFn$_invoke$arity$1(d):c.call(null,d)],null)},g=function(d,e){return new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,[a.cljs$core$IFn$_invoke$arity$2?a.cljs$core$IFn$_invoke$arity$2(d,e):a.call(null,d,e),b.cljs$core$IFn$_invoke$arity$2?b.cljs$core$IFn$_invoke$arity$2(d,
e):b.call(null,d,e),c.cljs$core$IFn$_invoke$arity$2?c.cljs$core$IFn$_invoke$arity$2(d,e):c.call(null,d,e)],null)},h=function(d,e,f){return new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,[a.cljs$core$IFn$_invoke$arity$3?a.cljs$core$IFn$_invoke$arity$3(d,e,f):a.call(null,d,e,f),b.cljs$core$IFn$_invoke$arity$3?b.cljs$core$IFn$_invoke$arity$3(d,e,f):b.call(null,d,e,f),c.cljs$core$IFn$_invoke$arity$3?c.cljs$core$IFn$_invoke$arity$3(d,e,f):c.call(null,d,e,f)],null)},k=function(){var d=
function(d,e,f,g){return new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,[cljs.core.apply.cljs$core$IFn$_invoke$arity$5(a,d,e,f,g),cljs.core.apply.cljs$core$IFn$_invoke$arity$5(b,d,e,f,g),cljs.core.apply.cljs$core$IFn$_invoke$arity$5(c,d,e,f,g)],null)},e=function(a,b,c,e){var f=null;if(3<arguments.length){f=0;for(var g=Array(arguments.length-3);f<g.length;)g[f]=arguments[f+3],++f;f=new cljs.core.IndexedSeq(g,0,null)}return d.call(this,a,b,c,f)};e.cljs$lang$maxFixedArity=
3;e.cljs$lang$applyTo=function(a){var b=cljs.core.first(a);a=cljs.core.next(a);var c=cljs.core.first(a);a=cljs.core.next(a);var e=cljs.core.first(a);a=cljs.core.rest(a);return d(b,c,e,a)};e.cljs$core$IFn$_invoke$arity$variadic=d;return e}();d=function(a,b,c,d){switch(arguments.length){case 0:return e.call(this);case 1:return f.call(this,a);case 2:return g.call(this,a,b);case 3:return h.call(this,a,b,c);default:var l=null;if(3<arguments.length){l=0;for(var m=Array(arguments.length-3);l<m.length;)m[l]=
arguments[l+3],++l;l=new cljs.core.IndexedSeq(m,0,null)}return k.cljs$core$IFn$_invoke$arity$variadic(a,b,c,l)}throw Error("Invalid arity: "+arguments.length);};d.cljs$lang$maxFixedArity=3;d.cljs$lang$applyTo=k.cljs$lang$applyTo;d.cljs$core$IFn$_invoke$arity$0=e;d.cljs$core$IFn$_invoke$arity$1=f;d.cljs$core$IFn$_invoke$arity$2=g;d.cljs$core$IFn$_invoke$arity$3=h;d.cljs$core$IFn$_invoke$arity$variadic=k.cljs$core$IFn$_invoke$arity$variadic;return d}()};
cljs.core.juxt.cljs$core$IFn$_invoke$arity$variadic=function(a,b,c,d){return function(a){return function(){var b=null,c=function(){return cljs.core.reduce.cljs$core$IFn$_invoke$arity$3(function(a){return function(a,b){return cljs.core.conj.cljs$core$IFn$_invoke$arity$2(a,b.cljs$core$IFn$_invoke$arity$0?b.cljs$core$IFn$_invoke$arity$0():b.call(null))}}(a),cljs.core.PersistentVector.EMPTY,a)},d=function(b){return cljs.core.reduce.cljs$core$IFn$_invoke$arity$3(function(a){return function(a,c){return cljs.core.conj.cljs$core$IFn$_invoke$arity$2(a,
c.cljs$core$IFn$_invoke$arity$1?c.cljs$core$IFn$_invoke$arity$1(b):c.call(null,b))}}(a),cljs.core.PersistentVector.EMPTY,a)},e=function(b,c){return cljs.core.reduce.cljs$core$IFn$_invoke$arity$3(function(a){return function(a,d){return cljs.core.conj.cljs$core$IFn$_invoke$arity$2(a,d.cljs$core$IFn$_invoke$arity$2?d.cljs$core$IFn$_invoke$arity$2(b,c):d.call(null,b,c))}}(a),cljs.core.PersistentVector.EMPTY,a)},l=function(b,c,d){return cljs.core.reduce.cljs$core$IFn$_invoke$arity$3(function(a){return function(a,
e){return cljs.core.conj.cljs$core$IFn$_invoke$arity$2(a,e.cljs$core$IFn$_invoke$arity$3?e.cljs$core$IFn$_invoke$arity$3(b,c,d):e.call(null,b,c,d))}}(a),cljs.core.PersistentVector.EMPTY,a)},m=function(){var b=function(b,c,d,e){return cljs.core.reduce.cljs$core$IFn$_invoke$arity$3(function(a){return function(a,f){return cljs.core.conj.cljs$core$IFn$_invoke$arity$2(a,cljs.core.apply.cljs$core$IFn$_invoke$arity$5(f,b,c,d,e))}}(a),cljs.core.PersistentVector.EMPTY,a)},c=function(a,c,d,e){var f=null;if(3<
arguments.length){f=0;for(var g=Array(arguments.length-3);f<g.length;)g[f]=arguments[f+3],++f;f=new cljs.core.IndexedSeq(g,0,null)}return b.call(this,a,c,d,f)};c.cljs$lang$maxFixedArity=3;c.cljs$lang$applyTo=function(a){var c=cljs.core.first(a);a=cljs.core.next(a);var d=cljs.core.first(a);a=cljs.core.next(a);var e=cljs.core.first(a);a=cljs.core.rest(a);return b(c,d,e,a)};c.cljs$core$IFn$_invoke$arity$variadic=b;return c}();b=function(a,b,f,g){switch(arguments.length){case 0:return c.call(this);case 1:return d.call(this,
a);case 2:return e.call(this,a,b);case 3:return l.call(this,a,b,f);default:var h=null;if(3<arguments.length){h=0;for(var k=Array(arguments.length-3);h<k.length;)k[h]=arguments[h+3],++h;h=new cljs.core.IndexedSeq(k,0,null)}return m.cljs$core$IFn$_invoke$arity$variadic(a,b,f,h)}throw Error("Invalid arity: "+arguments.length);};b.cljs$lang$maxFixedArity=3;b.cljs$lang$applyTo=m.cljs$lang$applyTo;b.cljs$core$IFn$_invoke$arity$0=c;b.cljs$core$IFn$_invoke$arity$1=d;b.cljs$core$IFn$_invoke$arity$2=e;b.cljs$core$IFn$_invoke$arity$3=
l;b.cljs$core$IFn$_invoke$arity$variadic=m.cljs$core$IFn$_invoke$arity$variadic;return b}()}(cljs.core.list_STAR_.cljs$core$IFn$_invoke$arity$4(a,b,c,d))};cljs.core.juxt.cljs$lang$applyTo=function(a){var b=cljs.core.first(a),c=cljs.core.next(a);a=cljs.core.first(c);var d=cljs.core.next(c);c=cljs.core.first(d);d=cljs.core.next(d);return this.cljs$core$IFn$_invoke$arity$variadic(b,a,c,d)};cljs.core.juxt.cljs$lang$maxFixedArity=3;
cljs.core.dorun=function(a){switch(arguments.length){case 1:return cljs.core.dorun.cljs$core$IFn$_invoke$arity$1(arguments[0]);case 2:return cljs.core.dorun.cljs$core$IFn$_invoke$arity$2(arguments[0],arguments[1]);default:throw Error(["Invalid arity: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(""));}};cljs.core.dorun.cljs$core$IFn$_invoke$arity$1=function(a){for(;;)if(a=cljs.core.seq(a))a=cljs.core.next(a);else return null};
cljs.core.dorun.cljs$core$IFn$_invoke$arity$2=function(a,b){for(;;)if(cljs.core.seq(b)&&0<a)--a,b=cljs.core.next(b);else return null};cljs.core.dorun.cljs$lang$maxFixedArity=2;
cljs.core.doall=function(a){switch(arguments.length){case 1:return cljs.core.doall.cljs$core$IFn$_invoke$arity$1(arguments[0]);case 2:return cljs.core.doall.cljs$core$IFn$_invoke$arity$2(arguments[0],arguments[1]);default:throw Error(["Invalid arity: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(""));}};cljs.core.doall.cljs$core$IFn$_invoke$arity$1=function(a){cljs.core.dorun.cljs$core$IFn$_invoke$arity$1(a);return a};
cljs.core.doall.cljs$core$IFn$_invoke$arity$2=function(a,b){cljs.core.dorun.cljs$core$IFn$_invoke$arity$2(a,b);return b};cljs.core.doall.cljs$lang$maxFixedArity=2;cljs.core.regexp_QMARK_=function(a){return a instanceof RegExp};cljs.core.re_matches=function(a,b){if("string"===typeof b)return a=a.exec(b),cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(cljs.core.first(a),b)?1===cljs.core.count(a)?cljs.core.first(a):cljs.core.vec(a):null;throw new TypeError("re-matches must match against a string.");};
cljs.core.re_find=function(a,b){if("string"===typeof b)return a=a.exec(b),null==a?null:1===cljs.core.count(a)?cljs.core.first(a):cljs.core.vec(a);throw new TypeError("re-find must match against a string.");};
cljs.core.re_seq_STAR_=function(a,b){var c=a.exec(b);if(null==c)return null;var d=c[0],e=1===c.length?d:cljs.core.vec(c);return cljs.core.cons(e,new cljs.core.LazySeq(null,function(c,d,e,k){return function(){var d=c.length;d=e.index+(1>d?1:d);return d<=b.length?(d=cljs.core.subs.cljs$core$IFn$_invoke$arity$2(b,d),cljs.core.re_seq_STAR_.cljs$core$IFn$_invoke$arity$2?cljs.core.re_seq_STAR_.cljs$core$IFn$_invoke$arity$2(a,d):cljs.core.re_seq_STAR_.call(null,a,d)):null}}(d,e,c,c),null,null))};
cljs.core.re_seq=function(a,b){if("string"===typeof b)return cljs.core.re_seq_STAR_(a,b);throw new TypeError("re-seq must match against a string.");};cljs.core.re_pattern=function(a){if(a instanceof RegExp)return a;var b=cljs.core.re_find(/^\(\?([idmsux]*)\)/,a),c=cljs.core.nth.cljs$core$IFn$_invoke$arity$3(b,0,null);b=cljs.core.nth.cljs$core$IFn$_invoke$arity$3(b,1,null);a=cljs.core.subs.cljs$core$IFn$_invoke$arity$2(a,cljs.core.count(c));c=RegExp;b=cljs.core.truth_(b)?b:"";return new c(a,b)};
cljs.core.pr_sequential_writer=function(a,b,c,d,e,f,g){var h=cljs.core._STAR_print_level_STAR_;cljs.core._STAR_print_level_STAR_=null==cljs.core._STAR_print_level_STAR_?null:cljs.core._STAR_print_level_STAR_-1;try{if(null!=cljs.core._STAR_print_level_STAR_&&0>cljs.core._STAR_print_level_STAR_)return cljs.core._write(a,"#");cljs.core._write(a,c);if(0===(new cljs.core.Keyword(null,"print-length","print-length",1931866356)).cljs$core$IFn$_invoke$arity$1(f))cljs.core.seq(g)&&cljs.core._write(a,function(){var a=
(new cljs.core.Keyword(null,"more-marker","more-marker",-14717935)).cljs$core$IFn$_invoke$arity$1(f);return cljs.core.truth_(a)?a:"..."}());else{if(cljs.core.seq(g)){var k=cljs.core.first(g);b.cljs$core$IFn$_invoke$arity$3?b.cljs$core$IFn$_invoke$arity$3(k,a,f):b.call(null,k,a,f)}for(var l=cljs.core.next(g),m=(new cljs.core.Keyword(null,"print-length","print-length",1931866356)).cljs$core$IFn$_invoke$arity$1(f)-1;;)if(!l||null!=m&&0===m){cljs.core.seq(l)&&0===m&&(cljs.core._write(a,d),cljs.core._write(a,
function(){var a=(new cljs.core.Keyword(null,"more-marker","more-marker",-14717935)).cljs$core$IFn$_invoke$arity$1(f);return cljs.core.truth_(a)?a:"..."}()));break}else{cljs.core._write(a,d);var n=cljs.core.first(l);c=a;g=f;b.cljs$core$IFn$_invoke$arity$3?b.cljs$core$IFn$_invoke$arity$3(n,c,g):b.call(null,n,c,g);var p=cljs.core.next(l);c=m-1;l=p;m=c}}return cljs.core._write(a,e)}finally{cljs.core._STAR_print_level_STAR_=h}};
cljs.core.write_all=function(a){for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;b=1<b.length?new cljs.core.IndexedSeq(b.slice(1),0,null):null;return cljs.core.write_all.cljs$core$IFn$_invoke$arity$variadic(arguments[0],b)};
cljs.core.write_all.cljs$core$IFn$_invoke$arity$variadic=function(a,b){b=cljs.core.seq(b);for(var c=null,d=0,e=0;;)if(e<d){var f=c.cljs$core$IIndexed$_nth$arity$2(null,e);cljs.core._write(a,f);e+=1}else if(b=cljs.core.seq(b))c=b,cljs.core.chunked_seq_QMARK_(c)?(b=cljs.core.chunk_first(c),d=cljs.core.chunk_rest(c),c=b,f=cljs.core.count(b),b=d,d=f):(f=cljs.core.first(c),cljs.core._write(a,f),b=cljs.core.next(c),c=null,d=0),e=0;else return null};cljs.core.write_all.cljs$lang$maxFixedArity=1;
cljs.core.write_all.cljs$lang$applyTo=function(a){var b=cljs.core.first(a);a=cljs.core.next(a);return this.cljs$core$IFn$_invoke$arity$variadic(b,a)};cljs.core.string_print=function(a){if(null==cljs.core._STAR_print_fn_STAR_)throw Error("No *print-fn* fn set for evaluation environment");cljs.core._STAR_print_fn_STAR_.cljs$core$IFn$_invoke$arity$1?cljs.core._STAR_print_fn_STAR_.cljs$core$IFn$_invoke$arity$1(a):cljs.core._STAR_print_fn_STAR_.call(null,a);return null};cljs.core.flush=function(){return null};
cljs.core.char_escapes=function(){return{'"':'\\"',"\\":"\\\\","\b":"\\b","\f":"\\f","\n":"\\n","\r":"\\r","\t":"\\t"}}();cljs.core.quote_string=function(a){return['"',cljs.core.str.cljs$core$IFn$_invoke$arity$1(a.replace(/[\\"\b\f\n\r\t]/g,function(a){return cljs.core.char_escapes[a]})),'"'].join("")};
cljs.core.print_meta_QMARK_=function(a,b){return(a=cljs.core.boolean$(cljs.core.get.cljs$core$IFn$_invoke$arity$2(a,new cljs.core.Keyword(null,"meta","meta",1499536964))))?(a=null!=b?b.cljs$lang$protocol_mask$partition0$&131072||cljs.core.PROTOCOL_SENTINEL===b.cljs$core$IMeta$?!0:!1:!1)?null!=cljs.core.meta(b):a:a};
cljs.core.pr_writer_impl=function(a,b,c){if(null==a)return cljs.core._write(b,"nil");cljs.core.print_meta_QMARK_(c,a)&&(cljs.core._write(b,"^"),cljs.core.pr_writer(cljs.core.meta(a),b,c),cljs.core._write(b," "));if(a.cljs$lang$type)return a.cljs$lang$ctorPrWriter(a,b,c);if(null!=a?a.cljs$lang$protocol_mask$partition0$&2147483648||cljs.core.PROTOCOL_SENTINEL===a.cljs$core$IPrintWithWriter$||(a.cljs$lang$protocol_mask$partition0$?0:cljs.core.native_satisfies_QMARK_(cljs.core.IPrintWithWriter,a)):cljs.core.native_satisfies_QMARK_(cljs.core.IPrintWithWriter,
a))return cljs.core._pr_writer(a,b,c);if(!0===a||!1===a)return cljs.core._write(b,cljs.core.str.cljs$core$IFn$_invoke$arity$1(a));if("number"===typeof a)return cljs.core._write(b,isNaN(a)?"##NaN":a===Number.POSITIVE_INFINITY?"##Inf":a===Number.NEGATIVE_INFINITY?"##-Inf":cljs.core.str.cljs$core$IFn$_invoke$arity$1(a));if(cljs.core.object_QMARK_(a))return cljs.core._write(b,"#js "),cljs.core.print_map(cljs.core.map.cljs$core$IFn$_invoke$arity$2(function(b){var c=cljs.core.MapEntry;var d=null!=cljs.core.re_matches(/[A-Za-z_\*\+\?!\-'][\w\*\+\?!\-']*/,
b)?cljs.core.keyword.cljs$core$IFn$_invoke$arity$1(b):b;return new c(d,a[b],null)},cljs.core.js_keys(a)),cljs.core.pr_writer,b,c);if(cljs.core.array_QMARK_(a))return cljs.core.pr_sequential_writer(b,cljs.core.pr_writer,"#js ["," ","]",c,a);if(goog.isString(a))return cljs.core.truth_((new cljs.core.Keyword(null,"readably","readably",1129599760)).cljs$core$IFn$_invoke$arity$1(c))?cljs.core._write(b,cljs.core.quote_string(a)):cljs.core._write(b,a);if(goog.isFunction(a)){var d=a.name;c=cljs.core.truth_(function(){var a=
null==d;return a?a:goog.string.isEmpty(d)}())?"Function":d;return cljs.core.write_all.cljs$core$IFn$_invoke$arity$variadic(b,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2(["#object[",c,cljs.core._STAR_print_fn_bodies_STAR_?[' "',cljs.core.str.cljs$core$IFn$_invoke$arity$1(a),'"'].join(""):"","]"],0))}if(a instanceof Date)return c=function(a,b){for(a=cljs.core.str.cljs$core$IFn$_invoke$arity$1(a);;)if(cljs.core.count(a)<b)a=["0",a].join("");else return a},cljs.core.write_all.cljs$core$IFn$_invoke$arity$variadic(b,
cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2(['#inst "',cljs.core.str.cljs$core$IFn$_invoke$arity$1(a.getUTCFullYear()),"-",c(a.getUTCMonth()+1,2),"-",c(a.getUTCDate(),2),"T",c(a.getUTCHours(),2),":",c(a.getUTCMinutes(),2),":",c(a.getUTCSeconds(),2),".",c(a.getUTCMilliseconds(),3),"-",'00:00"'],0));if(cljs.core.regexp_QMARK_(a))return cljs.core.write_all.cljs$core$IFn$_invoke$arity$variadic(b,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2(['#"',a.source,'"'],0));if(cljs.core.truth_(function(){var b=
null==a?null:a.constructor;return null==b?null:b.cljs$lang$ctorStr}()))return cljs.core.write_all.cljs$core$IFn$_invoke$arity$variadic(b,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2(["#object[",a.constructor.cljs$lang$ctorStr.replace(/\//g,"."),"]"],0));d=function(){var b=null==a?null:a.constructor;return null==b?null:b.name}();c=cljs.core.truth_(function(){var a=null==d;return a?a:goog.string.isEmpty(d)}())?"Object":d;return null==a.constructor?cljs.core.write_all.cljs$core$IFn$_invoke$arity$variadic(b,
cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2(["#object[",c,"]"],0)):cljs.core.write_all.cljs$core$IFn$_invoke$arity$variadic(b,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2(["#object[",c," ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(a),"]"],0))};
cljs.core.pr_writer=function(a,b,c){var d=(new cljs.core.Keyword(null,"alt-impl","alt-impl",670969595)).cljs$core$IFn$_invoke$arity$1(c);return cljs.core.truth_(d)?(c=cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(c,new cljs.core.Keyword(null,"fallback-impl","fallback-impl",-1501286995),cljs.core.pr_writer_impl),d.cljs$core$IFn$_invoke$arity$3?d.cljs$core$IFn$_invoke$arity$3(a,b,c):d.call(null,a,b,c)):cljs.core.pr_writer_impl(a,b,c)};
cljs.core.pr_seq_writer=function(a,b,c){cljs.core.pr_writer(cljs.core.first(a),b,c);a=cljs.core.seq(cljs.core.next(a));for(var d=null,e=0,f=0;;)if(f<e){var g=d.cljs$core$IIndexed$_nth$arity$2(null,f);cljs.core._write(b," ");cljs.core.pr_writer(g,b,c);f+=1}else if(a=cljs.core.seq(a))d=a,cljs.core.chunked_seq_QMARK_(d)?(a=cljs.core.chunk_first(d),e=cljs.core.chunk_rest(d),d=a,g=cljs.core.count(a),a=e,e=g):(g=cljs.core.first(d),cljs.core._write(b," "),cljs.core.pr_writer(g,b,c),a=cljs.core.next(d),d=
null,e=0),f=0;else return null};cljs.core.pr_sb_with_opts=function(a,b){var c=new goog.string.StringBuffer,d=new cljs.core.StringBufferWriter(c);cljs.core.pr_seq_writer(a,d,b);d.cljs$core$IWriter$_flush$arity$1(null);return c};cljs.core.pr_str_with_opts=function(a,b){return cljs.core.empty_QMARK_(a)?"":cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.core.pr_sb_with_opts(a,b))};
cljs.core.prn_str_with_opts=function(a,b){if(cljs.core.empty_QMARK_(a))return"\n";a=cljs.core.pr_sb_with_opts(a,b);a.append("\n");return cljs.core.str.cljs$core$IFn$_invoke$arity$1(a)};cljs.core.pr_with_opts=function(a,b){return cljs.core.string_print(cljs.core.pr_str_with_opts(a,b))};
cljs.core.newline=function(a){switch(arguments.length){case 0:return cljs.core.newline.cljs$core$IFn$_invoke$arity$0();case 1:return cljs.core.newline.cljs$core$IFn$_invoke$arity$1(arguments[0]);default:throw Error(["Invalid arity: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(""));}};cljs.core.newline.cljs$core$IFn$_invoke$arity$0=function(){return cljs.core.newline.cljs$core$IFn$_invoke$arity$1(null)};
cljs.core.newline.cljs$core$IFn$_invoke$arity$1=function(a){cljs.core.string_print("\n");return cljs.core.truth_(cljs.core.get.cljs$core$IFn$_invoke$arity$2(a,new cljs.core.Keyword(null,"flush-on-newline","flush-on-newline",-151457939)))?cljs.core.flush():null};cljs.core.newline.cljs$lang$maxFixedArity=1;cljs.core.pr_str=function(a){for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;b=0<b.length?new cljs.core.IndexedSeq(b.slice(0),0,null):null;return cljs.core.pr_str.cljs$core$IFn$_invoke$arity$variadic(b)};
cljs.core.pr_str.cljs$core$IFn$_invoke$arity$variadic=function(a){return cljs.core.pr_str_with_opts(a,cljs.core.pr_opts())};cljs.core.pr_str.cljs$lang$maxFixedArity=0;cljs.core.pr_str.cljs$lang$applyTo=function(a){return this.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq(a))};cljs.core.prn_str=function(a){for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;b=0<b.length?new cljs.core.IndexedSeq(b.slice(0),0,null):null;return cljs.core.prn_str.cljs$core$IFn$_invoke$arity$variadic(b)};
cljs.core.prn_str.cljs$core$IFn$_invoke$arity$variadic=function(a){return cljs.core.prn_str_with_opts(a,cljs.core.pr_opts())};cljs.core.prn_str.cljs$lang$maxFixedArity=0;cljs.core.prn_str.cljs$lang$applyTo=function(a){return this.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq(a))};cljs.core.pr=function(a){for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;b=0<b.length?new cljs.core.IndexedSeq(b.slice(0),0,null):null;return cljs.core.pr.cljs$core$IFn$_invoke$arity$variadic(b)};
cljs.core.pr.cljs$core$IFn$_invoke$arity$variadic=function(a){return cljs.core.pr_with_opts(a,cljs.core.pr_opts())};cljs.core.pr.cljs$lang$maxFixedArity=0;cljs.core.pr.cljs$lang$applyTo=function(a){return this.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq(a))};
cljs.core.print=function(){var a=function(a){return cljs.core.pr_with_opts(a,cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(cljs.core.pr_opts(),new cljs.core.Keyword(null,"readably","readably",1129599760),!1))},b=function(b){var c=null;if(0<arguments.length){c=0;for(var e=Array(arguments.length-0);c<e.length;)e[c]=arguments[c+0],++c;c=new cljs.core.IndexedSeq(e,0,null)}return a.call(this,c)};b.cljs$lang$maxFixedArity=0;b.cljs$lang$applyTo=function(b){b=cljs.core.seq(b);return a(b)};b.cljs$core$IFn$_invoke$arity$variadic=
a;return b}();cljs.core.print_str=function(a){for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;b=0<b.length?new cljs.core.IndexedSeq(b.slice(0),0,null):null;return cljs.core.print_str.cljs$core$IFn$_invoke$arity$variadic(b)};cljs.core.print_str.cljs$core$IFn$_invoke$arity$variadic=function(a){return cljs.core.pr_str_with_opts(a,cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(cljs.core.pr_opts(),new cljs.core.Keyword(null,"readably","readably",1129599760),!1))};
cljs.core.print_str.cljs$lang$maxFixedArity=0;cljs.core.print_str.cljs$lang$applyTo=function(a){return this.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq(a))};cljs.core.println=function(a){for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;b=0<b.length?new cljs.core.IndexedSeq(b.slice(0),0,null):null;return cljs.core.println.cljs$core$IFn$_invoke$arity$variadic(b)};
cljs.core.println.cljs$core$IFn$_invoke$arity$variadic=function(a){cljs.core.pr_with_opts(a,cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(cljs.core.pr_opts(),new cljs.core.Keyword(null,"readably","readably",1129599760),!1));return cljs.core._STAR_print_newline_STAR_?cljs.core.newline.cljs$core$IFn$_invoke$arity$1(cljs.core.pr_opts()):null};cljs.core.println.cljs$lang$maxFixedArity=0;cljs.core.println.cljs$lang$applyTo=function(a){return this.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq(a))};
cljs.core.println_str=function(a){for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;b=0<b.length?new cljs.core.IndexedSeq(b.slice(0),0,null):null;return cljs.core.println_str.cljs$core$IFn$_invoke$arity$variadic(b)};cljs.core.println_str.cljs$core$IFn$_invoke$arity$variadic=function(a){return cljs.core.prn_str_with_opts(a,cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(cljs.core.pr_opts(),new cljs.core.Keyword(null,"readably","readably",1129599760),!1))};
cljs.core.println_str.cljs$lang$maxFixedArity=0;cljs.core.println_str.cljs$lang$applyTo=function(a){return this.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq(a))};cljs.core.prn=function(a){for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;b=0<b.length?new cljs.core.IndexedSeq(b.slice(0),0,null):null;return cljs.core.prn.cljs$core$IFn$_invoke$arity$variadic(b)};
cljs.core.prn.cljs$core$IFn$_invoke$arity$variadic=function(a){cljs.core.pr_with_opts(a,cljs.core.pr_opts());return cljs.core._STAR_print_newline_STAR_?cljs.core.newline.cljs$core$IFn$_invoke$arity$1(cljs.core.pr_opts()):null};cljs.core.prn.cljs$lang$maxFixedArity=0;cljs.core.prn.cljs$lang$applyTo=function(a){return this.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq(a))};
cljs.core.strip_ns=function(a){return a instanceof cljs.core.Symbol?cljs.core.symbol.cljs$core$IFn$_invoke$arity$2(null,cljs.core.name(a)):cljs.core.keyword.cljs$core$IFn$_invoke$arity$2(null,cljs.core.name(a))};
cljs.core.lift_ns=function(a){if(cljs.core._STAR_print_namespace_maps_STAR_){var b=cljs.core.seq(a),c=cljs.core.seq(b),d=cljs.core.first(c);cljs.core.next(c);cljs.core.nth.cljs$core$IFn$_invoke$arity$3(d,0,null);cljs.core.nth.cljs$core$IFn$_invoke$arity$3(d,1,null);c=cljs.core.empty(a);for(a=null;;){d=a;b=cljs.core.seq(b);a=cljs.core.first(b);var e=cljs.core.next(b),f=a;a=cljs.core.nth.cljs$core$IFn$_invoke$arity$3(f,0,null);b=cljs.core.nth.cljs$core$IFn$_invoke$arity$3(f,1,null);if(cljs.core.truth_(f))if(a instanceof
cljs.core.Keyword||a instanceof cljs.core.Symbol)if(cljs.core.truth_(d))if(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(d,cljs.core.namespace(a)))c=cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(c,cljs.core.strip_ns(a),b),a=d,b=e;else return null;else if(d=cljs.core.namespace(a),cljs.core.truth_(d))c=cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(c,cljs.core.strip_ns(a),b),a=d,b=e;else return null;else return null;else return new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,
[d,c],null)}}else return null};cljs.core.print_prefix_map=function(a,b,c,d,e){return cljs.core.pr_sequential_writer(d,function(a,b,d){var e=cljs.core.key(a);c.cljs$core$IFn$_invoke$arity$3?c.cljs$core$IFn$_invoke$arity$3(e,b,d):c.call(null,e,b,d);cljs.core._write(b," ");a=cljs.core.val(a);return c.cljs$core$IFn$_invoke$arity$3?c.cljs$core$IFn$_invoke$arity$3(a,b,d):c.call(null,a,b,d)},[cljs.core.str.cljs$core$IFn$_invoke$arity$1(a),"{"].join(""),", ","}",e,cljs.core.seq(b))};
cljs.core.print_map=function(a,b,c,d){var e=cljs.core.map_QMARK_(a)?cljs.core.lift_ns(a):null,f=cljs.core.nth.cljs$core$IFn$_invoke$arity$3(e,0,null);e=cljs.core.nth.cljs$core$IFn$_invoke$arity$3(e,1,null);return cljs.core.truth_(f)?cljs.core.print_prefix_map(["#:",cljs.core.str.cljs$core$IFn$_invoke$arity$1(f)].join(""),e,b,c,d):cljs.core.print_prefix_map(null,a,b,c,d)};cljs.core.Volatile.prototype.cljs$core$IPrintWithWriter$=cljs.core.PROTOCOL_SENTINEL;
cljs.core.Volatile.prototype.cljs$core$IPrintWithWriter$_pr_writer$arity$3=function(a,b,c){cljs.core._write(b,"#object[cljs.core.Volatile ");cljs.core.pr_writer(new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"val","val",128701612),this.state],null),b,c);return cljs.core._write(b,"]")};cljs.core.Var.prototype.cljs$core$IPrintWithWriter$=cljs.core.PROTOCOL_SENTINEL;
cljs.core.Var.prototype.cljs$core$IPrintWithWriter$_pr_writer$arity$3=function(a,b,c){cljs.core._write(b,"#'");return cljs.core.pr_writer(this.sym,b,c)};cljs.core.IndexedSeq.prototype.cljs$core$IPrintWithWriter$=cljs.core.PROTOCOL_SENTINEL;cljs.core.IndexedSeq.prototype.cljs$core$IPrintWithWriter$_pr_writer$arity$3=function(a,b,c){return cljs.core.pr_sequential_writer(b,cljs.core.pr_writer,"("," ",")",c,this)};cljs.core.LazySeq.prototype.cljs$core$IPrintWithWriter$=cljs.core.PROTOCOL_SENTINEL;
cljs.core.LazySeq.prototype.cljs$core$IPrintWithWriter$_pr_writer$arity$3=function(a,b,c){return cljs.core.pr_sequential_writer(b,cljs.core.pr_writer,"("," ",")",c,this)};cljs.core.MapEntry.prototype.cljs$core$IPrintWithWriter$=cljs.core.PROTOCOL_SENTINEL;cljs.core.MapEntry.prototype.cljs$core$IPrintWithWriter$_pr_writer$arity$3=function(a,b,c){return cljs.core.pr_sequential_writer(b,cljs.core.pr_writer,"["," ","]",c,this)};cljs.core.PersistentTreeMapSeq.prototype.cljs$core$IPrintWithWriter$=cljs.core.PROTOCOL_SENTINEL;
cljs.core.PersistentTreeMapSeq.prototype.cljs$core$IPrintWithWriter$_pr_writer$arity$3=function(a,b,c){return cljs.core.pr_sequential_writer(b,cljs.core.pr_writer,"("," ",")",c,this)};cljs.core.NodeSeq.prototype.cljs$core$IPrintWithWriter$=cljs.core.PROTOCOL_SENTINEL;cljs.core.NodeSeq.prototype.cljs$core$IPrintWithWriter$_pr_writer$arity$3=function(a,b,c){return cljs.core.pr_sequential_writer(b,cljs.core.pr_writer,"("," ",")",c,this)};cljs.core.BlackNode.prototype.cljs$core$IPrintWithWriter$=cljs.core.PROTOCOL_SENTINEL;
cljs.core.BlackNode.prototype.cljs$core$IPrintWithWriter$_pr_writer$arity$3=function(a,b,c){return cljs.core.pr_sequential_writer(b,cljs.core.pr_writer,"["," ","]",c,this)};cljs.core.PersistentArrayMapSeq.prototype.cljs$core$IPrintWithWriter$=cljs.core.PROTOCOL_SENTINEL;cljs.core.PersistentArrayMapSeq.prototype.cljs$core$IPrintWithWriter$_pr_writer$arity$3=function(a,b,c){return cljs.core.pr_sequential_writer(b,cljs.core.pr_writer,"("," ",")",c,this)};
cljs.core.ES6IteratorSeq.prototype.cljs$core$IPrintWithWriter$=cljs.core.PROTOCOL_SENTINEL;cljs.core.ES6IteratorSeq.prototype.cljs$core$IPrintWithWriter$_pr_writer$arity$3=function(a,b,c){return cljs.core.pr_sequential_writer(b,cljs.core.pr_writer,"("," ",")",c,this)};cljs.core.PersistentTreeSet.prototype.cljs$core$IPrintWithWriter$=cljs.core.PROTOCOL_SENTINEL;
cljs.core.PersistentTreeSet.prototype.cljs$core$IPrintWithWriter$_pr_writer$arity$3=function(a,b,c){return cljs.core.pr_sequential_writer(b,cljs.core.pr_writer,"#{"," ","}",c,this)};cljs.core.ChunkedSeq.prototype.cljs$core$IPrintWithWriter$=cljs.core.PROTOCOL_SENTINEL;cljs.core.ChunkedSeq.prototype.cljs$core$IPrintWithWriter$_pr_writer$arity$3=function(a,b,c){return cljs.core.pr_sequential_writer(b,cljs.core.pr_writer,"("," ",")",c,this)};cljs.core.ObjMap.prototype.cljs$core$IPrintWithWriter$=cljs.core.PROTOCOL_SENTINEL;
cljs.core.ObjMap.prototype.cljs$core$IPrintWithWriter$_pr_writer$arity$3=function(a,b,c){return cljs.core.print_map(this,cljs.core.pr_writer,b,c)};cljs.core.Cons.prototype.cljs$core$IPrintWithWriter$=cljs.core.PROTOCOL_SENTINEL;cljs.core.Cons.prototype.cljs$core$IPrintWithWriter$_pr_writer$arity$3=function(a,b,c){return cljs.core.pr_sequential_writer(b,cljs.core.pr_writer,"("," ",")",c,this)};cljs.core.Iterate.prototype.cljs$core$IPrintWithWriter$=cljs.core.PROTOCOL_SENTINEL;
cljs.core.Iterate.prototype.cljs$core$IPrintWithWriter$_pr_writer$arity$3=function(a,b,c){return cljs.core.pr_sequential_writer(b,cljs.core.pr_writer,"("," ",")",c,this)};cljs.core.RSeq.prototype.cljs$core$IPrintWithWriter$=cljs.core.PROTOCOL_SENTINEL;cljs.core.RSeq.prototype.cljs$core$IPrintWithWriter$_pr_writer$arity$3=function(a,b,c){return cljs.core.pr_sequential_writer(b,cljs.core.pr_writer,"("," ",")",c,this)};cljs.core.PersistentHashMap.prototype.cljs$core$IPrintWithWriter$=cljs.core.PROTOCOL_SENTINEL;
cljs.core.PersistentHashMap.prototype.cljs$core$IPrintWithWriter$_pr_writer$arity$3=function(a,b,c){return cljs.core.print_map(this,cljs.core.pr_writer,b,c)};cljs.core.ArrayNodeSeq.prototype.cljs$core$IPrintWithWriter$=cljs.core.PROTOCOL_SENTINEL;cljs.core.ArrayNodeSeq.prototype.cljs$core$IPrintWithWriter$_pr_writer$arity$3=function(a,b,c){return cljs.core.pr_sequential_writer(b,cljs.core.pr_writer,"("," ",")",c,this)};cljs.core.Subvec.prototype.cljs$core$IPrintWithWriter$=cljs.core.PROTOCOL_SENTINEL;
cljs.core.Subvec.prototype.cljs$core$IPrintWithWriter$_pr_writer$arity$3=function(a,b,c){return cljs.core.pr_sequential_writer(b,cljs.core.pr_writer,"["," ","]",c,this)};cljs.core.Cycle.prototype.cljs$core$IPrintWithWriter$=cljs.core.PROTOCOL_SENTINEL;cljs.core.Cycle.prototype.cljs$core$IPrintWithWriter$_pr_writer$arity$3=function(a,b,c){return cljs.core.pr_sequential_writer(b,cljs.core.pr_writer,"("," ",")",c,this)};cljs.core.PersistentTreeMap.prototype.cljs$core$IPrintWithWriter$=cljs.core.PROTOCOL_SENTINEL;
cljs.core.PersistentTreeMap.prototype.cljs$core$IPrintWithWriter$_pr_writer$arity$3=function(a,b,c){return cljs.core.print_map(this,cljs.core.pr_writer,b,c)};cljs.core.PersistentHashSet.prototype.cljs$core$IPrintWithWriter$=cljs.core.PROTOCOL_SENTINEL;cljs.core.PersistentHashSet.prototype.cljs$core$IPrintWithWriter$_pr_writer$arity$3=function(a,b,c){return cljs.core.pr_sequential_writer(b,cljs.core.pr_writer,"#{"," ","}",c,this)};cljs.core.ChunkedCons.prototype.cljs$core$IPrintWithWriter$=cljs.core.PROTOCOL_SENTINEL;
cljs.core.ChunkedCons.prototype.cljs$core$IPrintWithWriter$_pr_writer$arity$3=function(a,b,c){return cljs.core.pr_sequential_writer(b,cljs.core.pr_writer,"("," ",")",c,this)};cljs.core.Atom.prototype.cljs$core$IPrintWithWriter$=cljs.core.PROTOCOL_SENTINEL;
cljs.core.Atom.prototype.cljs$core$IPrintWithWriter$_pr_writer$arity$3=function(a,b,c){cljs.core._write(b,"#object[cljs.core.Atom ");cljs.core.pr_writer(new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"val","val",128701612),this.state],null),b,c);return cljs.core._write(b,"]")};cljs.core.ValSeq.prototype.cljs$core$IPrintWithWriter$=cljs.core.PROTOCOL_SENTINEL;
cljs.core.ValSeq.prototype.cljs$core$IPrintWithWriter$_pr_writer$arity$3=function(a,b,c){return cljs.core.pr_sequential_writer(b,cljs.core.pr_writer,"("," ",")",c,this)};cljs.core.RedNode.prototype.cljs$core$IPrintWithWriter$=cljs.core.PROTOCOL_SENTINEL;cljs.core.RedNode.prototype.cljs$core$IPrintWithWriter$_pr_writer$arity$3=function(a,b,c){return cljs.core.pr_sequential_writer(b,cljs.core.pr_writer,"["," ","]",c,this)};cljs.core.Repeat.prototype.cljs$core$IPrintWithWriter$=cljs.core.PROTOCOL_SENTINEL;
cljs.core.Repeat.prototype.cljs$core$IPrintWithWriter$_pr_writer$arity$3=function(a,b,c){return cljs.core.pr_sequential_writer(b,cljs.core.pr_writer,"("," ",")",c,this)};cljs.core.PersistentVector.prototype.cljs$core$IPrintWithWriter$=cljs.core.PROTOCOL_SENTINEL;cljs.core.PersistentVector.prototype.cljs$core$IPrintWithWriter$_pr_writer$arity$3=function(a,b,c){return cljs.core.pr_sequential_writer(b,cljs.core.pr_writer,"["," ","]",c,this)};
cljs.core.PersistentQueueSeq.prototype.cljs$core$IPrintWithWriter$=cljs.core.PROTOCOL_SENTINEL;cljs.core.PersistentQueueSeq.prototype.cljs$core$IPrintWithWriter$_pr_writer$arity$3=function(a,b,c){return cljs.core.pr_sequential_writer(b,cljs.core.pr_writer,"("," ",")",c,this)};cljs.core.EmptyList.prototype.cljs$core$IPrintWithWriter$=cljs.core.PROTOCOL_SENTINEL;cljs.core.EmptyList.prototype.cljs$core$IPrintWithWriter$_pr_writer$arity$3=function(a,b,c){return cljs.core._write(b,"()")};
cljs.core.PersistentQueue.prototype.cljs$core$IPrintWithWriter$=cljs.core.PROTOCOL_SENTINEL;cljs.core.PersistentQueue.prototype.cljs$core$IPrintWithWriter$_pr_writer$arity$3=function(a,b,c){return cljs.core.pr_sequential_writer(b,cljs.core.pr_writer,"#queue ["," ","]",c,cljs.core.seq(this))};cljs.core.PersistentArrayMap.prototype.cljs$core$IPrintWithWriter$=cljs.core.PROTOCOL_SENTINEL;
cljs.core.PersistentArrayMap.prototype.cljs$core$IPrintWithWriter$_pr_writer$arity$3=function(a,b,c){return cljs.core.print_map(this,cljs.core.pr_writer,b,c)};cljs.core.Range.prototype.cljs$core$IPrintWithWriter$=cljs.core.PROTOCOL_SENTINEL;cljs.core.Range.prototype.cljs$core$IPrintWithWriter$_pr_writer$arity$3=function(a,b,c){return cljs.core.pr_sequential_writer(b,cljs.core.pr_writer,"("," ",")",c,this)};cljs.core.TransformerIterator.prototype.cljs$core$IPrintWithWriter$=cljs.core.PROTOCOL_SENTINEL;
cljs.core.TransformerIterator.prototype.cljs$core$IPrintWithWriter$_pr_writer$arity$3=function(a,b,c){return cljs.core.pr_sequential_writer(b,cljs.core.pr_writer,"("," ",")",c,this)};cljs.core.KeySeq.prototype.cljs$core$IPrintWithWriter$=cljs.core.PROTOCOL_SENTINEL;cljs.core.KeySeq.prototype.cljs$core$IPrintWithWriter$_pr_writer$arity$3=function(a,b,c){return cljs.core.pr_sequential_writer(b,cljs.core.pr_writer,"("," ",")",c,this)};cljs.core.List.prototype.cljs$core$IPrintWithWriter$=cljs.core.PROTOCOL_SENTINEL;
cljs.core.List.prototype.cljs$core$IPrintWithWriter$_pr_writer$arity$3=function(a,b,c){return cljs.core.pr_sequential_writer(b,cljs.core.pr_writer,"("," ",")",c,this)};cljs.core.Symbol.prototype.cljs$core$IComparable$=cljs.core.PROTOCOL_SENTINEL;
cljs.core.Symbol.prototype.cljs$core$IComparable$_compare$arity$2=function(a,b){if(b instanceof cljs.core.Symbol)return cljs.core.compare_symbols(this,b);throw Error(["Cannot compare ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(this)," to ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(b)].join(""));};cljs.core.Keyword.prototype.cljs$core$IComparable$=cljs.core.PROTOCOL_SENTINEL;
cljs.core.Keyword.prototype.cljs$core$IComparable$_compare$arity$2=function(a,b){if(b instanceof cljs.core.Keyword)return cljs.core.compare_keywords(this,b);throw Error(["Cannot compare ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(this)," to ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(b)].join(""));};cljs.core.Subvec.prototype.cljs$core$IComparable$=cljs.core.PROTOCOL_SENTINEL;
cljs.core.Subvec.prototype.cljs$core$IComparable$_compare$arity$2=function(a,b){if(cljs.core.vector_QMARK_(b))return cljs.core.compare_indexed.cljs$core$IFn$_invoke$arity$2(this,b);throw Error(["Cannot compare ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(this)," to ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(b)].join(""));};cljs.core.PersistentVector.prototype.cljs$core$IComparable$=cljs.core.PROTOCOL_SENTINEL;
cljs.core.PersistentVector.prototype.cljs$core$IComparable$_compare$arity$2=function(a,b){if(cljs.core.vector_QMARK_(b))return cljs.core.compare_indexed.cljs$core$IFn$_invoke$arity$2(this,b);throw Error(["Cannot compare ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(this)," to ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(b)].join(""));};cljs.core.MapEntry.prototype.cljs$core$IComparable$=cljs.core.PROTOCOL_SENTINEL;
cljs.core.MapEntry.prototype.cljs$core$IComparable$_compare$arity$2=function(a,b){if(cljs.core.vector_QMARK_(b))return cljs.core.compare_indexed.cljs$core$IFn$_invoke$arity$2(this,b);throw Error(["Cannot compare ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(this)," to ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(b)].join(""));};cljs.core.BlackNode.prototype.cljs$core$IComparable$=cljs.core.PROTOCOL_SENTINEL;
cljs.core.BlackNode.prototype.cljs$core$IComparable$_compare$arity$2=function(a,b){if(cljs.core.vector_QMARK_(b))return cljs.core.compare_indexed.cljs$core$IFn$_invoke$arity$2(this,b);throw Error(["Cannot compare ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(this)," to ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(b)].join(""));};cljs.core.RedNode.prototype.cljs$core$IComparable$=cljs.core.PROTOCOL_SENTINEL;
cljs.core.RedNode.prototype.cljs$core$IComparable$_compare$arity$2=function(a,b){if(cljs.core.vector_QMARK_(b))return cljs.core.compare_indexed.cljs$core$IFn$_invoke$arity$2(this,b);throw Error(["Cannot compare ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(this)," to ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(b)].join(""));};
cljs.core.alter_meta_BANG_=function(a){for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;b=2<b.length?new cljs.core.IndexedSeq(b.slice(2),0,null):null;return cljs.core.alter_meta_BANG_.cljs$core$IFn$_invoke$arity$variadic(arguments[0],arguments[1],b)};cljs.core.alter_meta_BANG_.cljs$core$IFn$_invoke$arity$variadic=function(a,b,c){return a.meta=cljs.core.apply.cljs$core$IFn$_invoke$arity$3(b,a.meta,c)};cljs.core.alter_meta_BANG_.cljs$lang$maxFixedArity=2;
cljs.core.alter_meta_BANG_.cljs$lang$applyTo=function(a){var b=cljs.core.first(a),c=cljs.core.next(a);a=cljs.core.first(c);c=cljs.core.next(c);return this.cljs$core$IFn$_invoke$arity$variadic(b,a,c)};cljs.core.reset_meta_BANG_=function(a,b){return a.meta=b};cljs.core.add_watch=function(a,b,c){cljs.core._add_watch(a,b,c);return a};cljs.core.remove_watch=function(a,b){cljs.core._remove_watch(a,b);return a};cljs.core.gensym_counter=null;
cljs.core.gensym=function(a){switch(arguments.length){case 0:return cljs.core.gensym.cljs$core$IFn$_invoke$arity$0();case 1:return cljs.core.gensym.cljs$core$IFn$_invoke$arity$1(arguments[0]);default:throw Error(["Invalid arity: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(""));}};cljs.core.gensym.cljs$core$IFn$_invoke$arity$0=function(){return cljs.core.gensym.cljs$core$IFn$_invoke$arity$1("G__")};
cljs.core.gensym.cljs$core$IFn$_invoke$arity$1=function(a){null==cljs.core.gensym_counter&&(cljs.core.gensym_counter=cljs.core.atom.cljs$core$IFn$_invoke$arity$1(0));return cljs.core.symbol.cljs$core$IFn$_invoke$arity$1([cljs.core.str.cljs$core$IFn$_invoke$arity$1(a),cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$2(cljs.core.gensym_counter,cljs.core.inc))].join(""))};cljs.core.gensym.cljs$lang$maxFixedArity=1;
cljs.core.Delay=function(a,b){this.f=a;this.value=b;this.cljs$lang$protocol_mask$partition0$=2147516416;this.cljs$lang$protocol_mask$partition1$=1};cljs.core.Delay.prototype.cljs$core$IDeref$_deref$arity$1=function(a){cljs.core.truth_(this.f)&&(this.value=this.f.cljs$core$IFn$_invoke$arity$0?this.f.cljs$core$IFn$_invoke$arity$0():this.f.call(null),this.f=null);return this.value};cljs.core.Delay.prototype.cljs$core$IPending$_realized_QMARK_$arity$1=function(a){return cljs.core.not(this.f)};
cljs.core.Delay.prototype.cljs$core$IPrintWithWriter$_pr_writer$arity$3=function(a,b,c){cljs.core._write(b,"#object[cljs.core.Delay ");cljs.core.pr_writer(new cljs.core.PersistentArrayMap(null,2,[new cljs.core.Keyword(null,"status","status",-1997798413),null==this.f?new cljs.core.Keyword(null,"ready","ready",1086465795):new cljs.core.Keyword(null,"pending","pending",-220036727),new cljs.core.Keyword(null,"val","val",128701612),this.value],null),b,c);return cljs.core._write(b,"]")};
cljs.core.Delay.getBasis=function(){return new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[cljs.core.with_meta(new cljs.core.Symbol(null,"f","f",43394975,null),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"mutable","mutable",875778266),!0],null)),cljs.core.with_meta(new cljs.core.Symbol(null,"value","value",1946509744,null),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"mutable","mutable",875778266),!0],null))],null)};
cljs.core.Delay.cljs$lang$type=!0;cljs.core.Delay.cljs$lang$ctorStr="cljs.core/Delay";cljs.core.Delay.cljs$lang$ctorPrWriter=function(a,b,c){return cljs.core._write(b,"cljs.core/Delay")};cljs.core.__GT_Delay=function(a,b){return new cljs.core.Delay(a,b)};cljs.core.delay_QMARK_=function(a){return a instanceof cljs.core.Delay};cljs.core.force=function(a){return cljs.core.delay_QMARK_(a)?cljs.core.deref(a):a};cljs.core.realized_QMARK_=function(a){return cljs.core._realized_QMARK_(a)};
cljs.core.preserving_reduced=function(a){return function(b,c){b=a.cljs$core$IFn$_invoke$arity$2?a.cljs$core$IFn$_invoke$arity$2(b,c):a.call(null,b,c);return cljs.core.reduced_QMARK_(b)?cljs.core.reduced(b):b}};
cljs.core.cat=function(a){return function(b){return function(){var c=null,d=function(){return a.cljs$core$IFn$_invoke$arity$0?a.cljs$core$IFn$_invoke$arity$0():a.call(null)},e=function(b){return a.cljs$core$IFn$_invoke$arity$1?a.cljs$core$IFn$_invoke$arity$1(b):a.call(null,b)},f=function(a,c){return cljs.core.reduce.cljs$core$IFn$_invoke$arity$3(b,a,c)};c=function(a,b){switch(arguments.length){case 0:return d.call(this);case 1:return e.call(this,a);case 2:return f.call(this,a,b)}throw Error("Invalid arity: "+
arguments.length);};c.cljs$core$IFn$_invoke$arity$0=d;c.cljs$core$IFn$_invoke$arity$1=e;c.cljs$core$IFn$_invoke$arity$2=f;return c}()}(cljs.core.preserving_reduced(a))};
cljs.core.halt_when=function(a){switch(arguments.length){case 1:return cljs.core.halt_when.cljs$core$IFn$_invoke$arity$1(arguments[0]);case 2:return cljs.core.halt_when.cljs$core$IFn$_invoke$arity$2(arguments[0],arguments[1]);default:throw Error(["Invalid arity: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(""));}};cljs.core.halt_when.cljs$core$IFn$_invoke$arity$1=function(a){return cljs.core.halt_when.cljs$core$IFn$_invoke$arity$2(a,null)};
cljs.core.halt_when.cljs$core$IFn$_invoke$arity$2=function(a,b){return function(c){return function(){var d=null,e=function(){return c.cljs$core$IFn$_invoke$arity$0?c.cljs$core$IFn$_invoke$arity$0():c.call(null)},f=function(a){return cljs.core.map_QMARK_(a)&&cljs.core.contains_QMARK_(a,new cljs.core.Keyword("cljs.core","halt","cljs.core/halt",-1049036715))?(new cljs.core.Keyword("cljs.core","halt","cljs.core/halt",-1049036715)).cljs$core$IFn$_invoke$arity$1(a):c.cljs$core$IFn$_invoke$arity$1?c.cljs$core$IFn$_invoke$arity$1(a):
c.call(null,a)},g=function(d,e){return cljs.core.truth_(a.cljs$core$IFn$_invoke$arity$1?a.cljs$core$IFn$_invoke$arity$1(e):a.call(null,e))?cljs.core.reduced(new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword("cljs.core","halt","cljs.core/halt",-1049036715),cljs.core.truth_(b)?function(){var a=c.cljs$core$IFn$_invoke$arity$1?c.cljs$core$IFn$_invoke$arity$1(d):c.call(null,d);return b.cljs$core$IFn$_invoke$arity$2?b.cljs$core$IFn$_invoke$arity$2(a,e):b.call(null,a,e)}():e],null)):c.cljs$core$IFn$_invoke$arity$2?
c.cljs$core$IFn$_invoke$arity$2(d,e):c.call(null,d,e)};d=function(a,b){switch(arguments.length){case 0:return e.call(this);case 1:return f.call(this,a);case 2:return g.call(this,a,b)}throw Error("Invalid arity: "+arguments.length);};d.cljs$core$IFn$_invoke$arity$0=e;d.cljs$core$IFn$_invoke$arity$1=f;d.cljs$core$IFn$_invoke$arity$2=g;return d}()}};cljs.core.halt_when.cljs$lang$maxFixedArity=2;
cljs.core.dedupe=function(a){switch(arguments.length){case 0:return cljs.core.dedupe.cljs$core$IFn$_invoke$arity$0();case 1:return cljs.core.dedupe.cljs$core$IFn$_invoke$arity$1(arguments[0]);default:throw Error(["Invalid arity: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(""));}};
cljs.core.dedupe.cljs$core$IFn$_invoke$arity$0=function(){return function(a){return function(b){return function(){var c=null,d=function(){return a.cljs$core$IFn$_invoke$arity$0?a.cljs$core$IFn$_invoke$arity$0():a.call(null)},e=function(b){return a.cljs$core$IFn$_invoke$arity$1?a.cljs$core$IFn$_invoke$arity$1(b):a.call(null,b)},f=function(c,d){var e=cljs.core.deref(b);cljs.core.vreset_BANG_(b,d);return cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(e,d)?c:a.cljs$core$IFn$_invoke$arity$2?a.cljs$core$IFn$_invoke$arity$2(c,
d):a.call(null,c,d)};c=function(a,b){switch(arguments.length){case 0:return d.call(this);case 1:return e.call(this,a);case 2:return f.call(this,a,b)}throw Error("Invalid arity: "+arguments.length);};c.cljs$core$IFn$_invoke$arity$0=d;c.cljs$core$IFn$_invoke$arity$1=e;c.cljs$core$IFn$_invoke$arity$2=f;return c}()}(cljs.core.volatile_BANG_(new cljs.core.Keyword("cljs.core","none","cljs.core/none",926646439)))}};
cljs.core.dedupe.cljs$core$IFn$_invoke$arity$1=function(a){return cljs.core.sequence.cljs$core$IFn$_invoke$arity$2(cljs.core.dedupe.cljs$core$IFn$_invoke$arity$0(),a)};cljs.core.dedupe.cljs$lang$maxFixedArity=1;
cljs.core.random_sample=function(a){switch(arguments.length){case 1:return cljs.core.random_sample.cljs$core$IFn$_invoke$arity$1(arguments[0]);case 2:return cljs.core.random_sample.cljs$core$IFn$_invoke$arity$2(arguments[0],arguments[1]);default:throw Error(["Invalid arity: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(""));}};
cljs.core.random_sample.cljs$core$IFn$_invoke$arity$1=function(a){return cljs.core.filter.cljs$core$IFn$_invoke$arity$1(function(b){return cljs.core.rand.cljs$core$IFn$_invoke$arity$0()<a})};cljs.core.random_sample.cljs$core$IFn$_invoke$arity$2=function(a,b){return cljs.core.filter.cljs$core$IFn$_invoke$arity$2(function(b){return cljs.core.rand.cljs$core$IFn$_invoke$arity$0()<a},b)};cljs.core.random_sample.cljs$lang$maxFixedArity=2;
cljs.core.Eduction=function(a,b){this.xform=a;this.coll=b;this.cljs$lang$protocol_mask$partition0$=2173173760;this.cljs$lang$protocol_mask$partition1$=131072};
cljs.core.Eduction.prototype.indexOf=function(){var a=null,b=function(a){return cljs.core._indexOf.cljs$core$IFn$_invoke$arity$3(this,a,0)},c=function(a,b){return cljs.core._indexOf.cljs$core$IFn$_invoke$arity$3(this,a,b)};a=function(a,e){switch(arguments.length){case 1:return b.call(this,a);case 2:return c.call(this,a,e)}throw Error("Invalid arity: "+arguments.length);};a.cljs$core$IFn$_invoke$arity$1=b;a.cljs$core$IFn$_invoke$arity$2=c;return a}();
cljs.core.Eduction.prototype.lastIndexOf=function(){var a=null,b=function(a){return cljs.core._lastIndexOf.cljs$core$IFn$_invoke$arity$3(this,a,cljs.core.count(this))},c=function(a,b){return cljs.core._lastIndexOf.cljs$core$IFn$_invoke$arity$3(this,a,b)};a=function(a,e){switch(arguments.length){case 1:return b.call(this,a);case 2:return c.call(this,a,e)}throw Error("Invalid arity: "+arguments.length);};a.cljs$core$IFn$_invoke$arity$1=b;a.cljs$core$IFn$_invoke$arity$2=c;return a}();
cljs.core.Eduction.prototype.cljs$core$IIterable$_iterator$arity$1=function(a){return cljs.core.TransformerIterator.create(this.xform,cljs.core.iter(this.coll))};cljs.core.Eduction.prototype.cljs$core$ISeqable$_seq$arity$1=function(a){return cljs.core.seq(cljs.core.sequence.cljs$core$IFn$_invoke$arity$2(this.xform,this.coll))};
cljs.core.Eduction.prototype.cljs$core$IReduce$_reduce$arity$2=function(a,b){return cljs.core.transduce.cljs$core$IFn$_invoke$arity$3(this.xform,cljs.core.completing.cljs$core$IFn$_invoke$arity$1(b),this.coll)};cljs.core.Eduction.prototype.cljs$core$IReduce$_reduce$arity$3=function(a,b,c){return cljs.core.transduce.cljs$core$IFn$_invoke$arity$4(this.xform,cljs.core.completing.cljs$core$IFn$_invoke$arity$1(b),c,this.coll)};
cljs.core.Eduction.prototype.cljs$core$IPrintWithWriter$_pr_writer$arity$3=function(a,b,c){return cljs.core.pr_sequential_writer(b,cljs.core.pr_writer,"("," ",")",c,this)};cljs.core.Eduction.getBasis=function(){return new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"xform","xform",-85179481,null),new cljs.core.Symbol(null,"coll","coll",-1006698606,null)],null)};cljs.core.Eduction.cljs$lang$type=!0;cljs.core.Eduction.cljs$lang$ctorStr="cljs.core/Eduction";
cljs.core.Eduction.cljs$lang$ctorPrWriter=function(a,b,c){return cljs.core._write(b,"cljs.core/Eduction")};cljs.core.__GT_Eduction=function(a,b){return new cljs.core.Eduction(a,b)};var G__23949_23952=cljs.core.Eduction.prototype,G__23950_23953=cljs.core.ITER_SYMBOL,G__23951_23954=function(a,b){return function(){return cljs.core.es6_iterator(this)}}(G__23949_23952,G__23950_23953);goog.object.set(G__23949_23952,G__23950_23953,G__23951_23954);
cljs.core.eduction=function(a){for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;b=0<b.length?new cljs.core.IndexedSeq(b.slice(0),0,null):null;return cljs.core.eduction.cljs$core$IFn$_invoke$arity$variadic(b)};cljs.core.eduction.cljs$core$IFn$_invoke$arity$variadic=function(a){return new cljs.core.Eduction(cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core.comp,cljs.core.butlast(a)),cljs.core.last(a))};cljs.core.eduction.cljs$lang$maxFixedArity=0;
cljs.core.eduction.cljs$lang$applyTo=function(a){return this.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq(a))};cljs.core.run_BANG_=function(a,b){cljs.core.reduce.cljs$core$IFn$_invoke$arity$3(function(b,d){return a.cljs$core$IFn$_invoke$arity$1?a.cljs$core$IFn$_invoke$arity$1(d):a.call(null,d)},null,b);return null};cljs.core.IEncodeJS=function(){};
cljs.core._clj__GT_js=function(a){if(null!=a&&null!=a.cljs$core$IEncodeJS$_clj__GT_js$arity$1)return a.cljs$core$IEncodeJS$_clj__GT_js$arity$1(a);var b=cljs.core._clj__GT_js[goog.typeOf(null==a?null:a)];if(null!=b)return b.cljs$core$IFn$_invoke$arity$1?b.cljs$core$IFn$_invoke$arity$1(a):b.call(null,a);b=cljs.core._clj__GT_js._;if(null!=b)return b.cljs$core$IFn$_invoke$arity$1?b.cljs$core$IFn$_invoke$arity$1(a):b.call(null,a);throw cljs.core.missing_protocol("IEncodeJS.-clj-\x3ejs",a);};
cljs.core._key__GT_js=function(a){if(null!=a&&null!=a.cljs$core$IEncodeJS$_key__GT_js$arity$1)return a.cljs$core$IEncodeJS$_key__GT_js$arity$1(a);var b=cljs.core._key__GT_js[goog.typeOf(null==a?null:a)];if(null!=b)return b.cljs$core$IFn$_invoke$arity$1?b.cljs$core$IFn$_invoke$arity$1(a):b.call(null,a);b=cljs.core._key__GT_js._;if(null!=b)return b.cljs$core$IFn$_invoke$arity$1?b.cljs$core$IFn$_invoke$arity$1(a):b.call(null,a);throw cljs.core.missing_protocol("IEncodeJS.-key-\x3ejs",a);};
cljs.core.key__GT_js=function(a){switch(arguments.length){case 1:return cljs.core.key__GT_js.cljs$core$IFn$_invoke$arity$1(arguments[0]);case 2:return cljs.core.key__GT_js.cljs$core$IFn$_invoke$arity$2(arguments[0],arguments[1]);default:throw Error(["Invalid arity: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(""));}};cljs.core.key__GT_js.cljs$core$IFn$_invoke$arity$1=function(a){return cljs.core.key__GT_js.cljs$core$IFn$_invoke$arity$2(a,cljs.core.clj__GT_js)};
cljs.core.key__GT_js.cljs$core$IFn$_invoke$arity$2=function(a,b){return(null!=a?cljs.core.PROTOCOL_SENTINEL===a.cljs$core$IEncodeJS$||(a.cljs$lang$protocol_mask$partition$?0:cljs.core.native_satisfies_QMARK_(cljs.core.IEncodeJS,a)):cljs.core.native_satisfies_QMARK_(cljs.core.IEncodeJS,a))?cljs.core._clj__GT_js(a):"string"===typeof a||"number"===typeof a||a instanceof cljs.core.Keyword||a instanceof cljs.core.Symbol?b.cljs$core$IFn$_invoke$arity$1?b.cljs$core$IFn$_invoke$arity$1(a):b.call(null,a):
cljs.core.pr_str.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([a],0))};cljs.core.key__GT_js.cljs$lang$maxFixedArity=2;cljs.core.clj__GT_js=function(a){for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;b=1<b.length?new cljs.core.IndexedSeq(b.slice(1),0,null):null;return cljs.core.clj__GT_js.cljs$core$IFn$_invoke$arity$variadic(arguments[0],b)};
cljs.core.clj__GT_js.cljs$core$IFn$_invoke$arity$variadic=function(a,b){var c=null!=b&&(b.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===b.cljs$core$ISeq$)?cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core.hash_map,b):b,d=cljs.core.get.cljs$core$IFn$_invoke$arity$3(c,new cljs.core.Keyword(null,"keyword-fn","keyword-fn",-64566675),cljs.core.name),e=function(a,b,c,d){return function(a){return cljs.core.key__GT_js.cljs$core$IFn$_invoke$arity$2(a,f)}}(b,c,c,d),f=function(a,
b,c,d){return function p(a){if(null==a)return null;if(null!=a?cljs.core.PROTOCOL_SENTINEL===a.cljs$core$IEncodeJS$||(a.cljs$lang$protocol_mask$partition$?0:cljs.core.native_satisfies_QMARK_(cljs.core.IEncodeJS,a)):cljs.core.native_satisfies_QMARK_(cljs.core.IEncodeJS,a))return cljs.core._clj__GT_js(a);if(a instanceof cljs.core.Keyword)return d.cljs$core$IFn$_invoke$arity$1?d.cljs$core$IFn$_invoke$arity$1(a):d.call(null,a);if(a instanceof cljs.core.Symbol)return cljs.core.str.cljs$core$IFn$_invoke$arity$1(a);
if(cljs.core.map_QMARK_(a)){var b={};a=cljs.core.seq(a);for(var c=null,f=0,g=0;;)if(g<f){var h=c.cljs$core$IIndexed$_nth$arity$2(null,g),k=cljs.core.nth.cljs$core$IFn$_invoke$arity$3(h,0,null),l=cljs.core.nth.cljs$core$IFn$_invoke$arity$3(h,1,null);h=b;k=e(k);l=p(l);goog.object.set(h,k,l);g+=1}else if(a=cljs.core.seq(a))cljs.core.chunked_seq_QMARK_(a)?(f=cljs.core.chunk_first(a),a=cljs.core.chunk_rest(a),c=f,f=cljs.core.count(f)):(c=cljs.core.first(a),f=cljs.core.nth.cljs$core$IFn$_invoke$arity$3(c,
0,null),g=cljs.core.nth.cljs$core$IFn$_invoke$arity$3(c,1,null),c=b,f=e(f),g=p(g),goog.object.set(c,f,g),a=cljs.core.next(a),c=null,f=0),g=0;else break;return b}if(cljs.core.coll_QMARK_(a)){b=[];a=cljs.core.seq(cljs.core.map.cljs$core$IFn$_invoke$arity$2(p,a));c=null;for(g=f=0;;)if(g<f)h=c.cljs$core$IIndexed$_nth$arity$2(null,g),b.push(h),g+=1;else if(a=cljs.core.seq(a))c=a,cljs.core.chunked_seq_QMARK_(c)?(a=cljs.core.chunk_first(c),g=cljs.core.chunk_rest(c),c=a,f=cljs.core.count(a),a=g):(a=cljs.core.first(c),
b.push(a),a=cljs.core.next(c),c=null,f=0),g=0;else break;return b}return a}}(b,c,c,d);return f(a)};cljs.core.clj__GT_js.cljs$lang$maxFixedArity=1;cljs.core.clj__GT_js.cljs$lang$applyTo=function(a){var b=cljs.core.first(a);a=cljs.core.next(a);return this.cljs$core$IFn$_invoke$arity$variadic(b,a)};cljs.core.IEncodeClojure=function(){};
cljs.core._js__GT_clj=function(a,b){if(null!=a&&null!=a.cljs$core$IEncodeClojure$_js__GT_clj$arity$2)return a.cljs$core$IEncodeClojure$_js__GT_clj$arity$2(a,b);var c=cljs.core._js__GT_clj[goog.typeOf(null==a?null:a)];if(null!=c)return c.cljs$core$IFn$_invoke$arity$2?c.cljs$core$IFn$_invoke$arity$2(a,b):c.call(null,a,b);c=cljs.core._js__GT_clj._;if(null!=c)return c.cljs$core$IFn$_invoke$arity$2?c.cljs$core$IFn$_invoke$arity$2(a,b):c.call(null,a,b);throw cljs.core.missing_protocol("IEncodeClojure.-js-\x3eclj",
a);};cljs.core.js__GT_clj=function(a){switch(arguments.length){case 1:return cljs.core.js__GT_clj.cljs$core$IFn$_invoke$arity$1(arguments[0]);default:for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;b=new cljs.core.IndexedSeq(b.slice(1),0,null);return cljs.core.js__GT_clj.cljs$core$IFn$_invoke$arity$variadic(arguments[0],b)}};
cljs.core.js__GT_clj.cljs$core$IFn$_invoke$arity$1=function(a){return cljs.core.js__GT_clj.cljs$core$IFn$_invoke$arity$variadic(a,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.Keyword(null,"keywordize-keys","keywordize-keys",1310784252),!1],0))};
cljs.core.js__GT_clj.cljs$core$IFn$_invoke$arity$variadic=function(a,b){var c=null!=b&&(b.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===b.cljs$core$ISeq$)?cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core.hash_map,b):b,d=cljs.core.get.cljs$core$IFn$_invoke$arity$2(c,new cljs.core.Keyword(null,"keywordize-keys","keywordize-keys",1310784252)),e=cljs.core.truth_(d)?cljs.core.keyword:cljs.core.str;return function(a,c,d,e){return function n(f){return(null!=f?cljs.core.PROTOCOL_SENTINEL===
f.cljs$core$IEncodeClojure$||(f.cljs$lang$protocol_mask$partition$?0:cljs.core.native_satisfies_QMARK_(cljs.core.IEncodeClojure,f)):cljs.core.native_satisfies_QMARK_(cljs.core.IEncodeClojure,f))?cljs.core._js__GT_clj(f,cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core.array_map,b)):cljs.core.seq_QMARK_(f)?cljs.core.doall.cljs$core$IFn$_invoke$arity$1(cljs.core.map.cljs$core$IFn$_invoke$arity$2(n,f)):cljs.core.map_entry_QMARK_(f)?new cljs.core.MapEntry(n(cljs.core.key(f)),n(cljs.core.val(f)),
null):cljs.core.coll_QMARK_(f)?cljs.core.into.cljs$core$IFn$_invoke$arity$3(cljs.core.empty(f),cljs.core.map.cljs$core$IFn$_invoke$arity$1(n),f):cljs.core.array_QMARK_(f)?cljs.core.persistent_BANG_(cljs.core.reduce.cljs$core$IFn$_invoke$arity$3(function(a,b,c,d){return function(a,b){return cljs.core.conj_BANG_.cljs$core$IFn$_invoke$arity$2(a,n(b))}}(a,c,d,e),cljs.core.transient$(cljs.core.PersistentVector.EMPTY),f)):cljs.core.type(f)===Object?cljs.core.persistent_BANG_(cljs.core.reduce.cljs$core$IFn$_invoke$arity$3(function(a,
b,c,d){return function(a,b){return cljs.core.assoc_BANG_.cljs$core$IFn$_invoke$arity$3(a,d.cljs$core$IFn$_invoke$arity$1?d.cljs$core$IFn$_invoke$arity$1(b):d.call(null,b),n(goog.object.get(f,b)))}}(a,c,d,e),cljs.core.transient$(cljs.core.PersistentArrayMap.EMPTY),cljs.core.js_keys(f))):f}}(b,c,d,e)(a)};cljs.core.js__GT_clj.cljs$lang$applyTo=function(a){var b=cljs.core.first(a);a=cljs.core.next(a);return this.cljs$core$IFn$_invoke$arity$variadic(b,a)};cljs.core.js__GT_clj.cljs$lang$maxFixedArity=1;
cljs.core.memoize=function(a){return function(b){return function(){var c=function(c){var d=cljs.core.get.cljs$core$IFn$_invoke$arity$3(cljs.core.deref(b),c,cljs.core.lookup_sentinel);d===cljs.core.lookup_sentinel&&(d=cljs.core.apply.cljs$core$IFn$_invoke$arity$2(a,c),cljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$4(b,cljs.core.assoc,c,d));return d},d=function(a){var b=null;if(0<arguments.length){b=0;for(var d=Array(arguments.length-0);b<d.length;)d[b]=arguments[b+0],++b;b=new cljs.core.IndexedSeq(d,
0,null)}return c.call(this,b)};d.cljs$lang$maxFixedArity=0;d.cljs$lang$applyTo=function(a){a=cljs.core.seq(a);return c(a)};d.cljs$core$IFn$_invoke$arity$variadic=c;return d}()}(cljs.core.atom.cljs$core$IFn$_invoke$arity$1(cljs.core.PersistentArrayMap.EMPTY))};
cljs.core.trampoline=function(a){switch(arguments.length){case 1:return cljs.core.trampoline.cljs$core$IFn$_invoke$arity$1(arguments[0]);default:for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;b=new cljs.core.IndexedSeq(b.slice(1),0,null);return cljs.core.trampoline.cljs$core$IFn$_invoke$arity$variadic(arguments[0],b)}};
cljs.core.trampoline.cljs$core$IFn$_invoke$arity$1=function(a){for(;;)if(a=a.cljs$core$IFn$_invoke$arity$0?a.cljs$core$IFn$_invoke$arity$0():a.call(null),!cljs.core.fn_QMARK_(a))return a};cljs.core.trampoline.cljs$core$IFn$_invoke$arity$variadic=function(a,b){return cljs.core.trampoline.cljs$core$IFn$_invoke$arity$1(function(){return cljs.core.apply.cljs$core$IFn$_invoke$arity$2(a,b)})};
cljs.core.trampoline.cljs$lang$applyTo=function(a){var b=cljs.core.first(a);a=cljs.core.next(a);return this.cljs$core$IFn$_invoke$arity$variadic(b,a)};cljs.core.trampoline.cljs$lang$maxFixedArity=1;cljs.core.rand=function(a){switch(arguments.length){case 0:return cljs.core.rand.cljs$core$IFn$_invoke$arity$0();case 1:return cljs.core.rand.cljs$core$IFn$_invoke$arity$1(arguments[0]);default:throw Error(["Invalid arity: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(""));}};
cljs.core.rand.cljs$core$IFn$_invoke$arity$0=function(){return cljs.core.rand.cljs$core$IFn$_invoke$arity$1(1)};cljs.core.rand.cljs$core$IFn$_invoke$arity$1=function(a){return Math.random()*a};cljs.core.rand.cljs$lang$maxFixedArity=1;cljs.core.rand_int=function(a){return Math.floor(Math.random()*a)};cljs.core.rand_nth=function(a){return cljs.core.nth.cljs$core$IFn$_invoke$arity$2(a,cljs.core.rand_int(cljs.core.count(a)))};
cljs.core.group_by=function(a,b){return cljs.core.persistent_BANG_(cljs.core.reduce.cljs$core$IFn$_invoke$arity$3(function(b,d){var c=a.cljs$core$IFn$_invoke$arity$1?a.cljs$core$IFn$_invoke$arity$1(d):a.call(null,d);return cljs.core.assoc_BANG_.cljs$core$IFn$_invoke$arity$3(b,c,cljs.core.conj.cljs$core$IFn$_invoke$arity$2(cljs.core.get.cljs$core$IFn$_invoke$arity$3(b,c,cljs.core.PersistentVector.EMPTY),d))},cljs.core.transient$(cljs.core.PersistentArrayMap.EMPTY),b))};
cljs.core.make_hierarchy=function(){return new cljs.core.PersistentArrayMap(null,3,[new cljs.core.Keyword(null,"parents","parents",-2027538891),cljs.core.PersistentArrayMap.EMPTY,new cljs.core.Keyword(null,"descendants","descendants",1824886031),cljs.core.PersistentArrayMap.EMPTY,new cljs.core.Keyword(null,"ancestors","ancestors",-776045424),cljs.core.PersistentArrayMap.EMPTY],null)};cljs.core._global_hierarchy=null;
cljs.core.get_global_hierarchy=function(){null==cljs.core._global_hierarchy&&(cljs.core._global_hierarchy=cljs.core.atom.cljs$core$IFn$_invoke$arity$1(cljs.core.make_hierarchy()));return cljs.core._global_hierarchy};
cljs.core.swap_global_hierarchy_BANG_=function(a){for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;b=1<b.length?new cljs.core.IndexedSeq(b.slice(1),0,null):null;return cljs.core.swap_global_hierarchy_BANG_.cljs$core$IFn$_invoke$arity$variadic(arguments[0],b)};cljs.core.swap_global_hierarchy_BANG_.cljs$core$IFn$_invoke$arity$variadic=function(a,b){return cljs.core.apply.cljs$core$IFn$_invoke$arity$4(cljs.core.swap_BANG_,cljs.core.get_global_hierarchy(),a,b)};
cljs.core.swap_global_hierarchy_BANG_.cljs$lang$maxFixedArity=1;cljs.core.swap_global_hierarchy_BANG_.cljs$lang$applyTo=function(a){var b=cljs.core.first(a);a=cljs.core.next(a);return this.cljs$core$IFn$_invoke$arity$variadic(b,a)};
cljs.core.isa_QMARK_=function(a){switch(arguments.length){case 2:return cljs.core.isa_QMARK_.cljs$core$IFn$_invoke$arity$2(arguments[0],arguments[1]);case 3:return cljs.core.isa_QMARK_.cljs$core$IFn$_invoke$arity$3(arguments[0],arguments[1],arguments[2]);default:throw Error(["Invalid arity: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(""));}};
cljs.core.isa_QMARK_.cljs$core$IFn$_invoke$arity$2=function(a,b){return cljs.core.isa_QMARK_.cljs$core$IFn$_invoke$arity$3(cljs.core.deref(cljs.core.get_global_hierarchy()),a,b)};
cljs.core.isa_QMARK_.cljs$core$IFn$_invoke$arity$3=function(a,b,c){var d=cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(b,c);if(!d&&!(d=cljs.core.contains_QMARK_(function(){var c=(new cljs.core.Keyword(null,"ancestors","ancestors",-776045424)).cljs$core$IFn$_invoke$arity$1(a);return c.cljs$core$IFn$_invoke$arity$1?c.cljs$core$IFn$_invoke$arity$1(b):c.call(null,b)}(),c))&&(d=cljs.core.vector_QMARK_(c))&&(d=cljs.core.vector_QMARK_(b)))if(d=cljs.core.count(c)===cljs.core.count(b)){d=!0;for(var e=0;;)if(d&&
e!==cljs.core.count(c))d=cljs.core.isa_QMARK_.cljs$core$IFn$_invoke$arity$3(a,b.cljs$core$IFn$_invoke$arity$1?b.cljs$core$IFn$_invoke$arity$1(e):b.call(null,e),c.cljs$core$IFn$_invoke$arity$1?c.cljs$core$IFn$_invoke$arity$1(e):c.call(null,e)),e+=1;else return d}else return d;else return d};cljs.core.isa_QMARK_.cljs$lang$maxFixedArity=3;
cljs.core.parents=function(a){switch(arguments.length){case 1:return cljs.core.parents.cljs$core$IFn$_invoke$arity$1(arguments[0]);case 2:return cljs.core.parents.cljs$core$IFn$_invoke$arity$2(arguments[0],arguments[1]);default:throw Error(["Invalid arity: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(""));}};cljs.core.parents.cljs$core$IFn$_invoke$arity$1=function(a){return cljs.core.parents.cljs$core$IFn$_invoke$arity$2(cljs.core.deref(cljs.core.get_global_hierarchy()),a)};
cljs.core.parents.cljs$core$IFn$_invoke$arity$2=function(a,b){return cljs.core.not_empty(cljs.core.get.cljs$core$IFn$_invoke$arity$2((new cljs.core.Keyword(null,"parents","parents",-2027538891)).cljs$core$IFn$_invoke$arity$1(a),b))};cljs.core.parents.cljs$lang$maxFixedArity=2;
cljs.core.ancestors=function(a){switch(arguments.length){case 1:return cljs.core.ancestors.cljs$core$IFn$_invoke$arity$1(arguments[0]);case 2:return cljs.core.ancestors.cljs$core$IFn$_invoke$arity$2(arguments[0],arguments[1]);default:throw Error(["Invalid arity: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(""));}};
cljs.core.ancestors.cljs$core$IFn$_invoke$arity$1=function(a){return cljs.core.ancestors.cljs$core$IFn$_invoke$arity$2(cljs.core.deref(cljs.core.get_global_hierarchy()),a)};cljs.core.ancestors.cljs$core$IFn$_invoke$arity$2=function(a,b){return cljs.core.not_empty(cljs.core.get.cljs$core$IFn$_invoke$arity$2((new cljs.core.Keyword(null,"ancestors","ancestors",-776045424)).cljs$core$IFn$_invoke$arity$1(a),b))};cljs.core.ancestors.cljs$lang$maxFixedArity=2;
cljs.core.descendants=function(a){switch(arguments.length){case 1:return cljs.core.descendants.cljs$core$IFn$_invoke$arity$1(arguments[0]);case 2:return cljs.core.descendants.cljs$core$IFn$_invoke$arity$2(arguments[0],arguments[1]);default:throw Error(["Invalid arity: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(""));}};
cljs.core.descendants.cljs$core$IFn$_invoke$arity$1=function(a){return cljs.core.descendants.cljs$core$IFn$_invoke$arity$2(cljs.core.deref(cljs.core.get_global_hierarchy()),a)};cljs.core.descendants.cljs$core$IFn$_invoke$arity$2=function(a,b){return cljs.core.not_empty(cljs.core.get.cljs$core$IFn$_invoke$arity$2((new cljs.core.Keyword(null,"descendants","descendants",1824886031)).cljs$core$IFn$_invoke$arity$1(a),b))};cljs.core.descendants.cljs$lang$maxFixedArity=2;
cljs.core.derive=function(a){switch(arguments.length){case 2:return cljs.core.derive.cljs$core$IFn$_invoke$arity$2(arguments[0],arguments[1]);case 3:return cljs.core.derive.cljs$core$IFn$_invoke$arity$3(arguments[0],arguments[1],arguments[2]);default:throw Error(["Invalid arity: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(""));}};
cljs.core.derive.cljs$core$IFn$_invoke$arity$2=function(a,b){if(!cljs.core.truth_(cljs.core.namespace(b)))throw Error("Assert failed: (namespace parent)");cljs.core.swap_global_hierarchy_BANG_.cljs$core$IFn$_invoke$arity$variadic(cljs.core.derive,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([a,b],0));return null};
cljs.core.derive.cljs$core$IFn$_invoke$arity$3=function(a,b,c){if(!cljs.core.not_EQ_.cljs$core$IFn$_invoke$arity$2(b,c))throw Error("Assert failed: (not\x3d tag parent)");var d=(new cljs.core.Keyword(null,"parents","parents",-2027538891)).cljs$core$IFn$_invoke$arity$1(a),e=(new cljs.core.Keyword(null,"descendants","descendants",1824886031)).cljs$core$IFn$_invoke$arity$1(a),f=(new cljs.core.Keyword(null,"ancestors","ancestors",-776045424)).cljs$core$IFn$_invoke$arity$1(a),g=function(a,b,c){return function(d,
e,f,g,h){return cljs.core.reduce.cljs$core$IFn$_invoke$arity$3(function(a,b,c){return function(a,b){return cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(a,b,cljs.core.reduce.cljs$core$IFn$_invoke$arity$3(cljs.core.conj,cljs.core.get.cljs$core$IFn$_invoke$arity$3(h,b,cljs.core.PersistentHashSet.EMPTY),cljs.core.cons(g,h.cljs$core$IFn$_invoke$arity$1?h.cljs$core$IFn$_invoke$arity$1(g):h.call(null,g))))}}(a,b,c),d,cljs.core.cons(e,f.cljs$core$IFn$_invoke$arity$1?f.cljs$core$IFn$_invoke$arity$1(e):f.call(null,
e)))}}(d,e,f);if(cljs.core.contains_QMARK_(d.cljs$core$IFn$_invoke$arity$1?d.cljs$core$IFn$_invoke$arity$1(b):d.call(null,b),c))b=null;else{if(cljs.core.contains_QMARK_(f.cljs$core$IFn$_invoke$arity$1?f.cljs$core$IFn$_invoke$arity$1(b):f.call(null,b),c))throw Error([cljs.core.str.cljs$core$IFn$_invoke$arity$1(b),"already has",cljs.core.str.cljs$core$IFn$_invoke$arity$1(c),"as ancestor"].join(""));if(cljs.core.contains_QMARK_(f.cljs$core$IFn$_invoke$arity$1?f.cljs$core$IFn$_invoke$arity$1(c):f.call(null,
c),b))throw Error(["Cyclic derivation:",cljs.core.str.cljs$core$IFn$_invoke$arity$1(c),"has",cljs.core.str.cljs$core$IFn$_invoke$arity$1(b),"as ancestor"].join(""));b=new cljs.core.PersistentArrayMap(null,3,[new cljs.core.Keyword(null,"parents","parents",-2027538891),cljs.core.assoc.cljs$core$IFn$_invoke$arity$3((new cljs.core.Keyword(null,"parents","parents",-2027538891)).cljs$core$IFn$_invoke$arity$1(a),b,cljs.core.conj.cljs$core$IFn$_invoke$arity$2(cljs.core.get.cljs$core$IFn$_invoke$arity$3(d,
b,cljs.core.PersistentHashSet.EMPTY),c)),new cljs.core.Keyword(null,"ancestors","ancestors",-776045424),g((new cljs.core.Keyword(null,"ancestors","ancestors",-776045424)).cljs$core$IFn$_invoke$arity$1(a),b,e,c,f),new cljs.core.Keyword(null,"descendants","descendants",1824886031),g((new cljs.core.Keyword(null,"descendants","descendants",1824886031)).cljs$core$IFn$_invoke$arity$1(a),c,f,b,e)],null)}return cljs.core.truth_(b)?b:a};cljs.core.derive.cljs$lang$maxFixedArity=3;
cljs.core.underive=function(a){switch(arguments.length){case 2:return cljs.core.underive.cljs$core$IFn$_invoke$arity$2(arguments[0],arguments[1]);case 3:return cljs.core.underive.cljs$core$IFn$_invoke$arity$3(arguments[0],arguments[1],arguments[2]);default:throw Error(["Invalid arity: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(""));}};
cljs.core.underive.cljs$core$IFn$_invoke$arity$2=function(a,b){cljs.core.swap_global_hierarchy_BANG_.cljs$core$IFn$_invoke$arity$variadic(cljs.core.underive,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([a,b],0));return null};
cljs.core.underive.cljs$core$IFn$_invoke$arity$3=function(a,b,c){var d=(new cljs.core.Keyword(null,"parents","parents",-2027538891)).cljs$core$IFn$_invoke$arity$1(a),e=cljs.core.truth_(d.cljs$core$IFn$_invoke$arity$1?d.cljs$core$IFn$_invoke$arity$1(b):d.call(null,b))?cljs.core.disj.cljs$core$IFn$_invoke$arity$2(d.cljs$core$IFn$_invoke$arity$1?d.cljs$core$IFn$_invoke$arity$1(b):d.call(null,b),c):cljs.core.PersistentHashSet.EMPTY,f=cljs.core.truth_(cljs.core.not_empty(e))?cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(d,
b,e):cljs.core.dissoc.cljs$core$IFn$_invoke$arity$2(d,b),g=cljs.core.flatten(cljs.core.map.cljs$core$IFn$_invoke$arity$2(function(a,b,c){return function(a){return cljs.core.cons(cljs.core.first(a),cljs.core.interpose.cljs$core$IFn$_invoke$arity$2(cljs.core.first(a),cljs.core.second(a)))}}(d,e,f),cljs.core.seq(f)));return cljs.core.contains_QMARK_(d.cljs$core$IFn$_invoke$arity$1?d.cljs$core$IFn$_invoke$arity$1(b):d.call(null,b),c)?cljs.core.reduce.cljs$core$IFn$_invoke$arity$3(function(a,b,c,d){return function(a,
b){return cljs.core.apply.cljs$core$IFn$_invoke$arity$3(cljs.core.derive,a,b)}}(d,e,f,g),cljs.core.make_hierarchy(),cljs.core.partition.cljs$core$IFn$_invoke$arity$2(2,g)):a};cljs.core.underive.cljs$lang$maxFixedArity=3;cljs.core.reset_cache=function(a,b,c,d){cljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$2(a,function(a){return cljs.core.deref(b)});return cljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$2(c,function(a){return cljs.core.deref(d)})};
cljs.core.prefers_STAR_=function(a,b,c){var d=function(){var b=cljs.core.deref(c);return b.cljs$core$IFn$_invoke$arity$1?b.cljs$core$IFn$_invoke$arity$1(a):b.call(null,a)}();d=cljs.core.truth_(cljs.core.truth_(d)?d.cljs$core$IFn$_invoke$arity$1?d.cljs$core$IFn$_invoke$arity$1(b):d.call(null,b):d)?!0:null;if(cljs.core.truth_(d))return d;d=function(){for(var d=cljs.core.parents.cljs$core$IFn$_invoke$arity$1(b);;)if(0<cljs.core.count(d))cljs.core.truth_(function(){var b=cljs.core.first(d);return cljs.core.prefers_STAR_.cljs$core$IFn$_invoke$arity$3?
cljs.core.prefers_STAR_.cljs$core$IFn$_invoke$arity$3(a,b,c):cljs.core.prefers_STAR_.call(null,a,b,c)}()),d=cljs.core.rest(d);else return null}();if(cljs.core.truth_(d))return d;d=function(){for(var d=cljs.core.parents.cljs$core$IFn$_invoke$arity$1(a);;)if(0<cljs.core.count(d))cljs.core.truth_(function(){var a=cljs.core.first(d);return cljs.core.prefers_STAR_.cljs$core$IFn$_invoke$arity$3?cljs.core.prefers_STAR_.cljs$core$IFn$_invoke$arity$3(a,b,c):cljs.core.prefers_STAR_.call(null,a,b,c)}()),d=cljs.core.rest(d);
else return null}();return cljs.core.truth_(d)?d:!1};cljs.core.dominates=function(a,b,c,d){c=cljs.core.prefers_STAR_(a,b,c);return cljs.core.truth_(c)?c:cljs.core.isa_QMARK_.cljs$core$IFn$_invoke$arity$3(d,a,b)};
cljs.core.find_and_cache_best_method=function(a,b,c,d,e,f,g,h){var k=cljs.core.reduce.cljs$core$IFn$_invoke$arity$3(function(d,f){var g=cljs.core.nth.cljs$core$IFn$_invoke$arity$3(f,0,null);cljs.core.nth.cljs$core$IFn$_invoke$arity$3(f,1,null);if(cljs.core.isa_QMARK_.cljs$core$IFn$_invoke$arity$3(cljs.core.deref(c),b,g)&&(d=null==d||cljs.core.dominates(g,cljs.core.first(d),e,cljs.core.deref(c))?f:d,!cljs.core.dominates(cljs.core.first(d),g,e,cljs.core.deref(c))))throw Error(["Multiple methods in multimethod '",
cljs.core.str.cljs$core$IFn$_invoke$arity$1(a),"' match dispatch value: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(b)," -\x3e ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(g)," and ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.core.first(d)),", and neither is preferred"].join(""));return d},null,cljs.core.deref(d)),l=function(){var a;if(a=null==k)a=cljs.core.deref(d),a=a.cljs$core$IFn$_invoke$arity$1?a.cljs$core$IFn$_invoke$arity$1(h):a.call(null,h);return cljs.core.truth_(a)?new cljs.core.PersistentVector(null,
2,5,cljs.core.PersistentVector.EMPTY_NODE,[h,a],null):k}();if(cljs.core.truth_(l)){if(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(cljs.core.deref(g),cljs.core.deref(c)))return cljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$4(f,cljs.core.assoc,b,cljs.core.second(l)),cljs.core.second(l);cljs.core.reset_cache(f,d,g,c);return cljs.core.find_and_cache_best_method.cljs$core$IFn$_invoke$arity$8?cljs.core.find_and_cache_best_method.cljs$core$IFn$_invoke$arity$8(a,b,c,d,e,f,g,h):cljs.core.find_and_cache_best_method.call(null,
a,b,c,d,e,f,g,h)}return null};cljs.core.IMultiFn=function(){};
cljs.core._reset=function(a){if(null!=a&&null!=a.cljs$core$IMultiFn$_reset$arity$1)return a.cljs$core$IMultiFn$_reset$arity$1(a);var b=cljs.core._reset[goog.typeOf(null==a?null:a)];if(null!=b)return b.cljs$core$IFn$_invoke$arity$1?b.cljs$core$IFn$_invoke$arity$1(a):b.call(null,a);b=cljs.core._reset._;if(null!=b)return b.cljs$core$IFn$_invoke$arity$1?b.cljs$core$IFn$_invoke$arity$1(a):b.call(null,a);throw cljs.core.missing_protocol("IMultiFn.-reset",a);};
cljs.core._add_method=function(a,b,c){if(null!=a&&null!=a.cljs$core$IMultiFn$_add_method$arity$3)return a.cljs$core$IMultiFn$_add_method$arity$3(a,b,c);var d=cljs.core._add_method[goog.typeOf(null==a?null:a)];if(null!=d)return d.cljs$core$IFn$_invoke$arity$3?d.cljs$core$IFn$_invoke$arity$3(a,b,c):d.call(null,a,b,c);d=cljs.core._add_method._;if(null!=d)return d.cljs$core$IFn$_invoke$arity$3?d.cljs$core$IFn$_invoke$arity$3(a,b,c):d.call(null,a,b,c);throw cljs.core.missing_protocol("IMultiFn.-add-method",
a);};
cljs.core._remove_method=function(a,b){if(null!=a&&null!=a.cljs$core$IMultiFn$_remove_method$arity$2)return a.cljs$core$IMultiFn$_remove_method$arity$2(a,b);var c=cljs.core._remove_method[goog.typeOf(null==a?null:a)];if(null!=c)return c.cljs$core$IFn$_invoke$arity$2?c.cljs$core$IFn$_invoke$arity$2(a,b):c.call(null,a,b);c=cljs.core._remove_method._;if(null!=c)return c.cljs$core$IFn$_invoke$arity$2?c.cljs$core$IFn$_invoke$arity$2(a,b):c.call(null,a,b);throw cljs.core.missing_protocol("IMultiFn.-remove-method",a);
};
cljs.core._prefer_method=function(a,b,c){if(null!=a&&null!=a.cljs$core$IMultiFn$_prefer_method$arity$3)return a.cljs$core$IMultiFn$_prefer_method$arity$3(a,b,c);var d=cljs.core._prefer_method[goog.typeOf(null==a?null:a)];if(null!=d)return d.cljs$core$IFn$_invoke$arity$3?d.cljs$core$IFn$_invoke$arity$3(a,b,c):d.call(null,a,b,c);d=cljs.core._prefer_method._;if(null!=d)return d.cljs$core$IFn$_invoke$arity$3?d.cljs$core$IFn$_invoke$arity$3(a,b,c):d.call(null,a,b,c);throw cljs.core.missing_protocol("IMultiFn.-prefer-method",a);
};cljs.core._get_method=function(a,b){if(null!=a&&null!=a.cljs$core$IMultiFn$_get_method$arity$2)return a.cljs$core$IMultiFn$_get_method$arity$2(a,b);var c=cljs.core._get_method[goog.typeOf(null==a?null:a)];if(null!=c)return c.cljs$core$IFn$_invoke$arity$2?c.cljs$core$IFn$_invoke$arity$2(a,b):c.call(null,a,b);c=cljs.core._get_method._;if(null!=c)return c.cljs$core$IFn$_invoke$arity$2?c.cljs$core$IFn$_invoke$arity$2(a,b):c.call(null,a,b);throw cljs.core.missing_protocol("IMultiFn.-get-method",a);};
cljs.core._methods=function(a){if(null!=a&&null!=a.cljs$core$IMultiFn$_methods$arity$1)return a.cljs$core$IMultiFn$_methods$arity$1(a);var b=cljs.core._methods[goog.typeOf(null==a?null:a)];if(null!=b)return b.cljs$core$IFn$_invoke$arity$1?b.cljs$core$IFn$_invoke$arity$1(a):b.call(null,a);b=cljs.core._methods._;if(null!=b)return b.cljs$core$IFn$_invoke$arity$1?b.cljs$core$IFn$_invoke$arity$1(a):b.call(null,a);throw cljs.core.missing_protocol("IMultiFn.-methods",a);};
cljs.core._prefers=function(a){if(null!=a&&null!=a.cljs$core$IMultiFn$_prefers$arity$1)return a.cljs$core$IMultiFn$_prefers$arity$1(a);var b=cljs.core._prefers[goog.typeOf(null==a?null:a)];if(null!=b)return b.cljs$core$IFn$_invoke$arity$1?b.cljs$core$IFn$_invoke$arity$1(a):b.call(null,a);b=cljs.core._prefers._;if(null!=b)return b.cljs$core$IFn$_invoke$arity$1?b.cljs$core$IFn$_invoke$arity$1(a):b.call(null,a);throw cljs.core.missing_protocol("IMultiFn.-prefers",a);};
cljs.core._default_dispatch_val=function(a){if(null!=a&&null!=a.cljs$core$IMultiFn$_default_dispatch_val$arity$1)return a.cljs$core$IMultiFn$_default_dispatch_val$arity$1(a);var b=cljs.core._default_dispatch_val[goog.typeOf(null==a?null:a)];if(null!=b)return b.cljs$core$IFn$_invoke$arity$1?b.cljs$core$IFn$_invoke$arity$1(a):b.call(null,a);b=cljs.core._default_dispatch_val._;if(null!=b)return b.cljs$core$IFn$_invoke$arity$1?b.cljs$core$IFn$_invoke$arity$1(a):b.call(null,a);throw cljs.core.missing_protocol("IMultiFn.-default-dispatch-val",
a);};cljs.core._dispatch_fn=function(a){if(null!=a&&null!=a.cljs$core$IMultiFn$_dispatch_fn$arity$1)return a.cljs$core$IMultiFn$_dispatch_fn$arity$1(a);var b=cljs.core._dispatch_fn[goog.typeOf(null==a?null:a)];if(null!=b)return b.cljs$core$IFn$_invoke$arity$1?b.cljs$core$IFn$_invoke$arity$1(a):b.call(null,a);b=cljs.core._dispatch_fn._;if(null!=b)return b.cljs$core$IFn$_invoke$arity$1?b.cljs$core$IFn$_invoke$arity$1(a):b.call(null,a);throw cljs.core.missing_protocol("IMultiFn.-dispatch-fn",a);};
cljs.core.throw_no_method_error=function(a,b){throw Error(["No method in multimethod '",cljs.core.str.cljs$core$IFn$_invoke$arity$1(a),"' for dispatch value: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(b)].join(""));};
cljs.core.MultiFn=function(a,b,c,d,e,f,g,h){this.name=a;this.dispatch_fn=b;this.default_dispatch_val=c;this.hierarchy=d;this.method_table=e;this.prefer_table=f;this.method_cache=g;this.cached_hierarchy=h;this.cljs$lang$protocol_mask$partition0$=4194305;this.cljs$lang$protocol_mask$partition1$=4352};
cljs.core.MultiFn.prototype.call=function(){var a=null,b=function(a){a=this;var b=a.dispatch_fn.cljs$core$IFn$_invoke$arity$0?a.dispatch_fn.cljs$core$IFn$_invoke$arity$0():a.dispatch_fn.call(null),c=this.cljs$core$IMultiFn$_get_method$arity$2(null,b);cljs.core.truth_(c)||cljs.core.throw_no_method_error(a.name,b);return c.cljs$core$IFn$_invoke$arity$0?c.cljs$core$IFn$_invoke$arity$0():c.call(null)},c=function(a,b){a=this;var c=a.dispatch_fn.cljs$core$IFn$_invoke$arity$1?a.dispatch_fn.cljs$core$IFn$_invoke$arity$1(b):
a.dispatch_fn.call(null,b),d=this.cljs$core$IMultiFn$_get_method$arity$2(null,c);cljs.core.truth_(d)||cljs.core.throw_no_method_error(a.name,c);return d.cljs$core$IFn$_invoke$arity$1?d.cljs$core$IFn$_invoke$arity$1(b):d.call(null,b)},d=function(a,b,c){a=this;var d=a.dispatch_fn.cljs$core$IFn$_invoke$arity$2?a.dispatch_fn.cljs$core$IFn$_invoke$arity$2(b,c):a.dispatch_fn.call(null,b,c),e=this.cljs$core$IMultiFn$_get_method$arity$2(null,d);cljs.core.truth_(e)||cljs.core.throw_no_method_error(a.name,
d);return e.cljs$core$IFn$_invoke$arity$2?e.cljs$core$IFn$_invoke$arity$2(b,c):e.call(null,b,c)},e=function(a,b,c,d){a=this;var e=a.dispatch_fn.cljs$core$IFn$_invoke$arity$3?a.dispatch_fn.cljs$core$IFn$_invoke$arity$3(b,c,d):a.dispatch_fn.call(null,b,c,d),f=this.cljs$core$IMultiFn$_get_method$arity$2(null,e);cljs.core.truth_(f)||cljs.core.throw_no_method_error(a.name,e);return f.cljs$core$IFn$_invoke$arity$3?f.cljs$core$IFn$_invoke$arity$3(b,c,d):f.call(null,b,c,d)},f=function(a,b,c,d,e){a=this;var f=
a.dispatch_fn.cljs$core$IFn$_invoke$arity$4?a.dispatch_fn.cljs$core$IFn$_invoke$arity$4(b,c,d,e):a.dispatch_fn.call(null,b,c,d,e),g=this.cljs$core$IMultiFn$_get_method$arity$2(null,f);cljs.core.truth_(g)||cljs.core.throw_no_method_error(a.name,f);return g.cljs$core$IFn$_invoke$arity$4?g.cljs$core$IFn$_invoke$arity$4(b,c,d,e):g.call(null,b,c,d,e)},g=function(a,b,c,d,e,f){a=this;var g=a.dispatch_fn.cljs$core$IFn$_invoke$arity$5?a.dispatch_fn.cljs$core$IFn$_invoke$arity$5(b,c,d,e,f):a.dispatch_fn.call(null,
b,c,d,e,f),h=this.cljs$core$IMultiFn$_get_method$arity$2(null,g);cljs.core.truth_(h)||cljs.core.throw_no_method_error(a.name,g);return h.cljs$core$IFn$_invoke$arity$5?h.cljs$core$IFn$_invoke$arity$5(b,c,d,e,f):h.call(null,b,c,d,e,f)},h=function(a,b,c,d,e,f,g){a=this;var h=a.dispatch_fn.cljs$core$IFn$_invoke$arity$6?a.dispatch_fn.cljs$core$IFn$_invoke$arity$6(b,c,d,e,f,g):a.dispatch_fn.call(null,b,c,d,e,f,g),k=this.cljs$core$IMultiFn$_get_method$arity$2(null,h);cljs.core.truth_(k)||cljs.core.throw_no_method_error(a.name,
h);return k.cljs$core$IFn$_invoke$arity$6?k.cljs$core$IFn$_invoke$arity$6(b,c,d,e,f,g):k.call(null,b,c,d,e,f,g)},k=function(a,b,c,d,e,f,g,h){a=this;var k=a.dispatch_fn.cljs$core$IFn$_invoke$arity$7?a.dispatch_fn.cljs$core$IFn$_invoke$arity$7(b,c,d,e,f,g,h):a.dispatch_fn.call(null,b,c,d,e,f,g,h),l=this.cljs$core$IMultiFn$_get_method$arity$2(null,k);cljs.core.truth_(l)||cljs.core.throw_no_method_error(a.name,k);return l.cljs$core$IFn$_invoke$arity$7?l.cljs$core$IFn$_invoke$arity$7(b,c,d,e,f,g,h):l.call(null,
b,c,d,e,f,g,h)},l=function(a,b,c,d,e,f,g,h,k){a=this;var l=a.dispatch_fn.cljs$core$IFn$_invoke$arity$8?a.dispatch_fn.cljs$core$IFn$_invoke$arity$8(b,c,d,e,f,g,h,k):a.dispatch_fn.call(null,b,c,d,e,f,g,h,k),m=this.cljs$core$IMultiFn$_get_method$arity$2(null,l);cljs.core.truth_(m)||cljs.core.throw_no_method_error(a.name,l);return m.cljs$core$IFn$_invoke$arity$8?m.cljs$core$IFn$_invoke$arity$8(b,c,d,e,f,g,h,k):m.call(null,b,c,d,e,f,g,h,k)},m=function(a,b,c,d,e,f,g,h,k,l){a=this;var m=a.dispatch_fn.cljs$core$IFn$_invoke$arity$9?
a.dispatch_fn.cljs$core$IFn$_invoke$arity$9(b,c,d,e,f,g,h,k,l):a.dispatch_fn.call(null,b,c,d,e,f,g,h,k,l),n=this.cljs$core$IMultiFn$_get_method$arity$2(null,m);cljs.core.truth_(n)||cljs.core.throw_no_method_error(a.name,m);return n.cljs$core$IFn$_invoke$arity$9?n.cljs$core$IFn$_invoke$arity$9(b,c,d,e,f,g,h,k,l):n.call(null,b,c,d,e,f,g,h,k,l)},n=function(a,b,c,d,e,f,g,h,k,l,m){a=this;var n=a.dispatch_fn.cljs$core$IFn$_invoke$arity$10?a.dispatch_fn.cljs$core$IFn$_invoke$arity$10(b,c,d,e,f,g,h,k,l,m):
a.dispatch_fn.call(null,b,c,d,e,f,g,h,k,l,m),p=this.cljs$core$IMultiFn$_get_method$arity$2(null,n);cljs.core.truth_(p)||cljs.core.throw_no_method_error(a.name,n);return p.cljs$core$IFn$_invoke$arity$10?p.cljs$core$IFn$_invoke$arity$10(b,c,d,e,f,g,h,k,l,m):p.call(null,b,c,d,e,f,g,h,k,l,m)},p=function(a,b,c,d,e,f,g,h,k,l,m,n){a=this;var p=a.dispatch_fn.cljs$core$IFn$_invoke$arity$11?a.dispatch_fn.cljs$core$IFn$_invoke$arity$11(b,c,d,e,f,g,h,k,l,m,n):a.dispatch_fn.call(null,b,c,d,e,f,g,h,k,l,m,n),q=
this.cljs$core$IMultiFn$_get_method$arity$2(null,p);cljs.core.truth_(q)||cljs.core.throw_no_method_error(a.name,p);return q.cljs$core$IFn$_invoke$arity$11?q.cljs$core$IFn$_invoke$arity$11(b,c,d,e,f,g,h,k,l,m,n):q.call(null,b,c,d,e,f,g,h,k,l,m,n)},q=function(a,b,c,d,e,f,g,h,k,l,m,n,p){a=this;var q=a.dispatch_fn.cljs$core$IFn$_invoke$arity$12?a.dispatch_fn.cljs$core$IFn$_invoke$arity$12(b,c,d,e,f,g,h,k,l,m,n,p):a.dispatch_fn.call(null,b,c,d,e,f,g,h,k,l,m,n,p),r=this.cljs$core$IMultiFn$_get_method$arity$2(null,
q);cljs.core.truth_(r)||cljs.core.throw_no_method_error(a.name,q);return r.cljs$core$IFn$_invoke$arity$12?r.cljs$core$IFn$_invoke$arity$12(b,c,d,e,f,g,h,k,l,m,n,p):r.call(null,b,c,d,e,f,g,h,k,l,m,n,p)},r=function(a,b,c,d,e,f,g,h,k,l,m,n,p,q){a=this;var r=a.dispatch_fn.cljs$core$IFn$_invoke$arity$13?a.dispatch_fn.cljs$core$IFn$_invoke$arity$13(b,c,d,e,f,g,h,k,l,m,n,p,q):a.dispatch_fn.call(null,b,c,d,e,f,g,h,k,l,m,n,p,q),t=this.cljs$core$IMultiFn$_get_method$arity$2(null,r);cljs.core.truth_(t)||cljs.core.throw_no_method_error(a.name,
r);return t.cljs$core$IFn$_invoke$arity$13?t.cljs$core$IFn$_invoke$arity$13(b,c,d,e,f,g,h,k,l,m,n,p,q):t.call(null,b,c,d,e,f,g,h,k,l,m,n,p,q)},u=function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r){a=this;var t=a.dispatch_fn.cljs$core$IFn$_invoke$arity$14?a.dispatch_fn.cljs$core$IFn$_invoke$arity$14(b,c,d,e,f,g,h,k,l,m,n,p,q,r):a.dispatch_fn.call(null,b,c,d,e,f,g,h,k,l,m,n,p,q,r),u=this.cljs$core$IMultiFn$_get_method$arity$2(null,t);cljs.core.truth_(u)||cljs.core.throw_no_method_error(a.name,t);return u.cljs$core$IFn$_invoke$arity$14?
u.cljs$core$IFn$_invoke$arity$14(b,c,d,e,f,g,h,k,l,m,n,p,q,r):u.call(null,b,c,d,e,f,g,h,k,l,m,n,p,q,r)},t=function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t){a=this;var u=a.dispatch_fn.cljs$core$IFn$_invoke$arity$15?a.dispatch_fn.cljs$core$IFn$_invoke$arity$15(b,c,d,e,f,g,h,k,l,m,n,p,q,r,t):a.dispatch_fn.call(null,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t),v=this.cljs$core$IMultiFn$_get_method$arity$2(null,u);cljs.core.truth_(v)||cljs.core.throw_no_method_error(a.name,u);return v.cljs$core$IFn$_invoke$arity$15?v.cljs$core$IFn$_invoke$arity$15(b,
c,d,e,f,g,h,k,l,m,n,p,q,r,t):v.call(null,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t)},v=function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u){a=this;var v=a.dispatch_fn.cljs$core$IFn$_invoke$arity$16?a.dispatch_fn.cljs$core$IFn$_invoke$arity$16(b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u):a.dispatch_fn.call(null,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u),w=this.cljs$core$IMultiFn$_get_method$arity$2(null,v);cljs.core.truth_(w)||cljs.core.throw_no_method_error(a.name,v);return w.cljs$core$IFn$_invoke$arity$16?w.cljs$core$IFn$_invoke$arity$16(b,
c,d,e,f,g,h,k,l,m,n,p,q,r,t,u):w.call(null,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u)},w=function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v){a=this;var w=a.dispatch_fn.cljs$core$IFn$_invoke$arity$17?a.dispatch_fn.cljs$core$IFn$_invoke$arity$17(b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v):a.dispatch_fn.call(null,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v),z=this.cljs$core$IMultiFn$_get_method$arity$2(null,w);cljs.core.truth_(z)||cljs.core.throw_no_method_error(a.name,w);return z.cljs$core$IFn$_invoke$arity$17?z.cljs$core$IFn$_invoke$arity$17(b,
c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v):z.call(null,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v)},x=function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w){a=this;var z=a.dispatch_fn.cljs$core$IFn$_invoke$arity$18?a.dispatch_fn.cljs$core$IFn$_invoke$arity$18(b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w):a.dispatch_fn.call(null,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w),x=this.cljs$core$IMultiFn$_get_method$arity$2(null,z);cljs.core.truth_(x)||cljs.core.throw_no_method_error(a.name,z);return x.cljs$core$IFn$_invoke$arity$18?x.cljs$core$IFn$_invoke$arity$18(b,
c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w):x.call(null,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w)},y=function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,z){a=this;var x=a.dispatch_fn.cljs$core$IFn$_invoke$arity$19?a.dispatch_fn.cljs$core$IFn$_invoke$arity$19(b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,z):a.dispatch_fn.call(null,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,z),C=this.cljs$core$IMultiFn$_get_method$arity$2(null,x);cljs.core.truth_(C)||cljs.core.throw_no_method_error(a.name,x);return C.cljs$core$IFn$_invoke$arity$19?C.cljs$core$IFn$_invoke$arity$19(b,
c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,z):C.call(null,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,z)},z=function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,z,x){a=this;var y=a.dispatch_fn.cljs$core$IFn$_invoke$arity$20?a.dispatch_fn.cljs$core$IFn$_invoke$arity$20(b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,z,x):a.dispatch_fn.call(null,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,z,x),C=this.cljs$core$IMultiFn$_get_method$arity$2(null,y);cljs.core.truth_(C)||cljs.core.throw_no_method_error(a.name,y);return C.cljs$core$IFn$_invoke$arity$20?
C.cljs$core$IFn$_invoke$arity$20(b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,z,x):C.call(null,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,z,x)},B=function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,z,x,y){a=this;var C=cljs.core.apply.cljs$core$IFn$_invoke$arity$variadic(a.dispatch_fn,b,c,d,e,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([f,g,h,k,l,m,n,p,q,r,t,u,v,w,z,x,y],0)),A=this.cljs$core$IMultiFn$_get_method$arity$2(null,C);cljs.core.truth_(A)||cljs.core.throw_no_method_error(a.name,C);return cljs.core.apply.cljs$core$IFn$_invoke$arity$variadic(A,
b,c,d,e,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([f,g,h,k,l,m,n,p,q,r,t,u,v,w,z,x,y],0))};a=function(a,A,D,F,E,G,J,M,L,K,I,H,O,P,N,Q,R,S,T,U,W,V){switch(arguments.length){case 1:return b.call(this,a);case 2:return c.call(this,a,A);case 3:return d.call(this,a,A,D);case 4:return e.call(this,a,A,D,F);case 5:return f.call(this,a,A,D,F,E);case 6:return g.call(this,a,A,D,F,E,G);case 7:return h.call(this,a,A,D,F,E,G,J);case 8:return k.call(this,a,A,D,F,E,G,J,M);case 9:return l.call(this,a,A,D,F,
E,G,J,M,L);case 10:return m.call(this,a,A,D,F,E,G,J,M,L,K);case 11:return n.call(this,a,A,D,F,E,G,J,M,L,K,I);case 12:return p.call(this,a,A,D,F,E,G,J,M,L,K,I,H);case 13:return q.call(this,a,A,D,F,E,G,J,M,L,K,I,H,O);case 14:return r.call(this,a,A,D,F,E,G,J,M,L,K,I,H,O,P);case 15:return u.call(this,a,A,D,F,E,G,J,M,L,K,I,H,O,P,N);case 16:return t.call(this,a,A,D,F,E,G,J,M,L,K,I,H,O,P,N,Q);case 17:return v.call(this,a,A,D,F,E,G,J,M,L,K,I,H,O,P,N,Q,R);case 18:return w.call(this,a,A,D,F,E,G,J,M,L,K,I,H,
O,P,N,Q,R,S);case 19:return x.call(this,a,A,D,F,E,G,J,M,L,K,I,H,O,P,N,Q,R,S,T);case 20:return y.call(this,a,A,D,F,E,G,J,M,L,K,I,H,O,P,N,Q,R,S,T,U);case 21:return z.call(this,a,A,D,F,E,G,J,M,L,K,I,H,O,P,N,Q,R,S,T,U,W);case 22:return B.call(this,a,A,D,F,E,G,J,M,L,K,I,H,O,P,N,Q,R,S,T,U,W,V)}throw Error("Invalid arity: "+(arguments.length-1));};a.cljs$core$IFn$_invoke$arity$1=b;a.cljs$core$IFn$_invoke$arity$2=c;a.cljs$core$IFn$_invoke$arity$3=d;a.cljs$core$IFn$_invoke$arity$4=e;a.cljs$core$IFn$_invoke$arity$5=
f;a.cljs$core$IFn$_invoke$arity$6=g;a.cljs$core$IFn$_invoke$arity$7=h;a.cljs$core$IFn$_invoke$arity$8=k;a.cljs$core$IFn$_invoke$arity$9=l;a.cljs$core$IFn$_invoke$arity$10=m;a.cljs$core$IFn$_invoke$arity$11=n;a.cljs$core$IFn$_invoke$arity$12=p;a.cljs$core$IFn$_invoke$arity$13=q;a.cljs$core$IFn$_invoke$arity$14=r;a.cljs$core$IFn$_invoke$arity$15=u;a.cljs$core$IFn$_invoke$arity$16=t;a.cljs$core$IFn$_invoke$arity$17=v;a.cljs$core$IFn$_invoke$arity$18=w;a.cljs$core$IFn$_invoke$arity$19=x;a.cljs$core$IFn$_invoke$arity$20=
y;a.cljs$core$IFn$_invoke$arity$21=z;a.cljs$core$IFn$_invoke$arity$22=B;return a}();cljs.core.MultiFn.prototype.apply=function(a,b){return this.call.apply(this,[this].concat(cljs.core.aclone(b)))};
cljs.core.MultiFn.prototype.cljs$core$IFn$_invoke$arity$0=function(){var a=this.dispatch_fn.cljs$core$IFn$_invoke$arity$0?this.dispatch_fn.cljs$core$IFn$_invoke$arity$0():this.dispatch_fn.call(null),b=this.cljs$core$IMultiFn$_get_method$arity$2(null,a);cljs.core.truth_(b)||cljs.core.throw_no_method_error(this.name,a);return b.cljs$core$IFn$_invoke$arity$0?b.cljs$core$IFn$_invoke$arity$0():b.call(null)};
cljs.core.MultiFn.prototype.cljs$core$IFn$_invoke$arity$1=function(a){var b=this.dispatch_fn.cljs$core$IFn$_invoke$arity$1?this.dispatch_fn.cljs$core$IFn$_invoke$arity$1(a):this.dispatch_fn.call(null,a),c=this.cljs$core$IMultiFn$_get_method$arity$2(null,b);cljs.core.truth_(c)||cljs.core.throw_no_method_error(this.name,b);return c.cljs$core$IFn$_invoke$arity$1?c.cljs$core$IFn$_invoke$arity$1(a):c.call(null,a)};
cljs.core.MultiFn.prototype.cljs$core$IFn$_invoke$arity$2=function(a,b){var c=this.dispatch_fn.cljs$core$IFn$_invoke$arity$2?this.dispatch_fn.cljs$core$IFn$_invoke$arity$2(a,b):this.dispatch_fn.call(null,a,b),d=this.cljs$core$IMultiFn$_get_method$arity$2(null,c);cljs.core.truth_(d)||cljs.core.throw_no_method_error(this.name,c);return d.cljs$core$IFn$_invoke$arity$2?d.cljs$core$IFn$_invoke$arity$2(a,b):d.call(null,a,b)};
cljs.core.MultiFn.prototype.cljs$core$IFn$_invoke$arity$3=function(a,b,c){var d=this.dispatch_fn.cljs$core$IFn$_invoke$arity$3?this.dispatch_fn.cljs$core$IFn$_invoke$arity$3(a,b,c):this.dispatch_fn.call(null,a,b,c),e=this.cljs$core$IMultiFn$_get_method$arity$2(null,d);cljs.core.truth_(e)||cljs.core.throw_no_method_error(this.name,d);return e.cljs$core$IFn$_invoke$arity$3?e.cljs$core$IFn$_invoke$arity$3(a,b,c):e.call(null,a,b,c)};
cljs.core.MultiFn.prototype.cljs$core$IFn$_invoke$arity$4=function(a,b,c,d){var e=this.dispatch_fn.cljs$core$IFn$_invoke$arity$4?this.dispatch_fn.cljs$core$IFn$_invoke$arity$4(a,b,c,d):this.dispatch_fn.call(null,a,b,c,d),f=this.cljs$core$IMultiFn$_get_method$arity$2(null,e);cljs.core.truth_(f)||cljs.core.throw_no_method_error(this.name,e);return f.cljs$core$IFn$_invoke$arity$4?f.cljs$core$IFn$_invoke$arity$4(a,b,c,d):f.call(null,a,b,c,d)};
cljs.core.MultiFn.prototype.cljs$core$IFn$_invoke$arity$5=function(a,b,c,d,e){var f=this.dispatch_fn.cljs$core$IFn$_invoke$arity$5?this.dispatch_fn.cljs$core$IFn$_invoke$arity$5(a,b,c,d,e):this.dispatch_fn.call(null,a,b,c,d,e),g=this.cljs$core$IMultiFn$_get_method$arity$2(null,f);cljs.core.truth_(g)||cljs.core.throw_no_method_error(this.name,f);return g.cljs$core$IFn$_invoke$arity$5?g.cljs$core$IFn$_invoke$arity$5(a,b,c,d,e):g.call(null,a,b,c,d,e)};
cljs.core.MultiFn.prototype.cljs$core$IFn$_invoke$arity$6=function(a,b,c,d,e,f){var g=this.dispatch_fn.cljs$core$IFn$_invoke$arity$6?this.dispatch_fn.cljs$core$IFn$_invoke$arity$6(a,b,c,d,e,f):this.dispatch_fn.call(null,a,b,c,d,e,f),h=this.cljs$core$IMultiFn$_get_method$arity$2(null,g);cljs.core.truth_(h)||cljs.core.throw_no_method_error(this.name,g);return h.cljs$core$IFn$_invoke$arity$6?h.cljs$core$IFn$_invoke$arity$6(a,b,c,d,e,f):h.call(null,a,b,c,d,e,f)};
cljs.core.MultiFn.prototype.cljs$core$IFn$_invoke$arity$7=function(a,b,c,d,e,f,g){var h=this.dispatch_fn.cljs$core$IFn$_invoke$arity$7?this.dispatch_fn.cljs$core$IFn$_invoke$arity$7(a,b,c,d,e,f,g):this.dispatch_fn.call(null,a,b,c,d,e,f,g),k=this.cljs$core$IMultiFn$_get_method$arity$2(null,h);cljs.core.truth_(k)||cljs.core.throw_no_method_error(this.name,h);return k.cljs$core$IFn$_invoke$arity$7?k.cljs$core$IFn$_invoke$arity$7(a,b,c,d,e,f,g):k.call(null,a,b,c,d,e,f,g)};
cljs.core.MultiFn.prototype.cljs$core$IFn$_invoke$arity$8=function(a,b,c,d,e,f,g,h){var k=this.dispatch_fn.cljs$core$IFn$_invoke$arity$8?this.dispatch_fn.cljs$core$IFn$_invoke$arity$8(a,b,c,d,e,f,g,h):this.dispatch_fn.call(null,a,b,c,d,e,f,g,h),l=this.cljs$core$IMultiFn$_get_method$arity$2(null,k);cljs.core.truth_(l)||cljs.core.throw_no_method_error(this.name,k);return l.cljs$core$IFn$_invoke$arity$8?l.cljs$core$IFn$_invoke$arity$8(a,b,c,d,e,f,g,h):l.call(null,a,b,c,d,e,f,g,h)};
cljs.core.MultiFn.prototype.cljs$core$IFn$_invoke$arity$9=function(a,b,c,d,e,f,g,h,k){var l=this.dispatch_fn.cljs$core$IFn$_invoke$arity$9?this.dispatch_fn.cljs$core$IFn$_invoke$arity$9(a,b,c,d,e,f,g,h,k):this.dispatch_fn.call(null,a,b,c,d,e,f,g,h,k),m=this.cljs$core$IMultiFn$_get_method$arity$2(null,l);cljs.core.truth_(m)||cljs.core.throw_no_method_error(this.name,l);return m.cljs$core$IFn$_invoke$arity$9?m.cljs$core$IFn$_invoke$arity$9(a,b,c,d,e,f,g,h,k):m.call(null,a,b,c,d,e,f,g,h,k)};
cljs.core.MultiFn.prototype.cljs$core$IFn$_invoke$arity$10=function(a,b,c,d,e,f,g,h,k,l){var m=this.dispatch_fn.cljs$core$IFn$_invoke$arity$10?this.dispatch_fn.cljs$core$IFn$_invoke$arity$10(a,b,c,d,e,f,g,h,k,l):this.dispatch_fn.call(null,a,b,c,d,e,f,g,h,k,l),n=this.cljs$core$IMultiFn$_get_method$arity$2(null,m);cljs.core.truth_(n)||cljs.core.throw_no_method_error(this.name,m);return n.cljs$core$IFn$_invoke$arity$10?n.cljs$core$IFn$_invoke$arity$10(a,b,c,d,e,f,g,h,k,l):n.call(null,a,b,c,d,e,f,g,h,
k,l)};
cljs.core.MultiFn.prototype.cljs$core$IFn$_invoke$arity$11=function(a,b,c,d,e,f,g,h,k,l,m){var n=this.dispatch_fn.cljs$core$IFn$_invoke$arity$11?this.dispatch_fn.cljs$core$IFn$_invoke$arity$11(a,b,c,d,e,f,g,h,k,l,m):this.dispatch_fn.call(null,a,b,c,d,e,f,g,h,k,l,m),p=this.cljs$core$IMultiFn$_get_method$arity$2(null,n);cljs.core.truth_(p)||cljs.core.throw_no_method_error(this.name,n);return p.cljs$core$IFn$_invoke$arity$11?p.cljs$core$IFn$_invoke$arity$11(a,b,c,d,e,f,g,h,k,l,m):p.call(null,a,b,c,d,
e,f,g,h,k,l,m)};
cljs.core.MultiFn.prototype.cljs$core$IFn$_invoke$arity$12=function(a,b,c,d,e,f,g,h,k,l,m,n){var p=this.dispatch_fn.cljs$core$IFn$_invoke$arity$12?this.dispatch_fn.cljs$core$IFn$_invoke$arity$12(a,b,c,d,e,f,g,h,k,l,m,n):this.dispatch_fn.call(null,a,b,c,d,e,f,g,h,k,l,m,n),q=this.cljs$core$IMultiFn$_get_method$arity$2(null,p);cljs.core.truth_(q)||cljs.core.throw_no_method_error(this.name,p);return q.cljs$core$IFn$_invoke$arity$12?q.cljs$core$IFn$_invoke$arity$12(a,b,c,d,e,f,g,h,k,l,m,n):q.call(null,
a,b,c,d,e,f,g,h,k,l,m,n)};
cljs.core.MultiFn.prototype.cljs$core$IFn$_invoke$arity$13=function(a,b,c,d,e,f,g,h,k,l,m,n,p){var q=this.dispatch_fn.cljs$core$IFn$_invoke$arity$13?this.dispatch_fn.cljs$core$IFn$_invoke$arity$13(a,b,c,d,e,f,g,h,k,l,m,n,p):this.dispatch_fn.call(null,a,b,c,d,e,f,g,h,k,l,m,n,p),r=this.cljs$core$IMultiFn$_get_method$arity$2(null,q);cljs.core.truth_(r)||cljs.core.throw_no_method_error(this.name,q);return r.cljs$core$IFn$_invoke$arity$13?r.cljs$core$IFn$_invoke$arity$13(a,b,c,d,e,f,g,h,k,l,m,n,p):r.call(null,
a,b,c,d,e,f,g,h,k,l,m,n,p)};
cljs.core.MultiFn.prototype.cljs$core$IFn$_invoke$arity$14=function(a,b,c,d,e,f,g,h,k,l,m,n,p,q){var r=this.dispatch_fn.cljs$core$IFn$_invoke$arity$14?this.dispatch_fn.cljs$core$IFn$_invoke$arity$14(a,b,c,d,e,f,g,h,k,l,m,n,p,q):this.dispatch_fn.call(null,a,b,c,d,e,f,g,h,k,l,m,n,p,q),u=this.cljs$core$IMultiFn$_get_method$arity$2(null,r);cljs.core.truth_(u)||cljs.core.throw_no_method_error(this.name,r);return u.cljs$core$IFn$_invoke$arity$14?u.cljs$core$IFn$_invoke$arity$14(a,b,c,d,e,f,g,h,k,l,m,n,
p,q):u.call(null,a,b,c,d,e,f,g,h,k,l,m,n,p,q)};
cljs.core.MultiFn.prototype.cljs$core$IFn$_invoke$arity$15=function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r){var u=this.dispatch_fn.cljs$core$IFn$_invoke$arity$15?this.dispatch_fn.cljs$core$IFn$_invoke$arity$15(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r):this.dispatch_fn.call(null,a,b,c,d,e,f,g,h,k,l,m,n,p,q,r),t=this.cljs$core$IMultiFn$_get_method$arity$2(null,u);cljs.core.truth_(t)||cljs.core.throw_no_method_error(this.name,u);return t.cljs$core$IFn$_invoke$arity$15?t.cljs$core$IFn$_invoke$arity$15(a,b,c,d,e,f,g,h,k,
l,m,n,p,q,r):t.call(null,a,b,c,d,e,f,g,h,k,l,m,n,p,q,r)};
cljs.core.MultiFn.prototype.cljs$core$IFn$_invoke$arity$16=function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u){var t=this.dispatch_fn.cljs$core$IFn$_invoke$arity$16?this.dispatch_fn.cljs$core$IFn$_invoke$arity$16(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u):this.dispatch_fn.call(null,a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u),v=this.cljs$core$IMultiFn$_get_method$arity$2(null,t);cljs.core.truth_(v)||cljs.core.throw_no_method_error(this.name,t);return v.cljs$core$IFn$_invoke$arity$16?v.cljs$core$IFn$_invoke$arity$16(a,b,c,d,e,f,
g,h,k,l,m,n,p,q,r,u):v.call(null,a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u)};
cljs.core.MultiFn.prototype.cljs$core$IFn$_invoke$arity$17=function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t){var v=this.dispatch_fn.cljs$core$IFn$_invoke$arity$17?this.dispatch_fn.cljs$core$IFn$_invoke$arity$17(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t):this.dispatch_fn.call(null,a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t),w=this.cljs$core$IMultiFn$_get_method$arity$2(null,v);cljs.core.truth_(w)||cljs.core.throw_no_method_error(this.name,v);return w.cljs$core$IFn$_invoke$arity$17?w.cljs$core$IFn$_invoke$arity$17(a,b,c,
d,e,f,g,h,k,l,m,n,p,q,r,u,t):w.call(null,a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t)};
cljs.core.MultiFn.prototype.cljs$core$IFn$_invoke$arity$18=function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v){var w=this.dispatch_fn.cljs$core$IFn$_invoke$arity$18?this.dispatch_fn.cljs$core$IFn$_invoke$arity$18(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v):this.dispatch_fn.call(null,a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v),x=this.cljs$core$IMultiFn$_get_method$arity$2(null,w);cljs.core.truth_(x)||cljs.core.throw_no_method_error(this.name,w);return x.cljs$core$IFn$_invoke$arity$18?x.cljs$core$IFn$_invoke$arity$18(a,
b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v):x.call(null,a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v)};
cljs.core.MultiFn.prototype.cljs$core$IFn$_invoke$arity$19=function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w){var x=this.dispatch_fn.cljs$core$IFn$_invoke$arity$19?this.dispatch_fn.cljs$core$IFn$_invoke$arity$19(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w):this.dispatch_fn.call(null,a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w),y=this.cljs$core$IMultiFn$_get_method$arity$2(null,x);cljs.core.truth_(y)||cljs.core.throw_no_method_error(this.name,x);return y.cljs$core$IFn$_invoke$arity$19?y.cljs$core$IFn$_invoke$arity$19(a,
b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w):y.call(null,a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w)};
cljs.core.MultiFn.prototype.cljs$core$IFn$_invoke$arity$20=function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w,x){var y=this.dispatch_fn.cljs$core$IFn$_invoke$arity$20?this.dispatch_fn.cljs$core$IFn$_invoke$arity$20(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w,x):this.dispatch_fn.call(null,a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w,x),z=this.cljs$core$IMultiFn$_get_method$arity$2(null,y);cljs.core.truth_(z)||cljs.core.throw_no_method_error(this.name,y);return z.cljs$core$IFn$_invoke$arity$20?z.cljs$core$IFn$_invoke$arity$20(a,
b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w,x):z.call(null,a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w,x)};
cljs.core.MultiFn.prototype.cljs$core$IFn$_invoke$arity$21=function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w,x,y){var z=cljs.core.apply.cljs$core$IFn$_invoke$arity$variadic(this.dispatch_fn,a,b,c,d,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([e,f,g,h,k,l,m,n,p,q,r,u,t,v,w,x,y],0)),B=this.cljs$core$IMultiFn$_get_method$arity$2(null,z);cljs.core.truth_(B)||cljs.core.throw_no_method_error(this.name,z);return cljs.core.apply.cljs$core$IFn$_invoke$arity$variadic(B,a,b,c,d,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([e,
f,g,h,k,l,m,n,p,q,r,u,t,v,w,x,y],0))};
cljs.core.MultiFn.prototype.cljs$core$IMultiFn$_prefer_method$arity$3=function(a,b,c){if(cljs.core.truth_(cljs.core.prefers_STAR_(b,c,this.prefer_table)))throw Error(["Preference conflict in multimethod '",cljs.core.str.cljs$core$IFn$_invoke$arity$1(this.name),"': ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(c)," is already preferred to ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(b)].join(""));cljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$2(this.prefer_table,function(a){return function(a){return cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(a,
b,cljs.core.conj.cljs$core$IFn$_invoke$arity$2(cljs.core.get.cljs$core$IFn$_invoke$arity$3(a,b,cljs.core.PersistentHashSet.EMPTY),c))}}(this));return cljs.core.reset_cache(this.method_cache,this.method_table,this.cached_hierarchy,this.hierarchy)};cljs.core.MultiFn.prototype.cljs$core$IMultiFn$_default_dispatch_val$arity$1=function(a){return this.default_dispatch_val};
cljs.core.MultiFn.prototype.cljs$core$IMultiFn$_remove_method$arity$2=function(a,b){cljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$3(this.method_table,cljs.core.dissoc,b);cljs.core.reset_cache(this.method_cache,this.method_table,this.cached_hierarchy,this.hierarchy);return this};cljs.core.MultiFn.prototype.cljs$core$IMultiFn$_methods$arity$1=function(a){return cljs.core.deref(this.method_table)};cljs.core.MultiFn.prototype.cljs$core$IMultiFn$_prefers$arity$1=function(a){return cljs.core.deref(this.prefer_table)};
cljs.core.MultiFn.prototype.cljs$core$IMultiFn$_dispatch_fn$arity$1=function(a){return this.dispatch_fn};cljs.core.MultiFn.prototype.cljs$core$IMultiFn$_add_method$arity$3=function(a,b,c){cljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$4(this.method_table,cljs.core.assoc,b,c);cljs.core.reset_cache(this.method_cache,this.method_table,this.cached_hierarchy,this.hierarchy);return this};
cljs.core.MultiFn.prototype.cljs$core$IMultiFn$_reset$arity$1=function(a){cljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$2(this.method_table,function(a){return function(a){return cljs.core.PersistentArrayMap.EMPTY}}(this));cljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$2(this.method_cache,function(a){return function(a){return cljs.core.PersistentArrayMap.EMPTY}}(this));cljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$2(this.prefer_table,function(a){return function(a){return cljs.core.PersistentArrayMap.EMPTY}}(this));
cljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$2(this.cached_hierarchy,function(a){return function(a){return null}}(this));return this};
cljs.core.MultiFn.prototype.cljs$core$IMultiFn$_get_method$arity$2=function(a,b){cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(cljs.core.deref(this.cached_hierarchy),cljs.core.deref(this.hierarchy))||cljs.core.reset_cache(this.method_cache,this.method_table,this.cached_hierarchy,this.hierarchy);a=cljs.core.deref(this.method_cache);a=a.cljs$core$IFn$_invoke$arity$1?a.cljs$core$IFn$_invoke$arity$1(b):a.call(null,b);return cljs.core.truth_(a)?a:cljs.core.find_and_cache_best_method(this.name,b,this.hierarchy,
this.method_table,this.prefer_table,this.method_cache,this.cached_hierarchy,this.default_dispatch_val)};cljs.core.MultiFn.prototype.cljs$core$INamed$_name$arity$1=function(a){return cljs.core._name(this.name)};cljs.core.MultiFn.prototype.cljs$core$INamed$_namespace$arity$1=function(a){return cljs.core._namespace(this.name)};cljs.core.MultiFn.prototype.cljs$core$IHash$_hash$arity$1=function(a){return goog.getUid(this)};
cljs.core.MultiFn.getBasis=function(){return new cljs.core.PersistentVector(null,8,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"name","name",-810760592,null),new cljs.core.Symbol(null,"dispatch-fn","dispatch-fn",-1401088155,null),new cljs.core.Symbol(null,"default-dispatch-val","default-dispatch-val",-1231201266,null),new cljs.core.Symbol(null,"hierarchy","hierarchy",587061186,null),new cljs.core.Symbol(null,"method-table","method-table",-1878263165,null),new cljs.core.Symbol(null,
"prefer-table","prefer-table",462168584,null),new cljs.core.Symbol(null,"method-cache","method-cache",1230193905,null),new cljs.core.Symbol(null,"cached-hierarchy","cached-hierarchy",-1085460203,null)],null)};cljs.core.MultiFn.cljs$lang$type=!0;cljs.core.MultiFn.cljs$lang$ctorStr="cljs.core/MultiFn";cljs.core.MultiFn.cljs$lang$ctorPrWriter=function(a,b,c){return cljs.core._write(b,"cljs.core/MultiFn")};cljs.core.__GT_MultiFn=function(a,b,c,d,e,f,g,h){return new cljs.core.MultiFn(a,b,c,d,e,f,g,h)};
cljs.core.remove_all_methods=function(a){return cljs.core._reset(a)};cljs.core.remove_method=function(a,b){return cljs.core._remove_method(a,b)};cljs.core.prefer_method=function(a,b,c){return cljs.core._prefer_method(a,b,c)};cljs.core.methods$=function(a){return cljs.core._methods(a)};cljs.core.get_method=function(a,b){return cljs.core._get_method(a,b)};cljs.core.prefers=function(a){return cljs.core._prefers(a)};cljs.core.default_dispatch_val=function(a){return cljs.core._default_dispatch_val(a)};
cljs.core.dispatch_fn=function(a){return cljs.core._dispatch_fn(a)};cljs.core.IUUID=function(){};cljs.core.UUID=function(a,b){this.uuid=a;this.__hash=b;this.cljs$lang$protocol_mask$partition0$=2153775104;this.cljs$lang$protocol_mask$partition1$=2048};cljs.core.UUID.prototype.cljs$core$IUUID$=cljs.core.PROTOCOL_SENTINEL;cljs.core.UUID.prototype.toString=function(){return this.uuid};cljs.core.UUID.prototype.equiv=function(a){return this.cljs$core$IEquiv$_equiv$arity$2(null,a)};
cljs.core.UUID.prototype.cljs$core$IEquiv$_equiv$arity$2=function(a,b){return b instanceof cljs.core.UUID&&this.uuid===b.uuid};cljs.core.UUID.prototype.cljs$core$IPrintWithWriter$_pr_writer$arity$3=function(a,b,c){return cljs.core._write(b,['#uuid "',cljs.core.str.cljs$core$IFn$_invoke$arity$1(this.uuid),'"'].join(""))};cljs.core.UUID.prototype.cljs$core$IHash$_hash$arity$1=function(a){null==this.__hash&&(this.__hash=cljs.core.hash(this.uuid));return this.__hash};
cljs.core.UUID.prototype.cljs$core$IComparable$_compare$arity$2=function(a,b){return goog.array.defaultCompare(this.uuid,b.uuid)};
cljs.core.UUID.getBasis=function(){return new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"uuid","uuid",-504564192,null),cljs.core.with_meta(new cljs.core.Symbol(null,"__hash","__hash",-1328796629,null),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"mutable","mutable",875778266),!0],null))],null)};cljs.core.UUID.cljs$lang$type=!0;cljs.core.UUID.cljs$lang$ctorStr="cljs.core/UUID";
cljs.core.UUID.cljs$lang$ctorPrWriter=function(a,b,c){return cljs.core._write(b,"cljs.core/UUID")};cljs.core.__GT_UUID=function(a,b){return new cljs.core.UUID(a,b)};cljs.core.uuid=function(a){if("string"!==typeof a)throw Error("Assert failed: (string? s)");return new cljs.core.UUID(a.toLowerCase(),null)};
cljs.core.random_uuid=function(){var a=function(){return cljs.core.rand_int(16).toString(16)},b=(8|3&cljs.core.rand_int(16)).toString(16);return cljs.core.uuid([cljs.core.str.cljs$core$IFn$_invoke$arity$1(a()),cljs.core.str.cljs$core$IFn$_invoke$arity$1(a()),cljs.core.str.cljs$core$IFn$_invoke$arity$1(a()),cljs.core.str.cljs$core$IFn$_invoke$arity$1(a()),cljs.core.str.cljs$core$IFn$_invoke$arity$1(a()),cljs.core.str.cljs$core$IFn$_invoke$arity$1(a()),cljs.core.str.cljs$core$IFn$_invoke$arity$1(a()),
cljs.core.str.cljs$core$IFn$_invoke$arity$1(a()),"-",cljs.core.str.cljs$core$IFn$_invoke$arity$1(a()),cljs.core.str.cljs$core$IFn$_invoke$arity$1(a()),cljs.core.str.cljs$core$IFn$_invoke$arity$1(a()),cljs.core.str.cljs$core$IFn$_invoke$arity$1(a()),"-4",cljs.core.str.cljs$core$IFn$_invoke$arity$1(a()),cljs.core.str.cljs$core$IFn$_invoke$arity$1(a()),cljs.core.str.cljs$core$IFn$_invoke$arity$1(a()),"-",cljs.core.str.cljs$core$IFn$_invoke$arity$1(b),cljs.core.str.cljs$core$IFn$_invoke$arity$1(a()),
cljs.core.str.cljs$core$IFn$_invoke$arity$1(a()),cljs.core.str.cljs$core$IFn$_invoke$arity$1(a()),"-",cljs.core.str.cljs$core$IFn$_invoke$arity$1(a()),cljs.core.str.cljs$core$IFn$_invoke$arity$1(a()),cljs.core.str.cljs$core$IFn$_invoke$arity$1(a()),cljs.core.str.cljs$core$IFn$_invoke$arity$1(a()),cljs.core.str.cljs$core$IFn$_invoke$arity$1(a()),cljs.core.str.cljs$core$IFn$_invoke$arity$1(a()),cljs.core.str.cljs$core$IFn$_invoke$arity$1(a()),cljs.core.str.cljs$core$IFn$_invoke$arity$1(a()),cljs.core.str.cljs$core$IFn$_invoke$arity$1(a()),
cljs.core.str.cljs$core$IFn$_invoke$arity$1(a()),cljs.core.str.cljs$core$IFn$_invoke$arity$1(a()),cljs.core.str.cljs$core$IFn$_invoke$arity$1(a())].join(""))};cljs.core.uuid_QMARK_=function(a){return null!=a?cljs.core.PROTOCOL_SENTINEL===a.cljs$core$IUUID$?!0:!1:!1};
cljs.core.pr_writer_ex_info=function(a,b,c){cljs.core._write(b,"#error {:message ");cljs.core.pr_writer(a.message,b,c);cljs.core.truth_(a.data)&&(cljs.core._write(b,", :data "),cljs.core.pr_writer(a.data,b,c));cljs.core.truth_(a.cause)&&(cljs.core._write(b,", :cause "),cljs.core.pr_writer(a.cause,b,c));return cljs.core._write(b,"}")};
cljs.core.ExceptionInfo=function(a,b,c){var d=Error(a);this.message=a;this.data=b;this.cause=c;this.name=d.name;this.description=d.description;this.number=d.number;this.fileName=d.fileName;this.lineNumber=d.lineNumber;this.columnNumber=d.columnNumber;this.stack=d.stack;return this};cljs.core.ExceptionInfo.prototype.__proto__=Error.prototype;cljs.core.ExceptionInfo.prototype.cljs$core$IPrintWithWriter$=cljs.core.PROTOCOL_SENTINEL;
cljs.core.ExceptionInfo.prototype.cljs$core$IPrintWithWriter$_pr_writer$arity$3=function(a,b,c){return cljs.core.pr_writer_ex_info(this,b,c)};cljs.core.ExceptionInfo.prototype.toString=function(){return cljs.core.pr_str_STAR_(this)};
cljs.core.ex_info=function(a){switch(arguments.length){case 2:return cljs.core.ex_info.cljs$core$IFn$_invoke$arity$2(arguments[0],arguments[1]);case 3:return cljs.core.ex_info.cljs$core$IFn$_invoke$arity$3(arguments[0],arguments[1],arguments[2]);default:throw Error(["Invalid arity: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(""));}};cljs.core.ex_info.cljs$core$IFn$_invoke$arity$2=function(a,b){return cljs.core.ex_info.cljs$core$IFn$_invoke$arity$3(a,b,null)};
cljs.core.ex_info.cljs$core$IFn$_invoke$arity$3=function(a,b,c){return new cljs.core.ExceptionInfo(a,b,c)};cljs.core.ex_info.cljs$lang$maxFixedArity=3;cljs.core.ex_data=function(a){return a instanceof cljs.core.ExceptionInfo?a.data:null};cljs.core.ex_message=function(a){return a instanceof Error?a.message:null};cljs.core.ex_cause=function(a){return a instanceof cljs.core.ExceptionInfo?a.cause:null};
cljs.core.comparator=function(a){return function(b,c){return cljs.core.truth_(a.cljs$core$IFn$_invoke$arity$2?a.cljs$core$IFn$_invoke$arity$2(b,c):a.call(null,b,c))?-1:cljs.core.truth_(a.cljs$core$IFn$_invoke$arity$2?a.cljs$core$IFn$_invoke$arity$2(c,b):a.call(null,c,b))?1:0}};
cljs.core.special_symbol_QMARK_=function(a){return cljs.core.contains_QMARK_(new cljs.core.PersistentHashSet(null,new cljs.core.PersistentArrayMap(null,24,[new cljs.core.Symbol(null,"\x26","\x26",-2144855648,null),"null",new cljs.core.Symbol(null,"case*","case*",-1938255072,null),"null",new cljs.core.Symbol(null,"defrecord*","defrecord*",-1936366207,null),"null",new cljs.core.Symbol(null,"try","try",-1273693247,null),"null",new cljs.core.Symbol(null,"ns*","ns*",1840949383,null),"null",new cljs.core.Symbol(null,
"finally","finally",-1065347064,null),"null",new cljs.core.Symbol(null,"loop*","loop*",615029416,null),"null",new cljs.core.Symbol(null,"do","do",1686842252,null),"null",new cljs.core.Symbol(null,"letfn*","letfn*",-110097810,null),"null",new cljs.core.Symbol(null,"if","if",1181717262,null),"null",new cljs.core.Symbol(null,"new","new",-444906321,null),"null",new cljs.core.Symbol(null,"ns","ns",2082130287,null),"null",new cljs.core.Symbol(null,"deftype*","deftype*",962659890,null),"null",new cljs.core.Symbol(null,
"let*","let*",1920721458,null),"null",new cljs.core.Symbol(null,"js*","js*",-1134233646,null),"null",new cljs.core.Symbol(null,"fn*","fn*",-752876845,null),"null",new cljs.core.Symbol(null,"recur","recur",1202958259,null),"null",new cljs.core.Symbol(null,"set!","set!",250714521,null),"null",new cljs.core.Symbol(null,".",".",1975675962,null),"null",new cljs.core.Symbol(null,"var","var",870848730,null),"null",new cljs.core.Symbol(null,"quote","quote",1377916282,null),"null",new cljs.core.Symbol(null,
"catch","catch",-1616370245,null),"null",new cljs.core.Symbol(null,"throw","throw",595905694,null),"null",new cljs.core.Symbol(null,"def","def",597100991,null),"null"],null),null),a)};cljs.core.test=function(a){a=a.cljs$lang$test;return cljs.core.truth_(a)?(a.cljs$core$IFn$_invoke$arity$0?a.cljs$core$IFn$_invoke$arity$0():a.call(null),new cljs.core.Keyword(null,"ok","ok",967785236)):new cljs.core.Keyword(null,"no-test","no-test",-1679482642)};
cljs.core.TaggedLiteral=function(a,b){this.tag=a;this.form=b;this.cljs$lang$protocol_mask$partition0$=2153775360;this.cljs$lang$protocol_mask$partition1$=0};cljs.core.TaggedLiteral.prototype.toString=function(){return cljs.core.pr_str_STAR_(this)};cljs.core.TaggedLiteral.prototype.cljs$core$IEquiv$_equiv$arity$2=function(a,b){return b instanceof cljs.core.TaggedLiteral&&cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(this.tag,b.tag)&&cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(this.form,b.form)};
cljs.core.TaggedLiteral.prototype.cljs$core$IHash$_hash$arity$1=function(a){return 31*cljs.core.hash(this.tag)+cljs.core.hash(this.form)};cljs.core.TaggedLiteral.prototype.cljs$core$ILookup$_lookup$arity$2=function(a,b){return this.cljs$core$ILookup$_lookup$arity$3(null,b,null)};cljs.core.TaggedLiteral.prototype.cljs$core$ILookup$_lookup$arity$3=function(a,b,c){switch(b instanceof cljs.core.Keyword?b.fqn:null){case "tag":return this.tag;case "form":return this.form;default:return c}};
cljs.core.TaggedLiteral.prototype.cljs$core$IPrintWithWriter$_pr_writer$arity$3=function(a,b,c){cljs.core._write(b,["#",cljs.core.str.cljs$core$IFn$_invoke$arity$1(this.tag)," "].join(""));return cljs.core.pr_writer(this.form,b,c)};cljs.core.TaggedLiteral.getBasis=function(){return new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"tag","tag",350170304,null),new cljs.core.Symbol(null,"form","form",16469056,null)],null)};
cljs.core.TaggedLiteral.cljs$lang$type=!0;cljs.core.TaggedLiteral.cljs$lang$ctorStr="cljs.core/TaggedLiteral";cljs.core.TaggedLiteral.cljs$lang$ctorPrWriter=function(a,b,c){return cljs.core._write(b,"cljs.core/TaggedLiteral")};cljs.core.__GT_TaggedLiteral=function(a,b){return new cljs.core.TaggedLiteral(a,b)};cljs.core.tagged_literal_QMARK_=function(a){return a instanceof cljs.core.TaggedLiteral};
cljs.core.tagged_literal=function(a,b){if(!(a instanceof cljs.core.Symbol))throw Error("Assert failed: (symbol? tag)");return new cljs.core.TaggedLiteral(a,b)};cljs.core.js_reserved_arr="arguments abstract await boolean break byte case catch char class const continue debugger default delete do double else enum export extends final finally float for function goto if implements import in instanceof int interface let long native new package private protected public return short static super switch synchronized this throw throws transient try typeof var void volatile while with yield methods null constructor".split(" ");
cljs.core.js_reserved=null;cljs.core.js_reserved_QMARK_=function(a){null==cljs.core.js_reserved&&(cljs.core.js_reserved=cljs.core.reduce.cljs$core$IFn$_invoke$arity$3(function(a,c){goog.object.set(a,c,!0);return a},{},cljs.core.js_reserved_arr));return cljs.core.js_reserved.hasOwnProperty(a)};
cljs.core.demunge_pattern=function(){cljs.core.truth_(cljs.core.DEMUNGE_PATTERN)||(cljs.core.DEMUNGE_PATTERN=function(){for(var a=cljs.core.sort.cljs$core$IFn$_invoke$arity$2(function(a,b){return b.length-a.length},cljs.core.js_keys(cljs.core.DEMUNGE_MAP)),b="";;)if(cljs.core.seq(a)){var c=cljs.core.next(a),d=[function(){var a=b;return""!==b?[a,"|"].join(""):a}(),cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.core.first(a))].join("");a=c;b=d}else return[b,"|\\$"].join("")}());return cljs.core.DEMUNGE_PATTERN};
cljs.core.munge_str=function(a){for(var b=new goog.string.StringBuffer,c=0;;)if(c<a.length){var d=a.charAt(c),e=goog.object.get(cljs.core.CHAR_MAP,d);null!=e?b.append(e):b.append(d);c+=1}else break;return b.toString()};
cljs.core.munge=function(a){var b=cljs.core.munge_str(cljs.core.str.cljs$core$IFn$_invoke$arity$1(a));b=".."===b?"_DOT__DOT_":cljs.core.truth_(cljs.core.js_reserved_QMARK_(b))?[cljs.core.str.cljs$core$IFn$_invoke$arity$1(b),"$"].join(""):b;return a instanceof cljs.core.Symbol?cljs.core.symbol.cljs$core$IFn$_invoke$arity$1(b):b};
cljs.core.demunge_str=function(a){var b=new RegExp(cljs.core.demunge_pattern(),"g");a=cljs.core.truth_(goog.string.endsWith(a,"$"))?a.substring(0,a.length-1):a;for(var c="",d=0;;){var e=b.exec(a);if(cljs.core.truth_(e))e=cljs.core.nth.cljs$core$IFn$_invoke$arity$3(e,0,null),c=[c,cljs.core.str.cljs$core$IFn$_invoke$arity$1(a.substring(d,b.lastIndex-e.length)),cljs.core.str.cljs$core$IFn$_invoke$arity$1("$"===e?"/":goog.object.get(cljs.core.DEMUNGE_MAP,e))].join(""),d=b.lastIndex;else return[c,cljs.core.str.cljs$core$IFn$_invoke$arity$1(a.substring(d,
a.length))].join("")}};cljs.core.demunge=function(a){var b=cljs.core.str.cljs$core$IFn$_invoke$arity$1(a);b="_DOT__DOT_"===b?"..":cljs.core.demunge_str(b);a=a instanceof cljs.core.Symbol?cljs.core.symbol:cljs.core.str;return a.cljs$core$IFn$_invoke$arity$1?a.cljs$core$IFn$_invoke$arity$1(b):a.call(null,b)};if("undefined"===typeof cljs||"undefined"===typeof cljs.core||"undefined"===typeof cljs.core.tapset)cljs.core.tapset=null;
cljs.core.maybe_init_tapset=function(){return null==cljs.core.tapset?cljs.core.tapset=cljs.core.atom.cljs$core$IFn$_invoke$arity$1(cljs.core.PersistentHashSet.EMPTY):null};cljs.core.add_tap=function(a){cljs.core.maybe_init_tapset();cljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$3(cljs.core.tapset,cljs.core.conj,a);return null};cljs.core.remove_tap=function(a){cljs.core.maybe_init_tapset();cljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$3(cljs.core.tapset,cljs.core.disj,a);return null};
cljs.core.tap_GT_=function(a){cljs.core.maybe_init_tapset();return cljs.core._STAR_exec_tap_fn_STAR_.cljs$core$IFn$_invoke$arity$1?cljs.core._STAR_exec_tap_fn_STAR_.cljs$core$IFn$_invoke$arity$1(function(){for(var b=cljs.core.seq(cljs.core.deref(cljs.core.tapset)),c=null,d=0,e=0;;)if(e<d){var f=c.cljs$core$IIndexed$_nth$arity$2(null,e);try{f.cljs$core$IFn$_invoke$arity$1?f.cljs$core$IFn$_invoke$arity$1(a):f.call(null,a)}catch(g){if(!(g instanceof Error))throw g;}e+=1}else if(b=cljs.core.seq(b)){c=
b;if(cljs.core.chunked_seq_QMARK_(c))b=cljs.core.chunk_first(c),d=cljs.core.chunk_rest(c),c=b,f=cljs.core.count(b),b=d,d=f;else{f=cljs.core.first(c);try{f.cljs$core$IFn$_invoke$arity$1?f.cljs$core$IFn$_invoke$arity$1(a):f.call(null,a)}catch(g){if(!(g instanceof Error))throw g;}b=cljs.core.next(c);c=null;d=0}e=0}else return null}):cljs.core._STAR_exec_tap_fn_STAR_.call(null,function(){for(var b=cljs.core.seq(cljs.core.deref(cljs.core.tapset)),c=null,d=0,e=0;;)if(e<d){var f=c.cljs$core$IIndexed$_nth$arity$2(null,
e);try{f.cljs$core$IFn$_invoke$arity$1?f.cljs$core$IFn$_invoke$arity$1(a):f.call(null,a)}catch(g){if(!(g instanceof Error))throw g;}e+=1}else if(b=cljs.core.seq(b)){c=b;if(cljs.core.chunked_seq_QMARK_(c))b=cljs.core.chunk_first(c),d=cljs.core.chunk_rest(c),c=b,f=cljs.core.count(b),b=d,d=f;else{f=cljs.core.first(c);try{f.cljs$core$IFn$_invoke$arity$1?f.cljs$core$IFn$_invoke$arity$1(a):f.call(null,a)}catch(g){if(!(g instanceof Error))throw g;}b=cljs.core.next(c);c=null;d=0}e=0}else return null})};
cljs.core.ns_lookup=function(a,b){return function(){return goog.object.get(a,b)}};cljs.core.Namespace=function(a,b){this.obj=a;this.name=b;this.cljs$lang$protocol_mask$partition0$=6291456;this.cljs$lang$protocol_mask$partition1$=0};
cljs.core.Namespace.prototype.findInternedVar=function(a){var b=cljs.core.munge(cljs.core.str.cljs$core$IFn$_invoke$arity$1(a));if(goog.object.containsKey(this.obj,b)){a=cljs.core.symbol.cljs$core$IFn$_invoke$arity$2(cljs.core.str.cljs$core$IFn$_invoke$arity$1(this.name),cljs.core.str.cljs$core$IFn$_invoke$arity$1(a));var c=new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"ns","ns",441598760),this],null);return new cljs.core.Var(cljs.core.ns_lookup(this.obj,b),a,c)}return null};
cljs.core.Namespace.prototype.getName=function(){return this.name};cljs.core.Namespace.prototype.toString=function(){return cljs.core.str.cljs$core$IFn$_invoke$arity$1(this.name)};cljs.core.Namespace.prototype.cljs$core$IEquiv$_equiv$arity$2=function(a,b){return b instanceof cljs.core.Namespace?cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(this.name,b.name):!1};cljs.core.Namespace.prototype.cljs$core$IHash$_hash$arity$1=function(a){return cljs.core.hash(this.name)};
cljs.core.Namespace.getBasis=function(){return new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"obj","obj",-1672671807,null),new cljs.core.Symbol(null,"name","name",-810760592,null)],null)};cljs.core.Namespace.cljs$lang$type=!0;cljs.core.Namespace.cljs$lang$ctorStr="cljs.core/Namespace";cljs.core.Namespace.cljs$lang$ctorPrWriter=function(a,b,c){return cljs.core._write(b,"cljs.core/Namespace")};
cljs.core.__GT_Namespace=function(a,b){return new cljs.core.Namespace(a,b)};cljs.core.NS_CACHE=null;cljs.core.find_ns_obj_STAR_=function(a,b){for(;;){if(null==a)return null;if(null==b)return a;var c=cljs.core.first(b);a=goog.object.get(a,c);b=cljs.core.next(b)}};
cljs.core.find_ns_obj=function(a){var b=cljs.core.munge(cljs.core.str.cljs$core$IFn$_invoke$arity$1(a)).split(".");switch(cljs.core._STAR_target_STAR_){case "nodejs":return COMPILED?cljs.core.find_ns_obj_STAR_(function(){try{var a=eval(cljs.core.first(b));return cljs.core.truth_(cljs.core.truth_(a)?cljs.core.object_QMARK_(a):a)?a:null}catch(d){if(d instanceof ReferenceError)return null;throw d;}}(),cljs.core.next(b)):cljs.core.find_ns_obj_STAR_(goog.global,b);case "default":case "webworker":return cljs.core.find_ns_obj_STAR_(goog.global,
b);default:throw Error(["find-ns-obj not supported for target ",cljs.core._STAR_target_STAR_].join(""));}};
cljs.core.ns_interns_STAR_=function(a){var b=cljs.core.find_ns_obj(a),c=new cljs.core.Namespace(b,a);c=function(b,c){return function(d,e){var f=cljs.core.symbol.cljs$core$IFn$_invoke$arity$1(cljs.core.demunge(e));return cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(d,f,new cljs.core.Var(function(a,b,c){return function(){return goog.object.get(b,e)}}(f,b,c),cljs.core.symbol.cljs$core$IFn$_invoke$arity$2(cljs.core.str.cljs$core$IFn$_invoke$arity$1(a),cljs.core.str.cljs$core$IFn$_invoke$arity$1(f)),
new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"ns","ns",441598760),c],null)))}}(b,c);return cljs.core.reduce.cljs$core$IFn$_invoke$arity$3(c,cljs.core.PersistentArrayMap.EMPTY,cljs.core.js_keys(b))};
cljs.core.create_ns=function(a){switch(arguments.length){case 1:return cljs.core.create_ns.cljs$core$IFn$_invoke$arity$1(arguments[0]);case 2:return cljs.core.create_ns.cljs$core$IFn$_invoke$arity$2(arguments[0],arguments[1]);default:throw Error(["Invalid arity: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(""));}};cljs.core.create_ns.cljs$core$IFn$_invoke$arity$1=function(a){return cljs.core.create_ns.cljs$core$IFn$_invoke$arity$2(a,cljs.core.find_ns_obj(a))};
cljs.core.create_ns.cljs$core$IFn$_invoke$arity$2=function(a,b){return new cljs.core.Namespace(b,a)};cljs.core.create_ns.cljs$lang$maxFixedArity=2;
cljs.core.find_ns=function(a){null==cljs.core.NS_CACHE&&(cljs.core.NS_CACHE=cljs.core.atom.cljs$core$IFn$_invoke$arity$1(cljs.core.PersistentArrayMap.EMPTY));var b=cljs.core.get.cljs$core$IFn$_invoke$arity$2(cljs.core.deref(cljs.core.NS_CACHE),a);if(null!=b)return b;b=cljs.core.find_ns_obj(a);if(null==b)return null;b=cljs.core.create_ns.cljs$core$IFn$_invoke$arity$2(a,b);cljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$4(cljs.core.NS_CACHE,cljs.core.assoc,a,b);return b};
cljs.core.find_macros_ns=function(a){null==cljs.core.NS_CACHE&&(cljs.core.NS_CACHE=cljs.core.atom.cljs$core$IFn$_invoke$arity$1(cljs.core.PersistentArrayMap.EMPTY));var b=cljs.core.str.cljs$core$IFn$_invoke$arity$1(a);a=goog.string.contains(b,"$macros")?a:cljs.core.symbol.cljs$core$IFn$_invoke$arity$1([b,"$macros"].join(""));b=cljs.core.get.cljs$core$IFn$_invoke$arity$2(cljs.core.deref(cljs.core.NS_CACHE),a);if(null!=b)return b;b=cljs.core.find_ns_obj(a);if(null==b)return null;b=cljs.core.create_ns.cljs$core$IFn$_invoke$arity$2(a,
b);cljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$4(cljs.core.NS_CACHE,cljs.core.assoc,a,b);return b};cljs.core.ns_name=function(a){return a.name};cljs.core.uri_QMARK_=function(a){return a instanceof goog.Uri};
cljs.core.maybe_enable_print_BANG_=function(){if("undefined"!==typeof console)return cljs.core.enable_console_print_BANG_();if("nashorn"===cljs.core._STAR_target_STAR_||"graaljs"===cljs.core._STAR_target_STAR_){var a=Java.type("java.lang.System");cljs.core._STAR_print_newline_STAR_=!1;cljs.core.set_print_fn_BANG_(function(a){return function(){var b=goog.array.clone(arguments).join("");return a.out.println(b)}}(a));return cljs.core.set_print_err_fn_BANG_(function(a){return function(){var b=goog.array.clone(arguments).join("");
return a.error.println(b)}}(a))}return null};cljs.core.maybe_enable_print_BANG_();if("undefined"===typeof cljs||"undefined"===typeof cljs.core||"undefined"===typeof cljs.core._STAR_eval_STAR_)cljs.core._STAR_eval_STAR_=function(a){throw Error("cljs.core/*eval* not bound");};cljs.core.eval=function(a){return cljs.core._STAR_eval_STAR_.cljs$core$IFn$_invoke$arity$1?cljs.core._STAR_eval_STAR_.cljs$core$IFn$_invoke$arity$1(a):cljs.core._STAR_eval_STAR_.call(null,a)};var process={env:{}};process.env.NODE_ENV="production";var javelin={core:{}};javelin.core._STAR_tx_STAR_=null;javelin.core.last_rank=cljs.core.atom.call(null,0);javelin.core.propagate_STAR_=function(a){for(;;){var b=a.shift();if(cljs.core.truth_(b)){var c=b.prev;var d=b.thunk;d=cljs.core.truth_(d)?d.call(null):b.state;if(cljs.core.not_EQ_.call(null,d,c))for(b.prev=d,cljs.core._notify_watches.call(null,b,c,d),b=b.sinks,c=b.length,d=0;;)if(d<c)goog.array.binaryInsert(a,b[d],javelin.core.cmp_rank),d+=1;else break}else return null}};
javelin.core.deref_STAR_=function(a){return cljs.core.truth_(javelin.core.cell_QMARK_.call(null,a))?cljs.core.deref.call(null,a):a};javelin.core.next_rank=function(){return cljs.core.swap_BANG_.call(null,javelin.core.last_rank,cljs.core.inc)};javelin.core.cmp_rank=function(a,b){a=a.rank;b=b.rank;return cljs.core._EQ_.call(null,a,b)?0:a-b};javelin.core.add_sync_BANG_=function(a){return goog.array.binaryInsert(javelin.core._STAR_tx_STAR_,a,javelin.core.cmp_rank)};
javelin.core.safe_nth=function(a,b){try{return cljs.core.nth.call(null,a,b)}catch(c){if(c instanceof Error)return null;throw c;}};javelin.core.propagate_BANG_=function(a){cljs.core.truth_(javelin.core._STAR_tx_STAR_)?javelin.core.add_sync_BANG_.call(null,a):javelin.core.propagate_STAR_.call(null,[a]);return a};
javelin.core.destroy_cell_BANG_=function(a){switch(arguments.length){case 1:return javelin.core.destroy_cell_BANG_.cljs$core$IFn$_invoke$arity$1(arguments[0]);case 2:return javelin.core.destroy_cell_BANG_.cljs$core$IFn$_invoke$arity$2(arguments[0],arguments[1]);default:throw Error(["Invalid arity: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(""));}};
javelin.core.destroy_cell_BANG_.cljs$core$IFn$_invoke$arity$1=function(a){return javelin.core.destroy_cell_BANG_.call(null,a,null)};
javelin.core.destroy_cell_BANG_.cljs$core$IFn$_invoke$arity$2=function(a,b){var c=a.sources;a.sources=[];a.update=null;a.thunk=null;cljs.core.truth_(b)||(a.watches=cljs.core.PersistentArrayMap.EMPTY,a.numwatches=0);b=c.length;for(var d=0;;)if(d<b){var e=javelin.core.cell_QMARK_.call(null,c[d]);if(cljs.core.truth_(e)){var f=e;goog.array.removeIf(f.sinks,function(b,c,d,e,f){return function(b){return cljs.core._EQ_.call(null,b,a)}}(d,f,e,b,c))}d+=1}else return null};
javelin.core.destroy_cell_BANG_.cljs$lang$maxFixedArity=2;
javelin.core.set_formula_BANG__STAR_=function(a,b,c,d){if(cljs.core.truth_(b)){a.constant=!0;c.push(b);a.sources=c;b=a.sources.length;for(c=0;;)if(c<b){var e=a.sources[c];if(cljs.core.truth_(javelin.core.cell_QMARK_.call(null,e))&&(cljs.core.truth_(function(){var b=a.constant;return cljs.core.truth_(b)?cljs.core.not.call(null,e.constant):b}())&&(a.constant=!1),e.sinks.push(a),e.rank>a.rank))for(var f=[e];;){var g=f.shift();if(cljs.core.truth_(g))g.rank=javelin.core.next_rank.call(null),f=f.concat(g.sinks);
else break}c+=1}else break;a.thunk=function(){for(var b=a.sources.slice(),c=javelin.core.deref_STAR_.call(null,b.pop()),d=b.length,e=0;;)if(e<d)b[e]=javelin.core.deref_STAR_.call(null,b[e]),e+=1;else break;return a.state=c.apply(null,b)};a.update=d}return javelin.core.propagate_BANG_.call(null,a)};
javelin.core.set_formula_BANG_=function(a){switch(arguments.length){case 1:return javelin.core.set_formula_BANG_.cljs$core$IFn$_invoke$arity$1(arguments[0]);case 2:return javelin.core.set_formula_BANG_.cljs$core$IFn$_invoke$arity$2(arguments[0],arguments[1]);case 3:return javelin.core.set_formula_BANG_.cljs$core$IFn$_invoke$arity$3(arguments[0],arguments[1],arguments[2]);case 4:return javelin.core.set_formula_BANG_.cljs$core$IFn$_invoke$arity$4(arguments[0],arguments[1],arguments[2],arguments[3]);
default:throw Error(["Invalid arity: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(""));}};javelin.core.set_formula_BANG_.cljs$core$IFn$_invoke$arity$1=function(a){javelin.core.destroy_cell_BANG_.call(null,a,!0);return javelin.core.set_formula_BANG__STAR_.call(null,a,null,null,null)};javelin.core.set_formula_BANG_.cljs$core$IFn$_invoke$arity$2=function(a,b){javelin.core.destroy_cell_BANG_.call(null,a,!0);return javelin.core.set_formula_BANG__STAR_.call(null,a,b,[],null)};
javelin.core.set_formula_BANG_.cljs$core$IFn$_invoke$arity$3=function(a,b,c){javelin.core.destroy_cell_BANG_.call(null,a,!0);return javelin.core.set_formula_BANG__STAR_.call(null,a,b,cljs.core.into_array.call(null,c),null)};javelin.core.set_formula_BANG_.cljs$core$IFn$_invoke$arity$4=function(a,b,c,d){javelin.core.destroy_cell_BANG_.call(null,a,!0);return javelin.core.set_formula_BANG__STAR_.call(null,a,b,cljs.core.into_array.call(null,c),d)};
javelin.core.set_formula_BANG_.cljs$lang$maxFixedArity=4;javelin.core.Cell=function(a,b,c,d,e,f,g,h,k,l,m){this.meta=a;this.state=b;this.rank=c;this.prev=d;this.sources=e;this.sinks=f;this.thunk=g;this.watches=h;this.update=k;this.constant=l;this.numwatches=m;this.cljs$lang$protocol_mask$partition0$=2147909632;this.cljs$lang$protocol_mask$partition1$=98306};
javelin.core.Cell.prototype.cljs$core$IPrintWithWriter$_pr_writer$arity$3=function(a,b,c){return cljs.core.write_all.call(null,b,"#object [javelin.core.Cell ",cljs.core.pr_str.call(null,this.state),"]")};javelin.core.Cell.prototype.cljs$core$IWithMeta$_with_meta$arity$2=function(a,b){return new javelin.core.Cell(b,this.state,this.rank,this.prev,this.sources,this.sinks,this.thunk,this.watches,this.update,this.constant,this.numwatches)};javelin.core.Cell.prototype.cljs$core$IMeta$_meta$arity$1=function(a){return this.meta};
javelin.core.Cell.prototype.cljs$core$IDeref$_deref$arity$1=function(a){return this.state};javelin.core.Cell.prototype.cljs$core$IReset$_reset_BANG_$arity$2=function(a,b){if(cljs.core.truth_(javelin.core.lens_QMARK_.call(null,this)))this.update.call(null,b);else if(cljs.core.truth_(javelin.core.input_QMARK_.call(null,this)))this.state=b,javelin.core.propagate_BANG_.call(null,this);else throw Error("can't swap! or reset! formula cell");return this.state};
javelin.core.Cell.prototype.cljs$core$ISwap$_swap_BANG_$arity$2=function(a,b){return cljs.core.reset_BANG_.call(null,this,b.call(null,this.state))};javelin.core.Cell.prototype.cljs$core$ISwap$_swap_BANG_$arity$3=function(a,b,c){return cljs.core.reset_BANG_.call(null,this,b.call(null,this.state,c))};javelin.core.Cell.prototype.cljs$core$ISwap$_swap_BANG_$arity$4=function(a,b,c,d){return cljs.core.reset_BANG_.call(null,this,b.call(null,this.state,c,d))};
javelin.core.Cell.prototype.cljs$core$ISwap$_swap_BANG_$arity$5=function(a,b,c,d,e){return cljs.core.reset_BANG_.call(null,this,cljs.core.apply.call(null,b,this.state,c,d,e))};
javelin.core.Cell.prototype.cljs$core$IWatchable$_notify_watches$arity$3=function(a,b,c){if(0<this.numwatches){a=cljs.core.seq.call(null,this.watches);for(var d=null,e=0,f=0;;)if(f<e){var g=cljs.core._nth.call(null,d,f),h=cljs.core.nth.call(null,g,0,null);g=cljs.core.nth.call(null,g,1,null);g.call(null,h,this,b,c);f+=1}else if(a=cljs.core.seq.call(null,a))cljs.core.chunked_seq_QMARK_.call(null,a)?(d=cljs.core.chunk_first.call(null,a),a=cljs.core.chunk_rest.call(null,a),h=d,e=cljs.core.count.call(null,
d),d=h):(d=cljs.core.first.call(null,a),h=cljs.core.nth.call(null,d,0,null),g=cljs.core.nth.call(null,d,1,null),g.call(null,h,this,b,c),a=cljs.core.next.call(null,a),d=null,e=0),f=0;else return null}else return null};javelin.core.Cell.prototype.cljs$core$IWatchable$_add_watch$arity$3=function(a,b,c){cljs.core.contains_QMARK_.call(null,this.watches,b)||(this.numwatches+=1);return this.watches=cljs.core.assoc.call(null,this.watches,b,c)};
javelin.core.Cell.prototype.cljs$core$IWatchable$_remove_watch$arity$2=function(a,b){return cljs.core.contains_QMARK_.call(null,this.watches,b)?(--this.numwatches,this.watches=cljs.core.dissoc.call(null,this.watches,b)):null};
javelin.core.Cell.getBasis=function(){return new cljs.core.PersistentVector(null,11,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"meta","meta",-1154898805,null),new cljs.core.Symbol(null,"state","state",-348086572,null),new cljs.core.Symbol(null,"rank","rank",-66196975,null),new cljs.core.Symbol(null,"prev","prev",43462301,null),new cljs.core.Symbol(null,"sources","sources",1319365103,null),new cljs.core.Symbol(null,"sinks","sinks",-1243609492,null),new cljs.core.Symbol(null,
"thunk","thunk",74255732,null),new cljs.core.Symbol(null,"watches","watches",1367433992,null),new cljs.core.Symbol(null,"update","update",-1608859373,null),new cljs.core.Symbol(null,"constant","constant",1260922224,null),new cljs.core.Symbol(null,"numwatches","numwatches",2058987374,null)],null)};javelin.core.Cell.cljs$lang$type=!0;javelin.core.Cell.cljs$lang$ctorStr="javelin.core/Cell";javelin.core.Cell.cljs$lang$ctorPrWriter=function(a,b,c){return cljs.core._write.call(null,b,"javelin.core/Cell")};
javelin.core.__GT_Cell=function(a,b,c,d,e,f,g,h,k,l,m){return new javelin.core.Cell(a,b,c,d,e,f,g,h,k,l,m)};javelin.core.cell_QMARK_=function(a){return cljs.core._EQ_.call(null,cljs.core.type.call(null,a),javelin.core.Cell)?a:null};javelin.core.formula_QMARK_=function(a){return cljs.core.truth_(function(){var b=javelin.core.cell_QMARK_.call(null,a);return cljs.core.truth_(b)?a.thunk:b}())?a:null};
javelin.core.lens_QMARK_=function(a){return cljs.core.truth_(function(){var b=javelin.core.cell_QMARK_.call(null,a);return cljs.core.truth_(b)?a.update:b}())?a:null};javelin.core.input_QMARK_=function(a){return cljs.core.truth_(function(){var b=javelin.core.cell_QMARK_.call(null,a);return cljs.core.truth_(b)?cljs.core.not.call(null,javelin.core.formula_QMARK_.call(null,a)):b}())?a:null};
javelin.core.constant_QMARK_=function(a){return cljs.core.truth_(function(){var b=javelin.core.cell_QMARK_.call(null,a);return cljs.core.truth_(b)?a.constant:b}())?a:null};javelin.core.set_cell_BANG_=function(a,b){a.state=b;return javelin.core.set_formula_BANG_.call(null,a)};
javelin.core.formula=function(a){switch(arguments.length){case 1:return javelin.core.formula.cljs$core$IFn$_invoke$arity$1(arguments[0]);case 2:return javelin.core.formula.cljs$core$IFn$_invoke$arity$2(arguments[0],arguments[1]);default:throw Error(["Invalid arity: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(""));}};javelin.core.formula.cljs$core$IFn$_invoke$arity$1=function(a){return javelin.core.formula.call(null,a,null)};
javelin.core.formula.cljs$core$IFn$_invoke$arity$2=function(a,b){return function(){return javelin.core.set_formula_BANG__STAR_.call(null,javelin.core.cell.call(null,new cljs.core.Keyword("javelin.core","none","javelin.core/none",1150337088)),a,Array.prototype.slice.call(arguments),b)}};javelin.core.formula.cljs$lang$maxFixedArity=2;javelin.core.lens=function(a,b){return javelin.core.formula.call(null,cljs.core.identity,b).call(null,a)};
javelin.core.cell=function(a){switch(arguments.length){case 1:return javelin.core.cell.cljs$core$IFn$_invoke$arity$1(arguments[0]);default:for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;b=new cljs.core.IndexedSeq(b.slice(1),0,null);return javelin.core.cell.cljs$core$IFn$_invoke$arity$variadic(arguments[0],b)}};
javelin.core.cell.cljs$core$IFn$_invoke$arity$1=function(a){return new javelin.core.Cell(null,a,javelin.core.next_rank.call(null),a,[],[],null,cljs.core.PersistentArrayMap.EMPTY,null,!1,0)};
javelin.core.cell.cljs$core$IFn$_invoke$arity$variadic=function(a,b){b=null!=b&&(b.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===b.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,b):b;b=cljs.core.get.call(null,b,new cljs.core.Keyword(null,"meta","meta",1499536964));return new javelin.core.Cell(b,a,javelin.core.next_rank.call(null),a,[],[],null,cljs.core.PersistentArrayMap.EMPTY,null,!1,0)};
javelin.core.cell.cljs$lang$applyTo=function(a){var b=cljs.core.first.call(null,a);a=cljs.core.next.call(null,a);return this.cljs$core$IFn$_invoke$arity$variadic(b,a)};javelin.core.cell.cljs$lang$maxFixedArity=1;javelin.core.lift=javelin.core.formula;
javelin.core.dosync_STAR_=function(a){if(cljs.core.truth_(javelin.core._STAR_tx_STAR_))return a.call(null);var b=javelin.core._STAR_tx_STAR_;javelin.core._STAR_tx_STAR_=[];try{a.call(null);var c=javelin.core._STAR_tx_STAR_,d=javelin.core._STAR_tx_STAR_;javelin.core._STAR_tx_STAR_=null;try{return javelin.core.propagate_STAR_.call(null,c)}finally{javelin.core._STAR_tx_STAR_=d}}finally{javelin.core._STAR_tx_STAR_=b}};
javelin.core.alts_BANG_=function(a){for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;b=0<b.length?new cljs.core.IndexedSeq(b.slice(0),0,null):null;return javelin.core.alts_BANG_.cljs$core$IFn$_invoke$arity$variadic(b)};
javelin.core.alts_BANG_.cljs$core$IFn$_invoke$arity$variadic=function(a){var b=cljs.core.atom.call(null,cljs.core.repeat.call(null,cljs.core.count.call(null,a),new cljs.core.Keyword("javelin.core","none","javelin.core/none",1150337088))),c=function(a){return function(a,b){return new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[cljs.core.not_EQ_.call(null,a,b),b],null)}}(b),d=function(a,b){return function(a,c){return cljs.core.distinct.call(null,cljs.core.map.call(null,
cljs.core.second,cljs.core.filter.call(null,cljs.core.first,cljs.core.map.call(null,b,a,c))))}}(b,c);b=function(a,b,c){return function(){var b=function(b){var d=c.call(null,cljs.core.deref.call(null,a),b);cljs.core.reset_BANG_.call(null,a,b);return d},d=function(a){var c=null;if(0<arguments.length){c=0;for(var d=Array(arguments.length-0);c<d.length;)d[c]=arguments[c+0],++c;c=new cljs.core.IndexedSeq(d,0,null)}return b.call(this,c)};d.cljs$lang$maxFixedArity=0;d.cljs$lang$applyTo=function(a){a=cljs.core.seq(a);
return b(a)};d.cljs$core$IFn$_invoke$arity$variadic=b;return d}()}(b,c,d);return cljs.core.apply.call(null,javelin.core.formula.call(null,b),a)};javelin.core.alts_BANG_.cljs$lang$maxFixedArity=0;javelin.core.alts_BANG_.cljs$lang$applyTo=function(a){return this.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq.call(null,a))};
javelin.core.cell_map=function(a,b){b=javelin.core.formula.call(null,cljs.core.seq).call(null,b);return cljs.core.map.call(null,function(b){return function(c){return javelin.core.formula.call(null,cljs.core.comp.call(null,a,javelin.core.safe_nth)).call(null,b,c)}}(b),cljs.core.range.call(null,0,cljs.core.count.call(null,cljs.core.deref.call(null,b))))};
javelin.core.cell_doseq_STAR_=function(a,b){var c=cljs.core.atom.call(null,0);return javelin.core.formula.call(null,function(c){return function(d){d=cljs.core.count.call(null,d);if(cljs.core.deref.call(null,c)<d){for(var e=d-cljs.core.deref.call(null,c),g=0;;)if(g<e)b.call(null,javelin.core.formula.call(null,javelin.core.safe_nth).call(null,a,g+cljs.core.deref.call(null,c))),g+=1;else break;return cljs.core.reset_BANG_.call(null,c,d)}return null}}(c)).call(null,a)};var clojure={set:{}};clojure.set.bubble_max_key=function(a,b){a=cljs.core.apply.call(null,cljs.core.max_key,a,b);return cljs.core.cons.call(null,a,cljs.core.remove.call(null,function(a){return function(b){return a===b}}(a),b))};
clojure.set.union=function(a){switch(arguments.length){case 0:return clojure.set.union.cljs$core$IFn$_invoke$arity$0();case 1:return clojure.set.union.cljs$core$IFn$_invoke$arity$1(arguments[0]);case 2:return clojure.set.union.cljs$core$IFn$_invoke$arity$2(arguments[0],arguments[1]);default:for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;b=new cljs.core.IndexedSeq(b.slice(2),0,null);return clojure.set.union.cljs$core$IFn$_invoke$arity$variadic(arguments[0],arguments[1],
b)}};clojure.set.union.cljs$core$IFn$_invoke$arity$0=function(){return cljs.core.PersistentHashSet.EMPTY};clojure.set.union.cljs$core$IFn$_invoke$arity$1=function(a){return a};clojure.set.union.cljs$core$IFn$_invoke$arity$2=function(a,b){return cljs.core.count.call(null,a)<cljs.core.count.call(null,b)?cljs.core.reduce.call(null,cljs.core.conj,b,a):cljs.core.reduce.call(null,cljs.core.conj,a,b)};
clojure.set.union.cljs$core$IFn$_invoke$arity$variadic=function(a,b,c){a=clojure.set.bubble_max_key.call(null,cljs.core.count,cljs.core.conj.call(null,c,b,a));return cljs.core.reduce.call(null,cljs.core.into,cljs.core.first.call(null,a),cljs.core.rest.call(null,a))};clojure.set.union.cljs$lang$applyTo=function(a){var b=cljs.core.first.call(null,a),c=cljs.core.next.call(null,a);a=cljs.core.first.call(null,c);c=cljs.core.next.call(null,c);return this.cljs$core$IFn$_invoke$arity$variadic(b,a,c)};
clojure.set.union.cljs$lang$maxFixedArity=2;
clojure.set.intersection=function(a){switch(arguments.length){case 1:return clojure.set.intersection.cljs$core$IFn$_invoke$arity$1(arguments[0]);case 2:return clojure.set.intersection.cljs$core$IFn$_invoke$arity$2(arguments[0],arguments[1]);default:for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;b=new cljs.core.IndexedSeq(b.slice(2),0,null);return clojure.set.intersection.cljs$core$IFn$_invoke$arity$variadic(arguments[0],arguments[1],b)}};
clojure.set.intersection.cljs$core$IFn$_invoke$arity$1=function(a){return a};clojure.set.intersection.cljs$core$IFn$_invoke$arity$2=function(a,b){for(;;)if(cljs.core.count.call(null,b)<cljs.core.count.call(null,a)){var c=a;a=b;b=c}else return cljs.core.reduce.call(null,function(a,b){return function(a,c){return cljs.core.contains_QMARK_.call(null,b,c)?a:cljs.core.disj.call(null,a,c)}}(a,b),a,a)};
clojure.set.intersection.cljs$core$IFn$_invoke$arity$variadic=function(a,b,c){a=clojure.set.bubble_max_key.call(null,function(a){return-cljs.core.count.call(null,a)},cljs.core.conj.call(null,c,b,a));return cljs.core.reduce.call(null,clojure.set.intersection,cljs.core.first.call(null,a),cljs.core.rest.call(null,a))};
clojure.set.intersection.cljs$lang$applyTo=function(a){var b=cljs.core.first.call(null,a),c=cljs.core.next.call(null,a);a=cljs.core.first.call(null,c);c=cljs.core.next.call(null,c);return this.cljs$core$IFn$_invoke$arity$variadic(b,a,c)};clojure.set.intersection.cljs$lang$maxFixedArity=2;
clojure.set.difference=function(a){switch(arguments.length){case 1:return clojure.set.difference.cljs$core$IFn$_invoke$arity$1(arguments[0]);case 2:return clojure.set.difference.cljs$core$IFn$_invoke$arity$2(arguments[0],arguments[1]);default:for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;b=new cljs.core.IndexedSeq(b.slice(2),0,null);return clojure.set.difference.cljs$core$IFn$_invoke$arity$variadic(arguments[0],arguments[1],b)}};
clojure.set.difference.cljs$core$IFn$_invoke$arity$1=function(a){return a};clojure.set.difference.cljs$core$IFn$_invoke$arity$2=function(a,b){return cljs.core.count.call(null,a)<cljs.core.count.call(null,b)?cljs.core.reduce.call(null,function(a,d){return cljs.core.contains_QMARK_.call(null,b,d)?cljs.core.disj.call(null,a,d):a},a,a):cljs.core.reduce.call(null,cljs.core.disj,a,b)};
clojure.set.difference.cljs$core$IFn$_invoke$arity$variadic=function(a,b,c){return cljs.core.reduce.call(null,clojure.set.difference,a,cljs.core.conj.call(null,c,b))};clojure.set.difference.cljs$lang$applyTo=function(a){var b=cljs.core.first.call(null,a),c=cljs.core.next.call(null,a);a=cljs.core.first.call(null,c);c=cljs.core.next.call(null,c);return this.cljs$core$IFn$_invoke$arity$variadic(b,a,c)};clojure.set.difference.cljs$lang$maxFixedArity=2;
clojure.set.select=function(a,b){return cljs.core.reduce.call(null,function(b,d){return cljs.core.truth_(a.call(null,d))?b:cljs.core.disj.call(null,b,d)},b,b)};clojure.set.project=function(a,b){return cljs.core.set.call(null,cljs.core.map.call(null,function(a){return cljs.core.select_keys.call(null,a,b)},a))};
clojure.set.rename_keys=function(a,b){return cljs.core.reduce.call(null,function(b,d){var c=cljs.core.nth.call(null,d,0,null);d=cljs.core.nth.call(null,d,1,null);return cljs.core.contains_QMARK_.call(null,a,c)?cljs.core.assoc.call(null,b,d,cljs.core.get.call(null,a,c)):b},cljs.core.apply.call(null,cljs.core.dissoc,a,cljs.core.keys.call(null,b)),b)};clojure.set.rename=function(a,b){return cljs.core.set.call(null,cljs.core.map.call(null,function(a){return clojure.set.rename_keys.call(null,a,b)},a))};
clojure.set.index=function(a,b){return cljs.core.reduce.call(null,function(a,d){var c=cljs.core.select_keys.call(null,d,b);return cljs.core.assoc.call(null,a,c,cljs.core.conj.call(null,cljs.core.get.call(null,a,c,cljs.core.PersistentHashSet.EMPTY),d))},cljs.core.PersistentArrayMap.EMPTY,a)};
clojure.set.map_invert=function(a){return cljs.core.reduce.call(null,function(a,c){var b=cljs.core.nth.call(null,c,0,null);c=cljs.core.nth.call(null,c,1,null);return cljs.core.assoc.call(null,a,c,b)},cljs.core.PersistentArrayMap.EMPTY,a)};
clojure.set.join=function(a){switch(arguments.length){case 2:return clojure.set.join.cljs$core$IFn$_invoke$arity$2(arguments[0],arguments[1]);case 3:return clojure.set.join.cljs$core$IFn$_invoke$arity$3(arguments[0],arguments[1],arguments[2]);default:throw Error(["Invalid arity: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(""));}};
clojure.set.join.cljs$core$IFn$_invoke$arity$2=function(a,b){if(cljs.core.seq.call(null,a)&&cljs.core.seq.call(null,b)){var c=clojure.set.intersection.call(null,cljs.core.set.call(null,cljs.core.keys.call(null,cljs.core.first.call(null,a))),cljs.core.set.call(null,cljs.core.keys.call(null,cljs.core.first.call(null,b))));a=cljs.core.count.call(null,a)<=cljs.core.count.call(null,b)?new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[a,b],null):new cljs.core.PersistentVector(null,
2,5,cljs.core.PersistentVector.EMPTY_NODE,[b,a],null);b=cljs.core.nth.call(null,a,0,null);var d=cljs.core.nth.call(null,a,1,null),e=clojure.set.index.call(null,b,c);return cljs.core.reduce.call(null,function(a,b,c,d,e){return function(f,g){var h=e.call(null,cljs.core.select_keys.call(null,g,a));return cljs.core.truth_(h)?cljs.core.reduce.call(null,function(a,b,c,d,e,f){return function(a,b){return cljs.core.conj.call(null,a,cljs.core.merge.call(null,b,g))}}(h,a,b,c,d,e),f,h):f}}(c,a,b,d,e),cljs.core.PersistentHashSet.EMPTY,
d)}return cljs.core.PersistentHashSet.EMPTY};
clojure.set.join.cljs$core$IFn$_invoke$arity$3=function(a,b,c){a=cljs.core.count.call(null,a)<=cljs.core.count.call(null,b)?new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,[a,b,clojure.set.map_invert.call(null,c)],null):new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,[b,a,c],null);b=cljs.core.nth.call(null,a,0,null);c=cljs.core.nth.call(null,a,1,null);var d=cljs.core.nth.call(null,a,2,null),e=clojure.set.index.call(null,b,cljs.core.vals.call(null,
d));return cljs.core.reduce.call(null,function(a,b,c,d,e){return function(f,g){var h=e.call(null,clojure.set.rename_keys.call(null,cljs.core.select_keys.call(null,g,cljs.core.keys.call(null,d)),d));return cljs.core.truth_(h)?cljs.core.reduce.call(null,function(a,b,c,d,e,f){return function(a,b){return cljs.core.conj.call(null,a,cljs.core.merge.call(null,b,g))}}(h,a,b,c,d,e),f,h):f}}(a,b,c,d,e),cljs.core.PersistentHashSet.EMPTY,c)};clojure.set.join.cljs$lang$maxFixedArity=3;
clojure.set.subset_QMARK_=function(a,b){return cljs.core.count.call(null,a)<=cljs.core.count.call(null,b)&&cljs.core.every_QMARK_.call(null,function(a){return cljs.core.contains_QMARK_.call(null,b,a)},a)};clojure.set.superset_QMARK_=function(a,b){return cljs.core.count.call(null,a)>=cljs.core.count.call(null,b)&&cljs.core.every_QMARK_.call(null,function(b){return cljs.core.contains_QMARK_.call(null,a,b)},b)};clojure.string={};clojure.string.seq_reverse=function(a){return cljs.core.reduce.call(null,cljs.core.conj,cljs.core.List.EMPTY,a)};clojure.string.re_surrogate_pair=/([\uD800-\uDBFF])([\uDC00-\uDFFF])/g;clojure.string.reverse=function(a){return a.replace(clojure.string.re_surrogate_pair,"$2$1").split("").reverse().join("")};
clojure.string.replace_all=function(a,b,c){var d=RegExp,e=b.source;var f=cljs.core.truth_(b.ignoreCase)?"gi":"g";f=cljs.core.truth_(b.multiline)?[f,"m"].join(""):f;b=cljs.core.truth_(b.unicode)?[f,"u"].join(""):f;d=new d(e,b);return a.replace(d,c)};
clojure.string.replace_with=function(a){return function(){var b=function(b){b=cljs.core.drop_last.call(null,2,b);return cljs.core._EQ_.call(null,cljs.core.count.call(null,b),1)?a.call(null,cljs.core.first.call(null,b)):a.call(null,cljs.core.vec.call(null,b))},c=function(a){var c=null;if(0<arguments.length){c=0;for(var d=Array(arguments.length-0);c<d.length;)d[c]=arguments[c+0],++c;c=new cljs.core.IndexedSeq(d,0,null)}return b.call(this,c)};c.cljs$lang$maxFixedArity=0;c.cljs$lang$applyTo=function(a){a=
cljs.core.seq(a);return b(a)};c.cljs$core$IFn$_invoke$arity$variadic=b;return c}()};clojure.string.replace=function(a,b,c){if("string"===typeof b)return a.replace(new RegExp(goog.string.regExpEscape(b),"g"),c);if(b instanceof RegExp)return"string"===typeof c?clojure.string.replace_all.call(null,a,b,c):clojure.string.replace_all.call(null,a,b,clojure.string.replace_with.call(null,c));throw["Invalid match arg: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(b)].join("");};
clojure.string.replace_first=function(a,b,c){return a.replace(b,c)};clojure.string.join=function(a){switch(arguments.length){case 1:return clojure.string.join.cljs$core$IFn$_invoke$arity$1(arguments[0]);case 2:return clojure.string.join.cljs$core$IFn$_invoke$arity$2(arguments[0],arguments[1]);default:throw Error(["Invalid arity: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(""));}};
clojure.string.join.cljs$core$IFn$_invoke$arity$1=function(a){var b=new goog.string.StringBuffer;for(a=cljs.core.seq.call(null,a);;)if(null!=a)b=b.append(cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.core.first.call(null,a))),a=cljs.core.next.call(null,a);else return b.toString()};
clojure.string.join.cljs$core$IFn$_invoke$arity$2=function(a,b){var c=new goog.string.StringBuffer;for(b=cljs.core.seq.call(null,b);;)if(null!=b)c.append(cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.core.first.call(null,b))),b=cljs.core.next.call(null,b),null!=b&&c.append(a);else return c.toString()};clojure.string.join.cljs$lang$maxFixedArity=2;clojure.string.upper_case=function(a){return a.toUpperCase()};clojure.string.lower_case=function(a){return a.toLowerCase()};
clojure.string.capitalize=function(a){return goog.string.capitalize(a)};clojure.string.pop_last_while_empty=function(a){for(;;)if(""===cljs.core.peek.call(null,a))a=cljs.core.pop.call(null,a);else return a};clojure.string.discard_trailing_if_needed=function(a,b){return 0===a&&1<cljs.core.count.call(null,b)?clojure.string.pop_last_while_empty.call(null,b):b};
clojure.string.split_with_empty_regex=function(a,b){if(0>=b||b>=2+cljs.core.count.call(null,a))return cljs.core.conj.call(null,cljs.core.vec.call(null,cljs.core.cons.call(null,"",cljs.core.map.call(null,cljs.core.str,cljs.core.seq.call(null,a)))),"");var c=cljs.core._EQ__EQ_;if(cljs.core.truth_(c.call(null,1,b)))return new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[a],null);if(cljs.core.truth_(c.call(null,2,b)))return new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,
["",a],null);b-=2;return cljs.core.conj.call(null,cljs.core.vec.call(null,cljs.core.cons.call(null,"",cljs.core.subvec.call(null,cljs.core.vec.call(null,cljs.core.map.call(null,cljs.core.str,cljs.core.seq.call(null,a))),0,b))),cljs.core.subs.call(null,a,b))};
clojure.string.split=function(a){switch(arguments.length){case 2:return clojure.string.split.cljs$core$IFn$_invoke$arity$2(arguments[0],arguments[1]);case 3:return clojure.string.split.cljs$core$IFn$_invoke$arity$3(arguments[0],arguments[1],arguments[2]);default:throw Error(["Invalid arity: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(""));}};clojure.string.split.cljs$core$IFn$_invoke$arity$2=function(a,b){return clojure.string.split.call(null,a,b,0)};
clojure.string.split.cljs$core$IFn$_invoke$arity$3=function(a,b,c){return clojure.string.discard_trailing_if_needed.call(null,c,"/(?:)/"===cljs.core.str.cljs$core$IFn$_invoke$arity$1(b)?clojure.string.split_with_empty_regex.call(null,a,c):1>c?cljs.core.vec.call(null,cljs.core.str.cljs$core$IFn$_invoke$arity$1(a).split(b)):function(){for(var d=a,e=c,f=cljs.core.PersistentVector.EMPTY;;){if(1===e)return cljs.core.conj.call(null,f,d);var g=cljs.core.re_find.call(null,b,d);if(null!=g){var h=d.indexOf(g);
g=d.substring(h+cljs.core.count.call(null,g));--e;f=cljs.core.conj.call(null,f,d.substring(0,h));d=g}else return cljs.core.conj.call(null,f,d)}}())};clojure.string.split.cljs$lang$maxFixedArity=3;clojure.string.split_lines=function(a){return clojure.string.split.call(null,a,/\n|\r\n/)};clojure.string.trim=function(a){return goog.string.trim(a)};clojure.string.triml=function(a){return goog.string.trimLeft(a)};clojure.string.trimr=function(a){return goog.string.trimRight(a)};
clojure.string.trim_newline=function(a){for(var b=a.length;;){if(0===b)return"";var c=cljs.core.get.call(null,a,b-1);if("\n"===c||"\r"===c)--b;else return a.substring(0,b)}};clojure.string.blank_QMARK_=function(a){return goog.string.isEmptySafe(a)};clojure.string.escape=function(a,b){for(var c=new goog.string.StringBuffer,d=a.length,e=0;;){if(d===e)return c.toString();var f=a.charAt(e),g=cljs.core.get.call(null,b,f);null!=g?c.append(cljs.core.str.cljs$core$IFn$_invoke$arity$1(g)):c.append(f);e+=1}};
clojure.string.index_of=function(a){switch(arguments.length){case 2:return clojure.string.index_of.cljs$core$IFn$_invoke$arity$2(arguments[0],arguments[1]);case 3:return clojure.string.index_of.cljs$core$IFn$_invoke$arity$3(arguments[0],arguments[1],arguments[2]);default:throw Error(["Invalid arity: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(""));}};clojure.string.index_of.cljs$core$IFn$_invoke$arity$2=function(a,b){a=a.indexOf(b);return 0>a?null:a};
clojure.string.index_of.cljs$core$IFn$_invoke$arity$3=function(a,b,c){a=a.indexOf(b,c);return 0>a?null:a};clojure.string.index_of.cljs$lang$maxFixedArity=3;
clojure.string.last_index_of=function(a){switch(arguments.length){case 2:return clojure.string.last_index_of.cljs$core$IFn$_invoke$arity$2(arguments[0],arguments[1]);case 3:return clojure.string.last_index_of.cljs$core$IFn$_invoke$arity$3(arguments[0],arguments[1],arguments[2]);default:throw Error(["Invalid arity: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(""));}};
clojure.string.last_index_of.cljs$core$IFn$_invoke$arity$2=function(a,b){a=a.lastIndexOf(b);return 0>a?null:a};clojure.string.last_index_of.cljs$core$IFn$_invoke$arity$3=function(a,b,c){a=a.lastIndexOf(b,c);return 0>a?null:a};clojure.string.last_index_of.cljs$lang$maxFixedArity=3;clojure.string.starts_with_QMARK_=function(a,b){return goog.string.startsWith(a,b)};clojure.string.ends_with_QMARK_=function(a,b){return goog.string.endsWith(a,b)};
clojure.string.includes_QMARK_=function(a,b){return goog.string.contains(a,b)};cljs.tools={};cljs.tools.reader={};cljs.tools.reader.impl={};cljs.tools.reader.impl.utils={};cljs.tools.reader.impl.utils.char$=function(a){return null==a?null:cljs.core.char$.call(null,a)};cljs.tools.reader.impl.utils.ex_info_QMARK_=function(a){return a instanceof cljs.core.ExceptionInfo};
cljs.tools.reader.impl.utils.ReaderConditional=function(a,b,c,d,e){this.splicing_QMARK_=a;this.form=b;this.__meta=c;this.__extmap=d;this.__hash=e;this.cljs$lang$protocol_mask$partition0$=2230716170;this.cljs$lang$protocol_mask$partition1$=139264};cljs.tools.reader.impl.utils.ReaderConditional.prototype.cljs$core$ILookup$_lookup$arity$2=function(a,b){return this.cljs$core$ILookup$_lookup$arity$3(null,b,null)};
cljs.tools.reader.impl.utils.ReaderConditional.prototype.cljs$core$ILookup$_lookup$arity$3=function(a,b,c){switch(b instanceof cljs.core.Keyword?b.fqn:null){case "splicing?":return this.splicing_QMARK_;case "form":return this.form;default:return cljs.core.get.call(null,this.__extmap,b,c)}};
cljs.tools.reader.impl.utils.ReaderConditional.prototype.cljs$core$IKVReduce$_kv_reduce$arity$3=function(a,b,c){return cljs.core.reduce.call(null,function(a){return function(a,c){var d=cljs.core.nth.call(null,c,0,null);c=cljs.core.nth.call(null,c,1,null);return b.call(null,a,d,c)}}(this),c,this)};
cljs.tools.reader.impl.utils.ReaderConditional.prototype.cljs$core$IPrintWithWriter$_pr_writer$arity$3=function(a,b,c){a=function(a){return function(a){return cljs.core.pr_sequential_writer.call(null,b,cljs.core.pr_writer,""," ","",c,a)}}(this);return cljs.core.pr_sequential_writer.call(null,b,a,"#cljs.tools.reader.impl.utils.ReaderConditional{",", ","}",c,cljs.core.concat.call(null,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.PersistentVector(null,
2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"splicing?","splicing?",-428596366),this.splicing_QMARK_],null),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"form","form",-1624062471),this.form],null)],null),this.__extmap))};
cljs.tools.reader.impl.utils.ReaderConditional.prototype.cljs$core$IIterable$_iterator$arity$1=function(a){return new cljs.core.RecordIter(0,this,2,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"splicing?","splicing?",-428596366),new cljs.core.Keyword(null,"form","form",-1624062471)],null),cljs.core.truth_(this.__extmap)?cljs.core._iterator.call(null,this.__extmap):cljs.core.nil_iter.call(null))};
cljs.tools.reader.impl.utils.ReaderConditional.prototype.cljs$core$IMeta$_meta$arity$1=function(a){return this.__meta};cljs.tools.reader.impl.utils.ReaderConditional.prototype.cljs$core$ICloneable$_clone$arity$1=function(a){return new cljs.tools.reader.impl.utils.ReaderConditional(this.splicing_QMARK_,this.form,this.__meta,this.__extmap,this.__hash)};cljs.tools.reader.impl.utils.ReaderConditional.prototype.cljs$core$ICounted$_count$arity$1=function(a){return 2+cljs.core.count.call(null,this.__extmap)};
cljs.tools.reader.impl.utils.ReaderConditional.prototype.cljs$core$IHash$_hash$arity$1=function(a){a=this.__hash;return null!=a?a:this.__hash=a=function(a,c){return function(a){return-209062840^cljs.core.hash_unordered_coll.call(null,a)}}(a,this).call(null,this)};
cljs.tools.reader.impl.utils.ReaderConditional.prototype.cljs$core$IEquiv$_equiv$arity$2=function(a,b){return null!=b&&this.constructor===b.constructor&&cljs.core._EQ_.call(null,this.splicing_QMARK_,b.splicing_QMARK_)&&cljs.core._EQ_.call(null,this.form,b.form)&&cljs.core._EQ_.call(null,this.__extmap,b.__extmap)};
cljs.tools.reader.impl.utils.ReaderConditional.prototype.cljs$core$IMap$_dissoc$arity$2=function(a,b){return cljs.core.contains_QMARK_.call(null,new cljs.core.PersistentHashSet(null,new cljs.core.PersistentArrayMap(null,2,[new cljs.core.Keyword(null,"splicing?","splicing?",-428596366),null,new cljs.core.Keyword(null,"form","form",-1624062471),null],null),null),b)?cljs.core.dissoc.call(null,cljs.core._with_meta.call(null,cljs.core.into.call(null,cljs.core.PersistentArrayMap.EMPTY,this),this.__meta),
b):new cljs.tools.reader.impl.utils.ReaderConditional(this.splicing_QMARK_,this.form,this.__meta,cljs.core.not_empty.call(null,cljs.core.dissoc.call(null,this.__extmap,b)),null)};
cljs.tools.reader.impl.utils.ReaderConditional.prototype.cljs$core$IAssociative$_assoc$arity$3=function(a,b,c){a=cljs.core.keyword_identical_QMARK_;return cljs.core.truth_(a.call(null,new cljs.core.Keyword(null,"splicing?","splicing?",-428596366),b))?new cljs.tools.reader.impl.utils.ReaderConditional(c,this.form,this.__meta,this.__extmap,null):cljs.core.truth_(a.call(null,new cljs.core.Keyword(null,"form","form",-1624062471),b))?new cljs.tools.reader.impl.utils.ReaderConditional(this.splicing_QMARK_,
c,this.__meta,this.__extmap,null):new cljs.tools.reader.impl.utils.ReaderConditional(this.splicing_QMARK_,this.form,this.__meta,cljs.core.assoc.call(null,this.__extmap,b,c),null)};
cljs.tools.reader.impl.utils.ReaderConditional.prototype.cljs$core$ISeqable$_seq$arity$1=function(a){return cljs.core.seq.call(null,cljs.core.concat.call(null,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.MapEntry(new cljs.core.Keyword(null,"splicing?","splicing?",-428596366),this.splicing_QMARK_,null),new cljs.core.MapEntry(new cljs.core.Keyword(null,"form","form",-1624062471),this.form,null)],null),this.__extmap))};
cljs.tools.reader.impl.utils.ReaderConditional.prototype.cljs$core$IWithMeta$_with_meta$arity$2=function(a,b){return new cljs.tools.reader.impl.utils.ReaderConditional(this.splicing_QMARK_,this.form,b,this.__extmap,this.__hash)};
cljs.tools.reader.impl.utils.ReaderConditional.prototype.cljs$core$ICollection$_conj$arity$2=function(a,b){return cljs.core.vector_QMARK_.call(null,b)?this.cljs$core$IAssociative$_assoc$arity$3(null,cljs.core._nth.call(null,b,0),cljs.core._nth.call(null,b,1)):cljs.core.reduce.call(null,cljs.core._conj,this,b)};
cljs.tools.reader.impl.utils.ReaderConditional.getBasis=function(){return new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"splicing?","splicing?",1211935161,null),new cljs.core.Symbol(null,"form","form",16469056,null)],null)};cljs.tools.reader.impl.utils.ReaderConditional.cljs$lang$type=!0;
cljs.tools.reader.impl.utils.ReaderConditional.cljs$lang$ctorPrSeq=function(a){return new cljs.core.List(null,"cljs.tools.reader.impl.utils/ReaderConditional",null,1,null)};cljs.tools.reader.impl.utils.ReaderConditional.cljs$lang$ctorPrWriter=function(a,b){return cljs.core._write.call(null,b,"cljs.tools.reader.impl.utils/ReaderConditional")};cljs.tools.reader.impl.utils.__GT_ReaderConditional=function(a,b){return new cljs.tools.reader.impl.utils.ReaderConditional(a,b,null,null,null)};
cljs.tools.reader.impl.utils.map__GT_ReaderConditional=function(a){var b=cljs.core.dissoc.call(null,a,new cljs.core.Keyword(null,"splicing?","splicing?",-428596366),new cljs.core.Keyword(null,"form","form",-1624062471));b=cljs.core.record_QMARK_.call(null,a)?cljs.core.into.call(null,cljs.core.PersistentArrayMap.EMPTY,b):b;return new cljs.tools.reader.impl.utils.ReaderConditional((new cljs.core.Keyword(null,"splicing?","splicing?",-428596366)).cljs$core$IFn$_invoke$arity$1(a),(new cljs.core.Keyword(null,
"form","form",-1624062471)).cljs$core$IFn$_invoke$arity$1(a),null,cljs.core.not_empty.call(null,b),null)};cljs.tools.reader.impl.utils.reader_conditional_QMARK_=function(a){return a instanceof cljs.tools.reader.impl.utils.ReaderConditional};cljs.tools.reader.impl.utils.reader_conditional=function(a,b){return new cljs.tools.reader.impl.utils.ReaderConditional(b,a,null,null,null)};cljs.tools.reader.impl.utils.ReaderConditional.prototype.cljs$core$IPrintWithWriter$=cljs.core.PROTOCOL_SENTINEL;
cljs.tools.reader.impl.utils.ReaderConditional.prototype.cljs$core$IPrintWithWriter$_pr_writer$arity$3=function(a,b,c){cljs.core._write.call(null,b,["#?",cljs.core.truth_((new cljs.core.Keyword(null,"splicing?","splicing?",-428596366)).cljs$core$IFn$_invoke$arity$1(this))?"@":null].join(""));return cljs.core.pr_writer.call(null,(new cljs.core.Keyword(null,"form","form",-1624062471)).cljs$core$IFn$_invoke$arity$1(this),b,c)};cljs.tools.reader.impl.utils.ws_rx=/[\s]/;
cljs.tools.reader.impl.utils.whitespace_QMARK_=function(a){return null==a?null:","===a?!0:cljs.tools.reader.impl.utils.ws_rx.test(a)};cljs.tools.reader.impl.utils.numeric_QMARK_=function(a){return null==a?null:goog.string.isNumeric(a)};cljs.tools.reader.impl.utils.newline_QMARK_=function(a){return"\n"===a||"\n"===a||null==a};
cljs.tools.reader.impl.utils.desugar_meta=function(a){return a instanceof cljs.core.Keyword?cljs.core.PersistentArrayMap.createAsIfByAssoc([a,!0]):a instanceof cljs.core.Symbol?new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"tag","tag",-1290361223),a],null):"string"===typeof a?new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"tag","tag",-1290361223),a],null):a};cljs.tools.reader.impl.utils.last_id=cljs.core.atom.call(null,0);
cljs.tools.reader.impl.utils.next_id=function(){return cljs.core.swap_BANG_.call(null,cljs.tools.reader.impl.utils.last_id,cljs.core.inc)};
cljs.tools.reader.impl.utils.namespace_keys=function(a,b){return function e(b){return new cljs.core.LazySeq(null,function(){for(;;){var d=cljs.core.seq.call(null,b);if(d){if(cljs.core.chunked_seq_QMARK_.call(null,d)){var g=cljs.core.chunk_first.call(null,d),h=cljs.core.count.call(null,g),k=cljs.core.chunk_buffer.call(null,h);return function(){for(var b=0;;)if(b<h){var d=cljs.core._nth.call(null,g,b);cljs.core.chunk_append.call(null,k,d instanceof cljs.core.Symbol||d instanceof cljs.core.Keyword?function(){var b=
cljs.core.juxt.call(null,cljs.core.namespace,cljs.core.name).call(null,d),e=cljs.core.nth.call(null,b,0,null);b=cljs.core.nth.call(null,b,1,null);var f=d instanceof cljs.core.Symbol?cljs.core.symbol:cljs.core.keyword;return null==e?f.call(null,a,b):cljs.core._EQ_.call(null,"_",e)?f.call(null,b):d}():d);b+=1}else return!0}()?cljs.core.chunk_cons.call(null,cljs.core.chunk.call(null,k),e.call(null,cljs.core.chunk_rest.call(null,d))):cljs.core.chunk_cons.call(null,cljs.core.chunk.call(null,k),null)}var l=
cljs.core.first.call(null,d);return cljs.core.cons.call(null,l instanceof cljs.core.Symbol||l instanceof cljs.core.Keyword?function(){var b=cljs.core.juxt.call(null,cljs.core.namespace,cljs.core.name).call(null,l),d=cljs.core.nth.call(null,b,0,null);b=cljs.core.nth.call(null,b,1,null);var e=l instanceof cljs.core.Symbol?cljs.core.symbol:cljs.core.keyword;return null==d?e.call(null,a,b):cljs.core._EQ_.call(null,"_",d)?e.call(null,b):l}():l,e.call(null,cljs.core.rest.call(null,d)))}return null}},null,
null)}.call(null,b)};cljs.tools.reader.impl.utils.second_SINGLEQUOTE_=function(a){var b=cljs.core.nth.call(null,a,0,null);a=cljs.core.nth.call(null,a,1,null);return cljs.core.truth_(b)?null:a};cljs.tools.reader.impl.utils.char_code=function(a,b){a=parseInt(a,b);return cljs.core.truth_(isNaN(a))?-1:a};cljs.tools.reader.reader_types={};cljs.tools.reader.reader_types.Reader=function(){};
cljs.tools.reader.reader_types.read_char=function(a){if(null!=a&&null!=a.cljs$tools$reader$reader_types$Reader$read_char$arity$1)return a.cljs$tools$reader$reader_types$Reader$read_char$arity$1(a);var b=cljs.tools.reader.reader_types.read_char[goog.typeOf(null==a?null:a)];if(null!=b)return b.call(null,a);b=cljs.tools.reader.reader_types.read_char._;if(null!=b)return b.call(null,a);throw cljs.core.missing_protocol.call(null,"Reader.read-char",a);};
cljs.tools.reader.reader_types.peek_char=function(a){if(null!=a&&null!=a.cljs$tools$reader$reader_types$Reader$peek_char$arity$1)return a.cljs$tools$reader$reader_types$Reader$peek_char$arity$1(a);var b=cljs.tools.reader.reader_types.peek_char[goog.typeOf(null==a?null:a)];if(null!=b)return b.call(null,a);b=cljs.tools.reader.reader_types.peek_char._;if(null!=b)return b.call(null,a);throw cljs.core.missing_protocol.call(null,"Reader.peek-char",a);};cljs.tools.reader.reader_types.IPushbackReader=function(){};
cljs.tools.reader.reader_types.unread=function(a,b){if(null!=a&&null!=a.cljs$tools$reader$reader_types$IPushbackReader$unread$arity$2)return a.cljs$tools$reader$reader_types$IPushbackReader$unread$arity$2(a,b);var c=cljs.tools.reader.reader_types.unread[goog.typeOf(null==a?null:a)];if(null!=c)return c.call(null,a,b);c=cljs.tools.reader.reader_types.unread._;if(null!=c)return c.call(null,a,b);throw cljs.core.missing_protocol.call(null,"IPushbackReader.unread",a);};
cljs.tools.reader.reader_types.IndexingReader=function(){};
cljs.tools.reader.reader_types.get_line_number=function(a){if(null!=a&&null!=a.cljs$tools$reader$reader_types$IndexingReader$get_line_number$arity$1)return a.cljs$tools$reader$reader_types$IndexingReader$get_line_number$arity$1(a);var b=cljs.tools.reader.reader_types.get_line_number[goog.typeOf(null==a?null:a)];if(null!=b)return b.call(null,a);b=cljs.tools.reader.reader_types.get_line_number._;if(null!=b)return b.call(null,a);throw cljs.core.missing_protocol.call(null,"IndexingReader.get-line-number",
a);};
cljs.tools.reader.reader_types.get_column_number=function(a){if(null!=a&&null!=a.cljs$tools$reader$reader_types$IndexingReader$get_column_number$arity$1)return a.cljs$tools$reader$reader_types$IndexingReader$get_column_number$arity$1(a);var b=cljs.tools.reader.reader_types.get_column_number[goog.typeOf(null==a?null:a)];if(null!=b)return b.call(null,a);b=cljs.tools.reader.reader_types.get_column_number._;if(null!=b)return b.call(null,a);throw cljs.core.missing_protocol.call(null,"IndexingReader.get-column-number",a);
};cljs.tools.reader.reader_types.get_file_name=function(a){if(null!=a&&null!=a.cljs$tools$reader$reader_types$IndexingReader$get_file_name$arity$1)return a.cljs$tools$reader$reader_types$IndexingReader$get_file_name$arity$1(a);var b=cljs.tools.reader.reader_types.get_file_name[goog.typeOf(null==a?null:a)];if(null!=b)return b.call(null,a);b=cljs.tools.reader.reader_types.get_file_name._;if(null!=b)return b.call(null,a);throw cljs.core.missing_protocol.call(null,"IndexingReader.get-file-name",a);};
cljs.tools.reader.reader_types.StringReader=function(a,b,c){this.s=a;this.s_len=b;this.s_pos=c};cljs.tools.reader.reader_types.StringReader.prototype.cljs$tools$reader$reader_types$Reader$=cljs.core.PROTOCOL_SENTINEL;cljs.tools.reader.reader_types.StringReader.prototype.cljs$tools$reader$reader_types$Reader$read_char$arity$1=function(a){return this.s_len>this.s_pos?(a=this.s.charAt(this.s_pos),this.s_pos+=1,a):null};
cljs.tools.reader.reader_types.StringReader.prototype.cljs$tools$reader$reader_types$Reader$peek_char$arity$1=function(a){return this.s_len>this.s_pos?this.s.charAt(this.s_pos):null};
cljs.tools.reader.reader_types.StringReader.getBasis=function(){return new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"s","s",-948495851,null),new cljs.core.Symbol(null,"s-len","s-len",1869978331,null),cljs.core.with_meta(new cljs.core.Symbol(null,"s-pos","s-pos",-540562492,null),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"mutable","mutable",875778266),!0],null))],null)};
cljs.tools.reader.reader_types.StringReader.cljs$lang$type=!0;cljs.tools.reader.reader_types.StringReader.cljs$lang$ctorStr="cljs.tools.reader.reader-types/StringReader";cljs.tools.reader.reader_types.StringReader.cljs$lang$ctorPrWriter=function(a,b,c){return cljs.core._write.call(null,b,"cljs.tools.reader.reader-types/StringReader")};cljs.tools.reader.reader_types.__GT_StringReader=function(a,b,c){return new cljs.tools.reader.reader_types.StringReader(a,b,c)};
cljs.tools.reader.reader_types.NodeReadableReader=function(a,b){this.readable=a;this.buf=b};cljs.tools.reader.reader_types.NodeReadableReader.prototype.cljs$tools$reader$reader_types$Reader$=cljs.core.PROTOCOL_SENTINEL;
cljs.tools.reader.reader_types.NodeReadableReader.prototype.cljs$tools$reader$reader_types$Reader$read_char$arity$1=function(a){if(cljs.core.truth_(this.buf))return a=this.buf[0],this.buf=null,cljs.tools.reader.impl.utils.char$.call(null,a);a=cljs.core.str.cljs$core$IFn$_invoke$arity$1(this.readable.read(1));return cljs.core.truth_(a)?cljs.tools.reader.impl.utils.char$.call(null,a):null};
cljs.tools.reader.reader_types.NodeReadableReader.prototype.cljs$tools$reader$reader_types$Reader$peek_char$arity$1=function(a){cljs.core.truth_(this.buf)||(this.buf=cljs.core.str.cljs$core$IFn$_invoke$arity$1(this.readable.read(1)));return cljs.core.truth_(this.buf)?cljs.tools.reader.impl.utils.char$.call(null,this.buf[0]):null};
cljs.tools.reader.reader_types.NodeReadableReader.getBasis=function(){return new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"readable","readable",2113054478,null),cljs.core.with_meta(new cljs.core.Symbol(null,"buf","buf",1426618187,null),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"mutable","mutable",875778266),!0],null))],null)};cljs.tools.reader.reader_types.NodeReadableReader.cljs$lang$type=!0;
cljs.tools.reader.reader_types.NodeReadableReader.cljs$lang$ctorStr="cljs.tools.reader.reader-types/NodeReadableReader";cljs.tools.reader.reader_types.NodeReadableReader.cljs$lang$ctorPrWriter=function(a,b,c){return cljs.core._write.call(null,b,"cljs.tools.reader.reader-types/NodeReadableReader")};cljs.tools.reader.reader_types.__GT_NodeReadableReader=function(a,b){return new cljs.tools.reader.reader_types.NodeReadableReader(a,b)};
cljs.tools.reader.reader_types.PushbackReader=function(a,b,c,d){this.rdr=a;this.buf=b;this.buf_len=c;this.buf_pos=d};cljs.tools.reader.reader_types.PushbackReader.prototype.cljs$tools$reader$reader_types$Reader$=cljs.core.PROTOCOL_SENTINEL;
cljs.tools.reader.reader_types.PushbackReader.prototype.cljs$tools$reader$reader_types$Reader$read_char$arity$1=function(a){a=this.buf_pos<this.buf_len?this.buf[this.buf_pos]:cljs.tools.reader.reader_types.read_char.call(null,this.rdr);this.buf_pos<this.buf_len&&(this.buf_pos+=1);return cljs.tools.reader.impl.utils.char$.call(null,a)};
cljs.tools.reader.reader_types.PushbackReader.prototype.cljs$tools$reader$reader_types$Reader$peek_char$arity$1=function(a){a=this.buf_pos<this.buf_len?this.buf[this.buf_pos]:cljs.tools.reader.reader_types.peek_char.call(null,this.rdr);return cljs.tools.reader.impl.utils.char$.call(null,a)};cljs.tools.reader.reader_types.PushbackReader.prototype.cljs$tools$reader$reader_types$IPushbackReader$=cljs.core.PROTOCOL_SENTINEL;
cljs.tools.reader.reader_types.PushbackReader.prototype.cljs$tools$reader$reader_types$IPushbackReader$unread$arity$2=function(a,b){if(cljs.core.truth_(b)){if(0===this.buf_pos)throw Error("Pushback buffer is full");--this.buf_pos;return this.buf[this.buf_pos]=b}return null};
cljs.tools.reader.reader_types.PushbackReader.getBasis=function(){return new cljs.core.PersistentVector(null,4,5,cljs.core.PersistentVector.EMPTY_NODE,[cljs.core.with_meta(new cljs.core.Symbol(null,"rdr","rdr",190007785,null),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"tag","tag",-1290361223),new cljs.core.Symbol(null,"not-native","not-native",-236392494,null)],null)),new cljs.core.Symbol(null,"buf","buf",1426618187,null),new cljs.core.Symbol(null,"buf-len","buf-len",404510846,
null),cljs.core.with_meta(new cljs.core.Symbol(null,"buf-pos","buf-pos",-807229033,null),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"mutable","mutable",875778266),!0],null))],null)};cljs.tools.reader.reader_types.PushbackReader.cljs$lang$type=!0;cljs.tools.reader.reader_types.PushbackReader.cljs$lang$ctorStr="cljs.tools.reader.reader-types/PushbackReader";
cljs.tools.reader.reader_types.PushbackReader.cljs$lang$ctorPrWriter=function(a,b,c){return cljs.core._write.call(null,b,"cljs.tools.reader.reader-types/PushbackReader")};cljs.tools.reader.reader_types.__GT_PushbackReader=function(a,b,c,d){return new cljs.tools.reader.reader_types.PushbackReader(a,b,c,d)};
cljs.tools.reader.reader_types.normalize_newline=function(a,b){return"\r"===b?(b=cljs.tools.reader.reader_types.peek_char.call(null,a),"\f"!==b&&"\n"!==b||cljs.tools.reader.reader_types.read_char.call(null,a),"\n"):b};cljs.tools.reader.reader_types.IndexingPushbackReader=function(a,b,c,d,e,f,g){this.rdr=a;this.line=b;this.column=c;this.line_start_QMARK_=d;this.prev=e;this.prev_column=f;this.file_name=g};
cljs.tools.reader.reader_types.IndexingPushbackReader.prototype.cljs$tools$reader$reader_types$Reader$=cljs.core.PROTOCOL_SENTINEL;
cljs.tools.reader.reader_types.IndexingPushbackReader.prototype.cljs$tools$reader$reader_types$Reader$read_char$arity$1=function(a){a=cljs.tools.reader.reader_types.read_char.call(null,this.rdr);return cljs.core.truth_(a)?(a=cljs.tools.reader.reader_types.normalize_newline.call(null,this.rdr,a),this.prev=this.line_start_QMARK_,this.line_start_QMARK_=cljs.tools.reader.impl.utils.newline_QMARK_.call(null,a),cljs.core.truth_(this.line_start_QMARK_)&&(this.prev_column=this.column,this.column=0,this.line+=
1),this.column+=1,a):null};cljs.tools.reader.reader_types.IndexingPushbackReader.prototype.cljs$tools$reader$reader_types$Reader$peek_char$arity$1=function(a){return cljs.tools.reader.reader_types.peek_char.call(null,this.rdr)};cljs.tools.reader.reader_types.IndexingPushbackReader.prototype.cljs$tools$reader$reader_types$IPushbackReader$=cljs.core.PROTOCOL_SENTINEL;
cljs.tools.reader.reader_types.IndexingPushbackReader.prototype.cljs$tools$reader$reader_types$IPushbackReader$unread$arity$2=function(a,b){cljs.core.truth_(this.line_start_QMARK_)?(--this.line,this.column=this.prev_column):--this.column;this.line_start_QMARK_=this.prev;return cljs.tools.reader.reader_types.unread.call(null,this.rdr,b)};cljs.tools.reader.reader_types.IndexingPushbackReader.prototype.cljs$tools$reader$reader_types$IndexingReader$=cljs.core.PROTOCOL_SENTINEL;
cljs.tools.reader.reader_types.IndexingPushbackReader.prototype.cljs$tools$reader$reader_types$IndexingReader$get_line_number$arity$1=function(a){return this.line|0};cljs.tools.reader.reader_types.IndexingPushbackReader.prototype.cljs$tools$reader$reader_types$IndexingReader$get_column_number$arity$1=function(a){return this.column|0};cljs.tools.reader.reader_types.IndexingPushbackReader.prototype.cljs$tools$reader$reader_types$IndexingReader$get_file_name$arity$1=function(a){return this.file_name};
cljs.tools.reader.reader_types.IndexingPushbackReader.getBasis=function(){return new cljs.core.PersistentVector(null,7,5,cljs.core.PersistentVector.EMPTY_NODE,[cljs.core.with_meta(new cljs.core.Symbol(null,"rdr","rdr",190007785,null),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"tag","tag",-1290361223),new cljs.core.Symbol(null,"not-native","not-native",-236392494,null)],null)),cljs.core.with_meta(new cljs.core.Symbol(null,"line","line",1852876762,null),new cljs.core.PersistentArrayMap(null,
1,[new cljs.core.Keyword(null,"mutable","mutable",875778266),!0],null)),cljs.core.with_meta(new cljs.core.Symbol(null,"column","column",-576213674,null),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"mutable","mutable",875778266),!0],null)),cljs.core.with_meta(new cljs.core.Symbol(null,"line-start?","line-start?",1357012474,null),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"mutable","mutable",875778266),!0],null)),cljs.core.with_meta(new cljs.core.Symbol(null,
"prev","prev",43462301,null),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"mutable","mutable",875778266),!0],null)),cljs.core.with_meta(new cljs.core.Symbol(null,"prev-column","prev-column",324083974,null),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"mutable","mutable",875778266),!0],null)),new cljs.core.Symbol(null,"file-name","file-name",-13685732,null)],null)};cljs.tools.reader.reader_types.IndexingPushbackReader.cljs$lang$type=!0;
cljs.tools.reader.reader_types.IndexingPushbackReader.cljs$lang$ctorStr="cljs.tools.reader.reader-types/IndexingPushbackReader";cljs.tools.reader.reader_types.IndexingPushbackReader.cljs$lang$ctorPrWriter=function(a,b,c){return cljs.core._write.call(null,b,"cljs.tools.reader.reader-types/IndexingPushbackReader")};cljs.tools.reader.reader_types.__GT_IndexingPushbackReader=function(a,b,c,d,e,f,g){return new cljs.tools.reader.reader_types.IndexingPushbackReader(a,b,c,d,e,f,g)};
cljs.tools.reader.reader_types.merge_meta=function(a,b){var c=cljs.core.meta.call(null,a);return cljs.core.with_meta.call(null,a,cljs.core.merge.call(null,b,cljs.core.dissoc.call(null,c,new cljs.core.Keyword(null,"source","source",-433931539))))};
cljs.tools.reader.reader_types.peek_source_log=function(a){return cljs.core.subs.call(null,cljs.core.str.cljs$core$IFn$_invoke$arity$1((new cljs.core.Keyword(null,"buffer","buffer",617295198)).cljs$core$IFn$_invoke$arity$1(a)),cljs.core.first.call(null,(new cljs.core.Keyword(null,"offset","offset",296498311)).cljs$core$IFn$_invoke$arity$1(a)))};
cljs.tools.reader.reader_types.log_source_char=function(a,b){a=(new cljs.core.Keyword(null,"buffer","buffer",617295198)).cljs$core$IFn$_invoke$arity$1(a);return cljs.core.truth_(a)?a.append(b):null};cljs.tools.reader.reader_types.drop_last_logged_char=function(a){a=(new cljs.core.Keyword(null,"buffer","buffer",617295198)).cljs$core$IFn$_invoke$arity$1(a);return cljs.core.truth_(a)?a.set(cljs.core.subs.call(null,cljs.core.str.cljs$core$IFn$_invoke$arity$1(a),0,a.getLength()-1)):null};
cljs.tools.reader.reader_types.SourceLoggingPushbackReader=function(a,b,c,d,e,f,g,h){this.rdr=a;this.line=b;this.column=c;this.line_start_QMARK_=d;this.prev=e;this.prev_column=f;this.file_name=g;this.frames=h};cljs.tools.reader.reader_types.SourceLoggingPushbackReader.prototype.cljs$tools$reader$reader_types$Reader$=cljs.core.PROTOCOL_SENTINEL;
cljs.tools.reader.reader_types.SourceLoggingPushbackReader.prototype.cljs$tools$reader$reader_types$Reader$read_char$arity$1=function(a){a=cljs.tools.reader.reader_types.read_char.call(null,this.rdr);return cljs.core.truth_(a)?(a=cljs.tools.reader.reader_types.normalize_newline.call(null,this.rdr,a),this.prev=this.line_start_QMARK_,this.line_start_QMARK_=cljs.tools.reader.impl.utils.newline_QMARK_.call(null,a),cljs.core.truth_(this.line_start_QMARK_)&&(this.prev_column=this.column,this.column=0,this.line+=
1),this.column+=1,cljs.tools.reader.reader_types.log_source_char.call(null,cljs.core.deref.call(null,this.frames),a),a):null};cljs.tools.reader.reader_types.SourceLoggingPushbackReader.prototype.cljs$tools$reader$reader_types$Reader$peek_char$arity$1=function(a){return cljs.tools.reader.reader_types.peek_char.call(null,this.rdr)};cljs.tools.reader.reader_types.SourceLoggingPushbackReader.prototype.cljs$tools$reader$reader_types$IPushbackReader$=cljs.core.PROTOCOL_SENTINEL;
cljs.tools.reader.reader_types.SourceLoggingPushbackReader.prototype.cljs$tools$reader$reader_types$IPushbackReader$unread$arity$2=function(a,b){cljs.core.truth_(this.line_start_QMARK_)?(--this.line,this.column=this.prev_column):--this.column;this.line_start_QMARK_=this.prev;cljs.core.truth_(b)&&cljs.tools.reader.reader_types.drop_last_logged_char.call(null,cljs.core.deref.call(null,this.frames));return cljs.tools.reader.reader_types.unread.call(null,this.rdr,b)};
cljs.tools.reader.reader_types.SourceLoggingPushbackReader.prototype.cljs$tools$reader$reader_types$IndexingReader$=cljs.core.PROTOCOL_SENTINEL;cljs.tools.reader.reader_types.SourceLoggingPushbackReader.prototype.cljs$tools$reader$reader_types$IndexingReader$get_line_number$arity$1=function(a){return this.line|0};cljs.tools.reader.reader_types.SourceLoggingPushbackReader.prototype.cljs$tools$reader$reader_types$IndexingReader$get_column_number$arity$1=function(a){return this.column|0};
cljs.tools.reader.reader_types.SourceLoggingPushbackReader.prototype.cljs$tools$reader$reader_types$IndexingReader$get_file_name$arity$1=function(a){return this.file_name};
cljs.tools.reader.reader_types.SourceLoggingPushbackReader.getBasis=function(){return new cljs.core.PersistentVector(null,8,5,cljs.core.PersistentVector.EMPTY_NODE,[cljs.core.with_meta(new cljs.core.Symbol(null,"rdr","rdr",190007785,null),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"tag","tag",-1290361223),new cljs.core.Symbol(null,"not-native","not-native",-236392494,null)],null)),cljs.core.with_meta(new cljs.core.Symbol(null,"line","line",1852876762,null),new cljs.core.PersistentArrayMap(null,
1,[new cljs.core.Keyword(null,"mutable","mutable",875778266),!0],null)),cljs.core.with_meta(new cljs.core.Symbol(null,"column","column",-576213674,null),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"mutable","mutable",875778266),!0],null)),cljs.core.with_meta(new cljs.core.Symbol(null,"line-start?","line-start?",1357012474,null),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"mutable","mutable",875778266),!0],null)),cljs.core.with_meta(new cljs.core.Symbol(null,
"prev","prev",43462301,null),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"mutable","mutable",875778266),!0],null)),cljs.core.with_meta(new cljs.core.Symbol(null,"prev-column","prev-column",324083974,null),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"mutable","mutable",875778266),!0],null)),new cljs.core.Symbol(null,"file-name","file-name",-13685732,null),new cljs.core.Symbol(null,"frames","frames",-888748272,null)],null)};
cljs.tools.reader.reader_types.SourceLoggingPushbackReader.cljs$lang$type=!0;cljs.tools.reader.reader_types.SourceLoggingPushbackReader.cljs$lang$ctorStr="cljs.tools.reader.reader-types/SourceLoggingPushbackReader";cljs.tools.reader.reader_types.SourceLoggingPushbackReader.cljs$lang$ctorPrWriter=function(a,b,c){return cljs.core._write.call(null,b,"cljs.tools.reader.reader-types/SourceLoggingPushbackReader")};
cljs.tools.reader.reader_types.__GT_SourceLoggingPushbackReader=function(a,b,c,d,e,f,g,h){return new cljs.tools.reader.reader_types.SourceLoggingPushbackReader(a,b,c,d,e,f,g,h)};cljs.tools.reader.reader_types.indexing_reader_QMARK_=function(a){return null!=a?cljs.core.PROTOCOL_SENTINEL===a.cljs$tools$reader$reader_types$IndexingReader$?!0:!1:!1};cljs.tools.reader.reader_types.string_reader=function(a){return new cljs.tools.reader.reader_types.StringReader(a,cljs.core.count.call(null,a),0)};
cljs.tools.reader.reader_types.string_push_back_reader=function(a){switch(arguments.length){case 1:return cljs.tools.reader.reader_types.string_push_back_reader.cljs$core$IFn$_invoke$arity$1(arguments[0]);case 2:return cljs.tools.reader.reader_types.string_push_back_reader.cljs$core$IFn$_invoke$arity$2(arguments[0],arguments[1]);default:throw Error(["Invalid arity: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(""));}};
cljs.tools.reader.reader_types.string_push_back_reader.cljs$core$IFn$_invoke$arity$1=function(a){return cljs.tools.reader.reader_types.string_push_back_reader.call(null,a,1)};cljs.tools.reader.reader_types.string_push_back_reader.cljs$core$IFn$_invoke$arity$2=function(a,b){return new cljs.tools.reader.reader_types.PushbackReader(cljs.tools.reader.reader_types.string_reader.call(null,a),cljs.core.object_array.call(null,b),b,b)};
cljs.tools.reader.reader_types.string_push_back_reader.cljs$lang$maxFixedArity=2;cljs.tools.reader.reader_types.node_readable_push_back_reader=function(a){return new cljs.tools.reader.reader_types.PushbackReader(new cljs.tools.reader.reader_types.NodeReadableReader(a,null),cljs.core.object_array.call(null,1),1,1)};
cljs.tools.reader.reader_types.indexing_push_back_reader=function(a){switch(arguments.length){case 1:return cljs.tools.reader.reader_types.indexing_push_back_reader.cljs$core$IFn$_invoke$arity$1(arguments[0]);case 2:return cljs.tools.reader.reader_types.indexing_push_back_reader.cljs$core$IFn$_invoke$arity$2(arguments[0],arguments[1]);case 3:return cljs.tools.reader.reader_types.indexing_push_back_reader.cljs$core$IFn$_invoke$arity$3(arguments[0],arguments[1],arguments[2]);default:throw Error(["Invalid arity: ",
cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(""));}};cljs.tools.reader.reader_types.indexing_push_back_reader.cljs$core$IFn$_invoke$arity$1=function(a){return cljs.tools.reader.reader_types.indexing_push_back_reader.call(null,a,1)};cljs.tools.reader.reader_types.indexing_push_back_reader.cljs$core$IFn$_invoke$arity$2=function(a,b){return cljs.tools.reader.reader_types.indexing_push_back_reader.call(null,a,b,null)};
cljs.tools.reader.reader_types.indexing_push_back_reader.cljs$core$IFn$_invoke$arity$3=function(a,b,c){return new cljs.tools.reader.reader_types.IndexingPushbackReader("string"===typeof a?cljs.tools.reader.reader_types.string_push_back_reader.call(null,a,b):a,1,1,!0,null,0,c)};cljs.tools.reader.reader_types.indexing_push_back_reader.cljs$lang$maxFixedArity=3;
cljs.tools.reader.reader_types.source_logging_push_back_reader=function(a){switch(arguments.length){case 1:return cljs.tools.reader.reader_types.source_logging_push_back_reader.cljs$core$IFn$_invoke$arity$1(arguments[0]);case 2:return cljs.tools.reader.reader_types.source_logging_push_back_reader.cljs$core$IFn$_invoke$arity$2(arguments[0],arguments[1]);case 3:return cljs.tools.reader.reader_types.source_logging_push_back_reader.cljs$core$IFn$_invoke$arity$3(arguments[0],arguments[1],arguments[2]);
default:throw Error(["Invalid arity: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(""));}};cljs.tools.reader.reader_types.source_logging_push_back_reader.cljs$core$IFn$_invoke$arity$1=function(a){return cljs.tools.reader.reader_types.source_logging_push_back_reader.call(null,a,1)};cljs.tools.reader.reader_types.source_logging_push_back_reader.cljs$core$IFn$_invoke$arity$2=function(a,b){return cljs.tools.reader.reader_types.source_logging_push_back_reader.call(null,a,b,null)};
cljs.tools.reader.reader_types.source_logging_push_back_reader.cljs$core$IFn$_invoke$arity$3=function(a,b,c){return new cljs.tools.reader.reader_types.SourceLoggingPushbackReader("string"===typeof a?cljs.tools.reader.reader_types.string_push_back_reader.call(null,a,b):a,1,1,!0,null,0,c,cljs.core.atom.call(null,new cljs.core.PersistentArrayMap(null,2,[new cljs.core.Keyword(null,"buffer","buffer",617295198),new goog.string.StringBuffer,new cljs.core.Keyword(null,"offset","offset",296498311),cljs.core.list(0)],
null)))};cljs.tools.reader.reader_types.source_logging_push_back_reader.cljs$lang$maxFixedArity=3;cljs.tools.reader.reader_types.read_line=function(a){for(var b=cljs.tools.reader.reader_types.read_char.call(null,a),c=new goog.string.StringBuffer;;){if(cljs.tools.reader.impl.utils.newline_QMARK_.call(null,b))return cljs.core.str.cljs$core$IFn$_invoke$arity$1(c);var d=cljs.tools.reader.reader_types.read_char.call(null,a);c=c.append(b);b=d}};
cljs.tools.reader.reader_types.source_logging_reader_QMARK_=function(a){return a instanceof cljs.tools.reader.reader_types.SourceLoggingPushbackReader};cljs.tools.reader.reader_types.line_start_QMARK_=function(a){return cljs.tools.reader.reader_types.indexing_reader_QMARK_.call(null,a)?1===cljs.tools.reader.reader_types.get_column_number.call(null,a):null};
cljs.tools.reader.reader_types.log_source_STAR_=function(a,b){var c=(new cljs.core.Keyword(null,"buffer","buffer",617295198)).cljs$core$IFn$_invoke$arity$1(cljs.core.deref.call(null,a.frames));try{cljs.core.swap_BANG_.call(null,a.frames,cljs.core.update_in,new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"offset","offset",296498311)],null),cljs.core.conj,c.getLength());var d=b.call(null);return null!=d&&(d.cljs$lang$protocol_mask$partition0$&
131072||cljs.core.PROTOCOL_SENTINEL===d.cljs$core$IMeta$)?cljs.tools.reader.reader_types.merge_meta.call(null,d,new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"source","source",-433931539),cljs.tools.reader.reader_types.peek_source_log.call(null,cljs.core.deref.call(null,a.frames))],null)):d}finally{cljs.core.swap_BANG_.call(null,a.frames,cljs.core.update_in,new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"offset","offset",
296498311)],null),cljs.core.rest)}};cljs.tools.reader.impl.inspect={};
cljs.tools.reader.impl.inspect.inspect_STAR__col=function(a,b,c,d){var e=cljs.core.count.call(null,b);a=cljs.core.truth_(a)?0:10<e?10:e;b=cljs.core.map.call(null,cljs.core.partial.call(null,cljs.tools.reader.impl.inspect.inspect_STAR_,!0),cljs.core.take.call(null,a,b));b=cljs.core.apply.call(null,cljs.core.str,cljs.core.interpose.call(null," ",b));e=a<e?"...":null;return[cljs.core.str.cljs$core$IFn$_invoke$arity$1(c),cljs.core.str.cljs$core$IFn$_invoke$arity$1(b),e,cljs.core.str.cljs$core$IFn$_invoke$arity$1(d)].join("")};
cljs.tools.reader.impl.inspect.dispatch_inspect=function(a,b){return null==b?new cljs.core.Keyword(null,"nil","nil",99600501):"string"===typeof b?new cljs.core.Keyword(null,"string","string",-1989541586):b instanceof cljs.core.Keyword?new cljs.core.Keyword(null,"strable","strable",1877668047):"number"===typeof b?new cljs.core.Keyword(null,"strable","strable",1877668047):b instanceof cljs.core.Symbol?new cljs.core.Keyword(null,"strable","strable",1877668047):cljs.core.vector_QMARK_.call(null,b)?new cljs.core.Keyword(null,
"vector","vector",1902966158):cljs.core.list_QMARK_.call(null,b)?new cljs.core.Keyword(null,"list","list",765357683):cljs.core.map_QMARK_.call(null,b)?new cljs.core.Keyword(null,"map","map",1371690461):cljs.core.set_QMARK_.call(null,b)?new cljs.core.Keyword(null,"set","set",304602554):cljs.core._EQ_.call(null,b,!0)?new cljs.core.Keyword(null,"strable","strable",1877668047):cljs.core._EQ_.call(null,b,!1)?new cljs.core.Keyword(null,"strable","strable",1877668047):cljs.core.type.call(null,b)};
if("undefined"===typeof cljs||"undefined"===typeof cljs.tools||"undefined"===typeof cljs.tools.reader||"undefined"===typeof cljs.tools.reader.impl||"undefined"===typeof cljs.tools.reader.impl.inspect||"undefined"===typeof cljs.tools.reader.impl.inspect.inspect_STAR_)cljs.tools.reader.impl.inspect.inspect_STAR_=function(){var a=cljs.core.atom.call(null,cljs.core.PersistentArrayMap.EMPTY),b=cljs.core.atom.call(null,cljs.core.PersistentArrayMap.EMPTY),c=cljs.core.atom.call(null,cljs.core.PersistentArrayMap.EMPTY),
d=cljs.core.atom.call(null,cljs.core.PersistentArrayMap.EMPTY),e=cljs.core.get.call(null,cljs.core.PersistentArrayMap.EMPTY,new cljs.core.Keyword(null,"hierarchy","hierarchy",-1053470341),cljs.core.get_global_hierarchy.call(null));return new cljs.core.MultiFn(cljs.core.symbol.call(null,"cljs.tools.reader.impl.inspect","inspect*"),cljs.tools.reader.impl.inspect.dispatch_inspect,new cljs.core.Keyword(null,"default","default",-1987822328),e,a,b,c,d)}();
cljs.core._add_method.call(null,cljs.tools.reader.impl.inspect.inspect_STAR_,new cljs.core.Keyword(null,"string","string",-1989541586),function(a,b){var c=cljs.core.truth_(a)?5:20;a=b.length>c?'..."':'"';return['"',cljs.core.str.cljs$core$IFn$_invoke$arity$1(b.substring(0,function(){var a=b.length;return c<a?c:a}())),a].join("")});cljs.core._add_method.call(null,cljs.tools.reader.impl.inspect.inspect_STAR_,new cljs.core.Keyword(null,"strable","strable",1877668047),function(a,b){return cljs.core.str.cljs$core$IFn$_invoke$arity$1(b)});
cljs.core._add_method.call(null,cljs.tools.reader.impl.inspect.inspect_STAR_,cljs.core.IndexedSeq,function(a,b){return"\x3cindexed seq\x3e"});cljs.core._add_method.call(null,cljs.tools.reader.impl.inspect.inspect_STAR_,cljs.core.PersistentArrayMapSeq,function(a,b){return"\x3cmap seq\x3e"});cljs.core._add_method.call(null,cljs.tools.reader.impl.inspect.inspect_STAR_,cljs.core.NodeSeq,function(a,b){return"\x3cmap seq\x3e"});
cljs.core._add_method.call(null,cljs.tools.reader.impl.inspect.inspect_STAR_,cljs.core.Cons,function(a,b){return"\x3ccons\x3e"});cljs.core._add_method.call(null,cljs.tools.reader.impl.inspect.inspect_STAR_,cljs.core.LazySeq,function(a,b){return"\x3clazy seq\x3e"});cljs.core._add_method.call(null,cljs.tools.reader.impl.inspect.inspect_STAR_,new cljs.core.Keyword(null,"nil","nil",99600501),function(a,b){return"nil"});
cljs.core._add_method.call(null,cljs.tools.reader.impl.inspect.inspect_STAR_,new cljs.core.Keyword(null,"list","list",765357683),function(a,b){return cljs.tools.reader.impl.inspect.inspect_STAR__col.call(null,a,b,"(",")")});
cljs.core._add_method.call(null,cljs.tools.reader.impl.inspect.inspect_STAR_,new cljs.core.Keyword(null,"map","map",1371690461),function(a,b){var c=cljs.core.count.call(null,b),d=cljs.core.truth_(a)?0:c;b=cljs.core.apply.call(null,cljs.core.concat,cljs.core.take.call(null,d,b));return cljs.tools.reader.impl.inspect.inspect_STAR__col.call(null,a,b,"{",c>d?"...}":"}")});
cljs.core._add_method.call(null,cljs.tools.reader.impl.inspect.inspect_STAR_,new cljs.core.Keyword(null,"set","set",304602554),function(a,b){return cljs.tools.reader.impl.inspect.inspect_STAR__col.call(null,a,b,"#{","}")});cljs.core._add_method.call(null,cljs.tools.reader.impl.inspect.inspect_STAR_,new cljs.core.Keyword(null,"vector","vector",1902966158),function(a,b){return cljs.tools.reader.impl.inspect.inspect_STAR__col.call(null,a,b,"[","]")});
cljs.core._add_method.call(null,cljs.tools.reader.impl.inspect.inspect_STAR_,new cljs.core.Keyword(null,"default","default",-1987822328),function(a,b){return cljs.core.pr_str.call(null,cljs.core.type.call(null,b))});
cljs.tools.reader.impl.inspect.inspect=function(a){switch(arguments.length){case 1:return cljs.tools.reader.impl.inspect.inspect.cljs$core$IFn$_invoke$arity$1(arguments[0]);case 2:return cljs.tools.reader.impl.inspect.inspect.cljs$core$IFn$_invoke$arity$2(arguments[0],arguments[1]);default:throw Error(["Invalid arity: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(""));}};
cljs.tools.reader.impl.inspect.inspect.cljs$core$IFn$_invoke$arity$1=function(a){return cljs.tools.reader.impl.inspect.inspect_STAR_.call(null,!1,a)};cljs.tools.reader.impl.inspect.inspect.cljs$core$IFn$_invoke$arity$2=function(a,b){return cljs.tools.reader.impl.inspect.inspect_STAR_.call(null,a,b)};cljs.tools.reader.impl.inspect.inspect.cljs$lang$maxFixedArity=2;cljs.tools.reader.impl.errors={};
cljs.tools.reader.impl.errors.ex_details=function(a,b){b=new cljs.core.PersistentArrayMap(null,2,[new cljs.core.Keyword(null,"type","type",1174270348),new cljs.core.Keyword(null,"reader-exception","reader-exception",-1938323098),new cljs.core.Keyword(null,"ex-kind","ex-kind",1581199296),b],null);return cljs.tools.reader.reader_types.indexing_reader_QMARK_.call(null,a)?cljs.core.assoc.call(null,b,new cljs.core.Keyword(null,"file","file",-1269645878),cljs.tools.reader.reader_types.get_file_name.call(null,a),
new cljs.core.Keyword(null,"line","line",212345235),cljs.tools.reader.reader_types.get_line_number.call(null,a),new cljs.core.Keyword(null,"col","col",-1959363084),cljs.tools.reader.reader_types.get_column_number.call(null,a)):b};
cljs.tools.reader.impl.errors.throw_ex=function(a){for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;b=2<b.length?new cljs.core.IndexedSeq(b.slice(2),0,null):null;return cljs.tools.reader.impl.errors.throw_ex.cljs$core$IFn$_invoke$arity$variadic(arguments[0],arguments[1],b)};
cljs.tools.reader.impl.errors.throw_ex.cljs$core$IFn$_invoke$arity$variadic=function(a,b,c){a=cljs.tools.reader.impl.errors.ex_details.call(null,a,b);b=(new cljs.core.Keyword(null,"file","file",-1269645878)).cljs$core$IFn$_invoke$arity$1(a);var d=(new cljs.core.Keyword(null,"line","line",212345235)).cljs$core$IFn$_invoke$arity$1(a),e=(new cljs.core.Keyword(null,"col","col",-1959363084)).cljs$core$IFn$_invoke$arity$1(a);b=cljs.core.truth_(b)?[cljs.core.str.cljs$core$IFn$_invoke$arity$1(b)," "].join(""):
null;d=cljs.core.truth_(d)?["[line ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(d),", col ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(e),"]"].join(""):null;e=cljs.core.truth_(cljs.core.truth_(b)?b:d)?" ":null;c=cljs.core.apply.call(null,cljs.core.str,b,d,e,c);throw cljs.core.ex_info.call(null,c,a);};cljs.tools.reader.impl.errors.throw_ex.cljs$lang$maxFixedArity=2;
cljs.tools.reader.impl.errors.throw_ex.cljs$lang$applyTo=function(a){var b=cljs.core.first.call(null,a),c=cljs.core.next.call(null,a);a=cljs.core.first.call(null,c);c=cljs.core.next.call(null,c);return this.cljs$core$IFn$_invoke$arity$variadic(b,a,c)};
cljs.tools.reader.impl.errors.reader_error=function(a){for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;b=1<b.length?new cljs.core.IndexedSeq(b.slice(1),0,null):null;return cljs.tools.reader.impl.errors.reader_error.cljs$core$IFn$_invoke$arity$variadic(arguments[0],b)};
cljs.tools.reader.impl.errors.reader_error.cljs$core$IFn$_invoke$arity$variadic=function(a,b){return cljs.tools.reader.impl.errors.throw_ex.call(null,a,new cljs.core.Keyword(null,"reader-error","reader-error",1610253121),cljs.core.apply.call(null,cljs.core.str,b))};cljs.tools.reader.impl.errors.reader_error.cljs$lang$maxFixedArity=1;
cljs.tools.reader.impl.errors.reader_error.cljs$lang$applyTo=function(a){var b=cljs.core.first.call(null,a);a=cljs.core.next.call(null,a);return this.cljs$core$IFn$_invoke$arity$variadic(b,a)};
cljs.tools.reader.impl.errors.illegal_arg_error=function(a){for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;b=1<b.length?new cljs.core.IndexedSeq(b.slice(1),0,null):null;return cljs.tools.reader.impl.errors.illegal_arg_error.cljs$core$IFn$_invoke$arity$variadic(arguments[0],b)};
cljs.tools.reader.impl.errors.illegal_arg_error.cljs$core$IFn$_invoke$arity$variadic=function(a,b){return cljs.tools.reader.impl.errors.throw_ex.call(null,a,new cljs.core.Keyword(null,"illegal-argument","illegal-argument",-1845493170),cljs.core.apply.call(null,cljs.core.str,b))};cljs.tools.reader.impl.errors.illegal_arg_error.cljs$lang$maxFixedArity=1;
cljs.tools.reader.impl.errors.illegal_arg_error.cljs$lang$applyTo=function(a){var b=cljs.core.first.call(null,a);a=cljs.core.next.call(null,a);return this.cljs$core$IFn$_invoke$arity$variadic(b,a)};cljs.tools.reader.impl.errors.eof_error=function(a){for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;b=1<b.length?new cljs.core.IndexedSeq(b.slice(1),0,null):null;return cljs.tools.reader.impl.errors.eof_error.cljs$core$IFn$_invoke$arity$variadic(arguments[0],b)};
cljs.tools.reader.impl.errors.eof_error.cljs$core$IFn$_invoke$arity$variadic=function(a,b){return cljs.tools.reader.impl.errors.throw_ex.call(null,a,new cljs.core.Keyword(null,"eof","eof",-489063237),cljs.core.apply.call(null,cljs.core.str,b))};cljs.tools.reader.impl.errors.eof_error.cljs$lang$maxFixedArity=1;cljs.tools.reader.impl.errors.eof_error.cljs$lang$applyTo=function(a){var b=cljs.core.first.call(null,a);a=cljs.core.next.call(null,a);return this.cljs$core$IFn$_invoke$arity$variadic(b,a)};
cljs.tools.reader.impl.errors.throw_eof_delimited=function(a){switch(arguments.length){case 4:return cljs.tools.reader.impl.errors.throw_eof_delimited.cljs$core$IFn$_invoke$arity$4(arguments[0],arguments[1],arguments[2],arguments[3]);case 5:return cljs.tools.reader.impl.errors.throw_eof_delimited.cljs$core$IFn$_invoke$arity$5(arguments[0],arguments[1],arguments[2],arguments[3],arguments[4]);default:throw Error(["Invalid arity: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(""));
}};cljs.tools.reader.impl.errors.throw_eof_delimited.cljs$core$IFn$_invoke$arity$4=function(a,b,c,d){return cljs.tools.reader.impl.errors.throw_eof_delimited.call(null,a,b,d,c,null)};
cljs.tools.reader.impl.errors.throw_eof_delimited.cljs$core$IFn$_invoke$arity$5=function(a,b,c,d,e){return cljs.tools.reader.impl.errors.eof_error.call(null,a,"Unexpected EOF while reading ",cljs.core.truth_(e)?["item ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(e)," of "].join(""):null,cljs.core.name.call(null,b),cljs.core.truth_(c)?[", starting at line ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(c)," and column ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(d)].join(""):null,".")};
cljs.tools.reader.impl.errors.throw_eof_delimited.cljs$lang$maxFixedArity=5;
cljs.tools.reader.impl.errors.throw_odd_map=function(a,b,c,d){return cljs.tools.reader.impl.errors.reader_error.call(null,a,"The map literal starting with ",cljs.tools.reader.impl.inspect.inspect.call(null,cljs.core.first.call(null,d)),cljs.core.truth_(b)?[" on line ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(b)," column ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(c)].join(""):null," contains ",cljs.core.count.call(null,d)," form(s). Map literals must contain an even number of forms.")};
cljs.tools.reader.impl.errors.throw_invalid_number=function(a,b){return cljs.tools.reader.impl.errors.reader_error.call(null,a,"Invalid number: ",b,".")};cljs.tools.reader.impl.errors.throw_invalid_unicode_literal=function(a,b){throw cljs.tools.reader.impl.errors.illegal_arg_error.call(null,a,"Invalid unicode literal: \\",b,".");};cljs.tools.reader.impl.errors.throw_invalid_unicode_escape=function(a,b){return cljs.tools.reader.impl.errors.reader_error.call(null,a,"Invalid unicode escape: \\u",b,".")};
cljs.tools.reader.impl.errors.throw_invalid=function(a,b,c){return cljs.tools.reader.impl.errors.reader_error.call(null,a,"Invalid ",cljs.core.name.call(null,b),": ",c,".")};cljs.tools.reader.impl.errors.throw_eof_at_start=function(a,b){return cljs.tools.reader.impl.errors.eof_error.call(null,a,"Unexpected EOF while reading start of ",cljs.core.name.call(null,b),".")};
cljs.tools.reader.impl.errors.throw_bad_char=function(a,b,c){return cljs.tools.reader.impl.errors.reader_error.call(null,a,"Invalid character: ",c," found while reading ",cljs.core.name.call(null,b),".")};cljs.tools.reader.impl.errors.throw_eof_at_dispatch=function(a){return cljs.tools.reader.impl.errors.eof_error.call(null,a,"Unexpected EOF while reading dispatch character.")};
cljs.tools.reader.impl.errors.throw_bad_dispatch=function(a,b){return cljs.tools.reader.impl.errors.reader_error.call(null,a,"No dispatch macro for ",b,".")};cljs.tools.reader.impl.errors.throw_unmatch_delimiter=function(a,b){return cljs.tools.reader.impl.errors.reader_error.call(null,a,"Unmatched delimiter ",b,".")};
cljs.tools.reader.impl.errors.throw_eof_reading=function(a){for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;b=2<b.length?new cljs.core.IndexedSeq(b.slice(2),0,null):null;return cljs.tools.reader.impl.errors.throw_eof_reading.cljs$core$IFn$_invoke$arity$variadic(arguments[0],arguments[1],b)};
cljs.tools.reader.impl.errors.throw_eof_reading.cljs$core$IFn$_invoke$arity$variadic=function(a,b,c){a:{var d=b instanceof cljs.core.Keyword?b.fqn:null;switch(d){case "regex":d='#"';break a;case "string":d='"';break a;default:throw Error(["No matching clause: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(d)].join(""));}}return cljs.tools.reader.impl.errors.eof_error.call(null,a,"Unexpected EOF reading ",cljs.core.name.call(null,b)," starting ",cljs.core.apply.call(null,cljs.core.str,d,c),".")};
cljs.tools.reader.impl.errors.throw_eof_reading.cljs$lang$maxFixedArity=2;cljs.tools.reader.impl.errors.throw_eof_reading.cljs$lang$applyTo=function(a){var b=cljs.core.first.call(null,a),c=cljs.core.next.call(null,a);a=cljs.core.first.call(null,c);c=cljs.core.next.call(null,c);return this.cljs$core$IFn$_invoke$arity$variadic(b,a,c)};cljs.tools.reader.impl.errors.throw_no_dispatch=function(a,b){return cljs.tools.reader.impl.errors.throw_bad_dispatch.call(null,a,b)};
cljs.tools.reader.impl.errors.throw_invalid_unicode_char=function(a,b){return cljs.tools.reader.impl.errors.reader_error.call(null,a,"Invalid unicode character \\",b,".")};cljs.tools.reader.impl.errors.throw_invalid_unicode_digit_in_token=function(a,b,c){return cljs.tools.reader.impl.errors.illegal_arg_error.call(null,a,"Invalid digit ",b," in unicode character \\",c,".")};
cljs.tools.reader.impl.errors.throw_invalid_unicode_digit=function(a,b){return cljs.tools.reader.impl.errors.illegal_arg_error.call(null,a,"Invalid digit ",b," in unicode character.")};cljs.tools.reader.impl.errors.throw_invalid_unicode_len=function(a,b,c){return cljs.tools.reader.impl.errors.illegal_arg_error.call(null,a,"Invalid unicode literal. Unicode literals should be ",c,"characters long.  ","value suppled is ",b,"characters long.")};
cljs.tools.reader.impl.errors.throw_invalid_character_literal=function(a,b){return cljs.tools.reader.impl.errors.reader_error.call(null,a,"Invalid character literal \\u",b,".")};cljs.tools.reader.impl.errors.throw_invalid_octal_len=function(a,b){return cljs.tools.reader.impl.errors.reader_error.call(null,a,"Invalid octal escape sequence in a character literal:",b,". Octal escape sequences must be 3 or fewer digits.")};
cljs.tools.reader.impl.errors.throw_bad_octal_number=function(a){return cljs.tools.reader.impl.errors.reader_error.call(null,a,"Octal escape sequence must be in range [0, 377].")};cljs.tools.reader.impl.errors.throw_unsupported_character=function(a,b){return cljs.tools.reader.impl.errors.reader_error.call(null,a,"Unsupported character: ",b,".")};cljs.tools.reader.impl.errors.throw_eof_in_character=function(a){return cljs.tools.reader.impl.errors.eof_error.call(null,a,"Unexpected EOF while reading character.")};
cljs.tools.reader.impl.errors.throw_bad_escape_char=function(a,b){return cljs.tools.reader.impl.errors.reader_error.call(null,a,"Unsupported escape character: \\",b,".")};cljs.tools.reader.impl.errors.throw_single_colon=function(a){return cljs.tools.reader.impl.errors.reader_error.call(null,a,"A single colon is not a valid keyword.")};
cljs.tools.reader.impl.errors.throw_bad_metadata=function(a,b){return cljs.tools.reader.impl.errors.reader_error.call(null,a,"Metadata cannot be ",cljs.tools.reader.impl.inspect.inspect.call(null,b),". Metadata must be a Symbol, Keyword, String or Map.")};cljs.tools.reader.impl.errors.throw_bad_metadata_target=function(a,b){return cljs.tools.reader.impl.errors.reader_error.call(null,a,"Metadata can not be applied to ",cljs.tools.reader.impl.inspect.inspect.call(null,b),". ","Metadata can only be applied to IMetas.")};
cljs.tools.reader.impl.errors.throw_feature_not_keyword=function(a,b){return cljs.tools.reader.impl.errors.reader_error.call(null,a,"Feature cannot be ",cljs.tools.reader.impl.inspect.inspect.call(null,b)," Features must be keywords.")};cljs.tools.reader.impl.errors.throw_ns_map_no_map=function(a,b){return cljs.tools.reader.impl.errors.reader_error.call(null,a,"Namespaced map with namespace ",b," does not specify a map.")};
cljs.tools.reader.impl.errors.throw_bad_ns=function(a,b){return cljs.tools.reader.impl.errors.reader_error.call(null,a,"Invalid value used as namespace in namespaced map: ",b,".")};cljs.tools.reader.impl.errors.throw_bad_reader_tag=function(a,b){return cljs.tools.reader.impl.errors.reader_error.call(null,a,"Invalid reader tag: ",cljs.tools.reader.impl.inspect.inspect.call(null,b),". Reader tags must be symbols.")};
cljs.tools.reader.impl.errors.throw_unknown_reader_tag=function(a,b){return cljs.tools.reader.impl.errors.reader_error.call(null,a,"No reader function for tag ",cljs.tools.reader.impl.inspect.inspect.call(null,b),".")};
cljs.tools.reader.impl.errors.duplicate_keys_error=function(a,b){b=function(a){return function f(a){return new cljs.core.LazySeq(null,function(){for(var b=a;;)if(b=cljs.core.seq.call(null,b)){if(cljs.core.chunked_seq_QMARK_.call(null,b)){var c=cljs.core.chunk_first.call(null,b),e=cljs.core.count.call(null,c),l=cljs.core.chunk_buffer.call(null,e);a:for(var m=0;;)if(m<e){var n=cljs.core._nth.call(null,c,m),p=cljs.core.nth.call(null,n,0,null);1<cljs.core.nth.call(null,n,1,null)&&cljs.core.chunk_append.call(null,
l,p);m+=1}else{c=!0;break a}return c?cljs.core.chunk_cons.call(null,cljs.core.chunk.call(null,l),f.call(null,cljs.core.chunk_rest.call(null,b))):cljs.core.chunk_cons.call(null,cljs.core.chunk.call(null,l),null)}l=cljs.core.first.call(null,b);c=cljs.core.nth.call(null,l,0,null);if(1<cljs.core.nth.call(null,l,1,null))return cljs.core.cons.call(null,c,f.call(null,cljs.core.rest.call(null,b)));b=cljs.core.rest.call(null,b)}else return null},null,null)}.call(null,cljs.core.frequencies.call(null,a))}.call(null,
b);return cljs.core.apply.call(null,cljs.core.str,a,1<cljs.core.count.call(null,b)?"s":null,": ",cljs.core.interpose.call(null,", ",b))};cljs.tools.reader.impl.errors.throw_dup_keys=function(a,b,c){return cljs.tools.reader.impl.errors.reader_error.call(null,a,cljs.tools.reader.impl.errors.duplicate_keys_error.call(null,[cljs.core.str.cljs$core$IFn$_invoke$arity$1(clojure.string.capitalize.call(null,cljs.core.name.call(null,b)))," literal contains duplicate key"].join(""),c))};
cljs.tools.reader.impl.errors.throw_eof_error=function(a,b){return cljs.core.truth_(b)?cljs.tools.reader.impl.errors.eof_error.call(null,a,"EOF while reading, starting at line ",b,"."):cljs.tools.reader.impl.errors.eof_error.call(null,a,"EOF while reading.")};cljs.tools.reader.impl.commons={};cljs.tools.reader.impl.commons.number_literal_QMARK_=function(a,b){return cljs.tools.reader.impl.utils.numeric_QMARK_.call(null,b)||("+"===b||"-"===b)&&cljs.tools.reader.impl.utils.numeric_QMARK_.call(null,cljs.tools.reader.reader_types.peek_char.call(null,a))};cljs.tools.reader.impl.commons.read_past=function(a,b){for(var c=cljs.tools.reader.reader_types.read_char.call(null,b);;)if(a.call(null,c))c=cljs.tools.reader.reader_types.read_char.call(null,b);else return c};
cljs.tools.reader.impl.commons.skip_line=function(a){for(;!cljs.tools.reader.impl.utils.newline_QMARK_.call(null,cljs.tools.reader.reader_types.read_char.call(null,a)););return a};cljs.tools.reader.impl.commons.int_pattern=/^([-+]?)(?:(0)|([1-9][0-9]*)|0[xX]([0-9A-Fa-f]+)|0([0-7]+)|([1-9][0-9]?)[rR]([0-9A-Za-z]+)|0[0-9]+)(N)?$/;cljs.tools.reader.impl.commons.ratio_pattern=/([-+]?[0-9]+)\/([0-9]+)/;cljs.tools.reader.impl.commons.float_pattern=/([-+]?[0-9]+(\.[0-9]*)?([eE][-+]?[0-9]+)?)(M)?/;
cljs.tools.reader.impl.commons.match_int=function(a){var b=cljs.core.vec.call(null,cljs.core.re_find.call(null,cljs.tools.reader.impl.commons.int_pattern,a));if(null!=b.call(null,2))return 0;a="-"===b.call(null,1);b=null!=b.call(null,3)?new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[b.call(null,3),10],null):null!=b.call(null,4)?new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[b.call(null,4),16],null):null!=b.call(null,5)?new cljs.core.PersistentVector(null,
2,5,cljs.core.PersistentVector.EMPTY_NODE,[b.call(null,5),8],null):null!=b.call(null,7)?new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[b.call(null,7),parseInt(b.call(null,6))],null):new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[null,null],null);var c=b.call(null,0);if(null==c)return null;b=parseInt(c,b.call(null,1));a=a?-1*b:b;return cljs.core.truth_(isNaN(a))?null:a};
cljs.tools.reader.impl.commons.match_ratio=function(a){var b=cljs.core.vec.call(null,cljs.core.re_find.call(null,cljs.tools.reader.impl.commons.ratio_pattern,a));a=b.call(null,1);b=b.call(null,2);a=cljs.core.truth_(cljs.core.re_find.call(null,/^\+/,a))?cljs.core.subs.call(null,a,1):a;return parseInt(a)/parseInt(b)};
cljs.tools.reader.impl.commons.match_float=function(a){var b=cljs.core.vec.call(null,cljs.core.re_find.call(null,cljs.tools.reader.impl.commons.float_pattern,a));return null!=b.call(null,4)?parseFloat(b.call(null,1)):parseFloat(a)};cljs.tools.reader.impl.commons.matches_QMARK_=function(a,b){a=cljs.core.re_find.call(null,a,b);return cljs.core.nth.call(null,a,0,null)===b};
cljs.tools.reader.impl.commons.match_number=function(a){return cljs.tools.reader.impl.commons.matches_QMARK_.call(null,cljs.tools.reader.impl.commons.int_pattern,a)?cljs.tools.reader.impl.commons.match_int.call(null,a):cljs.tools.reader.impl.commons.matches_QMARK_.call(null,cljs.tools.reader.impl.commons.float_pattern,a)?cljs.tools.reader.impl.commons.match_float.call(null,a):cljs.tools.reader.impl.commons.matches_QMARK_.call(null,cljs.tools.reader.impl.commons.ratio_pattern,a)?cljs.tools.reader.impl.commons.match_ratio.call(null,
a):null};
cljs.tools.reader.impl.commons.parse_symbol=function(a){if(""===a||!0===/:$/.test(a)||!0===/^::/.test(a))return null;var b=a.indexOf("/"),c=0<b?cljs.core.subs.call(null,a,0,b):null;if(null!=c){b+=1;if(b===cljs.core.count.call(null,a))return null;a=cljs.core.subs.call(null,a,b);return cljs.tools.reader.impl.utils.numeric_QMARK_.call(null,cljs.core.nth.call(null,a,0))||""===a||!1!==/:$/.test(c)||"/"!==a&&-1!==a.indexOf("/")?null:new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[c,
a],null)}return"/"===a||-1===a.indexOf("/")?new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[null,a],null):null};cljs.tools.reader.impl.commons.read_comment=function(a){for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;b=1<b.length?new cljs.core.IndexedSeq(b.slice(1),0,null):null;return cljs.tools.reader.impl.commons.read_comment.cljs$core$IFn$_invoke$arity$variadic(arguments[0],b)};
cljs.tools.reader.impl.commons.read_comment.cljs$core$IFn$_invoke$arity$variadic=function(a,b){return cljs.tools.reader.impl.commons.skip_line.call(null,a)};cljs.tools.reader.impl.commons.read_comment.cljs$lang$maxFixedArity=1;cljs.tools.reader.impl.commons.read_comment.cljs$lang$applyTo=function(a){var b=cljs.core.first.call(null,a);a=cljs.core.next.call(null,a);return this.cljs$core$IFn$_invoke$arity$variadic(b,a)};
cljs.tools.reader.impl.commons.throwing_reader=function(a){return function(){var b=function(b,c){return cljs.tools.reader.impl.errors.reader_error.call(null,b,a)},c=function(a,c){var d=null;if(1<arguments.length){d=0;for(var e=Array(arguments.length-1);d<e.length;)e[d]=arguments[d+1],++d;d=new cljs.core.IndexedSeq(e,0,null)}return b.call(this,a,d)};c.cljs$lang$maxFixedArity=1;c.cljs$lang$applyTo=function(a){var c=cljs.core.first(a);a=cljs.core.rest(a);return b(c,a)};c.cljs$core$IFn$_invoke$arity$variadic=
b;return c}()};cljs.tools.reader.macro_terminating_QMARK_=function(a){switch(a){case '"':case ";":case "@":case "^":case "`":case "~":case "(":case ")":case "[":case "]":case "{":case "}":case "\\":return!0;default:return!1}};cljs.tools.reader.sb=new goog.string.StringBuffer;
cljs.tools.reader.read_token=function(a,b,c){if(null==c)return cljs.tools.reader.impl.errors.throw_eof_at_start.call(null,a,b);cljs.tools.reader.sb.clear();for(b=c;;){if(cljs.tools.reader.impl.utils.whitespace_QMARK_.call(null,b)||cljs.tools.reader.macro_terminating_QMARK_.call(null,b)||null==b)return null!=b&&cljs.tools.reader.reader_types.unread.call(null,a,b),cljs.tools.reader.sb.toString();cljs.tools.reader.sb.append(b);b=cljs.tools.reader.reader_types.read_char.call(null,a)}};
cljs.tools.reader.read_dispatch=function(a,b,c,d){var e=cljs.tools.reader.reader_types.read_char.call(null,a);return cljs.core.truth_(e)?(b=cljs.tools.reader.dispatch_macros.call(null,e),cljs.core.truth_(b)?b.call(null,a,e,c,d):cljs.tools.reader.read_tagged.call(null,function(){cljs.tools.reader.reader_types.unread.call(null,a,e);return a}(),e,c,d)):cljs.tools.reader.impl.errors.throw_eof_at_dispatch.call(null,a)};
cljs.tools.reader.read_unmatched_delimiter=function(a,b,c,d){return cljs.tools.reader.impl.errors.throw_unmatch_delimiter.call(null,a,b)};
cljs.tools.reader.read_regex=function(a,b,c,d){b=new goog.string.StringBuffer;for(c=cljs.tools.reader.reader_types.read_char.call(null,a);;){if('"'===c)return cljs.core.re_pattern.call(null,cljs.core.str.cljs$core$IFn$_invoke$arity$1(b));if(null==c)return cljs.tools.reader.impl.errors.throw_eof_reading.call(null,a,new cljs.core.Keyword(null,"regex","regex",939488856),b);b.append(c);"\\"===c&&(c=cljs.tools.reader.reader_types.read_char.call(null,a),null==c&&cljs.tools.reader.impl.errors.throw_eof_reading.call(null,
a,new cljs.core.Keyword(null,"regex","regex",939488856),b),b.append(c));c=cljs.tools.reader.reader_types.read_char.call(null,a)}};
cljs.tools.reader.read_unicode_char=function(a){switch(arguments.length){case 4:return cljs.tools.reader.read_unicode_char.cljs$core$IFn$_invoke$arity$4(arguments[0],arguments[1],arguments[2],arguments[3]);case 5:return cljs.tools.reader.read_unicode_char.cljs$core$IFn$_invoke$arity$5(arguments[0],arguments[1],arguments[2],arguments[3],arguments[4]);default:throw Error(["Invalid arity: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(""));}};
cljs.tools.reader.read_unicode_char.cljs$core$IFn$_invoke$arity$4=function(a,b,c,d){c=b+c;cljs.core.count.call(null,a)!==c&&cljs.tools.reader.impl.errors.throw_invalid_unicode_literal.call(null,null,a);for(var e=0;;){if(b===c)return String.fromCharCode(e);var f=cljs.tools.reader.impl.utils.char_code.call(null,cljs.core.nth.call(null,a,b),d);if(-1===f)return cljs.tools.reader.impl.errors.throw_invalid_unicode_digit_in_token.call(null,null,cljs.core.nth.call(null,a,b),a);e=f+e*d;b+=1}};
cljs.tools.reader.read_unicode_char.cljs$core$IFn$_invoke$arity$5=function(a,b,c,d,e){for(var f=1,g=cljs.tools.reader.impl.utils.char_code.call(null,b,c);;){if(-1===g)return cljs.tools.reader.impl.errors.throw_invalid_unicode_digit.call(null,a,b);if(f!==d){var h=cljs.tools.reader.reader_types.peek_char.call(null,a);if(cljs.core.truth_(function(){var a=cljs.tools.reader.impl.utils.whitespace_QMARK_.call(null,h);if(a)return a;a=cljs.tools.reader.macros.call(null,h);return cljs.core.truth_(a)?a:null==
h}()))return cljs.core.truth_(e)?cljs.tools.reader.impl.errors.throw_invalid_unicode_len.call(null,a,f,d):String.fromCharCode(g);var k=cljs.tools.reader.impl.utils.char_code.call(null,h,c);cljs.tools.reader.reader_types.read_char.call(null,a);if(-1===k)return cljs.tools.reader.impl.errors.throw_invalid_unicode_digit.call(null,a,h);g=k+g*c;f+=1}else return String.fromCharCode(g)}};cljs.tools.reader.read_unicode_char.cljs$lang$maxFixedArity=5;cljs.tools.reader.upper_limit=55295;
cljs.tools.reader.lower_limit=57344;cljs.tools.reader.valid_octal_QMARK_=function(a,b){return 255>=parseInt(a,b)};
cljs.tools.reader.read_char_STAR_=function(a,b,c,d){b=cljs.tools.reader.reader_types.read_char.call(null,a);if(null!=b){b=cljs.tools.reader.macro_terminating_QMARK_.call(null,b)||cljs.tools.reader.impl.utils.whitespace_QMARK_.call(null,b)?cljs.core.str.cljs$core$IFn$_invoke$arity$1(b):cljs.tools.reader.read_token.call(null,a,new cljs.core.Keyword(null,"character","character",380652989),b);c=b.length;if(1===c)return b.charAt(0);if(cljs.core._EQ_.call(null,b,"newline"))return"\n";if(cljs.core._EQ_.call(null,
b,"space"))return" ";if(cljs.core._EQ_.call(null,b,"tab"))return"\t";if(cljs.core._EQ_.call(null,b,"backspace"))return"\b";if(cljs.core._EQ_.call(null,b,"formfeed"))return"\f";if(cljs.core._EQ_.call(null,b,"return"))return"\r";if(cljs.core.truth_(goog.string.startsWith(b,"u")))return b=cljs.tools.reader.read_unicode_char.call(null,b,1,4,16),c=b.charCodeAt(0),c>cljs.tools.reader.upper_limit&&c<cljs.tools.reader.lower_limit?cljs.tools.reader.impl.errors.throw_invalid_character_literal.call(null,a,c.toString(16)):
b;if(cljs.core.truth_(goog.string.startsWith(b,"o"))){--c;if(3<c)return cljs.tools.reader.impl.errors.throw_invalid_octal_len.call(null,a,b);c=cljs.tools.reader.read_unicode_char.call(null,b,1,c,8);return cljs.tools.reader.valid_octal_QMARK_.call(null,cljs.core.subs.call(null,b,1),8)?c:cljs.tools.reader.impl.errors.throw_bad_octal_number.call(null,a)}return cljs.tools.reader.impl.errors.throw_unsupported_character.call(null,a,b)}return cljs.tools.reader.impl.errors.throw_eof_in_character.call(null,
a)};cljs.tools.reader.starting_line_col_info=function(a){return cljs.tools.reader.reader_types.indexing_reader_QMARK_.call(null,a)?new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[cljs.tools.reader.reader_types.get_line_number.call(null,a),cljs.tools.reader.reader_types.get_column_number.call(null,a)-1|0],null):null};
cljs.tools.reader.ending_line_col_info=function(a){return cljs.tools.reader.reader_types.indexing_reader_QMARK_.call(null,a)?new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[cljs.tools.reader.reader_types.get_line_number.call(null,a),cljs.tools.reader.reader_types.get_column_number.call(null,a)],null):null};
if("undefined"===typeof cljs||"undefined"===typeof cljs.tools||"undefined"===typeof cljs.tools.reader||"undefined"===typeof cljs.tools.reader.READ_EOF)cljs.tools.reader.READ_EOF={};if("undefined"===typeof cljs||"undefined"===typeof cljs.tools||"undefined"===typeof cljs.tools.reader||"undefined"===typeof cljs.tools.reader.READ_FINISHED)cljs.tools.reader.READ_FINISHED={};cljs.tools.reader._STAR_read_delim_STAR_=!1;
cljs.tools.reader.read_delimited_internal=function(a,b,c,d,e){var f=cljs.tools.reader.starting_line_col_info.call(null,c),g=cljs.core.nth.call(null,f,0,null);f=cljs.core.nth.call(null,f,1,null);b=cljs.tools.reader.impl.utils.char$.call(null,b);for(var h=cljs.core.transient$.call(null,cljs.core.PersistentVector.EMPTY);;){var k=cljs.tools.reader.read_STAR_.call(null,c,!1,cljs.tools.reader.READ_EOF,b,d,e);if(k===cljs.tools.reader.READ_FINISHED)return cljs.core.persistent_BANG_.call(null,h);if(k===cljs.tools.reader.READ_EOF)return cljs.tools.reader.impl.errors.throw_eof_delimited.call(null,
c,a,g,f,cljs.core.count.call(null,h));h=cljs.core.conj_BANG_.call(null,h,k)}};cljs.tools.reader.read_delimited=function(a,b,c,d,e){var f=cljs.tools.reader._STAR_read_delim_STAR_;cljs.tools.reader._STAR_read_delim_STAR_=!0;try{return cljs.tools.reader.read_delimited_internal.call(null,a,b,c,d,e)}finally{cljs.tools.reader._STAR_read_delim_STAR_=f}};
cljs.tools.reader.read_list=function(a,b,c,d){var e=cljs.tools.reader.starting_line_col_info.call(null,a);b=cljs.core.nth.call(null,e,0,null);e=cljs.core.nth.call(null,e,1,null);c=cljs.tools.reader.read_delimited.call(null,new cljs.core.Keyword(null,"list","list",765357683),")",a,c,d);var f=cljs.tools.reader.ending_line_col_info.call(null,a);d=cljs.core.nth.call(null,f,0,null);f=cljs.core.nth.call(null,f,1,null);return cljs.core.with_meta.call(null,cljs.core.empty_QMARK_.call(null,c)?cljs.core.List.EMPTY:
cljs.core.apply.call(null,cljs.core.list,c),cljs.core.truth_(b)?cljs.core.merge.call(null,function(){var b=cljs.tools.reader.reader_types.get_file_name.call(null,a);return cljs.core.truth_(b)?new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"file","file",-1269645878),b],null):null}(),new cljs.core.PersistentArrayMap(null,4,[new cljs.core.Keyword(null,"line","line",212345235),b,new cljs.core.Keyword(null,"column","column",2078222095),e,new cljs.core.Keyword(null,"end-line","end-line",
1837326455),d,new cljs.core.Keyword(null,"end-column","end-column",1425389514),f],null)):null)};
cljs.tools.reader.read_vector=function(a,b,c,d){var e=cljs.tools.reader.starting_line_col_info.call(null,a);b=cljs.core.nth.call(null,e,0,null);e=cljs.core.nth.call(null,e,1,null);c=cljs.tools.reader.read_delimited.call(null,new cljs.core.Keyword(null,"vector","vector",1902966158),"]",a,c,d);var f=cljs.tools.reader.ending_line_col_info.call(null,a);d=cljs.core.nth.call(null,f,0,null);f=cljs.core.nth.call(null,f,1,null);return cljs.core.with_meta.call(null,c,cljs.core.truth_(b)?cljs.core.merge.call(null,
function(){var b=cljs.tools.reader.reader_types.get_file_name.call(null,a);return cljs.core.truth_(b)?new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"file","file",-1269645878),b],null):null}(),new cljs.core.PersistentArrayMap(null,4,[new cljs.core.Keyword(null,"line","line",212345235),b,new cljs.core.Keyword(null,"column","column",2078222095),e,new cljs.core.Keyword(null,"end-line","end-line",1837326455),d,new cljs.core.Keyword(null,"end-column","end-column",1425389514),f],null)):
null)};
cljs.tools.reader.read_map=function(a,b,c,d){var e=cljs.tools.reader.starting_line_col_info.call(null,a);b=cljs.core.nth.call(null,e,0,null);e=cljs.core.nth.call(null,e,1,null);c=cljs.tools.reader.read_delimited.call(null,new cljs.core.Keyword(null,"map","map",1371690461),"}",a,c,d);d=cljs.core.count.call(null,c);var f=cljs.core.take_nth.call(null,2,c),g=cljs.core.set.call(null,f),h=cljs.tools.reader.ending_line_col_info.call(null,a),k=cljs.core.nth.call(null,h,0,null);h=cljs.core.nth.call(null,h,
1,null);cljs.core.odd_QMARK_.call(null,d)&&cljs.tools.reader.impl.errors.throw_odd_map.call(null,a,b,e,c);cljs.core._EQ_.call(null,cljs.core.count.call(null,g),cljs.core.count.call(null,f))||cljs.tools.reader.impl.errors.throw_dup_keys.call(null,a,new cljs.core.Keyword(null,"map","map",1371690461),f);return cljs.core.with_meta.call(null,d<=2*cljs.core.PersistentArrayMap.HASHMAP_THRESHOLD?cljs.core.PersistentArrayMap.fromArray(cljs.core.to_array.call(null,c),!0,!0):cljs.core.PersistentHashMap.fromArray(cljs.core.to_array.call(null,
c),!0),cljs.core.truth_(b)?cljs.core.merge.call(null,function(){var b=cljs.tools.reader.reader_types.get_file_name.call(null,a);return cljs.core.truth_(b)?new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"file","file",-1269645878),b],null):null}(),new cljs.core.PersistentArrayMap(null,4,[new cljs.core.Keyword(null,"line","line",212345235),b,new cljs.core.Keyword(null,"column","column",2078222095),e,new cljs.core.Keyword(null,"end-line","end-line",1837326455),k,new cljs.core.Keyword(null,
"end-column","end-column",1425389514),h],null)):null)};
cljs.tools.reader.read_number=function(a,b){for(var c=function(){var a=new goog.string.StringBuffer;a.append(b);return a}(),d=cljs.tools.reader.reader_types.read_char.call(null,a);;){if(cljs.core.truth_(function(){var a=cljs.tools.reader.impl.utils.whitespace_QMARK_.call(null,d);if(a)return a;a=cljs.tools.reader.macros.call(null,d);return cljs.core.truth_(a)?a:null==d}())){var e=cljs.core.str.cljs$core$IFn$_invoke$arity$1(c);cljs.tools.reader.reader_types.unread.call(null,a,d);var f=cljs.tools.reader.impl.commons.match_number.call(null,
e);return cljs.core.truth_(f)?f:cljs.tools.reader.impl.errors.throw_invalid_number.call(null,a,e)}e=function(){var a=c;a.append(d);return a}();f=cljs.tools.reader.reader_types.read_char.call(null,a);c=e;d=f}};
cljs.tools.reader.escape_char=function(a,b){a=cljs.tools.reader.reader_types.read_char.call(null,b);switch(a){case "t":return"\t";case "r":return"\r";case "n":return"\n";case "\\":return"\\";case '"':return'"';case "b":return"\b";case "f":return"\f";case "u":return a=cljs.tools.reader.reader_types.read_char.call(null,b),-1===parseInt(a|0,16)?cljs.tools.reader.impl.errors.throw_invalid_unicode_escape.call(null,b,a):cljs.tools.reader.read_unicode_char.call(null,b,a,16,4,!0);default:return cljs.tools.reader.impl.utils.numeric_QMARK_.call(null,
a)?(a=cljs.tools.reader.read_unicode_char.call(null,b,a,8,3,!1),255<(a|0)?cljs.tools.reader.impl.errors.throw_bad_octal_number.call(null,b):a):cljs.tools.reader.impl.errors.throw_bad_escape_char.call(null,b,a)}};
cljs.tools.reader.read_string_STAR_=function(a,b,c,d){for(var e=new goog.string.StringBuffer,f=cljs.tools.reader.reader_types.read_char.call(null,a);;){if(null==f)return cljs.tools.reader.impl.errors.throw_eof_reading.call(null,a,new cljs.core.Keyword(null,"string","string",-1989541586),'"',e);switch(f){case "\\":b=function(){var b=e;b.append(cljs.tools.reader.escape_char.call(null,e,a));return b}();c=cljs.tools.reader.reader_types.read_char.call(null,a);e=b;f=c;continue;case '"':return cljs.core.str.cljs$core$IFn$_invoke$arity$1(e);
default:b=function(){var a=e;a.append(f);return a}(),c=cljs.tools.reader.reader_types.read_char.call(null,a),e=b,f=c}}};
cljs.tools.reader.loc_info=function(a,b,c){if(null==b)return null;var d=cljs.tools.reader.reader_types.get_file_name.call(null,a);d=null==d?null:new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"file","file",-1269645878),d],null);var e=cljs.tools.reader.ending_line_col_info.call(null,a);a=cljs.core.nth.call(null,e,0,null);e=cljs.core.nth.call(null,e,1,null);b=new cljs.core.PersistentArrayMap(null,4,[new cljs.core.Keyword(null,"line","line",212345235),b,new cljs.core.Keyword(null,
"column","column",2078222095),c,new cljs.core.Keyword(null,"end-line","end-line",1837326455),a,new cljs.core.Keyword(null,"end-column","end-column",1425389514),e],null);return cljs.core.merge.call(null,d,b)};
cljs.tools.reader.read_symbol=function(a,b){var c=cljs.tools.reader.starting_line_col_info.call(null,a),d=cljs.core.nth.call(null,c,0,null);c=cljs.core.nth.call(null,c,1,null);b=cljs.tools.reader.read_token.call(null,a,new cljs.core.Keyword(null,"symbol","symbol",-1038572696),b);if(null==b)return null;switch(b){case "nil":return null;case "true":return!0;case "false":return!1;case "/":return new cljs.core.Symbol(null,"/","/",-1371932971,null);default:var e=cljs.tools.reader.impl.commons.parse_symbol.call(null,
b);return null!=e?(b=cljs.core.symbol.call(null,cljs.core._nth.call(null,e,0),cljs.core._nth.call(null,e,1)),cljs.core._with_meta.call(null,b,cljs.tools.reader.loc_info.call(null,a,d,c))):cljs.tools.reader.impl.errors.throw_invalid.call(null,a,new cljs.core.Keyword(null,"symbol","symbol",-1038572696),b)}};cljs.tools.reader._STAR_alias_map_STAR_=null;cljs.tools.reader.resolve_alias=function(a){return cljs.core.get.call(null,cljs.tools.reader._STAR_alias_map_STAR_,a)};
cljs.tools.reader.resolve_ns=function(a){var b=cljs.tools.reader.resolve_alias.call(null,a);if(cljs.core.truth_(b))return b;a=cljs.core.find_ns.call(null,a);return cljs.core.truth_(a)?cljs.core.symbol.call(null,cljs.core.ns_name.call(null,a)):null};
cljs.tools.reader.read_keyword=function(a,b,c,d){b=cljs.tools.reader.reader_types.read_char.call(null,a);if(cljs.tools.reader.impl.utils.whitespace_QMARK_.call(null,b))return cljs.tools.reader.impl.errors.throw_single_colon.call(null,a);b=cljs.tools.reader.read_token.call(null,a,new cljs.core.Keyword(null,"keyword","keyword",811389747),b);d=cljs.tools.reader.impl.commons.parse_symbol.call(null,b);if(null!=d){c=cljs.core._nth.call(null,d,0);d=cljs.core._nth.call(null,d,1);if(":"===b.charAt(0)){if(null!=
c)return c=cljs.tools.reader.resolve_alias.call(null,cljs.core.symbol.call(null,cljs.core.subs.call(null,c,1))),cljs.core.truth_(c)?cljs.core.keyword.call(null,cljs.core.str.cljs$core$IFn$_invoke$arity$1(c),d):cljs.tools.reader.impl.errors.throw_invalid.call(null,a,new cljs.core.Keyword(null,"keyword","keyword",811389747),[":",cljs.core.str.cljs$core$IFn$_invoke$arity$1(b)].join(""));c=cljs.core._STAR_ns_STAR_;return cljs.core.truth_(c)?cljs.core.keyword.call(null,cljs.core.str.cljs$core$IFn$_invoke$arity$1(c),
cljs.core.subs.call(null,d,1)):cljs.tools.reader.impl.errors.reader_error.call(null,a,"Invalid token: :",b)}return cljs.core.keyword.call(null,c,d)}return cljs.tools.reader.impl.errors.throw_invalid.call(null,a,new cljs.core.Keyword(null,"keyword","keyword",811389747),[":",cljs.core.str.cljs$core$IFn$_invoke$arity$1(b)].join(""))};
cljs.tools.reader.wrapping_reader=function(a){return function(b,c,d,e){return new cljs.core.List(null,a,new cljs.core.List(null,cljs.tools.reader.read_STAR_.call(null,b,!0,null,d,e),null,1,null),2,null)}};
cljs.tools.reader.read_meta=function(a,b,c,d){if(cljs.tools.reader.reader_types.source_logging_reader_QMARK_.call(null,a)&&!cljs.tools.reader.impl.utils.whitespace_QMARK_.call(null,cljs.tools.reader.reader_types.peek_char.call(null,a)))return cljs.tools.reader.reader_types.log_source_STAR_.call(null,a,function(){var b=cljs.tools.reader.starting_line_col_info.call(null,a),e=cljs.core.nth.call(null,b,0,null),f=cljs.core.nth.call(null,b,1,null),g=cljs.tools.reader.impl.utils.desugar_meta.call(null,cljs.tools.reader.read_STAR_.call(null,
a,!0,null,c,d));cljs.core.map_QMARK_.call(null,g)||cljs.tools.reader.impl.errors.throw_bad_metadata.call(null,a,g);b=cljs.tools.reader.read_STAR_.call(null,a,!0,null,c,d);return null!=b&&(b.cljs$lang$protocol_mask$partition0$&131072||cljs.core.PROTOCOL_SENTINEL===b.cljs$core$IMeta$)?(e=cljs.core.truth_(cljs.core.truth_(e)?cljs.core.seq_QMARK_.call(null,b):e)?cljs.core.assoc.call(null,g,new cljs.core.Keyword(null,"line","line",212345235),e,new cljs.core.Keyword(null,"column","column",2078222095),f):
g,null!=b&&(b.cljs$lang$protocol_mask$partition0$&262144||cljs.core.PROTOCOL_SENTINEL===b.cljs$core$IWithMeta$)?cljs.core.with_meta.call(null,b,cljs.core.merge.call(null,cljs.core.meta.call(null,b),e)):cljs.core.reset_meta_BANG_.call(null,b,e)):cljs.tools.reader.impl.errors.throw_bad_metadata_target.call(null,a,b)});var e=cljs.tools.reader.starting_line_col_info.call(null,a);b=cljs.core.nth.call(null,e,0,null);var f=cljs.core.nth.call(null,e,1,null),g=cljs.tools.reader.impl.utils.desugar_meta.call(null,
cljs.tools.reader.read_STAR_.call(null,a,!0,null,c,d));cljs.core.map_QMARK_.call(null,g)||cljs.tools.reader.impl.errors.throw_bad_metadata.call(null,a,g);e=cljs.tools.reader.read_STAR_.call(null,a,!0,null,c,d);return null!=e&&(e.cljs$lang$protocol_mask$partition0$&131072||cljs.core.PROTOCOL_SENTINEL===e.cljs$core$IMeta$)?(b=cljs.core.truth_(cljs.core.truth_(b)?cljs.core.seq_QMARK_.call(null,e):b)?cljs.core.assoc.call(null,g,new cljs.core.Keyword(null,"line","line",212345235),b,new cljs.core.Keyword(null,
"column","column",2078222095),f):g,null!=e&&(e.cljs$lang$protocol_mask$partition0$&262144||cljs.core.PROTOCOL_SENTINEL===e.cljs$core$IWithMeta$)?cljs.core.with_meta.call(null,e,cljs.core.merge.call(null,cljs.core.meta.call(null,e),b)):cljs.core.reset_meta_BANG_.call(null,e,b)):cljs.tools.reader.impl.errors.throw_bad_metadata_target.call(null,a,e)};
cljs.tools.reader.read_set=function(a,b,c,d){var e=cljs.tools.reader.starting_line_col_info.call(null,a);b=cljs.core.nth.call(null,e,0,null);e=cljs.core.nth.call(null,e,1,null);e=cljs.core.truth_(e)?e-1|0:null;c=cljs.tools.reader.read_delimited.call(null,new cljs.core.Keyword(null,"set","set",304602554),"}",a,c,d);d=cljs.core.set.call(null,c);var f=cljs.tools.reader.ending_line_col_info.call(null,a),g=cljs.core.nth.call(null,f,0,null);f=cljs.core.nth.call(null,f,1,null);cljs.core._EQ_.call(null,cljs.core.count.call(null,
c),cljs.core.count.call(null,d))||cljs.tools.reader.impl.errors.reader_error.call(null,a,cljs.tools.reader.impl.errors.throw_dup_keys.call(null,a,new cljs.core.Keyword(null,"set","set",304602554),c));return cljs.core.with_meta.call(null,d,cljs.core.truth_(b)?cljs.core.merge.call(null,function(){var b=cljs.tools.reader.reader_types.get_file_name.call(null,a);return cljs.core.truth_(b)?new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"file","file",-1269645878),b],null):null}(),new cljs.core.PersistentArrayMap(null,
4,[new cljs.core.Keyword(null,"line","line",212345235),b,new cljs.core.Keyword(null,"column","column",2078222095),e,new cljs.core.Keyword(null,"end-line","end-line",1837326455),g,new cljs.core.Keyword(null,"end-column","end-column",1425389514),f],null)):null)};cljs.tools.reader.read_discard=function(a,b,c,d){cljs.tools.reader.read_STAR_.call(null,a,!0,null,c,d);return a};
cljs.tools.reader.read_symbolic_value=function(a,b,c,d){b=cljs.tools.reader.read_STAR_.call(null,a,!0,null,c,d);return cljs.core._EQ_.call(null,new cljs.core.Symbol(null,"NaN","NaN",666918153,null),b)?Number.NaN:cljs.core._EQ_.call(null,new cljs.core.Symbol(null,"-Inf","-Inf",-2123243689,null),b)?Number.NEGATIVE_INFINITY:cljs.core._EQ_.call(null,new cljs.core.Symbol(null,"Inf","Inf",647172781,null),b)?Number.POSITIVE_INFINITY:cljs.tools.reader.impl.errors.reader_error.call(null,a,["Invalid token: ##",
cljs.core.str.cljs$core$IFn$_invoke$arity$1(b)].join(""))};cljs.tools.reader.RESERVED_FEATURES=new cljs.core.PersistentHashSet(null,new cljs.core.PersistentArrayMap(null,2,[new cljs.core.Keyword(null,"else","else",-1508377146),null,new cljs.core.Keyword(null,"none","none",1333468478),null],null),null);
cljs.tools.reader.has_feature_QMARK_=function(a,b,c){return b instanceof cljs.core.Keyword?cljs.core._EQ_.call(null,new cljs.core.Keyword(null,"default","default",-1987822328),b)||cljs.core.contains_QMARK_.call(null,cljs.core.get.call(null,c,new cljs.core.Keyword(null,"features","features",-1146962336)),b):cljs.tools.reader.impl.errors.reader_error.call(null,a,"Feature should be a keyword: ",b)};
cljs.tools.reader.check_eof_error=function(a,b,c){return a===cljs.tools.reader.READ_EOF?cljs.tools.reader.impl.errors.throw_eof_error.call(null,b,function(){var a=0>c;return a?c:a}()):null};cljs.tools.reader.check_reserved_features=function(a,b){return cljs.core.truth_(cljs.core.get.call(null,cljs.tools.reader.RESERVED_FEATURES,b))?cljs.tools.reader.impl.errors.reader_error.call(null,a,"Feature name ",b," is reserved"):null};
cljs.tools.reader.check_invalid_read_cond=function(a,b,c){return a===cljs.tools.reader.READ_FINISHED?0>c?cljs.tools.reader.impl.errors.reader_error.call(null,b,"read-cond requires an even number of forms"):cljs.tools.reader.impl.errors.reader_error.call(null,b,"read-cond starting on line ",c," requires an even number of forms"):null};
cljs.tools.reader.read_suppress=function(a,b,c,d){var e=cljs.tools.reader._STAR_suppress_read_STAR_;cljs.tools.reader._STAR_suppress_read_STAR_=!0;try{var f=cljs.tools.reader.read_STAR_.call(null,b,!1,cljs.tools.reader.READ_EOF,")",c,d);cljs.tools.reader.check_eof_error.call(null,f,b,a);return f===cljs.tools.reader.READ_FINISHED?cljs.tools.reader.READ_FINISHED:null}finally{cljs.tools.reader._STAR_suppress_read_STAR_=e}};
if("undefined"===typeof cljs||"undefined"===typeof cljs.tools||"undefined"===typeof cljs.tools.reader||"undefined"===typeof cljs.tools.reader.NO_MATCH)cljs.tools.reader.NO_MATCH={};
cljs.tools.reader.match_feature=function(a,b,c,d){var e=cljs.tools.reader.read_STAR_.call(null,b,!1,cljs.tools.reader.READ_EOF,")",c,d);cljs.tools.reader.check_eof_error.call(null,e,b,a);if(cljs.core._EQ_.call(null,e,cljs.tools.reader.READ_FINISHED))return cljs.tools.reader.READ_FINISHED;cljs.tools.reader.check_reserved_features.call(null,b,e);if(cljs.tools.reader.has_feature_QMARK_.call(null,b,e,c))return c=cljs.tools.reader.read_STAR_.call(null,b,!1,cljs.tools.reader.READ_EOF,")",c,d),cljs.tools.reader.check_eof_error.call(null,
c,b,a),cljs.tools.reader.check_invalid_read_cond.call(null,c,b,a),c;a=cljs.tools.reader.read_suppress.call(null,a,b,c,d);return cljs.core.truth_(a)?a:cljs.tools.reader.NO_MATCH};
cljs.tools.reader.read_cond_delimited=function(a,b,c,d){var e=cljs.tools.reader.reader_types.indexing_reader_QMARK_.call(null,a)?cljs.tools.reader.reader_types.get_line_number.call(null,a):-1;a:for(var f=cljs.tools.reader.NO_MATCH,g=null;;)if(f===cljs.tools.reader.NO_MATCH)if(f=cljs.tools.reader.match_feature.call(null,e,a,c,d),f===cljs.tools.reader.READ_FINISHED){c=cljs.tools.reader.READ_FINISHED;break a}else g=null;else if(g!==cljs.tools.reader.READ_FINISHED)g=cljs.tools.reader.read_suppress.call(null,
e,a,c,d);else{c=f;break a}return c===cljs.tools.reader.READ_FINISHED?a:cljs.core.truth_(b)?null!=c&&(c.cljs$lang$protocol_mask$partition0$&16777216||cljs.core.PROTOCOL_SENTINEL===c.cljs$core$ISequential$)?(goog.array.insertArrayAt(d,cljs.core.to_array.call(null,c),0),a):cljs.tools.reader.impl.errors.reader_error.call(null,a,"Spliced form list in read-cond-splicing must implement ISequential"):c};
cljs.tools.reader.read_cond=function(a,b,c,d){if(cljs.core.not.call(null,cljs.core.truth_(c)?(new cljs.core.PersistentHashSet(null,new cljs.core.PersistentArrayMap(null,2,[new cljs.core.Keyword(null,"preserve","preserve",1276846509),null,new cljs.core.Keyword(null,"allow","allow",-1857325745),null],null),null)).call(null,(new cljs.core.Keyword(null,"read-cond","read-cond",1056899244)).cljs$core$IFn$_invoke$arity$1(c)):c))throw cljs.core.ex_info.call(null,"Conditional read not allowed",new cljs.core.PersistentArrayMap(null,
1,[new cljs.core.Keyword(null,"type","type",1174270348),new cljs.core.Keyword(null,"runtime-exception","runtime-exception",-1495664514)],null));var e=cljs.tools.reader.reader_types.read_char.call(null,a);if(cljs.core.truth_(e))if(e=(b=cljs.core._EQ_.call(null,e,"@"))?cljs.tools.reader.reader_types.read_char.call(null,a):e,b&&(cljs.tools.reader._STAR_read_delim_STAR_||cljs.tools.reader.impl.errors.reader_error.call(null,a,"cond-splice not in list")),e=cljs.tools.reader.impl.utils.whitespace_QMARK_.call(null,
e)?cljs.tools.reader.impl.commons.read_past.call(null,cljs.tools.reader.impl.utils.whitespace_QMARK_,a):e,cljs.core.truth_(e)){if(cljs.core.not_EQ_.call(null,e,"("))throw cljs.core.ex_info.call(null,"read-cond body must be a list",new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"type","type",1174270348),new cljs.core.Keyword(null,"runtime-exception","runtime-exception",-1495664514)],null));var f=cljs.tools.reader._STAR_suppress_read_STAR_;var g=cljs.tools.reader._STAR_suppress_read_STAR_;
g=cljs.core.truth_(g)?g:cljs.core._EQ_.call(null,new cljs.core.Keyword(null,"preserve","preserve",1276846509),(new cljs.core.Keyword(null,"read-cond","read-cond",1056899244)).cljs$core$IFn$_invoke$arity$1(c));cljs.tools.reader._STAR_suppress_read_STAR_=g;try{return cljs.core.truth_(cljs.tools.reader._STAR_suppress_read_STAR_)?cljs.tools.reader.impl.utils.reader_conditional.call(null,cljs.tools.reader.read_list.call(null,a,e,c,d),b):cljs.tools.reader.read_cond_delimited.call(null,a,b,c,d)}finally{cljs.tools.reader._STAR_suppress_read_STAR_=
f}}else return cljs.tools.reader.impl.errors.throw_eof_in_character.call(null,a);else return cljs.tools.reader.impl.errors.throw_eof_in_character.call(null,a)};cljs.tools.reader.arg_env=null;cljs.tools.reader.garg=function(a){return cljs.core.symbol.call(null,[-1===a?"rest":["p",cljs.core.str.cljs$core$IFn$_invoke$arity$1(a)].join(""),"__",cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.tools.reader.impl.utils.next_id.call(null)),"#"].join(""))};
cljs.tools.reader.read_fn=function(a,b,c,d){if(cljs.core.truth_(cljs.tools.reader.arg_env))throw cljs.core.ex_info.call(null,"Nested #()s are not allowed",new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"type","type",1174270348),new cljs.core.Keyword(null,"illegal-state","illegal-state",-1519851182)],null));b=cljs.tools.reader.arg_env;var e=cljs.core.sorted_map.call(null);cljs.tools.reader.arg_env=e;try{var f=cljs.tools.reader.read_STAR_.call(null,function(){cljs.tools.reader.reader_types.unread.call(null,
a,"(");return a}(),!0,null,c,d),g=cljs.core.rseq.call(null,cljs.tools.reader.arg_env),h=g?function(){var a=cljs.core.key.call(null,cljs.core.first.call(null,g)),b=function(){for(var b=1,c=cljs.core.transient$.call(null,cljs.core.PersistentVector.EMPTY);;){if(b>a)return cljs.core.persistent_BANG_.call(null,c);var d=b+1;c=cljs.core.conj_BANG_.call(null,c,function(){var a=cljs.core.get.call(null,cljs.tools.reader.arg_env,b);return cljs.core.truth_(a)?a:cljs.tools.reader.garg.call(null,b)}());b=d}}();
return cljs.core.truth_(cljs.tools.reader.arg_env.call(null,-1))?cljs.core.conj.call(null,b,new cljs.core.Symbol(null,"\x26","\x26",-2144855648,null),cljs.tools.reader.arg_env.call(null,-1)):b}():cljs.core.PersistentVector.EMPTY;return new cljs.core.List(null,new cljs.core.Symbol(null,"fn*","fn*",-752876845,null),new cljs.core.List(null,h,new cljs.core.List(null,f,null,1,null),2,null),3,null)}finally{cljs.tools.reader.arg_env=b}};
cljs.tools.reader.register_arg=function(a){if(cljs.core.truth_(cljs.tools.reader.arg_env)){var b=cljs.tools.reader.arg_env.call(null,a);if(cljs.core.truth_(b))return b;b=cljs.tools.reader.garg.call(null,a);cljs.tools.reader.arg_env=cljs.core.assoc.call(null,cljs.tools.reader.arg_env,a,b);return b}throw cljs.core.ex_info.call(null,"Arg literal not in #()",new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"type","type",1174270348),new cljs.core.Keyword(null,"illegal-state","illegal-state",
-1519851182)],null));};
cljs.tools.reader.read_arg=function(a,b,c,d){if(null==cljs.tools.reader.arg_env)return cljs.tools.reader.read_symbol.call(null,a,b);b=cljs.tools.reader.reader_types.peek_char.call(null,a);if(cljs.tools.reader.impl.utils.whitespace_QMARK_.call(null,b)||cljs.tools.reader.macro_terminating_QMARK_.call(null,b)||null==b)return cljs.tools.reader.register_arg.call(null,1);if(cljs.core._EQ_.call(null,b,"\x26"))return cljs.tools.reader.reader_types.read_char.call(null,a),cljs.tools.reader.register_arg.call(null,-1);
a=cljs.tools.reader.read_STAR_.call(null,a,!0,null,c,d);if(cljs.core.integer_QMARK_.call(null,a))return cljs.tools.reader.register_arg.call(null,a);throw cljs.core.ex_info.call(null,"Arg literal must be %, %\x26 or %integer",new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"type","type",1174270348),new cljs.core.Keyword(null,"illegal-state","illegal-state",-1519851182)],null));};cljs.tools.reader.gensym_env=null;
cljs.tools.reader.read_unquote=function(a,b,c,d){b=cljs.tools.reader.reader_types.peek_char.call(null,a);return cljs.core.truth_(b)?cljs.core._EQ_.call(null,"@",b)?cljs.tools.reader.wrapping_reader.call(null,new cljs.core.Symbol("clojure.core","unquote-splicing","clojure.core/unquote-splicing",-552003150,null)).call(null,function(){cljs.tools.reader.reader_types.read_char.call(null,a);return a}(),"@",c,d):cljs.tools.reader.wrapping_reader.call(null,new cljs.core.Symbol("clojure.core","unquote","clojure.core/unquote",
843087510,null)).call(null,a,"~",c,d):null};cljs.tools.reader.unquote_splicing_QMARK_=function(a){return cljs.core.seq_QMARK_.call(null,a)&&cljs.core._EQ_.call(null,cljs.core.first.call(null,a),new cljs.core.Symbol("clojure.core","unquote-splicing","clojure.core/unquote-splicing",-552003150,null))};
cljs.tools.reader.unquote_QMARK_=function(a){return cljs.core.seq_QMARK_.call(null,a)&&cljs.core._EQ_.call(null,cljs.core.first.call(null,a),new cljs.core.Symbol("clojure.core","unquote","clojure.core/unquote",843087510,null))};
cljs.tools.reader.expand_list=function(a){a=cljs.core.seq.call(null,a);for(var b=cljs.core.transient$.call(null,cljs.core.PersistentVector.EMPTY);;)if(a){var c=cljs.core.first.call(null,a);b=cljs.core.conj_BANG_.call(null,b,cljs.tools.reader.unquote_QMARK_.call(null,c)?new cljs.core.List(null,new cljs.core.Symbol("clojure.core","list","clojure.core/list",-1119203325,null),new cljs.core.List(null,cljs.core.second.call(null,c),null,1,null),2,null):cljs.tools.reader.unquote_splicing_QMARK_.call(null,
c)?cljs.core.second.call(null,c):new cljs.core.List(null,new cljs.core.Symbol("clojure.core","list","clojure.core/list",-1119203325,null),new cljs.core.List(null,cljs.tools.reader.syntax_quote_STAR_.call(null,c),null,1,null),2,null));a=cljs.core.next.call(null,a)}else return cljs.core.seq.call(null,cljs.core.persistent_BANG_.call(null,b))};
cljs.tools.reader.flatten_map=function(a){a=cljs.core.seq.call(null,a);for(var b=cljs.core.transient$.call(null,cljs.core.PersistentVector.EMPTY);;)if(a){var c=cljs.core.first.call(null,a);a=cljs.core.next.call(null,a);b=cljs.core.conj_BANG_.call(null,cljs.core.conj_BANG_.call(null,b,cljs.core.key.call(null,c)),cljs.core.val.call(null,c))}else return cljs.core.seq.call(null,cljs.core.persistent_BANG_.call(null,b))};
cljs.tools.reader.register_gensym=function(a){if(cljs.core.not.call(null,cljs.tools.reader.gensym_env))throw cljs.core.ex_info.call(null,"Gensym literal not in syntax-quote",new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"type","type",1174270348),new cljs.core.Keyword(null,"illegal-state","illegal-state",-1519851182)],null));var b=cljs.core.get.call(null,cljs.tools.reader.gensym_env,a);if(cljs.core.truth_(b))return b;b=cljs.core.symbol.call(null,[cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.core.subs.call(null,
cljs.core.name.call(null,a),0,cljs.core.count.call(null,cljs.core.name.call(null,a))-1)),"__",cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.tools.reader.impl.utils.next_id.call(null)),"__auto__"].join(""));cljs.tools.reader.gensym_env=cljs.core.assoc.call(null,cljs.tools.reader.gensym_env,a,b);return b};
cljs.tools.reader.add_meta=function(a,b){var c=(c=null!=a?a.cljs$lang$protocol_mask$partition0$&262144||cljs.core.PROTOCOL_SENTINEL===a.cljs$core$IWithMeta$?!0:!1:!1)?cljs.core.seq.call(null,cljs.core.dissoc.call(null,cljs.core.meta.call(null,a),new cljs.core.Keyword(null,"line","line",212345235),new cljs.core.Keyword(null,"column","column",2078222095),new cljs.core.Keyword(null,"end-line","end-line",1837326455),new cljs.core.Keyword(null,"end-column","end-column",1425389514),new cljs.core.Keyword(null,
"file","file",-1269645878),new cljs.core.Keyword(null,"source","source",-433931539))):c;return c?new cljs.core.List(null,new cljs.core.Symbol("cljs.core","with-meta","cljs.core/with-meta",749126446,null),new cljs.core.List(null,b,new cljs.core.List(null,cljs.tools.reader.syntax_quote_STAR_.call(null,cljs.core.meta.call(null,a)),null,1,null),2,null),3,null):b};
cljs.tools.reader.syntax_quote_coll=function(a,b){b=new cljs.core.List(null,new cljs.core.Symbol("cljs.core","sequence","cljs.core/sequence",1908459032,null),new cljs.core.List(null,cljs.core.cons.call(null,new cljs.core.Symbol("cljs.core","concat","cljs.core/concat",-1133584918,null),cljs.tools.reader.expand_list.call(null,b)),null,1,null),2,null);return cljs.core.truth_(a)?new cljs.core.List(null,new cljs.core.Symbol("cljs.core","apply","cljs.core/apply",1757277831,null),new cljs.core.List(null,
a,new cljs.core.List(null,b,null,1,null),2,null),3,null):b};cljs.tools.reader.map_func=function(a){return 16<=cljs.core.count.call(null,a)?new cljs.core.Symbol("cljs.core","hash-map","cljs.core/hash-map",303385767,null):new cljs.core.Symbol("cljs.core","array-map","cljs.core/array-map",-1519210683,null)};cljs.tools.reader.bool_QMARK_=function(a){return a instanceof Boolean||!0===a||!1===a};
cljs.tools.reader.resolve_symbol=function(a){throw cljs.core.ex_info.call(null,"resolve-symbol is not implemented",new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"sym","sym",-1444860305),a],null));};
cljs.tools.reader.syntax_quote_STAR_=function(a){return cljs.tools.reader.add_meta.call(null,a,cljs.core.special_symbol_QMARK_.call(null,a)?new cljs.core.List(null,new cljs.core.Symbol(null,"quote","quote",1377916282,null),new cljs.core.List(null,a,null,1,null),2,null):a instanceof cljs.core.Symbol?new cljs.core.List(null,new cljs.core.Symbol(null,"quote","quote",1377916282,null),new cljs.core.List(null,cljs.core.truth_(function(){var b=cljs.core.not.call(null,cljs.core.namespace.call(null,a));return b?
goog.string.endsWith(cljs.core.name.call(null,a),"#"):b}())?cljs.tools.reader.register_gensym.call(null,a):function(){var b=cljs.core.str.cljs$core$IFn$_invoke$arity$1(a);return cljs.core.truth_(goog.string.endsWith(b,"."))?(b=cljs.core.symbol.call(null,cljs.core.subs.call(null,b,0,cljs.core.count.call(null,b)-1)),cljs.core.symbol.call(null,[cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.tools.reader.resolve_symbol.call(null,b)),"."].join(""))):cljs.tools.reader.resolve_symbol.call(null,a)}(),null,
1,null),2,null):cljs.tools.reader.unquote_QMARK_.call(null,a)?cljs.core.second.call(null,a):cljs.tools.reader.unquote_splicing_QMARK_.call(null,a)?function(){throw cljs.core.ex_info.call(null,"unquote-splice not in list",new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"type","type",1174270348),new cljs.core.Keyword(null,"illegal-state","illegal-state",-1519851182)],null));}():cljs.core.coll_QMARK_.call(null,a)?null!=a&&(a.cljs$lang$protocol_mask$partition0$&67108864||cljs.core.PROTOCOL_SENTINEL===
a.cljs$core$IRecord$)?a:cljs.core.map_QMARK_.call(null,a)?cljs.tools.reader.syntax_quote_coll.call(null,cljs.tools.reader.map_func.call(null,a),cljs.tools.reader.flatten_map.call(null,a)):cljs.core.vector_QMARK_.call(null,a)?new cljs.core.List(null,new cljs.core.Symbol("cljs.core","vec","cljs.core/vec",307622519,null),new cljs.core.List(null,cljs.tools.reader.syntax_quote_coll.call(null,null,a),null,1,null),2,null):cljs.core.set_QMARK_.call(null,a)?cljs.tools.reader.syntax_quote_coll.call(null,new cljs.core.Symbol("cljs.core",
"hash-set","cljs.core/hash-set",1130426749,null),a):cljs.core.seq_QMARK_.call(null,a)||cljs.core.list_QMARK_.call(null,a)?function(){var b=cljs.core.seq.call(null,a);return b?cljs.tools.reader.syntax_quote_coll.call(null,null,b):cljs.core.list(new cljs.core.Symbol("cljs.core","list","cljs.core/list",-1331406371,null))}():function(){throw cljs.core.ex_info.call(null,"Unknown Collection type",new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"type","type",1174270348),new cljs.core.Keyword(null,
"unsupported-operation","unsupported-operation",1890540953)],null));}():a instanceof cljs.core.Keyword||"number"===typeof a||"string"===typeof a||null==a||cljs.tools.reader.bool_QMARK_.call(null,a)||a instanceof RegExp?a:new cljs.core.List(null,new cljs.core.Symbol(null,"quote","quote",1377916282,null),new cljs.core.List(null,a,null,1,null),2,null))};
cljs.tools.reader.read_syntax_quote=function(a,b,c,d){b=cljs.tools.reader.gensym_env;cljs.tools.reader.gensym_env=cljs.core.PersistentArrayMap.EMPTY;try{return cljs.tools.reader.syntax_quote_STAR_.call(null,cljs.tools.reader.read_STAR_.call(null,a,!0,null,c,d))}finally{cljs.tools.reader.gensym_env=b}};
cljs.tools.reader.read_namespaced_map=function(a,b,c,d){var e=cljs.tools.reader.read_token.call(null,a,new cljs.core.Keyword(null,"namespaced-map","namespaced-map",1235665380),cljs.tools.reader.reader_types.read_char.call(null,a));b=cljs.core._EQ_.call(null,e,":")?cljs.core.ns_name.call(null,cljs.core._STAR_ns_STAR_):cljs.core._EQ_.call(null,":",cljs.core.first.call(null,e))?function(){var a=null==e?null:cljs.core.subs.call(null,e,1);a=null==a?null:cljs.tools.reader.impl.commons.parse_symbol.call(null,
a);a=null==a?null:cljs.tools.reader.impl.utils.second_SINGLEQUOTE_.call(null,a);a=null==a?null:cljs.core.symbol.call(null,a);return null==a?null:cljs.tools.reader.resolve_ns.call(null,a)}():function(){var a=null==e?null:cljs.tools.reader.impl.commons.parse_symbol.call(null,e);return null==a?null:cljs.tools.reader.impl.utils.second_SINGLEQUOTE_.call(null,a)}();return cljs.core.truth_(b)?"{"===cljs.tools.reader.impl.commons.read_past.call(null,cljs.tools.reader.impl.utils.whitespace_QMARK_,a)?(c=cljs.tools.reader.read_delimited.call(null,
new cljs.core.Keyword(null,"namespaced-map","namespaced-map",1235665380),"}",a,c,d),cljs.core.odd_QMARK_.call(null,cljs.core.count.call(null,c))&&cljs.tools.reader.impl.errors.throw_odd_map.call(null,a,null,null,c),d=cljs.tools.reader.impl.utils.namespace_keys.call(null,cljs.core.str.cljs$core$IFn$_invoke$arity$1(b),cljs.core.take_nth.call(null,2,c)),c=cljs.core.take_nth.call(null,2,cljs.core.rest.call(null,c)),cljs.core._EQ_.call(null,cljs.core.count.call(null,cljs.core.set.call(null,d)),cljs.core.count.call(null,
d))||cljs.tools.reader.impl.errors.throw_dup_keys.call(null,a,new cljs.core.Keyword(null,"namespaced-map","namespaced-map",1235665380),d),cljs.core.zipmap.call(null,d,c)):cljs.tools.reader.impl.errors.throw_ns_map_no_map.call(null,a,e):cljs.tools.reader.impl.errors.throw_bad_ns.call(null,a,e)};
cljs.tools.reader.macros=function(a){switch(a){case '"':return cljs.tools.reader.read_string_STAR_;case ":":return cljs.tools.reader.read_keyword;case ";":return cljs.tools.reader.impl.commons.read_comment;case "'":return cljs.tools.reader.wrapping_reader.call(null,new cljs.core.Symbol(null,"quote","quote",1377916282,null));case "@":return cljs.tools.reader.wrapping_reader.call(null,new cljs.core.Symbol("clojure.core","deref","clojure.core/deref",188719157,null));case "^":return cljs.tools.reader.read_meta;
case "`":return cljs.tools.reader.read_syntax_quote;case "~":return cljs.tools.reader.read_unquote;case "(":return cljs.tools.reader.read_list;case ")":return cljs.tools.reader.read_unmatched_delimiter;case "[":return cljs.tools.reader.read_vector;case "]":return cljs.tools.reader.read_unmatched_delimiter;case "{":return cljs.tools.reader.read_map;case "}":return cljs.tools.reader.read_unmatched_delimiter;case "\\":return cljs.tools.reader.read_char_STAR_;case "%":return cljs.tools.reader.read_arg;
case "#":return cljs.tools.reader.read_dispatch;default:return null}};
cljs.tools.reader.dispatch_macros=function(a){switch(a){case "^":return cljs.tools.reader.read_meta;case "'":return cljs.tools.reader.wrapping_reader.call(null,new cljs.core.Symbol(null,"var","var",870848730,null));case "(":return cljs.tools.reader.read_fn;case "{":return cljs.tools.reader.read_set;case "\x3c":return cljs.tools.reader.impl.commons.throwing_reader.call(null,"Unreadable form");case "\x3d":return cljs.tools.reader.impl.commons.throwing_reader.call(null,"read-eval not supported");case '"':return cljs.tools.reader.read_regex;
case "!":return cljs.tools.reader.impl.commons.read_comment;case "_":return cljs.tools.reader.read_discard;case "?":return cljs.tools.reader.read_cond;case ":":return cljs.tools.reader.read_namespaced_map;case "#":return cljs.tools.reader.read_symbolic_value;default:return null}};
cljs.tools.reader.read_tagged=function(a,b,c,d){b=cljs.tools.reader.read_STAR_.call(null,a,!0,null,c,d);b instanceof cljs.core.Symbol||cljs.tools.reader.impl.errors.throw_bad_reader_tag.call(null,a,b);if(cljs.core.truth_(cljs.tools.reader._STAR_suppress_read_STAR_))return cljs.core.tagged_literal.call(null,b,cljs.tools.reader.read_STAR_.call(null,a,!0,null,c,d));var e=cljs.tools.reader._STAR_data_readers_STAR_.call(null,b);e=cljs.core.truth_(e)?e:cljs.tools.reader.default_data_readers.call(null,b);
if(cljs.core.truth_(e))return e.call(null,cljs.tools.reader.read_STAR_.call(null,a,!0,null,c,d));e=cljs.tools.reader._STAR_default_data_reader_fn_STAR_;return cljs.core.truth_(e)?e.call(null,b,cljs.tools.reader.read_STAR_.call(null,a,!0,null,c,d)):cljs.tools.reader.impl.errors.throw_unknown_reader_tag.call(null,a,b)};cljs.tools.reader._STAR_data_readers_STAR_=cljs.core.PersistentArrayMap.EMPTY;cljs.tools.reader._STAR_default_data_reader_fn_STAR_=null;cljs.tools.reader._STAR_suppress_read_STAR_=!1;
cljs.tools.reader.default_data_readers=cljs.core.PersistentArrayMap.EMPTY;
cljs.tools.reader.read_STAR__internal=function(a,b,c,d,e,f){for(;;){if(cljs.tools.reader.reader_types.source_logging_reader_QMARK_.call(null,a)&&!cljs.tools.reader.impl.utils.whitespace_QMARK_.call(null,cljs.tools.reader.reader_types.peek_char.call(null,a)))return cljs.tools.reader.reader_types.log_source_STAR_.call(null,a,function(){for(;;)if(goog.array.isEmpty(f)){var g=cljs.tools.reader.reader_types.read_char.call(null,a);if(!cljs.tools.reader.impl.utils.whitespace_QMARK_.call(null,g)){if(null==
g)return b?cljs.tools.reader.impl.errors.throw_eof_error.call(null,a,null):c;if(g===d)return cljs.tools.reader.READ_FINISHED;if(cljs.tools.reader.impl.commons.number_literal_QMARK_.call(null,a,g))return cljs.tools.reader.read_number.call(null,a,g);var h=cljs.tools.reader.macros.call(null,g);if(null!=h){if(g=h.call(null,a,g,e,f),g!==a)return g}else return cljs.tools.reader.read_symbol.call(null,a,g)}}else return g=f[0],goog.array.removeAt(f,0),g});if(goog.array.isEmpty(f)){var g=cljs.tools.reader.reader_types.read_char.call(null,
a);if(!cljs.tools.reader.impl.utils.whitespace_QMARK_.call(null,g)){if(null==g)return b?cljs.tools.reader.impl.errors.throw_eof_error.call(null,a,null):c;if(g===d)return cljs.tools.reader.READ_FINISHED;if(cljs.tools.reader.impl.commons.number_literal_QMARK_.call(null,a,g))return cljs.tools.reader.read_number.call(null,a,g);var h=cljs.tools.reader.macros.call(null,g);if(null!=h){if(g=h.call(null,a,g,e,f),g!==a)return g}else return cljs.tools.reader.read_symbol.call(null,a,g)}}else return g=f[0],goog.array.removeAt(f,
0),g}};cljs.tools.reader.read_STAR_=function(a){switch(arguments.length){case 5:return cljs.tools.reader.read_STAR_.cljs$core$IFn$_invoke$arity$5(arguments[0],arguments[1],arguments[2],arguments[3],arguments[4]);case 6:return cljs.tools.reader.read_STAR_.cljs$core$IFn$_invoke$arity$6(arguments[0],arguments[1],arguments[2],arguments[3],arguments[4],arguments[5]);default:throw Error(["Invalid arity: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(""));}};
cljs.tools.reader.read_STAR_.cljs$core$IFn$_invoke$arity$5=function(a,b,c,d,e){return cljs.tools.reader.read_STAR_.call(null,a,b,c,null,d,e)};
cljs.tools.reader.read_STAR_.cljs$core$IFn$_invoke$arity$6=function(a,b,c,d,e,f){try{return cljs.tools.reader.read_STAR__internal.call(null,a,b,c,d,e,f)}catch(g){if(g instanceof Error){b=g;if(cljs.tools.reader.impl.utils.ex_info_QMARK_.call(null,b)){c=cljs.core.ex_data.call(null,b);if(cljs.core._EQ_.call(null,new cljs.core.Keyword(null,"reader-exception","reader-exception",-1938323098),(new cljs.core.Keyword(null,"type","type",1174270348)).cljs$core$IFn$_invoke$arity$1(c)))throw b;throw cljs.core.ex_info.call(null,
b.message,cljs.core.merge.call(null,new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"type","type",1174270348),new cljs.core.Keyword(null,"reader-exception","reader-exception",-1938323098)],null),c,cljs.tools.reader.reader_types.indexing_reader_QMARK_.call(null,a)?new cljs.core.PersistentArrayMap(null,3,[new cljs.core.Keyword(null,"line","line",212345235),cljs.tools.reader.reader_types.get_line_number.call(null,a),new cljs.core.Keyword(null,"column","column",2078222095),cljs.tools.reader.reader_types.get_column_number.call(null,
a),new cljs.core.Keyword(null,"file","file",-1269645878),cljs.tools.reader.reader_types.get_file_name.call(null,a)],null):null),b);}throw cljs.core.ex_info.call(null,b.message,cljs.core.merge.call(null,new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"type","type",1174270348),new cljs.core.Keyword(null,"reader-exception","reader-exception",-1938323098)],null),cljs.tools.reader.reader_types.indexing_reader_QMARK_.call(null,a)?new cljs.core.PersistentArrayMap(null,3,[new cljs.core.Keyword(null,
"line","line",212345235),cljs.tools.reader.reader_types.get_line_number.call(null,a),new cljs.core.Keyword(null,"column","column",2078222095),cljs.tools.reader.reader_types.get_column_number.call(null,a),new cljs.core.Keyword(null,"file","file",-1269645878),cljs.tools.reader.reader_types.get_file_name.call(null,a)],null):null),b);}throw g;}};cljs.tools.reader.read_STAR_.cljs$lang$maxFixedArity=6;
cljs.tools.reader.read=function(a){switch(arguments.length){case 1:return cljs.tools.reader.read.cljs$core$IFn$_invoke$arity$1(arguments[0]);case 2:return cljs.tools.reader.read.cljs$core$IFn$_invoke$arity$2(arguments[0],arguments[1]);case 3:return cljs.tools.reader.read.cljs$core$IFn$_invoke$arity$3(arguments[0],arguments[1],arguments[2]);default:throw Error(["Invalid arity: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(""));}};
cljs.tools.reader.read.cljs$core$IFn$_invoke$arity$1=function(a){return cljs.tools.reader.read.call(null,a,!0,null)};
cljs.tools.reader.read.cljs$core$IFn$_invoke$arity$2=function(a,b){a=null!=a&&(a.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===a.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,a):a;var c=cljs.core.get.call(null,a,new cljs.core.Keyword(null,"eof","eof",-489063237),new cljs.core.Keyword(null,"eofthrow","eofthrow",-334166531));return cljs.tools.reader.read_STAR_.call(null,b,cljs.core._EQ_.call(null,c,new cljs.core.Keyword(null,"eofthrow","eofthrow",-334166531)),
c,null,a,cljs.core.to_array.call(null,cljs.core.PersistentVector.EMPTY))};cljs.tools.reader.read.cljs$core$IFn$_invoke$arity$3=function(a,b,c){return cljs.tools.reader.read_STAR_.call(null,a,b,c,null,cljs.core.PersistentArrayMap.EMPTY,cljs.core.to_array.call(null,cljs.core.PersistentVector.EMPTY))};cljs.tools.reader.read.cljs$lang$maxFixedArity=3;
cljs.tools.reader.read_string=function(a){switch(arguments.length){case 1:return cljs.tools.reader.read_string.cljs$core$IFn$_invoke$arity$1(arguments[0]);case 2:return cljs.tools.reader.read_string.cljs$core$IFn$_invoke$arity$2(arguments[0],arguments[1]);default:throw Error(["Invalid arity: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(""));}};
cljs.tools.reader.read_string.cljs$core$IFn$_invoke$arity$1=function(a){return cljs.tools.reader.read_string.call(null,cljs.core.PersistentArrayMap.EMPTY,a)};cljs.tools.reader.read_string.cljs$core$IFn$_invoke$arity$2=function(a,b){return cljs.core.truth_(cljs.core.truth_(b)?""!==b:b)?cljs.tools.reader.read.call(null,a,cljs.tools.reader.reader_types.string_push_back_reader.call(null,b)):null};cljs.tools.reader.read_string.cljs$lang$maxFixedArity=2;
cljs.tools.reader.read_PLUS_string=function(a){for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;b=1<b.length?new cljs.core.IndexedSeq(b.slice(1),0,null):null;return cljs.tools.reader.read_PLUS_string.cljs$core$IFn$_invoke$arity$variadic(arguments[0],b)};
cljs.tools.reader.read_PLUS_string.cljs$core$IFn$_invoke$arity$variadic=function(a,b){var c=function(a){return cljs.core.str.cljs$core$IFn$_invoke$arity$1((new cljs.core.Keyword(null,"buffer","buffer",617295198)).cljs$core$IFn$_invoke$arity$1(cljs.core.deref.call(null,a.frames)))},d=cljs.core.count.call(null,c.call(null,a)),e=cljs.tools.reader.reader_types.source_logging_reader_QMARK_.call(null,a)&&!cljs.tools.reader.impl.utils.whitespace_QMARK_.call(null,cljs.tools.reader.reader_types.peek_char.call(null,
a))?cljs.tools.reader.reader_types.log_source_STAR_.call(null,a,function(c,d){return function(){return cljs.core._EQ_.call(null,1,cljs.core.count.call(null,b))?cljs.tools.reader.read.call(null,cljs.core.first.call(null,b),a):cljs.core.apply.call(null,cljs.tools.reader.read,a,b)}}(c,d)):cljs.core._EQ_.call(null,1,cljs.core.count.call(null,b))?cljs.tools.reader.read.call(null,cljs.core.first.call(null,b),a):cljs.core.apply.call(null,cljs.tools.reader.read,a,b);c=cljs.core.subs.call(null,c.call(null,
a),d).trim();return new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[e,c],null)};cljs.tools.reader.read_PLUS_string.cljs$lang$maxFixedArity=1;cljs.tools.reader.read_PLUS_string.cljs$lang$applyTo=function(a){var b=cljs.core.first.call(null,a);a=cljs.core.next.call(null,a);return this.cljs$core$IFn$_invoke$arity$variadic(b,a)};cljs.tools.reader.edn={};cljs.tools.reader.edn.macro_terminating_QMARK_=function(a){var b="#"!==a;return b&&(b="'"!==a)?(b=":"!==a)?cljs.tools.reader.edn.macros.call(null,a):b:b};cljs.tools.reader.edn.not_constituent_QMARK_=function(a){return"@"===a||"`"===a||"~"===a};
cljs.tools.reader.edn.read_token=function(a){switch(arguments.length){case 3:return cljs.tools.reader.edn.read_token.cljs$core$IFn$_invoke$arity$3(arguments[0],arguments[1],arguments[2]);case 4:return cljs.tools.reader.edn.read_token.cljs$core$IFn$_invoke$arity$4(arguments[0],arguments[1],arguments[2],arguments[3]);default:throw Error(["Invalid arity: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(""));}};
cljs.tools.reader.edn.read_token.cljs$core$IFn$_invoke$arity$3=function(a,b,c){return cljs.tools.reader.edn.read_token.call(null,a,b,c,!0)};
cljs.tools.reader.edn.read_token.cljs$core$IFn$_invoke$arity$4=function(a,b,c,d){if(cljs.core.not.call(null,c))return cljs.tools.reader.impl.errors.throw_eof_at_start.call(null,a,b);if(cljs.core.truth_(cljs.core.truth_(d)?cljs.tools.reader.edn.not_constituent_QMARK_.call(null,c):d))return cljs.tools.reader.impl.errors.throw_bad_char.call(null,a,b,c);d=new goog.string.StringBuffer;for(cljs.tools.reader.reader_types.unread.call(null,a,c);;){if(cljs.tools.reader.impl.utils.whitespace_QMARK_.call(null,
c)||cljs.tools.reader.edn.macro_terminating_QMARK_.call(null,c)||null==c)return cljs.core.str.cljs$core$IFn$_invoke$arity$1(d);if(cljs.tools.reader.edn.not_constituent_QMARK_.call(null,c))return cljs.tools.reader.impl.errors.throw_bad_char.call(null,a,b,c);d.append(cljs.tools.reader.reader_types.read_char.call(null,a));c=cljs.tools.reader.reader_types.peek_char.call(null,a)}};cljs.tools.reader.edn.read_token.cljs$lang$maxFixedArity=4;
cljs.tools.reader.edn.read_dispatch=function(a,b,c){var d=cljs.tools.reader.reader_types.read_char.call(null,a);if(cljs.core.truth_(d)){b=cljs.tools.reader.edn.dispatch_macros.call(null,d);if(cljs.core.truth_(b))return b.call(null,a,d,c);c=cljs.tools.reader.edn.read_tagged.call(null,function(){cljs.tools.reader.reader_types.unread.call(null,a,d);return a}(),d,c);return cljs.core.truth_(c)?c:cljs.tools.reader.impl.errors.throw_no_dispatch.call(null,a,d)}return cljs.tools.reader.impl.errors.throw_eof_at_dispatch.call(null,
a)};cljs.tools.reader.edn.read_unmatched_delimiter=function(a,b,c){return cljs.tools.reader.impl.errors.throw_unmatch_delimiter.call(null,a,b)};
cljs.tools.reader.edn.read_unicode_char=function(a){switch(arguments.length){case 4:return cljs.tools.reader.edn.read_unicode_char.cljs$core$IFn$_invoke$arity$4(arguments[0],arguments[1],arguments[2],arguments[3]);case 5:return cljs.tools.reader.edn.read_unicode_char.cljs$core$IFn$_invoke$arity$5(arguments[0],arguments[1],arguments[2],arguments[3],arguments[4]);default:throw Error(["Invalid arity: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(""));}};
cljs.tools.reader.edn.read_unicode_char.cljs$core$IFn$_invoke$arity$4=function(a,b,c,d){c=b+c;cljs.core.count.call(null,a)!==c&&cljs.tools.reader.impl.errors.throw_invalid_unicode_literal.call(null,null,a);for(var e=0;;){if(b===c)return String.fromCharCode(e);var f=cljs.tools.reader.impl.utils.char_code.call(null,cljs.core.nth.call(null,a,b),d);if(-1===f)return cljs.tools.reader.impl.errors.throw_invalid_unicode_digit_in_token.call(null,null,cljs.core.nth.call(null,a,b),a);e=f+e*d;b+=1}};
cljs.tools.reader.edn.read_unicode_char.cljs$core$IFn$_invoke$arity$5=function(a,b,c,d,e){for(var f=1,g=cljs.tools.reader.impl.utils.char_code.call(null,b,c);;){if(-1===g)return cljs.tools.reader.impl.errors.throw_invalid_unicode_digit.call(null,a,b);if(f!==d){var h=cljs.tools.reader.reader_types.peek_char.call(null,a);if(cljs.core.truth_(function(){var a=cljs.tools.reader.impl.utils.whitespace_QMARK_.call(null,h);if(a)return a;a=cljs.tools.reader.edn.macros.call(null,h);return cljs.core.truth_(a)?
a:null==h}()))return cljs.core.truth_(e)?cljs.tools.reader.impl.errors.throw_invalid_unicode_len.call(null,a,f,d):String.fromCharCode(g);var k=cljs.tools.reader.impl.utils.char_code.call(null,h,c);cljs.tools.reader.reader_types.read_char.call(null,a);if(-1===k)return cljs.tools.reader.impl.errors.throw_invalid_unicode_digit.call(null,a,h);g=k+g*c;f+=1}else return String.fromCharCode(g)}};cljs.tools.reader.edn.read_unicode_char.cljs$lang$maxFixedArity=5;cljs.tools.reader.edn.upper_limit=55295;
cljs.tools.reader.edn.lower_limit=57344;
cljs.tools.reader.edn.read_char_STAR_=function(a,b,c){b=cljs.tools.reader.reader_types.read_char.call(null,a);if(null!=b){b=cljs.tools.reader.edn.macro_terminating_QMARK_.call(null,b)||cljs.tools.reader.edn.not_constituent_QMARK_.call(null,b)||cljs.tools.reader.impl.utils.whitespace_QMARK_.call(null,b)?cljs.core.str.cljs$core$IFn$_invoke$arity$1(b):cljs.tools.reader.edn.read_token.call(null,a,new cljs.core.Keyword(null,"character","character",380652989),b,!1);c=cljs.core.count.call(null,b);if(1===
c)return cljs.core.nth.call(null,b,0);if("newline"===b)return"\n";if("space"===b)return" ";if("tab"===b)return"\t";if("backspace"===b)return"\b";if("formfeed"===b)return"\f";if("return"===b)return"\r";if(cljs.core.truth_(goog.string.startsWith(b,"u")))return b=cljs.tools.reader.edn.read_unicode_char.call(null,b,1,4,16),c=b.charCodeAt(),c>cljs.tools.reader.edn.upper_limit&&c<cljs.tools.reader.edn.lower_limit?cljs.tools.reader.impl.errors.throw_invalid_character_literal.call(null,a,c.toString(16)):
b;if(cljs.core.truth_(goog.string.startsWith(b,"o"))){--c;if(3<c)return cljs.tools.reader.impl.errors.throw_invalid_octal_len.call(null,a,b);b=cljs.tools.reader.edn.read_unicode_char.call(null,b,1,c,8);return 255<(b|0)?cljs.tools.reader.impl.errors.throw_bad_octal_number.call(null,a):b}return cljs.tools.reader.impl.errors.throw_unsupported_character.call(null,a,b)}return cljs.tools.reader.impl.errors.throw_eof_in_character.call(null,a)};
cljs.tools.reader.edn.starting_line_col_info=function(a){return cljs.tools.reader.reader_types.indexing_reader_QMARK_.call(null,a)?new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[cljs.tools.reader.reader_types.get_line_number.call(null,a),(cljs.tools.reader.reader_types.get_column_number.call(null,a)|0)-1|0],null):null};
cljs.tools.reader.edn.read_delimited=function(a,b,c,d){var e=cljs.tools.reader.edn.starting_line_col_info.call(null,c),f=cljs.core.nth.call(null,e,0,null);e=cljs.core.nth.call(null,e,1,null);b=cljs.tools.reader.impl.utils.char$.call(null,b);for(var g=cljs.core.transient$.call(null,cljs.core.PersistentVector.EMPTY);;){var h=cljs.tools.reader.impl.commons.read_past.call(null,cljs.tools.reader.impl.utils.whitespace_QMARK_,c);cljs.core.truth_(h)||cljs.tools.reader.impl.errors.throw_eof_delimited.call(null,
c,a,f,e,cljs.core.count.call(null,g));if(cljs.core._EQ_.call(null,b,cljs.tools.reader.impl.utils.char$.call(null,h)))return cljs.core.persistent_BANG_.call(null,g);var k=cljs.tools.reader.edn.macros.call(null,h);cljs.core.truth_(k)?(k=k.call(null,c,h,d),g=k!==c?cljs.core.conj_BANG_.call(null,g,k):g):(k=cljs.tools.reader.edn.read.call(null,function(){cljs.tools.reader.reader_types.unread.call(null,c,h);return c}(),!0,null,d),g=k!==c?cljs.core.conj_BANG_.call(null,g,k):g)}};
cljs.tools.reader.edn.read_list=function(a,b,c){a=cljs.tools.reader.edn.read_delimited.call(null,new cljs.core.Keyword(null,"list","list",765357683),")",a,c);return cljs.core.empty_QMARK_.call(null,a)?cljs.core.List.EMPTY:cljs.core.apply.call(null,cljs.core.list,a)};cljs.tools.reader.edn.read_vector=function(a,b,c){return cljs.tools.reader.edn.read_delimited.call(null,new cljs.core.Keyword(null,"vector","vector",1902966158),"]",a,c)};
cljs.tools.reader.edn.read_map=function(a,b,c){var d=cljs.tools.reader.edn.starting_line_col_info.call(null,a);b=cljs.core.nth.call(null,d,0,null);d=cljs.core.nth.call(null,d,1,null);c=cljs.tools.reader.edn.read_delimited.call(null,new cljs.core.Keyword(null,"map","map",1371690461),"}",a,c);var e=cljs.core.count.call(null,c),f=cljs.core.take_nth.call(null,2,c),g=cljs.core.set.call(null,f);cljs.core.odd_QMARK_.call(null,e)&&cljs.tools.reader.impl.errors.throw_odd_map.call(null,a,b,d,c);cljs.core._EQ_.call(null,
cljs.core.count.call(null,g),cljs.core.count.call(null,f))||cljs.tools.reader.impl.errors.throw_dup_keys.call(null,a,new cljs.core.Keyword(null,"map","map",1371690461),f);return e<=2*cljs.core.PersistentArrayMap.HASHMAP_THRESHOLD?cljs.core.PersistentArrayMap.fromArray(cljs.core.to_array.call(null,c),!0,!0):cljs.core.PersistentHashMap.fromArray(cljs.core.to_array.call(null,c),!0)};
cljs.tools.reader.edn.read_number=function(a,b,c){for(var d=function(){var a=new goog.string.StringBuffer;a.append(b);return a}(),e=cljs.tools.reader.reader_types.read_char.call(null,a);;){if(cljs.core.truth_(function(){var a=cljs.tools.reader.impl.utils.whitespace_QMARK_.call(null,e);if(a)return a;a=cljs.tools.reader.edn.macros.call(null,e);return cljs.core.truth_(a)?a:null==e}())){c=cljs.core.str.cljs$core$IFn$_invoke$arity$1(d);cljs.tools.reader.reader_types.unread.call(null,a,e);var f=cljs.tools.reader.impl.commons.match_number.call(null,
c);return cljs.core.truth_(f)?f:cljs.tools.reader.impl.errors.throw_invalid_number.call(null,a,c)}c=function(){var a=d;a.append(e);return a}();f=cljs.tools.reader.reader_types.read_char.call(null,a);d=c;e=f}};
cljs.tools.reader.edn.escape_char=function(a,b){a=cljs.tools.reader.reader_types.read_char.call(null,b);switch(a){case "t":return"\t";case "r":return"\r";case "n":return"\n";case "\\":return"\\";case '"':return'"';case "b":return"\b";case "f":return"\f";case "u":return a=cljs.tools.reader.reader_types.read_char.call(null,b),-1===parseInt(a|0,16)?cljs.tools.reader.impl.errors.throw_invalid_unicode_escape.call(null,b,a):cljs.tools.reader.edn.read_unicode_char.call(null,b,a,16,4,!0);default:return cljs.tools.reader.impl.utils.numeric_QMARK_.call(null,
a)?(a=cljs.tools.reader.edn.read_unicode_char.call(null,b,a,8,3,!1),255<(a|0)?cljs.tools.reader.impl.errors.throw_bad_octal_number.call(null,b):a):cljs.tools.reader.impl.errors.throw_bad_escape_char.call(null,b,a)}};
cljs.tools.reader.edn.read_string_STAR_=function(a,b,c){for(var d=new goog.string.StringBuffer,e=cljs.tools.reader.reader_types.read_char.call(null,a);;){b=e;if(cljs.core._EQ_.call(null,null,b))return cljs.tools.reader.impl.errors.throw_eof_reading.call(null,a,new cljs.core.Keyword(null,"string","string",-1989541586),'"',d);if(cljs.core._EQ_.call(null,"\\",b))b=function(){var b=d;b.append(cljs.tools.reader.edn.escape_char.call(null,d,a));return b}(),c=cljs.tools.reader.reader_types.read_char.call(null,
a),d=b,e=c;else{if(cljs.core._EQ_.call(null,'"',b))return cljs.core.str.cljs$core$IFn$_invoke$arity$1(d);b=function(){var a=d;a.append(e);return a}();c=cljs.tools.reader.reader_types.read_char.call(null,a);d=b;e=c}}};
cljs.tools.reader.edn.read_symbol=function(a,b){b=cljs.tools.reader.edn.read_token.call(null,a,new cljs.core.Keyword(null,"symbol","symbol",-1038572696),b);if(cljs.core.truth_(b))switch(b){case "nil":return null;case "true":return!0;case "false":return!1;case "/":return new cljs.core.Symbol(null,"/","/",-1371932971,null);default:var c=cljs.tools.reader.impl.commons.parse_symbol.call(null,b);c=cljs.core.truth_(c)?cljs.core.symbol.call(null,c.call(null,0),c.call(null,1)):null;return cljs.core.truth_(c)?
c:cljs.tools.reader.impl.errors.throw_invalid.call(null,a,new cljs.core.Keyword(null,"symbol","symbol",-1038572696),b)}else return null};
cljs.tools.reader.edn.read_keyword=function(a,b,c){b=cljs.tools.reader.reader_types.read_char.call(null,a);if(cljs.tools.reader.impl.utils.whitespace_QMARK_.call(null,b))return cljs.tools.reader.impl.errors.throw_single_colon.call(null,a);b=cljs.tools.reader.edn.read_token.call(null,a,new cljs.core.Keyword(null,"keyword","keyword",811389747),b);var d=cljs.tools.reader.impl.commons.parse_symbol.call(null,b);return cljs.core.truth_(cljs.core.truth_(d)?-1===b.indexOf("::"):d)?(c=d.call(null,0),d=d.call(null,
1),":"===cljs.core.nth.call(null,b,0)?cljs.tools.reader.impl.errors.throw_invalid.call(null,a,new cljs.core.Keyword(null,"keyword","keyword",811389747),b):cljs.core.keyword.call(null,c,d)):cljs.tools.reader.impl.errors.throw_invalid.call(null,a,new cljs.core.Keyword(null,"keyword","keyword",811389747),b)};
cljs.tools.reader.edn.wrapping_reader=function(a){return function(b,c,d){return new cljs.core.List(null,a,new cljs.core.List(null,cljs.tools.reader.edn.read.call(null,b,!0,null,d),null,1,null),2,null)}};
cljs.tools.reader.edn.read_meta=function(a,b,c){b=cljs.tools.reader.impl.utils.desugar_meta.call(null,cljs.tools.reader.edn.read.call(null,a,!0,null,c));cljs.core.map_QMARK_.call(null,b)||cljs.tools.reader.impl.errors.throw_bad_metadata.call(null,a,b);c=cljs.tools.reader.edn.read.call(null,a,!0,null,c);return null!=c&&(c.cljs$lang$protocol_mask$partition0$&131072||cljs.core.PROTOCOL_SENTINEL===c.cljs$core$IMeta$)?cljs.core.with_meta.call(null,c,cljs.core.merge.call(null,cljs.core.meta.call(null,c),
b)):cljs.tools.reader.impl.errors.throw_bad_metadata_target.call(null,a,c)};cljs.tools.reader.edn.read_set=function(a,b,c){b=cljs.tools.reader.edn.read_delimited.call(null,new cljs.core.Keyword(null,"set","set",304602554),"}",a,c);c=cljs.core.set.call(null,b);cljs.core._EQ_.call(null,cljs.core.count.call(null,b),cljs.core.count.call(null,c))||cljs.tools.reader.impl.errors.throw_dup_keys.call(null,a,new cljs.core.Keyword(null,"set","set",304602554),b);return c};
cljs.tools.reader.edn.read_discard=function(a,b,c){cljs.tools.reader.edn.read.call(null,a,!0,null,!0);return a};
cljs.tools.reader.edn.read_namespaced_map=function(a,b,c){b=cljs.tools.reader.edn.read_token.call(null,a,new cljs.core.Keyword(null,"namespaced-map","namespaced-map",1235665380),cljs.tools.reader.reader_types.read_char.call(null,a));var d=null==b?null:cljs.tools.reader.impl.commons.parse_symbol.call(null,b);d=null==d?null:cljs.tools.reader.impl.utils.second_SINGLEQUOTE_.call(null,d);return cljs.core.truth_(d)?"{"===cljs.tools.reader.impl.commons.read_past.call(null,cljs.tools.reader.impl.utils.whitespace_QMARK_,
a)?(c=cljs.tools.reader.edn.read_delimited.call(null,new cljs.core.Keyword(null,"namespaced-map","namespaced-map",1235665380),"}",a,c),cljs.core.odd_QMARK_.call(null,cljs.core.count.call(null,c))&&cljs.tools.reader.impl.errors.throw_odd_map.call(null,a,null,null,c),b=cljs.tools.reader.impl.utils.namespace_keys.call(null,cljs.core.str.cljs$core$IFn$_invoke$arity$1(d),cljs.core.take_nth.call(null,2,c)),c=cljs.core.take_nth.call(null,2,cljs.core.rest.call(null,c)),cljs.core._EQ_.call(null,cljs.core.count.call(null,
cljs.core.set.call(null,b)),cljs.core.count.call(null,b))||cljs.tools.reader.impl.errors.throw_dup_keys.call(null,a,new cljs.core.Keyword(null,"namespaced-map","namespaced-map",1235665380),b),cljs.core.zipmap.call(null,b,c)):cljs.tools.reader.impl.errors.throw_ns_map_no_map.call(null,a,b):cljs.tools.reader.impl.errors.throw_bad_ns.call(null,a,b)};
cljs.tools.reader.edn.read_symbolic_value=function(a,b,c){b=cljs.tools.reader.edn.read.call(null,a,!0,null,c);return cljs.core._EQ_.call(null,new cljs.core.Symbol(null,"NaN","NaN",666918153,null),b)?Number.NaN:cljs.core._EQ_.call(null,new cljs.core.Symbol(null,"-Inf","-Inf",-2123243689,null),b)?Number.NEGATIVE_INFINITY:cljs.core._EQ_.call(null,new cljs.core.Symbol(null,"Inf","Inf",647172781,null),b)?Number.POSITIVE_INFINITY:cljs.tools.reader.impl.errors.reader_error.call(null,a,["Invalid token: ##",
cljs.core.str.cljs$core$IFn$_invoke$arity$1(b)].join(""))};
cljs.tools.reader.edn.macros=function(a){switch(a){case '"':return cljs.tools.reader.edn.read_string_STAR_;case ":":return cljs.tools.reader.edn.read_keyword;case ";":return cljs.tools.reader.impl.commons.read_comment;case "^":return cljs.tools.reader.edn.read_meta;case "(":return cljs.tools.reader.edn.read_list;case ")":return cljs.tools.reader.edn.read_unmatched_delimiter;case "[":return cljs.tools.reader.edn.read_vector;case "]":return cljs.tools.reader.edn.read_unmatched_delimiter;case "{":return cljs.tools.reader.edn.read_map;
case "}":return cljs.tools.reader.edn.read_unmatched_delimiter;case "\\":return cljs.tools.reader.edn.read_char_STAR_;case "#":return cljs.tools.reader.edn.read_dispatch;default:return null}};
cljs.tools.reader.edn.dispatch_macros=function(a){switch(a){case "^":return cljs.tools.reader.edn.read_meta;case "{":return cljs.tools.reader.edn.read_set;case "\x3c":return cljs.tools.reader.impl.commons.throwing_reader.call(null,"Unreadable form");case "!":return cljs.tools.reader.impl.commons.read_comment;case "_":return cljs.tools.reader.edn.read_discard;case ":":return cljs.tools.reader.edn.read_namespaced_map;case "#":return cljs.tools.reader.edn.read_symbolic_value;default:return null}};
cljs.tools.reader.edn.read_tagged=function(a,b,c){b=cljs.tools.reader.edn.read.call(null,a,!0,null,c);var d=cljs.tools.reader.edn.read.call(null,a,!0,null,c);b instanceof cljs.core.Symbol||cljs.tools.reader.impl.errors.throw_bad_reader_tag.call(null,a,"Reader tag must be a symbol");var e=cljs.core.get.call(null,(new cljs.core.Keyword(null,"readers","readers",-2118263030)).cljs$core$IFn$_invoke$arity$1(c),b);e=cljs.core.truth_(e)?e:cljs.tools.reader.default_data_readers.call(null,b);if(cljs.core.truth_(e))return e.call(null,
d);c=(new cljs.core.Keyword(null,"default","default",-1987822328)).cljs$core$IFn$_invoke$arity$1(c);return cljs.core.truth_(c)?c.call(null,b,d):cljs.tools.reader.impl.errors.throw_unknown_reader_tag.call(null,a,b)};
cljs.tools.reader.edn.read=function(a){switch(arguments.length){case 1:return cljs.tools.reader.edn.read.cljs$core$IFn$_invoke$arity$1(arguments[0]);case 2:return cljs.tools.reader.edn.read.cljs$core$IFn$_invoke$arity$2(arguments[0],arguments[1]);case 4:return cljs.tools.reader.edn.read.cljs$core$IFn$_invoke$arity$4(arguments[0],arguments[1],arguments[2],arguments[3]);default:throw Error(["Invalid arity: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(""));}};
cljs.tools.reader.edn.read.cljs$core$IFn$_invoke$arity$1=function(a){return cljs.tools.reader.edn.read.call(null,cljs.core.PersistentArrayMap.EMPTY,a)};
cljs.tools.reader.edn.read.cljs$core$IFn$_invoke$arity$2=function(a,b){a=null!=a&&(a.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===a.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,a):a;var c=cljs.core.get.call(null,a,new cljs.core.Keyword(null,"eof","eof",-489063237)),d=!cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"eof","eof",-489063237));return cljs.tools.reader.edn.read.call(null,b,d,c,a)};
cljs.tools.reader.edn.read.cljs$core$IFn$_invoke$arity$4=function(a,b,c,d){try{for(;;){var e=cljs.tools.reader.reader_types.read_char.call(null,a);if(!cljs.tools.reader.impl.utils.whitespace_QMARK_.call(null,e)){if(null==e)return cljs.core.truth_(b)?cljs.tools.reader.impl.errors.throw_eof_error.call(null,a,null):c;if(cljs.tools.reader.impl.commons.number_literal_QMARK_.call(null,a,e))return cljs.tools.reader.edn.read_number.call(null,a,e,d);var f=cljs.tools.reader.edn.macros.call(null,e);if(cljs.core.truth_(f)){var g=
f.call(null,a,e,d);if(g!==a)return g}else return cljs.tools.reader.edn.read_symbol.call(null,a,e)}}}catch(h){if(h instanceof Error){b=h;if(cljs.tools.reader.impl.utils.ex_info_QMARK_.call(null,b)){c=cljs.core.ex_data.call(null,b);if(cljs.core._EQ_.call(null,new cljs.core.Keyword(null,"reader-exception","reader-exception",-1938323098),(new cljs.core.Keyword(null,"type","type",1174270348)).cljs$core$IFn$_invoke$arity$1(c)))throw b;throw cljs.core.ex_info.call(null,b.message,cljs.core.merge.call(null,
new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"type","type",1174270348),new cljs.core.Keyword(null,"reader-exception","reader-exception",-1938323098)],null),c,cljs.tools.reader.reader_types.indexing_reader_QMARK_.call(null,a)?new cljs.core.PersistentArrayMap(null,3,[new cljs.core.Keyword(null,"line","line",212345235),cljs.tools.reader.reader_types.get_line_number.call(null,a),new cljs.core.Keyword(null,"column","column",2078222095),cljs.tools.reader.reader_types.get_column_number.call(null,
a),new cljs.core.Keyword(null,"file","file",-1269645878),cljs.tools.reader.reader_types.get_file_name.call(null,a)],null):null),b);}throw cljs.core.ex_info.call(null,b.message,cljs.core.merge.call(null,new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"type","type",1174270348),new cljs.core.Keyword(null,"reader-exception","reader-exception",-1938323098)],null),cljs.tools.reader.reader_types.indexing_reader_QMARK_.call(null,a)?new cljs.core.PersistentArrayMap(null,3,[new cljs.core.Keyword(null,
"line","line",212345235),cljs.tools.reader.reader_types.get_line_number.call(null,a),new cljs.core.Keyword(null,"column","column",2078222095),cljs.tools.reader.reader_types.get_column_number.call(null,a),new cljs.core.Keyword(null,"file","file",-1269645878),cljs.tools.reader.reader_types.get_file_name.call(null,a)],null):null),b);}throw h;}};cljs.tools.reader.edn.read.cljs$lang$maxFixedArity=4;
cljs.tools.reader.edn.read_string=function(a){switch(arguments.length){case 1:return cljs.tools.reader.edn.read_string.cljs$core$IFn$_invoke$arity$1(arguments[0]);case 2:return cljs.tools.reader.edn.read_string.cljs$core$IFn$_invoke$arity$2(arguments[0],arguments[1]);default:throw Error(["Invalid arity: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(""));}};
cljs.tools.reader.edn.read_string.cljs$core$IFn$_invoke$arity$1=function(a){return cljs.tools.reader.edn.read_string.call(null,new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"eof","eof",-489063237),null],null),a)};
cljs.tools.reader.edn.read_string.cljs$core$IFn$_invoke$arity$2=function(a,b){return cljs.core.truth_(cljs.core.truth_(b)?cljs.core.not_EQ_.call(null,b,""):b)?cljs.tools.reader.edn.read.call(null,a,cljs.tools.reader.reader_types.string_push_back_reader.call(null,b)):null};cljs.tools.reader.edn.read_string.cljs$lang$maxFixedArity=2;cljs.reader={};cljs.reader.zero_fill_right_and_truncate=function(a,b){if(cljs.core._EQ_.call(null,b,cljs.core.count.call(null,a)))return a;if(b<cljs.core.count.call(null,a))return cljs.core.subs.call(null,a,0,b);for(a=new goog.string.StringBuffer(a);;)if(a.getLength()<b)a=a.append("0");else return a.toString()};cljs.reader.divisible_QMARK_=function(a,b){return 0===cljs.core.mod.call(null,a,b)};cljs.reader.indivisible_QMARK_=function(a,b){return!cljs.reader.divisible_QMARK_.call(null,a,b)};
cljs.reader.leap_year_QMARK_=function(a){return cljs.reader.divisible_QMARK_.call(null,a,4)&&(cljs.reader.indivisible_QMARK_.call(null,a,100)||cljs.reader.divisible_QMARK_.call(null,a,400))};
cljs.reader.days_in_month=function(){var a=new cljs.core.PersistentVector(null,13,5,cljs.core.PersistentVector.EMPTY_NODE,[null,31,28,31,30,31,30,31,31,30,31,30,31],null),b=new cljs.core.PersistentVector(null,13,5,cljs.core.PersistentVector.EMPTY_NODE,[null,31,29,31,30,31,30,31,31,30,31,30,31],null);return function(a,b){return function(c,d){return cljs.core.get.call(null,cljs.core.truth_(d)?b:a,c)}}(a,b)}();cljs.reader.timestamp_regex=/(\d\d\d\d)(?:-(\d\d)(?:-(\d\d)(?:[T](\d\d)(?::(\d\d)(?::(\d\d)(?:[.](\d+))?)?)?)?)?)?(?:[Z]|([-+])(\d\d):(\d\d))?/;
cljs.reader.parse_int=function(a){a=parseInt(a,10);return cljs.core.not.call(null,isNaN(a))?a:null};cljs.reader.check=function(a,b,c,d){if(!(a<=b&&b<=c))throw Error([cljs.core.str.cljs$core$IFn$_invoke$arity$1(d)," Failed:  ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(a),"\x3c\x3d",cljs.core.str.cljs$core$IFn$_invoke$arity$1(b),"\x3c\x3d",cljs.core.str.cljs$core$IFn$_invoke$arity$1(c)].join(""));return b};
cljs.reader.parse_and_validate_timestamp=function(a){var b=cljs.core.re_matches.call(null,cljs.reader.timestamp_regex,a);cljs.core.nth.call(null,b,0,null);var c=cljs.core.nth.call(null,b,1,null),d=cljs.core.nth.call(null,b,2,null),e=cljs.core.nth.call(null,b,3,null),f=cljs.core.nth.call(null,b,4,null),g=cljs.core.nth.call(null,b,5,null),h=cljs.core.nth.call(null,b,6,null),k=cljs.core.nth.call(null,b,7,null),l=cljs.core.nth.call(null,b,8,null),m=cljs.core.nth.call(null,b,9,null),n=cljs.core.nth.call(null,
b,10,null);if(cljs.core.not.call(null,b))throw Error(["Unrecognized date/time syntax: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(a)].join(""));a=cljs.reader.parse_int.call(null,c);b=function(){var a=cljs.reader.parse_int.call(null,d);return cljs.core.truth_(a)?a:1}();c=function(){var a=cljs.reader.parse_int.call(null,e);return cljs.core.truth_(a)?a:1}();var p=function(){var a=cljs.reader.parse_int.call(null,f);return cljs.core.truth_(a)?a:0}(),q=function(){var a=cljs.reader.parse_int.call(null,
g);return cljs.core.truth_(a)?a:0}(),r=function(){var a=cljs.reader.parse_int.call(null,h);return cljs.core.truth_(a)?a:0}(),u=function(){var a=cljs.reader.parse_int.call(null,cljs.reader.zero_fill_right_and_truncate.call(null,k,3));return cljs.core.truth_(a)?a:0}();l=cljs.core._EQ_.call(null,l,"-")?-1:1;var t=function(){var a=cljs.reader.parse_int.call(null,m);return cljs.core.truth_(a)?a:0}(),v=function(){var a=cljs.reader.parse_int.call(null,n);return cljs.core.truth_(a)?a:0}();l*=60*t+v;return new cljs.core.PersistentVector(null,
8,5,cljs.core.PersistentVector.EMPTY_NODE,[a,cljs.reader.check.call(null,1,b,12,"timestamp month field must be in range 1..12"),cljs.reader.check.call(null,1,c,cljs.reader.days_in_month.call(null,b,cljs.reader.leap_year_QMARK_.call(null,a)),"timestamp day field must be in range 1..last day in month"),cljs.reader.check.call(null,0,p,23,"timestamp hour field must be in range 0..23"),cljs.reader.check.call(null,0,q,59,"timestamp minute field must be in range 0..59"),cljs.reader.check.call(null,0,r,cljs.core._EQ_.call(null,
q,59)?60:59,"timestamp second field must be in range 0..60"),cljs.reader.check.call(null,0,u,999,"timestamp millisecond field must be in range 0..999"),l],null)};
cljs.reader.parse_timestamp=function(a){var b=cljs.reader.parse_and_validate_timestamp.call(null,a);if(cljs.core.truth_(b)){a=cljs.core.nth.call(null,b,0,null);var c=cljs.core.nth.call(null,b,1,null),d=cljs.core.nth.call(null,b,2,null),e=cljs.core.nth.call(null,b,3,null),f=cljs.core.nth.call(null,b,4,null),g=cljs.core.nth.call(null,b,5,null),h=cljs.core.nth.call(null,b,6,null);b=cljs.core.nth.call(null,b,7,null);return new Date(Date.UTC(a,c-1,d,e,f,g,h)-6E4*b)}throw Error(["Unrecognized date/time syntax: ",
cljs.core.str.cljs$core$IFn$_invoke$arity$1(a)].join(""));};cljs.reader.read_date=function(a){if("string"===typeof a)return cljs.reader.parse_timestamp.call(null,a);throw Error("Instance literal expects a string for its timestamp.");};cljs.reader.read_queue=function(a){if(cljs.core.vector_QMARK_.call(null,a))return cljs.core.into.call(null,cljs.core.PersistentQueue.EMPTY,a);throw Error("Queue literal expects a vector for its elements.");};
cljs.reader.read_js=function(a){if(cljs.core.vector_QMARK_.call(null,a)){var b=[];a=cljs.core.seq.call(null,a);for(var c=null,d=0,e=0;;)if(e<d){var f=cljs.core._nth.call(null,c,e);b.push(f);e+=1}else if(a=cljs.core.seq.call(null,a))c=a,cljs.core.chunked_seq_QMARK_.call(null,c)?(a=cljs.core.chunk_first.call(null,c),e=cljs.core.chunk_rest.call(null,c),c=a,d=cljs.core.count.call(null,a),a=e):(a=cljs.core.first.call(null,c),b.push(a),a=cljs.core.next.call(null,c),c=null,d=0),e=0;else break;return b}if(cljs.core.map_QMARK_.call(null,
a)){b={};a=cljs.core.seq.call(null,a);c=null;for(e=d=0;;)if(e<d){var g=cljs.core._nth.call(null,c,e);f=cljs.core.nth.call(null,g,0,null);g=cljs.core.nth.call(null,g,1,null);goog.object.set(b,cljs.core.name.call(null,f),g);e+=1}else if(a=cljs.core.seq.call(null,a))cljs.core.chunked_seq_QMARK_.call(null,a)?(d=cljs.core.chunk_first.call(null,a),a=cljs.core.chunk_rest.call(null,a),c=d,d=cljs.core.count.call(null,d)):(d=cljs.core.first.call(null,a),c=cljs.core.nth.call(null,d,0,null),d=cljs.core.nth.call(null,
d,1,null),goog.object.set(b,cljs.core.name.call(null,c),d),a=cljs.core.next.call(null,a),c=null,d=0),e=0;else break;return b}throw Error("JS literal expects a vector or map containing only string or unqualified keyword keys");};cljs.reader.read_uuid=function(a){if("string"===typeof a)return cljs.core.uuid.call(null,a);throw Error("UUID literal expects a string as its representation.");};cljs.reader._STAR_default_data_reader_fn_STAR_=cljs.core.atom.call(null,null);
cljs.reader._STAR_tag_table_STAR_=cljs.core.atom.call(null,cljs.core.merge.call(null,new cljs.core.PersistentArrayMap(null,4,[new cljs.core.Symbol(null,"inst","inst",-2008473268,null),cljs.reader.read_date,new cljs.core.Symbol(null,"uuid","uuid",-504564192,null),cljs.reader.read_uuid,new cljs.core.Symbol(null,"queue","queue",-1198599890,null),cljs.reader.read_queue,new cljs.core.Symbol(null,"js","js",-886355190,null),cljs.reader.read_js],null),cljs.core.PersistentArrayMap.EMPTY));
cljs.reader.read=function(a){switch(arguments.length){case 1:return cljs.reader.read.cljs$core$IFn$_invoke$arity$1(arguments[0]);case 2:return cljs.reader.read.cljs$core$IFn$_invoke$arity$2(arguments[0],arguments[1]);case 4:return cljs.reader.read.cljs$core$IFn$_invoke$arity$4(arguments[0],arguments[1],arguments[2],arguments[3]);default:throw Error(["Invalid arity: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(""));}};
cljs.reader.read.cljs$core$IFn$_invoke$arity$1=function(a){return cljs.tools.reader.edn.read.call(null,new cljs.core.PersistentArrayMap(null,3,[new cljs.core.Keyword(null,"readers","readers",-2118263030),cljs.core.deref.call(null,cljs.reader._STAR_tag_table_STAR_),new cljs.core.Keyword(null,"default","default",-1987822328),cljs.core.deref.call(null,cljs.reader._STAR_default_data_reader_fn_STAR_),new cljs.core.Keyword(null,"eof","eof",-489063237),null],null),a)};
cljs.reader.read.cljs$core$IFn$_invoke$arity$2=function(a,b){var c=null!=a&&(a.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===a.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,a):a,d=cljs.core.get.call(null,c,new cljs.core.Keyword(null,"eof","eof",-489063237));return cljs.tools.reader.edn.read.call(null,cljs.core.update.call(null,cljs.core.merge.call(null,c,new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"default","default",-1987822328),cljs.core.deref.call(null,
cljs.reader._STAR_default_data_reader_fn_STAR_)],null)),new cljs.core.Keyword(null,"readers","readers",-2118263030),function(a,b,c,d){return function(a){return cljs.core.merge.call(null,cljs.core.deref.call(null,cljs.reader._STAR_tag_table_STAR_),a)}}(a,c,c,d)),b)};
cljs.reader.read.cljs$core$IFn$_invoke$arity$4=function(a,b,c,d){return cljs.tools.reader.edn.read.call(null,a,b,c,cljs.core.update.call(null,cljs.core.merge.call(null,d,new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"default","default",-1987822328),cljs.core.deref.call(null,cljs.reader._STAR_default_data_reader_fn_STAR_)],null)),new cljs.core.Keyword(null,"readers","readers",-2118263030),function(a){return cljs.core.merge.call(null,cljs.core.deref.call(null,cljs.reader._STAR_tag_table_STAR_),
a)}))};cljs.reader.read.cljs$lang$maxFixedArity=4;cljs.reader.read_string=function(a){switch(arguments.length){case 1:return cljs.reader.read_string.cljs$core$IFn$_invoke$arity$1(arguments[0]);case 2:return cljs.reader.read_string.cljs$core$IFn$_invoke$arity$2(arguments[0],arguments[1]);default:throw Error(["Invalid arity: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(""));}};
cljs.reader.read_string.cljs$core$IFn$_invoke$arity$1=function(a){return cljs.tools.reader.edn.read_string.call(null,new cljs.core.PersistentArrayMap(null,3,[new cljs.core.Keyword(null,"readers","readers",-2118263030),cljs.core.deref.call(null,cljs.reader._STAR_tag_table_STAR_),new cljs.core.Keyword(null,"default","default",-1987822328),cljs.core.deref.call(null,cljs.reader._STAR_default_data_reader_fn_STAR_),new cljs.core.Keyword(null,"eof","eof",-489063237),null],null),a)};
cljs.reader.read_string.cljs$core$IFn$_invoke$arity$2=function(a,b){return cljs.tools.reader.edn.read_string.call(null,cljs.core.update.call(null,cljs.core.merge.call(null,new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"default","default",-1987822328),cljs.core.deref.call(null,cljs.reader._STAR_default_data_reader_fn_STAR_)],null),a),new cljs.core.Keyword(null,"readers","readers",-2118263030),function(a){return cljs.core.merge.call(null,cljs.core.deref.call(null,cljs.reader._STAR_tag_table_STAR_),
a)}),b)};cljs.reader.read_string.cljs$lang$maxFixedArity=2;cljs.reader.register_tag_parser_BANG_=function(a,b){var c=cljs.core.get.call(null,cljs.core.deref.call(null,cljs.reader._STAR_tag_table_STAR_),a);cljs.core.swap_BANG_.call(null,cljs.reader._STAR_tag_table_STAR_,cljs.core.assoc,a,b);return c};
cljs.reader.deregister_tag_parser_BANG_=function(a){var b=cljs.core.get.call(null,cljs.core.deref.call(null,cljs.reader._STAR_tag_table_STAR_),a);cljs.core.swap_BANG_.call(null,cljs.reader._STAR_tag_table_STAR_,cljs.core.dissoc,a);return b};
cljs.reader.register_default_tag_parser_BANG_=function(a){var b=cljs.core.deref.call(null,cljs.reader._STAR_default_data_reader_fn_STAR_);cljs.core.swap_BANG_.call(null,cljs.reader._STAR_default_data_reader_fn_STAR_,function(b){return function(b){return a}}(b));return b};
cljs.reader.deregister_default_tag_parser_BANG_=function(){var a=cljs.core.deref.call(null,cljs.reader._STAR_default_data_reader_fn_STAR_);cljs.core.swap_BANG_.call(null,cljs.reader._STAR_default_data_reader_fn_STAR_,function(a){return function(a){return null}}(a));return a};var hoplon={core:{}};cljs.core.enable_console_print_BANG_.call(null);hoplon.core.prerendering_QMARK_=(new goog.Uri(window.location.href)).getParameterValue("prerendering");hoplon.core.static_elements=cljs.core.reduce.call(null,function(a,b){return cljs.core.assoc.call(null,a,b.getAttribute("static-id"),b)},cljs.core.PersistentArrayMap.EMPTY,document.querySelector("[static-id]"));
hoplon.core.do_watch=function(a){switch(arguments.length){case 2:return hoplon.core.do_watch.cljs$core$IFn$_invoke$arity$2(arguments[0],arguments[1]);case 3:return hoplon.core.do_watch.cljs$core$IFn$_invoke$arity$3(arguments[0],arguments[1],arguments[2]);default:throw Error(["Invalid arity: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(""));}};hoplon.core.do_watch.cljs$core$IFn$_invoke$arity$2=function(a,b){return hoplon.core.do_watch.call(null,a,null,b)};
hoplon.core.do_watch.cljs$core$IFn$_invoke$arity$3=function(a,b,c){var d=cljs.core.gensym.call(null);c.call(null,b,cljs.core.deref.call(null,a));cljs.core.add_watch.call(null,a,d,function(a){return function(a,b,d,e){return c.call(null,d,e)}}(d));return d};hoplon.core.do_watch.cljs$lang$maxFixedArity=3;
hoplon.core.bust_cache=function(a){a=cljs.core.reverse.call(null,clojure.string.split.call(null,a,/\//));a=cljs.core.seq.call(null,a);var b=cljs.core.first.call(null,a);a=cljs.core.next.call(null,a);var c=clojure.string.split.call(null,b,/\./,2);b=cljs.core.nth.call(null,c,0,null);c=cljs.core.nth.call(null,c,1,null);return clojure.string.join.call(null,"/",cljs.core.reverse.call(null,cljs.core.conj.call(null,a,clojure.string.join.call(null,".",new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,
[[cljs.core.str.cljs$core$IFn$_invoke$arity$1(b),".f7e618ca92474f3cb9af852a0da6f3d1"].join(""),c],null)))))};hoplon.core.normalize_class=function(a){var b=function(a){return cljs.core.zipmap.call(null,a,cljs.core.repeat.call(null,!0))};return cljs.core.map_QMARK_.call(null,a)?a:b.call(null,"string"===typeof a?a.split(/\s+/):cljs.core.seq.call(null,a))};
hoplon.core.child_vec=function(a){a=a.childNodes;for(var b=a.length,c=0,d=cljs.core.transient$.call(null,cljs.core.PersistentVector.EMPTY);;){var e=(e=cljs.core._EQ_.call(null,c,b))?cljs.core.persistent_BANG_.call(null,d):e;if(cljs.core.truth_(e))return e;e=c+1;d=cljs.core.conj_BANG_.call(null,d,a.item(c));c=e}};
hoplon.core.vflatten=function(a){switch(arguments.length){case 1:return hoplon.core.vflatten.cljs$core$IFn$_invoke$arity$1(arguments[0]);case 2:return hoplon.core.vflatten.cljs$core$IFn$_invoke$arity$2(arguments[0],arguments[1]);default:throw Error(["Invalid arity: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(""));}};
hoplon.core.vflatten.cljs$core$IFn$_invoke$arity$1=function(a){return cljs.core.persistent_BANG_.call(null,hoplon.core.vflatten.call(null,a,cljs.core.transient$.call(null,cljs.core.PersistentVector.EMPTY)))};
hoplon.core.vflatten.cljs$core$IFn$_invoke$arity$2=function(a,b){for(var c=cljs.core.count.call(null,a),d=0;;){if(cljs.core._EQ_.call(null,d,c))return b;var e=cljs.core.nth.call(null,a,d);cljs.core.sequential_QMARK_.call(null,e)?hoplon.core.vflatten.call(null,e,b):cljs.core.conj_BANG_.call(null,b,e);d+=1}};hoplon.core.vflatten.cljs$lang$maxFixedArity=2;hoplon.core.INode=function(){};
hoplon.core.node=function(a){if(null!=a&&null!=a.hoplon$core$INode$node$arity$1)return a.hoplon$core$INode$node$arity$1(a);var b=hoplon.core.node[goog.typeOf(null==a?null:a)];if(null!=b)return b.call(null,a);b=hoplon.core.node._;if(null!=b)return b.call(null,a);throw cljs.core.missing_protocol.call(null,"INode.node",a);};goog.object.set(hoplon.core.INode,"string",!0);goog.object.set(hoplon.core.node,"string",function(a){return hoplon.core.$text.call(null,a)});
goog.object.set(hoplon.core.INode,"number",!0);goog.object.set(hoplon.core.node,"number",function(a){return hoplon.core.$text.call(null,cljs.core.str.cljs$core$IFn$_invoke$arity$1(a))});hoplon.core.__GT_node=function(a){return(null!=a?cljs.core.PROTOCOL_SENTINEL===a.hoplon$core$INode$||(a.cljs$lang$protocol_mask$partition$?0:cljs.core.native_satisfies_QMARK_.call(null,hoplon.core.INode,a)):cljs.core.native_satisfies_QMARK_.call(null,hoplon.core.INode,a))?hoplon.core.node.call(null,a):a};
hoplon.core.removeChild=Element.prototype.removeChild;hoplon.core.appendChild=Element.prototype.appendChild;hoplon.core.insertBefore=Element.prototype.insertBefore;hoplon.core.replaceChild=Element.prototype.replaceChild;hoplon.core.setAttribute=Element.prototype.setAttribute;
hoplon.core.merge_kids=function(a,b,c){b=cljs.core.mapv.call(null,hoplon.core.__GT_node,cljs.core.reduce.call(null,function(a,b){return null==b?a:cljs.core.conj.call(null,a,b)},cljs.core.PersistentVector.EMPTY,hoplon.core.vflatten.call(null,c)));var d=cljs.core.set.call(null,b);c=cljs.core.seq.call(null,b);cljs.core.first.call(null,c);cljs.core.next.call(null,c);c=hoplon.core.child_vec.call(null,a);var e=cljs.core.seq.call(null,c);cljs.core.first.call(null,e);cljs.core.next.call(null,e);e=b;for(b=
c;;){e=cljs.core.seq.call(null,e);c=cljs.core.first.call(null,e);e=cljs.core.next.call(null,e);var f=c;c=e;var g=cljs.core.seq.call(null,b);e=cljs.core.first.call(null,g);g=cljs.core.next.call(null,g);var h=e,k=g,l=b;if(cljs.core.truth_(function(){var a=f;return cljs.core.truth_(a)?a:h}()))b=cljs.core._EQ_.call(null,f,h)?k:cljs.core.not.call(null,h)?function(){var b=k;hoplon.core.appendChild.call(a,f);return b}():cljs.core.not.call(null,f)?function(){var b=k;cljs.core.truth_(d.call(null,h))||hoplon.core.removeChild.call(a,
h);return b}():function(){var b=l;hoplon.core.insertBefore.call(a,f,h);return b}(),e=c;else return null}};hoplon.core.ensure_kids_BANG_=function(a){if(!cljs.core.truth_(a.hoplonKids)){var b=cljs.core.atom.call(null,hoplon.core.child_vec.call(null,a));a.hoplonKids=b;hoplon.core.do_watch.call(null,b,cljs.core.partial.call(null,hoplon.core.merge_kids,a))}return a};hoplon.core.remove_all_kids_BANG_=function(a){a.hoplonKids=null;return hoplon.core.merge_kids.call(null,a,null,null)};
hoplon.core.native_QMARK_=function(a){return a instanceof Element&&null==a.hoplonKids};hoplon.core.managed_QMARK_=function(a){return!hoplon.core.native_QMARK_.call(null,a)};
hoplon.core.managed_append_child=function(a,b,c){hoplon.core.ensure_kids_BANG_.call(null,a);a=c.call(null,a);c=cljs.core.count.call(null,cljs.core.deref.call(null,a));cljs.core.truth_(javelin.core.cell_QMARK_.call(null,b))?hoplon.core.do_watch.call(null,b,function(a,b,c){return function(c,d){return cljs.core.swap_BANG_.call(null,a,cljs.core.assoc,b,d)}}(a,c,b)):cljs.core.swap_BANG_.call(null,a,cljs.core.assoc,c,b);return b};
hoplon.core.set_appendChild_BANG_=function(a,b){return a.appendChild=function(a){var c=this;cljs.core.truth_(a.parentNode)&&a.parentNode.removeChild(a);if(hoplon.core.native_QMARK_.call(null,c)&&cljs.core.not.call(null,javelin.core.cell_QMARK_.call(null,a)))return hoplon.core.appendChild.call(c,a);if(cljs.core.truth_(function(){var b=hoplon.core.native_QMARK_.call(null,c);return b?javelin.core.cell_QMARK_.call(null,a):b}())||hoplon.core.managed_QMARK_.call(null,c))return hoplon.core.managed_append_child.call(null,
c,a,b);throw cljs.core.ex_info.call(null,"Unexpected child type",new cljs.core.PersistentArrayMap(null,5,[new cljs.core.Keyword(null,"reason","reason",-2070751759),new cljs.core.Keyword("hoplon.core","unexpected-child-type","hoplon.core/unexpected-child-type",1756641127),new cljs.core.Keyword(null,"child","child",623967545),a,new cljs.core.Keyword(null,"native?","native?",-1916990868),hoplon.core.native_QMARK_.call(null,a),new cljs.core.Keyword(null,"managed?","managed?",-1222195407),hoplon.core.managed_QMARK_.call(null,
a),new cljs.core.Keyword(null,"this","this",-611633625),c],null));}};hoplon.core.set_removeChild_BANG_=function(a,b){return a.removeChild=function(a){hoplon.core.ensure_kids_BANG_.call(null,this);cljs.core.swap_BANG_.call(null,b.call(null,this),function(a,b){return function(b){return cljs.core.into.call(null,cljs.core.PersistentVector.EMPTY,cljs.core.remove.call(null,cljs.core.partial.call(null,cljs.core._EQ_,a),b))}}(a,this));return a}};
hoplon.core.set_insertBefore_BANG_=function(a,b){return a.insertBefore=function(a,d){hoplon.core.ensure_kids_BANG_.call(null,this);cljs.core.not.call(null,d)?cljs.core.swap_BANG_.call(null,b.call(null,this),cljs.core.conj,a):cljs.core.not_EQ_.call(null,a,d)&&cljs.core.swap_BANG_.call(null,b.call(null,this),function(a,b){return function(c){return cljs.core.vec.call(null,cljs.core.mapcat.call(null,function(a,b){return function(b){return cljs.core._EQ_.call(null,b,d)?new cljs.core.PersistentVector(null,
2,5,cljs.core.PersistentVector.EMPTY_NODE,[a,b],null):new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[b],null)}}(a,b),c))}}(a,this));return a}};
hoplon.core.set_replaceChild_BANG_=function(a,b){return a.replaceChild=function(a,d){hoplon.core.ensure_kids_BANG_.call(null,this);cljs.core.swap_BANG_.call(null,b.call(null,this),function(b,c){return function(d){return cljs.core.mapv.call(null,function(b,c){return function(c){return cljs.core._EQ_.call(null,c,b)?a:c}}(b,c),d)}}(d,this));return d}};
hoplon.core.set_setAttribute_BANG_=function(a,b){return a.setAttribute=function(a,d){var c=cljs.core.keyword.call(null,a),f=b.call(null,this);var g=cljs.core.truth_(f)?cljs.core.contains_QMARK_.call(null,cljs.core.deref.call(null,f),c):f;cljs.core.truth_(g)?cljs.core.swap_BANG_.call(null,f,cljs.core.assoc,c,d):hoplon.core.setAttribute.call(this,a,d)}};hoplon.core.set_appendChild_BANG_.call(null,Element.prototype,function(a){return a.hoplonKids});
hoplon.core.set_removeChild_BANG_.call(null,Element.prototype,function(a){return a.hoplonKids});hoplon.core.set_insertBefore_BANG_.call(null,Element.prototype,function(a){return a.hoplonKids});hoplon.core.set_replaceChild_BANG_.call(null,Element.prototype,function(a){return a.hoplonKids});hoplon.core.ICustomElement=function(){};
hoplon.core._set_attributes_BANG_=function(a,b){if(null!=a&&null!=a.hoplon$core$ICustomElement$_set_attributes_BANG_$arity$2)return a.hoplon$core$ICustomElement$_set_attributes_BANG_$arity$2(a,b);var c=hoplon.core._set_attributes_BANG_[goog.typeOf(null==a?null:a)];if(null!=c)return c.call(null,a,b);c=hoplon.core._set_attributes_BANG_._;if(null!=c)return c.call(null,a,b);throw cljs.core.missing_protocol.call(null,"ICustomElement.-set-attributes!",a);};
hoplon.core._set_styles_BANG_=function(a,b){if(null!=a&&null!=a.hoplon$core$ICustomElement$_set_styles_BANG_$arity$2)return a.hoplon$core$ICustomElement$_set_styles_BANG_$arity$2(a,b);var c=hoplon.core._set_styles_BANG_[goog.typeOf(null==a?null:a)];if(null!=c)return c.call(null,a,b);c=hoplon.core._set_styles_BANG_._;if(null!=c)return c.call(null,a,b);throw cljs.core.missing_protocol.call(null,"ICustomElement.-set-styles!",a);};
hoplon.core._append_child_BANG_=function(a,b){if(null!=a&&null!=a.hoplon$core$ICustomElement$_append_child_BANG_$arity$2)return a.hoplon$core$ICustomElement$_append_child_BANG_$arity$2(a,b);var c=hoplon.core._append_child_BANG_[goog.typeOf(null==a?null:a)];if(null!=c)return c.call(null,a,b);c=hoplon.core._append_child_BANG_._;if(null!=c)return c.call(null,a,b);throw cljs.core.missing_protocol.call(null,"ICustomElement.-append-child!",a);};
hoplon.core._remove_child_BANG_=function(a,b){if(null!=a&&null!=a.hoplon$core$ICustomElement$_remove_child_BANG_$arity$2)return a.hoplon$core$ICustomElement$_remove_child_BANG_$arity$2(a,b);var c=hoplon.core._remove_child_BANG_[goog.typeOf(null==a?null:a)];if(null!=c)return c.call(null,a,b);c=hoplon.core._remove_child_BANG_._;if(null!=c)return c.call(null,a,b);throw cljs.core.missing_protocol.call(null,"ICustomElement.-remove-child!",a);};
hoplon.core._replace_child_BANG_=function(a,b,c){if(null!=a&&null!=a.hoplon$core$ICustomElement$_replace_child_BANG_$arity$3)return a.hoplon$core$ICustomElement$_replace_child_BANG_$arity$3(a,b,c);var d=hoplon.core._replace_child_BANG_[goog.typeOf(null==a?null:a)];if(null!=d)return d.call(null,a,b,c);d=hoplon.core._replace_child_BANG_._;if(null!=d)return d.call(null,a,b,c);throw cljs.core.missing_protocol.call(null,"ICustomElement.-replace-child!",a);};
hoplon.core._insert_before_BANG_=function(a,b,c){if(null!=a&&null!=a.hoplon$core$ICustomElement$_insert_before_BANG_$arity$3)return a.hoplon$core$ICustomElement$_insert_before_BANG_$arity$3(a,b,c);var d=hoplon.core._insert_before_BANG_[goog.typeOf(null==a?null:a)];if(null!=d)return d.call(null,a,b,c);d=hoplon.core._insert_before_BANG_._;if(null!=d)return d.call(null,a,b,c);throw cljs.core.missing_protocol.call(null,"ICustomElement.-insert-before!",a);};
hoplon.core.set_attributes_BANG_=function(a){switch(arguments.length){case 2:return hoplon.core.set_attributes_BANG_.cljs$core$IFn$_invoke$arity$2(arguments[0],arguments[1]);default:for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;b=new cljs.core.IndexedSeq(b.slice(3),0,null);return hoplon.core.set_attributes_BANG_.cljs$core$IFn$_invoke$arity$variadic(arguments[0],arguments[1],arguments[2],b)}};
hoplon.core.set_attributes_BANG_.cljs$core$IFn$_invoke$arity$2=function(a,b){return hoplon.core._set_attributes_BANG_.call(null,a,b)};hoplon.core.set_attributes_BANG_.cljs$core$IFn$_invoke$arity$variadic=function(a,b,c,d){return hoplon.core.set_attributes_BANG_.call(null,a,cljs.core.apply.call(null,cljs.core.hash_map,b,c,d))};
hoplon.core.set_attributes_BANG_.cljs$lang$applyTo=function(a){var b=cljs.core.first.call(null,a),c=cljs.core.next.call(null,a);a=cljs.core.first.call(null,c);var d=cljs.core.next.call(null,c);c=cljs.core.first.call(null,d);d=cljs.core.next.call(null,d);return this.cljs$core$IFn$_invoke$arity$variadic(b,a,c,d)};hoplon.core.set_attributes_BANG_.cljs$lang$maxFixedArity=3;
hoplon.core.set_styles_BANG_=function(a){switch(arguments.length){case 2:return hoplon.core.set_styles_BANG_.cljs$core$IFn$_invoke$arity$2(arguments[0],arguments[1]);default:for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;b=new cljs.core.IndexedSeq(b.slice(3),0,null);return hoplon.core.set_styles_BANG_.cljs$core$IFn$_invoke$arity$variadic(arguments[0],arguments[1],arguments[2],b)}};
hoplon.core.set_styles_BANG_.cljs$core$IFn$_invoke$arity$2=function(a,b){return hoplon.core._set_styles_BANG_.call(null,a,b)};hoplon.core.set_styles_BANG_.cljs$core$IFn$_invoke$arity$variadic=function(a,b,c,d){return hoplon.core.set_styles_BANG_.call(null,a,cljs.core.apply.call(null,cljs.core.hash_map,b,c,d))};
hoplon.core.set_styles_BANG_.cljs$lang$applyTo=function(a){var b=cljs.core.first.call(null,a),c=cljs.core.next.call(null,a);a=cljs.core.first.call(null,c);var d=cljs.core.next.call(null,c);c=cljs.core.first.call(null,d);d=cljs.core.next.call(null,d);return this.cljs$core$IFn$_invoke$arity$variadic(b,a,c,d)};hoplon.core.set_styles_BANG_.cljs$lang$maxFixedArity=3;hoplon.core.append_child_BANG_=function(a,b){return hoplon.core._append_child_BANG_.call(null,a,b)};
hoplon.core.remove_child_BANG_=function(a,b){return hoplon.core._remove_child_BANG_.call(null,a,b)};hoplon.core.replace_child_BANG_=function(a,b,c){return hoplon.core._replace_child_BANG_.call(null,a,b,c)};hoplon.core.insert_before_BANG_=function(a,b,c){return hoplon.core._insert_before_BANG_.call(null,a,b,c)};hoplon.core.ICustomAttribute=function(){};
hoplon.core._attr_BANG_=function(a,b,c){if(null!=a&&null!=a.hoplon$core$ICustomAttribute$_attr_BANG_$arity$3)return a.hoplon$core$ICustomAttribute$_attr_BANG_$arity$3(a,b,c);var d=hoplon.core._attr_BANG_[goog.typeOf(null==a?null:a)];if(null!=d)return d.call(null,a,b,c);d=hoplon.core._attr_BANG_._;if(null!=d)return d.call(null,a,b,c);throw cljs.core.missing_protocol.call(null,"ICustomAttribute.-attr!",a);};
hoplon.core.attribute_QMARK_=function(a){return null!=a?cljs.core.PROTOCOL_SENTINEL===a.hoplon$core$ICustomAttribute$?!0:a.cljs$lang$protocol_mask$partition$?!1:cljs.core.native_satisfies_QMARK_.call(null,hoplon.core.ICustomAttribute,a):cljs.core.native_satisfies_QMARK_.call(null,hoplon.core.ICustomAttribute,a)};cljs.core.Keyword.prototype.hoplon$core$ICustomAttribute$=cljs.core.PROTOCOL_SENTINEL;
cljs.core.Keyword.prototype.hoplon$core$ICustomAttribute$_attr_BANG_$arity$3=function(a,b,c){return cljs.core.truth_(javelin.core.cell_QMARK_.call(null,c))?hoplon.core.do_watch.call(null,c,function(a){return function(c,d){return hoplon.core.do_BANG_.call(null,b,a,d)}}(this)):cljs.core.fn_QMARK_.call(null,c)?hoplon.core.on_BANG_.call(null,b,this,c):hoplon.core.do_BANG_.call(null,b,this,c)};hoplon.core.is_ie8=cljs.core.not.call(null,goog.object.get(window,"Node"));
hoplon.core._head_STAR_=hoplon.core.is_ie8?function(a){return a.documentElement.firstChild}:function(a){return a.head};hoplon.core.vector_QMARK__STAR_=hoplon.core.is_ie8?function(a){try{return cljs.core.vector_QMARK_.call(null,a)}catch(b){if(b instanceof Error)return null;throw b;}}:cljs.core.vector_QMARK_;hoplon.core.seq_QMARK__STAR_=hoplon.core.is_ie8?function(a){try{return cljs.core.seq_QMARK_.call(null,a)}catch(b){if(b instanceof Error)return null;throw b;}}:cljs.core.seq_QMARK_;
hoplon.core.safe_nth=function(a){switch(arguments.length){case 2:return hoplon.core.safe_nth.cljs$core$IFn$_invoke$arity$2(arguments[0],arguments[1]);case 3:return hoplon.core.safe_nth.cljs$core$IFn$_invoke$arity$3(arguments[0],arguments[1],arguments[2]);default:throw Error(["Invalid arity: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(""));}};hoplon.core.safe_nth.cljs$core$IFn$_invoke$arity$2=function(a,b){return hoplon.core.safe_nth.call(null,a,b,null)};
hoplon.core.safe_nth.cljs$core$IFn$_invoke$arity$3=function(a,b,c){try{return cljs.core.nth.call(null,a,b,c)}catch(d){if(d instanceof Error)return c;throw d;}};hoplon.core.safe_nth.cljs$lang$maxFixedArity=3;
hoplon.core.timeout=function(a){switch(arguments.length){case 1:return hoplon.core.timeout.cljs$core$IFn$_invoke$arity$1(arguments[0]);case 2:return hoplon.core.timeout.cljs$core$IFn$_invoke$arity$2(arguments[0],arguments[1]);default:throw Error(["Invalid arity: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(""));}};hoplon.core.timeout.cljs$core$IFn$_invoke$arity$1=function(a){return hoplon.core.timeout.call(null,a,0)};
hoplon.core.timeout.cljs$core$IFn$_invoke$arity$2=function(a,b){return window.setTimeout(a,b)};hoplon.core.timeout.cljs$lang$maxFixedArity=2;
hoplon.core.when_dom=function(a,b){if(a instanceof Element){var c=goog.object.get(a,"_hoplonWhenDom");if(cljs.core.truth_(c))return c.push(b);goog.object.set(a,"_hoplonWhenDom",[b]);return setTimeout(function(b){return function(){return function(b){return function g(){if(cljs.core.not.call(null,document.documentElement.contains(a)))return setTimeout(function(a){return function(){return g.call(null)}}(b),20);for(var c=cljs.core.seq.call(null,goog.object.get(a,"_hoplonWhenDom")),d=null,e=0,m=0;;)if(m<
e)cljs.core._nth.call(null,d,m).call(null),m+=1;else if(c=cljs.core.seq.call(null,c))d=c,cljs.core.chunked_seq_QMARK_.call(null,d)?(c=cljs.core.chunk_first.call(null,d),m=cljs.core.chunk_rest.call(null,d),d=c,e=cljs.core.count.call(null,c),c=m):(cljs.core.first.call(null,d).call(null),c=cljs.core.next.call(null,d),d=null,e=0),m=0;else break;return goog.object.set(a,"_hoplonWhenDom",null)}}(b).call(null)}}(c),0)}return setTimeout(function(){return b.call(null)},0)};
hoplon.core.parse_args=function(a){for(var b=cljs.core.transient$.call(null,cljs.core.PersistentArrayMap.EMPTY),c=cljs.core.transient$.call(null,cljs.core.PersistentVector.EMPTY),d=cljs.core.seq.call(null,a),e=cljs.core.first.call(null,d),f=cljs.core.next.call(null,d),g=b,h=c,k=a;;){var l=g,m=h,n=k,p=cljs.core.seq.call(null,n),q=cljs.core.first.call(null,p),r=cljs.core.next.call(null,p),u=q,t=r;if(cljs.core.not.call(null,function(){var a=u;return cljs.core.truth_(a)?a:t}()))return new cljs.core.PersistentVector(null,
2,5,cljs.core.PersistentVector.EMPTY_NODE,[cljs.core.persistent_BANG_.call(null,l),cljs.core.persistent_BANG_.call(null,m)],null);cljs.core.map_QMARK_.call(null,u)?(g=cljs.core.reduce_kv.call(null,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,H,O,P){return function(a,b,c){return cljs.core.assoc_BANG_.call(null,a,b,c)}}(g,h,k,l,m,n,p,q,r,u,t,b,c,a,a,d,e,f,e,f),l,u),h=m,k=m=t):hoplon.core.attribute_QMARK_.call(null,u)?(g=cljs.core.assoc_BANG_.call(null,l,u,cljs.core.first.call(null,t)),h=m,k=m=cljs.core.rest.call(null,
t)):cljs.core.truth_(hoplon.core.seq_QMARK__STAR_.call(null,u))?(g=l,h=cljs.core.reduce.call(null,cljs.core.conj_BANG_,m,hoplon.core.vflatten.call(null,u)),k=m=t):cljs.core.truth_(hoplon.core.vector_QMARK__STAR_.call(null,u))?(g=l,h=cljs.core.reduce.call(null,cljs.core.conj_BANG_,m,hoplon.core.vflatten.call(null,u)),k=m=t):(g=l,h=cljs.core.conj_BANG_.call(null,m,u),k=m=t)}};
hoplon.core.add_attributes_BANG_=function(a,b){return cljs.core.reduce_kv.call(null,function(a,b,e){hoplon.core._attr_BANG_.call(null,b,a,e);return a},a,b)};
hoplon.core.add_children_BANG_=function(a,b){var c=cljs.core.seq.call(null,b);cljs.core.first.call(null,c);cljs.core.next.call(null,c);b=cljs.core.seq.call(null,hoplon.core.vflatten.call(null,b));c=null;for(var d=0,e=0;;)if(e<d){var f=cljs.core._nth.call(null,c,e);f=hoplon.core.__GT_node.call(null,f);cljs.core.truth_(f)&&hoplon.core.append_child_BANG_.call(null,a,f);e+=1}else if(b=cljs.core.seq.call(null,b))cljs.core.chunked_seq_QMARK_.call(null,b)?(d=cljs.core.chunk_first.call(null,b),b=cljs.core.chunk_rest.call(null,
b),c=d,d=cljs.core.count.call(null,d)):(c=cljs.core.first.call(null,b),c=hoplon.core.__GT_node.call(null,c),cljs.core.truth_(c)&&hoplon.core.append_child_BANG_.call(null,a,c),b=cljs.core.next.call(null,b),c=null,d=0),e=0;else break;return a};
hoplon.core.invoke_BANG_=function(a){for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;b=1<b.length?new cljs.core.IndexedSeq(b.slice(1),0,null):null;return hoplon.core.invoke_BANG_.cljs$core$IFn$_invoke$arity$variadic(arguments[0],b)};
hoplon.core.invoke_BANG_.cljs$core$IFn$_invoke$arity$variadic=function(a,b){var c=hoplon.core.parse_args.call(null,b);b=cljs.core.nth.call(null,c,0,null);c=cljs.core.nth.call(null,c,1,null);hoplon.core.add_attributes_BANG_.call(null,a,b);hoplon.core.add_children_BANG_.call(null,a,c);return a};hoplon.core.invoke_BANG_.cljs$lang$maxFixedArity=1;
hoplon.core.invoke_BANG_.cljs$lang$applyTo=function(a){var b=cljs.core.first.call(null,a);a=cljs.core.next.call(null,a);return this.cljs$core$IFn$_invoke$arity$variadic(b,a)};Element.prototype.cljs$core$IPrintWithWriter$=cljs.core.PROTOCOL_SENTINEL;Element.prototype.cljs$core$IPrintWithWriter$_pr_writer$arity$3=function(a,b,c){return cljs.core.write_all.call(null,b,"#\x3cElement: ",this.tagName,"\x3e")};Element.prototype.cljs$core$IFn$=cljs.core.PROTOCOL_SENTINEL;
Element.prototype.call=function(){var a=null,b=function(a){return hoplon.core.invoke_BANG_.call(null,this)},c=function(a,b){return hoplon.core.invoke_BANG_.call(null,this,b)},d=function(a,b,c){return hoplon.core.invoke_BANG_.call(null,this,b,c)},e=function(a,b,c,d){return hoplon.core.invoke_BANG_.call(null,this,b,c,d)},f=function(a,b,c,d,e){return hoplon.core.invoke_BANG_.call(null,this,b,c,d,e)},g=function(a,b,c,d,e,f){return hoplon.core.invoke_BANG_.call(null,this,b,c,d,e,f)},h=function(a,b,c,d,
e,f,g){return hoplon.core.invoke_BANG_.call(null,this,b,c,d,e,f,g)},k=function(a,b,c,d,e,f,g,h){return hoplon.core.invoke_BANG_.call(null,this,b,c,d,e,f,g,h)},l=function(a,b,c,d,e,f,g,h,k){return hoplon.core.invoke_BANG_.call(null,this,b,c,d,e,f,g,h,k)},m=function(a,b,c,d,e,f,g,h,k,l){return hoplon.core.invoke_BANG_.call(null,this,b,c,d,e,f,g,h,k,l)},n=function(a,b,c,d,e,f,g,h,k,l,m){return hoplon.core.invoke_BANG_.call(null,this,b,c,d,e,f,g,h,k,l,m)},p=function(a,b,c,d,e,f,g,h,k,l,m,n){return hoplon.core.invoke_BANG_.call(null,
this,b,c,d,e,f,g,h,k,l,m,n)},q=function(a,b,c,d,e,f,g,h,k,l,m,n,p){return hoplon.core.invoke_BANG_.call(null,this,b,c,d,e,f,g,h,k,l,m,n,p)},r=function(a,b,c,d,e,f,g,h,k,l,m,n,p,q){return hoplon.core.invoke_BANG_.call(null,this,b,c,d,e,f,g,h,k,l,m,n,p,q)},u=function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r){return hoplon.core.invoke_BANG_.call(null,this,b,c,d,e,f,g,h,k,l,m,n,p,q,r)},t=function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t){return hoplon.core.invoke_BANG_.call(null,this,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t)},v=function(a,
b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u){return hoplon.core.invoke_BANG_.call(null,this,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u)},w=function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v){return hoplon.core.invoke_BANG_.call(null,this,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v)},x=function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w){return hoplon.core.invoke_BANG_.call(null,this,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w)},y=function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,z){return hoplon.core.invoke_BANG_.call(null,this,b,c,d,e,f,g,h,k,l,m,n,
p,q,r,t,u,v,w,z)},z=function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,z,x){return hoplon.core.invoke_BANG_.call(null,this,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,z,x)},B=function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,z,x,y){return hoplon.core.invoke_BANG_.call(null,this,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,z,x,y)};a=function(a,A,D,F,E,G,J,M,L,K,I,H,O,P,N,Q,R,S,T,U,W,V){switch(arguments.length){case 1:return b.call(this,a);case 2:return c.call(this,a,A);case 3:return d.call(this,a,A,D);case 4:return e.call(this,
a,A,D,F);case 5:return f.call(this,a,A,D,F,E);case 6:return g.call(this,a,A,D,F,E,G);case 7:return h.call(this,a,A,D,F,E,G,J);case 8:return k.call(this,a,A,D,F,E,G,J,M);case 9:return l.call(this,a,A,D,F,E,G,J,M,L);case 10:return m.call(this,a,A,D,F,E,G,J,M,L,K);case 11:return n.call(this,a,A,D,F,E,G,J,M,L,K,I);case 12:return p.call(this,a,A,D,F,E,G,J,M,L,K,I,H);case 13:return q.call(this,a,A,D,F,E,G,J,M,L,K,I,H,O);case 14:return r.call(this,a,A,D,F,E,G,J,M,L,K,I,H,O,P);case 15:return u.call(this,
a,A,D,F,E,G,J,M,L,K,I,H,O,P,N);case 16:return t.call(this,a,A,D,F,E,G,J,M,L,K,I,H,O,P,N,Q);case 17:return v.call(this,a,A,D,F,E,G,J,M,L,K,I,H,O,P,N,Q,R);case 18:return w.call(this,a,A,D,F,E,G,J,M,L,K,I,H,O,P,N,Q,R,S);case 19:return x.call(this,a,A,D,F,E,G,J,M,L,K,I,H,O,P,N,Q,R,S,T);case 20:return y.call(this,a,A,D,F,E,G,J,M,L,K,I,H,O,P,N,Q,R,S,T,U);case 21:return z.call(this,a,A,D,F,E,G,J,M,L,K,I,H,O,P,N,Q,R,S,T,U,W);case 22:return B.call(this,a,A,D,F,E,G,J,M,L,K,I,H,O,P,N,Q,R,S,T,U,W,V)}throw Error("Invalid arity: "+
(arguments.length-1));};a.cljs$core$IFn$_invoke$arity$1=b;a.cljs$core$IFn$_invoke$arity$2=c;a.cljs$core$IFn$_invoke$arity$3=d;a.cljs$core$IFn$_invoke$arity$4=e;a.cljs$core$IFn$_invoke$arity$5=f;a.cljs$core$IFn$_invoke$arity$6=g;a.cljs$core$IFn$_invoke$arity$7=h;a.cljs$core$IFn$_invoke$arity$8=k;a.cljs$core$IFn$_invoke$arity$9=l;a.cljs$core$IFn$_invoke$arity$10=m;a.cljs$core$IFn$_invoke$arity$11=n;a.cljs$core$IFn$_invoke$arity$12=p;a.cljs$core$IFn$_invoke$arity$13=q;a.cljs$core$IFn$_invoke$arity$14=
r;a.cljs$core$IFn$_invoke$arity$15=u;a.cljs$core$IFn$_invoke$arity$16=t;a.cljs$core$IFn$_invoke$arity$17=v;a.cljs$core$IFn$_invoke$arity$18=w;a.cljs$core$IFn$_invoke$arity$19=x;a.cljs$core$IFn$_invoke$arity$20=y;a.cljs$core$IFn$_invoke$arity$21=z;a.cljs$core$IFn$_invoke$arity$22=B;return a}();Element.prototype.apply=function(a,b){return this.call.apply(this,[this].concat(cljs.core.aclone.call(null,b)))};
Element.prototype.cljs$core$IFn$_invoke$arity$0=function(){return hoplon.core.invoke_BANG_.call(null,this)};Element.prototype.cljs$core$IFn$_invoke$arity$1=function(a){return hoplon.core.invoke_BANG_.call(null,this,a)};Element.prototype.cljs$core$IFn$_invoke$arity$2=function(a,b){return hoplon.core.invoke_BANG_.call(null,this,a,b)};Element.prototype.cljs$core$IFn$_invoke$arity$3=function(a,b,c){return hoplon.core.invoke_BANG_.call(null,this,a,b,c)};
Element.prototype.cljs$core$IFn$_invoke$arity$4=function(a,b,c,d){return hoplon.core.invoke_BANG_.call(null,this,a,b,c,d)};Element.prototype.cljs$core$IFn$_invoke$arity$5=function(a,b,c,d,e){return hoplon.core.invoke_BANG_.call(null,this,a,b,c,d,e)};Element.prototype.cljs$core$IFn$_invoke$arity$6=function(a,b,c,d,e,f){return hoplon.core.invoke_BANG_.call(null,this,a,b,c,d,e,f)};
Element.prototype.cljs$core$IFn$_invoke$arity$7=function(a,b,c,d,e,f,g){return hoplon.core.invoke_BANG_.call(null,this,a,b,c,d,e,f,g)};Element.prototype.cljs$core$IFn$_invoke$arity$8=function(a,b,c,d,e,f,g,h){return hoplon.core.invoke_BANG_.call(null,this,a,b,c,d,e,f,g,h)};Element.prototype.cljs$core$IFn$_invoke$arity$9=function(a,b,c,d,e,f,g,h,k){return hoplon.core.invoke_BANG_.call(null,this,a,b,c,d,e,f,g,h,k)};
Element.prototype.cljs$core$IFn$_invoke$arity$10=function(a,b,c,d,e,f,g,h,k,l){return hoplon.core.invoke_BANG_.call(null,this,a,b,c,d,e,f,g,h,k,l)};Element.prototype.cljs$core$IFn$_invoke$arity$11=function(a,b,c,d,e,f,g,h,k,l,m){return hoplon.core.invoke_BANG_.call(null,this,a,b,c,d,e,f,g,h,k,l,m)};Element.prototype.cljs$core$IFn$_invoke$arity$12=function(a,b,c,d,e,f,g,h,k,l,m,n){return hoplon.core.invoke_BANG_.call(null,this,a,b,c,d,e,f,g,h,k,l,m,n)};
Element.prototype.cljs$core$IFn$_invoke$arity$13=function(a,b,c,d,e,f,g,h,k,l,m,n,p){return hoplon.core.invoke_BANG_.call(null,this,a,b,c,d,e,f,g,h,k,l,m,n,p)};Element.prototype.cljs$core$IFn$_invoke$arity$14=function(a,b,c,d,e,f,g,h,k,l,m,n,p,q){return hoplon.core.invoke_BANG_.call(null,this,a,b,c,d,e,f,g,h,k,l,m,n,p,q)};Element.prototype.cljs$core$IFn$_invoke$arity$15=function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r){return hoplon.core.invoke_BANG_.call(null,this,a,b,c,d,e,f,g,h,k,l,m,n,p,q,r)};
Element.prototype.cljs$core$IFn$_invoke$arity$16=function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u){return hoplon.core.invoke_BANG_.call(null,this,a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u)};Element.prototype.cljs$core$IFn$_invoke$arity$17=function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t){return hoplon.core.invoke_BANG_.call(null,this,a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t)};
Element.prototype.cljs$core$IFn$_invoke$arity$18=function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v){return hoplon.core.invoke_BANG_.call(null,this,a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v)};Element.prototype.cljs$core$IFn$_invoke$arity$19=function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w){return hoplon.core.invoke_BANG_.call(null,this,a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w)};
Element.prototype.cljs$core$IFn$_invoke$arity$20=function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w,x){return hoplon.core.invoke_BANG_.call(null,this,a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w,x)};Element.prototype.cljs$core$IFn$_invoke$arity$21=function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w,x,y){return hoplon.core.invoke_BANG_.call(null,this,a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w,x,y)};Element.prototype.hoplon$core$ICustomElement$=cljs.core.PROTOCOL_SENTINEL;
Element.prototype.hoplon$core$ICustomElement$_set_attributes_BANG_$arity$2=function(a,b){a=cljs.core.seq.call(null,b);b=null;for(var c=0,d=0;;)if(d<c){var e=cljs.core._nth.call(null,b,d),f=cljs.core.nth.call(null,e,0,null);e=cljs.core.nth.call(null,e,1,null);f=cljs.core.name.call(null,f);cljs.core._EQ_.call(null,!1,e)?this.removeAttribute(f):this.setAttribute(f,cljs.core._EQ_.call(null,!0,e)?f:e);d+=1}else if(a=cljs.core.seq.call(null,a))cljs.core.chunked_seq_QMARK_.call(null,a)?(f=cljs.core.chunk_first.call(null,
a),a=cljs.core.chunk_rest.call(null,a),b=f,c=f=cljs.core.count.call(null,f)):(b=cljs.core.first.call(null,a),f=cljs.core.nth.call(null,b,0,null),e=cljs.core.nth.call(null,b,1,null),b=cljs.core.name.call(null,f),cljs.core._EQ_.call(null,!1,e)?this.removeAttribute(b):this.setAttribute(b,cljs.core._EQ_.call(null,!0,e)?b:e),a=cljs.core.next.call(null,a),b=null,c=0),d=0;else return null};
Element.prototype.hoplon$core$ICustomElement$_set_styles_BANG_$arity$2=function(a,b){a=cljs.core.seq.call(null,b);for(var c=null,d=0,e=0;;)if(e<d){var f=cljs.core._nth.call(null,c,e);b=cljs.core.nth.call(null,f,0,null);f=cljs.core.nth.call(null,f,1,null);goog.object.set(this.style,cljs.core.name.call(null,b),cljs.core.str.cljs$core$IFn$_invoke$arity$1(f));e+=1}else if(a=cljs.core.seq.call(null,a))cljs.core.chunked_seq_QMARK_.call(null,a)?(c=cljs.core.chunk_first.call(null,a),a=cljs.core.chunk_rest.call(null,
a),b=c,d=cljs.core.count.call(null,c),c=b):(c=cljs.core.first.call(null,a),b=cljs.core.nth.call(null,c,0,null),f=cljs.core.nth.call(null,c,1,null),goog.object.set(this.style,cljs.core.name.call(null,b),cljs.core.str.cljs$core$IFn$_invoke$arity$1(f)),a=cljs.core.next.call(null,a),c=null,d=0),e=0;else return null};
Element.prototype.hoplon$core$ICustomElement$_append_child_BANG_$arity$2=function(a,b){if(hoplon.core.is_ie8)try{return this.appendChild(b)}catch(c){if(c instanceof Error)return null;throw c;}else return this.appendChild(b)};Element.prototype.hoplon$core$ICustomElement$_remove_child_BANG_$arity$2=function(a,b){return this.removeChild(b)};Element.prototype.hoplon$core$ICustomElement$_replace_child_BANG_$arity$3=function(a,b,c){return this.replaceChild(b,c)};
Element.prototype.hoplon$core$ICustomElement$_insert_before_BANG_$arity$3=function(a,b,c){return this.insertBefore(b,c)};
hoplon.core.make_singleton_ctor=function(a){return function(){var b=function(b){var c=hoplon.core.parse_args.call(null,b);b=cljs.core.nth.call(null,c,0,null);c=cljs.core.nth.call(null,c,1,null);hoplon.core.add_attributes_BANG_.call(null,a,b);return cljs.core.not.call(null,(new cljs.core.Keyword(null,"static","static",1214358571)).cljs$core$IFn$_invoke$arity$1(b))?(hoplon.core.remove_all_kids_BANG_.call(null,a),hoplon.core.add_children_BANG_.call(null,a,c)):null},c=function(a){var c=null;if(0<arguments.length){c=
0;for(var d=Array(arguments.length-0);c<d.length;)d[c]=arguments[c+0],++c;c=new cljs.core.IndexedSeq(d,0,null)}return b.call(this,c)};c.cljs$lang$maxFixedArity=0;c.cljs$lang$applyTo=function(a){a=cljs.core.seq(a);return b(a)};c.cljs$core$IFn$_invoke$arity$variadic=b;return c}()};
hoplon.core.make_elem_ctor=function(a){var b=function(){var b=function(b){return cljs.core.apply.call(null,document.createElement(a),b)},d=function(a){var c=null;if(0<arguments.length){c=0;for(var d=Array(arguments.length-0);c<d.length;)d[c]=arguments[c+0],++c;c=new cljs.core.IndexedSeq(d,0,null)}return b.call(this,c)};d.cljs$lang$maxFixedArity=0;d.cljs$lang$applyTo=function(a){a=cljs.core.seq(a);return b(a)};d.cljs$core$IFn$_invoke$arity$variadic=b;return d}();return hoplon.core.is_ie8?function(a){return function(){var b=
function(b){try{return cljs.core.apply.call(null,a,b)}catch(g){if(g instanceof Error)return cljs.core.apply.call(null,hoplon.core.make_elem_ctor.call(null,"div"),b);throw g;}},c=function(a){var c=null;if(0<arguments.length){c=0;for(var d=Array(arguments.length-0);c<d.length;)d[c]=arguments[c+0],++c;c=new cljs.core.IndexedSeq(d,0,null)}return b.call(this,c)};c.cljs$lang$maxFixedArity=0;c.cljs$lang$applyTo=function(a){a=cljs.core.seq(a);return b(a)};c.cljs$core$IFn$_invoke$arity$variadic=b;return c}()}(b):
b};hoplon.core.html=function(a){for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;b=0<b.length?new cljs.core.IndexedSeq(b.slice(0),0,null):null;return hoplon.core.html.cljs$core$IFn$_invoke$arity$variadic(b)};hoplon.core.html.cljs$core$IFn$_invoke$arity$variadic=function(a){return hoplon.core.add_attributes_BANG_.call(null,document.documentElement,cljs.core.nth.call(null,hoplon.core.parse_args.call(null,a),0))};hoplon.core.html.cljs$lang$maxFixedArity=0;
hoplon.core.html.cljs$lang$applyTo=function(a){return this.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq.call(null,a))};hoplon.core.head=hoplon.core.make_singleton_ctor.call(null,hoplon.core._head_STAR_.call(null,document));hoplon.core.body=hoplon.core.make_singleton_ctor.call(null,document.body);hoplon.core.a=hoplon.core.make_elem_ctor.call(null,"a");hoplon.core.abbr=hoplon.core.make_elem_ctor.call(null,"abbr");hoplon.core.address=hoplon.core.make_elem_ctor.call(null,"address");
hoplon.core.area=hoplon.core.make_elem_ctor.call(null,"area");hoplon.core.article=hoplon.core.make_elem_ctor.call(null,"article");hoplon.core.aside=hoplon.core.make_elem_ctor.call(null,"aside");hoplon.core.audio=hoplon.core.make_elem_ctor.call(null,"audio");hoplon.core.b=hoplon.core.make_elem_ctor.call(null,"b");hoplon.core.base=hoplon.core.make_elem_ctor.call(null,"base");hoplon.core.bdi=hoplon.core.make_elem_ctor.call(null,"bdi");hoplon.core.bdo=hoplon.core.make_elem_ctor.call(null,"bdo");
hoplon.core.blockquote=hoplon.core.make_elem_ctor.call(null,"blockquote");hoplon.core.br=hoplon.core.make_elem_ctor.call(null,"br");hoplon.core.button=hoplon.core.make_elem_ctor.call(null,"button");hoplon.core.canvas=hoplon.core.make_elem_ctor.call(null,"canvas");hoplon.core.caption=hoplon.core.make_elem_ctor.call(null,"caption");hoplon.core.cite=hoplon.core.make_elem_ctor.call(null,"cite");hoplon.core.code=hoplon.core.make_elem_ctor.call(null,"code");
hoplon.core.col=hoplon.core.make_elem_ctor.call(null,"col");hoplon.core.colgroup=hoplon.core.make_elem_ctor.call(null,"colgroup");hoplon.core.data=hoplon.core.make_elem_ctor.call(null,"data");hoplon.core.datalist=hoplon.core.make_elem_ctor.call(null,"datalist");hoplon.core.dd=hoplon.core.make_elem_ctor.call(null,"dd");hoplon.core.del=hoplon.core.make_elem_ctor.call(null,"del");hoplon.core.details=hoplon.core.make_elem_ctor.call(null,"details");
hoplon.core.dfn=hoplon.core.make_elem_ctor.call(null,"dfn");hoplon.core.dialog=hoplon.core.make_elem_ctor.call(null,"dialog");hoplon.core.div=hoplon.core.make_elem_ctor.call(null,"div");hoplon.core.dl=hoplon.core.make_elem_ctor.call(null,"dl");hoplon.core.dt=hoplon.core.make_elem_ctor.call(null,"dt");hoplon.core.em=hoplon.core.make_elem_ctor.call(null,"em");hoplon.core.embed=hoplon.core.make_elem_ctor.call(null,"embed");hoplon.core.fieldset=hoplon.core.make_elem_ctor.call(null,"fieldset");
hoplon.core.figcaption=hoplon.core.make_elem_ctor.call(null,"figcaption");hoplon.core.figure=hoplon.core.make_elem_ctor.call(null,"figure");hoplon.core.footer=hoplon.core.make_elem_ctor.call(null,"footer");hoplon.core.form=hoplon.core.make_elem_ctor.call(null,"form");hoplon.core.h1=hoplon.core.make_elem_ctor.call(null,"h1");hoplon.core.h2=hoplon.core.make_elem_ctor.call(null,"h2");hoplon.core.h3=hoplon.core.make_elem_ctor.call(null,"h3");hoplon.core.h4=hoplon.core.make_elem_ctor.call(null,"h4");
hoplon.core.h5=hoplon.core.make_elem_ctor.call(null,"h5");hoplon.core.h6=hoplon.core.make_elem_ctor.call(null,"h6");hoplon.core.header=hoplon.core.make_elem_ctor.call(null,"header");hoplon.core.hgroup=hoplon.core.make_elem_ctor.call(null,"hgroup");hoplon.core.hr=hoplon.core.make_elem_ctor.call(null,"hr");hoplon.core.i=hoplon.core.make_elem_ctor.call(null,"i");hoplon.core.iframe=hoplon.core.make_elem_ctor.call(null,"iframe");hoplon.core.img=hoplon.core.make_elem_ctor.call(null,"img");
hoplon.core.input=hoplon.core.make_elem_ctor.call(null,"input");hoplon.core.ins=hoplon.core.make_elem_ctor.call(null,"ins");hoplon.core.kbd=hoplon.core.make_elem_ctor.call(null,"kbd");hoplon.core.keygen=hoplon.core.make_elem_ctor.call(null,"keygen");hoplon.core.label=hoplon.core.make_elem_ctor.call(null,"label");hoplon.core.legend=hoplon.core.make_elem_ctor.call(null,"legend");hoplon.core.li=hoplon.core.make_elem_ctor.call(null,"li");hoplon.core.link=hoplon.core.make_elem_ctor.call(null,"link");
hoplon.core.main=hoplon.core.make_elem_ctor.call(null,"main");hoplon.core.html_map=hoplon.core.make_elem_ctor.call(null,"map");hoplon.core.mark=hoplon.core.make_elem_ctor.call(null,"mark");hoplon.core.menu=hoplon.core.make_elem_ctor.call(null,"menu");hoplon.core.menuitem=hoplon.core.make_elem_ctor.call(null,"menuitem");hoplon.core.html_meta=hoplon.core.make_elem_ctor.call(null,"meta");hoplon.core.meter=hoplon.core.make_elem_ctor.call(null,"meter");
hoplon.core.multicol=hoplon.core.make_elem_ctor.call(null,"multicol");hoplon.core.nav=hoplon.core.make_elem_ctor.call(null,"nav");hoplon.core.noframes=hoplon.core.make_elem_ctor.call(null,"noframes");hoplon.core.noscript=hoplon.core.make_elem_ctor.call(null,"noscript");hoplon.core.html_object=hoplon.core.make_elem_ctor.call(null,"object");hoplon.core.ol=hoplon.core.make_elem_ctor.call(null,"ol");hoplon.core.optgroup=hoplon.core.make_elem_ctor.call(null,"optgroup");
hoplon.core.option=hoplon.core.make_elem_ctor.call(null,"option");hoplon.core.output=hoplon.core.make_elem_ctor.call(null,"output");hoplon.core.p=hoplon.core.make_elem_ctor.call(null,"p");hoplon.core.param=hoplon.core.make_elem_ctor.call(null,"param");hoplon.core.picture=hoplon.core.make_elem_ctor.call(null,"picture");hoplon.core.pre=hoplon.core.make_elem_ctor.call(null,"pre");hoplon.core.progress=hoplon.core.make_elem_ctor.call(null,"progress");
hoplon.core.q=hoplon.core.make_elem_ctor.call(null,"q");hoplon.core.rp=hoplon.core.make_elem_ctor.call(null,"rp");hoplon.core.rt=hoplon.core.make_elem_ctor.call(null,"rt");hoplon.core.rtc=hoplon.core.make_elem_ctor.call(null,"rtc");hoplon.core.ruby=hoplon.core.make_elem_ctor.call(null,"ruby");hoplon.core.s=hoplon.core.make_elem_ctor.call(null,"s");hoplon.core.samp=hoplon.core.make_elem_ctor.call(null,"samp");hoplon.core.script=hoplon.core.make_elem_ctor.call(null,"script");
hoplon.core.section=hoplon.core.make_elem_ctor.call(null,"section");hoplon.core.select=hoplon.core.make_elem_ctor.call(null,"select");hoplon.core.shadow=hoplon.core.make_elem_ctor.call(null,"shadow");hoplon.core.small=hoplon.core.make_elem_ctor.call(null,"small");hoplon.core.source=hoplon.core.make_elem_ctor.call(null,"source");hoplon.core.span=hoplon.core.make_elem_ctor.call(null,"span");hoplon.core.strong=hoplon.core.make_elem_ctor.call(null,"strong");
hoplon.core.style=hoplon.core.make_elem_ctor.call(null,"style");hoplon.core.sub=hoplon.core.make_elem_ctor.call(null,"sub");hoplon.core.summary=hoplon.core.make_elem_ctor.call(null,"summary");hoplon.core.sup=hoplon.core.make_elem_ctor.call(null,"sup");hoplon.core.table=hoplon.core.make_elem_ctor.call(null,"table");hoplon.core.tbody=hoplon.core.make_elem_ctor.call(null,"tbody");hoplon.core.td=hoplon.core.make_elem_ctor.call(null,"td");hoplon.core.template=hoplon.core.make_elem_ctor.call(null,"template");
hoplon.core.textarea=hoplon.core.make_elem_ctor.call(null,"textarea");hoplon.core.tfoot=hoplon.core.make_elem_ctor.call(null,"tfoot");hoplon.core.th=hoplon.core.make_elem_ctor.call(null,"th");hoplon.core.thead=hoplon.core.make_elem_ctor.call(null,"thead");hoplon.core.html_time=hoplon.core.make_elem_ctor.call(null,"time");hoplon.core.title=hoplon.core.make_elem_ctor.call(null,"title");hoplon.core.tr=hoplon.core.make_elem_ctor.call(null,"tr");hoplon.core.track=hoplon.core.make_elem_ctor.call(null,"track");
hoplon.core.u=hoplon.core.make_elem_ctor.call(null,"u");hoplon.core.ul=hoplon.core.make_elem_ctor.call(null,"ul");hoplon.core.html_var=hoplon.core.make_elem_ctor.call(null,"var");hoplon.core.video=hoplon.core.make_elem_ctor.call(null,"video");hoplon.core.wbr=hoplon.core.make_elem_ctor.call(null,"wbr");hoplon.core.spliced=cljs.core.vector;hoplon.core.$text=function(a){return document.createTextNode(a)};hoplon.core.$comment=function(a){return document.createComment(a)};hoplon.core._LT__BANG___=hoplon.core.$comment;
hoplon.core.___GT_=new cljs.core.Keyword("hoplon.core","--\x3e","hoplon.core/--\x3e",1031510657);hoplon.core.add_initfn_BANG_=function(a){return window.addEventListener("load",function(){return setTimeout(function(){return a.call(null)},0)})};hoplon.core.page_load=function(){return document.dispatchEvent("page-load")};hoplon.core.on_page_load=function(a){return document.addEventListener("page-load",a)};
hoplon.core.add_initfn_BANG_.call(null,function(){return document.body.addEventListener("submit",function(a){var b=a.target;return cljs.core.truth_(function(){var a=b.getAttribute("action");return cljs.core.truth_(a)?a:b.getAttribute("method")}())?null:a.preventDefault()})});
if("undefined"===typeof hoplon||"undefined"===typeof hoplon.core||"undefined"===typeof hoplon.core.do_BANG_)hoplon.core.do_BANG_=function(){var a=cljs.core.atom.call(null,cljs.core.PersistentArrayMap.EMPTY),b=cljs.core.atom.call(null,cljs.core.PersistentArrayMap.EMPTY),c=cljs.core.atom.call(null,cljs.core.PersistentArrayMap.EMPTY),d=cljs.core.atom.call(null,cljs.core.PersistentArrayMap.EMPTY),e=cljs.core.get.call(null,new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"default","default",
-1987822328),new cljs.core.Keyword("hoplon.core","default","hoplon.core/default",-778824365)],null),new cljs.core.Keyword(null,"hierarchy","hierarchy",-1053470341),cljs.core.get_global_hierarchy.call(null));return new cljs.core.MultiFn(cljs.core.symbol.call(null,"hoplon.core","do!"),function(a,b,c,d,e){return function(a,b,c){a=cljs.core.namespace.call(null,b);return cljs.core.truth_(a)?cljs.core.keyword.call(null,a,"*"):b}}(a,b,c,d,e),new cljs.core.Keyword("hoplon.core","default","hoplon.core/default",
-778824365),e,a,b,c,d)}();cljs.core._add_method.call(null,hoplon.core.do_BANG_,new cljs.core.Keyword("hoplon.core","default","hoplon.core/default",-778824365),function(a,b,c){return hoplon.core.do_BANG_.call(null,a,new cljs.core.Keyword(null,"attr","attr",-604132353),cljs.core.PersistentArrayMap.createAsIfByAssoc([b,c]))});cljs.core._add_method.call(null,hoplon.core.do_BANG_,new cljs.core.Keyword("css","*","css/*",-1295355419),function(a,b,c){return hoplon.core.set_styles_BANG_.call(null,a,b,c)});
cljs.core._add_method.call(null,hoplon.core.do_BANG_,new cljs.core.Keyword("html","*","html/*",-1283138243),function(a,b,c){return hoplon.core.set_attributes_BANG_.call(null,a,b,c)});cljs.core._add_method.call(null,hoplon.core.do_BANG_,new cljs.core.Keyword("svg","*","svg/*",-1295405562),function(a,b,c){return hoplon.core.set_attributes_BANG_.call(null,a,b,c)});
cljs.core._add_method.call(null,hoplon.core.do_BANG_,new cljs.core.Keyword(null,"attr","attr",-604132353),function(a,b,c){return hoplon.core.set_attributes_BANG_.call(null,a,c)});cljs.core._add_method.call(null,hoplon.core.do_BANG_,new cljs.core.Keyword(null,"css","css",1135045163),function(a,b,c){return hoplon.core.set_styles_BANG_.call(null,a,c)});
if("undefined"===typeof hoplon||"undefined"===typeof hoplon.core||"undefined"===typeof hoplon.core.on_BANG_)hoplon.core.on_BANG_=function(){var a=cljs.core.atom.call(null,cljs.core.PersistentArrayMap.EMPTY),b=cljs.core.atom.call(null,cljs.core.PersistentArrayMap.EMPTY),c=cljs.core.atom.call(null,cljs.core.PersistentArrayMap.EMPTY),d=cljs.core.atom.call(null,cljs.core.PersistentArrayMap.EMPTY),e=cljs.core.get.call(null,new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"default","default",
-1987822328),new cljs.core.Keyword("hoplon.core","default","hoplon.core/default",-778824365)],null),new cljs.core.Keyword(null,"hierarchy","hierarchy",-1053470341),cljs.core.get_global_hierarchy.call(null));return new cljs.core.MultiFn(cljs.core.symbol.call(null,"hoplon.core","on!"),function(a,b,c,d,e){return function(a,b,c){a=cljs.core.namespace.call(null,b);return cljs.core.truth_(a)?cljs.core.keyword.call(null,a,"*"):b}}(a,b,c,d,e),new cljs.core.Keyword("hoplon.core","default","hoplon.core/default",
-778824365),e,a,b,c,d)}();cljs.core._add_method.call(null,hoplon.core.on_BANG_,new cljs.core.Keyword("hoplon.core","default","hoplon.core/default",-778824365),function(a,b,c){return hoplon.core.when_dom.call(null,a,function(){return a.addEventListener(cljs.core.name.call(null,b),c)})});
cljs.core._add_method.call(null,hoplon.core.on_BANG_,new cljs.core.Keyword("html","*","html/*",-1283138243),function(a,b,c){return hoplon.core.when_dom.call(null,a,function(){return a.addEventListener(cljs.core.name.call(null,b),c)})});
hoplon.core.loop_tpl_STAR_=function(a,b){var c=cljs.core.atom.call(null,cljs.core.List.EMPTY);a=javelin.core.formula.call(null,function(a){return function(a,b){return a.call(null,b)}}(c)).call(null,cljs.core.seq,a);var d=function(a,b){return function(c){return javelin.core.formula.call(null,function(a,b){return function(a,b,c){return c.call(null,a,b)}}(a,b)).call(null,b,c,hoplon.core.safe_nth)}}(c,a),e=function(a,b,c){return function(a){var b=cljs.core.first.call(null,cljs.core.deref.call(null,a));
cljs.core.swap_BANG_.call(null,a,cljs.core.rest);return b}}(c,a,d),f=javelin.core.cell.call(null,cljs.core.PersistentVector.EMPTY);hoplon.core.do_watch.call(null,a,function(a,c,d,e,f){return function(d,g){d=cljs.core.count.call(null,d);g=cljs.core.count.call(null,g);var h=g-d;if(0<h){d=cljs.core.seq.call(null,cljs.core.range.call(null,d,g));g=null;for(var k=h=0;;)if(k<h){var l=cljs.core._nth.call(null,g,k),m=function(){var a=f.call(null,c);return cljs.core.truth_(a)?a:b.call(null,e.call(null,l))}();
cljs.core.swap_BANG_.call(null,a,cljs.core.conj,m);k+=1}else if(d=cljs.core.seq.call(null,d))g=d,cljs.core.chunked_seq_QMARK_.call(null,g)?(d=cljs.core.chunk_first.call(null,g),k=cljs.core.chunk_rest.call(null,g),g=d,h=cljs.core.count.call(null,d),d=k):(l=cljs.core.first.call(null,g),d=function(){var a=f.call(null,c);return cljs.core.truth_(a)?a:b.call(null,e.call(null,l))}(),cljs.core.swap_BANG_.call(null,a,cljs.core.conj,d),d=cljs.core.next.call(null,g),g=null,h=0),k=0;else return null}else if(0>
h)for(d=-h,g=0;;)if(g<d)h=cljs.core.peek.call(null,cljs.core.deref.call(null,a)),cljs.core.swap_BANG_.call(null,a,cljs.core.pop),cljs.core.swap_BANG_.call(null,c,cljs.core.conj,h),g+=1;else return null;else return null}}(f,c,a,d,e));return f};hoplon.core.route_cell=function(a){for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;b=0<b.length?new cljs.core.IndexedSeq(b.slice(0),0,null):null;return hoplon.core.route_cell.cljs$core$IFn$_invoke$arity$variadic(b)};
hoplon.core.route_cell.cljs$core$IFn$_invoke$arity$variadic=function(a){var b=cljs.core.nth.call(null,a,0,null),c=javelin.core.cell.call(null,window.location.hash),d=javelin.core.formula.call(null,function(a,b,c){return function(a,b,c){a=a.call(null,c);c=cljs.core.truth_(a)?c:a;return cljs.core.truth_(c)?c:b}}(c,a,b)).call(null,cljs.core.seq,b,c);window.addEventListener("hashchange",function(a,b,c,d){return function(){return cljs.core.reset_BANG_.call(null,b,window.location.hash)}}(d,c,a,b));return d};
hoplon.core.route_cell.cljs$lang$maxFixedArity=0;hoplon.core.route_cell.cljs$lang$applyTo=function(a){return this.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq.call(null,a))};hoplon.svg={};cljs.core._add_method.call(null,hoplon.core.do_BANG_,new cljs.core.Keyword("xlink","*","xlink/*",-1176139752),function(a,b,c){return a.setAttributeNS("http://www.w3.org/1999/xlink",cljs.core.name.call(null,b),c)});
hoplon.svg.make_svg_ctor=function(a){return function(b){return function(){var c=function(c){return cljs.core.apply.call(null,hoplon.core.ensure_kids_BANG_.call(null,document.createElementNS(b,a)),c)},d=function(a){var b=null;if(0<arguments.length){b=0;for(var d=Array(arguments.length-0);b<d.length;)d[b]=arguments[b+0],++b;b=new cljs.core.IndexedSeq(d,0,null)}return c.call(this,b)};d.cljs$lang$maxFixedArity=0;d.cljs$lang$applyTo=function(a){a=cljs.core.seq(a);return c(a)};d.cljs$core$IFn$_invoke$arity$variadic=
c;return d}()}("http://www.w3.org/2000/svg")};hoplon.svg.a=hoplon.svg.make_svg_ctor.call(null,"a");hoplon.svg.altGlyph=hoplon.svg.make_svg_ctor.call(null,"altGlyph");hoplon.svg.altGlyphDef=hoplon.svg.make_svg_ctor.call(null,"altGlyphDef");hoplon.svg.altGlyphItem=hoplon.svg.make_svg_ctor.call(null,"altGlyphItem");hoplon.svg.animate=hoplon.svg.make_svg_ctor.call(null,"animate");hoplon.svg.animateColor=hoplon.svg.make_svg_ctor.call(null,"animateColor");
hoplon.svg.animateMotion=hoplon.svg.make_svg_ctor.call(null,"animateMotion");hoplon.svg.animateTransform=hoplon.svg.make_svg_ctor.call(null,"animateTransform");hoplon.svg.circle=hoplon.svg.make_svg_ctor.call(null,"circle");hoplon.svg.clipPath=hoplon.svg.make_svg_ctor.call(null,"clipPath");hoplon.svg.color_profile=hoplon.svg.make_svg_ctor.call(null,"color-profile");hoplon.svg.cursor=hoplon.svg.make_svg_ctor.call(null,"cursor");hoplon.svg.defs=hoplon.svg.make_svg_ctor.call(null,"defs");
hoplon.svg.desc=hoplon.svg.make_svg_ctor.call(null,"desc");hoplon.svg.ellipse=hoplon.svg.make_svg_ctor.call(null,"ellipse");hoplon.svg.feBlend=hoplon.svg.make_svg_ctor.call(null,"feBlend");hoplon.svg.feColorMatrix=hoplon.svg.make_svg_ctor.call(null,"feColorMatrix");hoplon.svg.feComponentTransfer=hoplon.svg.make_svg_ctor.call(null,"feComponentTransfer");hoplon.svg.feComposite=hoplon.svg.make_svg_ctor.call(null,"feComposite");hoplon.svg.feConvolveMatrix=hoplon.svg.make_svg_ctor.call(null,"feConvolveMatrix");
hoplon.svg.feDiffuseLighting=hoplon.svg.make_svg_ctor.call(null,"feDiffuseLighting");hoplon.svg.feDisplacementMap=hoplon.svg.make_svg_ctor.call(null,"feDisplacementMap");hoplon.svg.feDistantLight=hoplon.svg.make_svg_ctor.call(null,"feDistantLight");hoplon.svg.feFlood=hoplon.svg.make_svg_ctor.call(null,"feFlood");hoplon.svg.feFuncA=hoplon.svg.make_svg_ctor.call(null,"feFuncA");hoplon.svg.feFuncB=hoplon.svg.make_svg_ctor.call(null,"feFuncB");hoplon.svg.feFuncG=hoplon.svg.make_svg_ctor.call(null,"feFuncG");
hoplon.svg.feFuncR=hoplon.svg.make_svg_ctor.call(null,"feFuncR");hoplon.svg.feGaussianBlur=hoplon.svg.make_svg_ctor.call(null,"feGaussianBlur");hoplon.svg.feImage=hoplon.svg.make_svg_ctor.call(null,"feImage");hoplon.svg.feMerge=hoplon.svg.make_svg_ctor.call(null,"feMerge");hoplon.svg.feMergeNode=hoplon.svg.make_svg_ctor.call(null,"feMergeNode");hoplon.svg.feMorphology=hoplon.svg.make_svg_ctor.call(null,"feMorphology");hoplon.svg.feOffset=hoplon.svg.make_svg_ctor.call(null,"feOffset");
hoplon.svg.fePointLight=hoplon.svg.make_svg_ctor.call(null,"fePointLight");hoplon.svg.feSpecularLighting=hoplon.svg.make_svg_ctor.call(null,"feSpecularLighting");hoplon.svg.feSpotLight=hoplon.svg.make_svg_ctor.call(null,"feSpotLight");hoplon.svg.feTile=hoplon.svg.make_svg_ctor.call(null,"feTile");hoplon.svg.feTurbulence=hoplon.svg.make_svg_ctor.call(null,"feTurbulence");hoplon.svg.filter=hoplon.svg.make_svg_ctor.call(null,"filter");hoplon.svg.font=hoplon.svg.make_svg_ctor.call(null,"font");
hoplon.svg.font_face=hoplon.svg.make_svg_ctor.call(null,"font-face");hoplon.svg.font_face_format=hoplon.svg.make_svg_ctor.call(null,"font-face-format");hoplon.svg.font_face_name=hoplon.svg.make_svg_ctor.call(null,"font-face-name");hoplon.svg.font_face_src=hoplon.svg.make_svg_ctor.call(null,"font-face-src");hoplon.svg.font_face_uri=hoplon.svg.make_svg_ctor.call(null,"font-face-uri");hoplon.svg.foreignObject=hoplon.svg.make_svg_ctor.call(null,"foreignObject");
hoplon.svg.g=hoplon.svg.make_svg_ctor.call(null,"g");hoplon.svg.glyph=hoplon.svg.make_svg_ctor.call(null,"glyph");hoplon.svg.glyphRef=hoplon.svg.make_svg_ctor.call(null,"glyphRef");hoplon.svg.hkern=hoplon.svg.make_svg_ctor.call(null,"hkern");hoplon.svg.image=hoplon.svg.make_svg_ctor.call(null,"image");hoplon.svg.line=hoplon.svg.make_svg_ctor.call(null,"line");hoplon.svg.linearGradient=hoplon.svg.make_svg_ctor.call(null,"linearGradient");hoplon.svg.marker=hoplon.svg.make_svg_ctor.call(null,"marker");
hoplon.svg.mask=hoplon.svg.make_svg_ctor.call(null,"mask");hoplon.svg.metadata=hoplon.svg.make_svg_ctor.call(null,"metadata");hoplon.svg.missing_glyph=hoplon.svg.make_svg_ctor.call(null,"missing-glyph");hoplon.svg.mpath=hoplon.svg.make_svg_ctor.call(null,"mpath");hoplon.svg.path=hoplon.svg.make_svg_ctor.call(null,"path");hoplon.svg.pattern=hoplon.svg.make_svg_ctor.call(null,"pattern");hoplon.svg.polygon=hoplon.svg.make_svg_ctor.call(null,"polygon");
hoplon.svg.polyline=hoplon.svg.make_svg_ctor.call(null,"polyline");hoplon.svg.radialGradient=hoplon.svg.make_svg_ctor.call(null,"radialGradient");hoplon.svg.rect=hoplon.svg.make_svg_ctor.call(null,"rect");hoplon.svg.script=hoplon.svg.make_svg_ctor.call(null,"script");hoplon.svg.set=hoplon.svg.make_svg_ctor.call(null,"set");hoplon.svg.stop=hoplon.svg.make_svg_ctor.call(null,"stop");hoplon.svg.style=hoplon.svg.make_svg_ctor.call(null,"style");hoplon.svg.svg=hoplon.svg.make_svg_ctor.call(null,"svg");
hoplon.svg.switch$=hoplon.svg.make_svg_ctor.call(null,"switch");hoplon.svg.symbol=hoplon.svg.make_svg_ctor.call(null,"symbol");hoplon.svg.text=hoplon.svg.make_svg_ctor.call(null,"text");hoplon.svg.textPath=hoplon.svg.make_svg_ctor.call(null,"textPath");hoplon.svg.title=hoplon.svg.make_svg_ctor.call(null,"title");hoplon.svg.tref=hoplon.svg.make_svg_ctor.call(null,"tref");hoplon.svg.tspan=hoplon.svg.make_svg_ctor.call(null,"tspan");hoplon.svg.use=hoplon.svg.make_svg_ctor.call(null,"use");
hoplon.svg.view=hoplon.svg.make_svg_ctor.call(null,"view");hoplon.svg.vkern=hoplon.svg.make_svg_ctor.call(null,"vkern");goog.labs={};goog.labs.userAgent={};goog.labs.userAgent.util={};goog.labs.userAgent.util.getNativeUserAgentString_=function(){var a=goog.labs.userAgent.util.getNavigator_();return a&&(a=a.userAgent)?a:""};goog.labs.userAgent.util.getNavigator_=function(){return goog.global.navigator};goog.labs.userAgent.util.userAgent_=goog.labs.userAgent.util.getNativeUserAgentString_();goog.labs.userAgent.util.setUserAgent=function(a){goog.labs.userAgent.util.userAgent_=a||goog.labs.userAgent.util.getNativeUserAgentString_()};
goog.labs.userAgent.util.getUserAgent=function(){return goog.labs.userAgent.util.userAgent_};goog.labs.userAgent.util.matchUserAgent=function(a){var b=goog.labs.userAgent.util.getUserAgent();return goog.string.contains(b,a)};goog.labs.userAgent.util.matchUserAgentIgnoreCase=function(a){var b=goog.labs.userAgent.util.getUserAgent();return goog.string.caseInsensitiveContains(b,a)};
goog.labs.userAgent.util.extractVersionTuples=function(a){for(var b=/(\w[\w ]+)\/([^\s]+)\s*(?:\((.*?)\))?/g,c=[],d;d=b.exec(a);)c.push([d[1],d[2],d[3]||void 0]);return c};goog.labs.userAgent.browser={};goog.labs.userAgent.browser.matchOpera_=function(){return goog.labs.userAgent.util.matchUserAgent("Opera")};goog.labs.userAgent.browser.matchIE_=function(){return goog.labs.userAgent.util.matchUserAgent("Trident")||goog.labs.userAgent.util.matchUserAgent("MSIE")};goog.labs.userAgent.browser.matchEdge_=function(){return goog.labs.userAgent.util.matchUserAgent("Edge")};goog.labs.userAgent.browser.matchFirefox_=function(){return goog.labs.userAgent.util.matchUserAgent("Firefox")};
goog.labs.userAgent.browser.matchSafari_=function(){return goog.labs.userAgent.util.matchUserAgent("Safari")&&!(goog.labs.userAgent.browser.matchChrome_()||goog.labs.userAgent.browser.matchCoast_()||goog.labs.userAgent.browser.matchOpera_()||goog.labs.userAgent.browser.matchEdge_()||goog.labs.userAgent.browser.isSilk()||goog.labs.userAgent.util.matchUserAgent("Android"))};goog.labs.userAgent.browser.matchCoast_=function(){return goog.labs.userAgent.util.matchUserAgent("Coast")};
goog.labs.userAgent.browser.matchIosWebview_=function(){return(goog.labs.userAgent.util.matchUserAgent("iPad")||goog.labs.userAgent.util.matchUserAgent("iPhone"))&&!goog.labs.userAgent.browser.matchSafari_()&&!goog.labs.userAgent.browser.matchChrome_()&&!goog.labs.userAgent.browser.matchCoast_()&&goog.labs.userAgent.util.matchUserAgent("AppleWebKit")};
goog.labs.userAgent.browser.matchChrome_=function(){return(goog.labs.userAgent.util.matchUserAgent("Chrome")||goog.labs.userAgent.util.matchUserAgent("CriOS"))&&!goog.labs.userAgent.browser.matchEdge_()};goog.labs.userAgent.browser.matchAndroidBrowser_=function(){return goog.labs.userAgent.util.matchUserAgent("Android")&&!(goog.labs.userAgent.browser.isChrome()||goog.labs.userAgent.browser.isFirefox()||goog.labs.userAgent.browser.isOpera()||goog.labs.userAgent.browser.isSilk())};
goog.labs.userAgent.browser.isOpera=goog.labs.userAgent.browser.matchOpera_;goog.labs.userAgent.browser.isIE=goog.labs.userAgent.browser.matchIE_;goog.labs.userAgent.browser.isEdge=goog.labs.userAgent.browser.matchEdge_;goog.labs.userAgent.browser.isFirefox=goog.labs.userAgent.browser.matchFirefox_;goog.labs.userAgent.browser.isSafari=goog.labs.userAgent.browser.matchSafari_;goog.labs.userAgent.browser.isCoast=goog.labs.userAgent.browser.matchCoast_;goog.labs.userAgent.browser.isIosWebview=goog.labs.userAgent.browser.matchIosWebview_;
goog.labs.userAgent.browser.isChrome=goog.labs.userAgent.browser.matchChrome_;goog.labs.userAgent.browser.isAndroidBrowser=goog.labs.userAgent.browser.matchAndroidBrowser_;goog.labs.userAgent.browser.isSilk=function(){return goog.labs.userAgent.util.matchUserAgent("Silk")};
goog.labs.userAgent.browser.getVersion=function(){function a(a){a=goog.array.find(a,d);return c[a]||""}var b=goog.labs.userAgent.util.getUserAgent();if(goog.labs.userAgent.browser.isIE())return goog.labs.userAgent.browser.getIEVersion_(b);b=goog.labs.userAgent.util.extractVersionTuples(b);var c={};goog.array.forEach(b,function(a){c[a[0]]=a[1]});var d=goog.partial(goog.object.containsKey,c);return goog.labs.userAgent.browser.isOpera()?a(["Version","Opera"]):goog.labs.userAgent.browser.isEdge()?a(["Edge"]):
goog.labs.userAgent.browser.isChrome()?a(["Chrome","CriOS"]):(b=b[2])&&b[1]||""};goog.labs.userAgent.browser.isVersionOrHigher=function(a){return 0<=goog.string.compareVersions(goog.labs.userAgent.browser.getVersion(),a)};
goog.labs.userAgent.browser.getIEVersion_=function(a){var b=/rv: *([\d\.]*)/.exec(a);if(b&&b[1])return b[1];b="";var c=/MSIE +([\d\.]+)/.exec(a);if(c&&c[1])if(a=/Trident\/(\d.\d)/.exec(a),"7.0"==c[1])if(a&&a[1])switch(a[1]){case "4.0":b="8.0";break;case "5.0":b="9.0";break;case "6.0":b="10.0";break;case "7.0":b="11.0"}else b="7.0";else b=c[1];return b};goog.labs.userAgent.engine={};goog.labs.userAgent.engine.isPresto=function(){return goog.labs.userAgent.util.matchUserAgent("Presto")};goog.labs.userAgent.engine.isTrident=function(){return goog.labs.userAgent.util.matchUserAgent("Trident")||goog.labs.userAgent.util.matchUserAgent("MSIE")};goog.labs.userAgent.engine.isEdge=function(){return goog.labs.userAgent.util.matchUserAgent("Edge")};
goog.labs.userAgent.engine.isWebKit=function(){return goog.labs.userAgent.util.matchUserAgentIgnoreCase("WebKit")&&!goog.labs.userAgent.engine.isEdge()};goog.labs.userAgent.engine.isGecko=function(){return goog.labs.userAgent.util.matchUserAgent("Gecko")&&!goog.labs.userAgent.engine.isWebKit()&&!goog.labs.userAgent.engine.isTrident()&&!goog.labs.userAgent.engine.isEdge()};
goog.labs.userAgent.engine.getVersion=function(){var a=goog.labs.userAgent.util.getUserAgent();if(a){a=goog.labs.userAgent.util.extractVersionTuples(a);var b=goog.labs.userAgent.engine.getEngineTuple_(a);if(b)return"Gecko"==b[0]?goog.labs.userAgent.engine.getVersionForKey_(a,"Firefox"):b[1];a=a[0];var c;if(a&&(c=a[2])&&(c=/Trident\/([^\s;]+)/.exec(c)))return c[1]}return""};
goog.labs.userAgent.engine.getEngineTuple_=function(a){if(!goog.labs.userAgent.engine.isEdge())return a[1];for(var b=0;b<a.length;b++){var c=a[b];if("Edge"==c[0])return c}};goog.labs.userAgent.engine.isVersionOrHigher=function(a){return 0<=goog.string.compareVersions(goog.labs.userAgent.engine.getVersion(),a)};goog.labs.userAgent.engine.getVersionForKey_=function(a,b){return(a=goog.array.find(a,function(a){return b==a[0]}))&&a[1]||""};goog.labs.userAgent.platform={};goog.labs.userAgent.platform.isAndroid=function(){return goog.labs.userAgent.util.matchUserAgent("Android")};goog.labs.userAgent.platform.isIpod=function(){return goog.labs.userAgent.util.matchUserAgent("iPod")};goog.labs.userAgent.platform.isIphone=function(){return goog.labs.userAgent.util.matchUserAgent("iPhone")&&!goog.labs.userAgent.util.matchUserAgent("iPod")&&!goog.labs.userAgent.util.matchUserAgent("iPad")};goog.labs.userAgent.platform.isIpad=function(){return goog.labs.userAgent.util.matchUserAgent("iPad")};
goog.labs.userAgent.platform.isIos=function(){return goog.labs.userAgent.platform.isIphone()||goog.labs.userAgent.platform.isIpad()||goog.labs.userAgent.platform.isIpod()};goog.labs.userAgent.platform.isMacintosh=function(){return goog.labs.userAgent.util.matchUserAgent("Macintosh")};goog.labs.userAgent.platform.isLinux=function(){return goog.labs.userAgent.util.matchUserAgent("Linux")};goog.labs.userAgent.platform.isWindows=function(){return goog.labs.userAgent.util.matchUserAgent("Windows")};
goog.labs.userAgent.platform.isChromeOS=function(){return goog.labs.userAgent.util.matchUserAgent("CrOS")};
goog.labs.userAgent.platform.getVersion=function(){var a=goog.labs.userAgent.util.getUserAgent(),b="";goog.labs.userAgent.platform.isWindows()?(b=/Windows (?:NT|Phone) ([0-9.]+)/,b=(a=b.exec(a))?a[1]:"0.0"):goog.labs.userAgent.platform.isIos()?(b=/(?:iPhone|iPod|iPad|CPU)\s+OS\s+(\S+)/,b=(a=b.exec(a))&&a[1].replace(/_/g,".")):goog.labs.userAgent.platform.isMacintosh()?(b=/Mac OS X ([0-9_.]+)/,b=(a=b.exec(a))?a[1].replace(/_/g,"."):"10"):goog.labs.userAgent.platform.isAndroid()?(b=/Android\s+([^\);]+)(\)|;)/,
b=(a=b.exec(a))&&a[1]):goog.labs.userAgent.platform.isChromeOS()&&(b=/(?:CrOS\s+(?:i686|x86_64)\s+([0-9.]+))/,b=(a=b.exec(a))&&a[1]);return b||""};goog.labs.userAgent.platform.isVersionOrHigher=function(a){return 0<=goog.string.compareVersions(goog.labs.userAgent.platform.getVersion(),a)};goog.userAgent={};goog.userAgent.ASSUME_IE=!1;goog.userAgent.ASSUME_EDGE=!1;goog.userAgent.ASSUME_GECKO=!1;goog.userAgent.ASSUME_WEBKIT=!1;goog.userAgent.ASSUME_MOBILE_WEBKIT=!1;goog.userAgent.ASSUME_OPERA=!1;goog.userAgent.ASSUME_ANY_VERSION=!1;goog.userAgent.BROWSER_KNOWN_=goog.userAgent.ASSUME_IE||goog.userAgent.ASSUME_EDGE||goog.userAgent.ASSUME_GECKO||goog.userAgent.ASSUME_MOBILE_WEBKIT||goog.userAgent.ASSUME_WEBKIT||goog.userAgent.ASSUME_OPERA;goog.userAgent.getUserAgentString=function(){return goog.labs.userAgent.util.getUserAgent()};
goog.userAgent.getNavigator=function(){return goog.global.navigator||null};goog.userAgent.OPERA=goog.userAgent.BROWSER_KNOWN_?goog.userAgent.ASSUME_OPERA:goog.labs.userAgent.browser.isOpera();goog.userAgent.IE=goog.userAgent.BROWSER_KNOWN_?goog.userAgent.ASSUME_IE:goog.labs.userAgent.browser.isIE();goog.userAgent.EDGE=goog.userAgent.BROWSER_KNOWN_?goog.userAgent.ASSUME_EDGE:goog.labs.userAgent.engine.isEdge();goog.userAgent.EDGE_OR_IE=goog.userAgent.EDGE||goog.userAgent.IE;
goog.userAgent.GECKO=goog.userAgent.BROWSER_KNOWN_?goog.userAgent.ASSUME_GECKO:goog.labs.userAgent.engine.isGecko();goog.userAgent.WEBKIT=goog.userAgent.BROWSER_KNOWN_?goog.userAgent.ASSUME_WEBKIT||goog.userAgent.ASSUME_MOBILE_WEBKIT:goog.labs.userAgent.engine.isWebKit();goog.userAgent.isMobile_=function(){return goog.userAgent.WEBKIT&&goog.labs.userAgent.util.matchUserAgent("Mobile")};goog.userAgent.MOBILE=goog.userAgent.ASSUME_MOBILE_WEBKIT||goog.userAgent.isMobile_();goog.userAgent.SAFARI=goog.userAgent.WEBKIT;
goog.userAgent.determinePlatform_=function(){var a=goog.userAgent.getNavigator();return a&&a.platform||""};goog.userAgent.PLATFORM=goog.userAgent.determinePlatform_();goog.userAgent.ASSUME_MAC=!1;goog.userAgent.ASSUME_WINDOWS=!1;goog.userAgent.ASSUME_LINUX=!1;goog.userAgent.ASSUME_X11=!1;goog.userAgent.ASSUME_ANDROID=!1;goog.userAgent.ASSUME_IPHONE=!1;goog.userAgent.ASSUME_IPAD=!1;goog.userAgent.ASSUME_IPOD=!1;
goog.userAgent.PLATFORM_KNOWN_=goog.userAgent.ASSUME_MAC||goog.userAgent.ASSUME_WINDOWS||goog.userAgent.ASSUME_LINUX||goog.userAgent.ASSUME_X11||goog.userAgent.ASSUME_ANDROID||goog.userAgent.ASSUME_IPHONE||goog.userAgent.ASSUME_IPAD||goog.userAgent.ASSUME_IPOD;goog.userAgent.MAC=goog.userAgent.PLATFORM_KNOWN_?goog.userAgent.ASSUME_MAC:goog.labs.userAgent.platform.isMacintosh();goog.userAgent.WINDOWS=goog.userAgent.PLATFORM_KNOWN_?goog.userAgent.ASSUME_WINDOWS:goog.labs.userAgent.platform.isWindows();
goog.userAgent.isLegacyLinux_=function(){return goog.labs.userAgent.platform.isLinux()||goog.labs.userAgent.platform.isChromeOS()};goog.userAgent.LINUX=goog.userAgent.PLATFORM_KNOWN_?goog.userAgent.ASSUME_LINUX:goog.userAgent.isLegacyLinux_();goog.userAgent.isX11_=function(){var a=goog.userAgent.getNavigator();return!!a&&goog.string.contains(a.appVersion||"","X11")};goog.userAgent.X11=goog.userAgent.PLATFORM_KNOWN_?goog.userAgent.ASSUME_X11:goog.userAgent.isX11_();
goog.userAgent.ANDROID=goog.userAgent.PLATFORM_KNOWN_?goog.userAgent.ASSUME_ANDROID:goog.labs.userAgent.platform.isAndroid();goog.userAgent.IPHONE=goog.userAgent.PLATFORM_KNOWN_?goog.userAgent.ASSUME_IPHONE:goog.labs.userAgent.platform.isIphone();goog.userAgent.IPAD=goog.userAgent.PLATFORM_KNOWN_?goog.userAgent.ASSUME_IPAD:goog.labs.userAgent.platform.isIpad();goog.userAgent.IPOD=goog.userAgent.PLATFORM_KNOWN_?goog.userAgent.ASSUME_IPOD:goog.labs.userAgent.platform.isIpod();
goog.userAgent.IOS=goog.userAgent.PLATFORM_KNOWN_?goog.userAgent.ASSUME_IPHONE||goog.userAgent.ASSUME_IPAD||goog.userAgent.ASSUME_IPOD:goog.labs.userAgent.platform.isIos();goog.userAgent.determineVersion_=function(){var a="",b=goog.userAgent.getVersionRegexResult_();b&&(a=b?b[1]:"");return goog.userAgent.IE&&(b=goog.userAgent.getDocumentMode_(),null!=b&&b>parseFloat(a))?String(b):a};
goog.userAgent.getVersionRegexResult_=function(){var a=goog.userAgent.getUserAgentString();if(goog.userAgent.GECKO)return/rv:([^\);]+)(\)|;)/.exec(a);if(goog.userAgent.EDGE)return/Edge\/([\d\.]+)/.exec(a);if(goog.userAgent.IE)return/\b(?:MSIE|rv)[: ]([^\);]+)(\)|;)/.exec(a);if(goog.userAgent.WEBKIT)return/WebKit\/(\S+)/.exec(a);if(goog.userAgent.OPERA)return/(?:Version)[ \/]?(\S+)/.exec(a)};goog.userAgent.getDocumentMode_=function(){var a=goog.global.document;return a?a.documentMode:void 0};
goog.userAgent.VERSION=goog.userAgent.determineVersion_();goog.userAgent.compare=function(a,b){return goog.string.compareVersions(a,b)};goog.userAgent.isVersionOrHigherCache_={};goog.userAgent.isVersionOrHigher=function(a){return goog.userAgent.ASSUME_ANY_VERSION||goog.reflect.cache(goog.userAgent.isVersionOrHigherCache_,a,function(){return 0<=goog.string.compareVersions(goog.userAgent.VERSION,a)})};goog.userAgent.isVersion=goog.userAgent.isVersionOrHigher;
goog.userAgent.isDocumentModeOrHigher=function(a){return Number(goog.userAgent.DOCUMENT_MODE)>=a};goog.userAgent.isDocumentMode=goog.userAgent.isDocumentModeOrHigher;goog.userAgent.DOCUMENT_MODE=function(){var a=goog.global.document,b=goog.userAgent.getDocumentMode_();if(a&&goog.userAgent.IE)return b||("CSS1Compat"==a.compatMode?parseInt(goog.userAgent.VERSION,10):5)}();goog.dom.BrowserFeature={CAN_ADD_NAME_OR_TYPE_ATTRIBUTES:!goog.userAgent.IE||goog.userAgent.isDocumentModeOrHigher(9),CAN_USE_CHILDREN_ATTRIBUTE:!goog.userAgent.GECKO&&!goog.userAgent.IE||goog.userAgent.IE&&goog.userAgent.isDocumentModeOrHigher(9)||goog.userAgent.GECKO&&goog.userAgent.isVersionOrHigher("1.9.1"),CAN_USE_INNER_TEXT:goog.userAgent.IE&&!goog.userAgent.isVersionOrHigher("9"),CAN_USE_PARENT_ELEMENT_PROPERTY:goog.userAgent.IE||goog.userAgent.OPERA||goog.userAgent.WEBKIT,INNER_HTML_NEEDS_SCOPED_ELEMENT:goog.userAgent.IE,
LEGACY_IE_RANGES:goog.userAgent.IE&&!goog.userAgent.isDocumentModeOrHigher(9)};goog.dom.HtmlElement=function(){};goog.dom.TagName=function(a){this.tagName_=a};goog.dom.TagName.prototype.toString=function(){return this.tagName_};goog.dom.TagName.A=new goog.dom.TagName("A");goog.dom.TagName.ABBR=new goog.dom.TagName("ABBR");goog.dom.TagName.ACRONYM=new goog.dom.TagName("ACRONYM");goog.dom.TagName.ADDRESS=new goog.dom.TagName("ADDRESS");goog.dom.TagName.APPLET=new goog.dom.TagName("APPLET");goog.dom.TagName.AREA=new goog.dom.TagName("AREA");goog.dom.TagName.ARTICLE=new goog.dom.TagName("ARTICLE");
goog.dom.TagName.ASIDE=new goog.dom.TagName("ASIDE");goog.dom.TagName.AUDIO=new goog.dom.TagName("AUDIO");goog.dom.TagName.B=new goog.dom.TagName("B");goog.dom.TagName.BASE=new goog.dom.TagName("BASE");goog.dom.TagName.BASEFONT=new goog.dom.TagName("BASEFONT");goog.dom.TagName.BDI=new goog.dom.TagName("BDI");goog.dom.TagName.BDO=new goog.dom.TagName("BDO");goog.dom.TagName.BIG=new goog.dom.TagName("BIG");goog.dom.TagName.BLOCKQUOTE=new goog.dom.TagName("BLOCKQUOTE");goog.dom.TagName.BODY=new goog.dom.TagName("BODY");
goog.dom.TagName.BR=new goog.dom.TagName("BR");goog.dom.TagName.BUTTON=new goog.dom.TagName("BUTTON");goog.dom.TagName.CANVAS=new goog.dom.TagName("CANVAS");goog.dom.TagName.CAPTION=new goog.dom.TagName("CAPTION");goog.dom.TagName.CENTER=new goog.dom.TagName("CENTER");goog.dom.TagName.CITE=new goog.dom.TagName("CITE");goog.dom.TagName.CODE=new goog.dom.TagName("CODE");goog.dom.TagName.COL=new goog.dom.TagName("COL");goog.dom.TagName.COLGROUP=new goog.dom.TagName("COLGROUP");
goog.dom.TagName.COMMAND=new goog.dom.TagName("COMMAND");goog.dom.TagName.DATA=new goog.dom.TagName("DATA");goog.dom.TagName.DATALIST=new goog.dom.TagName("DATALIST");goog.dom.TagName.DD=new goog.dom.TagName("DD");goog.dom.TagName.DEL=new goog.dom.TagName("DEL");goog.dom.TagName.DETAILS=new goog.dom.TagName("DETAILS");goog.dom.TagName.DFN=new goog.dom.TagName("DFN");goog.dom.TagName.DIALOG=new goog.dom.TagName("DIALOG");goog.dom.TagName.DIR=new goog.dom.TagName("DIR");goog.dom.TagName.DIV=new goog.dom.TagName("DIV");
goog.dom.TagName.DL=new goog.dom.TagName("DL");goog.dom.TagName.DT=new goog.dom.TagName("DT");goog.dom.TagName.EM=new goog.dom.TagName("EM");goog.dom.TagName.EMBED=new goog.dom.TagName("EMBED");goog.dom.TagName.FIELDSET=new goog.dom.TagName("FIELDSET");goog.dom.TagName.FIGCAPTION=new goog.dom.TagName("FIGCAPTION");goog.dom.TagName.FIGURE=new goog.dom.TagName("FIGURE");goog.dom.TagName.FONT=new goog.dom.TagName("FONT");goog.dom.TagName.FOOTER=new goog.dom.TagName("FOOTER");goog.dom.TagName.FORM=new goog.dom.TagName("FORM");
goog.dom.TagName.FRAME=new goog.dom.TagName("FRAME");goog.dom.TagName.FRAMESET=new goog.dom.TagName("FRAMESET");goog.dom.TagName.H1=new goog.dom.TagName("H1");goog.dom.TagName.H2=new goog.dom.TagName("H2");goog.dom.TagName.H3=new goog.dom.TagName("H3");goog.dom.TagName.H4=new goog.dom.TagName("H4");goog.dom.TagName.H5=new goog.dom.TagName("H5");goog.dom.TagName.H6=new goog.dom.TagName("H6");goog.dom.TagName.HEAD=new goog.dom.TagName("HEAD");goog.dom.TagName.HEADER=new goog.dom.TagName("HEADER");
goog.dom.TagName.HGROUP=new goog.dom.TagName("HGROUP");goog.dom.TagName.HR=new goog.dom.TagName("HR");goog.dom.TagName.HTML=new goog.dom.TagName("HTML");goog.dom.TagName.I=new goog.dom.TagName("I");goog.dom.TagName.IFRAME=new goog.dom.TagName("IFRAME");goog.dom.TagName.IMG=new goog.dom.TagName("IMG");goog.dom.TagName.INPUT=new goog.dom.TagName("INPUT");goog.dom.TagName.INS=new goog.dom.TagName("INS");goog.dom.TagName.ISINDEX=new goog.dom.TagName("ISINDEX");goog.dom.TagName.KBD=new goog.dom.TagName("KBD");
goog.dom.TagName.KEYGEN=new goog.dom.TagName("KEYGEN");goog.dom.TagName.LABEL=new goog.dom.TagName("LABEL");goog.dom.TagName.LEGEND=new goog.dom.TagName("LEGEND");goog.dom.TagName.LI=new goog.dom.TagName("LI");goog.dom.TagName.LINK=new goog.dom.TagName("LINK");goog.dom.TagName.MAP=new goog.dom.TagName("MAP");goog.dom.TagName.MARK=new goog.dom.TagName("MARK");goog.dom.TagName.MATH=new goog.dom.TagName("MATH");goog.dom.TagName.MENU=new goog.dom.TagName("MENU");goog.dom.TagName.META=new goog.dom.TagName("META");
goog.dom.TagName.METER=new goog.dom.TagName("METER");goog.dom.TagName.NAV=new goog.dom.TagName("NAV");goog.dom.TagName.NOFRAMES=new goog.dom.TagName("NOFRAMES");goog.dom.TagName.NOSCRIPT=new goog.dom.TagName("NOSCRIPT");goog.dom.TagName.OBJECT=new goog.dom.TagName("OBJECT");goog.dom.TagName.OL=new goog.dom.TagName("OL");goog.dom.TagName.OPTGROUP=new goog.dom.TagName("OPTGROUP");goog.dom.TagName.OPTION=new goog.dom.TagName("OPTION");goog.dom.TagName.OUTPUT=new goog.dom.TagName("OUTPUT");
goog.dom.TagName.P=new goog.dom.TagName("P");goog.dom.TagName.PARAM=new goog.dom.TagName("PARAM");goog.dom.TagName.PRE=new goog.dom.TagName("PRE");goog.dom.TagName.PROGRESS=new goog.dom.TagName("PROGRESS");goog.dom.TagName.Q=new goog.dom.TagName("Q");goog.dom.TagName.RP=new goog.dom.TagName("RP");goog.dom.TagName.RT=new goog.dom.TagName("RT");goog.dom.TagName.RUBY=new goog.dom.TagName("RUBY");goog.dom.TagName.S=new goog.dom.TagName("S");goog.dom.TagName.SAMP=new goog.dom.TagName("SAMP");
goog.dom.TagName.SCRIPT=new goog.dom.TagName("SCRIPT");goog.dom.TagName.SECTION=new goog.dom.TagName("SECTION");goog.dom.TagName.SELECT=new goog.dom.TagName("SELECT");goog.dom.TagName.SMALL=new goog.dom.TagName("SMALL");goog.dom.TagName.SOURCE=new goog.dom.TagName("SOURCE");goog.dom.TagName.SPAN=new goog.dom.TagName("SPAN");goog.dom.TagName.STRIKE=new goog.dom.TagName("STRIKE");goog.dom.TagName.STRONG=new goog.dom.TagName("STRONG");goog.dom.TagName.STYLE=new goog.dom.TagName("STYLE");
goog.dom.TagName.SUB=new goog.dom.TagName("SUB");goog.dom.TagName.SUMMARY=new goog.dom.TagName("SUMMARY");goog.dom.TagName.SUP=new goog.dom.TagName("SUP");goog.dom.TagName.SVG=new goog.dom.TagName("SVG");goog.dom.TagName.TABLE=new goog.dom.TagName("TABLE");goog.dom.TagName.TBODY=new goog.dom.TagName("TBODY");goog.dom.TagName.TD=new goog.dom.TagName("TD");goog.dom.TagName.TEMPLATE=new goog.dom.TagName("TEMPLATE");goog.dom.TagName.TEXTAREA=new goog.dom.TagName("TEXTAREA");goog.dom.TagName.TFOOT=new goog.dom.TagName("TFOOT");
goog.dom.TagName.TH=new goog.dom.TagName("TH");goog.dom.TagName.THEAD=new goog.dom.TagName("THEAD");goog.dom.TagName.TIME=new goog.dom.TagName("TIME");goog.dom.TagName.TITLE=new goog.dom.TagName("TITLE");goog.dom.TagName.TR=new goog.dom.TagName("TR");goog.dom.TagName.TRACK=new goog.dom.TagName("TRACK");goog.dom.TagName.TT=new goog.dom.TagName("TT");goog.dom.TagName.U=new goog.dom.TagName("U");goog.dom.TagName.UL=new goog.dom.TagName("UL");goog.dom.TagName.VAR=new goog.dom.TagName("VAR");
goog.dom.TagName.VIDEO=new goog.dom.TagName("VIDEO");goog.dom.TagName.WBR=new goog.dom.TagName("WBR");goog.dom.asserts={};goog.dom.asserts.assertIsLocation=function(a){if(goog.asserts.ENABLE_ASSERTS){var b=goog.dom.asserts.getWindow_(a);"undefined"!=typeof b.Location&&"undefined"!=typeof b.Element&&goog.asserts.assert(a&&(a instanceof b.Location||!(a instanceof b.Element)),"Argument is not a Location (or a non-Element mock); got: %s",goog.dom.asserts.debugStringForType_(a))}return a};
goog.dom.asserts.assertIsHTMLAnchorElement=function(a){if(goog.asserts.ENABLE_ASSERTS){var b=goog.dom.asserts.getWindow_(a);"undefined"!=typeof b.HTMLAnchorElement&&"undefined"!=typeof b.Location&&"undefined"!=typeof b.Element&&goog.asserts.assert(a&&(a instanceof b.HTMLAnchorElement||!(a instanceof b.Location||a instanceof b.Element)),"Argument is not a HTMLAnchorElement (or a non-Element mock); got: %s",goog.dom.asserts.debugStringForType_(a))}return a};
goog.dom.asserts.assertIsHTMLLinkElement=function(a){if(goog.asserts.ENABLE_ASSERTS){var b=goog.dom.asserts.getWindow_(a);"undefined"!=typeof b.HTMLLinkElement&&"undefined"!=typeof b.Location&&"undefined"!=typeof b.Element&&goog.asserts.assert(a&&(a instanceof b.HTMLLinkElement||!(a instanceof b.Location||a instanceof b.Element)),"Argument is not a HTMLLinkElement (or a non-Element mock); got: %s",goog.dom.asserts.debugStringForType_(a))}return a};
goog.dom.asserts.assertIsHTMLImageElement=function(a){if(goog.asserts.ENABLE_ASSERTS){var b=goog.dom.asserts.getWindow_(a);"undefined"!=typeof b.HTMLImageElement&&"undefined"!=typeof b.Element&&goog.asserts.assert(a&&(a instanceof b.HTMLImageElement||!(a instanceof b.Element)),"Argument is not a HTMLImageElement (or a non-Element mock); got: %s",goog.dom.asserts.debugStringForType_(a))}return a};
goog.dom.asserts.assertIsHTMLEmbedElement=function(a){if(goog.asserts.ENABLE_ASSERTS){var b=goog.dom.asserts.getWindow_(a);"undefined"!=typeof b.HTMLEmbedElement&&"undefined"!=typeof b.Element&&goog.asserts.assert(a&&(a instanceof b.HTMLEmbedElement||!(a instanceof b.Element)),"Argument is not a HTMLEmbedElement (or a non-Element mock); got: %s",goog.dom.asserts.debugStringForType_(a))}return a};
goog.dom.asserts.assertIsHTMLFrameElement=function(a){if(goog.asserts.ENABLE_ASSERTS){var b=goog.dom.asserts.getWindow_(a);"undefined"!=typeof b.HTMLFrameElement&&"undefined"!=typeof b.Element&&goog.asserts.assert(a&&(a instanceof b.HTMLFrameElement||!(a instanceof b.Element)),"Argument is not a HTMLFrameElement (or a non-Element mock); got: %s",goog.dom.asserts.debugStringForType_(a))}return a};
goog.dom.asserts.assertIsHTMLIFrameElement=function(a){if(goog.asserts.ENABLE_ASSERTS){var b=goog.dom.asserts.getWindow_(a);"undefined"!=typeof b.HTMLIFrameElement&&"undefined"!=typeof b.Element&&goog.asserts.assert(a&&(a instanceof b.HTMLIFrameElement||!(a instanceof b.Element)),"Argument is not a HTMLIFrameElement (or a non-Element mock); got: %s",goog.dom.asserts.debugStringForType_(a))}return a};
goog.dom.asserts.assertIsHTMLObjectElement=function(a){if(goog.asserts.ENABLE_ASSERTS){var b=goog.dom.asserts.getWindow_(a);"undefined"!=typeof b.HTMLObjectElement&&"undefined"!=typeof b.Element&&goog.asserts.assert(a&&(a instanceof b.HTMLObjectElement||!(a instanceof b.Element)),"Argument is not a HTMLObjectElement (or a non-Element mock); got: %s",goog.dom.asserts.debugStringForType_(a))}return a};
goog.dom.asserts.assertIsHTMLScriptElement=function(a){if(goog.asserts.ENABLE_ASSERTS){var b=goog.dom.asserts.getWindow_(a);"undefined"!=typeof b.HTMLScriptElement&&"undefined"!=typeof b.Element&&goog.asserts.assert(a&&(a instanceof b.HTMLScriptElement||!(a instanceof b.Element)),"Argument is not a HTMLScriptElement (or a non-Element mock); got: %s",goog.dom.asserts.debugStringForType_(a))}return a};
goog.dom.asserts.debugStringForType_=function(a){return goog.isObject(a)?a.constructor.displayName||a.constructor.name||Object.prototype.toString.call(a):void 0===a?"undefined":null===a?"null":typeof a};goog.dom.asserts.getWindow_=function(a){return(a=a&&a.ownerDocument)&&(a.defaultView||a.parentWindow)||goog.global};goog.dom.tags={};goog.dom.tags.VOID_TAGS_={area:!0,base:!0,br:!0,col:!0,command:!0,embed:!0,hr:!0,img:!0,input:!0,keygen:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0};goog.dom.tags.isVoidTag=function(a){return!0===goog.dom.tags.VOID_TAGS_[a]};goog.string.TypedString=function(){};goog.string.Const=function(){this.stringConstValueWithSecurityContract__googStringSecurityPrivate_="";this.STRING_CONST_TYPE_MARKER__GOOG_STRING_SECURITY_PRIVATE_=goog.string.Const.TYPE_MARKER_};goog.string.Const.prototype.implementsGoogStringTypedString=!0;goog.string.Const.prototype.getTypedStringValue=function(){return this.stringConstValueWithSecurityContract__googStringSecurityPrivate_};
goog.string.Const.prototype.toString=function(){return"Const{"+this.stringConstValueWithSecurityContract__googStringSecurityPrivate_+"}"};goog.string.Const.unwrap=function(a){if(a instanceof goog.string.Const&&a.constructor===goog.string.Const&&a.STRING_CONST_TYPE_MARKER__GOOG_STRING_SECURITY_PRIVATE_===goog.string.Const.TYPE_MARKER_)return a.stringConstValueWithSecurityContract__googStringSecurityPrivate_;goog.asserts.fail("expected object of type Const, got '"+a+"'");return"type_error:Const"};
goog.string.Const.from=function(a){return goog.string.Const.create__googStringSecurityPrivate_(a)};goog.string.Const.TYPE_MARKER_={};goog.string.Const.create__googStringSecurityPrivate_=function(a){var b=new goog.string.Const;b.stringConstValueWithSecurityContract__googStringSecurityPrivate_=a;return b};goog.string.Const.EMPTY=goog.string.Const.from("");goog.html={};goog.html.SafeScript=function(){this.privateDoNotAccessOrElseSafeScriptWrappedValue_="";this.SAFE_SCRIPT_TYPE_MARKER_GOOG_HTML_SECURITY_PRIVATE_=goog.html.SafeScript.TYPE_MARKER_GOOG_HTML_SECURITY_PRIVATE_};goog.html.SafeScript.prototype.implementsGoogStringTypedString=!0;goog.html.SafeScript.TYPE_MARKER_GOOG_HTML_SECURITY_PRIVATE_={};goog.html.SafeScript.fromConstant=function(a){a=goog.string.Const.unwrap(a);return 0===a.length?goog.html.SafeScript.EMPTY:goog.html.SafeScript.createSafeScriptSecurityPrivateDoNotAccessOrElse(a)};
goog.html.SafeScript.prototype.getTypedStringValue=function(){return this.privateDoNotAccessOrElseSafeScriptWrappedValue_};goog.DEBUG&&(goog.html.SafeScript.prototype.toString=function(){return"SafeScript{"+this.privateDoNotAccessOrElseSafeScriptWrappedValue_+"}"});
goog.html.SafeScript.unwrap=function(a){if(a instanceof goog.html.SafeScript&&a.constructor===goog.html.SafeScript&&a.SAFE_SCRIPT_TYPE_MARKER_GOOG_HTML_SECURITY_PRIVATE_===goog.html.SafeScript.TYPE_MARKER_GOOG_HTML_SECURITY_PRIVATE_)return a.privateDoNotAccessOrElseSafeScriptWrappedValue_;goog.asserts.fail("expected object of type SafeScript, got '"+a+"' of type "+goog.typeOf(a));return"type_error:SafeScript"};goog.html.SafeScript.createSafeScriptSecurityPrivateDoNotAccessOrElse=function(a){return(new goog.html.SafeScript).initSecurityPrivateDoNotAccessOrElse_(a)};
goog.html.SafeScript.prototype.initSecurityPrivateDoNotAccessOrElse_=function(a){this.privateDoNotAccessOrElseSafeScriptWrappedValue_=a;return this};goog.html.SafeScript.EMPTY=goog.html.SafeScript.createSafeScriptSecurityPrivateDoNotAccessOrElse("");goog.fs={};goog.fs.url={};goog.fs.url.createObjectUrl=function(a){return goog.fs.url.getUrlObject_().createObjectURL(a)};goog.fs.url.revokeObjectUrl=function(a){goog.fs.url.getUrlObject_().revokeObjectURL(a)};goog.fs.url.getUrlObject_=function(){var a=goog.fs.url.findUrlObject_();if(null!=a)return a;throw Error("This browser doesn't seem to support blob URLs");};
goog.fs.url.findUrlObject_=function(){return goog.isDef(goog.global.URL)&&goog.isDef(goog.global.URL.createObjectURL)?goog.global.URL:goog.isDef(goog.global.webkitURL)&&goog.isDef(goog.global.webkitURL.createObjectURL)?goog.global.webkitURL:goog.isDef(goog.global.createObjectURL)?goog.global:null};goog.fs.url.browserSupportsObjectUrls=function(){return null!=goog.fs.url.findUrlObject_()};goog.i18n={};goog.i18n.bidi={};goog.i18n.bidi.FORCE_RTL=!1;
goog.i18n.bidi.IS_RTL=goog.i18n.bidi.FORCE_RTL||("ar"==goog.LOCALE.substring(0,2).toLowerCase()||"fa"==goog.LOCALE.substring(0,2).toLowerCase()||"he"==goog.LOCALE.substring(0,2).toLowerCase()||"iw"==goog.LOCALE.substring(0,2).toLowerCase()||"ps"==goog.LOCALE.substring(0,2).toLowerCase()||"sd"==goog.LOCALE.substring(0,2).toLowerCase()||"ug"==goog.LOCALE.substring(0,2).toLowerCase()||"ur"==goog.LOCALE.substring(0,2).toLowerCase()||"yi"==goog.LOCALE.substring(0,2).toLowerCase())&&(2==goog.LOCALE.length||
"-"==goog.LOCALE.substring(2,3)||"_"==goog.LOCALE.substring(2,3))||3<=goog.LOCALE.length&&"ckb"==goog.LOCALE.substring(0,3).toLowerCase()&&(3==goog.LOCALE.length||"-"==goog.LOCALE.substring(3,4)||"_"==goog.LOCALE.substring(3,4));goog.i18n.bidi.Format={LRE:"‪",RLE:"‫",PDF:"‬",LRM:"‎",RLM:"‏"};goog.i18n.bidi.Dir={LTR:1,RTL:-1,NEUTRAL:0};goog.i18n.bidi.RIGHT="right";goog.i18n.bidi.LEFT="left";goog.i18n.bidi.I18N_RIGHT=goog.i18n.bidi.IS_RTL?goog.i18n.bidi.LEFT:goog.i18n.bidi.RIGHT;
goog.i18n.bidi.I18N_LEFT=goog.i18n.bidi.IS_RTL?goog.i18n.bidi.RIGHT:goog.i18n.bidi.LEFT;goog.i18n.bidi.toDir=function(a,b){return"number"==typeof a?0<a?goog.i18n.bidi.Dir.LTR:0>a?goog.i18n.bidi.Dir.RTL:b?null:goog.i18n.bidi.Dir.NEUTRAL:null==a?null:a?goog.i18n.bidi.Dir.RTL:goog.i18n.bidi.Dir.LTR};goog.i18n.bidi.ltrChars_="A-Za-zÀ-ÖØ-öø-ʸ̀-֐ࠀ-῿‎Ⰰ-﬜︀-﹯﻽-";goog.i18n.bidi.rtlChars_="֑-ۯۺ-߿‏יִ-﷿ﹰ-ﻼ";goog.i18n.bidi.htmlSkipReg_=/<[^>]*>|&[^;]+;/g;
goog.i18n.bidi.stripHtmlIfNeeded_=function(a,b){return b?a.replace(goog.i18n.bidi.htmlSkipReg_,""):a};goog.i18n.bidi.rtlCharReg_=new RegExp("["+goog.i18n.bidi.rtlChars_+"]");goog.i18n.bidi.ltrCharReg_=new RegExp("["+goog.i18n.bidi.ltrChars_+"]");goog.i18n.bidi.hasAnyRtl=function(a,b){return goog.i18n.bidi.rtlCharReg_.test(goog.i18n.bidi.stripHtmlIfNeeded_(a,b))};goog.i18n.bidi.hasRtlChar=goog.i18n.bidi.hasAnyRtl;
goog.i18n.bidi.hasAnyLtr=function(a,b){return goog.i18n.bidi.ltrCharReg_.test(goog.i18n.bidi.stripHtmlIfNeeded_(a,b))};goog.i18n.bidi.ltrRe_=new RegExp("^["+goog.i18n.bidi.ltrChars_+"]");goog.i18n.bidi.rtlRe_=new RegExp("^["+goog.i18n.bidi.rtlChars_+"]");goog.i18n.bidi.isRtlChar=function(a){return goog.i18n.bidi.rtlRe_.test(a)};goog.i18n.bidi.isLtrChar=function(a){return goog.i18n.bidi.ltrRe_.test(a)};goog.i18n.bidi.isNeutralChar=function(a){return!goog.i18n.bidi.isLtrChar(a)&&!goog.i18n.bidi.isRtlChar(a)};
goog.i18n.bidi.ltrDirCheckRe_=new RegExp("^[^"+goog.i18n.bidi.rtlChars_+"]*["+goog.i18n.bidi.ltrChars_+"]");goog.i18n.bidi.rtlDirCheckRe_=new RegExp("^[^"+goog.i18n.bidi.ltrChars_+"]*["+goog.i18n.bidi.rtlChars_+"]");goog.i18n.bidi.startsWithRtl=function(a,b){return goog.i18n.bidi.rtlDirCheckRe_.test(goog.i18n.bidi.stripHtmlIfNeeded_(a,b))};goog.i18n.bidi.isRtlText=goog.i18n.bidi.startsWithRtl;
goog.i18n.bidi.startsWithLtr=function(a,b){return goog.i18n.bidi.ltrDirCheckRe_.test(goog.i18n.bidi.stripHtmlIfNeeded_(a,b))};goog.i18n.bidi.isLtrText=goog.i18n.bidi.startsWithLtr;goog.i18n.bidi.isRequiredLtrRe_=/^http:\/\/.*/;goog.i18n.bidi.isNeutralText=function(a,b){a=goog.i18n.bidi.stripHtmlIfNeeded_(a,b);return goog.i18n.bidi.isRequiredLtrRe_.test(a)||!goog.i18n.bidi.hasAnyLtr(a)&&!goog.i18n.bidi.hasAnyRtl(a)};
goog.i18n.bidi.ltrExitDirCheckRe_=new RegExp("["+goog.i18n.bidi.ltrChars_+"][^"+goog.i18n.bidi.rtlChars_+"]*$");goog.i18n.bidi.rtlExitDirCheckRe_=new RegExp("["+goog.i18n.bidi.rtlChars_+"][^"+goog.i18n.bidi.ltrChars_+"]*$");goog.i18n.bidi.endsWithLtr=function(a,b){return goog.i18n.bidi.ltrExitDirCheckRe_.test(goog.i18n.bidi.stripHtmlIfNeeded_(a,b))};goog.i18n.bidi.isLtrExitText=goog.i18n.bidi.endsWithLtr;
goog.i18n.bidi.endsWithRtl=function(a,b){return goog.i18n.bidi.rtlExitDirCheckRe_.test(goog.i18n.bidi.stripHtmlIfNeeded_(a,b))};goog.i18n.bidi.isRtlExitText=goog.i18n.bidi.endsWithRtl;goog.i18n.bidi.rtlLocalesRe_=/^(ar|ckb|dv|he|iw|fa|nqo|ps|sd|ug|ur|yi|.*[-_](Arab|Hebr|Thaa|Nkoo|Tfng))(?!.*[-_](Latn|Cyrl)($|-|_))($|-|_)/i;goog.i18n.bidi.isRtlLanguage=function(a){return goog.i18n.bidi.rtlLocalesRe_.test(a)};goog.i18n.bidi.bracketGuardTextRe_=/(\(.*?\)+)|(\[.*?\]+)|(\{.*?\}+)|(<.*?>+)/g;
goog.i18n.bidi.guardBracketInText=function(a,b){b=(void 0===b?goog.i18n.bidi.hasAnyRtl(a):b)?goog.i18n.bidi.Format.RLM:goog.i18n.bidi.Format.LRM;return a.replace(goog.i18n.bidi.bracketGuardTextRe_,b+"$\x26"+b)};goog.i18n.bidi.enforceRtlInHtml=function(a){return"\x3c"==a.charAt(0)?a.replace(/<\w+/,"$\x26 dir\x3drtl"):"\n\x3cspan dir\x3drtl\x3e"+a+"\x3c/span\x3e"};goog.i18n.bidi.enforceRtlInText=function(a){return goog.i18n.bidi.Format.RLE+a+goog.i18n.bidi.Format.PDF};
goog.i18n.bidi.enforceLtrInHtml=function(a){return"\x3c"==a.charAt(0)?a.replace(/<\w+/,"$\x26 dir\x3dltr"):"\n\x3cspan dir\x3dltr\x3e"+a+"\x3c/span\x3e"};goog.i18n.bidi.enforceLtrInText=function(a){return goog.i18n.bidi.Format.LRE+a+goog.i18n.bidi.Format.PDF};goog.i18n.bidi.dimensionsRe_=/:\s*([.\d][.\w]*)\s+([.\d][.\w]*)\s+([.\d][.\w]*)\s+([.\d][.\w]*)/g;goog.i18n.bidi.leftRe_=/left/gi;goog.i18n.bidi.rightRe_=/right/gi;goog.i18n.bidi.tempRe_=/%%%%/g;
goog.i18n.bidi.mirrorCSS=function(a){return a.replace(goog.i18n.bidi.dimensionsRe_,":$1 $4 $3 $2").replace(goog.i18n.bidi.leftRe_,"%%%%").replace(goog.i18n.bidi.rightRe_,goog.i18n.bidi.LEFT).replace(goog.i18n.bidi.tempRe_,goog.i18n.bidi.RIGHT)};goog.i18n.bidi.doubleQuoteSubstituteRe_=/([\u0591-\u05f2])"/g;goog.i18n.bidi.singleQuoteSubstituteRe_=/([\u0591-\u05f2])'/g;
goog.i18n.bidi.normalizeHebrewQuote=function(a){return a.replace(goog.i18n.bidi.doubleQuoteSubstituteRe_,"$1״").replace(goog.i18n.bidi.singleQuoteSubstituteRe_,"$1׳")};goog.i18n.bidi.wordSeparatorRe_=/\s+/;goog.i18n.bidi.hasNumeralsRe_=/[\d\u06f0-\u06f9]/;goog.i18n.bidi.rtlDetectionThreshold_=.4;
goog.i18n.bidi.estimateDirection=function(a,b){var c=0,d=0,e=!1;a=goog.i18n.bidi.stripHtmlIfNeeded_(a,b).split(goog.i18n.bidi.wordSeparatorRe_);for(b=0;b<a.length;b++){var f=a[b];goog.i18n.bidi.startsWithRtl(f)?(c++,d++):goog.i18n.bidi.isRequiredLtrRe_.test(f)?e=!0:goog.i18n.bidi.hasAnyLtr(f)?d++:goog.i18n.bidi.hasNumeralsRe_.test(f)&&(e=!0)}return 0==d?e?goog.i18n.bidi.Dir.LTR:goog.i18n.bidi.Dir.NEUTRAL:c/d>goog.i18n.bidi.rtlDetectionThreshold_?goog.i18n.bidi.Dir.RTL:goog.i18n.bidi.Dir.LTR};
goog.i18n.bidi.detectRtlDirectionality=function(a,b){return goog.i18n.bidi.estimateDirection(a,b)==goog.i18n.bidi.Dir.RTL};goog.i18n.bidi.setElementDirAndAlign=function(a,b){a&&(b=goog.i18n.bidi.toDir(b))&&(a.style.textAlign=b==goog.i18n.bidi.Dir.RTL?goog.i18n.bidi.RIGHT:goog.i18n.bidi.LEFT,a.dir=b==goog.i18n.bidi.Dir.RTL?"rtl":"ltr")};
goog.i18n.bidi.setElementDirByTextDirectionality=function(a,b){switch(goog.i18n.bidi.estimateDirection(b)){case goog.i18n.bidi.Dir.LTR:a.dir="ltr";break;case goog.i18n.bidi.Dir.RTL:a.dir="rtl";break;default:a.removeAttribute("dir")}};goog.i18n.bidi.DirectionalString=function(){};goog.html.TrustedResourceUrl=function(){this.privateDoNotAccessOrElseTrustedResourceUrlWrappedValue_="";this.TRUSTED_RESOURCE_URL_TYPE_MARKER_GOOG_HTML_SECURITY_PRIVATE_=goog.html.TrustedResourceUrl.TYPE_MARKER_GOOG_HTML_SECURITY_PRIVATE_};goog.html.TrustedResourceUrl.prototype.implementsGoogStringTypedString=!0;goog.html.TrustedResourceUrl.prototype.getTypedStringValue=function(){return this.privateDoNotAccessOrElseTrustedResourceUrlWrappedValue_};
goog.html.TrustedResourceUrl.prototype.implementsGoogI18nBidiDirectionalString=!0;goog.html.TrustedResourceUrl.prototype.getDirection=function(){return goog.i18n.bidi.Dir.LTR};goog.DEBUG&&(goog.html.TrustedResourceUrl.prototype.toString=function(){return"TrustedResourceUrl{"+this.privateDoNotAccessOrElseTrustedResourceUrlWrappedValue_+"}"});
goog.html.TrustedResourceUrl.unwrap=function(a){if(a instanceof goog.html.TrustedResourceUrl&&a.constructor===goog.html.TrustedResourceUrl&&a.TRUSTED_RESOURCE_URL_TYPE_MARKER_GOOG_HTML_SECURITY_PRIVATE_===goog.html.TrustedResourceUrl.TYPE_MARKER_GOOG_HTML_SECURITY_PRIVATE_)return a.privateDoNotAccessOrElseTrustedResourceUrlWrappedValue_;goog.asserts.fail("expected object of type TrustedResourceUrl, got '"+a+"' of type "+goog.typeOf(a));return"type_error:TrustedResourceUrl"};
goog.html.TrustedResourceUrl.format=function(a,b){a=goog.html.TrustedResourceUrl.format_(a,b);return goog.html.TrustedResourceUrl.createTrustedResourceUrlSecurityPrivateDoNotAccessOrElse(a)};
goog.html.TrustedResourceUrl.format_=function(a,b){var c=goog.string.Const.unwrap(a);if(!goog.html.TrustedResourceUrl.BASE_URL_.test(c))throw Error("Invalid TrustedResourceUrl format: "+c);return c.replace(goog.html.TrustedResourceUrl.FORMAT_MARKER_,function(a,e){if(!Object.prototype.hasOwnProperty.call(b,e))throw Error('Found marker, "'+e+'", in format string, "'+c+'", but no valid label mapping found in args: '+JSON.stringify(b));a=b[e];return a instanceof goog.string.Const?goog.string.Const.unwrap(a):
encodeURIComponent(String(a))})};goog.html.TrustedResourceUrl.FORMAT_MARKER_=/%{(\w+)}/g;goog.html.TrustedResourceUrl.BASE_URL_=/^(?:https:)?\/\/[0-9a-z.:[\]-]+\/|^\/[^\/\\]|^about:blank(#|$)/i;goog.html.TrustedResourceUrl.formatWithParams=function(a,b,c){a=goog.html.TrustedResourceUrl.format_(a,b);b=/\?/.test(a)?"\x26":"?";for(var d in c)null!=c[d]&&(a+=b+encodeURIComponent(d)+"\x3d"+encodeURIComponent(String(c[d])),b="\x26");return goog.html.TrustedResourceUrl.createTrustedResourceUrlSecurityPrivateDoNotAccessOrElse(a)};
goog.html.TrustedResourceUrl.fromConstant=function(a){return goog.html.TrustedResourceUrl.createTrustedResourceUrlSecurityPrivateDoNotAccessOrElse(goog.string.Const.unwrap(a))};goog.html.TrustedResourceUrl.fromConstants=function(a){for(var b="",c=0;c<a.length;c++)b+=goog.string.Const.unwrap(a[c]);return goog.html.TrustedResourceUrl.createTrustedResourceUrlSecurityPrivateDoNotAccessOrElse(b)};goog.html.TrustedResourceUrl.TYPE_MARKER_GOOG_HTML_SECURITY_PRIVATE_={};
goog.html.TrustedResourceUrl.createTrustedResourceUrlSecurityPrivateDoNotAccessOrElse=function(a){var b=new goog.html.TrustedResourceUrl;b.privateDoNotAccessOrElseTrustedResourceUrlWrappedValue_=a;return b};goog.html.SafeUrl=function(){this.privateDoNotAccessOrElseSafeHtmlWrappedValue_="";this.SAFE_URL_TYPE_MARKER_GOOG_HTML_SECURITY_PRIVATE_=goog.html.SafeUrl.TYPE_MARKER_GOOG_HTML_SECURITY_PRIVATE_};goog.html.SafeUrl.INNOCUOUS_STRING="about:invalid#zClosurez";goog.html.SafeUrl.prototype.implementsGoogStringTypedString=!0;goog.html.SafeUrl.prototype.getTypedStringValue=function(){return this.privateDoNotAccessOrElseSafeHtmlWrappedValue_};
goog.html.SafeUrl.prototype.implementsGoogI18nBidiDirectionalString=!0;goog.html.SafeUrl.prototype.getDirection=function(){return goog.i18n.bidi.Dir.LTR};goog.DEBUG&&(goog.html.SafeUrl.prototype.toString=function(){return"SafeUrl{"+this.privateDoNotAccessOrElseSafeHtmlWrappedValue_+"}"});
goog.html.SafeUrl.unwrap=function(a){if(a instanceof goog.html.SafeUrl&&a.constructor===goog.html.SafeUrl&&a.SAFE_URL_TYPE_MARKER_GOOG_HTML_SECURITY_PRIVATE_===goog.html.SafeUrl.TYPE_MARKER_GOOG_HTML_SECURITY_PRIVATE_)return a.privateDoNotAccessOrElseSafeHtmlWrappedValue_;goog.asserts.fail("expected object of type SafeUrl, got '"+a+"' of type "+goog.typeOf(a));return"type_error:SafeUrl"};goog.html.SafeUrl.fromConstant=function(a){return goog.html.SafeUrl.createSafeUrlSecurityPrivateDoNotAccessOrElse(goog.string.Const.unwrap(a))};
goog.html.SAFE_MIME_TYPE_PATTERN_=/^(?:audio\/(?:3gpp|3gpp2|aac|midi|mp4|mpeg|ogg|x-m4a|x-wav|webm)|image\/(?:bmp|gif|jpeg|jpg|png|tiff|webp)|text\/csv|video\/(?:mpeg|mp4|ogg|webm))$/i;goog.html.SafeUrl.fromBlob=function(a){a=goog.html.SAFE_MIME_TYPE_PATTERN_.test(a.type)?goog.fs.url.createObjectUrl(a):goog.html.SafeUrl.INNOCUOUS_STRING;return goog.html.SafeUrl.createSafeUrlSecurityPrivateDoNotAccessOrElse(a)};goog.html.DATA_URL_PATTERN_=/^data:([^;,]*);base64,[a-z0-9+\/]+=*$/i;
goog.html.SafeUrl.fromDataUrl=function(a){var b=a.match(goog.html.DATA_URL_PATTERN_);b=b&&goog.html.SAFE_MIME_TYPE_PATTERN_.test(b[1]);return goog.html.SafeUrl.createSafeUrlSecurityPrivateDoNotAccessOrElse(b?a:goog.html.SafeUrl.INNOCUOUS_STRING)};goog.html.SafeUrl.fromTelUrl=function(a){goog.string.caseInsensitiveStartsWith(a,"tel:")||(a=goog.html.SafeUrl.INNOCUOUS_STRING);return goog.html.SafeUrl.createSafeUrlSecurityPrivateDoNotAccessOrElse(a)};goog.html.SafeUrl.fromTrustedResourceUrl=function(a){return goog.html.SafeUrl.createSafeUrlSecurityPrivateDoNotAccessOrElse(goog.html.TrustedResourceUrl.unwrap(a))};
goog.html.SAFE_URL_PATTERN_=/^(?:(?:https?|mailto|ftp):|[^:/?#]*(?:[/?#]|$))/i;goog.html.SafeUrl.sanitize=function(a){if(a instanceof goog.html.SafeUrl)return a;a=a.implementsGoogStringTypedString?a.getTypedStringValue():String(a);goog.html.SAFE_URL_PATTERN_.test(a)||(a=goog.html.SafeUrl.INNOCUOUS_STRING);return goog.html.SafeUrl.createSafeUrlSecurityPrivateDoNotAccessOrElse(a)};
goog.html.SafeUrl.sanitizeAssertUnchanged=function(a){if(a instanceof goog.html.SafeUrl)return a;a=a.implementsGoogStringTypedString?a.getTypedStringValue():String(a);goog.asserts.assert(goog.html.SAFE_URL_PATTERN_.test(a))||(a=goog.html.SafeUrl.INNOCUOUS_STRING);return goog.html.SafeUrl.createSafeUrlSecurityPrivateDoNotAccessOrElse(a)};goog.html.SafeUrl.TYPE_MARKER_GOOG_HTML_SECURITY_PRIVATE_={};
goog.html.SafeUrl.createSafeUrlSecurityPrivateDoNotAccessOrElse=function(a){var b=new goog.html.SafeUrl;b.privateDoNotAccessOrElseSafeHtmlWrappedValue_=a;return b};goog.html.SafeUrl.ABOUT_BLANK=goog.html.SafeUrl.createSafeUrlSecurityPrivateDoNotAccessOrElse("about:blank");goog.html.SafeStyle=function(){this.privateDoNotAccessOrElseSafeStyleWrappedValue_="";this.SAFE_STYLE_TYPE_MARKER_GOOG_HTML_SECURITY_PRIVATE_=goog.html.SafeStyle.TYPE_MARKER_GOOG_HTML_SECURITY_PRIVATE_};goog.html.SafeStyle.prototype.implementsGoogStringTypedString=!0;goog.html.SafeStyle.TYPE_MARKER_GOOG_HTML_SECURITY_PRIVATE_={};
goog.html.SafeStyle.fromConstant=function(a){a=goog.string.Const.unwrap(a);if(0===a.length)return goog.html.SafeStyle.EMPTY;goog.html.SafeStyle.checkStyle_(a);goog.asserts.assert(goog.string.endsWith(a,";"),"Last character of style string is not ';': "+a);goog.asserts.assert(goog.string.contains(a,":"),"Style string must contain at least one ':', to specify a \"name: value\" pair: "+a);return goog.html.SafeStyle.createSafeStyleSecurityPrivateDoNotAccessOrElse(a)};
goog.html.SafeStyle.checkStyle_=function(a){goog.asserts.assert(!/[<>]/.test(a),"Forbidden characters in style string: "+a)};goog.html.SafeStyle.prototype.getTypedStringValue=function(){return this.privateDoNotAccessOrElseSafeStyleWrappedValue_};goog.DEBUG&&(goog.html.SafeStyle.prototype.toString=function(){return"SafeStyle{"+this.privateDoNotAccessOrElseSafeStyleWrappedValue_+"}"});
goog.html.SafeStyle.unwrap=function(a){if(a instanceof goog.html.SafeStyle&&a.constructor===goog.html.SafeStyle&&a.SAFE_STYLE_TYPE_MARKER_GOOG_HTML_SECURITY_PRIVATE_===goog.html.SafeStyle.TYPE_MARKER_GOOG_HTML_SECURITY_PRIVATE_)return a.privateDoNotAccessOrElseSafeStyleWrappedValue_;goog.asserts.fail("expected object of type SafeStyle, got '"+a+"' of type "+goog.typeOf(a));return"type_error:SafeStyle"};goog.html.SafeStyle.createSafeStyleSecurityPrivateDoNotAccessOrElse=function(a){return(new goog.html.SafeStyle).initSecurityPrivateDoNotAccessOrElse_(a)};
goog.html.SafeStyle.prototype.initSecurityPrivateDoNotAccessOrElse_=function(a){this.privateDoNotAccessOrElseSafeStyleWrappedValue_=a;return this};goog.html.SafeStyle.EMPTY=goog.html.SafeStyle.createSafeStyleSecurityPrivateDoNotAccessOrElse("");goog.html.SafeStyle.INNOCUOUS_STRING="zClosurez";
goog.html.SafeStyle.create=function(a){var b="",c;for(c in a){if(!/^[-_a-zA-Z0-9]+$/.test(c))throw Error("Name allows only [-_a-zA-Z0-9], got: "+c);var d=a[c];null!=d&&(d=goog.isArray(d)?goog.array.map(d,goog.html.SafeStyle.sanitizePropertyValue_).join(" "):goog.html.SafeStyle.sanitizePropertyValue_(d),b+=c+":"+d+";")}if(!b)return goog.html.SafeStyle.EMPTY;goog.html.SafeStyle.checkStyle_(b);return goog.html.SafeStyle.createSafeStyleSecurityPrivateDoNotAccessOrElse(b)};
goog.html.SafeStyle.sanitizePropertyValue_=function(a){if(a instanceof goog.html.SafeUrl)return'url("'+goog.html.SafeUrl.unwrap(a).replace(/</g,"%3c").replace(/[\\"]/g,"\\$\x26")+'")';a=a instanceof goog.string.Const?goog.string.Const.unwrap(a):goog.html.SafeStyle.sanitizePropertyValueString_(String(a));goog.asserts.assert(!/[{;}]/.test(a),"Value does not allow [{;}].");return a};
goog.html.SafeStyle.sanitizePropertyValueString_=function(a){var b=a.replace(goog.html.SafeUrl.FUNCTIONS_RE_,"$1").replace(goog.html.SafeUrl.URL_RE_,"url");return goog.html.SafeStyle.VALUE_RE_.test(b)?goog.html.SafeStyle.hasBalancedQuotes_(a)?goog.html.SafeStyle.sanitizeUrl_(a):(goog.asserts.fail("String value requires balanced quotes, got: "+a),goog.html.SafeStyle.INNOCUOUS_STRING):(goog.asserts.fail("String value allows only "+goog.html.SafeStyle.VALUE_ALLOWED_CHARS_+" and simple functions, got: "+
a),goog.html.SafeStyle.INNOCUOUS_STRING)};goog.html.SafeStyle.hasBalancedQuotes_=function(a){for(var b=!0,c=!0,d=0;d<a.length;d++){var e=a.charAt(d);"'"==e&&c?b=!b:'"'==e&&b&&(c=!c)}return b&&c};goog.html.SafeStyle.VALUE_ALLOWED_CHARS_="[-,.\"'%_!# a-zA-Z0-9]";goog.html.SafeStyle.VALUE_RE_=new RegExp("^"+goog.html.SafeStyle.VALUE_ALLOWED_CHARS_+"+$");goog.html.SafeUrl.URL_RE_=/\b(url\([ \t\n]*)('[ -&(-\[\]-~]*'|"[ !#-\[\]-~]*"|[!#-&*-\[\]-~]*)([ \t\n]*\))/g;goog.html.SafeUrl.FUNCTIONS_RE_=/\b(hsl|hsla|rgb|rgba|(rotate|scale|translate)(X|Y|Z|3d)?)\([-0-9a-z.%, ]+\)/g;
goog.html.SafeStyle.sanitizeUrl_=function(a){return a.replace(goog.html.SafeUrl.URL_RE_,function(a,c,d,e){var b="";d=d.replace(/^(['"])(.*)\1$/,function(a,c,d){b=c;return d});a=goog.html.SafeUrl.sanitize(d).getTypedStringValue();return c+b+a+b+e})};goog.html.SafeStyle.concat=function(a){var b="",c=function(a){goog.isArray(a)?goog.array.forEach(a,c):b+=goog.html.SafeStyle.unwrap(a)};goog.array.forEach(arguments,c);return b?goog.html.SafeStyle.createSafeStyleSecurityPrivateDoNotAccessOrElse(b):goog.html.SafeStyle.EMPTY};goog.html.SafeStyleSheet=function(){this.privateDoNotAccessOrElseSafeStyleSheetWrappedValue_="";this.SAFE_STYLE_SHEET_TYPE_MARKER_GOOG_HTML_SECURITY_PRIVATE_=goog.html.SafeStyleSheet.TYPE_MARKER_GOOG_HTML_SECURITY_PRIVATE_};goog.html.SafeStyleSheet.prototype.implementsGoogStringTypedString=!0;goog.html.SafeStyleSheet.TYPE_MARKER_GOOG_HTML_SECURITY_PRIVATE_={};
goog.html.SafeStyleSheet.createRule=function(a,b){if(goog.string.contains(a,"\x3c"))throw Error("Selector does not allow '\x3c', got: "+a);var c=a.replace(/('|")((?!\1)[^\r\n\f\\]|\\[\s\S])*\1/g,"");if(!/^[-_a-zA-Z0-9#.:* ,>+~[\]()=^$|]+$/.test(c))throw Error("Selector allows only [-_a-zA-Z0-9#.:* ,\x3e+~[\\]()\x3d^$|] and strings, got: "+a);if(!goog.html.SafeStyleSheet.hasBalancedBrackets_(c))throw Error("() and [] in selector must be balanced, got: "+a);b instanceof goog.html.SafeStyle||(b=goog.html.SafeStyle.create(b));
a=a+"{"+goog.html.SafeStyle.unwrap(b)+"}";return goog.html.SafeStyleSheet.createSafeStyleSheetSecurityPrivateDoNotAccessOrElse(a)};goog.html.SafeStyleSheet.hasBalancedBrackets_=function(a){for(var b={"(":")","[":"]"},c=[],d=0;d<a.length;d++){var e=a[d];if(b[e])c.push(b[e]);else if(goog.object.contains(b,e)&&c.pop()!=e)return!1}return 0==c.length};
goog.html.SafeStyleSheet.concat=function(a){var b="",c=function(a){goog.isArray(a)?goog.array.forEach(a,c):b+=goog.html.SafeStyleSheet.unwrap(a)};goog.array.forEach(arguments,c);return goog.html.SafeStyleSheet.createSafeStyleSheetSecurityPrivateDoNotAccessOrElse(b)};
goog.html.SafeStyleSheet.fromConstant=function(a){a=goog.string.Const.unwrap(a);if(0===a.length)return goog.html.SafeStyleSheet.EMPTY;goog.asserts.assert(!goog.string.contains(a,"\x3c"),"Forbidden '\x3c' character in style sheet string: "+a);return goog.html.SafeStyleSheet.createSafeStyleSheetSecurityPrivateDoNotAccessOrElse(a)};goog.html.SafeStyleSheet.prototype.getTypedStringValue=function(){return this.privateDoNotAccessOrElseSafeStyleSheetWrappedValue_};
goog.DEBUG&&(goog.html.SafeStyleSheet.prototype.toString=function(){return"SafeStyleSheet{"+this.privateDoNotAccessOrElseSafeStyleSheetWrappedValue_+"}"});
goog.html.SafeStyleSheet.unwrap=function(a){if(a instanceof goog.html.SafeStyleSheet&&a.constructor===goog.html.SafeStyleSheet&&a.SAFE_STYLE_SHEET_TYPE_MARKER_GOOG_HTML_SECURITY_PRIVATE_===goog.html.SafeStyleSheet.TYPE_MARKER_GOOG_HTML_SECURITY_PRIVATE_)return a.privateDoNotAccessOrElseSafeStyleSheetWrappedValue_;goog.asserts.fail("expected object of type SafeStyleSheet, got '"+a+"' of type "+goog.typeOf(a));return"type_error:SafeStyleSheet"};
goog.html.SafeStyleSheet.createSafeStyleSheetSecurityPrivateDoNotAccessOrElse=function(a){return(new goog.html.SafeStyleSheet).initSecurityPrivateDoNotAccessOrElse_(a)};goog.html.SafeStyleSheet.prototype.initSecurityPrivateDoNotAccessOrElse_=function(a){this.privateDoNotAccessOrElseSafeStyleSheetWrappedValue_=a;return this};goog.html.SafeStyleSheet.EMPTY=goog.html.SafeStyleSheet.createSafeStyleSheetSecurityPrivateDoNotAccessOrElse("");goog.html.SafeHtml=function(){this.privateDoNotAccessOrElseSafeHtmlWrappedValue_="";this.SAFE_HTML_TYPE_MARKER_GOOG_HTML_SECURITY_PRIVATE_=goog.html.SafeHtml.TYPE_MARKER_GOOG_HTML_SECURITY_PRIVATE_;this.dir_=null};goog.html.SafeHtml.prototype.implementsGoogI18nBidiDirectionalString=!0;goog.html.SafeHtml.prototype.getDirection=function(){return this.dir_};goog.html.SafeHtml.prototype.implementsGoogStringTypedString=!0;goog.html.SafeHtml.prototype.getTypedStringValue=function(){return this.privateDoNotAccessOrElseSafeHtmlWrappedValue_};
goog.DEBUG&&(goog.html.SafeHtml.prototype.toString=function(){return"SafeHtml{"+this.privateDoNotAccessOrElseSafeHtmlWrappedValue_+"}"});
goog.html.SafeHtml.unwrap=function(a){if(a instanceof goog.html.SafeHtml&&a.constructor===goog.html.SafeHtml&&a.SAFE_HTML_TYPE_MARKER_GOOG_HTML_SECURITY_PRIVATE_===goog.html.SafeHtml.TYPE_MARKER_GOOG_HTML_SECURITY_PRIVATE_)return a.privateDoNotAccessOrElseSafeHtmlWrappedValue_;goog.asserts.fail("expected object of type SafeHtml, got '"+a+"' of type "+goog.typeOf(a));return"type_error:SafeHtml"};
goog.html.SafeHtml.htmlEscape=function(a){if(a instanceof goog.html.SafeHtml)return a;var b=null;a.implementsGoogI18nBidiDirectionalString&&(b=a.getDirection());a=a.implementsGoogStringTypedString?a.getTypedStringValue():String(a);return goog.html.SafeHtml.createSafeHtmlSecurityPrivateDoNotAccessOrElse(goog.string.htmlEscape(a),b)};
goog.html.SafeHtml.htmlEscapePreservingNewlines=function(a){if(a instanceof goog.html.SafeHtml)return a;a=goog.html.SafeHtml.htmlEscape(a);return goog.html.SafeHtml.createSafeHtmlSecurityPrivateDoNotAccessOrElse(goog.string.newLineToBr(goog.html.SafeHtml.unwrap(a)),a.getDirection())};
goog.html.SafeHtml.htmlEscapePreservingNewlinesAndSpaces=function(a){if(a instanceof goog.html.SafeHtml)return a;a=goog.html.SafeHtml.htmlEscape(a);return goog.html.SafeHtml.createSafeHtmlSecurityPrivateDoNotAccessOrElse(goog.string.whitespaceEscape(goog.html.SafeHtml.unwrap(a)),a.getDirection())};goog.html.SafeHtml.from=goog.html.SafeHtml.htmlEscape;goog.html.SafeHtml.VALID_NAMES_IN_TAG_=/^[a-zA-Z0-9-]+$/;
goog.html.SafeHtml.URL_ATTRIBUTES_={action:!0,cite:!0,data:!0,formaction:!0,href:!0,manifest:!0,poster:!0,src:!0};goog.html.SafeHtml.NOT_ALLOWED_TAG_NAMES_={APPLET:!0,BASE:!0,EMBED:!0,IFRAME:!0,LINK:!0,MATH:!0,META:!0,OBJECT:!0,SCRIPT:!0,STYLE:!0,SVG:!0,TEMPLATE:!0};goog.html.SafeHtml.create=function(a,b,c){goog.html.SafeHtml.verifyTagName(String(a));return goog.html.SafeHtml.createSafeHtmlTagSecurityPrivateDoNotAccessOrElse(String(a),b,c)};
goog.html.SafeHtml.verifyTagName=function(a){if(!goog.html.SafeHtml.VALID_NAMES_IN_TAG_.test(a))throw Error("Invalid tag name \x3c"+a+"\x3e.");if(a.toUpperCase()in goog.html.SafeHtml.NOT_ALLOWED_TAG_NAMES_)throw Error("Tag name \x3c"+a+"\x3e is not allowed for SafeHtml.");};
goog.html.SafeHtml.createIframe=function(a,b,c,d){a&&goog.html.TrustedResourceUrl.unwrap(a);var e={};e.src=a||null;e.srcdoc=b&&goog.html.SafeHtml.unwrap(b);a=goog.html.SafeHtml.combineAttributes(e,{sandbox:""},c);return goog.html.SafeHtml.createSafeHtmlTagSecurityPrivateDoNotAccessOrElse("iframe",a,d)};
goog.html.SafeHtml.createSandboxIframe=function(a,b,c,d){if(!goog.html.SafeHtml.canUseSandboxIframe())throw Error("The browser does not support sandboxed iframes.");var e={};e.src=a?goog.html.SafeUrl.unwrap(goog.html.SafeUrl.sanitize(a)):null;e.srcdoc=b||null;e.sandbox="";a=goog.html.SafeHtml.combineAttributes(e,{},c);return goog.html.SafeHtml.createSafeHtmlTagSecurityPrivateDoNotAccessOrElse("iframe",a,d)};
goog.html.SafeHtml.canUseSandboxIframe=function(){return goog.global.HTMLIFrameElement&&"sandbox"in goog.global.HTMLIFrameElement.prototype};goog.html.SafeHtml.createScriptSrc=function(a,b){goog.html.TrustedResourceUrl.unwrap(a);a=goog.html.SafeHtml.combineAttributes({src:a},{},b);return goog.html.SafeHtml.createSafeHtmlTagSecurityPrivateDoNotAccessOrElse("script",a)};
goog.html.SafeHtml.createScript=function(a,b){for(var c in b){var d=c.toLowerCase();if("language"==d||"src"==d||"text"==d||"type"==d)throw Error('Cannot set "'+d+'" attribute');}c="";a=goog.array.concat(a);for(d=0;d<a.length;d++)c+=goog.html.SafeScript.unwrap(a[d]);a=goog.html.SafeHtml.createSafeHtmlSecurityPrivateDoNotAccessOrElse(c,goog.i18n.bidi.Dir.NEUTRAL);return goog.html.SafeHtml.createSafeHtmlTagSecurityPrivateDoNotAccessOrElse("script",b,a)};
goog.html.SafeHtml.createStyle=function(a,b){b=goog.html.SafeHtml.combineAttributes({type:"text/css"},{},b);var c="";a=goog.array.concat(a);for(var d=0;d<a.length;d++)c+=goog.html.SafeStyleSheet.unwrap(a[d]);a=goog.html.SafeHtml.createSafeHtmlSecurityPrivateDoNotAccessOrElse(c,goog.i18n.bidi.Dir.NEUTRAL);return goog.html.SafeHtml.createSafeHtmlTagSecurityPrivateDoNotAccessOrElse("style",b,a)};
goog.html.SafeHtml.createMetaRefresh=function(a,b){a=goog.html.SafeUrl.unwrap(goog.html.SafeUrl.sanitize(a));(goog.labs.userAgent.browser.isIE()||goog.labs.userAgent.browser.isEdge())&&goog.string.contains(a,";")&&(a="'"+a.replace(/'/g,"%27")+"'");return goog.html.SafeHtml.createSafeHtmlTagSecurityPrivateDoNotAccessOrElse("meta",{"http-equiv":"refresh",content:(b||0)+"; url\x3d"+a})};
goog.html.SafeHtml.getAttrNameAndValue_=function(a,b,c){if(c instanceof goog.string.Const)c=goog.string.Const.unwrap(c);else if("style"==b.toLowerCase())c=goog.html.SafeHtml.getStyleValue_(c);else{if(/^on/i.test(b))throw Error('Attribute "'+b+'" requires goog.string.Const value, "'+c+'" given.');if(b.toLowerCase()in goog.html.SafeHtml.URL_ATTRIBUTES_)if(c instanceof goog.html.TrustedResourceUrl)c=goog.html.TrustedResourceUrl.unwrap(c);else if(c instanceof goog.html.SafeUrl)c=goog.html.SafeUrl.unwrap(c);
else if(goog.isString(c))c=goog.html.SafeUrl.sanitize(c).getTypedStringValue();else throw Error('Attribute "'+b+'" on tag "'+a+'" requires goog.html.SafeUrl, goog.string.Const, or string, value "'+c+'" given.');}c.implementsGoogStringTypedString&&(c=c.getTypedStringValue());goog.asserts.assert(goog.isString(c)||goog.isNumber(c),"String or number value expected, got "+typeof c+" with value: "+c);return b+'\x3d"'+goog.string.htmlEscape(String(c))+'"'};
goog.html.SafeHtml.getStyleValue_=function(a){if(!goog.isObject(a))throw Error('The "style" attribute requires goog.html.SafeStyle or map of style properties, '+typeof a+" given: "+a);a instanceof goog.html.SafeStyle||(a=goog.html.SafeStyle.create(a));return goog.html.SafeStyle.unwrap(a)};goog.html.SafeHtml.createWithDir=function(a,b,c,d){b=goog.html.SafeHtml.create(b,c,d);b.dir_=a;return b};
goog.html.SafeHtml.concat=function(a){var b=goog.i18n.bidi.Dir.NEUTRAL,c="",d=function(a){goog.isArray(a)?goog.array.forEach(a,d):(a=goog.html.SafeHtml.htmlEscape(a),c+=goog.html.SafeHtml.unwrap(a),a=a.getDirection(),b==goog.i18n.bidi.Dir.NEUTRAL?b=a:a!=goog.i18n.bidi.Dir.NEUTRAL&&b!=a&&(b=null))};goog.array.forEach(arguments,d);return goog.html.SafeHtml.createSafeHtmlSecurityPrivateDoNotAccessOrElse(c,b)};
goog.html.SafeHtml.concatWithDir=function(a,b){var c=goog.html.SafeHtml.concat(goog.array.slice(arguments,1));c.dir_=a;return c};goog.html.SafeHtml.TYPE_MARKER_GOOG_HTML_SECURITY_PRIVATE_={};goog.html.SafeHtml.createSafeHtmlSecurityPrivateDoNotAccessOrElse=function(a,b){return(new goog.html.SafeHtml).initSecurityPrivateDoNotAccessOrElse_(a,b)};goog.html.SafeHtml.prototype.initSecurityPrivateDoNotAccessOrElse_=function(a,b){this.privateDoNotAccessOrElseSafeHtmlWrappedValue_=a;this.dir_=b;return this};
goog.html.SafeHtml.createSafeHtmlTagSecurityPrivateDoNotAccessOrElse=function(a,b,c){var d=null;var e="\x3c"+a+goog.html.SafeHtml.stringifyAttributes(a,b);goog.isDefAndNotNull(c)?goog.isArray(c)||(c=[c]):c=[];goog.dom.tags.isVoidTag(a.toLowerCase())?(goog.asserts.assert(!c.length,"Void tag \x3c"+a+"\x3e does not allow content."),e+="\x3e"):(d=goog.html.SafeHtml.concat(c),e+="\x3e"+goog.html.SafeHtml.unwrap(d)+"\x3c/"+a+"\x3e",d=d.getDirection());(a=b&&b.dir)&&(d=/^(ltr|rtl|auto)$/i.test(a)?goog.i18n.bidi.Dir.NEUTRAL:
null);return goog.html.SafeHtml.createSafeHtmlSecurityPrivateDoNotAccessOrElse(e,d)};goog.html.SafeHtml.stringifyAttributes=function(a,b){var c="";if(b)for(var d in b){if(!goog.html.SafeHtml.VALID_NAMES_IN_TAG_.test(d))throw Error('Invalid attribute name "'+d+'".');var e=b[d];goog.isDefAndNotNull(e)&&(c+=" "+goog.html.SafeHtml.getAttrNameAndValue_(a,d,e))}return c};
goog.html.SafeHtml.combineAttributes=function(a,b,c){var d={},e;for(e in a)goog.asserts.assert(e.toLowerCase()==e,"Must be lower case"),d[e]=a[e];for(e in b)goog.asserts.assert(e.toLowerCase()==e,"Must be lower case"),d[e]=b[e];for(e in c){var f=e.toLowerCase();if(f in a)throw Error('Cannot override "'+f+'" attribute, got "'+e+'" with value "'+c[e]+'"');f in b&&delete d[f];d[e]=c[e]}return d};
goog.html.SafeHtml.DOCTYPE_HTML=goog.html.SafeHtml.createSafeHtmlSecurityPrivateDoNotAccessOrElse("\x3c!DOCTYPE html\x3e",goog.i18n.bidi.Dir.NEUTRAL);goog.html.SafeHtml.EMPTY=goog.html.SafeHtml.createSafeHtmlSecurityPrivateDoNotAccessOrElse("",goog.i18n.bidi.Dir.NEUTRAL);goog.html.SafeHtml.BR=goog.html.SafeHtml.createSafeHtmlSecurityPrivateDoNotAccessOrElse("\x3cbr\x3e",goog.i18n.bidi.Dir.NEUTRAL);goog.dom.safe={};goog.dom.safe.InsertAdjacentHtmlPosition={AFTERBEGIN:"afterbegin",AFTEREND:"afterend",BEFOREBEGIN:"beforebegin",BEFOREEND:"beforeend"};goog.dom.safe.insertAdjacentHtml=function(a,b,c){a.insertAdjacentHTML(b,goog.html.SafeHtml.unwrap(c))};goog.dom.safe.SET_INNER_HTML_DISALLOWED_TAGS_={MATH:!0,SCRIPT:!0,STYLE:!0,SVG:!0,TEMPLATE:!0};
goog.dom.safe.setInnerHtml=function(a,b){if(goog.asserts.ENABLE_ASSERTS){var c=a.tagName.toUpperCase();if(goog.dom.safe.SET_INNER_HTML_DISALLOWED_TAGS_[c])throw Error("goog.dom.safe.setInnerHtml cannot be used to set content of "+a.tagName+".");}a.innerHTML=goog.html.SafeHtml.unwrap(b)};goog.dom.safe.setOuterHtml=function(a,b){a.outerHTML=goog.html.SafeHtml.unwrap(b)};goog.dom.safe.setStyle=function(a,b){a.style.cssText=goog.html.SafeStyle.unwrap(b)};goog.dom.safe.documentWrite=function(a,b){a.write(goog.html.SafeHtml.unwrap(b))};
goog.dom.safe.setAnchorHref=function(a,b){goog.dom.asserts.assertIsHTMLAnchorElement(a);b=b instanceof goog.html.SafeUrl?b:goog.html.SafeUrl.sanitizeAssertUnchanged(b);a.href=goog.html.SafeUrl.unwrap(b)};goog.dom.safe.setImageSrc=function(a,b){goog.dom.asserts.assertIsHTMLImageElement(a);b=b instanceof goog.html.SafeUrl?b:goog.html.SafeUrl.sanitizeAssertUnchanged(b);a.src=goog.html.SafeUrl.unwrap(b)};goog.dom.safe.setEmbedSrc=function(a,b){goog.dom.asserts.assertIsHTMLEmbedElement(a);a.src=goog.html.TrustedResourceUrl.unwrap(b)};
goog.dom.safe.setFrameSrc=function(a,b){goog.dom.asserts.assertIsHTMLFrameElement(a);a.src=goog.html.TrustedResourceUrl.unwrap(b)};goog.dom.safe.setIframeSrc=function(a,b){goog.dom.asserts.assertIsHTMLIFrameElement(a);a.src=goog.html.TrustedResourceUrl.unwrap(b)};goog.dom.safe.setIframeSrcdoc=function(a,b){goog.dom.asserts.assertIsHTMLIFrameElement(a);a.srcdoc=goog.html.SafeHtml.unwrap(b)};
goog.dom.safe.setLinkHrefAndRel=function(a,b,c){goog.dom.asserts.assertIsHTMLLinkElement(a);a.rel=c;goog.string.caseInsensitiveContains(c,"stylesheet")?(goog.asserts.assert(b instanceof goog.html.TrustedResourceUrl,'URL must be TrustedResourceUrl because "rel" contains "stylesheet"'),a.href=goog.html.TrustedResourceUrl.unwrap(b)):a.href=b instanceof goog.html.TrustedResourceUrl?goog.html.TrustedResourceUrl.unwrap(b):b instanceof goog.html.SafeUrl?goog.html.SafeUrl.unwrap(b):goog.html.SafeUrl.sanitizeAssertUnchanged(b).getTypedStringValue()};
goog.dom.safe.setObjectData=function(a,b){goog.dom.asserts.assertIsHTMLObjectElement(a);a.data=goog.html.TrustedResourceUrl.unwrap(b)};goog.dom.safe.setScriptSrc=function(a,b){goog.dom.asserts.assertIsHTMLScriptElement(a);a.src=goog.html.TrustedResourceUrl.unwrap(b)};goog.dom.safe.setScriptContent=function(a,b){goog.dom.asserts.assertIsHTMLScriptElement(a);a.text=goog.html.SafeScript.unwrap(b)};
goog.dom.safe.setLocationHref=function(a,b){goog.dom.asserts.assertIsLocation(a);b=b instanceof goog.html.SafeUrl?b:goog.html.SafeUrl.sanitizeAssertUnchanged(b);a.href=goog.html.SafeUrl.unwrap(b)};goog.dom.safe.openInWindow=function(a,b,c,d,e){a=a instanceof goog.html.SafeUrl?a:goog.html.SafeUrl.sanitizeAssertUnchanged(a);return(b||window).open(goog.html.SafeUrl.unwrap(a),c?goog.string.Const.unwrap(c):"",d,e)};goog.html.uncheckedconversions={};goog.html.uncheckedconversions.safeHtmlFromStringKnownToSatisfyTypeContract=function(a,b,c){goog.asserts.assertString(goog.string.Const.unwrap(a),"must provide justification");goog.asserts.assert(!goog.string.isEmptyOrWhitespace(goog.string.Const.unwrap(a)),"must provide non-empty justification");return goog.html.SafeHtml.createSafeHtmlSecurityPrivateDoNotAccessOrElse(b,c||null)};
goog.html.uncheckedconversions.safeScriptFromStringKnownToSatisfyTypeContract=function(a,b){goog.asserts.assertString(goog.string.Const.unwrap(a),"must provide justification");goog.asserts.assert(!goog.string.isEmptyOrWhitespace(goog.string.Const.unwrap(a)),"must provide non-empty justification");return goog.html.SafeScript.createSafeScriptSecurityPrivateDoNotAccessOrElse(b)};
goog.html.uncheckedconversions.safeStyleFromStringKnownToSatisfyTypeContract=function(a,b){goog.asserts.assertString(goog.string.Const.unwrap(a),"must provide justification");goog.asserts.assert(!goog.string.isEmptyOrWhitespace(goog.string.Const.unwrap(a)),"must provide non-empty justification");return goog.html.SafeStyle.createSafeStyleSecurityPrivateDoNotAccessOrElse(b)};
goog.html.uncheckedconversions.safeStyleSheetFromStringKnownToSatisfyTypeContract=function(a,b){goog.asserts.assertString(goog.string.Const.unwrap(a),"must provide justification");goog.asserts.assert(!goog.string.isEmptyOrWhitespace(goog.string.Const.unwrap(a)),"must provide non-empty justification");return goog.html.SafeStyleSheet.createSafeStyleSheetSecurityPrivateDoNotAccessOrElse(b)};
goog.html.uncheckedconversions.safeUrlFromStringKnownToSatisfyTypeContract=function(a,b){goog.asserts.assertString(goog.string.Const.unwrap(a),"must provide justification");goog.asserts.assert(!goog.string.isEmptyOrWhitespace(goog.string.Const.unwrap(a)),"must provide non-empty justification");return goog.html.SafeUrl.createSafeUrlSecurityPrivateDoNotAccessOrElse(b)};
goog.html.uncheckedconversions.trustedResourceUrlFromStringKnownToSatisfyTypeContract=function(a,b){goog.asserts.assertString(goog.string.Const.unwrap(a),"must provide justification");goog.asserts.assert(!goog.string.isEmptyOrWhitespace(goog.string.Const.unwrap(a)),"must provide non-empty justification");return goog.html.TrustedResourceUrl.createTrustedResourceUrlSecurityPrivateDoNotAccessOrElse(b)};goog.math.Coordinate=function(a,b){this.x=goog.isDef(a)?a:0;this.y=goog.isDef(b)?b:0};goog.math.Coordinate.prototype.clone=function(){return new goog.math.Coordinate(this.x,this.y)};goog.DEBUG&&(goog.math.Coordinate.prototype.toString=function(){return"("+this.x+", "+this.y+")"});goog.math.Coordinate.prototype.equals=function(a){return a instanceof goog.math.Coordinate&&goog.math.Coordinate.equals(this,a)};goog.math.Coordinate.equals=function(a,b){return a==b?!0:a&&b?a.x==b.x&&a.y==b.y:!1};
goog.math.Coordinate.distance=function(a,b){var c=a.x-b.x;a=a.y-b.y;return Math.sqrt(c*c+a*a)};goog.math.Coordinate.magnitude=function(a){return Math.sqrt(a.x*a.x+a.y*a.y)};goog.math.Coordinate.azimuth=function(a){return goog.math.angle(0,0,a.x,a.y)};goog.math.Coordinate.squaredDistance=function(a,b){var c=a.x-b.x;a=a.y-b.y;return c*c+a*a};goog.math.Coordinate.difference=function(a,b){return new goog.math.Coordinate(a.x-b.x,a.y-b.y)};
goog.math.Coordinate.sum=function(a,b){return new goog.math.Coordinate(a.x+b.x,a.y+b.y)};goog.math.Coordinate.prototype.ceil=function(){this.x=Math.ceil(this.x);this.y=Math.ceil(this.y);return this};goog.math.Coordinate.prototype.floor=function(){this.x=Math.floor(this.x);this.y=Math.floor(this.y);return this};goog.math.Coordinate.prototype.round=function(){this.x=Math.round(this.x);this.y=Math.round(this.y);return this};
goog.math.Coordinate.prototype.translate=function(a,b){a instanceof goog.math.Coordinate?(this.x+=a.x,this.y+=a.y):(this.x+=Number(a),goog.isNumber(b)&&(this.y+=b));return this};goog.math.Coordinate.prototype.scale=function(a,b){b=goog.isNumber(b)?b:a;this.x*=a;this.y*=b;return this};goog.math.Coordinate.prototype.rotateRadians=function(a,b){b=b||new goog.math.Coordinate(0,0);var c=this.x,d=this.y,e=Math.cos(a);a=Math.sin(a);this.x=(c-b.x)*e-(d-b.y)*a+b.x;this.y=(c-b.x)*a+(d-b.y)*e+b.y};
goog.math.Coordinate.prototype.rotateDegrees=function(a,b){this.rotateRadians(goog.math.toRadians(a),b)};goog.math.Size=function(a,b){this.width=a;this.height=b};goog.math.Size.equals=function(a,b){return a==b?!0:a&&b?a.width==b.width&&a.height==b.height:!1};goog.math.Size.prototype.clone=function(){return new goog.math.Size(this.width,this.height)};goog.DEBUG&&(goog.math.Size.prototype.toString=function(){return"("+this.width+" x "+this.height+")"});goog.math.Size.prototype.getLongest=function(){return Math.max(this.width,this.height)};
goog.math.Size.prototype.getShortest=function(){return Math.min(this.width,this.height)};goog.math.Size.prototype.area=function(){return this.width*this.height};goog.math.Size.prototype.perimeter=function(){return 2*(this.width+this.height)};goog.math.Size.prototype.aspectRatio=function(){return this.width/this.height};goog.math.Size.prototype.isEmpty=function(){return!this.area()};goog.math.Size.prototype.ceil=function(){this.width=Math.ceil(this.width);this.height=Math.ceil(this.height);return this};
goog.math.Size.prototype.fitsInside=function(a){return this.width<=a.width&&this.height<=a.height};goog.math.Size.prototype.floor=function(){this.width=Math.floor(this.width);this.height=Math.floor(this.height);return this};goog.math.Size.prototype.round=function(){this.width=Math.round(this.width);this.height=Math.round(this.height);return this};goog.math.Size.prototype.scale=function(a,b){b=goog.isNumber(b)?b:a;this.width*=a;this.height*=b;return this};
goog.math.Size.prototype.scaleToCover=function(a){a=this.aspectRatio()<=a.aspectRatio()?a.width/this.width:a.height/this.height;return this.scale(a)};goog.math.Size.prototype.scaleToFit=function(a){a=this.aspectRatio()>a.aspectRatio()?a.width/this.width:a.height/this.height;return this.scale(a)};goog.dom.ASSUME_QUIRKS_MODE=!1;goog.dom.ASSUME_STANDARDS_MODE=!1;goog.dom.COMPAT_MODE_KNOWN_=goog.dom.ASSUME_QUIRKS_MODE||goog.dom.ASSUME_STANDARDS_MODE;goog.dom.getDomHelper=function(a){return a?new goog.dom.DomHelper(goog.dom.getOwnerDocument(a)):goog.dom.defaultDomHelper_||(goog.dom.defaultDomHelper_=new goog.dom.DomHelper)};goog.dom.getDocument=function(){return document};goog.dom.getElement=function(a){return goog.dom.getElementHelper_(document,a)};
goog.dom.getElementHelper_=function(a,b){return goog.isString(b)?a.getElementById(b):b};goog.dom.getRequiredElement=function(a){return goog.dom.getRequiredElementHelper_(document,a)};goog.dom.getRequiredElementHelper_=function(a,b){goog.asserts.assertString(b);a=goog.dom.getElementHelper_(a,b);return a=goog.asserts.assertElement(a,"No element found with id: "+b)};goog.dom.$=goog.dom.getElement;goog.dom.getElementsByTagName=function(a,b){return(b||document).getElementsByTagName(String(a))};
goog.dom.getElementsByTagNameAndClass=function(a,b,c){return goog.dom.getElementsByTagNameAndClass_(document,a,b,c)};goog.dom.getElementByTagNameAndClass=function(a,b,c){return goog.dom.getElementByTagNameAndClass_(document,a,b,c)};goog.dom.getElementsByClass=function(a,b){var c=b||document;return goog.dom.canUseQuerySelector_(c)?c.querySelectorAll("."+a):goog.dom.getElementsByTagNameAndClass_(document,"*",a,b)};
goog.dom.getElementByClass=function(a,b){var c=b||document;return(c.getElementsByClassName?c.getElementsByClassName(a)[0]:goog.dom.getElementByTagNameAndClass_(document,"*",a,b))||null};goog.dom.getRequiredElementByClass=function(a,b){b=goog.dom.getElementByClass(a,b);return goog.asserts.assert(b,"No element found with className: "+a)};goog.dom.canUseQuerySelector_=function(a){return!(!a.querySelectorAll||!a.querySelector)};
goog.dom.getElementsByTagNameAndClass_=function(a,b,c,d){a=d||a;b=b&&"*"!=b?String(b).toUpperCase():"";if(goog.dom.canUseQuerySelector_(a)&&(b||c))return a.querySelectorAll(b+(c?"."+c:""));if(c&&a.getElementsByClassName){a=a.getElementsByClassName(c);if(b){d={};for(var e=0,f=0,g;g=a[f];f++)b==g.nodeName&&(d[e++]=g);d.length=e;return d}return a}a=a.getElementsByTagName(b||"*");if(c){d={};for(f=e=0;g=a[f];f++)b=g.className,"function"==typeof b.split&&goog.array.contains(b.split(/\s+/),c)&&(d[e++]=g);
d.length=e;return d}return a};goog.dom.getElementByTagNameAndClass_=function(a,b,c,d){var e=d||a,f=b&&"*"!=b?String(b).toUpperCase():"";return goog.dom.canUseQuerySelector_(e)&&(f||c)?e.querySelector(f+(c?"."+c:"")):goog.dom.getElementsByTagNameAndClass_(a,b,c,d)[0]||null};goog.dom.$$=goog.dom.getElementsByTagNameAndClass;
goog.dom.setProperties=function(a,b){goog.object.forEach(b,function(b,d){b&&b.implementsGoogStringTypedString&&(b=b.getTypedStringValue());"style"==d?a.style.cssText=b:"class"==d?a.className=b:"for"==d?a.htmlFor=b:goog.dom.DIRECT_ATTRIBUTE_MAP_.hasOwnProperty(d)?a.setAttribute(goog.dom.DIRECT_ATTRIBUTE_MAP_[d],b):goog.string.startsWith(d,"aria-")||goog.string.startsWith(d,"data-")?a.setAttribute(d,b):a[d]=b})};
goog.dom.DIRECT_ATTRIBUTE_MAP_={cellpadding:"cellPadding",cellspacing:"cellSpacing",colspan:"colSpan",frameborder:"frameBorder",height:"height",maxlength:"maxLength",nonce:"nonce",role:"role",rowspan:"rowSpan",type:"type",usemap:"useMap",valign:"vAlign",width:"width"};goog.dom.getViewportSize=function(a){return goog.dom.getViewportSize_(a||window)};goog.dom.getViewportSize_=function(a){a=a.document;a=goog.dom.isCss1CompatMode_(a)?a.documentElement:a.body;return new goog.math.Size(a.clientWidth,a.clientHeight)};
goog.dom.getDocumentHeight=function(){return goog.dom.getDocumentHeight_(window)};goog.dom.getDocumentHeightForWindow=function(a){return goog.dom.getDocumentHeight_(a)};
goog.dom.getDocumentHeight_=function(a){var b=a.document,c=0;if(b){c=b.body;var d=b.documentElement;if(!d||!c)return 0;a=goog.dom.getViewportSize_(a).height;if(goog.dom.isCss1CompatMode_(b)&&d.scrollHeight)c=d.scrollHeight!=a?d.scrollHeight:d.offsetHeight;else{b=d.scrollHeight;var e=d.offsetHeight;d.clientHeight!=e&&(b=c.scrollHeight,e=c.offsetHeight);c=b>a?b>e?b:e:b<e?b:e}}return c};goog.dom.getPageScroll=function(a){return goog.dom.getDomHelper((a||goog.global||window).document).getDocumentScroll()};
goog.dom.getDocumentScroll=function(){return goog.dom.getDocumentScroll_(document)};goog.dom.getDocumentScroll_=function(a){var b=goog.dom.getDocumentScrollElement_(a);a=goog.dom.getWindow_(a);return goog.userAgent.IE&&goog.userAgent.isVersionOrHigher("10")&&a.pageYOffset!=b.scrollTop?new goog.math.Coordinate(b.scrollLeft,b.scrollTop):new goog.math.Coordinate(a.pageXOffset||b.scrollLeft,a.pageYOffset||b.scrollTop)};goog.dom.getDocumentScrollElement=function(){return goog.dom.getDocumentScrollElement_(document)};
goog.dom.getDocumentScrollElement_=function(a){return a.scrollingElement?a.scrollingElement:!goog.userAgent.WEBKIT&&goog.dom.isCss1CompatMode_(a)?a.documentElement:a.body||a.documentElement};goog.dom.getWindow=function(a){return a?goog.dom.getWindow_(a):window};goog.dom.getWindow_=function(a){return a.parentWindow||a.defaultView};goog.dom.createDom=function(a,b,c){return goog.dom.createDom_(document,arguments)};
goog.dom.createDom_=function(a,b){var c=String(b[0]),d=b[1];if(!goog.dom.BrowserFeature.CAN_ADD_NAME_OR_TYPE_ATTRIBUTES&&d&&(d.name||d.type)){c=["\x3c",c];d.name&&c.push(' name\x3d"',goog.string.htmlEscape(d.name),'"');if(d.type){c.push(' type\x3d"',goog.string.htmlEscape(d.type),'"');var e={};goog.object.extend(e,d);delete e.type;d=e}c.push("\x3e");c=c.join("")}c=a.createElement(c);d&&(goog.isString(d)?c.className=d:goog.isArray(d)?c.className=d.join(" "):goog.dom.setProperties(c,d));2<b.length&&
goog.dom.append_(a,c,b,2);return c};goog.dom.append_=function(a,b,c,d){function e(c){c&&b.appendChild(goog.isString(c)?a.createTextNode(c):c)}for(;d<c.length;d++){var f=c[d];goog.isArrayLike(f)&&!goog.dom.isNodeLike(f)?goog.array.forEach(goog.dom.isNodeList(f)?goog.array.toArray(f):f,e):e(f)}};goog.dom.$dom=goog.dom.createDom;goog.dom.createElement=function(a){return goog.dom.createElement_(document,a)};goog.dom.createElement_=function(a,b){return a.createElement(String(b))};
goog.dom.createTextNode=function(a){return document.createTextNode(String(a))};goog.dom.createTable=function(a,b,c){return goog.dom.createTable_(document,a,b,!!c)};goog.dom.createTable_=function(a,b,c,d){for(var e=goog.dom.createElement_(a,"TABLE"),f=e.appendChild(goog.dom.createElement_(a,"TBODY")),g=0;g<b;g++){for(var h=goog.dom.createElement_(a,"TR"),k=0;k<c;k++){var l=goog.dom.createElement_(a,"TD");d&&goog.dom.setTextContent(l,goog.string.Unicode.NBSP);h.appendChild(l)}f.appendChild(h)}return e};
goog.dom.constHtmlToNode=function(a){var b=goog.array.map(arguments,goog.string.Const.unwrap);b=goog.html.uncheckedconversions.safeHtmlFromStringKnownToSatisfyTypeContract(goog.string.Const.from("Constant HTML string, that gets turned into a Node later, so it will be automatically balanced."),b.join(""));return goog.dom.safeHtmlToNode(b)};goog.dom.safeHtmlToNode=function(a){return goog.dom.safeHtmlToNode_(document,a)};
goog.dom.safeHtmlToNode_=function(a,b){var c=goog.dom.createElement_(a,"DIV");goog.dom.BrowserFeature.INNER_HTML_NEEDS_SCOPED_ELEMENT?(goog.dom.safe.setInnerHtml(c,goog.html.SafeHtml.concat(goog.html.SafeHtml.BR,b)),c.removeChild(c.firstChild)):goog.dom.safe.setInnerHtml(c,b);return goog.dom.childrenToNode_(a,c)};goog.dom.childrenToNode_=function(a,b){if(1==b.childNodes.length)return b.removeChild(b.firstChild);for(a=a.createDocumentFragment();b.firstChild;)a.appendChild(b.firstChild);return a};
goog.dom.isCss1CompatMode=function(){return goog.dom.isCss1CompatMode_(document)};goog.dom.isCss1CompatMode_=function(a){return goog.dom.COMPAT_MODE_KNOWN_?goog.dom.ASSUME_STANDARDS_MODE:"CSS1Compat"==a.compatMode};goog.dom.canHaveChildren=function(a){if(a.nodeType!=goog.dom.NodeType.ELEMENT)return!1;switch(a.tagName){case "APPLET":case "AREA":case "BASE":case "BR":case "COL":case "COMMAND":case "EMBED":case "FRAME":case "HR":case "IMG":case "INPUT":case "IFRAME":case "ISINDEX":case "KEYGEN":case "LINK":case "NOFRAMES":case "NOSCRIPT":case "META":case "OBJECT":case "PARAM":case "SCRIPT":case "SOURCE":case "STYLE":case "TRACK":case "WBR":return!1}return!0};
goog.dom.appendChild=function(a,b){a.appendChild(b)};goog.dom.append=function(a,b){goog.dom.append_(goog.dom.getOwnerDocument(a),a,arguments,1)};goog.dom.removeChildren=function(a){for(var b;b=a.firstChild;)a.removeChild(b)};goog.dom.insertSiblingBefore=function(a,b){b.parentNode&&b.parentNode.insertBefore(a,b)};goog.dom.insertSiblingAfter=function(a,b){b.parentNode&&b.parentNode.insertBefore(a,b.nextSibling)};goog.dom.insertChildAt=function(a,b,c){a.insertBefore(b,a.childNodes[c]||null)};
goog.dom.removeNode=function(a){return a&&a.parentNode?a.parentNode.removeChild(a):null};goog.dom.replaceNode=function(a,b){var c=b.parentNode;c&&c.replaceChild(a,b)};goog.dom.flattenElement=function(a){var b,c=a.parentNode;if(c&&c.nodeType!=goog.dom.NodeType.DOCUMENT_FRAGMENT){if(a.removeNode)return a.removeNode(!1);for(;b=a.firstChild;)c.insertBefore(b,a);return goog.dom.removeNode(a)}};
goog.dom.getChildren=function(a){return goog.dom.BrowserFeature.CAN_USE_CHILDREN_ATTRIBUTE&&void 0!=a.children?a.children:goog.array.filter(a.childNodes,function(a){return a.nodeType==goog.dom.NodeType.ELEMENT})};goog.dom.getFirstElementChild=function(a){return goog.isDef(a.firstElementChild)?a.firstElementChild:goog.dom.getNextElementNode_(a.firstChild,!0)};goog.dom.getLastElementChild=function(a){return goog.isDef(a.lastElementChild)?a.lastElementChild:goog.dom.getNextElementNode_(a.lastChild,!1)};
goog.dom.getNextElementSibling=function(a){return goog.isDef(a.nextElementSibling)?a.nextElementSibling:goog.dom.getNextElementNode_(a.nextSibling,!0)};goog.dom.getPreviousElementSibling=function(a){return goog.isDef(a.previousElementSibling)?a.previousElementSibling:goog.dom.getNextElementNode_(a.previousSibling,!1)};goog.dom.getNextElementNode_=function(a,b){for(;a&&a.nodeType!=goog.dom.NodeType.ELEMENT;)a=b?a.nextSibling:a.previousSibling;return a};
goog.dom.getNextNode=function(a){if(!a)return null;if(a.firstChild)return a.firstChild;for(;a&&!a.nextSibling;)a=a.parentNode;return a?a.nextSibling:null};goog.dom.getPreviousNode=function(a){if(!a)return null;if(!a.previousSibling)return a.parentNode;for(a=a.previousSibling;a&&a.lastChild;)a=a.lastChild;return a};goog.dom.isNodeLike=function(a){return goog.isObject(a)&&0<a.nodeType};goog.dom.isElement=function(a){return goog.isObject(a)&&a.nodeType==goog.dom.NodeType.ELEMENT};
goog.dom.isWindow=function(a){return goog.isObject(a)&&a.window==a};goog.dom.getParentElement=function(a){var b;if(goog.dom.BrowserFeature.CAN_USE_PARENT_ELEMENT_PROPERTY&&!(goog.userAgent.IE&&goog.userAgent.isVersionOrHigher("9")&&!goog.userAgent.isVersionOrHigher("10")&&goog.global.SVGElement&&a instanceof goog.global.SVGElement)&&(b=a.parentElement))return b;b=a.parentNode;return goog.dom.isElement(b)?b:null};
goog.dom.contains=function(a,b){if(!a||!b)return!1;if(a.contains&&b.nodeType==goog.dom.NodeType.ELEMENT)return a==b||a.contains(b);if("undefined"!=typeof a.compareDocumentPosition)return a==b||!!(a.compareDocumentPosition(b)&16);for(;b&&a!=b;)b=b.parentNode;return b==a};
goog.dom.compareNodeOrder=function(a,b){if(a==b)return 0;if(a.compareDocumentPosition)return a.compareDocumentPosition(b)&2?1:-1;if(goog.userAgent.IE&&!goog.userAgent.isDocumentModeOrHigher(9)){if(a.nodeType==goog.dom.NodeType.DOCUMENT)return-1;if(b.nodeType==goog.dom.NodeType.DOCUMENT)return 1}if("sourceIndex"in a||a.parentNode&&"sourceIndex"in a.parentNode){var c=a.nodeType==goog.dom.NodeType.ELEMENT,d=b.nodeType==goog.dom.NodeType.ELEMENT;if(c&&d)return a.sourceIndex-b.sourceIndex;var e=a.parentNode,
f=b.parentNode;return e==f?goog.dom.compareSiblingOrder_(a,b):!c&&goog.dom.contains(e,b)?-1*goog.dom.compareParentsDescendantNodeIe_(a,b):!d&&goog.dom.contains(f,a)?goog.dom.compareParentsDescendantNodeIe_(b,a):(c?a.sourceIndex:e.sourceIndex)-(d?b.sourceIndex:f.sourceIndex)}d=goog.dom.getOwnerDocument(a);c=d.createRange();c.selectNode(a);c.collapse(!0);a=d.createRange();a.selectNode(b);a.collapse(!0);return c.compareBoundaryPoints(goog.global.Range.START_TO_END,a)};
goog.dom.compareParentsDescendantNodeIe_=function(a,b){var c=a.parentNode;if(c==b)return-1;for(;b.parentNode!=c;)b=b.parentNode;return goog.dom.compareSiblingOrder_(b,a)};goog.dom.compareSiblingOrder_=function(a,b){for(;b=b.previousSibling;)if(b==a)return-1;return 1};
goog.dom.findCommonAncestor=function(a){var b,c=arguments.length;if(!c)return null;if(1==c)return arguments[0];var d=[],e=Infinity;for(b=0;b<c;b++){for(var f=[],g=arguments[b];g;)f.unshift(g),g=g.parentNode;d.push(f);e=Math.min(e,f.length)}f=null;for(b=0;b<e;b++){g=d[0][b];for(var h=1;h<c;h++)if(g!=d[h][b])return f;f=g}return f};goog.dom.getOwnerDocument=function(a){goog.asserts.assert(a,"Node cannot be null or undefined.");return a.nodeType==goog.dom.NodeType.DOCUMENT?a:a.ownerDocument||a.document};
goog.dom.getFrameContentDocument=function(a){return a.contentDocument||a.contentWindow.document};goog.dom.getFrameContentWindow=function(a){try{return a.contentWindow||(a.contentDocument?goog.dom.getWindow(a.contentDocument):null)}catch(b){}return null};
goog.dom.setTextContent=function(a,b){goog.asserts.assert(null!=a,"goog.dom.setTextContent expects a non-null value for node");if("textContent"in a)a.textContent=b;else if(a.nodeType==goog.dom.NodeType.TEXT)a.data=String(b);else if(a.firstChild&&a.firstChild.nodeType==goog.dom.NodeType.TEXT){for(;a.lastChild!=a.firstChild;)a.removeChild(a.lastChild);a.firstChild.data=String(b)}else{goog.dom.removeChildren(a);var c=goog.dom.getOwnerDocument(a);a.appendChild(c.createTextNode(String(b)))}};
goog.dom.getOuterHtml=function(a){goog.asserts.assert(null!==a,"goog.dom.getOuterHtml expects a non-null value for element");if("outerHTML"in a)return a.outerHTML;var b=goog.dom.getOwnerDocument(a);b=goog.dom.createElement_(b,"DIV");b.appendChild(a.cloneNode(!0));return b.innerHTML};goog.dom.findNode=function(a,b){var c=[];return goog.dom.findNodes_(a,b,c,!0)?c[0]:void 0};goog.dom.findNodes=function(a,b){var c=[];goog.dom.findNodes_(a,b,c,!1);return c};
goog.dom.findNodes_=function(a,b,c,d){if(null!=a)for(a=a.firstChild;a;){if(b(a)&&(c.push(a),d)||goog.dom.findNodes_(a,b,c,d))return!0;a=a.nextSibling}return!1};goog.dom.TAGS_TO_IGNORE_={SCRIPT:1,STYLE:1,HEAD:1,IFRAME:1,OBJECT:1};goog.dom.PREDEFINED_TAG_VALUES_={IMG:" ",BR:"\n"};goog.dom.isFocusableTabIndex=function(a){return goog.dom.hasSpecifiedTabIndex_(a)&&goog.dom.isTabIndexFocusable_(a)};goog.dom.setFocusableTabIndex=function(a,b){b?a.tabIndex=0:(a.tabIndex=-1,a.removeAttribute("tabIndex"))};
goog.dom.isFocusable=function(a){var b;return(b=goog.dom.nativelySupportsFocus_(a)?!a.disabled&&(!goog.dom.hasSpecifiedTabIndex_(a)||goog.dom.isTabIndexFocusable_(a)):goog.dom.isFocusableTabIndex(a))&&goog.userAgent.IE?goog.dom.hasNonZeroBoundingRect_(a):b};goog.dom.hasSpecifiedTabIndex_=function(a){return goog.userAgent.IE&&!goog.userAgent.isVersionOrHigher("9")?(a=a.getAttributeNode("tabindex"),goog.isDefAndNotNull(a)&&a.specified):a.hasAttribute("tabindex")};
goog.dom.isTabIndexFocusable_=function(a){a=a.tabIndex;return goog.isNumber(a)&&0<=a&&32768>a};goog.dom.nativelySupportsFocus_=function(a){return"A"==a.tagName||"INPUT"==a.tagName||"TEXTAREA"==a.tagName||"SELECT"==a.tagName||"BUTTON"==a.tagName};goog.dom.hasNonZeroBoundingRect_=function(a){a=!goog.isFunction(a.getBoundingClientRect)||goog.userAgent.IE&&null==a.parentElement?{height:a.offsetHeight,width:a.offsetWidth}:a.getBoundingClientRect();return goog.isDefAndNotNull(a)&&0<a.height&&0<a.width};
goog.dom.getTextContent=function(a){if(goog.dom.BrowserFeature.CAN_USE_INNER_TEXT&&null!==a&&"innerText"in a)a=goog.string.canonicalizeNewlines(a.innerText);else{var b=[];goog.dom.getTextContent_(a,b,!0);a=b.join("")}a=a.replace(/ \xAD /g," ").replace(/\xAD/g,"");a=a.replace(/\u200B/g,"");goog.dom.BrowserFeature.CAN_USE_INNER_TEXT||(a=a.replace(/ +/g," "));" "!=a&&(a=a.replace(/^\s*/,""));return a};goog.dom.getRawTextContent=function(a){var b=[];goog.dom.getTextContent_(a,b,!1);return b.join("")};
goog.dom.getTextContent_=function(a,b,c){if(!(a.nodeName in goog.dom.TAGS_TO_IGNORE_))if(a.nodeType==goog.dom.NodeType.TEXT)c?b.push(String(a.nodeValue).replace(/(\r\n|\r|\n)/g,"")):b.push(a.nodeValue);else if(a.nodeName in goog.dom.PREDEFINED_TAG_VALUES_)b.push(goog.dom.PREDEFINED_TAG_VALUES_[a.nodeName]);else for(a=a.firstChild;a;)goog.dom.getTextContent_(a,b,c),a=a.nextSibling};goog.dom.getNodeTextLength=function(a){return goog.dom.getTextContent(a).length};
goog.dom.getNodeTextOffset=function(a,b){b=b||goog.dom.getOwnerDocument(a).body;for(var c=[];a&&a!=b;){for(var d=a;d=d.previousSibling;)c.unshift(goog.dom.getTextContent(d));a=a.parentNode}return goog.string.trimLeft(c.join("")).replace(/ +/g," ").length};
goog.dom.getNodeAtOffset=function(a,b,c){a=[a];for(var d=0,e=null;0<a.length&&d<b;)if(e=a.pop(),!(e.nodeName in goog.dom.TAGS_TO_IGNORE_))if(e.nodeType==goog.dom.NodeType.TEXT){var f=e.nodeValue.replace(/(\r\n|\r|\n)/g,"").replace(/ +/g," ");d+=f.length}else if(e.nodeName in goog.dom.PREDEFINED_TAG_VALUES_)d+=goog.dom.PREDEFINED_TAG_VALUES_[e.nodeName].length;else for(f=e.childNodes.length-1;0<=f;f--)a.push(e.childNodes[f]);goog.isObject(c)&&(c.remainder=e?e.nodeValue.length+b-d-1:0,c.node=e);return e};
goog.dom.isNodeList=function(a){if(a&&"number"==typeof a.length){if(goog.isObject(a))return"function"==typeof a.item||"string"==typeof a.item;if(goog.isFunction(a))return"function"==typeof a.item}return!1};goog.dom.getAncestorByTagNameAndClass=function(a,b,c,d){if(!b&&!c)return null;var e=b?String(b).toUpperCase():null;return goog.dom.getAncestor(a,function(a){return(!e||a.nodeName==e)&&(!c||goog.isString(a.className)&&goog.array.contains(a.className.split(/\s+/),c))},!0,d)};
goog.dom.getAncestorByClass=function(a,b,c){return goog.dom.getAncestorByTagNameAndClass(a,null,b,c)};goog.dom.getAncestor=function(a,b,c,d){a&&!c&&(a=a.parentNode);for(c=0;a&&(null==d||c<=d);){goog.asserts.assert("parentNode"!=a.name);if(b(a))return a;a=a.parentNode;c++}return null};goog.dom.getActiveElement=function(a){try{return a&&a.activeElement}catch(b){}return null};
goog.dom.getPixelRatio=function(){var a=goog.dom.getWindow();return goog.isDef(a.devicePixelRatio)?a.devicePixelRatio:a.matchMedia?goog.dom.matchesPixelRatio_(3)||goog.dom.matchesPixelRatio_(2)||goog.dom.matchesPixelRatio_(1.5)||goog.dom.matchesPixelRatio_(1)||.75:1};goog.dom.matchesPixelRatio_=function(a){return goog.dom.getWindow().matchMedia("(min-resolution: "+a+"dppx),(min--moz-device-pixel-ratio: "+a+"),(min-resolution: "+96*a+"dpi)").matches?a:0};goog.dom.getCanvasContext2D=function(a){return a.getContext("2d")};
goog.dom.DomHelper=function(a){this.document_=a||goog.global.document||document};goog.dom.DomHelper.prototype.getDomHelper=goog.dom.getDomHelper;goog.dom.DomHelper.prototype.setDocument=function(a){this.document_=a};goog.dom.DomHelper.prototype.getDocument=function(){return this.document_};goog.dom.DomHelper.prototype.getElement=function(a){return goog.dom.getElementHelper_(this.document_,a)};
goog.dom.DomHelper.prototype.getRequiredElement=function(a){return goog.dom.getRequiredElementHelper_(this.document_,a)};goog.dom.DomHelper.prototype.$=goog.dom.DomHelper.prototype.getElement;goog.dom.DomHelper.prototype.getElementsByTagName=function(a,b){return(b||this.document_).getElementsByTagName(String(a))};goog.dom.DomHelper.prototype.getElementsByTagNameAndClass=function(a,b,c){return goog.dom.getElementsByTagNameAndClass_(this.document_,a,b,c)};
goog.dom.DomHelper.prototype.getElementByTagNameAndClass=function(a,b,c){return goog.dom.getElementByTagNameAndClass_(this.document_,a,b,c)};goog.dom.DomHelper.prototype.getElementsByClass=function(a,b){return goog.dom.getElementsByClass(a,b||this.document_)};goog.dom.DomHelper.prototype.getElementByClass=function(a,b){return goog.dom.getElementByClass(a,b||this.document_)};goog.dom.DomHelper.prototype.getRequiredElementByClass=function(a,b){return goog.dom.getRequiredElementByClass(a,b||this.document_)};
goog.dom.DomHelper.prototype.$$=goog.dom.DomHelper.prototype.getElementsByTagNameAndClass;goog.dom.DomHelper.prototype.setProperties=goog.dom.setProperties;goog.dom.DomHelper.prototype.getViewportSize=function(a){return goog.dom.getViewportSize(a||this.getWindow())};goog.dom.DomHelper.prototype.getDocumentHeight=function(){return goog.dom.getDocumentHeight_(this.getWindow())};goog.dom.DomHelper.prototype.createDom=function(a,b,c){return goog.dom.createDom_(this.document_,arguments)};
goog.dom.DomHelper.prototype.$dom=goog.dom.DomHelper.prototype.createDom;goog.dom.DomHelper.prototype.createElement=function(a){return goog.dom.createElement_(this.document_,a)};goog.dom.DomHelper.prototype.createTextNode=function(a){return this.document_.createTextNode(String(a))};goog.dom.DomHelper.prototype.createTable=function(a,b,c){return goog.dom.createTable_(this.document_,a,b,!!c)};goog.dom.DomHelper.prototype.safeHtmlToNode=function(a){return goog.dom.safeHtmlToNode_(this.document_,a)};
goog.dom.DomHelper.prototype.isCss1CompatMode=function(){return goog.dom.isCss1CompatMode_(this.document_)};goog.dom.DomHelper.prototype.getWindow=function(){return goog.dom.getWindow_(this.document_)};goog.dom.DomHelper.prototype.getDocumentScrollElement=function(){return goog.dom.getDocumentScrollElement_(this.document_)};goog.dom.DomHelper.prototype.getDocumentScroll=function(){return goog.dom.getDocumentScroll_(this.document_)};
goog.dom.DomHelper.prototype.getActiveElement=function(a){return goog.dom.getActiveElement(a||this.document_)};goog.dom.DomHelper.prototype.appendChild=goog.dom.appendChild;goog.dom.DomHelper.prototype.append=goog.dom.append;goog.dom.DomHelper.prototype.canHaveChildren=goog.dom.canHaveChildren;goog.dom.DomHelper.prototype.removeChildren=goog.dom.removeChildren;goog.dom.DomHelper.prototype.insertSiblingBefore=goog.dom.insertSiblingBefore;goog.dom.DomHelper.prototype.insertSiblingAfter=goog.dom.insertSiblingAfter;
goog.dom.DomHelper.prototype.insertChildAt=goog.dom.insertChildAt;goog.dom.DomHelper.prototype.removeNode=goog.dom.removeNode;goog.dom.DomHelper.prototype.replaceNode=goog.dom.replaceNode;goog.dom.DomHelper.prototype.flattenElement=goog.dom.flattenElement;goog.dom.DomHelper.prototype.getChildren=goog.dom.getChildren;goog.dom.DomHelper.prototype.getFirstElementChild=goog.dom.getFirstElementChild;goog.dom.DomHelper.prototype.getLastElementChild=goog.dom.getLastElementChild;
goog.dom.DomHelper.prototype.getNextElementSibling=goog.dom.getNextElementSibling;goog.dom.DomHelper.prototype.getPreviousElementSibling=goog.dom.getPreviousElementSibling;goog.dom.DomHelper.prototype.getNextNode=goog.dom.getNextNode;goog.dom.DomHelper.prototype.getPreviousNode=goog.dom.getPreviousNode;goog.dom.DomHelper.prototype.isNodeLike=goog.dom.isNodeLike;goog.dom.DomHelper.prototype.isElement=goog.dom.isElement;goog.dom.DomHelper.prototype.isWindow=goog.dom.isWindow;
goog.dom.DomHelper.prototype.getParentElement=goog.dom.getParentElement;goog.dom.DomHelper.prototype.contains=goog.dom.contains;goog.dom.DomHelper.prototype.compareNodeOrder=goog.dom.compareNodeOrder;goog.dom.DomHelper.prototype.findCommonAncestor=goog.dom.findCommonAncestor;goog.dom.DomHelper.prototype.getOwnerDocument=goog.dom.getOwnerDocument;goog.dom.DomHelper.prototype.getFrameContentDocument=goog.dom.getFrameContentDocument;goog.dom.DomHelper.prototype.getFrameContentWindow=goog.dom.getFrameContentWindow;
goog.dom.DomHelper.prototype.setTextContent=goog.dom.setTextContent;goog.dom.DomHelper.prototype.getOuterHtml=goog.dom.getOuterHtml;goog.dom.DomHelper.prototype.findNode=goog.dom.findNode;goog.dom.DomHelper.prototype.findNodes=goog.dom.findNodes;goog.dom.DomHelper.prototype.isFocusableTabIndex=goog.dom.isFocusableTabIndex;goog.dom.DomHelper.prototype.setFocusableTabIndex=goog.dom.setFocusableTabIndex;goog.dom.DomHelper.prototype.isFocusable=goog.dom.isFocusable;
goog.dom.DomHelper.prototype.getTextContent=goog.dom.getTextContent;goog.dom.DomHelper.prototype.getNodeTextLength=goog.dom.getNodeTextLength;goog.dom.DomHelper.prototype.getNodeTextOffset=goog.dom.getNodeTextOffset;goog.dom.DomHelper.prototype.getNodeAtOffset=goog.dom.getNodeAtOffset;goog.dom.DomHelper.prototype.isNodeList=goog.dom.isNodeList;goog.dom.DomHelper.prototype.getAncestorByTagNameAndClass=goog.dom.getAncestorByTagNameAndClass;goog.dom.DomHelper.prototype.getAncestorByClass=goog.dom.getAncestorByClass;
goog.dom.DomHelper.prototype.getAncestor=goog.dom.getAncestor;goog.dom.DomHelper.prototype.getCanvasContext2D=goog.dom.getCanvasContext2D;var weathergen={time:{}};
weathergen.time.campaign_time__GT_ms=function(a){var b=null!=a&&(a.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===a.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,a):a;a=cljs.core.get.call(null,b,new cljs.core.Keyword(null,"day","day",-274800446));var c=cljs.core.get.call(null,b,new cljs.core.Keyword(null,"hour","hour",-555989214)),d=cljs.core.get.call(null,b,new cljs.core.Keyword(null,"minute","minute",-642875969)),e=cljs.core.get.call(null,b,new cljs.core.Keyword(null,
"second","second",-444702010));b=cljs.core.get.call(null,b,new cljs.core.Keyword(null,"millisecond","millisecond",-540123566));return 1E3*(60*(60*(24*a+c)+d)+e)+b};
weathergen.time.ms__GT_campaign_time=function(a){var b=cljs.core.long$.call(null,a/24/60/60/1E3),c=cljs.core.long$.call(null,cljs.core.mod.call(null,a,864E5)/60/60/1E3),d=cljs.core.long$.call(null,cljs.core.mod.call(null,a,36E5)/60/1E3),e=cljs.core.long$.call(null,cljs.core.mod.call(null,a,6E4)/1E3);a=cljs.core.mod.call(null,a,1E3);return new cljs.core.PersistentArrayMap(null,5,[new cljs.core.Keyword(null,"day","day",-274800446),b+1,new cljs.core.Keyword(null,"hour","hour",-555989214),c,new cljs.core.Keyword(null,
"minute","minute",-642875969),d,new cljs.core.Keyword(null,"second","second",-444702010),e,new cljs.core.Keyword(null,"millisecond","millisecond",-540123566),a],null)};
weathergen.time.minutes__GT_campaign_time=function(a){var b=Math.floor(a/24/60)|0,c=Math.floor(cljs.core.mod.call(null,a,1440)/60)|0;a=Math.floor(cljs.core.mod.call(null,a,60))|0;return new cljs.core.PersistentArrayMap(null,3,[new cljs.core.Keyword(null,"day","day",-274800446),b+1,new cljs.core.Keyword(null,"hour","hour",-555989214),c,new cljs.core.Keyword(null,"minute","minute",-642875969),a],null)};
weathergen.time.campaign_time__GT_minutes=function(a){var b=null!=a&&(a.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===a.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,a):a;a=cljs.core.get.call(null,b,new cljs.core.Keyword(null,"day","day",-274800446));var c=cljs.core.get.call(null,b,new cljs.core.Keyword(null,"hour","hour",-555989214));b=cljs.core.get.call(null,b,new cljs.core.Keyword(null,"minute","minute",-642875969));return 60*(24*(a-1)+c)+b};
weathergen.time.add_minutes=function(a,b){return weathergen.time.minutes__GT_campaign_time.call(null,weathergen.time.campaign_time__GT_minutes.call(null,a)+b)};
weathergen.time.difference_hms=function(a,b){a=weathergen.time.ms__GT_campaign_time.call(null,weathergen.time.campaign_time__GT_ms.call(null,b)-weathergen.time.campaign_time__GT_ms.call(null,a));a=null!=a&&(a.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===a.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,a):a;b=cljs.core.get.call(null,a,new cljs.core.Keyword(null,"day","day",-274800446));cljs.core.get.call(null,a,new cljs.core.Keyword(null,"hour","hour",-555989214));
return cljs.core.update.call(null,cljs.core.dissoc.call(null,a,new cljs.core.Keyword(null,"day","day",-274800446)),new cljs.core.Keyword(null,"hour","hour",-555989214),cljs.core._PLUS_,24*(b-1))};var tubax={core:{}};tubax.core.new_document=function(){return cljs.core.List.EMPTY};
tubax.core.add_node_document=function(a,b){var c=cljs.core.keyword.call(null,a.name);a=cljs.core.js__GT_clj.call(null,a.attributes,new cljs.core.Keyword(null,"keywordize-keys","keywordize-keys",1310784252),!0);c=new cljs.core.PersistentArrayMap(null,3,[new cljs.core.Keyword(null,"tag","tag",-1290361223),c,new cljs.core.Keyword(null,"attributes","attributes",-74013604),a,new cljs.core.Keyword(null,"content","content",15833224),cljs.core.PersistentVector.EMPTY],null);return cljs.core.conj.call(null,
b,c)};
tubax.core.close_node_document=function(a,b){if(cljs.core.empty_QMARK_.call(null,cljs.core.rest.call(null,b)))return b;a=cljs.core.first.call(null,b);var c=cljs.core.first.call(null,cljs.core.rest.call(null,b)),d=(new cljs.core.Keyword(null,"content","content",15833224)).cljs$core$IFn$_invoke$arity$1(c);a=cljs.core.assoc.call(null,c,new cljs.core.Keyword(null,"content","content",15833224),cljs.core.conj.call(null,d,a));return cljs.core.conj.call(null,cljs.core.rest.call(null,cljs.core.rest.call(null,b)),
a)};tubax.core.add_text=function(a,b){if(cljs.core.empty_QMARK_.call(null,a))return b;var c=cljs.core.first.call(null,b),d=(new cljs.core.Keyword(null,"content","content",15833224)).cljs$core$IFn$_invoke$arity$1(c);a=cljs.core.assoc.call(null,c,new cljs.core.Keyword(null,"content","content",15833224),cljs.core.conj.call(null,d,a));return cljs.core.conj.call(null,cljs.core.rest.call(null,b),a)};tubax.core.format_document=function(a){return cljs.core.first.call(null,a)};
tubax.core.xml__GT_clj=function(a){switch(arguments.length){case 1:return tubax.core.xml__GT_clj.cljs$core$IFn$_invoke$arity$1(arguments[0]);case 2:return tubax.core.xml__GT_clj.cljs$core$IFn$_invoke$arity$2(arguments[0],arguments[1]);default:throw Error(["Invalid arity: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(""));}};tubax.core.xml__GT_clj.cljs$core$IFn$_invoke$arity$1=function(a){return tubax.core.xml__GT_clj.call(null,a,cljs.core.PersistentArrayMap.EMPTY)};
tubax.core.xml__GT_clj.cljs$core$IFn$_invoke$arity$2=function(a,b){var c=null!=b&&(b.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===b.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,b):b,d=cljs.core.get.call(null,c,new cljs.core.Keyword(null,"strict","strict",-665564191),!0),e=cljs.core.get.call(null,c,new cljs.core.Keyword(null,"trim","trim",774319767),!0),f=cljs.core.get.call(null,c,new cljs.core.Keyword(null,"normalize","normalize",-1904390051),!1),g=cljs.core.get.call(null,
c,new cljs.core.Keyword(null,"lowercase","lowercase",41029539),!0),h=cljs.core.get.call(null,c,new cljs.core.Keyword(null,"xmlns","xmlns",-1862095571)),k=cljs.core.get.call(null,c,new cljs.core.Keyword(null,"position","position",-2011731912),!0),l=cljs.core.get.call(null,c,new cljs.core.Keyword(null,"strict-entities","strict-entities",-551773933),!1),m=sax.parser(d,{trim:e,normalize:f,lowercase:g,xmlns:h,position:k,strictEntities:l}),n=cljs.core.atom.call(null,tubax.core.new_document.call(null)),
p=cljs.core.atom.call(null,null);m.onopentag=function(a,b,c,d,e,f,g,h,k,l,m,n){return function(a){return cljs.core.swap_BANG_.call(null,b,cljs.core.partial.call(null,tubax.core.add_node_document,a))}}(m,n,p,b,c,d,e,f,g,h,k,l);m.onclosetag=function(a,b,c,d,e,f,g,h,k,l,m,n){return function(a){return cljs.core.swap_BANG_.call(null,b,cljs.core.partial.call(null,tubax.core.close_node_document,a))}}(m,n,p,b,c,d,e,f,g,h,k,l);m.ontext=function(a,b,c,d,e,f,g,h,k,l,m,n){return function(a){return cljs.core.swap_BANG_.call(null,
b,cljs.core.partial.call(null,tubax.core.add_text,a))}}(m,n,p,b,c,d,e,f,g,h,k,l);m.oncdata=function(a,b,c,d,e,f,g,h,k,l,m,n){return function(a){return cljs.core.swap_BANG_.call(null,b,cljs.core.partial.call(null,tubax.core.add_text,a))}}(m,n,p,b,c,d,e,f,g,h,k,l);m.onend=function(a,b,c,d,e,f,g,h,k,l,m,n){return function(){return null==cljs.core.deref.call(null,c)?cljs.core.reset_BANG_.call(null,c,new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"success","success",1890645906),tubax.core.format_document.call(null,
cljs.core.deref.call(null,b))],null)):null}}(m,n,p,b,c,d,e,f,g,h,k,l);m.onerror=function(a,b,c,d,e,f,g,h,k,l,m,n){return function(a){return cljs.core.reset_BANG_.call(null,c,new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"error","error",-978969032),cljs.core.str.cljs$core$IFn$_invoke$arity$1(a)],null))}}(m,n,p,b,c,d,e,f,g,h,k,l);m.write(a);m.close();a=(new cljs.core.Keyword(null,"success","success",1890645906)).cljs$core$IFn$_invoke$arity$1(cljs.core.deref.call(null,p));if(cljs.core.truth_(a))return a;
throw cljs.core.ex_info.call(null,cljs.core.str.cljs$core$IFn$_invoke$arity$1((new cljs.core.Keyword(null,"error","error",-978969032)).cljs$core$IFn$_invoke$arity$1(cljs.core.deref.call(null,p))),cljs.core.PersistentArrayMap.EMPTY);};tubax.core.xml__GT_clj.cljs$lang$maxFixedArity=2;weathergen.util={};weathergen.util.str__GT_long=function(a){a=(new Number(a)).valueOf();return cljs.core.int_QMARK_.call(null,a)?cljs.core.long$.call(null,a):null};weathergen.util.str__GT_float=function(a){a=(new Number(a)).valueOf();return cljs.core.truth_(isNaN(a))?null:a};weathergen.util.concatv=function(a){for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;b=0<b.length?new cljs.core.IndexedSeq(b.slice(0),0,null):null;return weathergen.util.concatv.cljs$core$IFn$_invoke$arity$variadic(b)};
weathergen.util.concatv.cljs$core$IFn$_invoke$arity$variadic=function(a){return cljs.core.reduce.call(null,cljs.core.into,cljs.core.PersistentVector.EMPTY,a)};weathergen.util.concatv.cljs$lang$maxFixedArity=0;weathergen.util.concatv.cljs$lang$applyTo=function(a){return this.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq.call(null,a))};weathergen.util.filter_EQ_=function(a,b,c){return cljs.core.filter.call(null,function(c){return cljs.core._EQ_.call(null,a.call(null,c),b)},c)};
weathergen.util.only=function(a){if(cljs.core.empty_QMARK_.call(null,a))return null;if(cljs.core.empty_QMARK_.call(null,cljs.core.rest.call(null,a)))return cljs.core.first.call(null,a);throw cljs.core.ex_info.call(null,"Sequence had more than one item",new cljs.core.PersistentArrayMap(null,2,[new cljs.core.Keyword(null,"reason","reason",-2070751759),new cljs.core.Keyword(null,"not-singular","not-singular",1360522305),new cljs.core.Keyword(null,"coll","coll",1647737163),a],null));};
weathergen.util.take_until=function(a,b){if(cljs.core.empty_QMARK_.call(null,b))return b;if(cljs.core.truth_(a.call(null,cljs.core.first.call(null,b))))return cljs.core.take.call(null,1,b);b=cljs.core.partition_by.call(null,a,b);a=cljs.core.nth.call(null,b,0,null);b=cljs.core.nth.call(null,b,1,null);return cljs.core.concat.call(null,a,cljs.core.take.call(null,1,b))};
weathergen.util.toggle_set_membership=function(a,b){return(cljs.core.contains_QMARK_.call(null,a,b)?cljs.core.disj:cljs.core.conj).call(null,a,b)};weathergen.util.has_flag_QMARK_=function(a,b){return cljs.core._EQ_.call(null,a&b,b)};
weathergen.util.format_list=function(a){switch(arguments.length){case 1:return weathergen.util.format_list.cljs$core$IFn$_invoke$arity$1(arguments[0]);case 2:return weathergen.util.format_list.cljs$core$IFn$_invoke$arity$2(arguments[0],arguments[1]);default:throw Error(["Invalid arity: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(""));}};
weathergen.util.format_list.cljs$core$IFn$_invoke$arity$1=function(a){return weathergen.util.format_list.call(null,new cljs.core.PersistentArrayMap(null,2,[new cljs.core.Keyword(null,"conjunction","conjunction",-917061292),"and",new cljs.core.Keyword(null,"separator","separator",-1628749125),","],null),a)};
weathergen.util.format_list.cljs$core$IFn$_invoke$arity$2=function(a,b){var c=null!=a&&(a.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===a.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,a):a;a=cljs.core.get.call(null,c,new cljs.core.Keyword(null,"separator","separator",-1628749125));c=cljs.core.get.call(null,c,new cljs.core.Keyword(null,"conjunction","conjunction",-917061292));cljs.core.count.call(null,b);a=cljs.core.truth_(a)?a:",";return 2>cljs.core.count.call(null,
b)?cljs.core.first.call(null,b):[cljs.core.str.cljs$core$IFn$_invoke$arity$1(clojure.string.join.call(null,[cljs.core.str.cljs$core$IFn$_invoke$arity$1(a)," "].join(""),cljs.core.butlast.call(null,b))),cljs.core.str.cljs$core$IFn$_invoke$arity$1(2<cljs.core.count.call(null,b)?a:null)," ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(c)," ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.core.last.call(null,b))].join("")};weathergen.util.format_list.cljs$lang$maxFixedArity=2;
weathergen.util.enquote=function(a){return['"',cljs.core.str.cljs$core$IFn$_invoke$arity$1(clojure.string.replace.call(null,cljs.core.str.cljs$core$IFn$_invoke$arity$1(a),'"',"''")),'"'].join("")};weathergen.util.vectorize=function(a){return cljs.core.vector_QMARK_.call(null,a)?a:new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[a],null)};
weathergen.util.flatten_map=function(a){return cljs.core.reduce_kv.call(null,function(a,c,d){return cljs.core.map_QMARK_.call(null,d)?cljs.core.merge.call(null,a,weathergen.util.flatten_map.call(null,cljs.core.into.call(null,cljs.core.PersistentArrayMap.EMPTY,cljs.core.map.call(null,function(a){var b=cljs.core.nth.call(null,a,0,null);a=cljs.core.nth.call(null,a,1,null);return new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[cljs.core.conj.call(null,weathergen.util.vectorize.call(null,
c),b),a],null)},d)))):cljs.core.assoc.call(null,a,weathergen.util.vectorize.call(null,c),d)},cljs.core.PersistentArrayMap.EMPTY,a)};weathergen.util.csv_ize=function(a){switch(arguments.length){case 1:return weathergen.util.csv_ize.cljs$core$IFn$_invoke$arity$1(arguments[0]);case 2:return weathergen.util.csv_ize.cljs$core$IFn$_invoke$arity$2(arguments[0],arguments[1]);default:throw Error(["Invalid arity: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(""));}};
weathergen.util.csv_ize.cljs$core$IFn$_invoke$arity$1=function(a){return weathergen.util.csv_ize.call(null,a,cljs.core.PersistentArrayMap.EMPTY)};
weathergen.util.csv_ize.cljs$core$IFn$_invoke$arity$2=function(a,b){var c=null!=b&&(b.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===b.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,b):b,d=cljs.core.get.call(null,c,new cljs.core.Keyword(null,"initial-columns","initial-columns",1267275349),cljs.core.PersistentVector.EMPTY),e=cljs.core.get.call(null,c,new cljs.core.Keyword(null,"key-remap","key-remap",-767728308),cljs.core.identity),f=cljs.core.mapv.call(null,weathergen.util.vectorize,
d),g=cljs.core.mapv.call(null,weathergen.util.flatten_map,a),h=function(){var a=cljs.core.mapcat.call(null,cljs.core.keys,g);a=cljs.core.set.call(null,a);a=clojure.set.difference.call(null,a,cljs.core.set.call(null,f));a=cljs.core.sort.call(null,a);a=cljs.core.vec.call(null,a);return cljs.core.into.call(null,f,a)}(),k=function(a,b,c,d,e,f,g,h){return function(k){return function(a,b,c,d,e,f,g,h){return function G(l){return new cljs.core.LazySeq(null,function(a,b,c,d,e,f,g,h){return function(){for(;;){var a=
cljs.core.seq.call(null,l);if(a){if(cljs.core.chunked_seq_QMARK_.call(null,a)){var b=cljs.core.chunk_first.call(null,a),c=cljs.core.count.call(null,b),d=cljs.core.chunk_buffer.call(null,c);a:for(var e=0;;)if(e<c){var f=cljs.core._nth.call(null,b,e);cljs.core.chunk_append.call(null,d,cljs.core.get.call(null,k,f));e+=1}else{b=!0;break a}return b?cljs.core.chunk_cons.call(null,cljs.core.chunk.call(null,d),G.call(null,cljs.core.chunk_rest.call(null,a))):cljs.core.chunk_cons.call(null,cljs.core.chunk.call(null,
d),null)}d=cljs.core.first.call(null,a);return cljs.core.cons.call(null,cljs.core.get.call(null,k,d),G.call(null,cljs.core.rest.call(null,a)))}return null}}}(a,b,c,d,e,f,g,h),null,null)}}(a,b,c,d,e,f,g,h).call(null,c)}}(f,g,h,b,c,c,d,e);a=cljs.core.apply.call(null,cljs.core.str,"index,",cljs.core.interpose.call(null,",",cljs.core.map.call(null,cljs.core.str,cljs.core.map.call(null,e,h))));b=function(a,b,c,d,e,f,g,h,k,w){return function(a,b){return cljs.core.apply.call(null,cljs.core.str,a,",",cljs.core.interpose.call(null,
",",cljs.core.map.call(null,weathergen.util.enquote,d.call(null,b))))}}(f,g,h,k,a,b,c,c,d,e);return cljs.core.apply.call(null,cljs.core.str,cljs.core.interpose.call(null,"\n",cljs.core.into.call(null,new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[a],null),cljs.core.map_indexed.call(null,b,g))))};weathergen.util.csv_ize.cljs$lang$maxFixedArity=2;
weathergen.util.deep_merge_with=function(a){for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;b=1<b.length?new cljs.core.IndexedSeq(b.slice(1),0,null):null;return weathergen.util.deep_merge_with.cljs$core$IFn$_invoke$arity$variadic(arguments[0],b)};
weathergen.util.deep_merge_with.cljs$core$IFn$_invoke$arity$variadic=function(a,b){return cljs.core.apply.call(null,function(){var b=function(b){return cljs.core.every_QMARK_.call(null,cljs.core.map_QMARK_,b)?cljs.core.apply.call(null,cljs.core.merge_with,d,b):cljs.core.apply.call(null,a,b)},d=function(a){var c=null;if(0<arguments.length){c=0;for(var d=Array(arguments.length-0);c<d.length;)d[c]=arguments[c+0],++c;c=new cljs.core.IndexedSeq(d,0,null)}return b.call(this,c)};d.cljs$lang$maxFixedArity=
0;d.cljs$lang$applyTo=function(a){a=cljs.core.seq(a);return b(a)};d.cljs$core$IFn$_invoke$arity$variadic=b;return d}(),b)};weathergen.util.deep_merge_with.cljs$lang$maxFixedArity=1;weathergen.util.deep_merge_with.cljs$lang$applyTo=function(a){var b=cljs.core.first.call(null,a);a=cljs.core.next.call(null,a);return this.cljs$core$IFn$_invoke$arity$variadic(b,a)};goog.Thenable=function(){};goog.Thenable.prototype.then=function(a,b,c){};goog.Thenable.IMPLEMENTED_BY_PROP="$goog_Thenable";goog.Thenable.addImplementation=function(a){a.prototype.then=a.prototype.then;COMPILED?a.prototype[goog.Thenable.IMPLEMENTED_BY_PROP]=!0:a.prototype.$goog_Thenable=!0};goog.Thenable.isImplementedBy=function(a){if(!a)return!1;try{return COMPILED?!!a[goog.Thenable.IMPLEMENTED_BY_PROP]:!!a.$goog_Thenable}catch(b){return!1}};goog.async={};goog.async.FreeList=function(a,b,c){this.limit_=c;this.create_=a;this.reset_=b;this.occupants_=0;this.head_=null};goog.async.FreeList.prototype.get=function(){if(0<this.occupants_){this.occupants_--;var a=this.head_;this.head_=a.next;a.next=null}else a=this.create_();return a};goog.async.FreeList.prototype.put=function(a){this.reset_(a);this.occupants_<this.limit_&&(this.occupants_++,a.next=this.head_,this.head_=a)};goog.async.FreeList.prototype.occupants=function(){return this.occupants_};goog.async.WorkQueue=function(){this.workTail_=this.workHead_=null};goog.async.WorkQueue.DEFAULT_MAX_UNUSED=100;goog.async.WorkQueue.freelist_=new goog.async.FreeList(function(){return new goog.async.WorkItem},function(a){a.reset()},goog.async.WorkQueue.DEFAULT_MAX_UNUSED);goog.async.WorkQueue.prototype.add=function(a,b){var c=this.getUnusedItem_();c.set(a,b);this.workTail_?this.workTail_.next=c:(goog.asserts.assert(!this.workHead_),this.workHead_=c);this.workTail_=c};
goog.async.WorkQueue.prototype.remove=function(){var a=null;this.workHead_&&(a=this.workHead_,this.workHead_=this.workHead_.next,this.workHead_||(this.workTail_=null),a.next=null);return a};goog.async.WorkQueue.prototype.returnUnused=function(a){goog.async.WorkQueue.freelist_.put(a)};goog.async.WorkQueue.prototype.getUnusedItem_=function(){return goog.async.WorkQueue.freelist_.get()};goog.async.WorkItem=function(){this.next=this.scope=this.fn=null};
goog.async.WorkItem.prototype.set=function(a,b){this.fn=a;this.scope=b;this.next=null};goog.async.WorkItem.prototype.reset=function(){this.next=this.scope=this.fn=null};goog.debug.entryPointRegistry={};goog.debug.EntryPointMonitor=function(){};goog.debug.entryPointRegistry.refList_=[];goog.debug.entryPointRegistry.monitors_=[];goog.debug.entryPointRegistry.monitorsMayExist_=!1;goog.debug.entryPointRegistry.register=function(a){goog.debug.entryPointRegistry.refList_[goog.debug.entryPointRegistry.refList_.length]=a;if(goog.debug.entryPointRegistry.monitorsMayExist_)for(var b=goog.debug.entryPointRegistry.monitors_,c=0;c<b.length;c++)a(goog.bind(b[c].wrap,b[c]))};
goog.debug.entryPointRegistry.monitorAll=function(a){goog.debug.entryPointRegistry.monitorsMayExist_=!0;for(var b=goog.bind(a.wrap,a),c=0;c<goog.debug.entryPointRegistry.refList_.length;c++)goog.debug.entryPointRegistry.refList_[c](b);goog.debug.entryPointRegistry.monitors_.push(a)};
goog.debug.entryPointRegistry.unmonitorAllIfPossible=function(a){var b=goog.debug.entryPointRegistry.monitors_;goog.asserts.assert(a==b[b.length-1],"Only the most recent monitor can be unwrapped.");a=goog.bind(a.unwrap,a);for(var c=0;c<goog.debug.entryPointRegistry.refList_.length;c++)goog.debug.entryPointRegistry.refList_[c](a);b.length--};goog.async.throwException=function(a){goog.global.setTimeout(function(){throw a;},0)};goog.async.nextTick=function(a,b,c){var d=a;b&&(d=goog.bind(a,b));d=goog.async.nextTick.wrapCallback_(d);goog.isFunction(goog.global.setImmediate)&&(c||goog.async.nextTick.useSetImmediate_())?goog.global.setImmediate(d):(goog.async.nextTick.setImmediate_||(goog.async.nextTick.setImmediate_=goog.async.nextTick.getSetImmediateEmulator_()),goog.async.nextTick.setImmediate_(d))};
goog.async.nextTick.useSetImmediate_=function(){return goog.global.Window&&goog.global.Window.prototype&&!goog.labs.userAgent.browser.isEdge()&&goog.global.Window.prototype.setImmediate==goog.global.setImmediate?!1:!0};
goog.async.nextTick.getSetImmediateEmulator_=function(){var a=goog.global.MessageChannel;"undefined"===typeof a&&"undefined"!==typeof window&&window.postMessage&&window.addEventListener&&!goog.labs.userAgent.engine.isPresto()&&(a=function(){var a=document.createElement("IFRAME");a.style.display="none";a.src="";document.documentElement.appendChild(a);var b=a.contentWindow;a=b.document;a.open();a.write("");a.close();var c="callImmediate"+Math.random(),d="file:"==b.location.protocol?"*":b.location.protocol+
"//"+b.location.host;a=goog.bind(function(a){if(("*"==d||a.origin==d)&&a.data==c)this.port1.onmessage()},this);b.addEventListener("message",a,!1);this.port1={};this.port2={postMessage:function(){b.postMessage(c,d)}}});if("undefined"!==typeof a&&!goog.labs.userAgent.browser.isIE()){var b=new a,c={},d=c;b.port1.onmessage=function(){if(goog.isDef(c.next)){c=c.next;var a=c.cb;c.cb=null;a()}};return function(a){d.next={cb:a};d=d.next;b.port2.postMessage(0)}}return"undefined"!==typeof document&&"onreadystatechange"in
document.createElement("SCRIPT")?function(a){var b=document.createElement("SCRIPT");b.onreadystatechange=function(){b.onreadystatechange=null;b.parentNode.removeChild(b);b=null;a();a=null};document.documentElement.appendChild(b)}:function(a){goog.global.setTimeout(a,0)}};goog.async.nextTick.wrapCallback_=goog.functions.identity;goog.debug.entryPointRegistry.register(function(a){goog.async.nextTick.wrapCallback_=a});goog.async.run=function(a,b){goog.async.run.schedule_||goog.async.run.initializeRunner_();goog.async.run.workQueueScheduled_||(goog.async.run.schedule_(),goog.async.run.workQueueScheduled_=!0);goog.async.run.workQueue_.add(a,b)};goog.async.run.initializeRunner_=function(){if(-1!=String(goog.global.Promise).indexOf("[native code]")){var a=goog.global.Promise.resolve(void 0);goog.async.run.schedule_=function(){a.then(goog.async.run.processWorkQueue)}}else goog.async.run.schedule_=function(){goog.async.nextTick(goog.async.run.processWorkQueue)}};
goog.async.run.forceNextTick=function(a){goog.async.run.schedule_=function(){goog.async.nextTick(goog.async.run.processWorkQueue);a&&a(goog.async.run.processWorkQueue)}};goog.async.run.workQueueScheduled_=!1;goog.async.run.workQueue_=new goog.async.WorkQueue;goog.DEBUG&&(goog.async.run.resetQueue=function(){goog.async.run.workQueueScheduled_=!1;goog.async.run.workQueue_=new goog.async.WorkQueue});
goog.async.run.processWorkQueue=function(){for(var a;a=goog.async.run.workQueue_.remove();){try{a.fn.call(a.scope)}catch(b){goog.async.throwException(b)}goog.async.run.workQueue_.returnUnused(a)}goog.async.run.workQueueScheduled_=!1};goog.promise={};goog.promise.Resolver=function(){};goog.Promise=function(a,b){this.state_=goog.Promise.State_.PENDING;this.result_=void 0;this.callbackEntriesTail_=this.callbackEntries_=this.parent_=null;this.executing_=!1;0<goog.Promise.UNHANDLED_REJECTION_DELAY?this.unhandledRejectionId_=0:0==goog.Promise.UNHANDLED_REJECTION_DELAY&&(this.hadUnhandledRejection_=!1);goog.Promise.LONG_STACK_TRACES&&(this.stack_=[],this.addStackTrace_(Error("created")),this.currentStep_=0);if(a!=goog.nullFunction)try{var c=this;a.call(b,function(a){c.resolve_(goog.Promise.State_.FULFILLED,
a)},function(a){if(goog.DEBUG&&!(a instanceof goog.Promise.CancellationError))try{if(a instanceof Error)throw a;throw Error("Promise rejected.");}catch(e){}c.resolve_(goog.Promise.State_.REJECTED,a)})}catch(d){this.resolve_(goog.Promise.State_.REJECTED,d)}};goog.Promise.LONG_STACK_TRACES=!1;goog.Promise.UNHANDLED_REJECTION_DELAY=0;goog.Promise.State_={PENDING:0,BLOCKED:1,FULFILLED:2,REJECTED:3};
goog.Promise.CallbackEntry_=function(){this.next=this.context=this.onRejected=this.onFulfilled=this.child=null;this.always=!1};goog.Promise.CallbackEntry_.prototype.reset=function(){this.context=this.onRejected=this.onFulfilled=this.child=null;this.always=!1};goog.Promise.DEFAULT_MAX_UNUSED=100;goog.Promise.freelist_=new goog.async.FreeList(function(){return new goog.Promise.CallbackEntry_},function(a){a.reset()},goog.Promise.DEFAULT_MAX_UNUSED);
goog.Promise.getCallbackEntry_=function(a,b,c){var d=goog.Promise.freelist_.get();d.onFulfilled=a;d.onRejected=b;d.context=c;return d};goog.Promise.returnEntry_=function(a){goog.Promise.freelist_.put(a)};goog.Promise.resolve=function(a){if(a instanceof goog.Promise)return a;var b=new goog.Promise(goog.nullFunction);b.resolve_(goog.Promise.State_.FULFILLED,a);return b};goog.Promise.reject=function(a){return new goog.Promise(function(b,c){c(a)})};
goog.Promise.resolveThen_=function(a,b,c){goog.Promise.maybeThen_(a,b,c,null)||goog.async.run(goog.partial(b,a))};goog.Promise.race=function(a){return new goog.Promise(function(b,c){a.length||b(void 0);for(var d=0,e;d<a.length;d++)e=a[d],goog.Promise.resolveThen_(e,b,c)})};
goog.Promise.all=function(a){return new goog.Promise(function(b,c){var d=a.length,e=[];if(d)for(var f=function(a,c){d--;e[a]=c;0==d&&b(e)},g=function(a){c(a)},h=0,k;h<a.length;h++)k=a[h],goog.Promise.resolveThen_(k,goog.partial(f,h),g);else b(e)})};
goog.Promise.allSettled=function(a){return new goog.Promise(function(b,c){var d=a.length,e=[];if(d){c=function(a,c,f){d--;e[a]=c?{fulfilled:!0,value:f}:{fulfilled:!1,reason:f};0==d&&b(e)};for(var f=0,g;f<a.length;f++)g=a[f],goog.Promise.resolveThen_(g,goog.partial(c,f,!0),goog.partial(c,f,!1))}else b(e)})};
goog.Promise.firstFulfilled=function(a){return new goog.Promise(function(b,c){var d=a.length,e=[];if(d)for(var f=function(a){b(a)},g=function(a,b){d--;e[a]=b;0==d&&c(e)},h=0,k;h<a.length;h++)k=a[h],goog.Promise.resolveThen_(k,f,goog.partial(g,h));else b(void 0)})};goog.Promise.withResolver=function(){var a,b,c=new goog.Promise(function(c,e){a=c;b=e});return new goog.Promise.Resolver_(c,a,b)};
goog.Promise.prototype.then=function(a,b,c){null!=a&&goog.asserts.assertFunction(a,"opt_onFulfilled should be a function.");null!=b&&goog.asserts.assertFunction(b,"opt_onRejected should be a function. Did you pass opt_context as the second argument instead of the third?");goog.Promise.LONG_STACK_TRACES&&this.addStackTrace_(Error("then"));return this.addChildPromise_(goog.isFunction(a)?a:null,goog.isFunction(b)?b:null,c)};goog.Thenable.addImplementation(goog.Promise);
goog.Promise.prototype.thenVoid=function(a,b,c){null!=a&&goog.asserts.assertFunction(a,"opt_onFulfilled should be a function.");null!=b&&goog.asserts.assertFunction(b,"opt_onRejected should be a function. Did you pass opt_context as the second argument instead of the third?");goog.Promise.LONG_STACK_TRACES&&this.addStackTrace_(Error("then"));this.addCallbackEntry_(goog.Promise.getCallbackEntry_(a||goog.nullFunction,b||null,c))};
goog.Promise.prototype.thenAlways=function(a,b){goog.Promise.LONG_STACK_TRACES&&this.addStackTrace_(Error("thenAlways"));a=goog.Promise.getCallbackEntry_(a,a,b);a.always=!0;this.addCallbackEntry_(a);return this};goog.Promise.prototype.thenCatch=function(a,b){goog.Promise.LONG_STACK_TRACES&&this.addStackTrace_(Error("thenCatch"));return this.addChildPromise_(null,a,b)};
goog.Promise.prototype.cancel=function(a){this.state_==goog.Promise.State_.PENDING&&goog.async.run(function(){var b=new goog.Promise.CancellationError(a);this.cancelInternal_(b)},this)};goog.Promise.prototype.cancelInternal_=function(a){this.state_==goog.Promise.State_.PENDING&&(this.parent_?(this.parent_.cancelChild_(this,a),this.parent_=null):this.resolve_(goog.Promise.State_.REJECTED,a))};
goog.Promise.prototype.cancelChild_=function(a,b){if(this.callbackEntries_){for(var c=0,d=null,e=null,f=this.callbackEntries_;f&&(f.always||(c++,f.child==a&&(d=f),!(d&&1<c)));f=f.next)d||(e=f);d&&(this.state_==goog.Promise.State_.PENDING&&1==c?this.cancelInternal_(b):(e?this.removeEntryAfter_(e):this.popEntry_(),this.executeCallback_(d,goog.Promise.State_.REJECTED,b)))}};
goog.Promise.prototype.addCallbackEntry_=function(a){this.hasEntry_()||this.state_!=goog.Promise.State_.FULFILLED&&this.state_!=goog.Promise.State_.REJECTED||this.scheduleCallbacks_();this.queueEntry_(a)};
goog.Promise.prototype.addChildPromise_=function(a,b,c){var d=goog.Promise.getCallbackEntry_(null,null,null);d.child=new goog.Promise(function(e,f){d.onFulfilled=a?function(b){try{var d=a.call(c,b);e(d)}catch(k){f(k)}}:e;d.onRejected=b?function(a){try{var d=b.call(c,a);!goog.isDef(d)&&a instanceof goog.Promise.CancellationError?f(a):e(d)}catch(k){f(k)}}:f});d.child.parent_=this;this.addCallbackEntry_(d);return d.child};
goog.Promise.prototype.unblockAndFulfill_=function(a){goog.asserts.assert(this.state_==goog.Promise.State_.BLOCKED);this.state_=goog.Promise.State_.PENDING;this.resolve_(goog.Promise.State_.FULFILLED,a)};goog.Promise.prototype.unblockAndReject_=function(a){goog.asserts.assert(this.state_==goog.Promise.State_.BLOCKED);this.state_=goog.Promise.State_.PENDING;this.resolve_(goog.Promise.State_.REJECTED,a)};
goog.Promise.prototype.resolve_=function(a,b){this.state_==goog.Promise.State_.PENDING&&(this===b&&(a=goog.Promise.State_.REJECTED,b=new TypeError("Promise cannot resolve to itself")),this.state_=goog.Promise.State_.BLOCKED,goog.Promise.maybeThen_(b,this.unblockAndFulfill_,this.unblockAndReject_,this)||(this.result_=b,this.state_=a,this.parent_=null,this.scheduleCallbacks_(),a!=goog.Promise.State_.REJECTED||b instanceof goog.Promise.CancellationError||goog.Promise.addUnhandledRejection_(this,b)))};
goog.Promise.maybeThen_=function(a,b,c,d){if(a instanceof goog.Promise)return a.thenVoid(b,c,d),!0;if(goog.Thenable.isImplementedBy(a))return a.then(b,c,d),!0;if(goog.isObject(a))try{var e=a.then;if(goog.isFunction(e))return goog.Promise.tryThen_(a,e,b,c,d),!0}catch(f){return c.call(d,f),!0}return!1};goog.Promise.tryThen_=function(a,b,c,d,e){var f=!1,g=function(a){f||(f=!0,c.call(e,a))},h=function(a){f||(f=!0,d.call(e,a))};try{b.call(a,g,h)}catch(k){h(k)}};
goog.Promise.prototype.scheduleCallbacks_=function(){this.executing_||(this.executing_=!0,goog.async.run(this.executeCallbacks_,this))};goog.Promise.prototype.hasEntry_=function(){return!!this.callbackEntries_};goog.Promise.prototype.queueEntry_=function(a){goog.asserts.assert(null!=a.onFulfilled);this.callbackEntriesTail_?this.callbackEntriesTail_.next=a:this.callbackEntries_=a;this.callbackEntriesTail_=a};
goog.Promise.prototype.popEntry_=function(){var a=null;this.callbackEntries_&&(a=this.callbackEntries_,this.callbackEntries_=a.next,a.next=null);this.callbackEntries_||(this.callbackEntriesTail_=null);null!=a&&goog.asserts.assert(null!=a.onFulfilled);return a};goog.Promise.prototype.removeEntryAfter_=function(a){goog.asserts.assert(this.callbackEntries_);goog.asserts.assert(null!=a);a.next==this.callbackEntriesTail_&&(this.callbackEntriesTail_=a);a.next=a.next.next};
goog.Promise.prototype.executeCallbacks_=function(){for(var a;a=this.popEntry_();)goog.Promise.LONG_STACK_TRACES&&this.currentStep_++,this.executeCallback_(a,this.state_,this.result_);this.executing_=!1};
goog.Promise.prototype.executeCallback_=function(a,b,c){b==goog.Promise.State_.REJECTED&&a.onRejected&&!a.always&&this.removeUnhandledRejection_();if(a.child)a.child.parent_=null,goog.Promise.invokeCallback_(a,b,c);else try{a.always?a.onFulfilled.call(a.context):goog.Promise.invokeCallback_(a,b,c)}catch(d){goog.Promise.handleRejection_.call(null,d)}goog.Promise.returnEntry_(a)};
goog.Promise.invokeCallback_=function(a,b,c){b==goog.Promise.State_.FULFILLED?a.onFulfilled.call(a.context,c):a.onRejected&&a.onRejected.call(a.context,c)};goog.Promise.prototype.addStackTrace_=function(a){if(goog.Promise.LONG_STACK_TRACES&&goog.isString(a.stack)){var b=a.stack.split("\n",4)[3];a=a.message;a+=Array(11-a.length).join(" ");this.stack_.push(a+b)}};
goog.Promise.prototype.appendLongStack_=function(a){if(goog.Promise.LONG_STACK_TRACES&&a&&goog.isString(a.stack)&&this.stack_.length){for(var b=["Promise trace:"],c=this;c;c=c.parent_){for(var d=this.currentStep_;0<=d;d--)b.push(c.stack_[d]);b.push("Value: ["+(c.state_==goog.Promise.State_.REJECTED?"REJECTED":"FULFILLED")+"] \x3c"+String(c.result_)+"\x3e")}a.stack+="\n\n"+b.join("\n")}};
goog.Promise.prototype.removeUnhandledRejection_=function(){if(0<goog.Promise.UNHANDLED_REJECTION_DELAY)for(var a=this;a&&a.unhandledRejectionId_;a=a.parent_)goog.global.clearTimeout(a.unhandledRejectionId_),a.unhandledRejectionId_=0;else if(0==goog.Promise.UNHANDLED_REJECTION_DELAY)for(a=this;a&&a.hadUnhandledRejection_;a=a.parent_)a.hadUnhandledRejection_=!1};
goog.Promise.addUnhandledRejection_=function(a,b){0<goog.Promise.UNHANDLED_REJECTION_DELAY?a.unhandledRejectionId_=goog.global.setTimeout(function(){a.appendLongStack_(b);goog.Promise.handleRejection_.call(null,b)},goog.Promise.UNHANDLED_REJECTION_DELAY):0==goog.Promise.UNHANDLED_REJECTION_DELAY&&(a.hadUnhandledRejection_=!0,goog.async.run(function(){a.hadUnhandledRejection_&&(a.appendLongStack_(b),goog.Promise.handleRejection_.call(null,b))}))};goog.Promise.handleRejection_=goog.async.throwException;
goog.Promise.setUnhandledRejectionHandler=function(a){goog.Promise.handleRejection_=a};goog.Promise.CancellationError=function(a){goog.debug.Error.call(this,a)};goog.inherits(goog.Promise.CancellationError,goog.debug.Error);goog.Promise.CancellationError.prototype.name="cancel";goog.Promise.Resolver_=function(a,b,c){this.promise=a;this.resolve=b;this.reject=c};goog.disposable={};goog.disposable.IDisposable=function(){};goog.disposable.IDisposable.prototype.dispose=goog.abstractMethod;goog.disposable.IDisposable.prototype.isDisposed=goog.abstractMethod;goog.Disposable=function(){goog.Disposable.MONITORING_MODE!=goog.Disposable.MonitoringMode.OFF&&(goog.Disposable.INCLUDE_STACK_ON_CREATION&&(this.creationStack=Error().stack),goog.Disposable.instances_[goog.getUid(this)]=this);this.disposed_=this.disposed_;this.onDisposeCallbacks_=this.onDisposeCallbacks_};goog.Disposable.MonitoringMode={OFF:0,PERMANENT:1,INTERACTIVE:2};goog.Disposable.MONITORING_MODE=0;goog.Disposable.INCLUDE_STACK_ON_CREATION=!0;goog.Disposable.instances_={};
goog.Disposable.getUndisposedObjects=function(){var a=[],b;for(b in goog.Disposable.instances_)goog.Disposable.instances_.hasOwnProperty(b)&&a.push(goog.Disposable.instances_[Number(b)]);return a};goog.Disposable.clearUndisposedObjects=function(){goog.Disposable.instances_={}};goog.Disposable.prototype.disposed_=!1;goog.Disposable.prototype.isDisposed=function(){return this.disposed_};goog.Disposable.prototype.getDisposed=goog.Disposable.prototype.isDisposed;
goog.Disposable.prototype.dispose=function(){if(!this.disposed_&&(this.disposed_=!0,this.disposeInternal(),goog.Disposable.MONITORING_MODE!=goog.Disposable.MonitoringMode.OFF)){var a=goog.getUid(this);if(goog.Disposable.MONITORING_MODE==goog.Disposable.MonitoringMode.PERMANENT&&!goog.Disposable.instances_.hasOwnProperty(a))throw Error(this+" did not call the goog.Disposable base constructor or was disposed of after a clearUndisposedObjects call");delete goog.Disposable.instances_[a]}};
goog.Disposable.prototype.registerDisposable=function(a){this.addOnDisposeCallback(goog.partial(goog.dispose,a))};goog.Disposable.prototype.addOnDisposeCallback=function(a,b){this.disposed_?goog.isDef(b)?a.call(b):a():(this.onDisposeCallbacks_||(this.onDisposeCallbacks_=[]),this.onDisposeCallbacks_.push(goog.isDef(b)?goog.bind(a,b):a))};goog.Disposable.prototype.disposeInternal=function(){if(this.onDisposeCallbacks_)for(;this.onDisposeCallbacks_.length;)this.onDisposeCallbacks_.shift()()};
goog.Disposable.isDisposed=function(a){return a&&"function"==typeof a.isDisposed?a.isDisposed():!1};goog.dispose=function(a){a&&"function"==typeof a.dispose&&a.dispose()};goog.disposeAll=function(a){for(var b=0,c=arguments.length;b<c;++b){var d=arguments[b];goog.isArrayLike(d)?goog.disposeAll.apply(null,d):goog.dispose(d)}};goog.events={};$jscomp.scope.purify=function(a){return{valueOf:a}.valueOf()};
goog.events.BrowserFeature={HAS_W3C_BUTTON:!goog.userAgent.IE||goog.userAgent.isDocumentModeOrHigher(9),HAS_W3C_EVENT_SUPPORT:!goog.userAgent.IE||goog.userAgent.isDocumentModeOrHigher(9),SET_KEY_CODE_TO_PREVENT_DEFAULT:goog.userAgent.IE&&!goog.userAgent.isVersionOrHigher("9"),HAS_NAVIGATOR_ONLINE_PROPERTY:!goog.userAgent.WEBKIT||goog.userAgent.isVersionOrHigher("528"),HAS_HTML5_NETWORK_EVENT_SUPPORT:goog.userAgent.GECKO&&goog.userAgent.isVersionOrHigher("1.9b")||goog.userAgent.IE&&goog.userAgent.isVersionOrHigher("8")||
goog.userAgent.OPERA&&goog.userAgent.isVersionOrHigher("9.5")||goog.userAgent.WEBKIT&&goog.userAgent.isVersionOrHigher("528"),HTML5_NETWORK_EVENTS_FIRE_ON_BODY:goog.userAgent.GECKO&&!goog.userAgent.isVersionOrHigher("8")||goog.userAgent.IE&&!goog.userAgent.isVersionOrHigher("9"),TOUCH_ENABLED:"ontouchstart"in goog.global||!!(goog.global.document&&document.documentElement&&"ontouchstart"in document.documentElement)||!(!goog.global.navigator||!goog.global.navigator.msMaxTouchPoints),PASSIVE_EVENTS:(0,$jscomp.scope.purify)(function(){if(!goog.global.addEventListener||
!Object.defineProperty)return!1;var a=!1,b=Object.defineProperty({},"passive",{get:function(){a=!0}});goog.global.addEventListener("test",goog.nullFunction,b);goog.global.removeEventListener("test",goog.nullFunction,b);return a})};goog.events.EventId=function(a){this.id=a};goog.events.EventId.prototype.toString=function(){return this.id};goog.events.Event=function(a,b){this.type=a instanceof goog.events.EventId?String(a):a;this.currentTarget=this.target=b;this.defaultPrevented=this.propagationStopped_=!1;this.returnValue_=!0};goog.events.Event.prototype.stopPropagation=function(){this.propagationStopped_=!0};goog.events.Event.prototype.preventDefault=function(){this.defaultPrevented=!0;this.returnValue_=!1};goog.events.Event.stopPropagation=function(a){a.stopPropagation()};goog.events.Event.preventDefault=function(a){a.preventDefault()};goog.events.getVendorPrefixedName_=function(a){return goog.userAgent.WEBKIT?"webkit"+a:goog.userAgent.OPERA?"o"+a.toLowerCase():a.toLowerCase()};
goog.events.EventType={CLICK:"click",RIGHTCLICK:"rightclick",DBLCLICK:"dblclick",MOUSEDOWN:"mousedown",MOUSEUP:"mouseup",MOUSEOVER:"mouseover",MOUSEOUT:"mouseout",MOUSEMOVE:"mousemove",MOUSEENTER:"mouseenter",MOUSELEAVE:"mouseleave",SELECTIONCHANGE:"selectionchange",SELECTSTART:"selectstart",WHEEL:"wheel",KEYPRESS:"keypress",KEYDOWN:"keydown",KEYUP:"keyup",BLUR:"blur",FOCUS:"focus",DEACTIVATE:"deactivate",FOCUSIN:goog.userAgent.IE?"focusin":"DOMFocusIn",FOCUSOUT:goog.userAgent.IE?"focusout":"DOMFocusOut",
CHANGE:"change",RESET:"reset",SELECT:"select",SUBMIT:"submit",INPUT:"input",PROPERTYCHANGE:"propertychange",DRAGSTART:"dragstart",DRAG:"drag",DRAGENTER:"dragenter",DRAGOVER:"dragover",DRAGLEAVE:"dragleave",DROP:"drop",DRAGEND:"dragend",TOUCHSTART:"touchstart",TOUCHMOVE:"touchmove",TOUCHEND:"touchend",TOUCHCANCEL:"touchcancel",BEFOREUNLOAD:"beforeunload",CONSOLEMESSAGE:"consolemessage",CONTEXTMENU:"contextmenu",DEVICEMOTION:"devicemotion",DEVICEORIENTATION:"deviceorientation",DOMCONTENTLOADED:"DOMContentLoaded",
ERROR:"error",HELP:"help",LOAD:"load",LOSECAPTURE:"losecapture",ORIENTATIONCHANGE:"orientationchange",READYSTATECHANGE:"readystatechange",RESIZE:"resize",SCROLL:"scroll",UNLOAD:"unload",CANPLAY:"canplay",CANPLAYTHROUGH:"canplaythrough",DURATIONCHANGE:"durationchange",EMPTIED:"emptied",ENDED:"ended",LOADEDDATA:"loadeddata",LOADEDMETADATA:"loadedmetadata",PAUSE:"pause",PLAY:"play",PLAYING:"playing",RATECHANGE:"ratechange",SEEKED:"seeked",SEEKING:"seeking",STALLED:"stalled",SUSPEND:"suspend",TIMEUPDATE:"timeupdate",
VOLUMECHANGE:"volumechange",WAITING:"waiting",SOURCEOPEN:"sourceopen",SOURCEENDED:"sourceended",SOURCECLOSED:"sourceclosed",ABORT:"abort",UPDATE:"update",UPDATESTART:"updatestart",UPDATEEND:"updateend",HASHCHANGE:"hashchange",PAGEHIDE:"pagehide",PAGESHOW:"pageshow",POPSTATE:"popstate",COPY:"copy",PASTE:"paste",CUT:"cut",BEFORECOPY:"beforecopy",BEFORECUT:"beforecut",BEFOREPASTE:"beforepaste",ONLINE:"online",OFFLINE:"offline",MESSAGE:"message",CONNECT:"connect",INSTALL:"install",ACTIVATE:"activate",
FETCH:"fetch",FOREIGNFETCH:"foreignfetch",MESSAGEERROR:"messageerror",STATECHANGE:"statechange",UPDATEFOUND:"updatefound",CONTROLLERCHANGE:"controllerchange",ANIMATIONSTART:goog.events.getVendorPrefixedName_("AnimationStart"),ANIMATIONEND:goog.events.getVendorPrefixedName_("AnimationEnd"),ANIMATIONITERATION:goog.events.getVendorPrefixedName_("AnimationIteration"),TRANSITIONEND:goog.events.getVendorPrefixedName_("TransitionEnd"),POINTERDOWN:"pointerdown",POINTERUP:"pointerup",POINTERCANCEL:"pointercancel",
POINTERMOVE:"pointermove",POINTEROVER:"pointerover",POINTEROUT:"pointerout",POINTERENTER:"pointerenter",POINTERLEAVE:"pointerleave",GOTPOINTERCAPTURE:"gotpointercapture",LOSTPOINTERCAPTURE:"lostpointercapture",MSGESTURECHANGE:"MSGestureChange",MSGESTUREEND:"MSGestureEnd",MSGESTUREHOLD:"MSGestureHold",MSGESTURESTART:"MSGestureStart",MSGESTURETAP:"MSGestureTap",MSGOTPOINTERCAPTURE:"MSGotPointerCapture",MSINERTIASTART:"MSInertiaStart",MSLOSTPOINTERCAPTURE:"MSLostPointerCapture",MSPOINTERCANCEL:"MSPointerCancel",
MSPOINTERDOWN:"MSPointerDown",MSPOINTERENTER:"MSPointerEnter",MSPOINTERHOVER:"MSPointerHover",MSPOINTERLEAVE:"MSPointerLeave",MSPOINTERMOVE:"MSPointerMove",MSPOINTEROUT:"MSPointerOut",MSPOINTEROVER:"MSPointerOver",MSPOINTERUP:"MSPointerUp",TEXT:"text",TEXTINPUT:goog.userAgent.IE?"textinput":"textInput",COMPOSITIONSTART:"compositionstart",COMPOSITIONUPDATE:"compositionupdate",COMPOSITIONEND:"compositionend",BEFOREINPUT:"beforeinput",EXIT:"exit",LOADABORT:"loadabort",LOADCOMMIT:"loadcommit",LOADREDIRECT:"loadredirect",
LOADSTART:"loadstart",LOADSTOP:"loadstop",RESPONSIVE:"responsive",SIZECHANGED:"sizechanged",UNRESPONSIVE:"unresponsive",VISIBILITYCHANGE:"visibilitychange",STORAGE:"storage",DOMSUBTREEMODIFIED:"DOMSubtreeModified",DOMNODEINSERTED:"DOMNodeInserted",DOMNODEREMOVED:"DOMNodeRemoved",DOMNODEREMOVEDFROMDOCUMENT:"DOMNodeRemovedFromDocument",DOMNODEINSERTEDINTODOCUMENT:"DOMNodeInsertedIntoDocument",DOMATTRMODIFIED:"DOMAttrModified",DOMCHARACTERDATAMODIFIED:"DOMCharacterDataModified",BEFOREPRINT:"beforeprint",
AFTERPRINT:"afterprint"};goog.events.BrowserEvent=function(a,b){goog.events.Event.call(this,a?a.type:"");this.relatedTarget=this.currentTarget=this.target=null;this.button=this.screenY=this.screenX=this.clientY=this.clientX=this.offsetY=this.offsetX=0;this.key="";this.charCode=this.keyCode=0;this.metaKey=this.shiftKey=this.altKey=this.ctrlKey=!1;this.state=null;this.platformModifierKey=!1;this.event_=null;a&&this.init(a,b)};goog.inherits(goog.events.BrowserEvent,goog.events.Event);
goog.events.BrowserEvent.MouseButton={LEFT:0,MIDDLE:1,RIGHT:2};goog.events.BrowserEvent.IEButtonMap=[1,4,2];
goog.events.BrowserEvent.prototype.init=function(a,b){var c=this.type=a.type,d=a.changedTouches?a.changedTouches[0]:null;this.target=a.target||a.srcElement;this.currentTarget=b;(b=a.relatedTarget)?goog.userAgent.GECKO&&(goog.reflect.canAccessProperty(b,"nodeName")||(b=null)):c==goog.events.EventType.MOUSEOVER?b=a.fromElement:c==goog.events.EventType.MOUSEOUT&&(b=a.toElement);this.relatedTarget=b;goog.isNull(d)?(this.offsetX=goog.userAgent.WEBKIT||void 0!==a.offsetX?a.offsetX:a.layerX,this.offsetY=
goog.userAgent.WEBKIT||void 0!==a.offsetY?a.offsetY:a.layerY,this.clientX=void 0!==a.clientX?a.clientX:a.pageX,this.clientY=void 0!==a.clientY?a.clientY:a.pageY,this.screenX=a.screenX||0,this.screenY=a.screenY||0):(this.clientX=void 0!==d.clientX?d.clientX:d.pageX,this.clientY=void 0!==d.clientY?d.clientY:d.pageY,this.screenX=d.screenX||0,this.screenY=d.screenY||0);this.button=a.button;this.keyCode=a.keyCode||0;this.key=a.key||"";this.charCode=a.charCode||("keypress"==c?a.keyCode:0);this.ctrlKey=
a.ctrlKey;this.altKey=a.altKey;this.shiftKey=a.shiftKey;this.metaKey=a.metaKey;this.platformModifierKey=goog.userAgent.MAC?a.metaKey:a.ctrlKey;this.state=a.state;this.event_=a;a.defaultPrevented&&this.preventDefault()};goog.events.BrowserEvent.prototype.isButton=function(a){return goog.events.BrowserFeature.HAS_W3C_BUTTON?this.event_.button==a:"click"==this.type?a==goog.events.BrowserEvent.MouseButton.LEFT:!!(this.event_.button&goog.events.BrowserEvent.IEButtonMap[a])};
goog.events.BrowserEvent.prototype.isMouseActionButton=function(){return this.isButton(goog.events.BrowserEvent.MouseButton.LEFT)&&!(goog.userAgent.WEBKIT&&goog.userAgent.MAC&&this.ctrlKey)};goog.events.BrowserEvent.prototype.stopPropagation=function(){goog.events.BrowserEvent.superClass_.stopPropagation.call(this);this.event_.stopPropagation?this.event_.stopPropagation():this.event_.cancelBubble=!0};
goog.events.BrowserEvent.prototype.preventDefault=function(){goog.events.BrowserEvent.superClass_.preventDefault.call(this);var a=this.event_;if(a.preventDefault)a.preventDefault();else if(a.returnValue=!1,goog.events.BrowserFeature.SET_KEY_CODE_TO_PREVENT_DEFAULT)try{if(a.ctrlKey||112<=a.keyCode&&123>=a.keyCode)a.keyCode=-1}catch(b){}};goog.events.BrowserEvent.prototype.getBrowserEvent=function(){return this.event_};goog.events.Listenable=function(){};goog.events.Listenable.IMPLEMENTED_BY_PROP="closure_listenable_"+(1E6*Math.random()|0);goog.events.Listenable.addImplementation=function(a){a.prototype[goog.events.Listenable.IMPLEMENTED_BY_PROP]=!0};goog.events.Listenable.isImplementedBy=function(a){return!(!a||!a[goog.events.Listenable.IMPLEMENTED_BY_PROP])};goog.events.ListenableKey=function(){};goog.events.ListenableKey.counter_=0;goog.events.ListenableKey.reserveKey=function(){return++goog.events.ListenableKey.counter_};goog.events.Listener=function(a,b,c,d,e,f){goog.events.Listener.ENABLE_MONITORING&&(this.creationStack=Error().stack);this.listener=a;this.proxy=b;this.src=c;this.type=d;this.capture=!!e;this.handler=f;this.key=goog.events.ListenableKey.reserveKey();this.removed=this.callOnce=!1};goog.events.Listener.ENABLE_MONITORING=!1;goog.events.Listener.prototype.markAsRemoved=function(){this.removed=!0;this.handler=this.src=this.proxy=this.listener=null};goog.events.ListenerMap=function(a){this.src=a;this.listeners={};this.typeCount_=0};goog.events.ListenerMap.prototype.getTypeCount=function(){return this.typeCount_};goog.events.ListenerMap.prototype.getListenerCount=function(){var a=0,b;for(b in this.listeners)a+=this.listeners[b].length;return a};
goog.events.ListenerMap.prototype.add=function(a,b,c,d,e){var f=a.toString();a=this.listeners[f];a||(a=this.listeners[f]=[],this.typeCount_++);var g=goog.events.ListenerMap.findListenerIndex_(a,b,d,e);-1<g?(b=a[g],c||(b.callOnce=!1)):(b=new goog.events.Listener(b,null,this.src,f,!!d,e),b.callOnce=c,a.push(b));return b};
goog.events.ListenerMap.prototype.remove=function(a,b,c,d){a=a.toString();if(!(a in this.listeners))return!1;var e=this.listeners[a];b=goog.events.ListenerMap.findListenerIndex_(e,b,c,d);return-1<b?(e[b].markAsRemoved(),goog.array.removeAt(e,b),0==e.length&&(delete this.listeners[a],this.typeCount_--),!0):!1};
goog.events.ListenerMap.prototype.removeByKey=function(a){var b=a.type;if(!(b in this.listeners))return!1;var c=goog.array.remove(this.listeners[b],a);c&&(a.markAsRemoved(),0==this.listeners[b].length&&(delete this.listeners[b],this.typeCount_--));return c};goog.events.ListenerMap.prototype.removeAll=function(a){a=a&&a.toString();var b=0,c;for(c in this.listeners)if(!a||c==a){for(var d=this.listeners[c],e=0;e<d.length;e++)++b,d[e].markAsRemoved();delete this.listeners[c];this.typeCount_--}return b};
goog.events.ListenerMap.prototype.getListeners=function(a,b){a=this.listeners[a.toString()];var c=[];if(a)for(var d=0;d<a.length;++d){var e=a[d];e.capture==b&&c.push(e)}return c};goog.events.ListenerMap.prototype.getListener=function(a,b,c,d){a=this.listeners[a.toString()];var e=-1;a&&(e=goog.events.ListenerMap.findListenerIndex_(a,b,c,d));return-1<e?a[e]:null};
goog.events.ListenerMap.prototype.hasListener=function(a,b){var c=goog.isDef(a),d=c?a.toString():"",e=goog.isDef(b);return goog.object.some(this.listeners,function(a,g){for(g=0;g<a.length;++g)if(!(c&&a[g].type!=d||e&&a[g].capture!=b))return!0;return!1})};goog.events.ListenerMap.findListenerIndex_=function(a,b,c,d){for(var e=0;e<a.length;++e){var f=a[e];if(!f.removed&&f.listener==b&&f.capture==!!c&&f.handler==d)return e}return-1};goog.events.LISTENER_MAP_PROP_="closure_lm_"+(1E6*Math.random()|0);goog.events.onString_="on";goog.events.onStringMap_={};goog.events.CaptureSimulationMode={OFF_AND_FAIL:0,OFF_AND_SILENT:1,ON:2};goog.events.CAPTURE_SIMULATION_MODE=2;goog.events.listenerCountEstimate_=0;
goog.events.listen=function(a,b,c,d,e){if(d&&d.once)return goog.events.listenOnce(a,b,c,d,e);if(goog.isArray(b)){for(var f=0;f<b.length;f++)goog.events.listen(a,b[f],c,d,e);return null}c=goog.events.wrapListener(c);return goog.events.Listenable.isImplementedBy(a)?(d=goog.isObject(d)?!!d.capture:!!d,a.listen(b,c,d,e)):goog.events.listen_(a,b,c,!1,d,e)};
goog.events.listen_=function(a,b,c,d,e,f){if(!b)throw Error("Invalid event type");var g=goog.isObject(e)?!!e.capture:!!e;if(g&&!goog.events.BrowserFeature.HAS_W3C_EVENT_SUPPORT){if(goog.events.CAPTURE_SIMULATION_MODE==goog.events.CaptureSimulationMode.OFF_AND_FAIL)return goog.asserts.fail("Can not register capture listener in IE8-."),null;if(goog.events.CAPTURE_SIMULATION_MODE==goog.events.CaptureSimulationMode.OFF_AND_SILENT)return null}var h=goog.events.getListenerMap_(a);h||(a[goog.events.LISTENER_MAP_PROP_]=
h=new goog.events.ListenerMap(a));c=h.add(b,c,d,g,f);if(c.proxy)return c;d=goog.events.getProxy();c.proxy=d;d.src=a;d.listener=c;if(a.addEventListener)goog.events.BrowserFeature.PASSIVE_EVENTS||(e=g),void 0===e&&(e=!1),a.addEventListener(b.toString(),d,e);else if(a.attachEvent)a.attachEvent(goog.events.getOnString_(b.toString()),d);else throw Error("addEventListener and attachEvent are unavailable.");goog.events.listenerCountEstimate_++;return c};
goog.events.getProxy=function(){var a=goog.events.handleBrowserEvent_,b=goog.events.BrowserFeature.HAS_W3C_EVENT_SUPPORT?function(c){return a.call(b.src,b.listener,c)}:function(c){c=a.call(b.src,b.listener,c);if(!c)return c};return b};
goog.events.listenOnce=function(a,b,c,d,e){if(goog.isArray(b)){for(var f=0;f<b.length;f++)goog.events.listenOnce(a,b[f],c,d,e);return null}c=goog.events.wrapListener(c);return goog.events.Listenable.isImplementedBy(a)?(d=goog.isObject(d)?!!d.capture:!!d,a.listenOnce(b,c,d,e)):goog.events.listen_(a,b,c,!0,d,e)};goog.events.listenWithWrapper=function(a,b,c,d,e){b.listen(a,c,d,e)};
goog.events.unlisten=function(a,b,c,d,e){if(goog.isArray(b)){for(var f=0;f<b.length;f++)goog.events.unlisten(a,b[f],c,d,e);return null}d=goog.isObject(d)?!!d.capture:!!d;c=goog.events.wrapListener(c);if(goog.events.Listenable.isImplementedBy(a))return a.unlisten(b,c,d,e);if(!a)return!1;if(a=goog.events.getListenerMap_(a))if(b=a.getListener(b,c,d,e))return goog.events.unlistenByKey(b);return!1};
goog.events.unlistenByKey=function(a){if(goog.isNumber(a)||!a||a.removed)return!1;var b=a.src;if(goog.events.Listenable.isImplementedBy(b))return b.unlistenByKey(a);var c=a.type,d=a.proxy;b.removeEventListener?b.removeEventListener(c,d,a.capture):b.detachEvent&&b.detachEvent(goog.events.getOnString_(c),d);goog.events.listenerCountEstimate_--;(c=goog.events.getListenerMap_(b))?(c.removeByKey(a),0==c.getTypeCount()&&(c.src=null,b[goog.events.LISTENER_MAP_PROP_]=null)):a.markAsRemoved();return!0};
goog.events.unlistenWithWrapper=function(a,b,c,d,e){b.unlisten(a,c,d,e)};goog.events.removeAll=function(a,b){if(!a)return 0;if(goog.events.Listenable.isImplementedBy(a))return a.removeAllListeners(b);a=goog.events.getListenerMap_(a);if(!a)return 0;var c=0;b=b&&b.toString();for(var d in a.listeners)if(!b||d==b)for(var e=a.listeners[d].concat(),f=0;f<e.length;++f)goog.events.unlistenByKey(e[f])&&++c;return c};
goog.events.getListeners=function(a,b,c){return goog.events.Listenable.isImplementedBy(a)?a.getListeners(b,c):a?(a=goog.events.getListenerMap_(a))?a.getListeners(b,c):[]:[]};goog.events.getListener=function(a,b,c,d,e){c=goog.events.wrapListener(c);d=!!d;return goog.events.Listenable.isImplementedBy(a)?a.getListener(b,c,d,e):a?(a=goog.events.getListenerMap_(a))?a.getListener(b,c,d,e):null:null};
goog.events.hasListener=function(a,b,c){if(goog.events.Listenable.isImplementedBy(a))return a.hasListener(b,c);a=goog.events.getListenerMap_(a);return!!a&&a.hasListener(b,c)};goog.events.expose=function(a){var b=[],c;for(c in a)a[c]&&a[c].id?b.push(c+" \x3d "+a[c]+" ("+a[c].id+")"):b.push(c+" \x3d "+a[c]);return b.join("\n")};goog.events.getOnString_=function(a){return a in goog.events.onStringMap_?goog.events.onStringMap_[a]:goog.events.onStringMap_[a]=goog.events.onString_+a};
goog.events.fireListeners=function(a,b,c,d){return goog.events.Listenable.isImplementedBy(a)?a.fireListeners(b,c,d):goog.events.fireListeners_(a,b,c,d)};goog.events.fireListeners_=function(a,b,c,d){var e=!0;if(a=goog.events.getListenerMap_(a))if(b=a.listeners[b.toString()])for(b=b.concat(),a=0;a<b.length;a++){var f=b[a];f&&f.capture==c&&!f.removed&&(f=goog.events.fireListener(f,d),e=e&&!1!==f)}return e};
goog.events.fireListener=function(a,b){var c=a.listener,d=a.handler||a.src;a.callOnce&&goog.events.unlistenByKey(a);return c.call(d,b)};goog.events.getTotalListenerCount=function(){return goog.events.listenerCountEstimate_};goog.events.dispatchEvent=function(a,b){goog.asserts.assert(goog.events.Listenable.isImplementedBy(a),"Can not use goog.events.dispatchEvent with non-goog.events.Listenable instance.");return a.dispatchEvent(b)};
goog.events.protectBrowserEventEntryPoint=function(a){goog.events.handleBrowserEvent_=a.protectEntryPoint(goog.events.handleBrowserEvent_)};
goog.events.handleBrowserEvent_=function(a,b){if(a.removed)return!0;if(!goog.events.BrowserFeature.HAS_W3C_EVENT_SUPPORT){var c=b||goog.getObjectByName("window.event");b=new goog.events.BrowserEvent(c,this);var d=!0;if(goog.events.CAPTURE_SIMULATION_MODE==goog.events.CaptureSimulationMode.ON){if(!goog.events.isMarkedIeEvent_(c)){goog.events.markIeEvent_(c);c=[];for(var e=b.currentTarget;e;e=e.parentNode)c.push(e);a=a.type;for(e=c.length-1;!b.propagationStopped_&&0<=e;e--){b.currentTarget=c[e];var f=
goog.events.fireListeners_(c[e],a,!0,b);d=d&&f}for(e=0;!b.propagationStopped_&&e<c.length;e++)b.currentTarget=c[e],f=goog.events.fireListeners_(c[e],a,!1,b),d=d&&f}}else d=goog.events.fireListener(a,b);return d}return goog.events.fireListener(a,new goog.events.BrowserEvent(b,this))};goog.events.markIeEvent_=function(a){var b=!1;if(0==a.keyCode)try{a.keyCode=-1;return}catch(c){b=!0}if(b||void 0==a.returnValue)a.returnValue=!0};goog.events.isMarkedIeEvent_=function(a){return 0>a.keyCode||void 0!=a.returnValue};
goog.events.uniqueIdCounter_=0;goog.events.getUniqueId=function(a){return a+"_"+goog.events.uniqueIdCounter_++};goog.events.getListenerMap_=function(a){a=a[goog.events.LISTENER_MAP_PROP_];return a instanceof goog.events.ListenerMap?a:null};goog.events.LISTENER_WRAPPER_PROP_="__closure_events_fn_"+(1E9*Math.random()>>>0);
goog.events.wrapListener=function(a){goog.asserts.assert(a,"Listener can not be null.");if(goog.isFunction(a))return a;goog.asserts.assert(a.handleEvent,"An object listener must have handleEvent method.");a[goog.events.LISTENER_WRAPPER_PROP_]||(a[goog.events.LISTENER_WRAPPER_PROP_]=function(b){return a.handleEvent(b)});return a[goog.events.LISTENER_WRAPPER_PROP_]};goog.debug.entryPointRegistry.register(function(a){goog.events.handleBrowserEvent_=a(goog.events.handleBrowserEvent_)});goog.events.EventTarget=function(){goog.Disposable.call(this);this.eventTargetListeners_=new goog.events.ListenerMap(this);this.actualEventTarget_=this;this.parentEventTarget_=null};goog.inherits(goog.events.EventTarget,goog.Disposable);goog.events.Listenable.addImplementation(goog.events.EventTarget);goog.events.EventTarget.MAX_ANCESTORS_=1E3;goog.events.EventTarget.prototype.getParentEventTarget=function(){return this.parentEventTarget_};
goog.events.EventTarget.prototype.setParentEventTarget=function(a){this.parentEventTarget_=a};goog.events.EventTarget.prototype.addEventListener=function(a,b,c,d){goog.events.listen(this,a,b,c,d)};goog.events.EventTarget.prototype.removeEventListener=function(a,b,c,d){goog.events.unlisten(this,a,b,c,d)};
goog.events.EventTarget.prototype.dispatchEvent=function(a){this.assertInitialized_();var b=this.getParentEventTarget();if(b){var c=[];for(var d=1;b;b=b.getParentEventTarget())c.push(b),goog.asserts.assert(++d<goog.events.EventTarget.MAX_ANCESTORS_,"infinite loop")}return goog.events.EventTarget.dispatchEventInternal_(this.actualEventTarget_,a,c)};
goog.events.EventTarget.prototype.disposeInternal=function(){goog.events.EventTarget.superClass_.disposeInternal.call(this);this.removeAllListeners();this.parentEventTarget_=null};goog.events.EventTarget.prototype.listen=function(a,b,c,d){this.assertInitialized_();return this.eventTargetListeners_.add(String(a),b,!1,c,d)};goog.events.EventTarget.prototype.listenOnce=function(a,b,c,d){return this.eventTargetListeners_.add(String(a),b,!0,c,d)};
goog.events.EventTarget.prototype.unlisten=function(a,b,c,d){return this.eventTargetListeners_.remove(String(a),b,c,d)};goog.events.EventTarget.prototype.unlistenByKey=function(a){return this.eventTargetListeners_.removeByKey(a)};goog.events.EventTarget.prototype.removeAllListeners=function(a){return this.eventTargetListeners_?this.eventTargetListeners_.removeAll(a):0};
goog.events.EventTarget.prototype.fireListeners=function(a,b,c){a=this.eventTargetListeners_.listeners[String(a)];if(!a)return!0;a=a.concat();for(var d=!0,e=0;e<a.length;++e){var f=a[e];if(f&&!f.removed&&f.capture==b){var g=f.listener,h=f.handler||f.src;f.callOnce&&this.unlistenByKey(f);d=!1!==g.call(h,c)&&d}}return d&&0!=c.returnValue_};goog.events.EventTarget.prototype.getListeners=function(a,b){return this.eventTargetListeners_.getListeners(String(a),b)};
goog.events.EventTarget.prototype.getListener=function(a,b,c,d){return this.eventTargetListeners_.getListener(String(a),b,c,d)};goog.events.EventTarget.prototype.hasListener=function(a,b){a=goog.isDef(a)?String(a):void 0;return this.eventTargetListeners_.hasListener(a,b)};goog.events.EventTarget.prototype.setTargetForTesting=function(a){this.actualEventTarget_=a};goog.events.EventTarget.prototype.assertInitialized_=function(){goog.asserts.assert(this.eventTargetListeners_,"Event target is not initialized. Did you call the superclass (goog.events.EventTarget) constructor?")};
goog.events.EventTarget.dispatchEventInternal_=function(a,b,c){var d=b.type||b;if(goog.isString(b))b=new goog.events.Event(b,a);else if(b instanceof goog.events.Event)b.target=b.target||a;else{var e=b;b=new goog.events.Event(d,a);goog.object.extend(b,e)}e=!0;if(c)for(var f=c.length-1;!b.propagationStopped_&&0<=f;f--){var g=b.currentTarget=c[f];e=g.fireListeners(d,!0,b)&&e}b.propagationStopped_||(g=b.currentTarget=a,e=g.fireListeners(d,!0,b)&&e,b.propagationStopped_||(e=g.fireListeners(d,!1,b)&&e));
if(c)for(f=0;!b.propagationStopped_&&f<c.length;f++)g=b.currentTarget=c[f],e=g.fireListeners(d,!1,b)&&e;return e};goog.Timer=function(a,b){goog.events.EventTarget.call(this);this.interval_=a||1;this.timerObject_=b||goog.Timer.defaultTimerObject;this.boundTick_=goog.bind(this.tick_,this);this.last_=goog.now()};goog.inherits(goog.Timer,goog.events.EventTarget);goog.Timer.MAX_TIMEOUT_=2147483647;goog.Timer.INVALID_TIMEOUT_ID_=-1;goog.Timer.prototype.enabled=!1;goog.Timer.defaultTimerObject=goog.global;goog.Timer.intervalScale=.8;goog.Timer.prototype.timer_=null;goog.Timer.prototype.getInterval=function(){return this.interval_};
goog.Timer.prototype.setInterval=function(a){this.interval_=a;this.timer_&&this.enabled?(this.stop(),this.start()):this.timer_&&this.stop()};
goog.Timer.prototype.tick_=function(){if(this.enabled){var a=goog.now()-this.last_;0<a&&a<this.interval_*goog.Timer.intervalScale?this.timer_=this.timerObject_.setTimeout(this.boundTick_,this.interval_-a):(this.timer_&&(this.timerObject_.clearTimeout(this.timer_),this.timer_=null),this.dispatchTick(),this.enabled&&(this.timer_=this.timerObject_.setTimeout(this.boundTick_,this.interval_),this.last_=goog.now()))}};goog.Timer.prototype.dispatchTick=function(){this.dispatchEvent(goog.Timer.TICK)};
goog.Timer.prototype.start=function(){this.enabled=!0;this.timer_||(this.timer_=this.timerObject_.setTimeout(this.boundTick_,this.interval_),this.last_=goog.now())};goog.Timer.prototype.stop=function(){this.enabled=!1;this.timer_&&(this.timerObject_.clearTimeout(this.timer_),this.timer_=null)};goog.Timer.prototype.disposeInternal=function(){goog.Timer.superClass_.disposeInternal.call(this);this.stop();delete this.timerObject_};goog.Timer.TICK="tick";
goog.Timer.callOnce=function(a,b,c){if(goog.isFunction(a))c&&(a=goog.bind(a,c));else if(a&&"function"==typeof a.handleEvent)a=goog.bind(a.handleEvent,a);else throw Error("Invalid listener argument");return Number(b)>goog.Timer.MAX_TIMEOUT_?goog.Timer.INVALID_TIMEOUT_ID_:goog.Timer.defaultTimerObject.setTimeout(a,b||0)};goog.Timer.clear=function(a){goog.Timer.defaultTimerObject.clearTimeout(a)};
goog.Timer.promise=function(a,b){var c=null;return(new goog.Promise(function(d,e){c=goog.Timer.callOnce(function(){d(b)},a);c==goog.Timer.INVALID_TIMEOUT_ID_&&e(Error("Failed to schedule timer."))})).thenCatch(function(a){goog.Timer.clear(c);throw a;})};goog.json={};goog.json.USE_NATIVE_JSON=!1;goog.json.TRY_NATIVE_JSON=!1;goog.json.isValid=function(a){return/^\s*$/.test(a)?!1:/^[\],:{}\s\u2028\u2029]*$/.test(a.replace(/\\["\\\/bfnrtu]/g,"@").replace(/(?:"[^"\\\n\r\u2028\u2029\x00-\x08\x0a-\x1f]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?)[\s\u2028\u2029]*(?=:|,|]|}|$)/g,"]").replace(/(?:^|:|,)(?:[\s\u2028\u2029]*\[)+/g,""))};goog.json.errorLogger_=goog.nullFunction;goog.json.setErrorLogger=function(a){goog.json.errorLogger_=a};
goog.json.parse=goog.json.USE_NATIVE_JSON?goog.global.JSON.parse:function(a){if(goog.json.TRY_NATIVE_JSON)try{return goog.global.JSON.parse(a)}catch(d){var b=d}a=String(a);if(goog.json.isValid(a))try{var c=eval("("+a+")");b&&goog.json.errorLogger_("Invalid JSON: "+a,b);return c}catch(d){}throw Error("Invalid JSON string: "+a);};
goog.json.unsafeParse=goog.json.USE_NATIVE_JSON?goog.global.JSON.parse:function(a){if(goog.json.TRY_NATIVE_JSON)try{return goog.global.JSON.parse(a)}catch(d){var b=d}var c=eval("("+a+")");b&&goog.json.errorLogger_("Invalid JSON: "+a,b);return c};goog.json.serialize=goog.json.USE_NATIVE_JSON?goog.global.JSON.stringify:function(a,b){return(new goog.json.Serializer(b)).serialize(a)};goog.json.Serializer=function(a){this.replacer_=a};
goog.json.Serializer.prototype.serialize=function(a){var b=[];this.serializeInternal(a,b);return b.join("")};
goog.json.Serializer.prototype.serializeInternal=function(a,b){if(null==a)b.push("null");else{if("object"==typeof a){if(goog.isArray(a)){this.serializeArray(a,b);return}if(a instanceof String||a instanceof Number||a instanceof Boolean)a=a.valueOf();else{this.serializeObject_(a,b);return}}switch(typeof a){case "string":this.serializeString_(a,b);break;case "number":this.serializeNumber_(a,b);break;case "boolean":b.push(String(a));break;case "function":b.push("null");break;default:throw Error("Unknown type: "+
typeof a);}}};goog.json.Serializer.charToJsonCharCache_={'"':'\\"',"\\":"\\\\","/":"\\/","\b":"\\b","\f":"\\f","\n":"\\n","\r":"\\r","\t":"\\t","\x0B":"\\u000b"};goog.json.Serializer.charsToReplace_=/\uffff/.test("")?/[\\"\x00-\x1f\x7f-\uffff]/g:/[\\"\x00-\x1f\x7f-\xff]/g;
goog.json.Serializer.prototype.serializeString_=function(a,b){b.push('"',a.replace(goog.json.Serializer.charsToReplace_,function(a){var b=goog.json.Serializer.charToJsonCharCache_[a];b||(b="\\u"+(a.charCodeAt(0)|65536).toString(16).substr(1),goog.json.Serializer.charToJsonCharCache_[a]=b);return b}),'"')};goog.json.Serializer.prototype.serializeNumber_=function(a,b){b.push(isFinite(a)&&!isNaN(a)?String(a):"null")};
goog.json.Serializer.prototype.serializeArray=function(a,b){var c=a.length;b.push("[");for(var d="",e=0;e<c;e++)b.push(d),d=a[e],this.serializeInternal(this.replacer_?this.replacer_.call(a,String(e),d):d,b),d=",";b.push("]")};
goog.json.Serializer.prototype.serializeObject_=function(a,b){b.push("{");var c="",d;for(d in a)if(Object.prototype.hasOwnProperty.call(a,d)){var e=a[d];"function"!=typeof e&&(b.push(c),this.serializeString_(d,b),b.push(":"),this.serializeInternal(this.replacer_?this.replacer_.call(a,d,e):e,b),c=",")}b.push("}")};goog.json.hybrid={};goog.json.hybrid.stringify=goog.json.USE_NATIVE_JSON?goog.global.JSON.stringify:function(a){if(goog.global.JSON)try{return goog.global.JSON.stringify(a)}catch(b){}return goog.json.serialize(a)};goog.json.hybrid.parse_=function(a,b){if(goog.global.JSON)try{var c=goog.global.JSON.parse(a);goog.asserts.assertObject(c);return c}catch(d){}c=b(a);goog.asserts.assert(c);return c};
goog.json.hybrid.parse=goog.json.USE_NATIVE_JSON?goog.global.JSON.parse:function(a){return goog.json.hybrid.parse_(a,goog.json.parse)};goog.debug.errorcontext={};goog.debug.errorcontext.addErrorContext=function(a,b,c){a[goog.debug.errorcontext.CONTEXT_KEY_]||(a[goog.debug.errorcontext.CONTEXT_KEY_]={});a[goog.debug.errorcontext.CONTEXT_KEY_][b]=c};goog.debug.errorcontext.getErrorContext=function(a){return a[goog.debug.errorcontext.CONTEXT_KEY_]||{}};goog.debug.errorcontext.CONTEXT_KEY_="__closure__error__context__984382";goog.debug.LOGGING_ENABLED=goog.DEBUG;goog.debug.FORCE_SLOPPY_STACKS=!1;goog.debug.catchErrors=function(a,b,c){c=c||goog.global;var d=c.onerror,e=!!b;goog.userAgent.WEBKIT&&!goog.userAgent.isVersionOrHigher("535.3")&&(e=!e);c.onerror=function(b,c,h,k,l){d&&d(b,c,h,k,l);a({message:b,fileName:c,line:h,col:k,error:l});return e}};
goog.debug.expose=function(a,b){if("undefined"==typeof a)return"undefined";if(null==a)return"NULL";var c=[],d;for(d in a)if(b||!goog.isFunction(a[d])){var e=d+" \x3d ";try{e+=a[d]}catch(f){e+="*** "+f+" ***"}c.push(e)}return c.join("\n")};
goog.debug.deepExpose=function(a,b){var c=[],d=[],e={},f=function(a,h){var g=h+"  ";try{if(goog.isDef(a))if(goog.isNull(a))c.push("NULL");else if(goog.isString(a))c.push('"'+a.replace(/\n/g,"\n"+h)+'"');else if(goog.isFunction(a))c.push(String(a).replace(/\n/g,"\n"+h));else if(goog.isObject(a)){goog.hasUid(a)||d.push(a);var l=goog.getUid(a);if(e[l])c.push("*** reference loop detected (id\x3d"+l+") ***");else{e[l]=!0;c.push("{");for(var m in a)if(b||!goog.isFunction(a[m]))c.push("\n"),c.push(g),c.push(m+
" \x3d "),f(a[m],g);c.push("\n"+h+"}");delete e[l]}}else c.push(a);else c.push("undefined")}catch(n){c.push("*** "+n+" ***")}};f(a,"");for(a=0;a<d.length;a++)goog.removeUid(d[a]);return c.join("")};goog.debug.exposeArray=function(a){for(var b=[],c=0;c<a.length;c++)goog.isArray(a[c])?b.push(goog.debug.exposeArray(a[c])):b.push(a[c]);return"[ "+b.join(", ")+" ]"};
goog.debug.normalizeErrorObject=function(a){var b=goog.getObjectByName("window.location.href");if(goog.isString(a))return{message:a,name:"Unknown error",lineNumber:"Not available",fileName:b,stack:"Not available"};var c=!1;try{var d=a.lineNumber||a.line||"Not available"}catch(f){d="Not available",c=!0}try{var e=a.fileName||a.filename||a.sourceURL||goog.global.$googDebugFname||b}catch(f){e="Not available",c=!0}return!c&&a.lineNumber&&a.fileName&&a.stack&&a.message&&a.name?a:{message:a.message||"Not available",
name:a.name||"UnknownError",lineNumber:d,fileName:e,stack:a.stack||"Not available"}};goog.debug.enhanceError=function(a,b){a instanceof Error||(a=Error(a),Error.captureStackTrace&&Error.captureStackTrace(a,goog.debug.enhanceError));a.stack||(a.stack=goog.debug.getStacktrace(goog.debug.enhanceError));if(b){for(var c=0;a["message"+c];)++c;a["message"+c]=String(b)}return a};
goog.debug.enhanceErrorWithContext=function(a,b){a=goog.debug.enhanceError(a);if(b)for(var c in b)goog.debug.errorcontext.addErrorContext(a,c,b[c]);return a};
goog.debug.getStacktraceSimple=function(a){if(!goog.debug.FORCE_SLOPPY_STACKS){var b=goog.debug.getNativeStackTrace_(goog.debug.getStacktraceSimple);if(b)return b}b=[];for(var c=arguments.callee.caller,d=0;c&&(!a||d<a);){b.push(goog.debug.getFunctionName(c));b.push("()\n");try{c=c.caller}catch(e){b.push("[exception trying to get caller]\n");break}d++;if(d>=goog.debug.MAX_STACK_DEPTH){b.push("[...long stack...]");break}}a&&d>=a?b.push("[...reached max depth limit...]"):b.push("[end]");return b.join("")};
goog.debug.MAX_STACK_DEPTH=50;goog.debug.getNativeStackTrace_=function(a){var b=Error();if(Error.captureStackTrace)return Error.captureStackTrace(b,a),String(b.stack);try{throw b;}catch(c){b=c}return(a=b.stack)?String(a):null};goog.debug.getStacktrace=function(a){var b;goog.debug.FORCE_SLOPPY_STACKS||(b=goog.debug.getNativeStackTrace_(a||goog.debug.getStacktrace));b||(b=goog.debug.getStacktraceHelper_(a||arguments.callee.caller,[]));return b};
goog.debug.getStacktraceHelper_=function(a,b){var c=[];if(goog.array.contains(b,a))c.push("[...circular reference...]");else if(a&&b.length<goog.debug.MAX_STACK_DEPTH){c.push(goog.debug.getFunctionName(a)+"(");for(var d=a.arguments,e=0;d&&e<d.length;e++){0<e&&c.push(", ");var f=d[e];switch(typeof f){case "object":f=f?"object":"null";break;case "string":break;case "number":f=String(f);break;case "boolean":f=f?"true":"false";break;case "function":f=(f=goog.debug.getFunctionName(f))?f:"[fn]";break;default:f=
typeof f}40<f.length&&(f=f.substr(0,40)+"...");c.push(f)}b.push(a);c.push(")\n");try{c.push(goog.debug.getStacktraceHelper_(a.caller,b))}catch(g){c.push("[exception trying to get caller]\n")}}else a?c.push("[...long stack...]"):c.push("[end]");return c.join("")};goog.debug.setFunctionResolver=function(a){goog.debug.fnNameResolver_=a};
goog.debug.getFunctionName=function(a){if(goog.debug.fnNameCache_[a])return goog.debug.fnNameCache_[a];if(goog.debug.fnNameResolver_){var b=goog.debug.fnNameResolver_(a);if(b)return goog.debug.fnNameCache_[a]=b}a=String(a);goog.debug.fnNameCache_[a]||(b=/function ([^\(]+)/.exec(a),goog.debug.fnNameCache_[a]=b?b[1]:"[Anonymous]");return goog.debug.fnNameCache_[a]};
goog.debug.makeWhitespaceVisible=function(a){return a.replace(/ /g,"[_]").replace(/\f/g,"[f]").replace(/\n/g,"[n]\n").replace(/\r/g,"[r]").replace(/\t/g,"[t]")};goog.debug.runtimeType=function(a){return a instanceof Function?a.displayName||a.name||"unknown type name":a instanceof Object?a.constructor.displayName||a.constructor.name||Object.prototype.toString.call(a):null===a?"null":typeof a};goog.debug.fnNameCache_={};goog.debug.LogRecord=function(a,b,c,d,e){this.reset(a,b,c,d,e)};goog.debug.LogRecord.prototype.sequenceNumber_=0;goog.debug.LogRecord.prototype.exception_=null;goog.debug.LogRecord.ENABLE_SEQUENCE_NUMBERS=!0;goog.debug.LogRecord.nextSequenceNumber_=0;
goog.debug.LogRecord.prototype.reset=function(a,b,c,d,e){goog.debug.LogRecord.ENABLE_SEQUENCE_NUMBERS&&(this.sequenceNumber_="number"==typeof e?e:goog.debug.LogRecord.nextSequenceNumber_++);this.time_=d||goog.now();this.level_=a;this.msg_=b;this.loggerName_=c;delete this.exception_};goog.debug.LogRecord.prototype.getLoggerName=function(){return this.loggerName_};goog.debug.LogRecord.prototype.getException=function(){return this.exception_};
goog.debug.LogRecord.prototype.setException=function(a){this.exception_=a};goog.debug.LogRecord.prototype.setLoggerName=function(a){this.loggerName_=a};goog.debug.LogRecord.prototype.getLevel=function(){return this.level_};goog.debug.LogRecord.prototype.setLevel=function(a){this.level_=a};goog.debug.LogRecord.prototype.getMessage=function(){return this.msg_};goog.debug.LogRecord.prototype.setMessage=function(a){this.msg_=a};goog.debug.LogRecord.prototype.getMillis=function(){return this.time_};
goog.debug.LogRecord.prototype.setMillis=function(a){this.time_=a};goog.debug.LogRecord.prototype.getSequenceNumber=function(){return this.sequenceNumber_};goog.debug.LogBuffer=function(){goog.asserts.assert(goog.debug.LogBuffer.isBufferingEnabled(),"Cannot use goog.debug.LogBuffer without defining goog.debug.LogBuffer.CAPACITY.");this.clear()};goog.debug.LogBuffer.getInstance=function(){goog.debug.LogBuffer.instance_||(goog.debug.LogBuffer.instance_=new goog.debug.LogBuffer);return goog.debug.LogBuffer.instance_};goog.debug.LogBuffer.CAPACITY=0;
goog.debug.LogBuffer.prototype.addRecord=function(a,b,c){var d=(this.curIndex_+1)%goog.debug.LogBuffer.CAPACITY;this.curIndex_=d;if(this.isFull_)return d=this.buffer_[d],d.reset(a,b,c),d;this.isFull_=d==goog.debug.LogBuffer.CAPACITY-1;return this.buffer_[d]=new goog.debug.LogRecord(a,b,c)};goog.debug.LogBuffer.isBufferingEnabled=function(){return 0<goog.debug.LogBuffer.CAPACITY};
goog.debug.LogBuffer.prototype.clear=function(){this.buffer_=Array(goog.debug.LogBuffer.CAPACITY);this.curIndex_=-1;this.isFull_=!1};goog.debug.LogBuffer.prototype.forEachRecord=function(a){var b=this.buffer_;if(b[0]){var c=this.curIndex_,d=this.isFull_?c:-1;do d=(d+1)%goog.debug.LogBuffer.CAPACITY,a(b[d]);while(d!=c)}};goog.debug.Logger=function(a){this.name_=a;this.handlers_=this.children_=this.level_=this.parent_=null};goog.debug.Logger.ROOT_LOGGER_NAME="";goog.debug.Logger.ENABLE_HIERARCHY=!0;goog.debug.Logger.ENABLE_HIERARCHY||(goog.debug.Logger.rootHandlers_=[]);goog.debug.Logger.Level=function(a,b){this.name=a;this.value=b};goog.debug.Logger.Level.prototype.toString=function(){return this.name};goog.debug.Logger.Level.OFF=new goog.debug.Logger.Level("OFF",Infinity);
goog.debug.Logger.Level.SHOUT=new goog.debug.Logger.Level("SHOUT",1200);goog.debug.Logger.Level.SEVERE=new goog.debug.Logger.Level("SEVERE",1E3);goog.debug.Logger.Level.WARNING=new goog.debug.Logger.Level("WARNING",900);goog.debug.Logger.Level.INFO=new goog.debug.Logger.Level("INFO",800);goog.debug.Logger.Level.CONFIG=new goog.debug.Logger.Level("CONFIG",700);goog.debug.Logger.Level.FINE=new goog.debug.Logger.Level("FINE",500);goog.debug.Logger.Level.FINER=new goog.debug.Logger.Level("FINER",400);
goog.debug.Logger.Level.FINEST=new goog.debug.Logger.Level("FINEST",300);goog.debug.Logger.Level.ALL=new goog.debug.Logger.Level("ALL",0);goog.debug.Logger.Level.PREDEFINED_LEVELS=[goog.debug.Logger.Level.OFF,goog.debug.Logger.Level.SHOUT,goog.debug.Logger.Level.SEVERE,goog.debug.Logger.Level.WARNING,goog.debug.Logger.Level.INFO,goog.debug.Logger.Level.CONFIG,goog.debug.Logger.Level.FINE,goog.debug.Logger.Level.FINER,goog.debug.Logger.Level.FINEST,goog.debug.Logger.Level.ALL];
goog.debug.Logger.Level.predefinedLevelsCache_=null;goog.debug.Logger.Level.createPredefinedLevelsCache_=function(){goog.debug.Logger.Level.predefinedLevelsCache_={};for(var a=0,b;b=goog.debug.Logger.Level.PREDEFINED_LEVELS[a];a++)goog.debug.Logger.Level.predefinedLevelsCache_[b.value]=b,goog.debug.Logger.Level.predefinedLevelsCache_[b.name]=b};
goog.debug.Logger.Level.getPredefinedLevel=function(a){goog.debug.Logger.Level.predefinedLevelsCache_||goog.debug.Logger.Level.createPredefinedLevelsCache_();return goog.debug.Logger.Level.predefinedLevelsCache_[a]||null};
goog.debug.Logger.Level.getPredefinedLevelByValue=function(a){goog.debug.Logger.Level.predefinedLevelsCache_||goog.debug.Logger.Level.createPredefinedLevelsCache_();if(a in goog.debug.Logger.Level.predefinedLevelsCache_)return goog.debug.Logger.Level.predefinedLevelsCache_[a];for(var b=0;b<goog.debug.Logger.Level.PREDEFINED_LEVELS.length;++b){var c=goog.debug.Logger.Level.PREDEFINED_LEVELS[b];if(c.value<=a)return c}return null};goog.debug.Logger.getLogger=function(a){return goog.debug.LogManager.getLogger(a)};
goog.debug.Logger.logToProfilers=function(a){var b=goog.global.console;b&&b.timeStamp&&b.timeStamp(a);(b=goog.global.msWriteProfilerMark)&&b(a)};goog.debug.Logger.prototype.getName=function(){return this.name_};
goog.debug.Logger.prototype.addHandler=function(a){goog.debug.LOGGING_ENABLED&&(goog.debug.Logger.ENABLE_HIERARCHY?(this.handlers_||(this.handlers_=[]),this.handlers_.push(a)):(goog.asserts.assert(!this.name_,"Cannot call addHandler on a non-root logger when goog.debug.Logger.ENABLE_HIERARCHY is false."),goog.debug.Logger.rootHandlers_.push(a)))};
goog.debug.Logger.prototype.removeHandler=function(a){if(goog.debug.LOGGING_ENABLED){var b=goog.debug.Logger.ENABLE_HIERARCHY?this.handlers_:goog.debug.Logger.rootHandlers_;return!!b&&goog.array.remove(b,a)}return!1};goog.debug.Logger.prototype.getParent=function(){return this.parent_};goog.debug.Logger.prototype.getChildren=function(){this.children_||(this.children_={});return this.children_};
goog.debug.Logger.prototype.setLevel=function(a){goog.debug.LOGGING_ENABLED&&(goog.debug.Logger.ENABLE_HIERARCHY?this.level_=a:(goog.asserts.assert(!this.name_,"Cannot call setLevel() on a non-root logger when goog.debug.Logger.ENABLE_HIERARCHY is false."),goog.debug.Logger.rootLevel_=a))};goog.debug.Logger.prototype.getLevel=function(){return goog.debug.LOGGING_ENABLED?this.level_:goog.debug.Logger.Level.OFF};
goog.debug.Logger.prototype.getEffectiveLevel=function(){if(!goog.debug.LOGGING_ENABLED)return goog.debug.Logger.Level.OFF;if(!goog.debug.Logger.ENABLE_HIERARCHY)return goog.debug.Logger.rootLevel_;if(this.level_)return this.level_;if(this.parent_)return this.parent_.getEffectiveLevel();goog.asserts.fail("Root logger has no level set.");return null};goog.debug.Logger.prototype.isLoggable=function(a){return goog.debug.LOGGING_ENABLED&&a.value>=this.getEffectiveLevel().value};
goog.debug.Logger.prototype.log=function(a,b,c){goog.debug.LOGGING_ENABLED&&this.isLoggable(a)&&(goog.isFunction(b)&&(b=b()),this.doLogRecord_(this.getLogRecord(a,b,c)))};goog.debug.Logger.prototype.getLogRecord=function(a,b,c){a=goog.debug.LogBuffer.isBufferingEnabled()?goog.debug.LogBuffer.getInstance().addRecord(a,b,this.name_):new goog.debug.LogRecord(a,String(b),this.name_);c&&a.setException(c);return a};
goog.debug.Logger.prototype.shout=function(a,b){goog.debug.LOGGING_ENABLED&&this.log(goog.debug.Logger.Level.SHOUT,a,b)};goog.debug.Logger.prototype.severe=function(a,b){goog.debug.LOGGING_ENABLED&&this.log(goog.debug.Logger.Level.SEVERE,a,b)};goog.debug.Logger.prototype.warning=function(a,b){goog.debug.LOGGING_ENABLED&&this.log(goog.debug.Logger.Level.WARNING,a,b)};goog.debug.Logger.prototype.info=function(a,b){goog.debug.LOGGING_ENABLED&&this.log(goog.debug.Logger.Level.INFO,a,b)};
goog.debug.Logger.prototype.config=function(a,b){goog.debug.LOGGING_ENABLED&&this.log(goog.debug.Logger.Level.CONFIG,a,b)};goog.debug.Logger.prototype.fine=function(a,b){goog.debug.LOGGING_ENABLED&&this.log(goog.debug.Logger.Level.FINE,a,b)};goog.debug.Logger.prototype.finer=function(a,b){goog.debug.LOGGING_ENABLED&&this.log(goog.debug.Logger.Level.FINER,a,b)};goog.debug.Logger.prototype.finest=function(a,b){goog.debug.LOGGING_ENABLED&&this.log(goog.debug.Logger.Level.FINEST,a,b)};
goog.debug.Logger.prototype.logRecord=function(a){goog.debug.LOGGING_ENABLED&&this.isLoggable(a.getLevel())&&this.doLogRecord_(a)};goog.debug.Logger.prototype.doLogRecord_=function(a){goog.debug.Logger.logToProfilers("log:"+a.getMessage());if(goog.debug.Logger.ENABLE_HIERARCHY)for(var b=this;b;)b.callPublish_(a),b=b.getParent();else{b=0;for(var c;c=goog.debug.Logger.rootHandlers_[b++];)c(a)}};goog.debug.Logger.prototype.callPublish_=function(a){if(this.handlers_)for(var b=0,c;c=this.handlers_[b];b++)c(a)};
goog.debug.Logger.prototype.setParent_=function(a){this.parent_=a};goog.debug.Logger.prototype.addChild_=function(a,b){this.getChildren()[a]=b};goog.debug.LogManager={};goog.debug.LogManager.loggers_={};goog.debug.LogManager.rootLogger_=null;
goog.debug.LogManager.initialize=function(){goog.debug.LogManager.rootLogger_||(goog.debug.LogManager.rootLogger_=new goog.debug.Logger(goog.debug.Logger.ROOT_LOGGER_NAME),goog.debug.LogManager.loggers_[goog.debug.Logger.ROOT_LOGGER_NAME]=goog.debug.LogManager.rootLogger_,goog.debug.LogManager.rootLogger_.setLevel(goog.debug.Logger.Level.CONFIG))};goog.debug.LogManager.getLoggers=function(){return goog.debug.LogManager.loggers_};
goog.debug.LogManager.getRoot=function(){goog.debug.LogManager.initialize();return goog.debug.LogManager.rootLogger_};goog.debug.LogManager.getLogger=function(a){goog.debug.LogManager.initialize();return goog.debug.LogManager.loggers_[a]||goog.debug.LogManager.createLogger_(a)};goog.debug.LogManager.createFunctionForCatchErrors=function(a){return function(b){(a||goog.debug.LogManager.getRoot()).severe("Error: "+b.message+" ("+b.fileName+" @ Line: "+b.line+")")}};
goog.debug.LogManager.createLogger_=function(a){var b=new goog.debug.Logger(a);if(goog.debug.Logger.ENABLE_HIERARCHY){var c=a.lastIndexOf("."),d=a.substr(0,c);c=a.substr(c+1);d=goog.debug.LogManager.getLogger(d);d.addChild_(c,b);b.setParent_(d)}return goog.debug.LogManager.loggers_[a]=b};goog.log={};goog.log.ENABLED=goog.debug.LOGGING_ENABLED;goog.log.ROOT_LOGGER_NAME=goog.debug.Logger.ROOT_LOGGER_NAME;goog.log.Logger=goog.debug.Logger;goog.log.Level=goog.debug.Logger.Level;goog.log.LogRecord=goog.debug.LogRecord;goog.log.getLogger=function(a,b){return goog.log.ENABLED?(a=goog.debug.LogManager.getLogger(a),b&&a&&a.setLevel(b),a):null};goog.log.addHandler=function(a,b){goog.log.ENABLED&&a&&a.addHandler(b)};
goog.log.removeHandler=function(a,b){return goog.log.ENABLED&&a?a.removeHandler(b):!1};goog.log.log=function(a,b,c,d){goog.log.ENABLED&&a&&a.log(b,c,d)};goog.log.error=function(a,b,c){goog.log.ENABLED&&a&&a.severe(b,c)};goog.log.warning=function(a,b,c){goog.log.ENABLED&&a&&a.warning(b,c)};goog.log.info=function(a,b,c){goog.log.ENABLED&&a&&a.info(b,c)};goog.log.fine=function(a,b,c){goog.log.ENABLED&&a&&a.fine(b,c)};goog.net={};goog.net.ErrorCode={NO_ERROR:0,ACCESS_DENIED:1,FILE_NOT_FOUND:2,FF_SILENT_ERROR:3,CUSTOM_ERROR:4,EXCEPTION:5,HTTP_ERROR:6,ABORT:7,TIMEOUT:8,OFFLINE:9};
goog.net.ErrorCode.getDebugMessage=function(a){switch(a){case goog.net.ErrorCode.NO_ERROR:return"No Error";case goog.net.ErrorCode.ACCESS_DENIED:return"Access denied to content document";case goog.net.ErrorCode.FILE_NOT_FOUND:return"File not found";case goog.net.ErrorCode.FF_SILENT_ERROR:return"Firefox silently errored";case goog.net.ErrorCode.CUSTOM_ERROR:return"Application custom error";case goog.net.ErrorCode.EXCEPTION:return"An exception occurred";case goog.net.ErrorCode.HTTP_ERROR:return"Http response at 400 or 500 level";
case goog.net.ErrorCode.ABORT:return"Request was aborted";case goog.net.ErrorCode.TIMEOUT:return"Request timed out";case goog.net.ErrorCode.OFFLINE:return"The resource is not available offline";default:return"Unrecognized error code"}};goog.net.EventType={COMPLETE:"complete",SUCCESS:"success",ERROR:"error",ABORT:"abort",READY:"ready",READY_STATE_CHANGE:"readystatechange",TIMEOUT:"timeout",INCREMENTAL_DATA:"incrementaldata",PROGRESS:"progress",DOWNLOAD_PROGRESS:"downloadprogress",UPLOAD_PROGRESS:"uploadprogress"};goog.net.HttpStatus={CONTINUE:100,SWITCHING_PROTOCOLS:101,OK:200,CREATED:201,ACCEPTED:202,NON_AUTHORITATIVE_INFORMATION:203,NO_CONTENT:204,RESET_CONTENT:205,PARTIAL_CONTENT:206,MULTIPLE_CHOICES:300,MOVED_PERMANENTLY:301,FOUND:302,SEE_OTHER:303,NOT_MODIFIED:304,USE_PROXY:305,TEMPORARY_REDIRECT:307,BAD_REQUEST:400,UNAUTHORIZED:401,PAYMENT_REQUIRED:402,FORBIDDEN:403,NOT_FOUND:404,METHOD_NOT_ALLOWED:405,NOT_ACCEPTABLE:406,PROXY_AUTHENTICATION_REQUIRED:407,REQUEST_TIMEOUT:408,CONFLICT:409,GONE:410,LENGTH_REQUIRED:411,
PRECONDITION_FAILED:412,REQUEST_ENTITY_TOO_LARGE:413,REQUEST_URI_TOO_LONG:414,UNSUPPORTED_MEDIA_TYPE:415,REQUEST_RANGE_NOT_SATISFIABLE:416,EXPECTATION_FAILED:417,PRECONDITION_REQUIRED:428,TOO_MANY_REQUESTS:429,REQUEST_HEADER_FIELDS_TOO_LARGE:431,INTERNAL_SERVER_ERROR:500,NOT_IMPLEMENTED:501,BAD_GATEWAY:502,SERVICE_UNAVAILABLE:503,GATEWAY_TIMEOUT:504,HTTP_VERSION_NOT_SUPPORTED:505,NETWORK_AUTHENTICATION_REQUIRED:511,QUIRK_IE_NO_CONTENT:1223};
goog.net.HttpStatus.isSuccess=function(a){switch(a){case goog.net.HttpStatus.OK:case goog.net.HttpStatus.CREATED:case goog.net.HttpStatus.ACCEPTED:case goog.net.HttpStatus.NO_CONTENT:case goog.net.HttpStatus.PARTIAL_CONTENT:case goog.net.HttpStatus.NOT_MODIFIED:case goog.net.HttpStatus.QUIRK_IE_NO_CONTENT:return!0;default:return!1}};goog.net.XhrLike=function(){};goog.net.XhrLike.prototype.open=function(a,b,c,d,e){};goog.net.XhrLike.prototype.send=function(a){};goog.net.XhrLike.prototype.abort=function(){};goog.net.XhrLike.prototype.setRequestHeader=function(a,b){};goog.net.XhrLike.prototype.getResponseHeader=function(a){};goog.net.XhrLike.prototype.getAllResponseHeaders=function(){};goog.net.XmlHttpFactory=function(){};goog.net.XmlHttpFactory.prototype.cachedOptions_=null;goog.net.XmlHttpFactory.prototype.createInstance=goog.abstractMethod;goog.net.XmlHttpFactory.prototype.getOptions=function(){return this.cachedOptions_||(this.cachedOptions_=this.internalGetOptions())};goog.net.XmlHttpFactory.prototype.internalGetOptions=goog.abstractMethod;goog.net.WrapperXmlHttpFactory=function(a,b){goog.net.XmlHttpFactory.call(this);this.xhrFactory_=a;this.optionsFactory_=b};goog.inherits(goog.net.WrapperXmlHttpFactory,goog.net.XmlHttpFactory);goog.net.WrapperXmlHttpFactory.prototype.createInstance=function(){return this.xhrFactory_()};goog.net.WrapperXmlHttpFactory.prototype.getOptions=function(){return this.optionsFactory_()};goog.net.XmlHttp=function(){return goog.net.XmlHttp.factory_.createInstance()};goog.net.XmlHttp.ASSUME_NATIVE_XHR=!1;goog.net.XmlHttpDefines={};goog.net.XmlHttpDefines.ASSUME_NATIVE_XHR=!1;goog.net.XmlHttp.getOptions=function(){return goog.net.XmlHttp.factory_.getOptions()};goog.net.XmlHttp.OptionType={USE_NULL_FUNCTION:0,LOCAL_REQUEST_ERROR:1};goog.net.XmlHttp.ReadyState={UNINITIALIZED:0,LOADING:1,LOADED:2,INTERACTIVE:3,COMPLETE:4};
goog.net.XmlHttp.setFactory=function(a,b){goog.net.XmlHttp.setGlobalFactory(new goog.net.WrapperXmlHttpFactory(goog.asserts.assert(a),goog.asserts.assert(b)))};goog.net.XmlHttp.setGlobalFactory=function(a){goog.net.XmlHttp.factory_=a};goog.net.DefaultXmlHttpFactory=function(){goog.net.XmlHttpFactory.call(this)};goog.inherits(goog.net.DefaultXmlHttpFactory,goog.net.XmlHttpFactory);
goog.net.DefaultXmlHttpFactory.prototype.createInstance=function(){var a=this.getProgId_();return a?new ActiveXObject(a):new XMLHttpRequest};goog.net.DefaultXmlHttpFactory.prototype.internalGetOptions=function(){var a={};this.getProgId_()&&(a[goog.net.XmlHttp.OptionType.USE_NULL_FUNCTION]=!0,a[goog.net.XmlHttp.OptionType.LOCAL_REQUEST_ERROR]=!0);return a};
goog.net.DefaultXmlHttpFactory.prototype.getProgId_=function(){if(goog.net.XmlHttp.ASSUME_NATIVE_XHR||goog.net.XmlHttpDefines.ASSUME_NATIVE_XHR)return"";if(!this.ieProgId_&&"undefined"==typeof XMLHttpRequest&&"undefined"!=typeof ActiveXObject){for(var a=["MSXML2.XMLHTTP.6.0","MSXML2.XMLHTTP.3.0","MSXML2.XMLHTTP","Microsoft.XMLHTTP"],b=0;b<a.length;b++){var c=a[b];try{return new ActiveXObject(c),this.ieProgId_=c}catch(d){}}throw Error("Could not create ActiveXObject. ActiveX might be disabled, or MSXML might not be installed");
}return this.ieProgId_};goog.net.XmlHttp.setGlobalFactory(new goog.net.DefaultXmlHttpFactory);goog.net.XhrIo=function(a){goog.events.EventTarget.call(this);this.headers=new goog.structs.Map;this.xmlHttpFactory_=a||null;this.active_=!1;this.xhrOptions_=this.xhr_=null;this.lastMethod_=this.lastUri_="";this.lastErrorCode_=goog.net.ErrorCode.NO_ERROR;this.lastError_="";this.inAbort_=this.inOpen_=this.inSend_=this.errorDispatched_=!1;this.timeoutInterval_=0;this.timeoutId_=null;this.responseType_=goog.net.XhrIo.ResponseType.DEFAULT;this.useXhr2Timeout_=this.progressEventsEnabled_=this.withCredentials_=
!1};goog.inherits(goog.net.XhrIo,goog.events.EventTarget);goog.net.XhrIo.ResponseType={DEFAULT:"",TEXT:"text",DOCUMENT:"document",BLOB:"blob",ARRAY_BUFFER:"arraybuffer"};goog.net.XhrIo.prototype.logger_=goog.log.getLogger("goog.net.XhrIo");goog.net.XhrIo.CONTENT_TYPE_HEADER="Content-Type";goog.net.XhrIo.CONTENT_TRANSFER_ENCODING="Content-Transfer-Encoding";goog.net.XhrIo.HTTP_SCHEME_PATTERN=/^https?$/i;goog.net.XhrIo.METHODS_WITH_FORM_DATA=["POST","PUT"];goog.net.XhrIo.FORM_CONTENT_TYPE="application/x-www-form-urlencoded;charset\x3dutf-8";
goog.net.XhrIo.XHR2_TIMEOUT_="timeout";goog.net.XhrIo.XHR2_ON_TIMEOUT_="ontimeout";goog.net.XhrIo.sendInstances_=[];goog.net.XhrIo.send=function(a,b,c,d,e,f,g){var h=new goog.net.XhrIo;goog.net.XhrIo.sendInstances_.push(h);b&&h.listen(goog.net.EventType.COMPLETE,b);h.listenOnce(goog.net.EventType.READY,h.cleanupSend_);f&&h.setTimeoutInterval(f);g&&h.setWithCredentials(g);h.send(a,c,d,e);return h};goog.net.XhrIo.cleanup=function(){for(var a=goog.net.XhrIo.sendInstances_;a.length;)a.pop().dispose()};
goog.net.XhrIo.protectEntryPoints=function(a){goog.net.XhrIo.prototype.onReadyStateChangeEntryPoint_=a.protectEntryPoint(goog.net.XhrIo.prototype.onReadyStateChangeEntryPoint_)};goog.net.XhrIo.prototype.cleanupSend_=function(){this.dispose();goog.array.remove(goog.net.XhrIo.sendInstances_,this)};goog.net.XhrIo.prototype.getTimeoutInterval=function(){return this.timeoutInterval_};goog.net.XhrIo.prototype.setTimeoutInterval=function(a){this.timeoutInterval_=Math.max(0,a)};
goog.net.XhrIo.prototype.setResponseType=function(a){this.responseType_=a};goog.net.XhrIo.prototype.getResponseType=function(){return this.responseType_};goog.net.XhrIo.prototype.setWithCredentials=function(a){this.withCredentials_=a};goog.net.XhrIo.prototype.getWithCredentials=function(){return this.withCredentials_};goog.net.XhrIo.prototype.setProgressEventsEnabled=function(a){this.progressEventsEnabled_=a};goog.net.XhrIo.prototype.getProgressEventsEnabled=function(){return this.progressEventsEnabled_};
goog.net.XhrIo.prototype.send=function(a,b,c,d){if(this.xhr_)throw Error("[goog.net.XhrIo] Object is active with another request\x3d"+this.lastUri_+"; newUri\x3d"+a);b=b?b.toUpperCase():"GET";this.lastUri_=a;this.lastError_="";this.lastErrorCode_=goog.net.ErrorCode.NO_ERROR;this.lastMethod_=b;this.errorDispatched_=!1;this.active_=!0;this.xhr_=this.createXhr();this.xhrOptions_=this.xmlHttpFactory_?this.xmlHttpFactory_.getOptions():goog.net.XmlHttp.getOptions();this.xhr_.onreadystatechange=goog.bind(this.onReadyStateChange_,
this);this.getProgressEventsEnabled()&&"onprogress"in this.xhr_&&(this.xhr_.onprogress=goog.bind(function(a){this.onProgressHandler_(a,!0)},this),this.xhr_.upload&&(this.xhr_.upload.onprogress=goog.bind(this.onProgressHandler_,this)));try{goog.log.fine(this.logger_,this.formatMsg_("Opening Xhr")),this.inOpen_=!0,this.xhr_.open(b,String(a),!0),this.inOpen_=!1}catch(f){goog.log.fine(this.logger_,this.formatMsg_("Error opening Xhr: "+f.message));this.error_(goog.net.ErrorCode.EXCEPTION,f);return}a=c||
"";var e=this.headers.clone();d&&goog.structs.forEach(d,function(a,b){e.set(b,a)});d=goog.array.find(e.getKeys(),goog.net.XhrIo.isContentTypeHeader_);c=goog.global.FormData&&a instanceof goog.global.FormData;!goog.array.contains(goog.net.XhrIo.METHODS_WITH_FORM_DATA,b)||d||c||e.set(goog.net.XhrIo.CONTENT_TYPE_HEADER,goog.net.XhrIo.FORM_CONTENT_TYPE);e.forEach(function(a,b){this.xhr_.setRequestHeader(b,a)},this);this.responseType_&&(this.xhr_.responseType=this.responseType_);"withCredentials"in this.xhr_&&
this.xhr_.withCredentials!==this.withCredentials_&&(this.xhr_.withCredentials=this.withCredentials_);try{this.cleanUpTimeoutTimer_(),0<this.timeoutInterval_&&(this.useXhr2Timeout_=goog.net.XhrIo.shouldUseXhr2Timeout_(this.xhr_),goog.log.fine(this.logger_,this.formatMsg_("Will abort after "+this.timeoutInterval_+"ms if incomplete, xhr2 "+this.useXhr2Timeout_)),this.useXhr2Timeout_?(this.xhr_[goog.net.XhrIo.XHR2_TIMEOUT_]=this.timeoutInterval_,this.xhr_[goog.net.XhrIo.XHR2_ON_TIMEOUT_]=goog.bind(this.timeout_,
this)):this.timeoutId_=goog.Timer.callOnce(this.timeout_,this.timeoutInterval_,this)),goog.log.fine(this.logger_,this.formatMsg_("Sending request")),this.inSend_=!0,this.xhr_.send(a),this.inSend_=!1}catch(f){goog.log.fine(this.logger_,this.formatMsg_("Send error: "+f.message)),this.error_(goog.net.ErrorCode.EXCEPTION,f)}};goog.net.XhrIo.shouldUseXhr2Timeout_=function(a){return goog.userAgent.IE&&goog.userAgent.isVersionOrHigher(9)&&goog.isNumber(a[goog.net.XhrIo.XHR2_TIMEOUT_])&&goog.isDef(a[goog.net.XhrIo.XHR2_ON_TIMEOUT_])};
goog.net.XhrIo.isContentTypeHeader_=function(a){return goog.string.caseInsensitiveEquals(goog.net.XhrIo.CONTENT_TYPE_HEADER,a)};goog.net.XhrIo.prototype.createXhr=function(){return this.xmlHttpFactory_?this.xmlHttpFactory_.createInstance():goog.net.XmlHttp()};
goog.net.XhrIo.prototype.timeout_=function(){"undefined"!=typeof goog&&this.xhr_&&(this.lastError_="Timed out after "+this.timeoutInterval_+"ms, aborting",this.lastErrorCode_=goog.net.ErrorCode.TIMEOUT,goog.log.fine(this.logger_,this.formatMsg_(this.lastError_)),this.dispatchEvent(goog.net.EventType.TIMEOUT),this.abort(goog.net.ErrorCode.TIMEOUT))};
goog.net.XhrIo.prototype.error_=function(a,b){this.active_=!1;this.xhr_&&(this.inAbort_=!0,this.xhr_.abort(),this.inAbort_=!1);this.lastError_=b;this.lastErrorCode_=a;this.dispatchErrors_();this.cleanUpXhr_()};goog.net.XhrIo.prototype.dispatchErrors_=function(){this.errorDispatched_||(this.errorDispatched_=!0,this.dispatchEvent(goog.net.EventType.COMPLETE),this.dispatchEvent(goog.net.EventType.ERROR))};
goog.net.XhrIo.prototype.abort=function(a){this.xhr_&&this.active_&&(goog.log.fine(this.logger_,this.formatMsg_("Aborting")),this.active_=!1,this.inAbort_=!0,this.xhr_.abort(),this.inAbort_=!1,this.lastErrorCode_=a||goog.net.ErrorCode.ABORT,this.dispatchEvent(goog.net.EventType.COMPLETE),this.dispatchEvent(goog.net.EventType.ABORT),this.cleanUpXhr_())};
goog.net.XhrIo.prototype.disposeInternal=function(){this.xhr_&&(this.active_&&(this.active_=!1,this.inAbort_=!0,this.xhr_.abort(),this.inAbort_=!1),this.cleanUpXhr_(!0));goog.net.XhrIo.superClass_.disposeInternal.call(this)};goog.net.XhrIo.prototype.onReadyStateChange_=function(){if(!this.isDisposed())if(this.inOpen_||this.inSend_||this.inAbort_)this.onReadyStateChangeHelper_();else this.onReadyStateChangeEntryPoint_()};goog.net.XhrIo.prototype.onReadyStateChangeEntryPoint_=function(){this.onReadyStateChangeHelper_()};
goog.net.XhrIo.prototype.onReadyStateChangeHelper_=function(){if(this.active_&&"undefined"!=typeof goog)if(this.xhrOptions_[goog.net.XmlHttp.OptionType.LOCAL_REQUEST_ERROR]&&this.getReadyState()==goog.net.XmlHttp.ReadyState.COMPLETE&&2==this.getStatus())goog.log.fine(this.logger_,this.formatMsg_("Local request error detected and ignored"));else if(this.inSend_&&this.getReadyState()==goog.net.XmlHttp.ReadyState.COMPLETE)goog.Timer.callOnce(this.onReadyStateChange_,0,this);else if(this.dispatchEvent(goog.net.EventType.READY_STATE_CHANGE),
this.isComplete()){goog.log.fine(this.logger_,this.formatMsg_("Request complete"));this.active_=!1;try{this.isSuccess()?(this.dispatchEvent(goog.net.EventType.COMPLETE),this.dispatchEvent(goog.net.EventType.SUCCESS)):(this.lastErrorCode_=goog.net.ErrorCode.HTTP_ERROR,this.lastError_=this.getStatusText()+" ["+this.getStatus()+"]",this.dispatchErrors_())}finally{this.cleanUpXhr_()}}};
goog.net.XhrIo.prototype.onProgressHandler_=function(a,b){goog.asserts.assert(a.type===goog.net.EventType.PROGRESS,"goog.net.EventType.PROGRESS is of the same type as raw XHR progress.");this.dispatchEvent(goog.net.XhrIo.buildProgressEvent_(a,goog.net.EventType.PROGRESS));this.dispatchEvent(goog.net.XhrIo.buildProgressEvent_(a,b?goog.net.EventType.DOWNLOAD_PROGRESS:goog.net.EventType.UPLOAD_PROGRESS))};
goog.net.XhrIo.buildProgressEvent_=function(a,b){return{type:b,lengthComputable:a.lengthComputable,loaded:a.loaded,total:a.total}};
goog.net.XhrIo.prototype.cleanUpXhr_=function(a){if(this.xhr_){this.cleanUpTimeoutTimer_();var b=this.xhr_,c=this.xhrOptions_[goog.net.XmlHttp.OptionType.USE_NULL_FUNCTION]?goog.nullFunction:null;this.xhrOptions_=this.xhr_=null;a||this.dispatchEvent(goog.net.EventType.READY);try{b.onreadystatechange=c}catch(d){goog.log.error(this.logger_,"Problem encountered resetting onreadystatechange: "+d.message)}}};
goog.net.XhrIo.prototype.cleanUpTimeoutTimer_=function(){this.xhr_&&this.useXhr2Timeout_&&(this.xhr_[goog.net.XhrIo.XHR2_ON_TIMEOUT_]=null);goog.isNumber(this.timeoutId_)&&(goog.Timer.clear(this.timeoutId_),this.timeoutId_=null)};goog.net.XhrIo.prototype.isActive=function(){return!!this.xhr_};goog.net.XhrIo.prototype.isComplete=function(){return this.getReadyState()==goog.net.XmlHttp.ReadyState.COMPLETE};
goog.net.XhrIo.prototype.isSuccess=function(){var a=this.getStatus();return goog.net.HttpStatus.isSuccess(a)||0===a&&!this.isLastUriEffectiveSchemeHttp_()};goog.net.XhrIo.prototype.isLastUriEffectiveSchemeHttp_=function(){var a=goog.uri.utils.getEffectiveScheme(String(this.lastUri_));return goog.net.XhrIo.HTTP_SCHEME_PATTERN.test(a)};goog.net.XhrIo.prototype.getReadyState=function(){return this.xhr_?this.xhr_.readyState:goog.net.XmlHttp.ReadyState.UNINITIALIZED};
goog.net.XhrIo.prototype.getStatus=function(){try{return this.getReadyState()>goog.net.XmlHttp.ReadyState.LOADED?this.xhr_.status:-1}catch(a){return-1}};goog.net.XhrIo.prototype.getStatusText=function(){try{return this.getReadyState()>goog.net.XmlHttp.ReadyState.LOADED?this.xhr_.statusText:""}catch(a){return goog.log.fine(this.logger_,"Can not get status: "+a.message),""}};goog.net.XhrIo.prototype.getLastUri=function(){return String(this.lastUri_)};
goog.net.XhrIo.prototype.getResponseText=function(){try{return this.xhr_?this.xhr_.responseText:""}catch(a){return goog.log.fine(this.logger_,"Can not get responseText: "+a.message),""}};goog.net.XhrIo.prototype.getResponseBody=function(){try{if(this.xhr_&&"responseBody"in this.xhr_)return this.xhr_.responseBody}catch(a){goog.log.fine(this.logger_,"Can not get responseBody: "+a.message)}return null};
goog.net.XhrIo.prototype.getResponseXml=function(){try{return this.xhr_?this.xhr_.responseXML:null}catch(a){return goog.log.fine(this.logger_,"Can not get responseXML: "+a.message),null}};goog.net.XhrIo.prototype.getResponseJson=function(a){if(this.xhr_){var b=this.xhr_.responseText;a&&0==b.indexOf(a)&&(b=b.substring(a.length));return goog.json.hybrid.parse(b)}};
goog.net.XhrIo.prototype.getResponse=function(){try{if(!this.xhr_)return null;if("response"in this.xhr_)return this.xhr_.response;switch(this.responseType_){case goog.net.XhrIo.ResponseType.DEFAULT:case goog.net.XhrIo.ResponseType.TEXT:return this.xhr_.responseText;case goog.net.XhrIo.ResponseType.ARRAY_BUFFER:if("mozResponseArrayBuffer"in this.xhr_)return this.xhr_.mozResponseArrayBuffer}goog.log.error(this.logger_,"Response type "+this.responseType_+" is not supported on this browser");return null}catch(a){return goog.log.fine(this.logger_,
"Can not get response: "+a.message),null}};goog.net.XhrIo.prototype.getResponseHeader=function(a){if(this.xhr_&&this.isComplete())return a=this.xhr_.getResponseHeader(a),goog.isNull(a)?void 0:a};goog.net.XhrIo.prototype.getAllResponseHeaders=function(){return this.xhr_&&this.isComplete()?this.xhr_.getAllResponseHeaders():""};
goog.net.XhrIo.prototype.getResponseHeaders=function(){for(var a={},b=this.getAllResponseHeaders().split("\r\n"),c=0;c<b.length;c++)if(!goog.string.isEmptyOrWhitespace(b[c])){var d=goog.string.splitLimit(b[c],": ",2);a[d[0]]=a[d[0]]?a[d[0]]+(", "+d[1]):d[1]}return a};goog.net.XhrIo.prototype.getStreamingResponseHeader=function(a){return this.xhr_?this.xhr_.getResponseHeader(a):null};
goog.net.XhrIo.prototype.getAllStreamingResponseHeaders=function(){return this.xhr_?this.xhr_.getAllResponseHeaders():""};goog.net.XhrIo.prototype.getLastErrorCode=function(){return this.lastErrorCode_};goog.net.XhrIo.prototype.getLastError=function(){return goog.isString(this.lastError_)?this.lastError_:String(this.lastError_)};goog.net.XhrIo.prototype.formatMsg_=function(a){return a+" ["+this.lastMethod_+" "+this.lastUri_+" "+this.getStatus()+"]"};
goog.debug.entryPointRegistry.register(function(a){goog.net.XhrIo.prototype.onReadyStateChangeEntryPoint_=a(goog.net.XhrIo.prototype.onReadyStateChangeEntryPoint_)});goog.structs.Queue=function(){this.front_=[];this.back_=[]};goog.structs.Queue.prototype.maybeFlip_=function(){goog.array.isEmpty(this.front_)&&(this.front_=this.back_,this.front_.reverse(),this.back_=[])};goog.structs.Queue.prototype.enqueue=function(a){this.back_.push(a)};goog.structs.Queue.prototype.dequeue=function(){this.maybeFlip_();return this.front_.pop()};goog.structs.Queue.prototype.peek=function(){this.maybeFlip_();return goog.array.peek(this.front_)};
goog.structs.Queue.prototype.getCount=function(){return this.front_.length+this.back_.length};goog.structs.Queue.prototype.isEmpty=function(){return goog.array.isEmpty(this.front_)&&goog.array.isEmpty(this.back_)};goog.structs.Queue.prototype.clear=function(){this.front_=[];this.back_=[]};goog.structs.Queue.prototype.contains=function(a){return goog.array.contains(this.front_,a)||goog.array.contains(this.back_,a)};
goog.structs.Queue.prototype.remove=function(a){return goog.array.removeLast(this.front_,a)||goog.array.remove(this.back_,a)};goog.structs.Queue.prototype.getValues=function(){for(var a=[],b=this.front_.length-1;0<=b;--b)a.push(this.front_[b]);var c=this.back_.length;for(b=0;b<c;++b)a.push(this.back_[b]);return a};goog.structs.Collection=function(){};goog.structs.Set=function(a){this.map_=new goog.structs.Map;a&&this.addAll(a)};goog.structs.Set.getKey_=function(a){var b=typeof a;return"object"==b&&a||"function"==b?"o"+goog.getUid(a):b.substr(0,1)+a};goog.structs.Set.prototype.getCount=function(){return this.map_.getCount()};goog.structs.Set.prototype.add=function(a){this.map_.set(goog.structs.Set.getKey_(a),a)};goog.structs.Set.prototype.addAll=function(a){a=goog.structs.getValues(a);for(var b=a.length,c=0;c<b;c++)this.add(a[c])};
goog.structs.Set.prototype.removeAll=function(a){a=goog.structs.getValues(a);for(var b=a.length,c=0;c<b;c++)this.remove(a[c])};goog.structs.Set.prototype.remove=function(a){return this.map_.remove(goog.structs.Set.getKey_(a))};goog.structs.Set.prototype.clear=function(){this.map_.clear()};goog.structs.Set.prototype.isEmpty=function(){return this.map_.isEmpty()};goog.structs.Set.prototype.contains=function(a){return this.map_.containsKey(goog.structs.Set.getKey_(a))};
goog.structs.Set.prototype.containsAll=function(a){return goog.structs.every(a,this.contains,this)};goog.structs.Set.prototype.intersection=function(a){var b=new goog.structs.Set;a=goog.structs.getValues(a);for(var c=0;c<a.length;c++){var d=a[c];this.contains(d)&&b.add(d)}return b};goog.structs.Set.prototype.difference=function(a){var b=this.clone();b.removeAll(a);return b};goog.structs.Set.prototype.getValues=function(){return this.map_.getValues()};goog.structs.Set.prototype.clone=function(){return new goog.structs.Set(this)};
goog.structs.Set.prototype.equals=function(a){return this.getCount()==goog.structs.getCount(a)&&this.isSubsetOf(a)};goog.structs.Set.prototype.isSubsetOf=function(a){var b=goog.structs.getCount(a);if(this.getCount()>b)return!1;!(a instanceof goog.structs.Set)&&5<b&&(a=new goog.structs.Set(a));return goog.structs.every(this,function(b){return goog.structs.contains(a,b)})};goog.structs.Set.prototype.__iterator__=function(a){return this.map_.__iterator__(!1)};goog.structs.Pool=function(a,b){goog.Disposable.call(this);this.minCount_=a||0;this.maxCount_=b||10;if(this.minCount_>this.maxCount_)throw Error(goog.structs.Pool.ERROR_MIN_MAX_);this.freeQueue_=new goog.structs.Queue;this.inUseSet_=new goog.structs.Set;this.delay=0;this.lastAccess=null;this.adjustForMinMax()};goog.inherits(goog.structs.Pool,goog.Disposable);goog.structs.Pool.ERROR_MIN_MAX_="[goog.structs.Pool] Min can not be greater than max";goog.structs.Pool.ERROR_DISPOSE_UNRELEASED_OBJS_="[goog.structs.Pool] Objects not released";
goog.structs.Pool.prototype.setMinimumCount=function(a){if(a>this.maxCount_)throw Error(goog.structs.Pool.ERROR_MIN_MAX_);this.minCount_=a;this.adjustForMinMax()};goog.structs.Pool.prototype.setMaximumCount=function(a){if(a<this.minCount_)throw Error(goog.structs.Pool.ERROR_MIN_MAX_);this.maxCount_=a;this.adjustForMinMax()};goog.structs.Pool.prototype.setDelay=function(a){this.delay=a};
goog.structs.Pool.prototype.getObject=function(){var a=goog.now();if(!(goog.isDefAndNotNull(this.lastAccess)&&a-this.lastAccess<this.delay)){var b=this.removeFreeObject_();b&&(this.lastAccess=a,this.inUseSet_.add(b));return b}};goog.structs.Pool.prototype.releaseObject=function(a){return this.inUseSet_.remove(a)?(this.addFreeObject(a),!0):!1};
goog.structs.Pool.prototype.removeFreeObject_=function(){for(var a;0<this.getFreeCount()&&(a=this.freeQueue_.dequeue(),!this.objectCanBeReused(a));)this.adjustForMinMax();!a&&this.getCount()<this.maxCount_&&(a=this.createObject());return a};goog.structs.Pool.prototype.addFreeObject=function(a){this.inUseSet_.remove(a);this.objectCanBeReused(a)&&this.getCount()<this.maxCount_?this.freeQueue_.enqueue(a):this.disposeObject(a)};
goog.structs.Pool.prototype.adjustForMinMax=function(){for(var a=this.freeQueue_;this.getCount()<this.minCount_;)a.enqueue(this.createObject());for(;this.getCount()>this.maxCount_&&0<this.getFreeCount();)this.disposeObject(a.dequeue())};goog.structs.Pool.prototype.createObject=function(){return{}};goog.structs.Pool.prototype.disposeObject=function(a){if("function"==typeof a.dispose)a.dispose();else for(var b in a)a[b]=null};
goog.structs.Pool.prototype.objectCanBeReused=function(a){return"function"==typeof a.canBeReused?a.canBeReused():!0};goog.structs.Pool.prototype.contains=function(a){return this.freeQueue_.contains(a)||this.inUseSet_.contains(a)};goog.structs.Pool.prototype.getCount=function(){return this.freeQueue_.getCount()+this.inUseSet_.getCount()};goog.structs.Pool.prototype.getInUseCount=function(){return this.inUseSet_.getCount()};goog.structs.Pool.prototype.getFreeCount=function(){return this.freeQueue_.getCount()};
goog.structs.Pool.prototype.isEmpty=function(){return this.freeQueue_.isEmpty()&&this.inUseSet_.isEmpty()};goog.structs.Pool.prototype.disposeInternal=function(){goog.structs.Pool.superClass_.disposeInternal.call(this);if(0<this.getInUseCount())throw Error(goog.structs.Pool.ERROR_DISPOSE_UNRELEASED_OBJS_);delete this.inUseSet_;for(var a=this.freeQueue_;!a.isEmpty();)this.disposeObject(a.dequeue());delete this.freeQueue_};goog.structs.Node=function(a,b){this.key_=a;this.value_=b};goog.structs.Node.prototype.getKey=function(){return this.key_};goog.structs.Node.prototype.getValue=function(){return this.value_};goog.structs.Node.prototype.clone=function(){return new goog.structs.Node(this.key_,this.value_)};goog.structs.Heap=function(a){this.nodes_=[];a&&this.insertAll(a)};goog.structs.Heap.prototype.insert=function(a,b){a=new goog.structs.Node(a,b);b=this.nodes_;b.push(a);this.moveUp_(b.length-1)};
goog.structs.Heap.prototype.insertAll=function(a){if(a instanceof goog.structs.Heap){var b=a.getKeys();a=a.getValues();if(0>=this.getCount()){for(var c=this.nodes_,d=0;d<b.length;d++)c.push(new goog.structs.Node(b[d],a[d]));return}}else b=goog.object.getKeys(a),a=goog.object.getValues(a);for(d=0;d<b.length;d++)this.insert(b[d],a[d])};goog.structs.Heap.prototype.remove=function(){var a=this.nodes_,b=a.length,c=a[0];if(!(0>=b))return 1==b?goog.array.clear(a):(a[0]=a.pop(),this.moveDown_(0)),c.getValue()};
goog.structs.Heap.prototype.peek=function(){var a=this.nodes_;if(0!=a.length)return a[0].getValue()};goog.structs.Heap.prototype.peekKey=function(){return this.nodes_[0]&&this.nodes_[0].getKey()};goog.structs.Heap.prototype.moveDown_=function(a){for(var b=this.nodes_,c=b.length,d=b[a];a<c>>1;){var e=this.getLeftChildIndex_(a),f=this.getRightChildIndex_(a);e=f<c&&b[f].getKey()<b[e].getKey()?f:e;if(b[e].getKey()>d.getKey())break;b[a]=b[e];a=e}b[a]=d};
goog.structs.Heap.prototype.moveUp_=function(a){for(var b=this.nodes_,c=b[a];0<a;){var d=this.getParentIndex_(a);if(b[d].getKey()>c.getKey())b[a]=b[d],a=d;else break}b[a]=c};goog.structs.Heap.prototype.getLeftChildIndex_=function(a){return 2*a+1};goog.structs.Heap.prototype.getRightChildIndex_=function(a){return 2*a+2};goog.structs.Heap.prototype.getParentIndex_=function(a){return a-1>>1};
goog.structs.Heap.prototype.getValues=function(){for(var a=this.nodes_,b=[],c=a.length,d=0;d<c;d++)b.push(a[d].getValue());return b};goog.structs.Heap.prototype.getKeys=function(){for(var a=this.nodes_,b=[],c=a.length,d=0;d<c;d++)b.push(a[d].getKey());return b};goog.structs.Heap.prototype.containsValue=function(a){return goog.array.some(this.nodes_,function(b){return b.getValue()==a})};
goog.structs.Heap.prototype.containsKey=function(a){return goog.array.some(this.nodes_,function(b){return b.getKey()==a})};goog.structs.Heap.prototype.clone=function(){return new goog.structs.Heap(this)};goog.structs.Heap.prototype.getCount=function(){return this.nodes_.length};goog.structs.Heap.prototype.isEmpty=function(){return goog.array.isEmpty(this.nodes_)};goog.structs.Heap.prototype.clear=function(){goog.array.clear(this.nodes_)};goog.structs.PriorityQueue=function(){goog.structs.Heap.call(this)};goog.inherits(goog.structs.PriorityQueue,goog.structs.Heap);goog.structs.PriorityQueue.prototype.enqueue=function(a,b){this.insert(a,b)};goog.structs.PriorityQueue.prototype.dequeue=function(){return this.remove()};goog.structs.PriorityPool=function(a,b){this.delayTimeout_=void 0;this.requestQueue_=new goog.structs.PriorityQueue;goog.structs.Pool.call(this,a,b)};goog.inherits(goog.structs.PriorityPool,goog.structs.Pool);goog.structs.PriorityPool.DEFAULT_PRIORITY_=100;
goog.structs.PriorityPool.prototype.setDelay=function(a){goog.structs.PriorityPool.superClass_.setDelay.call(this,a);goog.isDefAndNotNull(this.lastAccess)&&(goog.global.clearTimeout(this.delayTimeout_),this.delayTimeout_=goog.global.setTimeout(goog.bind(this.handleQueueRequests_,this),this.delay+this.lastAccess-goog.now()),this.handleQueueRequests_())};
goog.structs.PriorityPool.prototype.getObject=function(a,b){if(!a)return(a=goog.structs.PriorityPool.superClass_.getObject.call(this))&&this.delay&&(this.delayTimeout_=goog.global.setTimeout(goog.bind(this.handleQueueRequests_,this),this.delay)),a;b=goog.isDef(b)?b:goog.structs.PriorityPool.DEFAULT_PRIORITY_;this.requestQueue_.enqueue(b,a);this.handleQueueRequests_()};
goog.structs.PriorityPool.prototype.handleQueueRequests_=function(){for(var a=this.requestQueue_;0<a.getCount();){var b=this.getObject();if(b)a.dequeue().apply(this,[b]);else break}};goog.structs.PriorityPool.prototype.addFreeObject=function(a){goog.structs.PriorityPool.superClass_.addFreeObject.call(this,a);this.handleQueueRequests_()};goog.structs.PriorityPool.prototype.adjustForMinMax=function(){goog.structs.PriorityPool.superClass_.adjustForMinMax.call(this);this.handleQueueRequests_()};
goog.structs.PriorityPool.prototype.disposeInternal=function(){goog.structs.PriorityPool.superClass_.disposeInternal.call(this);goog.global.clearTimeout(this.delayTimeout_);this.requestQueue_.clear();this.requestQueue_=null};goog.net.XhrIoPool=function(a,b,c,d){this.headers_=a;this.withCredentials_=!!d;goog.structs.PriorityPool.call(this,b,c)};goog.inherits(goog.net.XhrIoPool,goog.structs.PriorityPool);goog.net.XhrIoPool.prototype.createObject=function(){var a=new goog.net.XhrIo,b=this.headers_;b&&b.forEach(function(b,d){a.headers.set(d,b)});this.withCredentials_&&a.setWithCredentials(!0);return a};goog.net.XhrIoPool.prototype.objectCanBeReused=function(a){return!a.isDisposed()&&!a.isActive()};var taoensso={truss:{}};taoensso.truss.impl={};taoensso.truss.impl.rsome=function(a,b){return cljs.core.reduce.call(null,function(b,d){b=a.call(null,d);return cljs.core.truth_(b)?cljs.core.reduced.call(null,b):null},null,b)};taoensso.truss.impl.revery_QMARK_=function(a,b){return cljs.core.reduce.call(null,function(b,d){return cljs.core.truth_(a.call(null,d))?!0:cljs.core.reduced.call(null,null)},!0,b)};taoensso.truss.impl.some_QMARK_=function(a){return null==a?!1:!0};
taoensso.truss.impl.set_STAR_=cljs.core.set;taoensso.truss.impl.ks_EQ_=function(a,b){return cljs.core._EQ_.call(null,cljs.core.set.call(null,cljs.core.keys.call(null,b)),taoensso.truss.impl.set_STAR_.call(null,a))};taoensso.truss.impl.ks_LT__EQ_=function(a,b){return clojure.set.subset_QMARK_.call(null,cljs.core.set.call(null,cljs.core.keys.call(null,b)),taoensso.truss.impl.set_STAR_.call(null,a))};
taoensso.truss.impl.ks_GT__EQ_=function(a,b){return clojure.set.superset_QMARK_.call(null,cljs.core.set.call(null,cljs.core.keys.call(null,b)),taoensso.truss.impl.set_STAR_.call(null,a))};taoensso.truss.impl.ks_nnil_QMARK_=function(a,b){return taoensso.truss.impl.revery_QMARK_.call(null,function(a){return taoensso.truss.impl.some_QMARK_.call(null,cljs.core.get.call(null,b,a))},a)};
taoensso.truss.impl.default_error_fn=function(a){a=cljs.core.deref.call(null,a);throw cljs.core.ex_info.call(null,cljs.core.deref.call(null,(new cljs.core.Keyword(null,"msg_","msg_",-1925147E3)).cljs$core$IFn$_invoke$arity$1(a)),cljs.core.dissoc.call(null,a,new cljs.core.Keyword(null,"msg_","msg_",-1925147E3)));};taoensso.truss.impl._STAR__QMARK_data_STAR_=null;taoensso.truss.impl._STAR_error_fn_STAR_=taoensso.truss.impl.default_error_fn;
taoensso.truss.impl.non_throwing=function(a){return function(b){try{return a.call(null,b)}catch(c){if(c instanceof Error)return null;throw c;}}};taoensso.truss.impl.non_throwing_QMARK_=function(a){return!1};
taoensso.truss.impl._xpred=function(a){if(cljs.core.vector_QMARK_.call(null,a)){var b=cljs.core.nth.call(null,a,0,null),c=cljs.core.nth.call(null,a,1,null),d=cljs.core.nth.call(null,a,2,null),e=cljs.core.nth.call(null,a,3,null);if(!cljs.core.truth_(c))throw Error("Assert failed: Special predicate [\x3cspecial-type\x3e \x3carg\x3e] form w/o \x3carg\x3e\na1");var f=b instanceof cljs.core.Keyword?b.fqn:null;switch(f){case "set\x3d":return new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,
[cljs.core.sequence.call(null,cljs.core.seq.call(null,cljs.core.concat.call(null,new cljs.core.List(null,new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),null,1,null),new cljs.core.List(null,cljs.core.vec.call(null,cljs.core.sequence.call(null,cljs.core.seq.call(null,cljs.core.concat.call(null,new cljs.core.List(null,new cljs.core.Symbol(null,"x","x",-555367584,null),null,1,null))))),null,1,null),new cljs.core.List(null,cljs.core.sequence.call(null,cljs.core.seq.call(null,cljs.core.concat.call(null,
new cljs.core.List(null,new cljs.core.Symbol("cljs.core","\x3d","cljs.core/\x3d",-1891498332,null),null,1,null),new cljs.core.List(null,cljs.core.sequence.call(null,cljs.core.seq.call(null,cljs.core.concat.call(null,new cljs.core.List(null,new cljs.core.Symbol("taoensso.truss.impl","set*","taoensso.truss.impl/set*",2039920610,null),null,1,null),new cljs.core.List(null,new cljs.core.Symbol(null,"x","x",-555367584,null),null,1,null)))),null,1,null),new cljs.core.List(null,cljs.core.sequence.call(null,
cljs.core.seq.call(null,cljs.core.concat.call(null,new cljs.core.List(null,new cljs.core.Symbol("taoensso.truss.impl","set*","taoensso.truss.impl/set*",2039920610,null),null,1,null),new cljs.core.List(null,c,null,1,null)))),null,1,null)))),null,1,null)))),!1],null);case "set\x3c\x3d":return new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[cljs.core.sequence.call(null,cljs.core.seq.call(null,cljs.core.concat.call(null,new cljs.core.List(null,new cljs.core.Symbol("cljs.core",
"fn","cljs.core/fn",-1065745098,null),null,1,null),new cljs.core.List(null,cljs.core.vec.call(null,cljs.core.sequence.call(null,cljs.core.seq.call(null,cljs.core.concat.call(null,new cljs.core.List(null,new cljs.core.Symbol(null,"x","x",-555367584,null),null,1,null))))),null,1,null),new cljs.core.List(null,cljs.core.sequence.call(null,cljs.core.seq.call(null,cljs.core.concat.call(null,new cljs.core.List(null,new cljs.core.Symbol("clojure.set","subset?","clojure.set/subset?",909155479,null),null,1,
null),new cljs.core.List(null,cljs.core.sequence.call(null,cljs.core.seq.call(null,cljs.core.concat.call(null,new cljs.core.List(null,new cljs.core.Symbol("taoensso.truss.impl","set*","taoensso.truss.impl/set*",2039920610,null),null,1,null),new cljs.core.List(null,new cljs.core.Symbol(null,"x","x",-555367584,null),null,1,null)))),null,1,null),new cljs.core.List(null,cljs.core.sequence.call(null,cljs.core.seq.call(null,cljs.core.concat.call(null,new cljs.core.List(null,new cljs.core.Symbol("taoensso.truss.impl",
"set*","taoensso.truss.impl/set*",2039920610,null),null,1,null),new cljs.core.List(null,c,null,1,null)))),null,1,null)))),null,1,null)))),!1],null);case "set\x3e\x3d":return new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[cljs.core.sequence.call(null,cljs.core.seq.call(null,cljs.core.concat.call(null,new cljs.core.List(null,new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),null,1,null),new cljs.core.List(null,cljs.core.vec.call(null,cljs.core.sequence.call(null,
cljs.core.seq.call(null,cljs.core.concat.call(null,new cljs.core.List(null,new cljs.core.Symbol(null,"x","x",-555367584,null),null,1,null))))),null,1,null),new cljs.core.List(null,cljs.core.sequence.call(null,cljs.core.seq.call(null,cljs.core.concat.call(null,new cljs.core.List(null,new cljs.core.Symbol("clojure.set","superset?","clojure.set/superset?",22098740,null),null,1,null),new cljs.core.List(null,cljs.core.sequence.call(null,cljs.core.seq.call(null,cljs.core.concat.call(null,new cljs.core.List(null,
new cljs.core.Symbol("taoensso.truss.impl","set*","taoensso.truss.impl/set*",2039920610,null),null,1,null),new cljs.core.List(null,new cljs.core.Symbol(null,"x","x",-555367584,null),null,1,null)))),null,1,null),new cljs.core.List(null,cljs.core.sequence.call(null,cljs.core.seq.call(null,cljs.core.concat.call(null,new cljs.core.List(null,new cljs.core.Symbol("taoensso.truss.impl","set*","taoensso.truss.impl/set*",2039920610,null),null,1,null),new cljs.core.List(null,c,null,1,null)))),null,1,null)))),
null,1,null)))),!1],null);case "ks\x3d":return new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[cljs.core.sequence.call(null,cljs.core.seq.call(null,cljs.core.concat.call(null,new cljs.core.List(null,new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),null,1,null),new cljs.core.List(null,cljs.core.vec.call(null,cljs.core.sequence.call(null,cljs.core.seq.call(null,cljs.core.concat.call(null,new cljs.core.List(null,new cljs.core.Symbol(null,"x","x",-555367584,
null),null,1,null))))),null,1,null),new cljs.core.List(null,cljs.core.sequence.call(null,cljs.core.seq.call(null,cljs.core.concat.call(null,new cljs.core.List(null,new cljs.core.Symbol("taoensso.truss.impl","ks\x3d","taoensso.truss.impl/ks\x3d",1308270826,null),null,1,null),new cljs.core.List(null,c,null,1,null),new cljs.core.List(null,new cljs.core.Symbol(null,"x","x",-555367584,null),null,1,null)))),null,1,null)))),!1],null);case "ks\x3c\x3d":return new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,
[cljs.core.sequence.call(null,cljs.core.seq.call(null,cljs.core.concat.call(null,new cljs.core.List(null,new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),null,1,null),new cljs.core.List(null,cljs.core.vec.call(null,cljs.core.sequence.call(null,cljs.core.seq.call(null,cljs.core.concat.call(null,new cljs.core.List(null,new cljs.core.Symbol(null,"x","x",-555367584,null),null,1,null))))),null,1,null),new cljs.core.List(null,cljs.core.sequence.call(null,cljs.core.seq.call(null,cljs.core.concat.call(null,
new cljs.core.List(null,new cljs.core.Symbol("taoensso.truss.impl","ks\x3c\x3d","taoensso.truss.impl/ks\x3c\x3d",1973794033,null),null,1,null),new cljs.core.List(null,c,null,1,null),new cljs.core.List(null,new cljs.core.Symbol(null,"x","x",-555367584,null),null,1,null)))),null,1,null)))),!1],null);case "ks\x3e\x3d":return new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[cljs.core.sequence.call(null,cljs.core.seq.call(null,cljs.core.concat.call(null,new cljs.core.List(null,
new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),null,1,null),new cljs.core.List(null,cljs.core.vec.call(null,cljs.core.sequence.call(null,cljs.core.seq.call(null,cljs.core.concat.call(null,new cljs.core.List(null,new cljs.core.Symbol(null,"x","x",-555367584,null),null,1,null))))),null,1,null),new cljs.core.List(null,cljs.core.sequence.call(null,cljs.core.seq.call(null,cljs.core.concat.call(null,new cljs.core.List(null,new cljs.core.Symbol("taoensso.truss.impl","ks\x3e\x3d",
"taoensso.truss.impl/ks\x3e\x3d",-14177732,null),null,1,null),new cljs.core.List(null,c,null,1,null),new cljs.core.List(null,new cljs.core.Symbol(null,"x","x",-555367584,null),null,1,null)))),null,1,null)))),!1],null);case "ks-nnil?":return new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[cljs.core.sequence.call(null,cljs.core.seq.call(null,cljs.core.concat.call(null,new cljs.core.List(null,new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),null,1,
null),new cljs.core.List(null,cljs.core.vec.call(null,cljs.core.sequence.call(null,cljs.core.seq.call(null,cljs.core.concat.call(null,new cljs.core.List(null,new cljs.core.Symbol(null,"x","x",-555367584,null),null,1,null))))),null,1,null),new cljs.core.List(null,cljs.core.sequence.call(null,cljs.core.seq.call(null,cljs.core.concat.call(null,new cljs.core.List(null,new cljs.core.Symbol("taoensso.truss.impl","ks-nnil?","taoensso.truss.impl/ks-nnil?",1913972845,null),null,1,null),new cljs.core.List(null,
c,null,1,null),new cljs.core.List(null,new cljs.core.Symbol(null,"x","x",-555367584,null),null,1,null)))),null,1,null)))),!1],null);case "el":case "in":return new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[cljs.core.sequence.call(null,cljs.core.seq.call(null,cljs.core.concat.call(null,new cljs.core.List(null,new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),null,1,null),new cljs.core.List(null,cljs.core.vec.call(null,cljs.core.sequence.call(null,
cljs.core.seq.call(null,cljs.core.concat.call(null,new cljs.core.List(null,new cljs.core.Symbol(null,"x","x",-555367584,null),null,1,null))))),null,1,null),new cljs.core.List(null,cljs.core.sequence.call(null,cljs.core.seq.call(null,cljs.core.concat.call(null,new cljs.core.List(null,new cljs.core.Symbol("cljs.core","contains?","cljs.core/contains?",-976526835,null),null,1,null),new cljs.core.List(null,cljs.core.sequence.call(null,cljs.core.seq.call(null,cljs.core.concat.call(null,new cljs.core.List(null,
new cljs.core.Symbol("taoensso.truss.impl","set*","taoensso.truss.impl/set*",2039920610,null),null,1,null),new cljs.core.List(null,c,null,1,null)))),null,1,null),new cljs.core.List(null,new cljs.core.Symbol(null,"x","x",-555367584,null),null,1,null)))),null,1,null)))),!1],null);case "not-el":case "not-in":return new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[cljs.core.sequence.call(null,cljs.core.seq.call(null,cljs.core.concat.call(null,new cljs.core.List(null,new cljs.core.Symbol("cljs.core",
"fn","cljs.core/fn",-1065745098,null),null,1,null),new cljs.core.List(null,cljs.core.vec.call(null,cljs.core.sequence.call(null,cljs.core.seq.call(null,cljs.core.concat.call(null,new cljs.core.List(null,new cljs.core.Symbol(null,"x","x",-555367584,null),null,1,null))))),null,1,null),new cljs.core.List(null,cljs.core.sequence.call(null,cljs.core.seq.call(null,cljs.core.concat.call(null,new cljs.core.List(null,new cljs.core.Symbol("cljs.core","not","cljs.core/not",100665144,null),null,1,null),new cljs.core.List(null,
cljs.core.sequence.call(null,cljs.core.seq.call(null,cljs.core.concat.call(null,new cljs.core.List(null,new cljs.core.Symbol("cljs.core","contains?","cljs.core/contains?",-976526835,null),null,1,null),new cljs.core.List(null,cljs.core.sequence.call(null,cljs.core.seq.call(null,cljs.core.concat.call(null,new cljs.core.List(null,new cljs.core.Symbol("taoensso.truss.impl","set*","taoensso.truss.impl/set*",2039920610,null),null,1,null),new cljs.core.List(null,c,null,1,null)))),null,1,null),new cljs.core.List(null,
new cljs.core.Symbol(null,"x","x",-555367584,null),null,1,null)))),null,1,null)))),null,1,null)))),!1],null);default:a=function(a,b,c,d,e,f,g){return function(a){return cljs.core.truth_(a)?taoensso.truss.impl._xpred.call(null,a):null}}(b,f,a,b,c,d,e);a=new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,[a.call(null,c),a.call(null,d),a.call(null,e)],null);d=cljs.core.nth.call(null,a,0,null);c=cljs.core.nth.call(null,d,0,null);d=cljs.core.nth.call(null,d,1,null);f=cljs.core.nth.call(null,
a,1,null);e=cljs.core.nth.call(null,f,0,null);f=cljs.core.nth.call(null,f,1,null);var g=cljs.core.nth.call(null,a,2,null);a=cljs.core.nth.call(null,g,0,null);var h=cljs.core.nth.call(null,g,1,null);g=cljs.core.truth_(c)?cljs.core.truth_(d)?c:cljs.core.sequence.call(null,cljs.core.seq.call(null,cljs.core.concat.call(null,new cljs.core.List(null,new cljs.core.Symbol("taoensso.truss.impl","non-throwing","taoensso.truss.impl/non-throwing",-1408931246,null),null,1,null),new cljs.core.List(null,c,null,
1,null)))):null;var k=cljs.core.truth_(e)?cljs.core.truth_(f)?e:cljs.core.sequence.call(null,cljs.core.seq.call(null,cljs.core.concat.call(null,new cljs.core.List(null,new cljs.core.Symbol("taoensso.truss.impl","non-throwing","taoensso.truss.impl/non-throwing",-1408931246,null),null,1,null),new cljs.core.List(null,e,null,1,null)))):null,l=cljs.core.truth_(a)?cljs.core.truth_(h)?a:cljs.core.sequence.call(null,cljs.core.seq.call(null,cljs.core.concat.call(null,new cljs.core.List(null,new cljs.core.Symbol("taoensso.truss.impl",
"non-throwing","taoensso.truss.impl/non-throwing",-1408931246,null),null,1,null),new cljs.core.List(null,a,null,1,null)))):null;f=cljs.core.truth_(a)?cljs.core.truth_(d)?cljs.core.truth_(f)?h:f:d:cljs.core.truth_(e)?cljs.core.truth_(d)?f:d:cljs.core.truth_(c)?d:null;b=b instanceof cljs.core.Keyword?b.fqn:null;switch(b){case "and":return cljs.core.truth_(a)?new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[cljs.core.sequence.call(null,cljs.core.seq.call(null,cljs.core.concat.call(null,
new cljs.core.List(null,new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),null,1,null),new cljs.core.List(null,cljs.core.vec.call(null,cljs.core.sequence.call(null,cljs.core.seq.call(null,cljs.core.concat.call(null,new cljs.core.List(null,new cljs.core.Symbol(null,"x","x",-555367584,null),null,1,null))))),null,1,null),new cljs.core.List(null,cljs.core.sequence.call(null,cljs.core.seq.call(null,cljs.core.concat.call(null,new cljs.core.List(null,new cljs.core.Symbol("cljs.core",
"and","cljs.core/and",-6692549,null),null,1,null),new cljs.core.List(null,cljs.core.sequence.call(null,cljs.core.seq.call(null,cljs.core.concat.call(null,new cljs.core.List(null,c,null,1,null),new cljs.core.List(null,new cljs.core.Symbol(null,"x","x",-555367584,null),null,1,null)))),null,1,null),new cljs.core.List(null,cljs.core.sequence.call(null,cljs.core.seq.call(null,cljs.core.concat.call(null,new cljs.core.List(null,e,null,1,null),new cljs.core.List(null,new cljs.core.Symbol(null,"x","x",-555367584,
null),null,1,null)))),null,1,null),new cljs.core.List(null,cljs.core.sequence.call(null,cljs.core.seq.call(null,cljs.core.concat.call(null,new cljs.core.List(null,a,null,1,null),new cljs.core.List(null,new cljs.core.Symbol(null,"x","x",-555367584,null),null,1,null)))),null,1,null)))),null,1,null)))),f],null):cljs.core.truth_(e)?new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[cljs.core.sequence.call(null,cljs.core.seq.call(null,cljs.core.concat.call(null,new cljs.core.List(null,
new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),null,1,null),new cljs.core.List(null,cljs.core.vec.call(null,cljs.core.sequence.call(null,cljs.core.seq.call(null,cljs.core.concat.call(null,new cljs.core.List(null,new cljs.core.Symbol(null,"x","x",-555367584,null),null,1,null))))),null,1,null),new cljs.core.List(null,cljs.core.sequence.call(null,cljs.core.seq.call(null,cljs.core.concat.call(null,new cljs.core.List(null,new cljs.core.Symbol("cljs.core","and","cljs.core/and",-6692549,
null),null,1,null),new cljs.core.List(null,cljs.core.sequence.call(null,cljs.core.seq.call(null,cljs.core.concat.call(null,new cljs.core.List(null,c,null,1,null),new cljs.core.List(null,new cljs.core.Symbol(null,"x","x",-555367584,null),null,1,null)))),null,1,null),new cljs.core.List(null,cljs.core.sequence.call(null,cljs.core.seq.call(null,cljs.core.concat.call(null,new cljs.core.List(null,e,null,1,null),new cljs.core.List(null,new cljs.core.Symbol(null,"x","x",-555367584,null),null,1,null)))),null,
1,null)))),null,1,null)))),f],null):cljs.core.truth_(c)?new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[c,d],null):null;case "or":return cljs.core.truth_(a)?new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[cljs.core.sequence.call(null,cljs.core.seq.call(null,cljs.core.concat.call(null,new cljs.core.List(null,new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),null,1,null),new cljs.core.List(null,cljs.core.vec.call(null,
cljs.core.sequence.call(null,cljs.core.seq.call(null,cljs.core.concat.call(null,new cljs.core.List(null,new cljs.core.Symbol(null,"x","x",-555367584,null),null,1,null))))),null,1,null),new cljs.core.List(null,cljs.core.sequence.call(null,cljs.core.seq.call(null,cljs.core.concat.call(null,new cljs.core.List(null,new cljs.core.Symbol("cljs.core","or","cljs.core/or",1201033885,null),null,1,null),new cljs.core.List(null,cljs.core.sequence.call(null,cljs.core.seq.call(null,cljs.core.concat.call(null,new cljs.core.List(null,
g,null,1,null),new cljs.core.List(null,new cljs.core.Symbol(null,"x","x",-555367584,null),null,1,null)))),null,1,null),new cljs.core.List(null,cljs.core.sequence.call(null,cljs.core.seq.call(null,cljs.core.concat.call(null,new cljs.core.List(null,k,null,1,null),new cljs.core.List(null,new cljs.core.Symbol(null,"x","x",-555367584,null),null,1,null)))),null,1,null),new cljs.core.List(null,cljs.core.sequence.call(null,cljs.core.seq.call(null,cljs.core.concat.call(null,new cljs.core.List(null,l,null,
1,null),new cljs.core.List(null,new cljs.core.Symbol(null,"x","x",-555367584,null),null,1,null)))),null,1,null)))),null,1,null)))),!0],null):cljs.core.truth_(e)?new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[cljs.core.sequence.call(null,cljs.core.seq.call(null,cljs.core.concat.call(null,new cljs.core.List(null,new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),null,1,null),new cljs.core.List(null,cljs.core.vec.call(null,cljs.core.sequence.call(null,
cljs.core.seq.call(null,cljs.core.concat.call(null,new cljs.core.List(null,new cljs.core.Symbol(null,"x","x",-555367584,null),null,1,null))))),null,1,null),new cljs.core.List(null,cljs.core.sequence.call(null,cljs.core.seq.call(null,cljs.core.concat.call(null,new cljs.core.List(null,new cljs.core.Symbol("cljs.core","or","cljs.core/or",1201033885,null),null,1,null),new cljs.core.List(null,cljs.core.sequence.call(null,cljs.core.seq.call(null,cljs.core.concat.call(null,new cljs.core.List(null,g,null,
1,null),new cljs.core.List(null,new cljs.core.Symbol(null,"x","x",-555367584,null),null,1,null)))),null,1,null),new cljs.core.List(null,cljs.core.sequence.call(null,cljs.core.seq.call(null,cljs.core.concat.call(null,new cljs.core.List(null,k,null,1,null),new cljs.core.List(null,new cljs.core.Symbol(null,"x","x",-555367584,null),null,1,null)))),null,1,null)))),null,1,null)))),!0],null):cljs.core.truth_(c)?new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[c,d],null):null;
case "not":return cljs.core.truth_(a)?new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[cljs.core.sequence.call(null,cljs.core.seq.call(null,cljs.core.concat.call(null,new cljs.core.List(null,new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),null,1,null),new cljs.core.List(null,cljs.core.vec.call(null,cljs.core.sequence.call(null,cljs.core.seq.call(null,cljs.core.concat.call(null,new cljs.core.List(null,new cljs.core.Symbol(null,"x","x",-555367584,
null),null,1,null))))),null,1,null),new cljs.core.List(null,cljs.core.sequence.call(null,cljs.core.seq.call(null,cljs.core.concat.call(null,new cljs.core.List(null,new cljs.core.Symbol("cljs.core","not","cljs.core/not",100665144,null),null,1,null),new cljs.core.List(null,cljs.core.sequence.call(null,cljs.core.seq.call(null,cljs.core.concat.call(null,new cljs.core.List(null,new cljs.core.Symbol("cljs.core","or","cljs.core/or",1201033885,null),null,1,null),new cljs.core.List(null,cljs.core.sequence.call(null,
cljs.core.seq.call(null,cljs.core.concat.call(null,new cljs.core.List(null,c,null,1,null),new cljs.core.List(null,new cljs.core.Symbol(null,"x","x",-555367584,null),null,1,null)))),null,1,null),new cljs.core.List(null,cljs.core.sequence.call(null,cljs.core.seq.call(null,cljs.core.concat.call(null,new cljs.core.List(null,e,null,1,null),new cljs.core.List(null,new cljs.core.Symbol(null,"x","x",-555367584,null),null,1,null)))),null,1,null),new cljs.core.List(null,cljs.core.sequence.call(null,cljs.core.seq.call(null,
cljs.core.concat.call(null,new cljs.core.List(null,a,null,1,null),new cljs.core.List(null,new cljs.core.Symbol(null,"x","x",-555367584,null),null,1,null)))),null,1,null)))),null,1,null)))),null,1,null)))),f],null):cljs.core.truth_(e)?new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[cljs.core.sequence.call(null,cljs.core.seq.call(null,cljs.core.concat.call(null,new cljs.core.List(null,new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),null,1,null),
new cljs.core.List(null,cljs.core.vec.call(null,cljs.core.sequence.call(null,cljs.core.seq.call(null,cljs.core.concat.call(null,new cljs.core.List(null,new cljs.core.Symbol(null,"x","x",-555367584,null),null,1,null))))),null,1,null),new cljs.core.List(null,cljs.core.sequence.call(null,cljs.core.seq.call(null,cljs.core.concat.call(null,new cljs.core.List(null,new cljs.core.Symbol("cljs.core","not","cljs.core/not",100665144,null),null,1,null),new cljs.core.List(null,cljs.core.sequence.call(null,cljs.core.seq.call(null,
cljs.core.concat.call(null,new cljs.core.List(null,new cljs.core.Symbol("cljs.core","or","cljs.core/or",1201033885,null),null,1,null),new cljs.core.List(null,cljs.core.sequence.call(null,cljs.core.seq.call(null,cljs.core.concat.call(null,new cljs.core.List(null,c,null,1,null),new cljs.core.List(null,new cljs.core.Symbol(null,"x","x",-555367584,null),null,1,null)))),null,1,null),new cljs.core.List(null,cljs.core.sequence.call(null,cljs.core.seq.call(null,cljs.core.concat.call(null,new cljs.core.List(null,
e,null,1,null),new cljs.core.List(null,new cljs.core.Symbol(null,"x","x",-555367584,null),null,1,null)))),null,1,null)))),null,1,null)))),null,1,null)))),f],null):cljs.core.truth_(c)?new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[cljs.core.sequence.call(null,cljs.core.seq.call(null,cljs.core.concat.call(null,new cljs.core.List(null,new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),null,1,null),new cljs.core.List(null,cljs.core.vec.call(null,cljs.core.sequence.call(null,
cljs.core.seq.call(null,cljs.core.concat.call(null,new cljs.core.List(null,new cljs.core.Symbol(null,"x","x",-555367584,null),null,1,null))))),null,1,null),new cljs.core.List(null,cljs.core.sequence.call(null,cljs.core.seq.call(null,cljs.core.concat.call(null,new cljs.core.List(null,new cljs.core.Symbol("cljs.core","not","cljs.core/not",100665144,null),null,1,null),new cljs.core.List(null,cljs.core.sequence.call(null,cljs.core.seq.call(null,cljs.core.concat.call(null,new cljs.core.List(null,c,null,
1,null),new cljs.core.List(null,new cljs.core.Symbol(null,"x","x",-555367584,null),null,1,null)))),null,1,null)))),null,1,null)))),d],null):null;default:throw Error(["No matching clause: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(b)].join(""));}}}else return new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[a,taoensso.truss.impl.non_throwing_QMARK_.call(null,a)],null)};
taoensso.truss.impl.fmt_err_msg=function(a,b,c,d){return["Invariant violation in `",cljs.core.str.cljs$core$IFn$_invoke$arity$1(a),":",cljs.core.str.cljs$core$IFn$_invoke$arity$1(b),"`. Test form `",cljs.core.str.cljs$core$IFn$_invoke$arity$1(c),"` failed against input val `",cljs.core.str.cljs$core$IFn$_invoke$arity$1(d),"`."].join("")};taoensso.truss.impl.WrappedError=function(a){this.val=a};
taoensso.truss.impl.WrappedError.getBasis=function(){return new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"val","val",1769233139,null)],null)};taoensso.truss.impl.WrappedError.cljs$lang$type=!0;taoensso.truss.impl.WrappedError.cljs$lang$ctorStr="taoensso.truss.impl/WrappedError";taoensso.truss.impl.WrappedError.cljs$lang$ctorPrWriter=function(a,b,c){return cljs.core._write.call(null,b,"taoensso.truss.impl/WrappedError")};
taoensso.truss.impl.__GT_WrappedError=function(a){return new taoensso.truss.impl.WrappedError(a)};taoensso.truss.impl._assertion_error=function(a){return Error(a)};taoensso.truss.impl._dummy_error={};
taoensso.truss.impl._invar_violation_BANG_=function(a,b,c,d,e,f,g){var h=taoensso.truss.impl._STAR_error_fn_STAR_;return cljs.core.truth_(h)?h.call(null,new cljs.core.Delay(function(h,l){return function(){var k=new Date,n=cljs.core.truth_(c)?c:"?",p=cljs.core.str.cljs$core$IFn$_invoke$arity$1(d),q=e instanceof taoensso.truss.impl.WrappedError,r=q?"\x3ctruss/undefined-val\x3e":null==e?"\x3ctruss/nil\x3e":cljs.core.pr_str.call(null,e),u=taoensso.truss.impl._dummy_error===f?null:f instanceof taoensso.truss.impl.WrappedError?
f.val:f;n=new cljs.core.Delay(function(a,c,d,e,f,g,h,k){return function(){var a=cljs.core.truth_(g)?cljs.core.str.cljs$core$IFn$_invoke$arity$1(g):null;var h=taoensso.truss.impl.fmt_err_msg.call(null,b,c,d,f);return cljs.core.not.call(null,g)?h:e?[h," An error was thrown while evaluating input val: [",a,"]."].join(""):[h," An error was thrown while evaluating test form: [",a,"]."].join("")}}(k,n,p,q,r,u,h,l),null);r=function(){if(cljs.core.truth_(g))try{return g.call(null)}catch(v){if(v instanceof
Error){var a=v;return new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"data-error","data-error",-1058016301),a],null)}throw v;}else return null}();return cljs.core.PersistentHashMap.fromArrays([new cljs.core.Keyword(null,"*?data*","*?data*",1047537922),new cljs.core.Keyword(null,"msg_","msg_",-1925147E3),new cljs.core.Keyword(null,"elidable?","elidable?",248362249),new cljs.core.Keyword(null,"dt","dt",-368444759),new cljs.core.Keyword(null,"val","val",128701612),new cljs.core.Keyword(null,
"ns-str","ns-str",-2062616499),new cljs.core.Keyword(null,"val-type","val-type",-279850094),new cljs.core.Keyword(null,"?err","?err",549653299),new cljs.core.Keyword(null,"*assert*","*assert*",-160895053),new cljs.core.Keyword(null,"?data","?data",-9471433),new cljs.core.Keyword(null,"?line","?line",-631853385),new cljs.core.Keyword(null,"form-str","form-str",871608859)],[taoensso.truss.impl._STAR__QMARK_data_STAR_,n,a,k,q?new cljs.core.Symbol("truss","undefined-val","truss/undefined-val",-1377647620,
null):e,b,q?new cljs.core.Symbol("truss","undefined-val","truss/undefined-val",-1377647620,null):cljs.core.type.call(null,e),u,cljs.core._STAR_assert_STAR_,r,c,p])}}(h,h),null)):null};taoensso.truss.get_dynamic_assertion_data=function(){return taoensso.truss.impl._STAR__QMARK_data_STAR_};taoensso.truss._error_fn=function(a){return cljs.core._EQ_.call(null,a,new cljs.core.Keyword(null,"default","default",-1987822328))?taoensso.truss.impl.default_error_fn:a};taoensso.truss.set_error_fn_BANG_=function(a){return taoensso.truss.impl._STAR_error_fn_STAR_=taoensso.truss._error_fn.call(null,a)};cljs.pprint={};cljs.pprint.print=function(a){for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;b=0<b.length?new cljs.core.IndexedSeq(b.slice(0),0,null):null;return cljs.pprint.print.cljs$core$IFn$_invoke$arity$variadic(b)};cljs.pprint.print.cljs$core$IFn$_invoke$arity$variadic=function(a){return cljs.core._write.call(null,cljs.core._STAR_out_STAR_,cljs.core.apply.call(null,cljs.core.print_str,a))};cljs.pprint.print.cljs$lang$maxFixedArity=0;
cljs.pprint.print.cljs$lang$applyTo=function(a){return this.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq.call(null,a))};cljs.pprint.println=function(a){for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;b=0<b.length?new cljs.core.IndexedSeq(b.slice(0),0,null):null;return cljs.pprint.println.cljs$core$IFn$_invoke$arity$variadic(b)};
cljs.pprint.println.cljs$core$IFn$_invoke$arity$variadic=function(a){cljs.core.apply.call(null,cljs.pprint.print,a);return cljs.core._write.call(null,cljs.core._STAR_out_STAR_,"\n")};cljs.pprint.println.cljs$lang$maxFixedArity=0;cljs.pprint.println.cljs$lang$applyTo=function(a){return this.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq.call(null,a))};
cljs.pprint.print_char=function(a){return cljs.core._write.call(null,cljs.core._STAR_out_STAR_,function(){var b=cljs.core._EQ_;return cljs.core.truth_(b.call(null,"\b",a))?"\\backspace":cljs.core.truth_(b.call(null,"\t",a))?"\\tab":cljs.core.truth_(b.call(null,"\n",a))?"\\newline":cljs.core.truth_(b.call(null,"\f",a))?"\\formfeed":cljs.core.truth_(b.call(null,"\r",a))?"\\return":cljs.core.truth_(b.call(null,'"',a))?'\\"':cljs.core.truth_(b.call(null,"\\",a))?"\\\\":["\\",cljs.core.str.cljs$core$IFn$_invoke$arity$1(a)].join("")}())};
cljs.pprint.pr=function(a){for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;b=0<b.length?new cljs.core.IndexedSeq(b.slice(0),0,null):null;return cljs.pprint.pr.cljs$core$IFn$_invoke$arity$variadic(b)};cljs.pprint.pr.cljs$core$IFn$_invoke$arity$variadic=function(a){return cljs.core._write.call(null,cljs.core._STAR_out_STAR_,cljs.core.apply.call(null,cljs.core.pr_str,a))};cljs.pprint.pr.cljs$lang$maxFixedArity=0;
cljs.pprint.pr.cljs$lang$applyTo=function(a){return this.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq.call(null,a))};cljs.pprint.prn=function(a){for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;b=0<b.length?new cljs.core.IndexedSeq(b.slice(0),0,null):null;return cljs.pprint.prn.cljs$core$IFn$_invoke$arity$variadic(b)};
cljs.pprint.prn.cljs$core$IFn$_invoke$arity$variadic=function(a){cljs.core.apply.call(null,cljs.pprint.pr,a);return cljs.core._write.call(null,cljs.core._STAR_out_STAR_,"\n")};cljs.pprint.prn.cljs$lang$maxFixedArity=0;cljs.pprint.prn.cljs$lang$applyTo=function(a){return this.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq.call(null,a))};cljs.pprint.float_QMARK_=function(a){return"number"===typeof a&&!isNaN(a)&&Infinity!==a&&parseFloat(a)!==parseInt(a,10)};
cljs.pprint.char_code=function(a){if("number"===typeof a)return a;if("string"===typeof a&&1===a.length)return a.charCodeAt(0);throw Error("Argument to char must be a character or number");};
cljs.pprint.map_passing_context=function(a,b,c){var d=c;for(c=cljs.core.PersistentVector.EMPTY;;){if(cljs.core.empty_QMARK_.call(null,d))return new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[c,b],null);var e=cljs.core.first.call(null,d);d=cljs.core.next.call(null,d);e=cljs.core.apply.call(null,a,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[e,b],null));b=cljs.core.nth.call(null,e,0,null);e=cljs.core.nth.call(null,e,1,null);c=cljs.core.conj.call(null,
c,b);b=e}};cljs.pprint.consume=function(a,b){var c=b;for(b=cljs.core.PersistentVector.EMPTY;;){var d=cljs.core.apply.call(null,a,new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[c],null));c=cljs.core.nth.call(null,d,0,null);d=cljs.core.nth.call(null,d,1,null);if(cljs.core.not.call(null,c))return new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[b,d],null);b=cljs.core.conj.call(null,b,c);c=d}};
cljs.pprint.consume_while=function(a,b){for(var c=cljs.core.PersistentVector.EMPTY;;){var d=cljs.core.apply.call(null,a,new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[b],null)),e=cljs.core.nth.call(null,d,0,null),f=cljs.core.nth.call(null,d,1,null);d=cljs.core.nth.call(null,d,2,null);if(cljs.core.not.call(null,f))return new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[c,b],null);b=d;c=cljs.core.conj.call(null,c,e)}};
cljs.pprint.unzip_map=function(a){return new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[cljs.core.into.call(null,cljs.core.PersistentArrayMap.EMPTY,function(){return function d(a){return new cljs.core.LazySeq(null,function(){for(;;){var c=cljs.core.seq.call(null,a);if(c){if(cljs.core.chunked_seq_QMARK_.call(null,c)){var f=cljs.core.chunk_first.call(null,c),g=cljs.core.count.call(null,f),h=cljs.core.chunk_buffer.call(null,g);a:for(var k=0;;)if(k<g){var l=cljs.core._nth.call(null,
f,k),m=cljs.core.nth.call(null,l,0,null);l=cljs.core.nth.call(null,l,1,null);var n=cljs.core.nth.call(null,l,0,null);cljs.core.nth.call(null,l,1,null);cljs.core.chunk_append.call(null,h,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[m,n],null));k+=1}else{f=!0;break a}return f?cljs.core.chunk_cons.call(null,cljs.core.chunk.call(null,h),d.call(null,cljs.core.chunk_rest.call(null,c))):cljs.core.chunk_cons.call(null,cljs.core.chunk.call(null,h),null)}f=cljs.core.first.call(null,
c);h=cljs.core.nth.call(null,f,0,null);f=cljs.core.nth.call(null,f,1,null);g=cljs.core.nth.call(null,f,0,null);cljs.core.nth.call(null,f,1,null);return cljs.core.cons.call(null,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[h,g],null),d.call(null,cljs.core.rest.call(null,c)))}return null}},null,null)}.call(null,a)}()),cljs.core.into.call(null,cljs.core.PersistentArrayMap.EMPTY,function(){return function d(a){return new cljs.core.LazySeq(null,function(){for(;;){var c=
cljs.core.seq.call(null,a);if(c){if(cljs.core.chunked_seq_QMARK_.call(null,c)){var f=cljs.core.chunk_first.call(null,c),g=cljs.core.count.call(null,f),h=cljs.core.chunk_buffer.call(null,g);a:for(var k=0;;)if(k<g){var l=cljs.core._nth.call(null,f,k),m=cljs.core.nth.call(null,l,0,null);l=cljs.core.nth.call(null,l,1,null);cljs.core.nth.call(null,l,0,null);l=cljs.core.nth.call(null,l,1,null);cljs.core.chunk_append.call(null,h,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,
[m,l],null));k+=1}else{f=!0;break a}return f?cljs.core.chunk_cons.call(null,cljs.core.chunk.call(null,h),d.call(null,cljs.core.chunk_rest.call(null,c))):cljs.core.chunk_cons.call(null,cljs.core.chunk.call(null,h),null)}f=cljs.core.first.call(null,c);h=cljs.core.nth.call(null,f,0,null);f=cljs.core.nth.call(null,f,1,null);cljs.core.nth.call(null,f,0,null);f=cljs.core.nth.call(null,f,1,null);return cljs.core.cons.call(null,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,
[h,f],null),d.call(null,cljs.core.rest.call(null,c)))}return null}},null,null)}.call(null,a)}())],null)};
cljs.pprint.tuple_map=function(a,b){return cljs.core.into.call(null,cljs.core.PersistentArrayMap.EMPTY,function(){return function e(a){return new cljs.core.LazySeq(null,function(){for(;;){var d=cljs.core.seq.call(null,a);if(d){if(cljs.core.chunked_seq_QMARK_.call(null,d)){var g=cljs.core.chunk_first.call(null,d),h=cljs.core.count.call(null,g),k=cljs.core.chunk_buffer.call(null,h);a:for(var l=0;;)if(l<h){var m=cljs.core._nth.call(null,g,l),n=cljs.core.nth.call(null,m,0,null);m=cljs.core.nth.call(null,
m,1,null);cljs.core.chunk_append.call(null,k,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[n,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[m,b],null)],null));l+=1}else{g=!0;break a}return g?cljs.core.chunk_cons.call(null,cljs.core.chunk.call(null,k),e.call(null,cljs.core.chunk_rest.call(null,d))):cljs.core.chunk_cons.call(null,cljs.core.chunk.call(null,k),null)}g=cljs.core.first.call(null,d);k=cljs.core.nth.call(null,g,0,null);g=cljs.core.nth.call(null,
g,1,null);return cljs.core.cons.call(null,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[k,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[g,b],null)],null),e.call(null,cljs.core.rest.call(null,d)))}return null}},null,null)}.call(null,a)}())};
cljs.pprint.rtrim=function(a,b){var c=cljs.core.count.call(null,a);if(0<c&&cljs.core._EQ_.call(null,cljs.core.nth.call(null,a,cljs.core.count.call(null,a)-1),b))for(--c;;){if(0>c)return"";if(cljs.core._EQ_.call(null,cljs.core.nth.call(null,a,c),b))--c;else return cljs.core.subs.call(null,a,0,c+1)}else return a};
cljs.pprint.ltrim=function(a,b){var c=cljs.core.count.call(null,a);if(0<c&&cljs.core._EQ_.call(null,cljs.core.nth.call(null,a,0),b))for(var d=0;;){if(cljs.core._EQ_.call(null,d,c)||!cljs.core._EQ_.call(null,cljs.core.nth.call(null,a,d),b))return cljs.core.subs.call(null,a,d);d+=1}else return a};
cljs.pprint.prefix_count=function(a,b){b=cljs.core.coll_QMARK_.call(null,b)?cljs.core.set.call(null,b):cljs.core.PersistentHashSet.createAsIfByAssoc([b]);for(var c=0;;){if(cljs.core._EQ_.call(null,c,cljs.core.count.call(null,a))||cljs.core.not.call(null,b.call(null,cljs.core.nth.call(null,a,c))))return c;c+=1}};cljs.pprint.IPrettyFlush=function(){};
cljs.pprint._ppflush=function(a){if(null!=a&&null!=a.cljs$pprint$IPrettyFlush$_ppflush$arity$1)return a.cljs$pprint$IPrettyFlush$_ppflush$arity$1(a);var b=cljs.pprint._ppflush[goog.typeOf(null==a?null:a)];if(null!=b)return b.call(null,a);b=cljs.pprint._ppflush._;if(null!=b)return b.call(null,a);throw cljs.core.missing_protocol.call(null,"IPrettyFlush.-ppflush",a);};cljs.pprint._STAR_default_page_width_STAR_=72;
cljs.pprint.get_field=function(a,b){return b.call(null,cljs.core.deref.call(null,cljs.core.deref.call(null,a)))};cljs.pprint.set_field=function(a,b,c){return cljs.core.swap_BANG_.call(null,cljs.core.deref.call(null,a),cljs.core.assoc,b,c)};cljs.pprint.get_column=function(a){return cljs.pprint.get_field.call(null,a,new cljs.core.Keyword(null,"cur","cur",1153190599))};cljs.pprint.get_line=function(a){return cljs.pprint.get_field.call(null,a,new cljs.core.Keyword(null,"line","line",212345235))};
cljs.pprint.get_max_column=function(a){return cljs.pprint.get_field.call(null,a,new cljs.core.Keyword(null,"max","max",61366548))};cljs.pprint.set_max_column=function(a,b){cljs.pprint.set_field.call(null,a,new cljs.core.Keyword(null,"max","max",61366548),b);return null};cljs.pprint.get_writer=function(a){return cljs.pprint.get_field.call(null,a,new cljs.core.Keyword(null,"base","base",185279322))};
cljs.pprint.c_write_char=function(a,b){cljs.core._EQ_.call(null,b,"\n")?(cljs.pprint.set_field.call(null,a,new cljs.core.Keyword(null,"cur","cur",1153190599),0),cljs.pprint.set_field.call(null,a,new cljs.core.Keyword(null,"line","line",212345235),cljs.pprint.get_field.call(null,a,new cljs.core.Keyword(null,"line","line",212345235))+1)):cljs.pprint.set_field.call(null,a,new cljs.core.Keyword(null,"cur","cur",1153190599),cljs.pprint.get_field.call(null,a,new cljs.core.Keyword(null,"cur","cur",1153190599))+
1);return cljs.core._write.call(null,cljs.pprint.get_field.call(null,a,new cljs.core.Keyword(null,"base","base",185279322)),b)};cljs.pprint.column_writer=function(a){switch(arguments.length){case 1:return cljs.pprint.column_writer.cljs$core$IFn$_invoke$arity$1(arguments[0]);case 2:return cljs.pprint.column_writer.cljs$core$IFn$_invoke$arity$2(arguments[0],arguments[1]);default:throw Error(["Invalid arity: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(""));}};
cljs.pprint.column_writer.cljs$core$IFn$_invoke$arity$1=function(a){return cljs.pprint.column_writer.call(null,a,cljs.pprint._STAR_default_page_width_STAR_)};
cljs.pprint.column_writer.cljs$core$IFn$_invoke$arity$2=function(a,b){var c=cljs.core.atom.call(null,new cljs.core.PersistentArrayMap(null,4,[new cljs.core.Keyword(null,"max","max",61366548),b,new cljs.core.Keyword(null,"cur","cur",1153190599),0,new cljs.core.Keyword(null,"line","line",212345235),0,new cljs.core.Keyword(null,"base","base",185279322),a],null));if("undefined"===typeof cljs||"undefined"===typeof cljs.pprint||"undefined"===typeof cljs.pprint.t_cljs$pprint24946)cljs.pprint.t_cljs$pprint24946=
function(a,b,c,g){this.writer=a;this.max_columns=b;this.fields=c;this.meta24947=g;this.cljs$lang$protocol_mask$partition0$=1074167808;this.cljs$lang$protocol_mask$partition1$=0},cljs.pprint.t_cljs$pprint24946.prototype.cljs$core$IWithMeta$_with_meta$arity$2=function(a){return function(a,b){return new cljs.pprint.t_cljs$pprint24946(this.writer,this.max_columns,this.fields,b)}}(c),cljs.pprint.t_cljs$pprint24946.prototype.cljs$core$IMeta$_meta$arity$1=function(a){return function(a){return this.meta24947}}(c),
cljs.pprint.t_cljs$pprint24946.prototype.cljs$core$IDeref$_deref$arity$1=function(a){return function(a){return this.fields}}(c),cljs.pprint.t_cljs$pprint24946.prototype.cljs$core$IWriter$_flush$arity$1=function(a){return function(a){return cljs.core._flush.call(null,this.writer)}}(c),cljs.pprint.t_cljs$pprint24946.prototype.cljs$core$IWriter$_write$arity$2=function(a){return function(b,c){b=cljs.core._EQ_;var d=cljs.core.type.call(null,c);if(cljs.core.truth_(b.call(null,String,d))){var e=c.lastIndexOf("\n");
0>e?cljs.pprint.set_field.call(null,this,new cljs.core.Keyword(null,"cur","cur",1153190599),cljs.pprint.get_field.call(null,this,new cljs.core.Keyword(null,"cur","cur",1153190599))+cljs.core.count.call(null,c)):(cljs.pprint.set_field.call(null,this,new cljs.core.Keyword(null,"cur","cur",1153190599),cljs.core.count.call(null,c)-e-1),cljs.pprint.set_field.call(null,this,new cljs.core.Keyword(null,"line","line",212345235),cljs.pprint.get_field.call(null,this,new cljs.core.Keyword(null,"line","line",
212345235))+cljs.core.count.call(null,cljs.core.filter.call(null,function(a,b,c,d,e,f){return function(a){return cljs.core._EQ_.call(null,a,"\n")}}(c,e,b,d,this,a),c))));return cljs.core._write.call(null,cljs.pprint.get_field.call(null,this,new cljs.core.Keyword(null,"base","base",185279322)),c)}if(cljs.core.truth_(b.call(null,Number,d)))return cljs.pprint.c_write_char.call(null,this,c);throw Error(["No matching clause: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(d)].join(""));}}(c),cljs.pprint.t_cljs$pprint24946.getBasis=
function(a){return function(){return new cljs.core.PersistentVector(null,4,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"writer","writer",1362963291,null),new cljs.core.Symbol(null,"max-columns","max-columns",-912112507,null),new cljs.core.Symbol(null,"fields","fields",-291534703,null),new cljs.core.Symbol(null,"meta24947","meta24947",-1940816570,null)],null)}}(c),cljs.pprint.t_cljs$pprint24946.cljs$lang$type=!0,cljs.pprint.t_cljs$pprint24946.cljs$lang$ctorStr="cljs.pprint/t_cljs$pprint24946",
cljs.pprint.t_cljs$pprint24946.cljs$lang$ctorPrWriter=function(a){return function(a,b,c){return cljs.core._write.call(null,b,"cljs.pprint/t_cljs$pprint24946")}}(c),cljs.pprint.__GT_t_cljs$pprint24946=function(a){return function(a,b,c,d){return new cljs.pprint.t_cljs$pprint24946(a,b,c,d)}}(c);return new cljs.pprint.t_cljs$pprint24946(a,b,c,cljs.core.PersistentArrayMap.EMPTY)};cljs.pprint.column_writer.cljs$lang$maxFixedArity=2;
cljs.pprint.logical_block=function(a,b,c,d,e,f,g,h,k,l,m,n,p){this.parent=a;this.section=b;this.start_col=c;this.indent=d;this.done_nl=e;this.intra_block_nl=f;this.prefix=g;this.per_line_prefix=h;this.suffix=k;this.logical_block_callback=l;this.__meta=m;this.__extmap=n;this.__hash=p;this.cljs$lang$protocol_mask$partition0$=2230716170;this.cljs$lang$protocol_mask$partition1$=139264};
cljs.pprint.logical_block.prototype.cljs$core$ILookup$_lookup$arity$2=function(a,b){return this.cljs$core$ILookup$_lookup$arity$3(null,b,null)};
cljs.pprint.logical_block.prototype.cljs$core$ILookup$_lookup$arity$3=function(a,b,c){switch(b instanceof cljs.core.Keyword?b.fqn:null){case "parent":return this.parent;case "section":return this.section;case "start-col":return this.start_col;case "indent":return this.indent;case "done-nl":return this.done_nl;case "intra-block-nl":return this.intra_block_nl;case "prefix":return this.prefix;case "per-line-prefix":return this.per_line_prefix;case "suffix":return this.suffix;case "logical-block-callback":return this.logical_block_callback;
default:return cljs.core.get.call(null,this.__extmap,b,c)}};cljs.pprint.logical_block.prototype.cljs$core$IKVReduce$_kv_reduce$arity$3=function(a,b,c){return cljs.core.reduce.call(null,function(a){return function(a,c){var d=cljs.core.nth.call(null,c,0,null);c=cljs.core.nth.call(null,c,1,null);return b.call(null,a,d,c)}}(this),c,this)};
cljs.pprint.logical_block.prototype.cljs$core$IPrintWithWriter$_pr_writer$arity$3=function(a,b,c){a=function(a){return function(a){return cljs.core.pr_sequential_writer.call(null,b,cljs.core.pr_writer,""," ","",c,a)}}(this);return cljs.core.pr_sequential_writer.call(null,b,a,"#cljs.pprint.logical-block{",", ","}",c,cljs.core.concat.call(null,new cljs.core.PersistentVector(null,10,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,
[new cljs.core.Keyword(null,"parent","parent",-878878779),this.parent],null),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"section","section",-300141526),this.section],null),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"start-col","start-col",668080143),this.start_col],null),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,
"indent","indent",-148200125),this.indent],null),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"done-nl","done-nl",-381024340),this.done_nl],null),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"intra-block-nl","intra-block-nl",1808826875),this.intra_block_nl],null),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"prefix",
"prefix",-265908465),this.prefix],null),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"per-line-prefix","per-line-prefix",846941813),this.per_line_prefix],null),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"suffix","suffix",367373057),this.suffix],null),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"logical-block-callback",
"logical-block-callback",1612691194),this.logical_block_callback],null)],null),this.__extmap))};
cljs.pprint.logical_block.prototype.cljs$core$IIterable$_iterator$arity$1=function(a){return new cljs.core.RecordIter(0,this,10,new cljs.core.PersistentVector(null,10,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"parent","parent",-878878779),new cljs.core.Keyword(null,"section","section",-300141526),new cljs.core.Keyword(null,"start-col","start-col",668080143),new cljs.core.Keyword(null,"indent","indent",-148200125),new cljs.core.Keyword(null,"done-nl","done-nl",-381024340),
new cljs.core.Keyword(null,"intra-block-nl","intra-block-nl",1808826875),new cljs.core.Keyword(null,"prefix","prefix",-265908465),new cljs.core.Keyword(null,"per-line-prefix","per-line-prefix",846941813),new cljs.core.Keyword(null,"suffix","suffix",367373057),new cljs.core.Keyword(null,"logical-block-callback","logical-block-callback",1612691194)],null),cljs.core.truth_(this.__extmap)?cljs.core._iterator.call(null,this.__extmap):cljs.core.nil_iter.call(null))};
cljs.pprint.logical_block.prototype.cljs$core$IMeta$_meta$arity$1=function(a){return this.__meta};cljs.pprint.logical_block.prototype.cljs$core$ICloneable$_clone$arity$1=function(a){return new cljs.pprint.logical_block(this.parent,this.section,this.start_col,this.indent,this.done_nl,this.intra_block_nl,this.prefix,this.per_line_prefix,this.suffix,this.logical_block_callback,this.__meta,this.__extmap,this.__hash)};
cljs.pprint.logical_block.prototype.cljs$core$ICounted$_count$arity$1=function(a){return 10+cljs.core.count.call(null,this.__extmap)};cljs.pprint.logical_block.prototype.cljs$core$IHash$_hash$arity$1=function(a){a=this.__hash;return null!=a?a:this.__hash=a=function(a,c){return function(a){return 1977012399^cljs.core.hash_unordered_coll.call(null,a)}}(a,this).call(null,this)};
cljs.pprint.logical_block.prototype.cljs$core$IEquiv$_equiv$arity$2=function(a,b){return null!=b&&this.constructor===b.constructor&&cljs.core._EQ_.call(null,this.parent,b.parent)&&cljs.core._EQ_.call(null,this.section,b.section)&&cljs.core._EQ_.call(null,this.start_col,b.start_col)&&cljs.core._EQ_.call(null,this.indent,b.indent)&&cljs.core._EQ_.call(null,this.done_nl,b.done_nl)&&cljs.core._EQ_.call(null,this.intra_block_nl,b.intra_block_nl)&&cljs.core._EQ_.call(null,this.prefix,b.prefix)&&cljs.core._EQ_.call(null,
this.per_line_prefix,b.per_line_prefix)&&cljs.core._EQ_.call(null,this.suffix,b.suffix)&&cljs.core._EQ_.call(null,this.logical_block_callback,b.logical_block_callback)&&cljs.core._EQ_.call(null,this.__extmap,b.__extmap)};
cljs.pprint.logical_block.prototype.cljs$core$IMap$_dissoc$arity$2=function(a,b){return cljs.core.contains_QMARK_.call(null,new cljs.core.PersistentHashSet(null,new cljs.core.PersistentArrayMap(null,10,[new cljs.core.Keyword(null,"suffix","suffix",367373057),null,new cljs.core.Keyword(null,"indent","indent",-148200125),null,new cljs.core.Keyword(null,"parent","parent",-878878779),null,new cljs.core.Keyword(null,"section","section",-300141526),null,new cljs.core.Keyword(null,"done-nl","done-nl",-381024340),
null,new cljs.core.Keyword(null,"start-col","start-col",668080143),null,new cljs.core.Keyword(null,"prefix","prefix",-265908465),null,new cljs.core.Keyword(null,"per-line-prefix","per-line-prefix",846941813),null,new cljs.core.Keyword(null,"logical-block-callback","logical-block-callback",1612691194),null,new cljs.core.Keyword(null,"intra-block-nl","intra-block-nl",1808826875),null],null),null),b)?cljs.core.dissoc.call(null,cljs.core._with_meta.call(null,cljs.core.into.call(null,cljs.core.PersistentArrayMap.EMPTY,
this),this.__meta),b):new cljs.pprint.logical_block(this.parent,this.section,this.start_col,this.indent,this.done_nl,this.intra_block_nl,this.prefix,this.per_line_prefix,this.suffix,this.logical_block_callback,this.__meta,cljs.core.not_empty.call(null,cljs.core.dissoc.call(null,this.__extmap,b)),null)};
cljs.pprint.logical_block.prototype.cljs$core$IAssociative$_assoc$arity$3=function(a,b,c){a=cljs.core.keyword_identical_QMARK_;return cljs.core.truth_(a.call(null,new cljs.core.Keyword(null,"parent","parent",-878878779),b))?new cljs.pprint.logical_block(c,this.section,this.start_col,this.indent,this.done_nl,this.intra_block_nl,this.prefix,this.per_line_prefix,this.suffix,this.logical_block_callback,this.__meta,this.__extmap,null):cljs.core.truth_(a.call(null,new cljs.core.Keyword(null,"section","section",
-300141526),b))?new cljs.pprint.logical_block(this.parent,c,this.start_col,this.indent,this.done_nl,this.intra_block_nl,this.prefix,this.per_line_prefix,this.suffix,this.logical_block_callback,this.__meta,this.__extmap,null):cljs.core.truth_(a.call(null,new cljs.core.Keyword(null,"start-col","start-col",668080143),b))?new cljs.pprint.logical_block(this.parent,this.section,c,this.indent,this.done_nl,this.intra_block_nl,this.prefix,this.per_line_prefix,this.suffix,this.logical_block_callback,this.__meta,
this.__extmap,null):cljs.core.truth_(a.call(null,new cljs.core.Keyword(null,"indent","indent",-148200125),b))?new cljs.pprint.logical_block(this.parent,this.section,this.start_col,c,this.done_nl,this.intra_block_nl,this.prefix,this.per_line_prefix,this.suffix,this.logical_block_callback,this.__meta,this.__extmap,null):cljs.core.truth_(a.call(null,new cljs.core.Keyword(null,"done-nl","done-nl",-381024340),b))?new cljs.pprint.logical_block(this.parent,this.section,this.start_col,this.indent,c,this.intra_block_nl,
this.prefix,this.per_line_prefix,this.suffix,this.logical_block_callback,this.__meta,this.__extmap,null):cljs.core.truth_(a.call(null,new cljs.core.Keyword(null,"intra-block-nl","intra-block-nl",1808826875),b))?new cljs.pprint.logical_block(this.parent,this.section,this.start_col,this.indent,this.done_nl,c,this.prefix,this.per_line_prefix,this.suffix,this.logical_block_callback,this.__meta,this.__extmap,null):cljs.core.truth_(a.call(null,new cljs.core.Keyword(null,"prefix","prefix",-265908465),b))?
new cljs.pprint.logical_block(this.parent,this.section,this.start_col,this.indent,this.done_nl,this.intra_block_nl,c,this.per_line_prefix,this.suffix,this.logical_block_callback,this.__meta,this.__extmap,null):cljs.core.truth_(a.call(null,new cljs.core.Keyword(null,"per-line-prefix","per-line-prefix",846941813),b))?new cljs.pprint.logical_block(this.parent,this.section,this.start_col,this.indent,this.done_nl,this.intra_block_nl,this.prefix,c,this.suffix,this.logical_block_callback,this.__meta,this.__extmap,
null):cljs.core.truth_(a.call(null,new cljs.core.Keyword(null,"suffix","suffix",367373057),b))?new cljs.pprint.logical_block(this.parent,this.section,this.start_col,this.indent,this.done_nl,this.intra_block_nl,this.prefix,this.per_line_prefix,c,this.logical_block_callback,this.__meta,this.__extmap,null):cljs.core.truth_(a.call(null,new cljs.core.Keyword(null,"logical-block-callback","logical-block-callback",1612691194),b))?new cljs.pprint.logical_block(this.parent,this.section,this.start_col,this.indent,
this.done_nl,this.intra_block_nl,this.prefix,this.per_line_prefix,this.suffix,c,this.__meta,this.__extmap,null):new cljs.pprint.logical_block(this.parent,this.section,this.start_col,this.indent,this.done_nl,this.intra_block_nl,this.prefix,this.per_line_prefix,this.suffix,this.logical_block_callback,this.__meta,cljs.core.assoc.call(null,this.__extmap,b,c),null)};
cljs.pprint.logical_block.prototype.cljs$core$ISeqable$_seq$arity$1=function(a){return cljs.core.seq.call(null,cljs.core.concat.call(null,new cljs.core.PersistentVector(null,10,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.MapEntry(new cljs.core.Keyword(null,"parent","parent",-878878779),this.parent,null),new cljs.core.MapEntry(new cljs.core.Keyword(null,"section","section",-300141526),this.section,null),new cljs.core.MapEntry(new cljs.core.Keyword(null,"start-col","start-col",668080143),
this.start_col,null),new cljs.core.MapEntry(new cljs.core.Keyword(null,"indent","indent",-148200125),this.indent,null),new cljs.core.MapEntry(new cljs.core.Keyword(null,"done-nl","done-nl",-381024340),this.done_nl,null),new cljs.core.MapEntry(new cljs.core.Keyword(null,"intra-block-nl","intra-block-nl",1808826875),this.intra_block_nl,null),new cljs.core.MapEntry(new cljs.core.Keyword(null,"prefix","prefix",-265908465),this.prefix,null),new cljs.core.MapEntry(new cljs.core.Keyword(null,"per-line-prefix",
"per-line-prefix",846941813),this.per_line_prefix,null),new cljs.core.MapEntry(new cljs.core.Keyword(null,"suffix","suffix",367373057),this.suffix,null),new cljs.core.MapEntry(new cljs.core.Keyword(null,"logical-block-callback","logical-block-callback",1612691194),this.logical_block_callback,null)],null),this.__extmap))};
cljs.pprint.logical_block.prototype.cljs$core$IWithMeta$_with_meta$arity$2=function(a,b){return new cljs.pprint.logical_block(this.parent,this.section,this.start_col,this.indent,this.done_nl,this.intra_block_nl,this.prefix,this.per_line_prefix,this.suffix,this.logical_block_callback,b,this.__extmap,this.__hash)};
cljs.pprint.logical_block.prototype.cljs$core$ICollection$_conj$arity$2=function(a,b){return cljs.core.vector_QMARK_.call(null,b)?this.cljs$core$IAssociative$_assoc$arity$3(null,cljs.core._nth.call(null,b,0),cljs.core._nth.call(null,b,1)):cljs.core.reduce.call(null,cljs.core._conj,this,b)};
cljs.pprint.logical_block.getBasis=function(){return new cljs.core.PersistentVector(null,10,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"parent","parent",761652748,null),new cljs.core.Symbol(null,"section","section",1340390001,null),new cljs.core.Symbol(null,"start-col","start-col",-1986355626,null),new cljs.core.Symbol(null,"indent","indent",1492331402,null),new cljs.core.Symbol(null,"done-nl","done-nl",1259507187,null),new cljs.core.Symbol(null,"intra-block-nl","intra-block-nl",
-845608894,null),new cljs.core.Symbol(null,"prefix","prefix",1374623062,null),new cljs.core.Symbol(null,"per-line-prefix","per-line-prefix",-1807493956,null),new cljs.core.Symbol(null,"suffix","suffix",2007904584,null),new cljs.core.Symbol(null,"logical-block-callback","logical-block-callback",-1041744575,null)],null)};cljs.pprint.logical_block.cljs$lang$type=!0;cljs.pprint.logical_block.cljs$lang$ctorPrSeq=function(a){return new cljs.core.List(null,"cljs.pprint/logical-block",null,1,null)};
cljs.pprint.logical_block.cljs$lang$ctorPrWriter=function(a,b){return cljs.core._write.call(null,b,"cljs.pprint/logical-block")};cljs.pprint.__GT_logical_block=function(a,b,c,d,e,f,g,h,k,l){return new cljs.pprint.logical_block(a,b,c,d,e,f,g,h,k,l,null,null,null)};
cljs.pprint.map__GT_logical_block=function(a){var b=cljs.core.dissoc.call(null,a,new cljs.core.Keyword(null,"parent","parent",-878878779),new cljs.core.Keyword(null,"section","section",-300141526),new cljs.core.Keyword(null,"start-col","start-col",668080143),new cljs.core.Keyword(null,"indent","indent",-148200125),new cljs.core.Keyword(null,"done-nl","done-nl",-381024340),new cljs.core.Keyword(null,"intra-block-nl","intra-block-nl",1808826875),new cljs.core.Keyword(null,"prefix","prefix",-265908465),
new cljs.core.Keyword(null,"per-line-prefix","per-line-prefix",846941813),new cljs.core.Keyword(null,"suffix","suffix",367373057),new cljs.core.Keyword(null,"logical-block-callback","logical-block-callback",1612691194));b=cljs.core.record_QMARK_.call(null,a)?cljs.core.into.call(null,cljs.core.PersistentArrayMap.EMPTY,b):b;return new cljs.pprint.logical_block((new cljs.core.Keyword(null,"parent","parent",-878878779)).cljs$core$IFn$_invoke$arity$1(a),(new cljs.core.Keyword(null,"section","section",
-300141526)).cljs$core$IFn$_invoke$arity$1(a),(new cljs.core.Keyword(null,"start-col","start-col",668080143)).cljs$core$IFn$_invoke$arity$1(a),(new cljs.core.Keyword(null,"indent","indent",-148200125)).cljs$core$IFn$_invoke$arity$1(a),(new cljs.core.Keyword(null,"done-nl","done-nl",-381024340)).cljs$core$IFn$_invoke$arity$1(a),(new cljs.core.Keyword(null,"intra-block-nl","intra-block-nl",1808826875)).cljs$core$IFn$_invoke$arity$1(a),(new cljs.core.Keyword(null,"prefix","prefix",-265908465)).cljs$core$IFn$_invoke$arity$1(a),
(new cljs.core.Keyword(null,"per-line-prefix","per-line-prefix",846941813)).cljs$core$IFn$_invoke$arity$1(a),(new cljs.core.Keyword(null,"suffix","suffix",367373057)).cljs$core$IFn$_invoke$arity$1(a),(new cljs.core.Keyword(null,"logical-block-callback","logical-block-callback",1612691194)).cljs$core$IFn$_invoke$arity$1(a),null,cljs.core.not_empty.call(null,b),null)};
cljs.pprint.ancestor_QMARK_=function(a,b){for(b=(new cljs.core.Keyword(null,"parent","parent",-878878779)).cljs$core$IFn$_invoke$arity$1(b);;){if(null==b)return!1;if(a===b)return!0;b=(new cljs.core.Keyword(null,"parent","parent",-878878779)).cljs$core$IFn$_invoke$arity$1(b)}};
cljs.pprint.buffer_length=function(a){return(a=cljs.core.seq.call(null,a))?(new cljs.core.Keyword(null,"end-pos","end-pos",-1643883926)).cljs$core$IFn$_invoke$arity$1(cljs.core.last.call(null,a))-(new cljs.core.Keyword(null,"start-pos","start-pos",668789086)).cljs$core$IFn$_invoke$arity$1(cljs.core.first.call(null,a)):0};
cljs.pprint.buffer_blob=function(a,b,c,d,e,f,g,h){this.type_tag=a;this.data=b;this.trailing_white_space=c;this.start_pos=d;this.end_pos=e;this.__meta=f;this.__extmap=g;this.__hash=h;this.cljs$lang$protocol_mask$partition0$=2230716170;this.cljs$lang$protocol_mask$partition1$=139264};cljs.pprint.buffer_blob.prototype.cljs$core$ILookup$_lookup$arity$2=function(a,b){return this.cljs$core$ILookup$_lookup$arity$3(null,b,null)};
cljs.pprint.buffer_blob.prototype.cljs$core$ILookup$_lookup$arity$3=function(a,b,c){switch(b instanceof cljs.core.Keyword?b.fqn:null){case "type-tag":return this.type_tag;case "data":return this.data;case "trailing-white-space":return this.trailing_white_space;case "start-pos":return this.start_pos;case "end-pos":return this.end_pos;default:return cljs.core.get.call(null,this.__extmap,b,c)}};
cljs.pprint.buffer_blob.prototype.cljs$core$IKVReduce$_kv_reduce$arity$3=function(a,b,c){return cljs.core.reduce.call(null,function(a){return function(a,c){var d=cljs.core.nth.call(null,c,0,null);c=cljs.core.nth.call(null,c,1,null);return b.call(null,a,d,c)}}(this),c,this)};
cljs.pprint.buffer_blob.prototype.cljs$core$IPrintWithWriter$_pr_writer$arity$3=function(a,b,c){a=function(a){return function(a){return cljs.core.pr_sequential_writer.call(null,b,cljs.core.pr_writer,""," ","",c,a)}}(this);return cljs.core.pr_sequential_writer.call(null,b,a,"#cljs.pprint.buffer-blob{",", ","}",c,cljs.core.concat.call(null,new cljs.core.PersistentVector(null,5,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,
"type-tag","type-tag",-1873863267),this.type_tag],null),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"data","data",-232669377),this.data],null),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"trailing-white-space","trailing-white-space",1496006996),this.trailing_white_space],null),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,
"start-pos","start-pos",668789086),this.start_pos],null),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"end-pos","end-pos",-1643883926),this.end_pos],null)],null),this.__extmap))};
cljs.pprint.buffer_blob.prototype.cljs$core$IIterable$_iterator$arity$1=function(a){return new cljs.core.RecordIter(0,this,5,new cljs.core.PersistentVector(null,5,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"type-tag","type-tag",-1873863267),new cljs.core.Keyword(null,"data","data",-232669377),new cljs.core.Keyword(null,"trailing-white-space","trailing-white-space",1496006996),new cljs.core.Keyword(null,"start-pos","start-pos",668789086),new cljs.core.Keyword(null,"end-pos",
"end-pos",-1643883926)],null),cljs.core.truth_(this.__extmap)?cljs.core._iterator.call(null,this.__extmap):cljs.core.nil_iter.call(null))};cljs.pprint.buffer_blob.prototype.cljs$core$IMeta$_meta$arity$1=function(a){return this.__meta};cljs.pprint.buffer_blob.prototype.cljs$core$ICloneable$_clone$arity$1=function(a){return new cljs.pprint.buffer_blob(this.type_tag,this.data,this.trailing_white_space,this.start_pos,this.end_pos,this.__meta,this.__extmap,this.__hash)};
cljs.pprint.buffer_blob.prototype.cljs$core$ICounted$_count$arity$1=function(a){return 5+cljs.core.count.call(null,this.__extmap)};cljs.pprint.buffer_blob.prototype.cljs$core$IHash$_hash$arity$1=function(a){a=this.__hash;return null!=a?a:this.__hash=a=function(a,c){return function(a){return 1809113693^cljs.core.hash_unordered_coll.call(null,a)}}(a,this).call(null,this)};
cljs.pprint.buffer_blob.prototype.cljs$core$IEquiv$_equiv$arity$2=function(a,b){return null!=b&&this.constructor===b.constructor&&cljs.core._EQ_.call(null,this.type_tag,b.type_tag)&&cljs.core._EQ_.call(null,this.data,b.data)&&cljs.core._EQ_.call(null,this.trailing_white_space,b.trailing_white_space)&&cljs.core._EQ_.call(null,this.start_pos,b.start_pos)&&cljs.core._EQ_.call(null,this.end_pos,b.end_pos)&&cljs.core._EQ_.call(null,this.__extmap,b.__extmap)};
cljs.pprint.buffer_blob.prototype.cljs$core$IMap$_dissoc$arity$2=function(a,b){return cljs.core.contains_QMARK_.call(null,new cljs.core.PersistentHashSet(null,new cljs.core.PersistentArrayMap(null,5,[new cljs.core.Keyword(null,"end-pos","end-pos",-1643883926),null,new cljs.core.Keyword(null,"trailing-white-space","trailing-white-space",1496006996),null,new cljs.core.Keyword(null,"type-tag","type-tag",-1873863267),null,new cljs.core.Keyword(null,"start-pos","start-pos",668789086),null,new cljs.core.Keyword(null,
"data","data",-232669377),null],null),null),b)?cljs.core.dissoc.call(null,cljs.core._with_meta.call(null,cljs.core.into.call(null,cljs.core.PersistentArrayMap.EMPTY,this),this.__meta),b):new cljs.pprint.buffer_blob(this.type_tag,this.data,this.trailing_white_space,this.start_pos,this.end_pos,this.__meta,cljs.core.not_empty.call(null,cljs.core.dissoc.call(null,this.__extmap,b)),null)};
cljs.pprint.buffer_blob.prototype.cljs$core$IAssociative$_assoc$arity$3=function(a,b,c){a=cljs.core.keyword_identical_QMARK_;return cljs.core.truth_(a.call(null,new cljs.core.Keyword(null,"type-tag","type-tag",-1873863267),b))?new cljs.pprint.buffer_blob(c,this.data,this.trailing_white_space,this.start_pos,this.end_pos,this.__meta,this.__extmap,null):cljs.core.truth_(a.call(null,new cljs.core.Keyword(null,"data","data",-232669377),b))?new cljs.pprint.buffer_blob(this.type_tag,c,this.trailing_white_space,
this.start_pos,this.end_pos,this.__meta,this.__extmap,null):cljs.core.truth_(a.call(null,new cljs.core.Keyword(null,"trailing-white-space","trailing-white-space",1496006996),b))?new cljs.pprint.buffer_blob(this.type_tag,this.data,c,this.start_pos,this.end_pos,this.__meta,this.__extmap,null):cljs.core.truth_(a.call(null,new cljs.core.Keyword(null,"start-pos","start-pos",668789086),b))?new cljs.pprint.buffer_blob(this.type_tag,this.data,this.trailing_white_space,c,this.end_pos,this.__meta,this.__extmap,
null):cljs.core.truth_(a.call(null,new cljs.core.Keyword(null,"end-pos","end-pos",-1643883926),b))?new cljs.pprint.buffer_blob(this.type_tag,this.data,this.trailing_white_space,this.start_pos,c,this.__meta,this.__extmap,null):new cljs.pprint.buffer_blob(this.type_tag,this.data,this.trailing_white_space,this.start_pos,this.end_pos,this.__meta,cljs.core.assoc.call(null,this.__extmap,b,c),null)};
cljs.pprint.buffer_blob.prototype.cljs$core$ISeqable$_seq$arity$1=function(a){return cljs.core.seq.call(null,cljs.core.concat.call(null,new cljs.core.PersistentVector(null,5,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.MapEntry(new cljs.core.Keyword(null,"type-tag","type-tag",-1873863267),this.type_tag,null),new cljs.core.MapEntry(new cljs.core.Keyword(null,"data","data",-232669377),this.data,null),new cljs.core.MapEntry(new cljs.core.Keyword(null,"trailing-white-space","trailing-white-space",
1496006996),this.trailing_white_space,null),new cljs.core.MapEntry(new cljs.core.Keyword(null,"start-pos","start-pos",668789086),this.start_pos,null),new cljs.core.MapEntry(new cljs.core.Keyword(null,"end-pos","end-pos",-1643883926),this.end_pos,null)],null),this.__extmap))};cljs.pprint.buffer_blob.prototype.cljs$core$IWithMeta$_with_meta$arity$2=function(a,b){return new cljs.pprint.buffer_blob(this.type_tag,this.data,this.trailing_white_space,this.start_pos,this.end_pos,b,this.__extmap,this.__hash)};
cljs.pprint.buffer_blob.prototype.cljs$core$ICollection$_conj$arity$2=function(a,b){return cljs.core.vector_QMARK_.call(null,b)?this.cljs$core$IAssociative$_assoc$arity$3(null,cljs.core._nth.call(null,b,0),cljs.core._nth.call(null,b,1)):cljs.core.reduce.call(null,cljs.core._conj,this,b)};
cljs.pprint.buffer_blob.getBasis=function(){return new cljs.core.PersistentVector(null,5,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"type-tag","type-tag",-233331740,null),new cljs.core.Symbol(null,"data","data",1407862150,null),new cljs.core.Symbol(null,"trailing-white-space","trailing-white-space",-1158428773,null),new cljs.core.Symbol(null,"start-pos","start-pos",-1985646683,null),new cljs.core.Symbol(null,"end-pos","end-pos",-3352399,null)],null)};
cljs.pprint.buffer_blob.cljs$lang$type=!0;cljs.pprint.buffer_blob.cljs$lang$ctorPrSeq=function(a){return new cljs.core.List(null,"cljs.pprint/buffer-blob",null,1,null)};cljs.pprint.buffer_blob.cljs$lang$ctorPrWriter=function(a,b){return cljs.core._write.call(null,b,"cljs.pprint/buffer-blob")};cljs.pprint.__GT_buffer_blob=function(a,b,c,d,e){return new cljs.pprint.buffer_blob(a,b,c,d,e,null,null,null)};
cljs.pprint.map__GT_buffer_blob=function(a){var b=cljs.core.dissoc.call(null,a,new cljs.core.Keyword(null,"type-tag","type-tag",-1873863267),new cljs.core.Keyword(null,"data","data",-232669377),new cljs.core.Keyword(null,"trailing-white-space","trailing-white-space",1496006996),new cljs.core.Keyword(null,"start-pos","start-pos",668789086),new cljs.core.Keyword(null,"end-pos","end-pos",-1643883926));b=cljs.core.record_QMARK_.call(null,a)?cljs.core.into.call(null,cljs.core.PersistentArrayMap.EMPTY,
b):b;return new cljs.pprint.buffer_blob((new cljs.core.Keyword(null,"type-tag","type-tag",-1873863267)).cljs$core$IFn$_invoke$arity$1(a),(new cljs.core.Keyword(null,"data","data",-232669377)).cljs$core$IFn$_invoke$arity$1(a),(new cljs.core.Keyword(null,"trailing-white-space","trailing-white-space",1496006996)).cljs$core$IFn$_invoke$arity$1(a),(new cljs.core.Keyword(null,"start-pos","start-pos",668789086)).cljs$core$IFn$_invoke$arity$1(a),(new cljs.core.Keyword(null,"end-pos","end-pos",-1643883926)).cljs$core$IFn$_invoke$arity$1(a),
null,cljs.core.not_empty.call(null,b),null)};cljs.pprint.make_buffer_blob=function(a,b,c,d){return new cljs.pprint.buffer_blob(new cljs.core.Keyword(null,"buffer-blob","buffer-blob",-1830112173),a,b,c,d,null,null,null)};cljs.pprint.buffer_blob_QMARK_=function(a){return cljs.core._EQ_.call(null,(new cljs.core.Keyword(null,"type-tag","type-tag",-1873863267)).cljs$core$IFn$_invoke$arity$1(a),new cljs.core.Keyword(null,"buffer-blob","buffer-blob",-1830112173))};
cljs.pprint.nl_t=function(a,b,c,d,e,f,g,h){this.type_tag=a;this.type=b;this.logical_block=c;this.start_pos=d;this.end_pos=e;this.__meta=f;this.__extmap=g;this.__hash=h;this.cljs$lang$protocol_mask$partition0$=2230716170;this.cljs$lang$protocol_mask$partition1$=139264};cljs.pprint.nl_t.prototype.cljs$core$ILookup$_lookup$arity$2=function(a,b){return this.cljs$core$ILookup$_lookup$arity$3(null,b,null)};
cljs.pprint.nl_t.prototype.cljs$core$ILookup$_lookup$arity$3=function(a,b,c){switch(b instanceof cljs.core.Keyword?b.fqn:null){case "type-tag":return this.type_tag;case "type":return this.type;case "logical-block":return this.logical_block;case "start-pos":return this.start_pos;case "end-pos":return this.end_pos;default:return cljs.core.get.call(null,this.__extmap,b,c)}};
cljs.pprint.nl_t.prototype.cljs$core$IKVReduce$_kv_reduce$arity$3=function(a,b,c){return cljs.core.reduce.call(null,function(a){return function(a,c){var d=cljs.core.nth.call(null,c,0,null);c=cljs.core.nth.call(null,c,1,null);return b.call(null,a,d,c)}}(this),c,this)};
cljs.pprint.nl_t.prototype.cljs$core$IPrintWithWriter$_pr_writer$arity$3=function(a,b,c){a=function(a){return function(a){return cljs.core.pr_sequential_writer.call(null,b,cljs.core.pr_writer,""," ","",c,a)}}(this);return cljs.core.pr_sequential_writer.call(null,b,a,"#cljs.pprint.nl-t{",", ","}",c,cljs.core.concat.call(null,new cljs.core.PersistentVector(null,5,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,
"type-tag","type-tag",-1873863267),this.type_tag],null),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"type","type",1174270348),this.type],null),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"logical-block","logical-block",-581022564),this.logical_block],null),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"start-pos","start-pos",
668789086),this.start_pos],null),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"end-pos","end-pos",-1643883926),this.end_pos],null)],null),this.__extmap))};
cljs.pprint.nl_t.prototype.cljs$core$IIterable$_iterator$arity$1=function(a){return new cljs.core.RecordIter(0,this,5,new cljs.core.PersistentVector(null,5,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"type-tag","type-tag",-1873863267),new cljs.core.Keyword(null,"type","type",1174270348),new cljs.core.Keyword(null,"logical-block","logical-block",-581022564),new cljs.core.Keyword(null,"start-pos","start-pos",668789086),new cljs.core.Keyword(null,"end-pos","end-pos",-1643883926)],
null),cljs.core.truth_(this.__extmap)?cljs.core._iterator.call(null,this.__extmap):cljs.core.nil_iter.call(null))};cljs.pprint.nl_t.prototype.cljs$core$IMeta$_meta$arity$1=function(a){return this.__meta};cljs.pprint.nl_t.prototype.cljs$core$ICloneable$_clone$arity$1=function(a){return new cljs.pprint.nl_t(this.type_tag,this.type,this.logical_block,this.start_pos,this.end_pos,this.__meta,this.__extmap,this.__hash)};
cljs.pprint.nl_t.prototype.cljs$core$ICounted$_count$arity$1=function(a){return 5+cljs.core.count.call(null,this.__extmap)};cljs.pprint.nl_t.prototype.cljs$core$IHash$_hash$arity$1=function(a){a=this.__hash;return null!=a?a:this.__hash=a=function(a,c){return function(a){return-1640656800^cljs.core.hash_unordered_coll.call(null,a)}}(a,this).call(null,this)};
cljs.pprint.nl_t.prototype.cljs$core$IEquiv$_equiv$arity$2=function(a,b){return null!=b&&this.constructor===b.constructor&&cljs.core._EQ_.call(null,this.type_tag,b.type_tag)&&cljs.core._EQ_.call(null,this.type,b.type)&&cljs.core._EQ_.call(null,this.logical_block,b.logical_block)&&cljs.core._EQ_.call(null,this.start_pos,b.start_pos)&&cljs.core._EQ_.call(null,this.end_pos,b.end_pos)&&cljs.core._EQ_.call(null,this.__extmap,b.__extmap)};
cljs.pprint.nl_t.prototype.cljs$core$IMap$_dissoc$arity$2=function(a,b){return cljs.core.contains_QMARK_.call(null,new cljs.core.PersistentHashSet(null,new cljs.core.PersistentArrayMap(null,5,[new cljs.core.Keyword(null,"end-pos","end-pos",-1643883926),null,new cljs.core.Keyword(null,"type","type",1174270348),null,new cljs.core.Keyword(null,"logical-block","logical-block",-581022564),null,new cljs.core.Keyword(null,"type-tag","type-tag",-1873863267),null,new cljs.core.Keyword(null,"start-pos","start-pos",
668789086),null],null),null),b)?cljs.core.dissoc.call(null,cljs.core._with_meta.call(null,cljs.core.into.call(null,cljs.core.PersistentArrayMap.EMPTY,this),this.__meta),b):new cljs.pprint.nl_t(this.type_tag,this.type,this.logical_block,this.start_pos,this.end_pos,this.__meta,cljs.core.not_empty.call(null,cljs.core.dissoc.call(null,this.__extmap,b)),null)};
cljs.pprint.nl_t.prototype.cljs$core$IAssociative$_assoc$arity$3=function(a,b,c){a=cljs.core.keyword_identical_QMARK_;return cljs.core.truth_(a.call(null,new cljs.core.Keyword(null,"type-tag","type-tag",-1873863267),b))?new cljs.pprint.nl_t(c,this.type,this.logical_block,this.start_pos,this.end_pos,this.__meta,this.__extmap,null):cljs.core.truth_(a.call(null,new cljs.core.Keyword(null,"type","type",1174270348),b))?new cljs.pprint.nl_t(this.type_tag,c,this.logical_block,this.start_pos,this.end_pos,
this.__meta,this.__extmap,null):cljs.core.truth_(a.call(null,new cljs.core.Keyword(null,"logical-block","logical-block",-581022564),b))?new cljs.pprint.nl_t(this.type_tag,this.type,c,this.start_pos,this.end_pos,this.__meta,this.__extmap,null):cljs.core.truth_(a.call(null,new cljs.core.Keyword(null,"start-pos","start-pos",668789086),b))?new cljs.pprint.nl_t(this.type_tag,this.type,this.logical_block,c,this.end_pos,this.__meta,this.__extmap,null):cljs.core.truth_(a.call(null,new cljs.core.Keyword(null,
"end-pos","end-pos",-1643883926),b))?new cljs.pprint.nl_t(this.type_tag,this.type,this.logical_block,this.start_pos,c,this.__meta,this.__extmap,null):new cljs.pprint.nl_t(this.type_tag,this.type,this.logical_block,this.start_pos,this.end_pos,this.__meta,cljs.core.assoc.call(null,this.__extmap,b,c),null)};
cljs.pprint.nl_t.prototype.cljs$core$ISeqable$_seq$arity$1=function(a){return cljs.core.seq.call(null,cljs.core.concat.call(null,new cljs.core.PersistentVector(null,5,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.MapEntry(new cljs.core.Keyword(null,"type-tag","type-tag",-1873863267),this.type_tag,null),new cljs.core.MapEntry(new cljs.core.Keyword(null,"type","type",1174270348),this.type,null),new cljs.core.MapEntry(new cljs.core.Keyword(null,"logical-block","logical-block",-581022564),this.logical_block,
null),new cljs.core.MapEntry(new cljs.core.Keyword(null,"start-pos","start-pos",668789086),this.start_pos,null),new cljs.core.MapEntry(new cljs.core.Keyword(null,"end-pos","end-pos",-1643883926),this.end_pos,null)],null),this.__extmap))};cljs.pprint.nl_t.prototype.cljs$core$IWithMeta$_with_meta$arity$2=function(a,b){return new cljs.pprint.nl_t(this.type_tag,this.type,this.logical_block,this.start_pos,this.end_pos,b,this.__extmap,this.__hash)};
cljs.pprint.nl_t.prototype.cljs$core$ICollection$_conj$arity$2=function(a,b){return cljs.core.vector_QMARK_.call(null,b)?this.cljs$core$IAssociative$_assoc$arity$3(null,cljs.core._nth.call(null,b,0),cljs.core._nth.call(null,b,1)):cljs.core.reduce.call(null,cljs.core._conj,this,b)};
cljs.pprint.nl_t.getBasis=function(){return new cljs.core.PersistentVector(null,5,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"type-tag","type-tag",-233331740,null),new cljs.core.Symbol(null,"type","type",-1480165421,null),new cljs.core.Symbol(null,"logical-block","logical-block",1059508963,null),new cljs.core.Symbol(null,"start-pos","start-pos",-1985646683,null),new cljs.core.Symbol(null,"end-pos","end-pos",-3352399,null)],null)};cljs.pprint.nl_t.cljs$lang$type=!0;
cljs.pprint.nl_t.cljs$lang$ctorPrSeq=function(a){return new cljs.core.List(null,"cljs.pprint/nl-t",null,1,null)};cljs.pprint.nl_t.cljs$lang$ctorPrWriter=function(a,b){return cljs.core._write.call(null,b,"cljs.pprint/nl-t")};cljs.pprint.__GT_nl_t=function(a,b,c,d,e){return new cljs.pprint.nl_t(a,b,c,d,e,null,null,null)};
cljs.pprint.map__GT_nl_t=function(a){var b=cljs.core.dissoc.call(null,a,new cljs.core.Keyword(null,"type-tag","type-tag",-1873863267),new cljs.core.Keyword(null,"type","type",1174270348),new cljs.core.Keyword(null,"logical-block","logical-block",-581022564),new cljs.core.Keyword(null,"start-pos","start-pos",668789086),new cljs.core.Keyword(null,"end-pos","end-pos",-1643883926));b=cljs.core.record_QMARK_.call(null,a)?cljs.core.into.call(null,cljs.core.PersistentArrayMap.EMPTY,b):b;return new cljs.pprint.nl_t((new cljs.core.Keyword(null,
"type-tag","type-tag",-1873863267)).cljs$core$IFn$_invoke$arity$1(a),(new cljs.core.Keyword(null,"type","type",1174270348)).cljs$core$IFn$_invoke$arity$1(a),(new cljs.core.Keyword(null,"logical-block","logical-block",-581022564)).cljs$core$IFn$_invoke$arity$1(a),(new cljs.core.Keyword(null,"start-pos","start-pos",668789086)).cljs$core$IFn$_invoke$arity$1(a),(new cljs.core.Keyword(null,"end-pos","end-pos",-1643883926)).cljs$core$IFn$_invoke$arity$1(a),null,cljs.core.not_empty.call(null,b),null)};
cljs.pprint.make_nl_t=function(a,b,c,d){return new cljs.pprint.nl_t(new cljs.core.Keyword(null,"nl-t","nl-t",-1608382114),a,b,c,d,null,null,null)};cljs.pprint.nl_t_QMARK_=function(a){return cljs.core._EQ_.call(null,(new cljs.core.Keyword(null,"type-tag","type-tag",-1873863267)).cljs$core$IFn$_invoke$arity$1(a),new cljs.core.Keyword(null,"nl-t","nl-t",-1608382114))};
cljs.pprint.start_block_t=function(a,b,c,d,e,f,g){this.type_tag=a;this.logical_block=b;this.start_pos=c;this.end_pos=d;this.__meta=e;this.__extmap=f;this.__hash=g;this.cljs$lang$protocol_mask$partition0$=2230716170;this.cljs$lang$protocol_mask$partition1$=139264};cljs.pprint.start_block_t.prototype.cljs$core$ILookup$_lookup$arity$2=function(a,b){return this.cljs$core$ILookup$_lookup$arity$3(null,b,null)};
cljs.pprint.start_block_t.prototype.cljs$core$ILookup$_lookup$arity$3=function(a,b,c){switch(b instanceof cljs.core.Keyword?b.fqn:null){case "type-tag":return this.type_tag;case "logical-block":return this.logical_block;case "start-pos":return this.start_pos;case "end-pos":return this.end_pos;default:return cljs.core.get.call(null,this.__extmap,b,c)}};
cljs.pprint.start_block_t.prototype.cljs$core$IKVReduce$_kv_reduce$arity$3=function(a,b,c){return cljs.core.reduce.call(null,function(a){return function(a,c){var d=cljs.core.nth.call(null,c,0,null);c=cljs.core.nth.call(null,c,1,null);return b.call(null,a,d,c)}}(this),c,this)};
cljs.pprint.start_block_t.prototype.cljs$core$IPrintWithWriter$_pr_writer$arity$3=function(a,b,c){a=function(a){return function(a){return cljs.core.pr_sequential_writer.call(null,b,cljs.core.pr_writer,""," ","",c,a)}}(this);return cljs.core.pr_sequential_writer.call(null,b,a,"#cljs.pprint.start-block-t{",", ","}",c,cljs.core.concat.call(null,new cljs.core.PersistentVector(null,4,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,
[new cljs.core.Keyword(null,"type-tag","type-tag",-1873863267),this.type_tag],null),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"logical-block","logical-block",-581022564),this.logical_block],null),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"start-pos","start-pos",668789086),this.start_pos],null),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,
[new cljs.core.Keyword(null,"end-pos","end-pos",-1643883926),this.end_pos],null)],null),this.__extmap))};
cljs.pprint.start_block_t.prototype.cljs$core$IIterable$_iterator$arity$1=function(a){return new cljs.core.RecordIter(0,this,4,new cljs.core.PersistentVector(null,4,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"type-tag","type-tag",-1873863267),new cljs.core.Keyword(null,"logical-block","logical-block",-581022564),new cljs.core.Keyword(null,"start-pos","start-pos",668789086),new cljs.core.Keyword(null,"end-pos","end-pos",-1643883926)],null),cljs.core.truth_(this.__extmap)?cljs.core._iterator.call(null,
this.__extmap):cljs.core.nil_iter.call(null))};cljs.pprint.start_block_t.prototype.cljs$core$IMeta$_meta$arity$1=function(a){return this.__meta};cljs.pprint.start_block_t.prototype.cljs$core$ICloneable$_clone$arity$1=function(a){return new cljs.pprint.start_block_t(this.type_tag,this.logical_block,this.start_pos,this.end_pos,this.__meta,this.__extmap,this.__hash)};cljs.pprint.start_block_t.prototype.cljs$core$ICounted$_count$arity$1=function(a){return 4+cljs.core.count.call(null,this.__extmap)};
cljs.pprint.start_block_t.prototype.cljs$core$IHash$_hash$arity$1=function(a){a=this.__hash;return null!=a?a:this.__hash=a=function(a,c){return function(a){return-414877272^cljs.core.hash_unordered_coll.call(null,a)}}(a,this).call(null,this)};
cljs.pprint.start_block_t.prototype.cljs$core$IEquiv$_equiv$arity$2=function(a,b){return null!=b&&this.constructor===b.constructor&&cljs.core._EQ_.call(null,this.type_tag,b.type_tag)&&cljs.core._EQ_.call(null,this.logical_block,b.logical_block)&&cljs.core._EQ_.call(null,this.start_pos,b.start_pos)&&cljs.core._EQ_.call(null,this.end_pos,b.end_pos)&&cljs.core._EQ_.call(null,this.__extmap,b.__extmap)};
cljs.pprint.start_block_t.prototype.cljs$core$IMap$_dissoc$arity$2=function(a,b){return cljs.core.contains_QMARK_.call(null,new cljs.core.PersistentHashSet(null,new cljs.core.PersistentArrayMap(null,4,[new cljs.core.Keyword(null,"end-pos","end-pos",-1643883926),null,new cljs.core.Keyword(null,"logical-block","logical-block",-581022564),null,new cljs.core.Keyword(null,"type-tag","type-tag",-1873863267),null,new cljs.core.Keyword(null,"start-pos","start-pos",668789086),null],null),null),b)?cljs.core.dissoc.call(null,
cljs.core._with_meta.call(null,cljs.core.into.call(null,cljs.core.PersistentArrayMap.EMPTY,this),this.__meta),b):new cljs.pprint.start_block_t(this.type_tag,this.logical_block,this.start_pos,this.end_pos,this.__meta,cljs.core.not_empty.call(null,cljs.core.dissoc.call(null,this.__extmap,b)),null)};
cljs.pprint.start_block_t.prototype.cljs$core$IAssociative$_assoc$arity$3=function(a,b,c){a=cljs.core.keyword_identical_QMARK_;return cljs.core.truth_(a.call(null,new cljs.core.Keyword(null,"type-tag","type-tag",-1873863267),b))?new cljs.pprint.start_block_t(c,this.logical_block,this.start_pos,this.end_pos,this.__meta,this.__extmap,null):cljs.core.truth_(a.call(null,new cljs.core.Keyword(null,"logical-block","logical-block",-581022564),b))?new cljs.pprint.start_block_t(this.type_tag,c,this.start_pos,
this.end_pos,this.__meta,this.__extmap,null):cljs.core.truth_(a.call(null,new cljs.core.Keyword(null,"start-pos","start-pos",668789086),b))?new cljs.pprint.start_block_t(this.type_tag,this.logical_block,c,this.end_pos,this.__meta,this.__extmap,null):cljs.core.truth_(a.call(null,new cljs.core.Keyword(null,"end-pos","end-pos",-1643883926),b))?new cljs.pprint.start_block_t(this.type_tag,this.logical_block,this.start_pos,c,this.__meta,this.__extmap,null):new cljs.pprint.start_block_t(this.type_tag,this.logical_block,
this.start_pos,this.end_pos,this.__meta,cljs.core.assoc.call(null,this.__extmap,b,c),null)};
cljs.pprint.start_block_t.prototype.cljs$core$ISeqable$_seq$arity$1=function(a){return cljs.core.seq.call(null,cljs.core.concat.call(null,new cljs.core.PersistentVector(null,4,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.MapEntry(new cljs.core.Keyword(null,"type-tag","type-tag",-1873863267),this.type_tag,null),new cljs.core.MapEntry(new cljs.core.Keyword(null,"logical-block","logical-block",-581022564),this.logical_block,null),new cljs.core.MapEntry(new cljs.core.Keyword(null,"start-pos",
"start-pos",668789086),this.start_pos,null),new cljs.core.MapEntry(new cljs.core.Keyword(null,"end-pos","end-pos",-1643883926),this.end_pos,null)],null),this.__extmap))};cljs.pprint.start_block_t.prototype.cljs$core$IWithMeta$_with_meta$arity$2=function(a,b){return new cljs.pprint.start_block_t(this.type_tag,this.logical_block,this.start_pos,this.end_pos,b,this.__extmap,this.__hash)};
cljs.pprint.start_block_t.prototype.cljs$core$ICollection$_conj$arity$2=function(a,b){return cljs.core.vector_QMARK_.call(null,b)?this.cljs$core$IAssociative$_assoc$arity$3(null,cljs.core._nth.call(null,b,0),cljs.core._nth.call(null,b,1)):cljs.core.reduce.call(null,cljs.core._conj,this,b)};
cljs.pprint.start_block_t.getBasis=function(){return new cljs.core.PersistentVector(null,4,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"type-tag","type-tag",-233331740,null),new cljs.core.Symbol(null,"logical-block","logical-block",1059508963,null),new cljs.core.Symbol(null,"start-pos","start-pos",-1985646683,null),new cljs.core.Symbol(null,"end-pos","end-pos",-3352399,null)],null)};cljs.pprint.start_block_t.cljs$lang$type=!0;
cljs.pprint.start_block_t.cljs$lang$ctorPrSeq=function(a){return new cljs.core.List(null,"cljs.pprint/start-block-t",null,1,null)};cljs.pprint.start_block_t.cljs$lang$ctorPrWriter=function(a,b){return cljs.core._write.call(null,b,"cljs.pprint/start-block-t")};cljs.pprint.__GT_start_block_t=function(a,b,c,d){return new cljs.pprint.start_block_t(a,b,c,d,null,null,null)};
cljs.pprint.map__GT_start_block_t=function(a){var b=cljs.core.dissoc.call(null,a,new cljs.core.Keyword(null,"type-tag","type-tag",-1873863267),new cljs.core.Keyword(null,"logical-block","logical-block",-581022564),new cljs.core.Keyword(null,"start-pos","start-pos",668789086),new cljs.core.Keyword(null,"end-pos","end-pos",-1643883926));b=cljs.core.record_QMARK_.call(null,a)?cljs.core.into.call(null,cljs.core.PersistentArrayMap.EMPTY,b):b;return new cljs.pprint.start_block_t((new cljs.core.Keyword(null,
"type-tag","type-tag",-1873863267)).cljs$core$IFn$_invoke$arity$1(a),(new cljs.core.Keyword(null,"logical-block","logical-block",-581022564)).cljs$core$IFn$_invoke$arity$1(a),(new cljs.core.Keyword(null,"start-pos","start-pos",668789086)).cljs$core$IFn$_invoke$arity$1(a),(new cljs.core.Keyword(null,"end-pos","end-pos",-1643883926)).cljs$core$IFn$_invoke$arity$1(a),null,cljs.core.not_empty.call(null,b),null)};
cljs.pprint.make_start_block_t=function(a,b,c){return new cljs.pprint.start_block_t(new cljs.core.Keyword(null,"start-block-t","start-block-t",-373430594),a,b,c,null,null,null)};cljs.pprint.start_block_t_QMARK_=function(a){return cljs.core._EQ_.call(null,(new cljs.core.Keyword(null,"type-tag","type-tag",-1873863267)).cljs$core$IFn$_invoke$arity$1(a),new cljs.core.Keyword(null,"start-block-t","start-block-t",-373430594))};
cljs.pprint.end_block_t=function(a,b,c,d,e,f,g){this.type_tag=a;this.logical_block=b;this.start_pos=c;this.end_pos=d;this.__meta=e;this.__extmap=f;this.__hash=g;this.cljs$lang$protocol_mask$partition0$=2230716170;this.cljs$lang$protocol_mask$partition1$=139264};cljs.pprint.end_block_t.prototype.cljs$core$ILookup$_lookup$arity$2=function(a,b){return this.cljs$core$ILookup$_lookup$arity$3(null,b,null)};
cljs.pprint.end_block_t.prototype.cljs$core$ILookup$_lookup$arity$3=function(a,b,c){switch(b instanceof cljs.core.Keyword?b.fqn:null){case "type-tag":return this.type_tag;case "logical-block":return this.logical_block;case "start-pos":return this.start_pos;case "end-pos":return this.end_pos;default:return cljs.core.get.call(null,this.__extmap,b,c)}};
cljs.pprint.end_block_t.prototype.cljs$core$IKVReduce$_kv_reduce$arity$3=function(a,b,c){return cljs.core.reduce.call(null,function(a){return function(a,c){var d=cljs.core.nth.call(null,c,0,null);c=cljs.core.nth.call(null,c,1,null);return b.call(null,a,d,c)}}(this),c,this)};
cljs.pprint.end_block_t.prototype.cljs$core$IPrintWithWriter$_pr_writer$arity$3=function(a,b,c){a=function(a){return function(a){return cljs.core.pr_sequential_writer.call(null,b,cljs.core.pr_writer,""," ","",c,a)}}(this);return cljs.core.pr_sequential_writer.call(null,b,a,"#cljs.pprint.end-block-t{",", ","}",c,cljs.core.concat.call(null,new cljs.core.PersistentVector(null,4,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,
"type-tag","type-tag",-1873863267),this.type_tag],null),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"logical-block","logical-block",-581022564),this.logical_block],null),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"start-pos","start-pos",668789086),this.start_pos],null),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,
"end-pos","end-pos",-1643883926),this.end_pos],null)],null),this.__extmap))};
cljs.pprint.end_block_t.prototype.cljs$core$IIterable$_iterator$arity$1=function(a){return new cljs.core.RecordIter(0,this,4,new cljs.core.PersistentVector(null,4,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"type-tag","type-tag",-1873863267),new cljs.core.Keyword(null,"logical-block","logical-block",-581022564),new cljs.core.Keyword(null,"start-pos","start-pos",668789086),new cljs.core.Keyword(null,"end-pos","end-pos",-1643883926)],null),cljs.core.truth_(this.__extmap)?cljs.core._iterator.call(null,
this.__extmap):cljs.core.nil_iter.call(null))};cljs.pprint.end_block_t.prototype.cljs$core$IMeta$_meta$arity$1=function(a){return this.__meta};cljs.pprint.end_block_t.prototype.cljs$core$ICloneable$_clone$arity$1=function(a){return new cljs.pprint.end_block_t(this.type_tag,this.logical_block,this.start_pos,this.end_pos,this.__meta,this.__extmap,this.__hash)};cljs.pprint.end_block_t.prototype.cljs$core$ICounted$_count$arity$1=function(a){return 4+cljs.core.count.call(null,this.__extmap)};
cljs.pprint.end_block_t.prototype.cljs$core$IHash$_hash$arity$1=function(a){a=this.__hash;return null!=a?a:this.__hash=a=function(a,c){return function(a){return 1365867980^cljs.core.hash_unordered_coll.call(null,a)}}(a,this).call(null,this)};
cljs.pprint.end_block_t.prototype.cljs$core$IEquiv$_equiv$arity$2=function(a,b){return null!=b&&this.constructor===b.constructor&&cljs.core._EQ_.call(null,this.type_tag,b.type_tag)&&cljs.core._EQ_.call(null,this.logical_block,b.logical_block)&&cljs.core._EQ_.call(null,this.start_pos,b.start_pos)&&cljs.core._EQ_.call(null,this.end_pos,b.end_pos)&&cljs.core._EQ_.call(null,this.__extmap,b.__extmap)};
cljs.pprint.end_block_t.prototype.cljs$core$IMap$_dissoc$arity$2=function(a,b){return cljs.core.contains_QMARK_.call(null,new cljs.core.PersistentHashSet(null,new cljs.core.PersistentArrayMap(null,4,[new cljs.core.Keyword(null,"end-pos","end-pos",-1643883926),null,new cljs.core.Keyword(null,"logical-block","logical-block",-581022564),null,new cljs.core.Keyword(null,"type-tag","type-tag",-1873863267),null,new cljs.core.Keyword(null,"start-pos","start-pos",668789086),null],null),null),b)?cljs.core.dissoc.call(null,
cljs.core._with_meta.call(null,cljs.core.into.call(null,cljs.core.PersistentArrayMap.EMPTY,this),this.__meta),b):new cljs.pprint.end_block_t(this.type_tag,this.logical_block,this.start_pos,this.end_pos,this.__meta,cljs.core.not_empty.call(null,cljs.core.dissoc.call(null,this.__extmap,b)),null)};
cljs.pprint.end_block_t.prototype.cljs$core$IAssociative$_assoc$arity$3=function(a,b,c){a=cljs.core.keyword_identical_QMARK_;return cljs.core.truth_(a.call(null,new cljs.core.Keyword(null,"type-tag","type-tag",-1873863267),b))?new cljs.pprint.end_block_t(c,this.logical_block,this.start_pos,this.end_pos,this.__meta,this.__extmap,null):cljs.core.truth_(a.call(null,new cljs.core.Keyword(null,"logical-block","logical-block",-581022564),b))?new cljs.pprint.end_block_t(this.type_tag,c,this.start_pos,this.end_pos,
this.__meta,this.__extmap,null):cljs.core.truth_(a.call(null,new cljs.core.Keyword(null,"start-pos","start-pos",668789086),b))?new cljs.pprint.end_block_t(this.type_tag,this.logical_block,c,this.end_pos,this.__meta,this.__extmap,null):cljs.core.truth_(a.call(null,new cljs.core.Keyword(null,"end-pos","end-pos",-1643883926),b))?new cljs.pprint.end_block_t(this.type_tag,this.logical_block,this.start_pos,c,this.__meta,this.__extmap,null):new cljs.pprint.end_block_t(this.type_tag,this.logical_block,this.start_pos,
this.end_pos,this.__meta,cljs.core.assoc.call(null,this.__extmap,b,c),null)};
cljs.pprint.end_block_t.prototype.cljs$core$ISeqable$_seq$arity$1=function(a){return cljs.core.seq.call(null,cljs.core.concat.call(null,new cljs.core.PersistentVector(null,4,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.MapEntry(new cljs.core.Keyword(null,"type-tag","type-tag",-1873863267),this.type_tag,null),new cljs.core.MapEntry(new cljs.core.Keyword(null,"logical-block","logical-block",-581022564),this.logical_block,null),new cljs.core.MapEntry(new cljs.core.Keyword(null,"start-pos",
"start-pos",668789086),this.start_pos,null),new cljs.core.MapEntry(new cljs.core.Keyword(null,"end-pos","end-pos",-1643883926),this.end_pos,null)],null),this.__extmap))};cljs.pprint.end_block_t.prototype.cljs$core$IWithMeta$_with_meta$arity$2=function(a,b){return new cljs.pprint.end_block_t(this.type_tag,this.logical_block,this.start_pos,this.end_pos,b,this.__extmap,this.__hash)};
cljs.pprint.end_block_t.prototype.cljs$core$ICollection$_conj$arity$2=function(a,b){return cljs.core.vector_QMARK_.call(null,b)?this.cljs$core$IAssociative$_assoc$arity$3(null,cljs.core._nth.call(null,b,0),cljs.core._nth.call(null,b,1)):cljs.core.reduce.call(null,cljs.core._conj,this,b)};
cljs.pprint.end_block_t.getBasis=function(){return new cljs.core.PersistentVector(null,4,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"type-tag","type-tag",-233331740,null),new cljs.core.Symbol(null,"logical-block","logical-block",1059508963,null),new cljs.core.Symbol(null,"start-pos","start-pos",-1985646683,null),new cljs.core.Symbol(null,"end-pos","end-pos",-3352399,null)],null)};cljs.pprint.end_block_t.cljs$lang$type=!0;
cljs.pprint.end_block_t.cljs$lang$ctorPrSeq=function(a){return new cljs.core.List(null,"cljs.pprint/end-block-t",null,1,null)};cljs.pprint.end_block_t.cljs$lang$ctorPrWriter=function(a,b){return cljs.core._write.call(null,b,"cljs.pprint/end-block-t")};cljs.pprint.__GT_end_block_t=function(a,b,c,d){return new cljs.pprint.end_block_t(a,b,c,d,null,null,null)};
cljs.pprint.map__GT_end_block_t=function(a){var b=cljs.core.dissoc.call(null,a,new cljs.core.Keyword(null,"type-tag","type-tag",-1873863267),new cljs.core.Keyword(null,"logical-block","logical-block",-581022564),new cljs.core.Keyword(null,"start-pos","start-pos",668789086),new cljs.core.Keyword(null,"end-pos","end-pos",-1643883926));b=cljs.core.record_QMARK_.call(null,a)?cljs.core.into.call(null,cljs.core.PersistentArrayMap.EMPTY,b):b;return new cljs.pprint.end_block_t((new cljs.core.Keyword(null,
"type-tag","type-tag",-1873863267)).cljs$core$IFn$_invoke$arity$1(a),(new cljs.core.Keyword(null,"logical-block","logical-block",-581022564)).cljs$core$IFn$_invoke$arity$1(a),(new cljs.core.Keyword(null,"start-pos","start-pos",668789086)).cljs$core$IFn$_invoke$arity$1(a),(new cljs.core.Keyword(null,"end-pos","end-pos",-1643883926)).cljs$core$IFn$_invoke$arity$1(a),null,cljs.core.not_empty.call(null,b),null)};
cljs.pprint.make_end_block_t=function(a,b,c){return new cljs.pprint.end_block_t(new cljs.core.Keyword(null,"end-block-t","end-block-t",1544648735),a,b,c,null,null,null)};cljs.pprint.end_block_t_QMARK_=function(a){return cljs.core._EQ_.call(null,(new cljs.core.Keyword(null,"type-tag","type-tag",-1873863267)).cljs$core$IFn$_invoke$arity$1(a),new cljs.core.Keyword(null,"end-block-t","end-block-t",1544648735))};
cljs.pprint.indent_t=function(a,b,c,d,e,f,g,h,k){this.type_tag=a;this.logical_block=b;this.relative_to=c;this.offset=d;this.start_pos=e;this.end_pos=f;this.__meta=g;this.__extmap=h;this.__hash=k;this.cljs$lang$protocol_mask$partition0$=2230716170;this.cljs$lang$protocol_mask$partition1$=139264};cljs.pprint.indent_t.prototype.cljs$core$ILookup$_lookup$arity$2=function(a,b){return this.cljs$core$ILookup$_lookup$arity$3(null,b,null)};
cljs.pprint.indent_t.prototype.cljs$core$ILookup$_lookup$arity$3=function(a,b,c){switch(b instanceof cljs.core.Keyword?b.fqn:null){case "type-tag":return this.type_tag;case "logical-block":return this.logical_block;case "relative-to":return this.relative_to;case "offset":return this.offset;case "start-pos":return this.start_pos;case "end-pos":return this.end_pos;default:return cljs.core.get.call(null,this.__extmap,b,c)}};
cljs.pprint.indent_t.prototype.cljs$core$IKVReduce$_kv_reduce$arity$3=function(a,b,c){return cljs.core.reduce.call(null,function(a){return function(a,c){var d=cljs.core.nth.call(null,c,0,null);c=cljs.core.nth.call(null,c,1,null);return b.call(null,a,d,c)}}(this),c,this)};
cljs.pprint.indent_t.prototype.cljs$core$IPrintWithWriter$_pr_writer$arity$3=function(a,b,c){a=function(a){return function(a){return cljs.core.pr_sequential_writer.call(null,b,cljs.core.pr_writer,""," ","",c,a)}}(this);return cljs.core.pr_sequential_writer.call(null,b,a,"#cljs.pprint.indent-t{",", ","}",c,cljs.core.concat.call(null,new cljs.core.PersistentVector(null,6,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,
"type-tag","type-tag",-1873863267),this.type_tag],null),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"logical-block","logical-block",-581022564),this.logical_block],null),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"relative-to","relative-to",-470100051),this.relative_to],null),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,
"offset","offset",296498311),this.offset],null),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"start-pos","start-pos",668789086),this.start_pos],null),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"end-pos","end-pos",-1643883926),this.end_pos],null)],null),this.__extmap))};
cljs.pprint.indent_t.prototype.cljs$core$IIterable$_iterator$arity$1=function(a){return new cljs.core.RecordIter(0,this,6,new cljs.core.PersistentVector(null,6,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"type-tag","type-tag",-1873863267),new cljs.core.Keyword(null,"logical-block","logical-block",-581022564),new cljs.core.Keyword(null,"relative-to","relative-to",-470100051),new cljs.core.Keyword(null,"offset","offset",296498311),new cljs.core.Keyword(null,"start-pos","start-pos",
668789086),new cljs.core.Keyword(null,"end-pos","end-pos",-1643883926)],null),cljs.core.truth_(this.__extmap)?cljs.core._iterator.call(null,this.__extmap):cljs.core.nil_iter.call(null))};cljs.pprint.indent_t.prototype.cljs$core$IMeta$_meta$arity$1=function(a){return this.__meta};
cljs.pprint.indent_t.prototype.cljs$core$ICloneable$_clone$arity$1=function(a){return new cljs.pprint.indent_t(this.type_tag,this.logical_block,this.relative_to,this.offset,this.start_pos,this.end_pos,this.__meta,this.__extmap,this.__hash)};cljs.pprint.indent_t.prototype.cljs$core$ICounted$_count$arity$1=function(a){return 6+cljs.core.count.call(null,this.__extmap)};
cljs.pprint.indent_t.prototype.cljs$core$IHash$_hash$arity$1=function(a){a=this.__hash;return null!=a?a:this.__hash=a=function(a,c){return function(a){return-1602780238^cljs.core.hash_unordered_coll.call(null,a)}}(a,this).call(null,this)};
cljs.pprint.indent_t.prototype.cljs$core$IEquiv$_equiv$arity$2=function(a,b){return null!=b&&this.constructor===b.constructor&&cljs.core._EQ_.call(null,this.type_tag,b.type_tag)&&cljs.core._EQ_.call(null,this.logical_block,b.logical_block)&&cljs.core._EQ_.call(null,this.relative_to,b.relative_to)&&cljs.core._EQ_.call(null,this.offset,b.offset)&&cljs.core._EQ_.call(null,this.start_pos,b.start_pos)&&cljs.core._EQ_.call(null,this.end_pos,b.end_pos)&&cljs.core._EQ_.call(null,this.__extmap,b.__extmap)};
cljs.pprint.indent_t.prototype.cljs$core$IMap$_dissoc$arity$2=function(a,b){return cljs.core.contains_QMARK_.call(null,new cljs.core.PersistentHashSet(null,new cljs.core.PersistentArrayMap(null,6,[new cljs.core.Keyword(null,"offset","offset",296498311),null,new cljs.core.Keyword(null,"end-pos","end-pos",-1643883926),null,new cljs.core.Keyword(null,"relative-to","relative-to",-470100051),null,new cljs.core.Keyword(null,"logical-block","logical-block",-581022564),null,new cljs.core.Keyword(null,"type-tag",
"type-tag",-1873863267),null,new cljs.core.Keyword(null,"start-pos","start-pos",668789086),null],null),null),b)?cljs.core.dissoc.call(null,cljs.core._with_meta.call(null,cljs.core.into.call(null,cljs.core.PersistentArrayMap.EMPTY,this),this.__meta),b):new cljs.pprint.indent_t(this.type_tag,this.logical_block,this.relative_to,this.offset,this.start_pos,this.end_pos,this.__meta,cljs.core.not_empty.call(null,cljs.core.dissoc.call(null,this.__extmap,b)),null)};
cljs.pprint.indent_t.prototype.cljs$core$IAssociative$_assoc$arity$3=function(a,b,c){a=cljs.core.keyword_identical_QMARK_;return cljs.core.truth_(a.call(null,new cljs.core.Keyword(null,"type-tag","type-tag",-1873863267),b))?new cljs.pprint.indent_t(c,this.logical_block,this.relative_to,this.offset,this.start_pos,this.end_pos,this.__meta,this.__extmap,null):cljs.core.truth_(a.call(null,new cljs.core.Keyword(null,"logical-block","logical-block",-581022564),b))?new cljs.pprint.indent_t(this.type_tag,
c,this.relative_to,this.offset,this.start_pos,this.end_pos,this.__meta,this.__extmap,null):cljs.core.truth_(a.call(null,new cljs.core.Keyword(null,"relative-to","relative-to",-470100051),b))?new cljs.pprint.indent_t(this.type_tag,this.logical_block,c,this.offset,this.start_pos,this.end_pos,this.__meta,this.__extmap,null):cljs.core.truth_(a.call(null,new cljs.core.Keyword(null,"offset","offset",296498311),b))?new cljs.pprint.indent_t(this.type_tag,this.logical_block,this.relative_to,c,this.start_pos,
this.end_pos,this.__meta,this.__extmap,null):cljs.core.truth_(a.call(null,new cljs.core.Keyword(null,"start-pos","start-pos",668789086),b))?new cljs.pprint.indent_t(this.type_tag,this.logical_block,this.relative_to,this.offset,c,this.end_pos,this.__meta,this.__extmap,null):cljs.core.truth_(a.call(null,new cljs.core.Keyword(null,"end-pos","end-pos",-1643883926),b))?new cljs.pprint.indent_t(this.type_tag,this.logical_block,this.relative_to,this.offset,this.start_pos,c,this.__meta,this.__extmap,null):
new cljs.pprint.indent_t(this.type_tag,this.logical_block,this.relative_to,this.offset,this.start_pos,this.end_pos,this.__meta,cljs.core.assoc.call(null,this.__extmap,b,c),null)};
cljs.pprint.indent_t.prototype.cljs$core$ISeqable$_seq$arity$1=function(a){return cljs.core.seq.call(null,cljs.core.concat.call(null,new cljs.core.PersistentVector(null,6,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.MapEntry(new cljs.core.Keyword(null,"type-tag","type-tag",-1873863267),this.type_tag,null),new cljs.core.MapEntry(new cljs.core.Keyword(null,"logical-block","logical-block",-581022564),this.logical_block,null),new cljs.core.MapEntry(new cljs.core.Keyword(null,"relative-to","relative-to",
-470100051),this.relative_to,null),new cljs.core.MapEntry(new cljs.core.Keyword(null,"offset","offset",296498311),this.offset,null),new cljs.core.MapEntry(new cljs.core.Keyword(null,"start-pos","start-pos",668789086),this.start_pos,null),new cljs.core.MapEntry(new cljs.core.Keyword(null,"end-pos","end-pos",-1643883926),this.end_pos,null)],null),this.__extmap))};
cljs.pprint.indent_t.prototype.cljs$core$IWithMeta$_with_meta$arity$2=function(a,b){return new cljs.pprint.indent_t(this.type_tag,this.logical_block,this.relative_to,this.offset,this.start_pos,this.end_pos,b,this.__extmap,this.__hash)};
cljs.pprint.indent_t.prototype.cljs$core$ICollection$_conj$arity$2=function(a,b){return cljs.core.vector_QMARK_.call(null,b)?this.cljs$core$IAssociative$_assoc$arity$3(null,cljs.core._nth.call(null,b,0),cljs.core._nth.call(null,b,1)):cljs.core.reduce.call(null,cljs.core._conj,this,b)};
cljs.pprint.indent_t.getBasis=function(){return new cljs.core.PersistentVector(null,6,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"type-tag","type-tag",-233331740,null),new cljs.core.Symbol(null,"logical-block","logical-block",1059508963,null),new cljs.core.Symbol(null,"relative-to","relative-to",1170431476,null),new cljs.core.Symbol(null,"offset","offset",1937029838,null),new cljs.core.Symbol(null,"start-pos","start-pos",-1985646683,null),new cljs.core.Symbol(null,"end-pos",
"end-pos",-3352399,null)],null)};cljs.pprint.indent_t.cljs$lang$type=!0;cljs.pprint.indent_t.cljs$lang$ctorPrSeq=function(a){return new cljs.core.List(null,"cljs.pprint/indent-t",null,1,null)};cljs.pprint.indent_t.cljs$lang$ctorPrWriter=function(a,b){return cljs.core._write.call(null,b,"cljs.pprint/indent-t")};cljs.pprint.__GT_indent_t=function(a,b,c,d,e,f){return new cljs.pprint.indent_t(a,b,c,d,e,f,null,null,null)};
cljs.pprint.map__GT_indent_t=function(a){var b=cljs.core.dissoc.call(null,a,new cljs.core.Keyword(null,"type-tag","type-tag",-1873863267),new cljs.core.Keyword(null,"logical-block","logical-block",-581022564),new cljs.core.Keyword(null,"relative-to","relative-to",-470100051),new cljs.core.Keyword(null,"offset","offset",296498311),new cljs.core.Keyword(null,"start-pos","start-pos",668789086),new cljs.core.Keyword(null,"end-pos","end-pos",-1643883926));b=cljs.core.record_QMARK_.call(null,a)?cljs.core.into.call(null,
cljs.core.PersistentArrayMap.EMPTY,b):b;return new cljs.pprint.indent_t((new cljs.core.Keyword(null,"type-tag","type-tag",-1873863267)).cljs$core$IFn$_invoke$arity$1(a),(new cljs.core.Keyword(null,"logical-block","logical-block",-581022564)).cljs$core$IFn$_invoke$arity$1(a),(new cljs.core.Keyword(null,"relative-to","relative-to",-470100051)).cljs$core$IFn$_invoke$arity$1(a),(new cljs.core.Keyword(null,"offset","offset",296498311)).cljs$core$IFn$_invoke$arity$1(a),(new cljs.core.Keyword(null,"start-pos",
"start-pos",668789086)).cljs$core$IFn$_invoke$arity$1(a),(new cljs.core.Keyword(null,"end-pos","end-pos",-1643883926)).cljs$core$IFn$_invoke$arity$1(a),null,cljs.core.not_empty.call(null,b),null)};cljs.pprint.make_indent_t=function(a,b,c,d,e){return new cljs.pprint.indent_t(new cljs.core.Keyword(null,"indent-t","indent-t",528318969),a,b,c,d,e,null,null,null)};
cljs.pprint.indent_t_QMARK_=function(a){return cljs.core._EQ_.call(null,(new cljs.core.Keyword(null,"type-tag","type-tag",-1873863267)).cljs$core$IFn$_invoke$arity$1(a),new cljs.core.Keyword(null,"indent-t","indent-t",528318969))};cljs.pprint.pp_newline=function(){return"\n"};
if("undefined"===typeof cljs||"undefined"===typeof cljs.pprint||"undefined"===typeof cljs.pprint.write_token)cljs.pprint.write_token=function(){var a=cljs.core.atom.call(null,cljs.core.PersistentArrayMap.EMPTY),b=cljs.core.atom.call(null,cljs.core.PersistentArrayMap.EMPTY),c=cljs.core.atom.call(null,cljs.core.PersistentArrayMap.EMPTY),d=cljs.core.atom.call(null,cljs.core.PersistentArrayMap.EMPTY),e=cljs.core.get.call(null,cljs.core.PersistentArrayMap.EMPTY,new cljs.core.Keyword(null,"hierarchy","hierarchy",
-1053470341),cljs.core.get_global_hierarchy.call(null));return new cljs.core.MultiFn(cljs.core.symbol.call(null,"cljs.pprint","write-token"),function(a,b,c,d,e){return function(a,b){return(new cljs.core.Keyword(null,"type-tag","type-tag",-1873863267)).cljs$core$IFn$_invoke$arity$1(b)}}(a,b,c,d,e),new cljs.core.Keyword(null,"default","default",-1987822328),e,a,b,c,d)}();
cljs.core._add_method.call(null,cljs.pprint.write_token,new cljs.core.Keyword(null,"start-block-t","start-block-t",-373430594),function(a,b){var c=(new cljs.core.Keyword(null,"logical-block-callback","logical-block-callback",1612691194)).cljs$core$IFn$_invoke$arity$1(cljs.core.deref.call(null,cljs.core.deref.call(null,a)));cljs.core.truth_(c)&&c.call(null,new cljs.core.Keyword(null,"start","start",-355208981));b=(new cljs.core.Keyword(null,"logical-block","logical-block",-581022564)).cljs$core$IFn$_invoke$arity$1(b);
c=(new cljs.core.Keyword(null,"prefix","prefix",-265908465)).cljs$core$IFn$_invoke$arity$1(b);cljs.core.truth_(c)&&cljs.core._write.call(null,(new cljs.core.Keyword(null,"base","base",185279322)).cljs$core$IFn$_invoke$arity$1(cljs.core.deref.call(null,cljs.core.deref.call(null,a))),c);a=cljs.pprint.get_column.call(null,(new cljs.core.Keyword(null,"base","base",185279322)).cljs$core$IFn$_invoke$arity$1(cljs.core.deref.call(null,cljs.core.deref.call(null,a))));cljs.core.reset_BANG_.call(null,(new cljs.core.Keyword(null,
"start-col","start-col",668080143)).cljs$core$IFn$_invoke$arity$1(b),a);return cljs.core.reset_BANG_.call(null,(new cljs.core.Keyword(null,"indent","indent",-148200125)).cljs$core$IFn$_invoke$arity$1(b),a)});
cljs.core._add_method.call(null,cljs.pprint.write_token,new cljs.core.Keyword(null,"end-block-t","end-block-t",1544648735),function(a,b){var c=(new cljs.core.Keyword(null,"logical-block-callback","logical-block-callback",1612691194)).cljs$core$IFn$_invoke$arity$1(cljs.core.deref.call(null,cljs.core.deref.call(null,a)));cljs.core.truth_(c)&&c.call(null,new cljs.core.Keyword(null,"end","end",-268185958));b=(new cljs.core.Keyword(null,"suffix","suffix",367373057)).cljs$core$IFn$_invoke$arity$1((new cljs.core.Keyword(null,
"logical-block","logical-block",-581022564)).cljs$core$IFn$_invoke$arity$1(b));return cljs.core.truth_(b)?cljs.core._write.call(null,(new cljs.core.Keyword(null,"base","base",185279322)).cljs$core$IFn$_invoke$arity$1(cljs.core.deref.call(null,cljs.core.deref.call(null,a))),b):null});
cljs.core._add_method.call(null,cljs.pprint.write_token,new cljs.core.Keyword(null,"indent-t","indent-t",528318969),function(a,b){var c=(new cljs.core.Keyword(null,"logical-block","logical-block",-581022564)).cljs$core$IFn$_invoke$arity$1(b);return cljs.core.reset_BANG_.call(null,(new cljs.core.Keyword(null,"indent","indent",-148200125)).cljs$core$IFn$_invoke$arity$1(c),(new cljs.core.Keyword(null,"offset","offset",296498311)).cljs$core$IFn$_invoke$arity$1(b)+function(){var d=cljs.core._EQ_,e=(new cljs.core.Keyword(null,
"relative-to","relative-to",-470100051)).cljs$core$IFn$_invoke$arity$1(b);if(cljs.core.truth_(d.call(null,new cljs.core.Keyword(null,"block","block",664686210),e)))return cljs.core.deref.call(null,(new cljs.core.Keyword(null,"start-col","start-col",668080143)).cljs$core$IFn$_invoke$arity$1(c));if(cljs.core.truth_(d.call(null,new cljs.core.Keyword(null,"current","current",-1088038603),e)))return cljs.pprint.get_column.call(null,(new cljs.core.Keyword(null,"base","base",185279322)).cljs$core$IFn$_invoke$arity$1(cljs.core.deref.call(null,
cljs.core.deref.call(null,a))));throw Error(["No matching clause: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(e)].join(""));}())});cljs.core._add_method.call(null,cljs.pprint.write_token,new cljs.core.Keyword(null,"buffer-blob","buffer-blob",-1830112173),function(a,b){return cljs.core._write.call(null,(new cljs.core.Keyword(null,"base","base",185279322)).cljs$core$IFn$_invoke$arity$1(cljs.core.deref.call(null,cljs.core.deref.call(null,a))),(new cljs.core.Keyword(null,"data","data",-232669377)).cljs$core$IFn$_invoke$arity$1(b))});
cljs.core._add_method.call(null,cljs.pprint.write_token,new cljs.core.Keyword(null,"nl-t","nl-t",-1608382114),function(a,b){if(cljs.core.truth_(function(){var a=cljs.core._EQ_.call(null,(new cljs.core.Keyword(null,"type","type",1174270348)).cljs$core$IFn$_invoke$arity$1(b),new cljs.core.Keyword(null,"mandatory","mandatory",542802336));return a?a:(a=!cljs.core._EQ_.call(null,(new cljs.core.Keyword(null,"type","type",1174270348)).cljs$core$IFn$_invoke$arity$1(b),new cljs.core.Keyword(null,"fill","fill",
883462889)))?cljs.core.deref.call(null,(new cljs.core.Keyword(null,"done-nl","done-nl",-381024340)).cljs$core$IFn$_invoke$arity$1((new cljs.core.Keyword(null,"logical-block","logical-block",-581022564)).cljs$core$IFn$_invoke$arity$1(b))):a}()))cljs.pprint.emit_nl.call(null,a,b);else{var c=(new cljs.core.Keyword(null,"trailing-white-space","trailing-white-space",1496006996)).cljs$core$IFn$_invoke$arity$1(cljs.core.deref.call(null,cljs.core.deref.call(null,a)));cljs.core.truth_(c)&&cljs.core._write.call(null,
(new cljs.core.Keyword(null,"base","base",185279322)).cljs$core$IFn$_invoke$arity$1(cljs.core.deref.call(null,cljs.core.deref.call(null,a))),c)}return cljs.core.swap_BANG_.call(null,cljs.core.deref.call(null,a),cljs.core.assoc,new cljs.core.Keyword(null,"trailing-white-space","trailing-white-space",1496006996),null)});
cljs.pprint.write_tokens=function(a,b,c){b=cljs.core.seq.call(null,b);for(var d=null,e=0,f=0;;)if(f<e){var g=cljs.core._nth.call(null,d,f);if(!cljs.core._EQ_.call(null,(new cljs.core.Keyword(null,"type-tag","type-tag",-1873863267)).cljs$core$IFn$_invoke$arity$1(g),new cljs.core.Keyword(null,"nl-t","nl-t",-1608382114))){var h=(new cljs.core.Keyword(null,"trailing-white-space","trailing-white-space",1496006996)).cljs$core$IFn$_invoke$arity$1(cljs.core.deref.call(null,cljs.core.deref.call(null,a)));
cljs.core.truth_(h)&&cljs.core._write.call(null,(new cljs.core.Keyword(null,"base","base",185279322)).cljs$core$IFn$_invoke$arity$1(cljs.core.deref.call(null,cljs.core.deref.call(null,a))),h)}cljs.pprint.write_token.call(null,a,g);cljs.core.swap_BANG_.call(null,cljs.core.deref.call(null,a),cljs.core.assoc,new cljs.core.Keyword(null,"trailing-white-space","trailing-white-space",1496006996),(new cljs.core.Keyword(null,"trailing-white-space","trailing-white-space",1496006996)).cljs$core$IFn$_invoke$arity$1(g));
g=(new cljs.core.Keyword(null,"trailing-white-space","trailing-white-space",1496006996)).cljs$core$IFn$_invoke$arity$1(cljs.core.deref.call(null,cljs.core.deref.call(null,a)));cljs.core.truth_(cljs.core.truth_(c)?g:c)&&(cljs.core._write.call(null,(new cljs.core.Keyword(null,"base","base",185279322)).cljs$core$IFn$_invoke$arity$1(cljs.core.deref.call(null,cljs.core.deref.call(null,a))),g),cljs.core.swap_BANG_.call(null,cljs.core.deref.call(null,a),cljs.core.assoc,new cljs.core.Keyword(null,"trailing-white-space",
"trailing-white-space",1496006996),null));f+=1}else if(b=cljs.core.seq.call(null,b))cljs.core.chunked_seq_QMARK_.call(null,b)?(d=cljs.core.chunk_first.call(null,b),b=cljs.core.chunk_rest.call(null,b),g=d,e=cljs.core.count.call(null,d),d=g):(g=cljs.core.first.call(null,b),cljs.core._EQ_.call(null,(new cljs.core.Keyword(null,"type-tag","type-tag",-1873863267)).cljs$core$IFn$_invoke$arity$1(g),new cljs.core.Keyword(null,"nl-t","nl-t",-1608382114))||(d=(new cljs.core.Keyword(null,"trailing-white-space",
"trailing-white-space",1496006996)).cljs$core$IFn$_invoke$arity$1(cljs.core.deref.call(null,cljs.core.deref.call(null,a))),cljs.core.truth_(d)&&cljs.core._write.call(null,(new cljs.core.Keyword(null,"base","base",185279322)).cljs$core$IFn$_invoke$arity$1(cljs.core.deref.call(null,cljs.core.deref.call(null,a))),d)),cljs.pprint.write_token.call(null,a,g),cljs.core.swap_BANG_.call(null,cljs.core.deref.call(null,a),cljs.core.assoc,new cljs.core.Keyword(null,"trailing-white-space","trailing-white-space",
1496006996),(new cljs.core.Keyword(null,"trailing-white-space","trailing-white-space",1496006996)).cljs$core$IFn$_invoke$arity$1(g)),g=(new cljs.core.Keyword(null,"trailing-white-space","trailing-white-space",1496006996)).cljs$core$IFn$_invoke$arity$1(cljs.core.deref.call(null,cljs.core.deref.call(null,a))),cljs.core.truth_(cljs.core.truth_(c)?g:c)&&(cljs.core._write.call(null,(new cljs.core.Keyword(null,"base","base",185279322)).cljs$core$IFn$_invoke$arity$1(cljs.core.deref.call(null,cljs.core.deref.call(null,
a))),g),cljs.core.swap_BANG_.call(null,cljs.core.deref.call(null,a),cljs.core.assoc,new cljs.core.Keyword(null,"trailing-white-space","trailing-white-space",1496006996),null)),b=cljs.core.next.call(null,b),d=null,e=0),f=0;else return null};
cljs.pprint.tokens_fit_QMARK_=function(a,b){var c=cljs.pprint.get_max_column.call(null,(new cljs.core.Keyword(null,"base","base",185279322)).cljs$core$IFn$_invoke$arity$1(cljs.core.deref.call(null,cljs.core.deref.call(null,a))));return null==c||cljs.pprint.get_column.call(null,(new cljs.core.Keyword(null,"base","base",185279322)).cljs$core$IFn$_invoke$arity$1(cljs.core.deref.call(null,cljs.core.deref.call(null,a))))+cljs.pprint.buffer_length.call(null,b)<c};
cljs.pprint.linear_nl_QMARK_=function(a,b,c){b=cljs.core.deref.call(null,(new cljs.core.Keyword(null,"done-nl","done-nl",-381024340)).cljs$core$IFn$_invoke$arity$1(b));return cljs.core.truth_(b)?b:!cljs.pprint.tokens_fit_QMARK_.call(null,a,c)};
cljs.pprint.miser_nl_QMARK_=function(a,b,c){var d=cljs.pprint.get_miser_width.call(null,a),e=cljs.pprint.get_max_column.call(null,(new cljs.core.Keyword(null,"base","base",185279322)).cljs$core$IFn$_invoke$arity$1(cljs.core.deref.call(null,cljs.core.deref.call(null,a))));return cljs.core.truth_(d)?cljs.core.truth_(e)?(d=cljs.core.deref.call(null,(new cljs.core.Keyword(null,"start-col","start-col",668080143)).cljs$core$IFn$_invoke$arity$1(b))>=e-d)?cljs.pprint.linear_nl_QMARK_.call(null,a,b,c):d:e:
d};
if("undefined"===typeof cljs||"undefined"===typeof cljs.pprint||"undefined"===typeof cljs.pprint.emit_nl_QMARK_)cljs.pprint.emit_nl_QMARK_=function(){var a=cljs.core.atom.call(null,cljs.core.PersistentArrayMap.EMPTY),b=cljs.core.atom.call(null,cljs.core.PersistentArrayMap.EMPTY),c=cljs.core.atom.call(null,cljs.core.PersistentArrayMap.EMPTY),d=cljs.core.atom.call(null,cljs.core.PersistentArrayMap.EMPTY),e=cljs.core.get.call(null,cljs.core.PersistentArrayMap.EMPTY,new cljs.core.Keyword(null,"hierarchy","hierarchy",
-1053470341),cljs.core.get_global_hierarchy.call(null));return new cljs.core.MultiFn(cljs.core.symbol.call(null,"cljs.pprint","emit-nl?"),function(a,b,c,d,e){return function(a,b,c,d){return(new cljs.core.Keyword(null,"type","type",1174270348)).cljs$core$IFn$_invoke$arity$1(a)}}(a,b,c,d,e),new cljs.core.Keyword(null,"default","default",-1987822328),e,a,b,c,d)}();
cljs.core._add_method.call(null,cljs.pprint.emit_nl_QMARK_,new cljs.core.Keyword(null,"linear","linear",872268697),function(a,b,c,d){a=(new cljs.core.Keyword(null,"logical-block","logical-block",-581022564)).cljs$core$IFn$_invoke$arity$1(a);return cljs.pprint.linear_nl_QMARK_.call(null,b,a,c)});
cljs.core._add_method.call(null,cljs.pprint.emit_nl_QMARK_,new cljs.core.Keyword(null,"miser","miser",-556060186),function(a,b,c,d){a=(new cljs.core.Keyword(null,"logical-block","logical-block",-581022564)).cljs$core$IFn$_invoke$arity$1(a);return cljs.pprint.miser_nl_QMARK_.call(null,b,a,c)});
cljs.core._add_method.call(null,cljs.pprint.emit_nl_QMARK_,new cljs.core.Keyword(null,"fill","fill",883462889),function(a,b,c,d){a=(new cljs.core.Keyword(null,"logical-block","logical-block",-581022564)).cljs$core$IFn$_invoke$arity$1(a);var e=cljs.core.deref.call(null,(new cljs.core.Keyword(null,"intra-block-nl","intra-block-nl",1808826875)).cljs$core$IFn$_invoke$arity$1(a));return cljs.core.truth_(e)?e:(d=!cljs.pprint.tokens_fit_QMARK_.call(null,b,d))?d:cljs.pprint.miser_nl_QMARK_.call(null,b,a,
c)});cljs.core._add_method.call(null,cljs.pprint.emit_nl_QMARK_,new cljs.core.Keyword(null,"mandatory","mandatory",542802336),function(a,b,c,d){return!0});
cljs.pprint.get_section=function(a){var b=cljs.core.first.call(null,a),c=(new cljs.core.Keyword(null,"logical-block","logical-block",-581022564)).cljs$core$IFn$_invoke$arity$1(b);b=cljs.core.seq.call(null,cljs.core.take_while.call(null,function(a,b){return function(a){return!(cljs.pprint.nl_t_QMARK_.call(null,a)&&cljs.pprint.ancestor_QMARK_.call(null,(new cljs.core.Keyword(null,"logical-block","logical-block",-581022564)).cljs$core$IFn$_invoke$arity$1(a),b))}}(b,c),cljs.core.next.call(null,a)));return new cljs.core.PersistentVector(null,
2,5,cljs.core.PersistentVector.EMPTY_NODE,[b,cljs.core.seq.call(null,cljs.core.drop.call(null,cljs.core.count.call(null,b)+1,a))],null)};
cljs.pprint.get_sub_section=function(a){var b=cljs.core.first.call(null,a),c=(new cljs.core.Keyword(null,"logical-block","logical-block",-581022564)).cljs$core$IFn$_invoke$arity$1(b);return cljs.core.seq.call(null,cljs.core.take_while.call(null,function(a,b){return function(a){var c=(new cljs.core.Keyword(null,"logical-block","logical-block",-581022564)).cljs$core$IFn$_invoke$arity$1(a);return!(cljs.pprint.nl_t_QMARK_.call(null,a)&&(cljs.core._EQ_.call(null,c,b)||cljs.pprint.ancestor_QMARK_.call(null,
c,b)))}}(b,c),cljs.core.next.call(null,a)))};
cljs.pprint.update_nl_state=function(a){cljs.core.reset_BANG_.call(null,(new cljs.core.Keyword(null,"intra-block-nl","intra-block-nl",1808826875)).cljs$core$IFn$_invoke$arity$1(a),!0);cljs.core.reset_BANG_.call(null,(new cljs.core.Keyword(null,"done-nl","done-nl",-381024340)).cljs$core$IFn$_invoke$arity$1(a),!0);for(a=(new cljs.core.Keyword(null,"parent","parent",-878878779)).cljs$core$IFn$_invoke$arity$1(a);;)if(cljs.core.truth_(a))cljs.core.reset_BANG_.call(null,(new cljs.core.Keyword(null,"done-nl",
"done-nl",-381024340)).cljs$core$IFn$_invoke$arity$1(a),!0),cljs.core.reset_BANG_.call(null,(new cljs.core.Keyword(null,"intra-block-nl","intra-block-nl",1808826875)).cljs$core$IFn$_invoke$arity$1(a),!0),a=(new cljs.core.Keyword(null,"parent","parent",-878878779)).cljs$core$IFn$_invoke$arity$1(a);else return null};
cljs.pprint.emit_nl=function(a,b){cljs.core._write.call(null,(new cljs.core.Keyword(null,"base","base",185279322)).cljs$core$IFn$_invoke$arity$1(cljs.core.deref.call(null,cljs.core.deref.call(null,a))),cljs.pprint.pp_newline.call(null));cljs.core.swap_BANG_.call(null,cljs.core.deref.call(null,a),cljs.core.assoc,new cljs.core.Keyword(null,"trailing-white-space","trailing-white-space",1496006996),null);b=(new cljs.core.Keyword(null,"logical-block","logical-block",-581022564)).cljs$core$IFn$_invoke$arity$1(b);
var c=(new cljs.core.Keyword(null,"per-line-prefix","per-line-prefix",846941813)).cljs$core$IFn$_invoke$arity$1(b);cljs.core.truth_(c)&&cljs.core._write.call(null,(new cljs.core.Keyword(null,"base","base",185279322)).cljs$core$IFn$_invoke$arity$1(cljs.core.deref.call(null,cljs.core.deref.call(null,a))),c);c=cljs.core.apply.call(null,cljs.core.str,cljs.core.repeat.call(null,cljs.core.deref.call(null,(new cljs.core.Keyword(null,"indent","indent",-148200125)).cljs$core$IFn$_invoke$arity$1(b))-cljs.core.count.call(null,
c)," "));cljs.core._write.call(null,(new cljs.core.Keyword(null,"base","base",185279322)).cljs$core$IFn$_invoke$arity$1(cljs.core.deref.call(null,cljs.core.deref.call(null,a))),c);return cljs.pprint.update_nl_state.call(null,b)};
cljs.pprint.split_at_newline=function(a){var b=cljs.core.seq.call(null,cljs.core.take_while.call(null,function(a){return!cljs.pprint.nl_t_QMARK_.call(null,a)},a));return new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[b,cljs.core.seq.call(null,cljs.core.drop.call(null,cljs.core.count.call(null,b),a))],null)};
cljs.pprint.write_token_string=function(a,b){var c=cljs.pprint.split_at_newline.call(null,b);b=cljs.core.nth.call(null,c,0,null);var d=cljs.core.nth.call(null,c,1,null);cljs.core.truth_(b)&&cljs.pprint.write_tokens.call(null,a,b,!1);if(cljs.core.truth_(d)){c=cljs.pprint.get_section.call(null,d);b=cljs.core.nth.call(null,c,0,null);c=cljs.core.nth.call(null,c,1,null);var e=cljs.core.first.call(null,d),f=cljs.pprint.emit_nl_QMARK_.call(null,e,a,b,cljs.pprint.get_sub_section.call(null,d));cljs.core.truth_(f)&&
(cljs.pprint.emit_nl.call(null,a,e),d=cljs.core.next.call(null,d));cljs.pprint.tokens_fit_QMARK_.call(null,a,d)?a=d:(d=cljs.pprint.write_token_string.call(null,a,b),cljs.core._EQ_.call(null,d,b)?(cljs.pprint.write_tokens.call(null,a,b,!1),a=c):a=cljs.core.into.call(null,cljs.core.PersistentVector.EMPTY,cljs.core.concat.call(null,d,c)));return a}return null};
cljs.pprint.write_line=function(a){for(var b=(new cljs.core.Keyword(null,"buffer","buffer",617295198)).cljs$core$IFn$_invoke$arity$1(cljs.core.deref.call(null,cljs.core.deref.call(null,a)));;){cljs.core.swap_BANG_.call(null,cljs.core.deref.call(null,a),cljs.core.assoc,new cljs.core.Keyword(null,"buffer","buffer",617295198),cljs.core.into.call(null,cljs.core.PersistentVector.EMPTY,b));if(cljs.pprint.tokens_fit_QMARK_.call(null,a,b))return null;var c=cljs.pprint.write_token_string.call(null,a,b);if(b!==
c)b=c;else return null}};
cljs.pprint.add_to_buffer=function(a,b){cljs.core.swap_BANG_.call(null,cljs.core.deref.call(null,a),cljs.core.assoc,new cljs.core.Keyword(null,"buffer","buffer",617295198),cljs.core.conj.call(null,(new cljs.core.Keyword(null,"buffer","buffer",617295198)).cljs$core$IFn$_invoke$arity$1(cljs.core.deref.call(null,cljs.core.deref.call(null,a))),b));return cljs.pprint.tokens_fit_QMARK_.call(null,a,(new cljs.core.Keyword(null,"buffer","buffer",617295198)).cljs$core$IFn$_invoke$arity$1(cljs.core.deref.call(null,cljs.core.deref.call(null,
a))))?null:cljs.pprint.write_line.call(null,a)};
cljs.pprint.write_buffered_output=function(a){cljs.pprint.write_line.call(null,a);var b=(new cljs.core.Keyword(null,"buffer","buffer",617295198)).cljs$core$IFn$_invoke$arity$1(cljs.core.deref.call(null,cljs.core.deref.call(null,a)));return cljs.core.truth_(b)?(cljs.pprint.write_tokens.call(null,a,b,!0),cljs.core.swap_BANG_.call(null,cljs.core.deref.call(null,a),cljs.core.assoc,new cljs.core.Keyword(null,"buffer","buffer",617295198),cljs.core.PersistentVector.EMPTY)):null};
cljs.pprint.write_white_space=function(a){var b=(new cljs.core.Keyword(null,"trailing-white-space","trailing-white-space",1496006996)).cljs$core$IFn$_invoke$arity$1(cljs.core.deref.call(null,cljs.core.deref.call(null,a)));return cljs.core.truth_(b)?(cljs.core._write.call(null,(new cljs.core.Keyword(null,"base","base",185279322)).cljs$core$IFn$_invoke$arity$1(cljs.core.deref.call(null,cljs.core.deref.call(null,a))),b),cljs.core.swap_BANG_.call(null,cljs.core.deref.call(null,a),cljs.core.assoc,new cljs.core.Keyword(null,
"trailing-white-space","trailing-white-space",1496006996),null)):null};
cljs.pprint.write_initial_lines=function(a,b){var c=clojure.string.split.call(null,b,"\n",-1);if(cljs.core._EQ_.call(null,cljs.core.count.call(null,c),1))return b;b=(new cljs.core.Keyword(null,"per-line-prefix","per-line-prefix",846941813)).cljs$core$IFn$_invoke$arity$1(cljs.core.first.call(null,(new cljs.core.Keyword(null,"logical-blocks","logical-blocks",-1466339776)).cljs$core$IFn$_invoke$arity$1(cljs.core.deref.call(null,cljs.core.deref.call(null,a)))));var d=cljs.core.first.call(null,c);if(cljs.core._EQ_.call(null,
new cljs.core.Keyword(null,"buffering","buffering",-876713613),(new cljs.core.Keyword(null,"mode","mode",654403691)).cljs$core$IFn$_invoke$arity$1(cljs.core.deref.call(null,cljs.core.deref.call(null,a))))){var e=(new cljs.core.Keyword(null,"pos","pos",-864607220)).cljs$core$IFn$_invoke$arity$1(cljs.core.deref.call(null,cljs.core.deref.call(null,a))),f=e+cljs.core.count.call(null,d);cljs.core.swap_BANG_.call(null,cljs.core.deref.call(null,a),cljs.core.assoc,new cljs.core.Keyword(null,"pos","pos",-864607220),
f);cljs.pprint.add_to_buffer.call(null,a,cljs.pprint.make_buffer_blob.call(null,d,null,e,f));cljs.pprint.write_buffered_output.call(null,a)}else cljs.pprint.write_white_space.call(null,a),cljs.core._write.call(null,(new cljs.core.Keyword(null,"base","base",185279322)).cljs$core$IFn$_invoke$arity$1(cljs.core.deref.call(null,cljs.core.deref.call(null,a))),d);cljs.core._write.call(null,(new cljs.core.Keyword(null,"base","base",185279322)).cljs$core$IFn$_invoke$arity$1(cljs.core.deref.call(null,cljs.core.deref.call(null,
a))),"\n");d=cljs.core.seq.call(null,cljs.core.next.call(null,cljs.core.butlast.call(null,c)));e=null;for(var g=f=0;;)if(g<f){var h=cljs.core._nth.call(null,e,g);cljs.core._write.call(null,(new cljs.core.Keyword(null,"base","base",185279322)).cljs$core$IFn$_invoke$arity$1(cljs.core.deref.call(null,cljs.core.deref.call(null,a))),h);cljs.core._write.call(null,(new cljs.core.Keyword(null,"base","base",185279322)).cljs$core$IFn$_invoke$arity$1(cljs.core.deref.call(null,cljs.core.deref.call(null,a))),
cljs.pprint.pp_newline.call(null));cljs.core.truth_(b)&&cljs.core._write.call(null,(new cljs.core.Keyword(null,"base","base",185279322)).cljs$core$IFn$_invoke$arity$1(cljs.core.deref.call(null,cljs.core.deref.call(null,a))),b);g+=1}else if(d=cljs.core.seq.call(null,d))e=d,cljs.core.chunked_seq_QMARK_.call(null,e)?(d=cljs.core.chunk_first.call(null,e),g=cljs.core.chunk_rest.call(null,e),e=d,f=cljs.core.count.call(null,d),d=g):(d=cljs.core.first.call(null,e),cljs.core._write.call(null,(new cljs.core.Keyword(null,
"base","base",185279322)).cljs$core$IFn$_invoke$arity$1(cljs.core.deref.call(null,cljs.core.deref.call(null,a))),d),cljs.core._write.call(null,(new cljs.core.Keyword(null,"base","base",185279322)).cljs$core$IFn$_invoke$arity$1(cljs.core.deref.call(null,cljs.core.deref.call(null,a))),cljs.pprint.pp_newline.call(null)),cljs.core.truth_(b)&&cljs.core._write.call(null,(new cljs.core.Keyword(null,"base","base",185279322)).cljs$core$IFn$_invoke$arity$1(cljs.core.deref.call(null,cljs.core.deref.call(null,
a))),b),d=cljs.core.next.call(null,e),e=null,f=0),g=0;else break;cljs.core.swap_BANG_.call(null,cljs.core.deref.call(null,a),cljs.core.assoc,new cljs.core.Keyword(null,"buffering","buffering",-876713613),new cljs.core.Keyword(null,"writing","writing",-1486865108));return cljs.core.last.call(null,c)};
cljs.pprint.p_write_char=function(a,b){if(cljs.core._EQ_.call(null,(new cljs.core.Keyword(null,"mode","mode",654403691)).cljs$core$IFn$_invoke$arity$1(cljs.core.deref.call(null,cljs.core.deref.call(null,a))),new cljs.core.Keyword(null,"writing","writing",-1486865108)))return cljs.pprint.write_white_space.call(null,a),cljs.core._write.call(null,(new cljs.core.Keyword(null,"base","base",185279322)).cljs$core$IFn$_invoke$arity$1(cljs.core.deref.call(null,cljs.core.deref.call(null,a))),b);if(cljs.core._EQ_.call(null,
b,"\n"))return cljs.pprint.write_initial_lines.call(null,a,"\n");var c=(new cljs.core.Keyword(null,"pos","pos",-864607220)).cljs$core$IFn$_invoke$arity$1(cljs.core.deref.call(null,cljs.core.deref.call(null,a))),d=c+1;cljs.core.swap_BANG_.call(null,cljs.core.deref.call(null,a),cljs.core.assoc,new cljs.core.Keyword(null,"pos","pos",-864607220),d);return cljs.pprint.add_to_buffer.call(null,a,cljs.pprint.make_buffer_blob.call(null,cljs.core.char$.call(null,b),null,c,d))};
cljs.pprint.pretty_writer=function(a,b,c){var d=new cljs.pprint.logical_block(null,null,cljs.core.atom.call(null,0),cljs.core.atom.call(null,0),cljs.core.atom.call(null,!1),cljs.core.atom.call(null,!1),null,null,null,null,null,null,null),e=cljs.core.atom.call(null,cljs.core.PersistentHashMap.fromArrays([new cljs.core.Keyword(null,"logical-blocks","logical-blocks",-1466339776),new cljs.core.Keyword(null,"miser-width","miser-width",-1310049437),new cljs.core.Keyword(null,"buffer-block","buffer-block",
-10937307),new cljs.core.Keyword(null,"pretty-writer","pretty-writer",-1222834267),new cljs.core.Keyword(null,"sections","sections",-886710106),new cljs.core.Keyword(null,"mode","mode",654403691),new cljs.core.Keyword(null,"pos","pos",-864607220),new cljs.core.Keyword(null,"trailing-white-space","trailing-white-space",1496006996),new cljs.core.Keyword(null,"base","base",185279322),new cljs.core.Keyword(null,"buffer-level","buffer-level",928864731),new cljs.core.Keyword(null,"buffer","buffer",617295198)],
[d,c,d,!0,null,new cljs.core.Keyword(null,"writing","writing",-1486865108),0,null,cljs.pprint.column_writer.call(null,a,b),1,cljs.core.PersistentVector.EMPTY]));if("undefined"===typeof cljs||"undefined"===typeof cljs.pprint||"undefined"===typeof cljs.pprint.t_cljs$pprint25118)cljs.pprint.t_cljs$pprint25118=function(a,b,c,d,e,m){this.writer=a;this.max_columns=b;this.miser_width=c;this.lb=d;this.fields=e;this.meta25119=m;this.cljs$lang$protocol_mask$partition0$=1074167808;this.cljs$lang$protocol_mask$partition1$=
0},cljs.pprint.t_cljs$pprint25118.prototype.cljs$core$IWithMeta$_with_meta$arity$2=function(a,b){return function(a,b){return new cljs.pprint.t_cljs$pprint25118(this.writer,this.max_columns,this.miser_width,this.lb,this.fields,b)}}(d,e),cljs.pprint.t_cljs$pprint25118.prototype.cljs$core$IMeta$_meta$arity$1=function(a,b){return function(a){return this.meta25119}}(d,e),cljs.pprint.t_cljs$pprint25118.prototype.cljs$core$IDeref$_deref$arity$1=function(a,b){return function(a){return this.fields}}(d,e),
cljs.pprint.t_cljs$pprint25118.prototype.cljs$core$IWriter$_write$arity$2=function(a,b){return function(a,b){a=cljs.core._EQ_;var c=cljs.core.type.call(null,b);if(cljs.core.truth_(a.call(null,String,c))){c=cljs.pprint.write_initial_lines.call(null,this,b);b=clojure.string.replace_first.call(null,c,/\s+$/,"");a=cljs.core.subs.call(null,c,cljs.core.count.call(null,b));var d=(new cljs.core.Keyword(null,"mode","mode",654403691)).cljs$core$IFn$_invoke$arity$1(cljs.core.deref.call(null,cljs.core.deref.call(null,
this)));if(cljs.core._EQ_.call(null,d,new cljs.core.Keyword(null,"writing","writing",-1486865108)))return cljs.pprint.write_white_space.call(null,this),cljs.core._write.call(null,(new cljs.core.Keyword(null,"base","base",185279322)).cljs$core$IFn$_invoke$arity$1(cljs.core.deref.call(null,cljs.core.deref.call(null,this))),b),cljs.core.swap_BANG_.call(null,cljs.core.deref.call(null,this),cljs.core.assoc,new cljs.core.Keyword(null,"trailing-white-space","trailing-white-space",1496006996),a);d=(new cljs.core.Keyword(null,
"pos","pos",-864607220)).cljs$core$IFn$_invoke$arity$1(cljs.core.deref.call(null,cljs.core.deref.call(null,this)));c=d+cljs.core.count.call(null,c);cljs.core.swap_BANG_.call(null,cljs.core.deref.call(null,this),cljs.core.assoc,new cljs.core.Keyword(null,"pos","pos",-864607220),c);return cljs.pprint.add_to_buffer.call(null,this,cljs.pprint.make_buffer_blob.call(null,b,a,d,c))}if(cljs.core.truth_(a.call(null,Number,c)))return cljs.pprint.p_write_char.call(null,this,b);throw Error(["No matching clause: ",
cljs.core.str.cljs$core$IFn$_invoke$arity$1(c)].join(""));}}(d,e),cljs.pprint.t_cljs$pprint25118.prototype.cljs$core$IWriter$_flush$arity$1=function(a,b){return function(a){cljs.pprint._ppflush.call(null,this);return cljs.core._flush.call(null,(new cljs.core.Keyword(null,"base","base",185279322)).cljs$core$IFn$_invoke$arity$1(cljs.core.deref.call(null,cljs.core.deref.call(null,this))))}}(d,e),cljs.pprint.t_cljs$pprint25118.prototype.cljs$pprint$IPrettyFlush$=cljs.core.PROTOCOL_SENTINEL,cljs.pprint.t_cljs$pprint25118.prototype.cljs$pprint$IPrettyFlush$_ppflush$arity$1=
function(a,b){return function(a){return cljs.core._EQ_.call(null,(new cljs.core.Keyword(null,"mode","mode",654403691)).cljs$core$IFn$_invoke$arity$1(cljs.core.deref.call(null,cljs.core.deref.call(null,this))),new cljs.core.Keyword(null,"buffering","buffering",-876713613))?(cljs.pprint.write_tokens.call(null,this,(new cljs.core.Keyword(null,"buffer","buffer",617295198)).cljs$core$IFn$_invoke$arity$1(cljs.core.deref.call(null,cljs.core.deref.call(null,this))),!0),cljs.core.swap_BANG_.call(null,cljs.core.deref.call(null,
this),cljs.core.assoc,new cljs.core.Keyword(null,"buffer","buffer",617295198),cljs.core.PersistentVector.EMPTY)):cljs.pprint.write_white_space.call(null,this)}}(d,e),cljs.pprint.t_cljs$pprint25118.getBasis=function(a,b){return function(){return new cljs.core.PersistentVector(null,6,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"writer","writer",1362963291,null),new cljs.core.Symbol(null,"max-columns","max-columns",-912112507,null),new cljs.core.Symbol(null,"miser-width","miser-width",
330482090,null),new cljs.core.Symbol(null,"lb","lb",950310490,null),new cljs.core.Symbol(null,"fields","fields",-291534703,null),new cljs.core.Symbol(null,"meta25119","meta25119",1234265872,null)],null)}}(d,e),cljs.pprint.t_cljs$pprint25118.cljs$lang$type=!0,cljs.pprint.t_cljs$pprint25118.cljs$lang$ctorStr="cljs.pprint/t_cljs$pprint25118",cljs.pprint.t_cljs$pprint25118.cljs$lang$ctorPrWriter=function(a,b){return function(a,b,c){return cljs.core._write.call(null,b,"cljs.pprint/t_cljs$pprint25118")}}(d,
e),cljs.pprint.__GT_t_cljs$pprint25118=function(a,b){return function(a,b,c,d,e,f){return new cljs.pprint.t_cljs$pprint25118(a,b,c,d,e,f)}}(d,e);return new cljs.pprint.t_cljs$pprint25118(a,b,c,d,e,cljs.core.PersistentArrayMap.EMPTY)};
cljs.pprint.start_block=function(a,b,c,d){c=new cljs.pprint.logical_block((new cljs.core.Keyword(null,"logical-blocks","logical-blocks",-1466339776)).cljs$core$IFn$_invoke$arity$1(cljs.core.deref.call(null,cljs.core.deref.call(null,a))),null,cljs.core.atom.call(null,0),cljs.core.atom.call(null,0),cljs.core.atom.call(null,!1),cljs.core.atom.call(null,!1),b,c,d,null,null,null,null);cljs.core.swap_BANG_.call(null,cljs.core.deref.call(null,a),cljs.core.assoc,new cljs.core.Keyword(null,"logical-blocks",
"logical-blocks",-1466339776),c);if(cljs.core._EQ_.call(null,(new cljs.core.Keyword(null,"mode","mode",654403691)).cljs$core$IFn$_invoke$arity$1(cljs.core.deref.call(null,cljs.core.deref.call(null,a))),new cljs.core.Keyword(null,"writing","writing",-1486865108)))return cljs.pprint.write_white_space.call(null,a),d=(new cljs.core.Keyword(null,"logical-block-callback","logical-block-callback",1612691194)).cljs$core$IFn$_invoke$arity$1(cljs.core.deref.call(null,cljs.core.deref.call(null,a))),cljs.core.truth_(d)&&
d.call(null,new cljs.core.Keyword(null,"start","start",-355208981)),cljs.core.truth_(b)&&cljs.core._write.call(null,(new cljs.core.Keyword(null,"base","base",185279322)).cljs$core$IFn$_invoke$arity$1(cljs.core.deref.call(null,cljs.core.deref.call(null,a))),b),a=cljs.pprint.get_column.call(null,(new cljs.core.Keyword(null,"base","base",185279322)).cljs$core$IFn$_invoke$arity$1(cljs.core.deref.call(null,cljs.core.deref.call(null,a)))),cljs.core.reset_BANG_.call(null,(new cljs.core.Keyword(null,"start-col",
"start-col",668080143)).cljs$core$IFn$_invoke$arity$1(c),a),cljs.core.reset_BANG_.call(null,(new cljs.core.Keyword(null,"indent","indent",-148200125)).cljs$core$IFn$_invoke$arity$1(c),a);d=(new cljs.core.Keyword(null,"pos","pos",-864607220)).cljs$core$IFn$_invoke$arity$1(cljs.core.deref.call(null,cljs.core.deref.call(null,a)));b=d+(cljs.core.truth_(b)?cljs.core.count.call(null,b):0);cljs.core.swap_BANG_.call(null,cljs.core.deref.call(null,a),cljs.core.assoc,new cljs.core.Keyword(null,"pos","pos",
-864607220),b);return cljs.pprint.add_to_buffer.call(null,a,cljs.pprint.make_start_block_t.call(null,c,d,b))};
cljs.pprint.end_block=function(a){var b=(new cljs.core.Keyword(null,"logical-blocks","logical-blocks",-1466339776)).cljs$core$IFn$_invoke$arity$1(cljs.core.deref.call(null,cljs.core.deref.call(null,a))),c=(new cljs.core.Keyword(null,"suffix","suffix",367373057)).cljs$core$IFn$_invoke$arity$1(b);if(cljs.core._EQ_.call(null,(new cljs.core.Keyword(null,"mode","mode",654403691)).cljs$core$IFn$_invoke$arity$1(cljs.core.deref.call(null,cljs.core.deref.call(null,a))),new cljs.core.Keyword(null,"writing",
"writing",-1486865108))){cljs.pprint.write_white_space.call(null,a);cljs.core.truth_(c)&&cljs.core._write.call(null,(new cljs.core.Keyword(null,"base","base",185279322)).cljs$core$IFn$_invoke$arity$1(cljs.core.deref.call(null,cljs.core.deref.call(null,a))),c);var d=(new cljs.core.Keyword(null,"logical-block-callback","logical-block-callback",1612691194)).cljs$core$IFn$_invoke$arity$1(cljs.core.deref.call(null,cljs.core.deref.call(null,a)));cljs.core.truth_(d)&&d.call(null,new cljs.core.Keyword(null,
"end","end",-268185958))}else d=(new cljs.core.Keyword(null,"pos","pos",-864607220)).cljs$core$IFn$_invoke$arity$1(cljs.core.deref.call(null,cljs.core.deref.call(null,a))),c=d+(cljs.core.truth_(c)?cljs.core.count.call(null,c):0),cljs.core.swap_BANG_.call(null,cljs.core.deref.call(null,a),cljs.core.assoc,new cljs.core.Keyword(null,"pos","pos",-864607220),c),cljs.pprint.add_to_buffer.call(null,a,cljs.pprint.make_end_block_t.call(null,b,d,c));return cljs.core.swap_BANG_.call(null,cljs.core.deref.call(null,
a),cljs.core.assoc,new cljs.core.Keyword(null,"logical-blocks","logical-blocks",-1466339776),(new cljs.core.Keyword(null,"parent","parent",-878878779)).cljs$core$IFn$_invoke$arity$1(b))};
cljs.pprint.nl=function(a,b){cljs.core.swap_BANG_.call(null,cljs.core.deref.call(null,a),cljs.core.assoc,new cljs.core.Keyword(null,"mode","mode",654403691),new cljs.core.Keyword(null,"buffering","buffering",-876713613));var c=(new cljs.core.Keyword(null,"pos","pos",-864607220)).cljs$core$IFn$_invoke$arity$1(cljs.core.deref.call(null,cljs.core.deref.call(null,a)));return cljs.pprint.add_to_buffer.call(null,a,cljs.pprint.make_nl_t.call(null,b,(new cljs.core.Keyword(null,"logical-blocks","logical-blocks",
-1466339776)).cljs$core$IFn$_invoke$arity$1(cljs.core.deref.call(null,cljs.core.deref.call(null,a))),c,c))};
cljs.pprint.indent=function(a,b,c){var d=(new cljs.core.Keyword(null,"logical-blocks","logical-blocks",-1466339776)).cljs$core$IFn$_invoke$arity$1(cljs.core.deref.call(null,cljs.core.deref.call(null,a)));if(cljs.core._EQ_.call(null,(new cljs.core.Keyword(null,"mode","mode",654403691)).cljs$core$IFn$_invoke$arity$1(cljs.core.deref.call(null,cljs.core.deref.call(null,a))),new cljs.core.Keyword(null,"writing","writing",-1486865108)))return cljs.pprint.write_white_space.call(null,a),cljs.core.reset_BANG_.call(null,
(new cljs.core.Keyword(null,"indent","indent",-148200125)).cljs$core$IFn$_invoke$arity$1(d),c+function(){var c=cljs.core._EQ_;if(cljs.core.truth_(c.call(null,new cljs.core.Keyword(null,"block","block",664686210),b)))return cljs.core.deref.call(null,(new cljs.core.Keyword(null,"start-col","start-col",668080143)).cljs$core$IFn$_invoke$arity$1(d));if(cljs.core.truth_(c.call(null,new cljs.core.Keyword(null,"current","current",-1088038603),b)))return cljs.pprint.get_column.call(null,(new cljs.core.Keyword(null,
"base","base",185279322)).cljs$core$IFn$_invoke$arity$1(cljs.core.deref.call(null,cljs.core.deref.call(null,a))));throw Error(["No matching clause: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(b)].join(""));}());var e=(new cljs.core.Keyword(null,"pos","pos",-864607220)).cljs$core$IFn$_invoke$arity$1(cljs.core.deref.call(null,cljs.core.deref.call(null,a)));return cljs.pprint.add_to_buffer.call(null,a,cljs.pprint.make_indent_t.call(null,d,b,c,e,e))};
cljs.pprint.get_miser_width=function(a){return(new cljs.core.Keyword(null,"miser-width","miser-width",-1310049437)).cljs$core$IFn$_invoke$arity$1(cljs.core.deref.call(null,cljs.core.deref.call(null,a)))};cljs.pprint._STAR_print_pretty_STAR_=!0;if("undefined"===typeof cljs||"undefined"===typeof cljs.pprint||"undefined"===typeof cljs.pprint._STAR_print_pprint_dispatch_STAR_)cljs.pprint._STAR_print_pprint_dispatch_STAR_=null;cljs.pprint._STAR_print_right_margin_STAR_=72;
cljs.pprint._STAR_print_miser_width_STAR_=40;cljs.pprint._STAR_print_lines_STAR_=null;cljs.pprint._STAR_print_circle_STAR_=null;cljs.pprint._STAR_print_shared_STAR_=null;cljs.pprint._STAR_print_suppress_namespaces_STAR_=null;cljs.pprint._STAR_print_radix_STAR_=null;cljs.pprint._STAR_print_base_STAR_=10;cljs.pprint._STAR_current_level_STAR_=0;cljs.pprint._STAR_current_length_STAR_=null;
cljs.pprint.table_ize=function(a,b){return cljs.core.apply.call(null,cljs.core.hash_map,cljs.core.mapcat.call(null,function(b){var c=cljs.core.get.call(null,a,cljs.core.key.call(null,b));return cljs.core.truth_(c)?new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[c,cljs.core.val.call(null,b)],null):null},b))};
cljs.pprint.pretty_writer_QMARK_=function(a){var b=null!=a?a.cljs$lang$protocol_mask$partition0$&32768||cljs.core.PROTOCOL_SENTINEL===a.cljs$core$IDeref$?!0:a.cljs$lang$protocol_mask$partition0$?!1:cljs.core.native_satisfies_QMARK_.call(null,cljs.core.IDeref,a):cljs.core.native_satisfies_QMARK_.call(null,cljs.core.IDeref,a);return b?(new cljs.core.Keyword(null,"pretty-writer","pretty-writer",-1222834267)).cljs$core$IFn$_invoke$arity$1(cljs.core.deref.call(null,cljs.core.deref.call(null,a))):b};
cljs.pprint.make_pretty_writer=function(a,b,c){return cljs.pprint.pretty_writer.call(null,a,b,c)};
cljs.pprint.write_out=function(a){var b=cljs.pprint._STAR_current_length_STAR_;cljs.core.truth_(b)&&(b=cljs.core._STAR_print_length_STAR_,b=cljs.core.truth_(b)?cljs.pprint._STAR_current_length_STAR_>=cljs.core._STAR_print_length_STAR_:b);cljs.pprint._STAR_print_pretty_STAR_?cljs.core.truth_(b)?cljs.core._write.call(null,cljs.core._STAR_out_STAR_,"..."):(cljs.core.truth_(cljs.pprint._STAR_current_length_STAR_)&&(cljs.pprint._STAR_current_length_STAR_+=1),cljs.pprint._STAR_print_pprint_dispatch_STAR_.call(null,
a)):cljs.pprint.pr.call(null,a);return b};cljs.pprint.write=function(a){for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;b=1<b.length?new cljs.core.IndexedSeq(b.slice(1),0,null):null;return cljs.pprint.write.cljs$core$IFn$_invoke$arity$variadic(arguments[0],b)};
cljs.pprint.write.cljs$core$IFn$_invoke$arity$variadic=function(a,b){b=cljs.core.merge.call(null,new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"stream","stream",1534941648),!0],null),cljs.core.apply.call(null,cljs.core.hash_map,b));var c=cljs.pprint._STAR_print_base_STAR_,d=cljs.pprint._STAR_print_circle_STAR_,e=cljs.core._STAR_print_length_STAR_,f=cljs.core._STAR_print_level_STAR_,g=cljs.pprint._STAR_print_lines_STAR_,h=cljs.pprint._STAR_print_miser_width_STAR_,k=cljs.pprint._STAR_print_pprint_dispatch_STAR_,
l=cljs.pprint._STAR_print_pretty_STAR_,m=cljs.pprint._STAR_print_radix_STAR_,n=cljs.core._STAR_print_readably_STAR_,p=cljs.pprint._STAR_print_right_margin_STAR_,q=cljs.pprint._STAR_print_suppress_namespaces_STAR_,r=(new cljs.core.Keyword(null,"base","base",185279322)).cljs$core$IFn$_invoke$arity$2(b,cljs.pprint._STAR_print_base_STAR_),u=(new cljs.core.Keyword(null,"circle","circle",1903212362)).cljs$core$IFn$_invoke$arity$2(b,cljs.pprint._STAR_print_circle_STAR_),t=(new cljs.core.Keyword(null,"length",
"length",588987862)).cljs$core$IFn$_invoke$arity$2(b,cljs.core._STAR_print_length_STAR_),v=(new cljs.core.Keyword(null,"level","level",1290497552)).cljs$core$IFn$_invoke$arity$2(b,cljs.core._STAR_print_level_STAR_),w=(new cljs.core.Keyword(null,"lines","lines",-700165781)).cljs$core$IFn$_invoke$arity$2(b,cljs.pprint._STAR_print_lines_STAR_),x=(new cljs.core.Keyword(null,"miser-width","miser-width",-1310049437)).cljs$core$IFn$_invoke$arity$2(b,cljs.pprint._STAR_print_miser_width_STAR_),y=(new cljs.core.Keyword(null,
"dispatch","dispatch",1319337009)).cljs$core$IFn$_invoke$arity$2(b,cljs.pprint._STAR_print_pprint_dispatch_STAR_),z=(new cljs.core.Keyword(null,"pretty","pretty",-1916372486)).cljs$core$IFn$_invoke$arity$2(b,cljs.pprint._STAR_print_pretty_STAR_),B=(new cljs.core.Keyword(null,"radix","radix",857016463)).cljs$core$IFn$_invoke$arity$2(b,cljs.pprint._STAR_print_radix_STAR_),C=(new cljs.core.Keyword(null,"readably","readably",1129599760)).cljs$core$IFn$_invoke$arity$2(b,cljs.core._STAR_print_readably_STAR_),
A=(new cljs.core.Keyword(null,"right-margin","right-margin",-810413306)).cljs$core$IFn$_invoke$arity$2(b,cljs.pprint._STAR_print_right_margin_STAR_),D=(new cljs.core.Keyword(null,"suppress-namespaces","suppress-namespaces",2130686956)).cljs$core$IFn$_invoke$arity$2(b,cljs.pprint._STAR_print_suppress_namespaces_STAR_);cljs.pprint._STAR_print_base_STAR_=r;cljs.pprint._STAR_print_circle_STAR_=u;cljs.core._STAR_print_length_STAR_=t;cljs.core._STAR_print_level_STAR_=v;cljs.pprint._STAR_print_lines_STAR_=
w;cljs.pprint._STAR_print_miser_width_STAR_=x;cljs.pprint._STAR_print_pprint_dispatch_STAR_=y;cljs.pprint._STAR_print_pretty_STAR_=z;cljs.pprint._STAR_print_radix_STAR_=B;cljs.core._STAR_print_readably_STAR_=C;cljs.pprint._STAR_print_right_margin_STAR_=A;cljs.pprint._STAR_print_suppress_namespaces_STAR_=D;try{var F=new goog.string.StringBuffer,E=cljs.core.contains_QMARK_.call(null,b,new cljs.core.Keyword(null,"stream","stream",1534941648))?(new cljs.core.Keyword(null,"stream","stream",1534941648)).cljs$core$IFn$_invoke$arity$1(b):
!0,G=!0===E||null==E?new cljs.core.StringBufferWriter(F):E;if(cljs.pprint._STAR_print_pretty_STAR_){var J=cljs.core.not.call(null,cljs.pprint.pretty_writer_QMARK_.call(null,G)),M=cljs.core._STAR_out_STAR_,L=J?cljs.pprint.make_pretty_writer.call(null,G,cljs.pprint._STAR_print_right_margin_STAR_,cljs.pprint._STAR_print_miser_width_STAR_):G;cljs.core._STAR_out_STAR_=L;try{cljs.pprint.write_out.call(null,a),cljs.pprint._ppflush.call(null,cljs.core._STAR_out_STAR_)}finally{cljs.core._STAR_out_STAR_=M}}else{var K=
cljs.core._STAR_out_STAR_;cljs.core._STAR_out_STAR_=G;try{cljs.pprint.pr.call(null,a)}finally{cljs.core._STAR_out_STAR_=K}}!0===E&&cljs.core.string_print.call(null,cljs.core.str.cljs$core$IFn$_invoke$arity$1(F));return null==E?cljs.core.str.cljs$core$IFn$_invoke$arity$1(F):null}finally{cljs.pprint._STAR_print_suppress_namespaces_STAR_=q,cljs.pprint._STAR_print_right_margin_STAR_=p,cljs.core._STAR_print_readably_STAR_=n,cljs.pprint._STAR_print_radix_STAR_=m,cljs.pprint._STAR_print_pretty_STAR_=l,cljs.pprint._STAR_print_pprint_dispatch_STAR_=
k,cljs.pprint._STAR_print_miser_width_STAR_=h,cljs.pprint._STAR_print_lines_STAR_=g,cljs.core._STAR_print_level_STAR_=f,cljs.core._STAR_print_length_STAR_=e,cljs.pprint._STAR_print_circle_STAR_=d,cljs.pprint._STAR_print_base_STAR_=c}};cljs.pprint.write.cljs$lang$maxFixedArity=1;cljs.pprint.write.cljs$lang$applyTo=function(a){var b=cljs.core.first.call(null,a);a=cljs.core.next.call(null,a);return this.cljs$core$IFn$_invoke$arity$variadic(b,a)};
cljs.pprint.pprint=function(a){switch(arguments.length){case 1:return cljs.pprint.pprint.cljs$core$IFn$_invoke$arity$1(arguments[0]);case 2:return cljs.pprint.pprint.cljs$core$IFn$_invoke$arity$2(arguments[0],arguments[1]);default:throw Error(["Invalid arity: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(""));}};
cljs.pprint.pprint.cljs$core$IFn$_invoke$arity$1=function(a){var b=new goog.string.StringBuffer,c=cljs.core._STAR_out_STAR_,d=new cljs.core.StringBufferWriter(b);cljs.core._STAR_out_STAR_=d;try{return cljs.pprint.pprint.call(null,a,cljs.core._STAR_out_STAR_),cljs.core.string_print.call(null,cljs.core.str.cljs$core$IFn$_invoke$arity$1(b))}finally{cljs.core._STAR_out_STAR_=c}};
cljs.pprint.pprint.cljs$core$IFn$_invoke$arity$2=function(a,b){var c=cljs.core.not.call(null,cljs.pprint.pretty_writer_QMARK_.call(null,b)),d=cljs.core._STAR_out_STAR_;b=c?cljs.pprint.make_pretty_writer.call(null,b,cljs.pprint._STAR_print_right_margin_STAR_,cljs.pprint._STAR_print_miser_width_STAR_):b;cljs.core._STAR_out_STAR_=b;try{var e=cljs.pprint._STAR_print_pretty_STAR_;cljs.pprint._STAR_print_pretty_STAR_=!0;try{cljs.pprint.write_out.call(null,a)}finally{cljs.pprint._STAR_print_pretty_STAR_=
e}cljs.core._EQ_.call(null,0,cljs.pprint.get_column.call(null,cljs.core._STAR_out_STAR_))||cljs.core._write.call(null,cljs.core._STAR_out_STAR_,"\n");return cljs.pprint._ppflush.call(null,cljs.core._STAR_out_STAR_)}finally{cljs.core._STAR_out_STAR_=d}};cljs.pprint.pprint.cljs$lang$maxFixedArity=2;cljs.pprint.set_pprint_dispatch=function(a){cljs.pprint._STAR_print_pprint_dispatch_STAR_=a;return null};
cljs.pprint.check_enumerated_arg=function(a,b){if(cljs.core.not.call(null,b.call(null,a)))throw Error(["Bad argument: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(a),". It must be one of ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(b)].join(""));return null};cljs.pprint.level_exceeded=function(){var a=cljs.core._STAR_print_level_STAR_;return cljs.core.truth_(a)?cljs.pprint._STAR_current_level_STAR_>=cljs.core._STAR_print_level_STAR_:a};
cljs.pprint.pprint_newline=function(a){cljs.pprint.check_enumerated_arg.call(null,a,new cljs.core.PersistentHashSet(null,new cljs.core.PersistentArrayMap(null,4,[new cljs.core.Keyword(null,"mandatory","mandatory",542802336),null,new cljs.core.Keyword(null,"miser","miser",-556060186),null,new cljs.core.Keyword(null,"fill","fill",883462889),null,new cljs.core.Keyword(null,"linear","linear",872268697),null],null),null));return cljs.pprint.nl.call(null,cljs.core._STAR_out_STAR_,a)};
cljs.pprint.pprint_indent=function(a,b){cljs.pprint.check_enumerated_arg.call(null,a,new cljs.core.PersistentHashSet(null,new cljs.core.PersistentArrayMap(null,2,[new cljs.core.Keyword(null,"block","block",664686210),null,new cljs.core.Keyword(null,"current","current",-1088038603),null],null),null));return cljs.pprint.indent.call(null,cljs.core._STAR_out_STAR_,a,b)};
cljs.pprint.pprint_tab=function(a,b,c){cljs.pprint.check_enumerated_arg.call(null,a,new cljs.core.PersistentHashSet(null,new cljs.core.PersistentArrayMap(null,4,[new cljs.core.Keyword(null,"section","section",-300141526),null,new cljs.core.Keyword(null,"line","line",212345235),null,new cljs.core.Keyword(null,"line-relative","line-relative",1149548219),null,new cljs.core.Keyword(null,"section-relative","section-relative",-658298724),null],null),null));throw Error("pprint-tab is not yet implemented");
};cljs.pprint.cl_format=function(a){for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;b=2<b.length?new cljs.core.IndexedSeq(b.slice(2),0,null):null;return cljs.pprint.cl_format.cljs$core$IFn$_invoke$arity$variadic(arguments[0],arguments[1],b)};
cljs.pprint.cl_format.cljs$core$IFn$_invoke$arity$variadic=function(a,b,c){b="string"===typeof b?cljs.pprint.compile_format.call(null,b):b;c=cljs.pprint.init_navigator.call(null,c);return cljs.pprint.execute_format.call(null,a,b,c)};cljs.pprint.cl_format.cljs$lang$maxFixedArity=2;
cljs.pprint.cl_format.cljs$lang$applyTo=function(a){var b=cljs.core.first.call(null,a),c=cljs.core.next.call(null,a);a=cljs.core.first.call(null,c);c=cljs.core.next.call(null,c);return this.cljs$core$IFn$_invoke$arity$variadic(b,a,c)};cljs.pprint._STAR_format_str_STAR_=null;
cljs.pprint.format_error=function(a,b){a=[cljs.core.str.cljs$core$IFn$_invoke$arity$1(a),"\n",cljs.pprint._STAR_format_str_STAR_,"\n",cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.core.apply.call(null,cljs.core.str,cljs.core.repeat.call(null,b," "))),"^\n"].join("");throw Error(a);};
cljs.pprint.arg_navigator=function(a,b,c,d,e,f){this.seq=a;this.rest=b;this.pos=c;this.__meta=d;this.__extmap=e;this.__hash=f;this.cljs$lang$protocol_mask$partition0$=2230716170;this.cljs$lang$protocol_mask$partition1$=139264};cljs.pprint.arg_navigator.prototype.cljs$core$ILookup$_lookup$arity$2=function(a,b){return this.cljs$core$ILookup$_lookup$arity$3(null,b,null)};
cljs.pprint.arg_navigator.prototype.cljs$core$ILookup$_lookup$arity$3=function(a,b,c){switch(b instanceof cljs.core.Keyword?b.fqn:null){case "seq":return this.seq;case "rest":return this.rest;case "pos":return this.pos;default:return cljs.core.get.call(null,this.__extmap,b,c)}};
cljs.pprint.arg_navigator.prototype.cljs$core$IKVReduce$_kv_reduce$arity$3=function(a,b,c){return cljs.core.reduce.call(null,function(a){return function(a,c){var d=cljs.core.nth.call(null,c,0,null);c=cljs.core.nth.call(null,c,1,null);return b.call(null,a,d,c)}}(this),c,this)};
cljs.pprint.arg_navigator.prototype.cljs$core$IPrintWithWriter$_pr_writer$arity$3=function(a,b,c){a=function(a){return function(a){return cljs.core.pr_sequential_writer.call(null,b,cljs.core.pr_writer,""," ","",c,a)}}(this);return cljs.core.pr_sequential_writer.call(null,b,a,"#cljs.pprint.arg-navigator{",", ","}",c,cljs.core.concat.call(null,new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,
[new cljs.core.Keyword(null,"seq","seq",-1817803783),this.seq],null),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"rest","rest",-1241696419),this.rest],null),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"pos","pos",-864607220),this.pos],null)],null),this.__extmap))};
cljs.pprint.arg_navigator.prototype.cljs$core$IIterable$_iterator$arity$1=function(a){return new cljs.core.RecordIter(0,this,3,new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"seq","seq",-1817803783),new cljs.core.Keyword(null,"rest","rest",-1241696419),new cljs.core.Keyword(null,"pos","pos",-864607220)],null),cljs.core.truth_(this.__extmap)?cljs.core._iterator.call(null,this.__extmap):cljs.core.nil_iter.call(null))};
cljs.pprint.arg_navigator.prototype.cljs$core$IMeta$_meta$arity$1=function(a){return this.__meta};cljs.pprint.arg_navigator.prototype.cljs$core$ICloneable$_clone$arity$1=function(a){return new cljs.pprint.arg_navigator(this.seq,this.rest,this.pos,this.__meta,this.__extmap,this.__hash)};cljs.pprint.arg_navigator.prototype.cljs$core$ICounted$_count$arity$1=function(a){return 3+cljs.core.count.call(null,this.__extmap)};
cljs.pprint.arg_navigator.prototype.cljs$core$IHash$_hash$arity$1=function(a){a=this.__hash;return null!=a?a:this.__hash=a=function(a,c){return function(a){return-402038447^cljs.core.hash_unordered_coll.call(null,a)}}(a,this).call(null,this)};
cljs.pprint.arg_navigator.prototype.cljs$core$IEquiv$_equiv$arity$2=function(a,b){return null!=b&&this.constructor===b.constructor&&cljs.core._EQ_.call(null,this.seq,b.seq)&&cljs.core._EQ_.call(null,this.rest,b.rest)&&cljs.core._EQ_.call(null,this.pos,b.pos)&&cljs.core._EQ_.call(null,this.__extmap,b.__extmap)};
cljs.pprint.arg_navigator.prototype.cljs$core$IMap$_dissoc$arity$2=function(a,b){return cljs.core.contains_QMARK_.call(null,new cljs.core.PersistentHashSet(null,new cljs.core.PersistentArrayMap(null,3,[new cljs.core.Keyword(null,"pos","pos",-864607220),null,new cljs.core.Keyword(null,"seq","seq",-1817803783),null,new cljs.core.Keyword(null,"rest","rest",-1241696419),null],null),null),b)?cljs.core.dissoc.call(null,cljs.core._with_meta.call(null,cljs.core.into.call(null,cljs.core.PersistentArrayMap.EMPTY,
this),this.__meta),b):new cljs.pprint.arg_navigator(this.seq,this.rest,this.pos,this.__meta,cljs.core.not_empty.call(null,cljs.core.dissoc.call(null,this.__extmap,b)),null)};
cljs.pprint.arg_navigator.prototype.cljs$core$IAssociative$_assoc$arity$3=function(a,b,c){a=cljs.core.keyword_identical_QMARK_;return cljs.core.truth_(a.call(null,new cljs.core.Keyword(null,"seq","seq",-1817803783),b))?new cljs.pprint.arg_navigator(c,this.rest,this.pos,this.__meta,this.__extmap,null):cljs.core.truth_(a.call(null,new cljs.core.Keyword(null,"rest","rest",-1241696419),b))?new cljs.pprint.arg_navigator(this.seq,c,this.pos,this.__meta,this.__extmap,null):cljs.core.truth_(a.call(null,new cljs.core.Keyword(null,
"pos","pos",-864607220),b))?new cljs.pprint.arg_navigator(this.seq,this.rest,c,this.__meta,this.__extmap,null):new cljs.pprint.arg_navigator(this.seq,this.rest,this.pos,this.__meta,cljs.core.assoc.call(null,this.__extmap,b,c),null)};
cljs.pprint.arg_navigator.prototype.cljs$core$ISeqable$_seq$arity$1=function(a){return cljs.core.seq.call(null,cljs.core.concat.call(null,new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.MapEntry(new cljs.core.Keyword(null,"seq","seq",-1817803783),this.seq,null),new cljs.core.MapEntry(new cljs.core.Keyword(null,"rest","rest",-1241696419),this.rest,null),new cljs.core.MapEntry(new cljs.core.Keyword(null,"pos","pos",-864607220),this.pos,null)],null),this.__extmap))};
cljs.pprint.arg_navigator.prototype.cljs$core$IWithMeta$_with_meta$arity$2=function(a,b){return new cljs.pprint.arg_navigator(this.seq,this.rest,this.pos,b,this.__extmap,this.__hash)};cljs.pprint.arg_navigator.prototype.cljs$core$ICollection$_conj$arity$2=function(a,b){return cljs.core.vector_QMARK_.call(null,b)?this.cljs$core$IAssociative$_assoc$arity$3(null,cljs.core._nth.call(null,b,0),cljs.core._nth.call(null,b,1)):cljs.core.reduce.call(null,cljs.core._conj,this,b)};
cljs.pprint.arg_navigator.getBasis=function(){return new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"seq","seq",-177272256,null),new cljs.core.Symbol(null,"rest","rest",398835108,null),new cljs.core.Symbol(null,"pos","pos",775924307,null)],null)};cljs.pprint.arg_navigator.cljs$lang$type=!0;cljs.pprint.arg_navigator.cljs$lang$ctorPrSeq=function(a){return new cljs.core.List(null,"cljs.pprint/arg-navigator",null,1,null)};
cljs.pprint.arg_navigator.cljs$lang$ctorPrWriter=function(a,b){return cljs.core._write.call(null,b,"cljs.pprint/arg-navigator")};cljs.pprint.__GT_arg_navigator=function(a,b,c){return new cljs.pprint.arg_navigator(a,b,c,null,null,null)};
cljs.pprint.map__GT_arg_navigator=function(a){var b=cljs.core.dissoc.call(null,a,new cljs.core.Keyword(null,"seq","seq",-1817803783),new cljs.core.Keyword(null,"rest","rest",-1241696419),new cljs.core.Keyword(null,"pos","pos",-864607220));b=cljs.core.record_QMARK_.call(null,a)?cljs.core.into.call(null,cljs.core.PersistentArrayMap.EMPTY,b):b;return new cljs.pprint.arg_navigator((new cljs.core.Keyword(null,"seq","seq",-1817803783)).cljs$core$IFn$_invoke$arity$1(a),(new cljs.core.Keyword(null,"rest",
"rest",-1241696419)).cljs$core$IFn$_invoke$arity$1(a),(new cljs.core.Keyword(null,"pos","pos",-864607220)).cljs$core$IFn$_invoke$arity$1(a),null,cljs.core.not_empty.call(null,b),null)};cljs.pprint.init_navigator=function(a){a=cljs.core.seq.call(null,a);return new cljs.pprint.arg_navigator(a,a,0,null,null,null)};
cljs.pprint.next_arg=function(a){var b=(new cljs.core.Keyword(null,"rest","rest",-1241696419)).cljs$core$IFn$_invoke$arity$1(a);if(cljs.core.truth_(b))return new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[cljs.core.first.call(null,b),new cljs.pprint.arg_navigator((new cljs.core.Keyword(null,"seq","seq",-1817803783)).cljs$core$IFn$_invoke$arity$1(a),cljs.core.next.call(null,b),(new cljs.core.Keyword(null,"pos","pos",-864607220)).cljs$core$IFn$_invoke$arity$1(a)+1,null,
null,null)],null);throw Error("Not enough arguments for format definition");};
cljs.pprint.next_arg_or_nil=function(a){var b=(new cljs.core.Keyword(null,"rest","rest",-1241696419)).cljs$core$IFn$_invoke$arity$1(a);return cljs.core.truth_(b)?new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[cljs.core.first.call(null,b),new cljs.pprint.arg_navigator((new cljs.core.Keyword(null,"seq","seq",-1817803783)).cljs$core$IFn$_invoke$arity$1(a),cljs.core.next.call(null,b),(new cljs.core.Keyword(null,"pos","pos",-864607220)).cljs$core$IFn$_invoke$arity$1(a)+
1,null,null,null)],null):new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[null,a],null)};cljs.pprint.get_format_arg=function(a){var b=cljs.pprint.next_arg.call(null,a);a=cljs.core.nth.call(null,b,0,null);b=cljs.core.nth.call(null,b,1,null);a="string"===typeof a?cljs.pprint.compile_format.call(null,a):a;return new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[a,b],null)};
cljs.pprint.absolute_reposition=function(a,b){return b>=(new cljs.core.Keyword(null,"pos","pos",-864607220)).cljs$core$IFn$_invoke$arity$1(a)?cljs.pprint.relative_reposition.call(null,a,(new cljs.core.Keyword(null,"pos","pos",-864607220)).cljs$core$IFn$_invoke$arity$1(a)-b):new cljs.pprint.arg_navigator((new cljs.core.Keyword(null,"seq","seq",-1817803783)).cljs$core$IFn$_invoke$arity$1(a),cljs.core.drop.call(null,b,(new cljs.core.Keyword(null,"seq","seq",-1817803783)).cljs$core$IFn$_invoke$arity$1(a)),
b,null,null,null)};cljs.pprint.relative_reposition=function(a,b){var c=(new cljs.core.Keyword(null,"pos","pos",-864607220)).cljs$core$IFn$_invoke$arity$1(a)+b;return 0>b?cljs.pprint.absolute_reposition.call(null,a,c):new cljs.pprint.arg_navigator((new cljs.core.Keyword(null,"seq","seq",-1817803783)).cljs$core$IFn$_invoke$arity$1(a),cljs.core.drop.call(null,b,(new cljs.core.Keyword(null,"rest","rest",-1241696419)).cljs$core$IFn$_invoke$arity$1(a)),c,null,null,null)};
cljs.pprint.compiled_directive=function(a,b,c,d,e,f,g){this.func=a;this.def=b;this.params=c;this.offset=d;this.__meta=e;this.__extmap=f;this.__hash=g;this.cljs$lang$protocol_mask$partition0$=2230716170;this.cljs$lang$protocol_mask$partition1$=139264};cljs.pprint.compiled_directive.prototype.cljs$core$ILookup$_lookup$arity$2=function(a,b){return this.cljs$core$ILookup$_lookup$arity$3(null,b,null)};
cljs.pprint.compiled_directive.prototype.cljs$core$ILookup$_lookup$arity$3=function(a,b,c){switch(b instanceof cljs.core.Keyword?b.fqn:null){case "func":return this.func;case "def":return this.def;case "params":return this.params;case "offset":return this.offset;default:return cljs.core.get.call(null,this.__extmap,b,c)}};
cljs.pprint.compiled_directive.prototype.cljs$core$IKVReduce$_kv_reduce$arity$3=function(a,b,c){return cljs.core.reduce.call(null,function(a){return function(a,c){var d=cljs.core.nth.call(null,c,0,null);c=cljs.core.nth.call(null,c,1,null);return b.call(null,a,d,c)}}(this),c,this)};
cljs.pprint.compiled_directive.prototype.cljs$core$IPrintWithWriter$_pr_writer$arity$3=function(a,b,c){a=function(a){return function(a){return cljs.core.pr_sequential_writer.call(null,b,cljs.core.pr_writer,""," ","",c,a)}}(this);return cljs.core.pr_sequential_writer.call(null,b,a,"#cljs.pprint.compiled-directive{",", ","}",c,cljs.core.concat.call(null,new cljs.core.PersistentVector(null,4,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,
[new cljs.core.Keyword(null,"func","func",-238706040),this.func],null),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"def","def",-1043430536),this.def],null),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"params","params",710516235),this.params],null),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"offset","offset",296498311),
this.offset],null)],null),this.__extmap))};
cljs.pprint.compiled_directive.prototype.cljs$core$IIterable$_iterator$arity$1=function(a){return new cljs.core.RecordIter(0,this,4,new cljs.core.PersistentVector(null,4,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"func","func",-238706040),new cljs.core.Keyword(null,"def","def",-1043430536),new cljs.core.Keyword(null,"params","params",710516235),new cljs.core.Keyword(null,"offset","offset",296498311)],null),cljs.core.truth_(this.__extmap)?cljs.core._iterator.call(null,this.__extmap):
cljs.core.nil_iter.call(null))};cljs.pprint.compiled_directive.prototype.cljs$core$IMeta$_meta$arity$1=function(a){return this.__meta};cljs.pprint.compiled_directive.prototype.cljs$core$ICloneable$_clone$arity$1=function(a){return new cljs.pprint.compiled_directive(this.func,this.def,this.params,this.offset,this.__meta,this.__extmap,this.__hash)};cljs.pprint.compiled_directive.prototype.cljs$core$ICounted$_count$arity$1=function(a){return 4+cljs.core.count.call(null,this.__extmap)};
cljs.pprint.compiled_directive.prototype.cljs$core$IHash$_hash$arity$1=function(a){a=this.__hash;return null!=a?a:this.__hash=a=function(a,c){return function(a){return-829256337^cljs.core.hash_unordered_coll.call(null,a)}}(a,this).call(null,this)};
cljs.pprint.compiled_directive.prototype.cljs$core$IEquiv$_equiv$arity$2=function(a,b){return null!=b&&this.constructor===b.constructor&&cljs.core._EQ_.call(null,this.func,b.func)&&cljs.core._EQ_.call(null,this.def,b.def)&&cljs.core._EQ_.call(null,this.params,b.params)&&cljs.core._EQ_.call(null,this.offset,b.offset)&&cljs.core._EQ_.call(null,this.__extmap,b.__extmap)};
cljs.pprint.compiled_directive.prototype.cljs$core$IMap$_dissoc$arity$2=function(a,b){return cljs.core.contains_QMARK_.call(null,new cljs.core.PersistentHashSet(null,new cljs.core.PersistentArrayMap(null,4,[new cljs.core.Keyword(null,"offset","offset",296498311),null,new cljs.core.Keyword(null,"func","func",-238706040),null,new cljs.core.Keyword(null,"params","params",710516235),null,new cljs.core.Keyword(null,"def","def",-1043430536),null],null),null),b)?cljs.core.dissoc.call(null,cljs.core._with_meta.call(null,
cljs.core.into.call(null,cljs.core.PersistentArrayMap.EMPTY,this),this.__meta),b):new cljs.pprint.compiled_directive(this.func,this.def,this.params,this.offset,this.__meta,cljs.core.not_empty.call(null,cljs.core.dissoc.call(null,this.__extmap,b)),null)};
cljs.pprint.compiled_directive.prototype.cljs$core$IAssociative$_assoc$arity$3=function(a,b,c){a=cljs.core.keyword_identical_QMARK_;return cljs.core.truth_(a.call(null,new cljs.core.Keyword(null,"func","func",-238706040),b))?new cljs.pprint.compiled_directive(c,this.def,this.params,this.offset,this.__meta,this.__extmap,null):cljs.core.truth_(a.call(null,new cljs.core.Keyword(null,"def","def",-1043430536),b))?new cljs.pprint.compiled_directive(this.func,c,this.params,this.offset,this.__meta,this.__extmap,
null):cljs.core.truth_(a.call(null,new cljs.core.Keyword(null,"params","params",710516235),b))?new cljs.pprint.compiled_directive(this.func,this.def,c,this.offset,this.__meta,this.__extmap,null):cljs.core.truth_(a.call(null,new cljs.core.Keyword(null,"offset","offset",296498311),b))?new cljs.pprint.compiled_directive(this.func,this.def,this.params,c,this.__meta,this.__extmap,null):new cljs.pprint.compiled_directive(this.func,this.def,this.params,this.offset,this.__meta,cljs.core.assoc.call(null,this.__extmap,
b,c),null)};
cljs.pprint.compiled_directive.prototype.cljs$core$ISeqable$_seq$arity$1=function(a){return cljs.core.seq.call(null,cljs.core.concat.call(null,new cljs.core.PersistentVector(null,4,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.MapEntry(new cljs.core.Keyword(null,"func","func",-238706040),this.func,null),new cljs.core.MapEntry(new cljs.core.Keyword(null,"def","def",-1043430536),this.def,null),new cljs.core.MapEntry(new cljs.core.Keyword(null,"params","params",710516235),this.params,null),
new cljs.core.MapEntry(new cljs.core.Keyword(null,"offset","offset",296498311),this.offset,null)],null),this.__extmap))};cljs.pprint.compiled_directive.prototype.cljs$core$IWithMeta$_with_meta$arity$2=function(a,b){return new cljs.pprint.compiled_directive(this.func,this.def,this.params,this.offset,b,this.__extmap,this.__hash)};
cljs.pprint.compiled_directive.prototype.cljs$core$ICollection$_conj$arity$2=function(a,b){return cljs.core.vector_QMARK_.call(null,b)?this.cljs$core$IAssociative$_assoc$arity$3(null,cljs.core._nth.call(null,b,0),cljs.core._nth.call(null,b,1)):cljs.core.reduce.call(null,cljs.core._conj,this,b)};
cljs.pprint.compiled_directive.getBasis=function(){return new cljs.core.PersistentVector(null,4,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"func","func",1401825487,null),new cljs.core.Symbol(null,"def","def",597100991,null),new cljs.core.Symbol(null,"params","params",-1943919534,null),new cljs.core.Symbol(null,"offset","offset",1937029838,null)],null)};cljs.pprint.compiled_directive.cljs$lang$type=!0;
cljs.pprint.compiled_directive.cljs$lang$ctorPrSeq=function(a){return new cljs.core.List(null,"cljs.pprint/compiled-directive",null,1,null)};cljs.pprint.compiled_directive.cljs$lang$ctorPrWriter=function(a,b){return cljs.core._write.call(null,b,"cljs.pprint/compiled-directive")};cljs.pprint.__GT_compiled_directive=function(a,b,c,d){return new cljs.pprint.compiled_directive(a,b,c,d,null,null,null)};
cljs.pprint.map__GT_compiled_directive=function(a){var b=cljs.core.dissoc.call(null,a,new cljs.core.Keyword(null,"func","func",-238706040),new cljs.core.Keyword(null,"def","def",-1043430536),new cljs.core.Keyword(null,"params","params",710516235),new cljs.core.Keyword(null,"offset","offset",296498311));b=cljs.core.record_QMARK_.call(null,a)?cljs.core.into.call(null,cljs.core.PersistentArrayMap.EMPTY,b):b;return new cljs.pprint.compiled_directive((new cljs.core.Keyword(null,"func","func",-238706040)).cljs$core$IFn$_invoke$arity$1(a),
(new cljs.core.Keyword(null,"def","def",-1043430536)).cljs$core$IFn$_invoke$arity$1(a),(new cljs.core.Keyword(null,"params","params",710516235)).cljs$core$IFn$_invoke$arity$1(a),(new cljs.core.Keyword(null,"offset","offset",296498311)).cljs$core$IFn$_invoke$arity$1(a),null,cljs.core.not_empty.call(null,b),null)};
cljs.pprint.realize_parameter=function(a,b){var c=cljs.core.nth.call(null,a,0,null);a=cljs.core.nth.call(null,a,1,null);var d=cljs.core.nth.call(null,a,0,null);a=cljs.core.nth.call(null,a,1,null);d=cljs.core.contains_QMARK_.call(null,new cljs.core.PersistentHashSet(null,new cljs.core.PersistentArrayMap(null,2,[new cljs.core.Keyword(null,"colon","colon",-965200945),null,new cljs.core.Keyword(null,"at","at",1476951349),null],null),null),c)?new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,
[d,b],null):cljs.core._EQ_.call(null,d,new cljs.core.Keyword(null,"parameter-from-args","parameter-from-args",-758446196))?cljs.pprint.next_arg.call(null,b):cljs.core._EQ_.call(null,d,new cljs.core.Keyword(null,"remaining-arg-count","remaining-arg-count",-1216589335))?new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[cljs.core.count.call(null,(new cljs.core.Keyword(null,"rest","rest",-1241696419)).cljs$core$IFn$_invoke$arity$1(b)),b],null):new cljs.core.PersistentVector(null,
2,5,cljs.core.PersistentVector.EMPTY_NODE,[d,b],null);b=cljs.core.nth.call(null,d,0,null);d=cljs.core.nth.call(null,d,1,null);return new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[c,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[b,a],null)],null),d],null)};
cljs.pprint.realize_parameter_list=function(a,b){b=cljs.pprint.map_passing_context.call(null,cljs.pprint.realize_parameter,b,a);a=cljs.core.nth.call(null,b,0,null);b=cljs.core.nth.call(null,b,1,null);return new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[cljs.core.into.call(null,cljs.core.PersistentArrayMap.EMPTY,a),b],null)};cljs.pprint.special_radix_markers=new cljs.core.PersistentArrayMap(null,3,[2,"#b",8,"#o",16,"#x"],null);
cljs.pprint.format_simple_number=function(a){return cljs.core.integer_QMARK_.call(null,a)?cljs.core._EQ_.call(null,cljs.pprint._STAR_print_base_STAR_,10)?[cljs.core.str.cljs$core$IFn$_invoke$arity$1(a),cljs.core.truth_(cljs.pprint._STAR_print_radix_STAR_)?".":null].join(""):[cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.core.truth_(cljs.pprint._STAR_print_radix_STAR_)?function(){var a=cljs.core.get.call(null,cljs.pprint.special_radix_markers,cljs.pprint._STAR_print_base_STAR_);return cljs.core.truth_(a)?
a:["#",cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.pprint._STAR_print_base_STAR_),"r"].join("")}():null),cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.pprint.opt_base_str.call(null,cljs.pprint._STAR_print_base_STAR_,a))].join(""):null};
cljs.pprint.format_ascii=function(a,b,c,d){c=cljs.pprint.next_arg.call(null,c);d=cljs.core.nth.call(null,c,0,null);c=cljs.core.nth.call(null,c,1,null);var e=cljs.pprint.format_simple_number.call(null,d);a=cljs.core.truth_(e)?e:a.call(null,d);d=a.length;e=d+(new cljs.core.Keyword(null,"minpad","minpad",323570901)).cljs$core$IFn$_invoke$arity$1(b);e=e>=(new cljs.core.Keyword(null,"mincol","mincol",1230695445)).cljs$core$IFn$_invoke$arity$1(b)?e:e+(cljs.core.quot.call(null,(new cljs.core.Keyword(null,
"mincol","mincol",1230695445)).cljs$core$IFn$_invoke$arity$1(b)-e-1,(new cljs.core.Keyword(null,"colinc","colinc",-584873385)).cljs$core$IFn$_invoke$arity$1(b))+1)*(new cljs.core.Keyword(null,"colinc","colinc",-584873385)).cljs$core$IFn$_invoke$arity$1(b);d=cljs.core.apply.call(null,cljs.core.str,cljs.core.repeat.call(null,e-d,(new cljs.core.Keyword(null,"padchar","padchar",2018584530)).cljs$core$IFn$_invoke$arity$1(b)));cljs.core.truth_((new cljs.core.Keyword(null,"at","at",1476951349)).cljs$core$IFn$_invoke$arity$1(b))?
cljs.pprint.print.call(null,[cljs.core.str.cljs$core$IFn$_invoke$arity$1(d),cljs.core.str.cljs$core$IFn$_invoke$arity$1(a)].join("")):cljs.pprint.print.call(null,[cljs.core.str.cljs$core$IFn$_invoke$arity$1(a),cljs.core.str.cljs$core$IFn$_invoke$arity$1(d)].join(""));return c};cljs.pprint.integral_QMARK_=function(a){return cljs.core.integer_QMARK_.call(null,a)?!0:cljs.pprint.float_QMARK_.call(null,a)?cljs.core._EQ_.call(null,a,Math.floor(a)):!1};
cljs.pprint.remainders=function(a,b){return cljs.core.reverse.call(null,cljs.core.first.call(null,cljs.pprint.consume.call(null,function(b){return 0<b?new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[cljs.core.rem.call(null,b,a),cljs.core.quot.call(null,b,a)],null):new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[null,null],null)},b)))};
cljs.pprint.base_str=function(a,b){return 0===b?"0":cljs.core.apply.call(null,cljs.core.str,cljs.core.map.call(null,function(a){return function(a){return 10>a?cljs.core.char$.call(null,cljs.pprint.char_code.call(null,"0")+a):cljs.core.char$.call(null,cljs.pprint.char_code.call(null,"a")+(a-10))}}(b),cljs.pprint.remainders.call(null,a,b)))};cljs.pprint.javascript_base_formats=new cljs.core.PersistentArrayMap(null,3,[8,"%o",10,"%d",16,"%x"],null);
cljs.pprint.opt_base_str=function(a,b){return cljs.pprint.base_str.call(null,a,b)};cljs.pprint.group_by_STAR_=function(a,b){return cljs.core.reverse.call(null,cljs.core.first.call(null,cljs.pprint.consume.call(null,function(b){return new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[cljs.core.seq.call(null,cljs.core.reverse.call(null,cljs.core.take.call(null,a,b))),cljs.core.seq.call(null,cljs.core.drop.call(null,a,b))],null)},cljs.core.reverse.call(null,b))))};
cljs.pprint.format_integer=function(a,b,c,d){var e=cljs.pprint.next_arg.call(null,c),f=cljs.core.nth.call(null,e,0,null),g=cljs.core.nth.call(null,e,1,null);if(cljs.pprint.integral_QMARK_.call(null,f)){var h=0>f,k=h?-f:f,l=cljs.pprint.opt_base_str.call(null,a,k);a=cljs.core.truth_((new cljs.core.Keyword(null,"colon","colon",-965200945)).cljs$core$IFn$_invoke$arity$1(b))?function(){var a=cljs.core.map.call(null,function(a,b,c,d,e,f){return function(a){return cljs.core.apply.call(null,cljs.core.str,
a)}}(h,k,l,e,f,g),cljs.pprint.group_by_STAR_.call(null,(new cljs.core.Keyword(null,"commainterval","commainterval",-1980061083)).cljs$core$IFn$_invoke$arity$1(b),l)),c=cljs.core.repeat.call(null,cljs.core.count.call(null,a),(new cljs.core.Keyword(null,"commachar","commachar",652859327)).cljs$core$IFn$_invoke$arity$1(b));return cljs.core.apply.call(null,cljs.core.str,cljs.core.next.call(null,cljs.core.interleave.call(null,c,a)))}():l;a=h?["-",cljs.core.str.cljs$core$IFn$_invoke$arity$1(a)].join(""):
cljs.core.truth_((new cljs.core.Keyword(null,"at","at",1476951349)).cljs$core$IFn$_invoke$arity$1(b))?["+",cljs.core.str.cljs$core$IFn$_invoke$arity$1(a)].join(""):a;a=a.length<(new cljs.core.Keyword(null,"mincol","mincol",1230695445)).cljs$core$IFn$_invoke$arity$1(b)?[cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.core.apply.call(null,cljs.core.str,cljs.core.repeat.call(null,(new cljs.core.Keyword(null,"mincol","mincol",1230695445)).cljs$core$IFn$_invoke$arity$1(b)-a.length,(new cljs.core.Keyword(null,
"padchar","padchar",2018584530)).cljs$core$IFn$_invoke$arity$1(b)))),cljs.core.str.cljs$core$IFn$_invoke$arity$1(a)].join(""):a;cljs.pprint.print.call(null,a)}else cljs.pprint.format_ascii.call(null,cljs.core.print_str,new cljs.core.PersistentArrayMap(null,5,[new cljs.core.Keyword(null,"mincol","mincol",1230695445),(new cljs.core.Keyword(null,"mincol","mincol",1230695445)).cljs$core$IFn$_invoke$arity$1(b),new cljs.core.Keyword(null,"colinc","colinc",-584873385),1,new cljs.core.Keyword(null,"minpad",
"minpad",323570901),0,new cljs.core.Keyword(null,"padchar","padchar",2018584530),(new cljs.core.Keyword(null,"padchar","padchar",2018584530)).cljs$core$IFn$_invoke$arity$1(b),new cljs.core.Keyword(null,"at","at",1476951349),!0],null),cljs.pprint.init_navigator.call(null,new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[f],null)),null);return g};
cljs.pprint.english_cardinal_units=new cljs.core.PersistentVector(null,20,5,cljs.core.PersistentVector.EMPTY_NODE,"zero one two three four five six seven eight nine ten eleven twelve thirteen fourteen fifteen sixteen seventeen eighteen nineteen".split(" "),null);
cljs.pprint.english_ordinal_units=new cljs.core.PersistentVector(null,20,5,cljs.core.PersistentVector.EMPTY_NODE,"zeroth first second third fourth fifth sixth seventh eighth ninth tenth eleventh twelfth thirteenth fourteenth fifteenth sixteenth seventeenth eighteenth nineteenth".split(" "),null);cljs.pprint.english_cardinal_tens=new cljs.core.PersistentVector(null,10,5,cljs.core.PersistentVector.EMPTY_NODE,"  twenty thirty forty fifty sixty seventy eighty ninety".split(" "),null);
cljs.pprint.english_ordinal_tens=new cljs.core.PersistentVector(null,10,5,cljs.core.PersistentVector.EMPTY_NODE,"  twentieth thirtieth fortieth fiftieth sixtieth seventieth eightieth ninetieth".split(" "),null);
cljs.pprint.english_scale_numbers=new cljs.core.PersistentVector(null,22,5,cljs.core.PersistentVector.EMPTY_NODE," thousand million billion trillion quadrillion quintillion sextillion septillion octillion nonillion decillion undecillion duodecillion tredecillion quattuordecillion quindecillion sexdecillion septendecillion octodecillion novemdecillion vigintillion".split(" "),null);
cljs.pprint.format_simple_cardinal=function(a){var b=cljs.core.quot.call(null,a,100),c=cljs.core.rem.call(null,a,100);return[0<b?[cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.core.nth.call(null,cljs.pprint.english_cardinal_units,b))," hundred"].join(""):null,0<b&&0<c?" ":null,cljs.core.str.cljs$core$IFn$_invoke$arity$1(0<c?20>c?cljs.core.nth.call(null,cljs.pprint.english_cardinal_units,c):function(){var a=cljs.core.quot.call(null,c,10),b=cljs.core.rem.call(null,c,10);return[cljs.core.str.cljs$core$IFn$_invoke$arity$1(0<
a?cljs.core.nth.call(null,cljs.pprint.english_cardinal_tens,a):null),0<a&&0<b?"-":null,cljs.core.str.cljs$core$IFn$_invoke$arity$1(0<b?cljs.core.nth.call(null,cljs.pprint.english_cardinal_units,b):null)].join("")}():null)].join("")};
cljs.pprint.add_english_scales=function(a,b){var c=cljs.core.count.call(null,a),d=cljs.core.PersistentVector.EMPTY;--c;var e=cljs.core.first.call(null,a);for(a=cljs.core.next.call(null,a);;){if(null==a)return[cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.core.apply.call(null,cljs.core.str,cljs.core.interpose.call(null,", ",d))),cljs.core.empty_QMARK_.call(null,e)||cljs.core.empty_QMARK_.call(null,d)?null:", ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(e),!cljs.core.empty_QMARK_.call(null,e)&&
0<c+b?[" ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.core.nth.call(null,cljs.pprint.english_scale_numbers,c+b))].join(""):null].join("");d=cljs.core.empty_QMARK_.call(null,e)?d:cljs.core.conj.call(null,d,[cljs.core.str.cljs$core$IFn$_invoke$arity$1(e)," ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.core.nth.call(null,cljs.pprint.english_scale_numbers,c+b))].join(""));--c;e=cljs.core.first.call(null,a);a=cljs.core.next.call(null,a)}};
cljs.pprint.format_cardinal_english=function(a,b,c){b=cljs.pprint.next_arg.call(null,b);a=cljs.core.nth.call(null,b,0,null);b=cljs.core.nth.call(null,b,1,null);cljs.core._EQ_.call(null,0,a)?cljs.pprint.print.call(null,"zero"):(c=cljs.pprint.remainders.call(null,1E3,0>a?-a:a),cljs.core.count.call(null,c)<=cljs.core.count.call(null,cljs.pprint.english_scale_numbers)?(c=cljs.core.map.call(null,cljs.pprint.format_simple_cardinal,c),c=cljs.pprint.add_english_scales.call(null,c,0),cljs.pprint.print.call(null,
[0>a?"minus ":null,c].join(""))):cljs.pprint.format_integer.call(null,10,new cljs.core.PersistentArrayMap(null,5,[new cljs.core.Keyword(null,"mincol","mincol",1230695445),0,new cljs.core.Keyword(null,"padchar","padchar",2018584530)," ",new cljs.core.Keyword(null,"commachar","commachar",652859327),",",new cljs.core.Keyword(null,"commainterval","commainterval",-1980061083),3,new cljs.core.Keyword(null,"colon","colon",-965200945),!0],null),cljs.pprint.init_navigator.call(null,new cljs.core.PersistentVector(null,
1,5,cljs.core.PersistentVector.EMPTY_NODE,[a],null)),new cljs.core.PersistentArrayMap(null,4,[new cljs.core.Keyword(null,"mincol","mincol",1230695445),0,new cljs.core.Keyword(null,"padchar","padchar",2018584530),0,new cljs.core.Keyword(null,"commachar","commachar",652859327),0,new cljs.core.Keyword(null,"commainterval","commainterval",-1980061083),0],null)));return b};
cljs.pprint.format_simple_ordinal=function(a){var b=cljs.core.quot.call(null,a,100),c=cljs.core.rem.call(null,a,100);return[0<b?[cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.core.nth.call(null,cljs.pprint.english_cardinal_units,b))," hundred"].join(""):null,0<b&&0<c?" ":null,cljs.core.str.cljs$core$IFn$_invoke$arity$1(0<c?20>c?cljs.core.nth.call(null,cljs.pprint.english_ordinal_units,c):function(){var a=cljs.core.quot.call(null,c,10),b=cljs.core.rem.call(null,c,10);return 0<a&&!(0<b)?cljs.core.nth.call(null,
cljs.pprint.english_ordinal_tens,a):[cljs.core.str.cljs$core$IFn$_invoke$arity$1(0<a?cljs.core.nth.call(null,cljs.pprint.english_cardinal_tens,a):null),0<a&&0<b?"-":null,cljs.core.str.cljs$core$IFn$_invoke$arity$1(0<b?cljs.core.nth.call(null,cljs.pprint.english_ordinal_units,b):null)].join("")}():0<b?"th":null)].join("")};
cljs.pprint.format_ordinal_english=function(a,b,c){a=cljs.pprint.next_arg.call(null,b);b=cljs.core.nth.call(null,a,0,null);a=cljs.core.nth.call(null,a,1,null);if(cljs.core._EQ_.call(null,0,b))cljs.pprint.print.call(null,"zeroth");else if(c=cljs.pprint.remainders.call(null,1E3,0>b?-b:b),cljs.core.count.call(null,c)<=cljs.core.count.call(null,cljs.pprint.english_scale_numbers)){var d=cljs.core.map.call(null,cljs.pprint.format_simple_cardinal,cljs.core.drop_last.call(null,c));d=cljs.pprint.add_english_scales.call(null,
d,1);c=cljs.pprint.format_simple_ordinal.call(null,cljs.core.last.call(null,c));cljs.pprint.print.call(null,[0>b?"minus ":null,cljs.core.empty_QMARK_.call(null,d)||cljs.core.empty_QMARK_.call(null,c)?cljs.core.empty_QMARK_.call(null,d)?c:[d,"th"].join(""):[d,", ",c].join("")].join(""))}else cljs.pprint.format_integer.call(null,10,new cljs.core.PersistentArrayMap(null,5,[new cljs.core.Keyword(null,"mincol","mincol",1230695445),0,new cljs.core.Keyword(null,"padchar","padchar",2018584530)," ",new cljs.core.Keyword(null,
"commachar","commachar",652859327),",",new cljs.core.Keyword(null,"commainterval","commainterval",-1980061083),3,new cljs.core.Keyword(null,"colon","colon",-965200945),!0],null),cljs.pprint.init_navigator.call(null,new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[b],null)),new cljs.core.PersistentArrayMap(null,4,[new cljs.core.Keyword(null,"mincol","mincol",1230695445),0,new cljs.core.Keyword(null,"padchar","padchar",2018584530),0,new cljs.core.Keyword(null,"commachar",
"commachar",652859327),0,new cljs.core.Keyword(null,"commainterval","commainterval",-1980061083),0],null)),c=cljs.core.rem.call(null,b,100),b=11<c||19>c,c=cljs.core.rem.call(null,c,10),cljs.pprint.print.call(null,1===c&&b?"st":2===c&&b?"nd":3===c&&b?"rd":"th");return a};
cljs.pprint.old_roman_table=new cljs.core.PersistentVector(null,4,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.PersistentVector(null,9,5,cljs.core.PersistentVector.EMPTY_NODE,"I II III IIII V VI VII VIII VIIII".split(" "),null),new cljs.core.PersistentVector(null,9,5,cljs.core.PersistentVector.EMPTY_NODE,"X XX XXX XXXX L LX LXX LXXX LXXXX".split(" "),null),new cljs.core.PersistentVector(null,9,5,cljs.core.PersistentVector.EMPTY_NODE,"C CC CCC CCCC D DC DCC DCCC DCCCC".split(" "),null),new cljs.core.PersistentVector(null,
3,5,cljs.core.PersistentVector.EMPTY_NODE,["M","MM","MMM"],null)],null);
cljs.pprint.new_roman_table=new cljs.core.PersistentVector(null,4,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.PersistentVector(null,9,5,cljs.core.PersistentVector.EMPTY_NODE,"I II III IV V VI VII VIII IX".split(" "),null),new cljs.core.PersistentVector(null,9,5,cljs.core.PersistentVector.EMPTY_NODE,"X XX XXX XL L LX LXX LXXX XC".split(" "),null),new cljs.core.PersistentVector(null,9,5,cljs.core.PersistentVector.EMPTY_NODE,"C CC CCC CD D DC DCC DCCC CM".split(" "),null),new cljs.core.PersistentVector(null,
3,5,cljs.core.PersistentVector.EMPTY_NODE,["M","MM","MMM"],null)],null);
cljs.pprint.format_roman=function(a,b,c,d){b=cljs.pprint.next_arg.call(null,c);c=cljs.core.nth.call(null,b,0,null);b=cljs.core.nth.call(null,b,1,null);if("number"===typeof c&&0<c&&4E3>c){var e=cljs.pprint.remainders.call(null,10,c);c=cljs.core.PersistentVector.EMPTY;for(d=cljs.core.count.call(null,e)-1;;)if(cljs.core.empty_QMARK_.call(null,e)){cljs.pprint.print.call(null,cljs.core.apply.call(null,cljs.core.str,c));break}else{var f=cljs.core.first.call(null,e);c=cljs.core._EQ_.call(null,0,f)?c:cljs.core.conj.call(null,
c,cljs.core.nth.call(null,cljs.core.nth.call(null,a,d),f-1));--d;e=cljs.core.next.call(null,e)}}else cljs.pprint.format_integer.call(null,10,new cljs.core.PersistentArrayMap(null,5,[new cljs.core.Keyword(null,"mincol","mincol",1230695445),0,new cljs.core.Keyword(null,"padchar","padchar",2018584530)," ",new cljs.core.Keyword(null,"commachar","commachar",652859327),",",new cljs.core.Keyword(null,"commainterval","commainterval",-1980061083),3,new cljs.core.Keyword(null,"colon","colon",-965200945),!0],
null),cljs.pprint.init_navigator.call(null,new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[c],null)),new cljs.core.PersistentArrayMap(null,4,[new cljs.core.Keyword(null,"mincol","mincol",1230695445),0,new cljs.core.Keyword(null,"padchar","padchar",2018584530),0,new cljs.core.Keyword(null,"commachar","commachar",652859327),0,new cljs.core.Keyword(null,"commainterval","commainterval",-1980061083),0],null));return b};
cljs.pprint.format_old_roman=function(a,b,c){return cljs.pprint.format_roman.call(null,cljs.pprint.old_roman_table,a,b,c)};cljs.pprint.format_new_roman=function(a,b,c){return cljs.pprint.format_roman.call(null,cljs.pprint.new_roman_table,a,b,c)};cljs.pprint.special_chars=new cljs.core.PersistentArrayMap(null,5,[8,"Backspace",9,"Tab",10,"Newline",13,"Return",32,"Space"],null);
cljs.pprint.pretty_character=function(a,b,c){a=cljs.pprint.next_arg.call(null,b);b=cljs.core.nth.call(null,a,0,null);a=cljs.core.nth.call(null,a,1,null);c=cljs.pprint.char_code.call(null,b);b=c&127;c&=128;var d=cljs.core.get.call(null,cljs.pprint.special_chars,b);0<c&&cljs.pprint.print.call(null,"Meta-");cljs.pprint.print.call(null,cljs.core.truth_(d)?d:32>b?["Control-",cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.core.char$.call(null,b+64))].join(""):cljs.core._EQ_.call(null,b,127)?"Control-?":
cljs.core.char$.call(null,b));return a};
cljs.pprint.readable_character=function(a,b,c){c=cljs.pprint.next_arg.call(null,b);b=cljs.core.nth.call(null,c,0,null);c=cljs.core.nth.call(null,c,1,null);var d=cljs.core._EQ_;a=(new cljs.core.Keyword(null,"char-format","char-format",-1016499218)).cljs$core$IFn$_invoke$arity$1(a);if(cljs.core.truth_(d.call(null,"o",a)))cljs.pprint.cl_format.call(null,!0,"\\o~3, '0o",cljs.pprint.char_code.call(null,b));else if(cljs.core.truth_(d.call(null,"u",a)))cljs.pprint.cl_format.call(null,!0,"\\u~4, '0x",cljs.pprint.char_code.call(null,
b));else if(cljs.core.truth_(d.call(null,null,a)))cljs.pprint.print_char.call(null,b);else throw Error(["No matching clause: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(a)].join(""));return c};cljs.pprint.plain_character=function(a,b,c){b=cljs.pprint.next_arg.call(null,b);a=cljs.core.nth.call(null,b,0,null);b=cljs.core.nth.call(null,b,1,null);cljs.pprint.print.call(null,a);return b};
cljs.pprint.abort_QMARK_=function(a){a=cljs.core.first.call(null,a);return cljs.core._EQ_.call(null,new cljs.core.Keyword(null,"up-arrow","up-arrow",1705310333),a)||cljs.core._EQ_.call(null,new cljs.core.Keyword(null,"colon-up-arrow","colon-up-arrow",244853007),a)};
cljs.pprint.execute_sub_format=function(a,b,c){return cljs.core.second.call(null,cljs.pprint.map_passing_context.call(null,function(a,b){if(cljs.pprint.abort_QMARK_.call(null,b))return new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[null,b],null);b=cljs.pprint.realize_parameter_list.call(null,(new cljs.core.Keyword(null,"params","params",710516235)).cljs$core$IFn$_invoke$arity$1(a),b);var d=cljs.core.nth.call(null,b,0,null);b=cljs.core.nth.call(null,b,1,null);var e=
cljs.pprint.unzip_map.call(null,d);d=cljs.core.nth.call(null,e,0,null);e=cljs.core.nth.call(null,e,1,null);d=cljs.core.assoc.call(null,d,new cljs.core.Keyword(null,"base-args","base-args",-1268706822),c);return new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[null,cljs.core.apply.call(null,(new cljs.core.Keyword(null,"func","func",-238706040)).cljs$core$IFn$_invoke$arity$1(a),new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,[d,b,e],null))],
null)},b,a))};
cljs.pprint.float_parts_base=function(a){a=clojure.string.lower_case.call(null,cljs.core.str.cljs$core$IFn$_invoke$arity$1(a));var b=a.indexOf("e"),c=a.indexOf(".");return 0>b?0>c?new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[a,cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.core.count.call(null,a)-1)],null):new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[[cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.core.subs.call(null,a,0,c)),
cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.core.subs.call(null,a,c+1))].join(""),cljs.core.str.cljs$core$IFn$_invoke$arity$1(c-1)],null):0>c?new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[cljs.core.subs.call(null,a,0,b),cljs.core.subs.call(null,a,b+1)],null):new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[[cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.core.subs.call(null,a,0,1)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.core.subs.call(null,
a,2,b))].join(""),cljs.core.subs.call(null,a,b+1)],null)};
cljs.pprint.float_parts=function(a){a=cljs.pprint.float_parts_base.call(null,a);var b=cljs.core.nth.call(null,a,0,null);a=cljs.core.nth.call(null,a,1,null);var c=cljs.pprint.rtrim.call(null,b,"0");b=cljs.pprint.ltrim.call(null,c,"0");c=cljs.core.count.call(null,c)-cljs.core.count.call(null,b);a=0<cljs.core.count.call(null,a)&&cljs.core._EQ_.call(null,cljs.core.nth.call(null,a,0),"+")?cljs.core.subs.call(null,a,1):a;return cljs.core.empty_QMARK_.call(null,b)?new cljs.core.PersistentVector(null,2,5,
cljs.core.PersistentVector.EMPTY_NODE,["0",0],null):new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[b,parseInt(a,10)-c],null)};
cljs.pprint.inc_s=function(a){for(var b=cljs.core.count.call(null,a)-1,c=b|0;;){if(0>c)return cljs.core.apply.call(null,cljs.core.str,"1",cljs.core.repeat.call(null,b+1,"0"));if(cljs.core._EQ_.call(null,"9",a.charAt(c)))--c;else return cljs.core.apply.call(null,cljs.core.str,cljs.core.subs.call(null,a,0,c),cljs.core.char$.call(null,cljs.pprint.char_code.call(null,a.charAt(c))+1),cljs.core.repeat.call(null,b-c,"0"))}};
cljs.pprint.round_str=function(a,b,c,d){if(cljs.core.truth_(cljs.core.truth_(c)?c:d)){var e=cljs.core.count.call(null,a);d=cljs.core.truth_(d)?2>d?2:d:0;cljs.core.truth_(c)?c=b+c+1:0<=b?(c=b+1,--d,c=c>d?c:d):c=d+b;var f=cljs.core._EQ_.call(null,c,0)?new cljs.core.PersistentVector(null,4,5,cljs.core.PersistentVector.EMPTY_NODE,[["0",cljs.core.str.cljs$core$IFn$_invoke$arity$1(a)].join(""),b+1,1,e+1],null):new cljs.core.PersistentVector(null,4,5,cljs.core.PersistentVector.EMPTY_NODE,[a,b,c,e],null);
c=cljs.core.nth.call(null,f,0,null);e=cljs.core.nth.call(null,f,1,null);d=cljs.core.nth.call(null,f,2,null);f=cljs.core.nth.call(null,f,3,null);if(cljs.core.truth_(d)){if(0>d)return new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,["0",0,!1],null);if(f>d)return a=cljs.core.nth.call(null,c,d),b=cljs.core.subs.call(null,c,0,d),cljs.pprint.char_code.call(null,a)>=cljs.pprint.char_code.call(null,"5")?(a=cljs.pprint.inc_s.call(null,b),b=cljs.core.count.call(null,a)>cljs.core.count.call(null,
b),new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,[b?cljs.core.subs.call(null,a,0,cljs.core.count.call(null,a)-1):a,e,b],null)):new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,[b,e,!1],null)}}return new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,[a,b,!1],null)};
cljs.pprint.expand_fixed=function(a,b,c){b=0>b?new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[[cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.core.apply.call(null,cljs.core.str,cljs.core.repeat.call(null,-b-1,"0"))),cljs.core.str.cljs$core$IFn$_invoke$arity$1(a)].join(""),-1],null):new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[a,b],null);a=cljs.core.nth.call(null,b,0,null);var d=cljs.core.nth.call(null,b,1,null);b=cljs.core.count.call(null,
a);c=cljs.core.truth_(c)?d+c+1:d+1;return b<c?[cljs.core.str.cljs$core$IFn$_invoke$arity$1(a),cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.core.apply.call(null,cljs.core.str,cljs.core.repeat.call(null,c-b,"0")))].join(""):a};
cljs.pprint.insert_decimal=function(a,b){if(0>b)return[".",cljs.core.str.cljs$core$IFn$_invoke$arity$1(a)].join("");b+=1;return[cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.core.subs.call(null,a,0,b)),".",cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.core.subs.call(null,a,b))].join("")};cljs.pprint.get_fixed=function(a,b,c){return cljs.pprint.insert_decimal.call(null,cljs.pprint.expand_fixed.call(null,a,b,c),b)};
cljs.pprint.insert_scaled_decimal=function(a,b){return 0>b?[".",cljs.core.str.cljs$core$IFn$_invoke$arity$1(a)].join(""):[cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.core.subs.call(null,a,0,b)),".",cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.core.subs.call(null,a,b))].join("")};cljs.pprint.convert_ratio=function(a){return a};
cljs.pprint.fixed_float=function(a,b,c){var d=(new cljs.core.Keyword(null,"w","w",354169001)).cljs$core$IFn$_invoke$arity$1(a),e=(new cljs.core.Keyword(null,"d","d",1972142424)).cljs$core$IFn$_invoke$arity$1(a);b=cljs.pprint.next_arg.call(null,b);var f=cljs.core.nth.call(null,b,0,null);b=cljs.core.nth.call(null,b,1,null);var g=0>f?new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,["-",-f],null):new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,
["+",f],null);c=cljs.core.nth.call(null,g,0,null);g=cljs.core.nth.call(null,g,1,null);g=cljs.pprint.convert_ratio.call(null,g);g=cljs.pprint.float_parts.call(null,g);var h=cljs.core.nth.call(null,g,0,null),k=cljs.core.nth.call(null,g,1,null)+(new cljs.core.Keyword(null,"k","k",-2146297393)).cljs$core$IFn$_invoke$arity$1(a);g=function(){var b=(new cljs.core.Keyword(null,"at","at",1476951349)).cljs$core$IFn$_invoke$arity$1(a);return cljs.core.truth_(b)?b:0>f}();var l=cljs.core.not.call(null,e)&&cljs.core.count.call(null,
h)-1<=k,m=cljs.pprint.round_str.call(null,h,k,e,cljs.core.truth_(d)?d-(cljs.core.truth_(g)?1:0):null);h=cljs.core.nth.call(null,m,0,null);k=cljs.core.nth.call(null,m,1,null);m=cljs.core.nth.call(null,m,2,null);h=cljs.pprint.get_fixed.call(null,h,cljs.core.truth_(m)?k+1:k,e);e=cljs.core.truth_(cljs.core.truth_(d)?cljs.core.truth_(e)?1<=e&&cljs.core._EQ_.call(null,h.charAt(0),"0")&&cljs.core._EQ_.call(null,h.charAt(1),".")&&cljs.core.count.call(null,h)>d-(cljs.core.truth_(g)?1:0):e:d)?cljs.core.subs.call(null,
h,1):h;k=cljs.core._EQ_.call(null,cljs.core.first.call(null,e),".");if(cljs.core.truth_(d)){h=cljs.core.count.call(null,e);h=cljs.core.truth_(g)?h+1:h;k=k&&!(h>=d);l=l&&!(h>=d);var n=k||l?h+1:h;cljs.core.truth_(function(){var b=n>d;return b?(new cljs.core.Keyword(null,"overflowchar","overflowchar",-1620088106)).cljs$core$IFn$_invoke$arity$1(a):b}())?cljs.pprint.print.call(null,cljs.core.apply.call(null,cljs.core.str,cljs.core.repeat.call(null,d,(new cljs.core.Keyword(null,"overflowchar","overflowchar",
-1620088106)).cljs$core$IFn$_invoke$arity$1(a)))):cljs.pprint.print.call(null,[cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.core.apply.call(null,cljs.core.str,cljs.core.repeat.call(null,d-n,(new cljs.core.Keyword(null,"padchar","padchar",2018584530)).cljs$core$IFn$_invoke$arity$1(a)))),cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.core.truth_(g)?c:null),k?"0":null,cljs.core.str.cljs$core$IFn$_invoke$arity$1(e),l?"0":null].join(""))}else cljs.pprint.print.call(null,[cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.core.truth_(g)?
c:null),k?"0":null,cljs.core.str.cljs$core$IFn$_invoke$arity$1(e),l?"0":null].join(""));return b};
cljs.pprint.exponential_float=function(a,b,c){b=cljs.pprint.next_arg.call(null,b);c=cljs.core.nth.call(null,b,0,null);b=cljs.core.nth.call(null,b,1,null);var d=cljs.pprint.convert_ratio.call(null,c);c=cljs.pprint.float_parts.call(null,0>d?-d:d);cljs.core.nth.call(null,c,0,null);for(cljs.core.nth.call(null,c,1,null);;){var e=cljs.core.nth.call(null,c,0,null),f=cljs.core.nth.call(null,c,1,null),g=(new cljs.core.Keyword(null,"w","w",354169001)).cljs$core$IFn$_invoke$arity$1(a),h=(new cljs.core.Keyword(null,
"d","d",1972142424)).cljs$core$IFn$_invoke$arity$1(a),k=(new cljs.core.Keyword(null,"e","e",1381269198)).cljs$core$IFn$_invoke$arity$1(a),l=(new cljs.core.Keyword(null,"k","k",-2146297393)).cljs$core$IFn$_invoke$arity$1(a),m=function(){var b=(new cljs.core.Keyword(null,"exponentchar","exponentchar",1986664222)).cljs$core$IFn$_invoke$arity$1(a);return cljs.core.truth_(b)?b:"E"}();c=function(){var b=(new cljs.core.Keyword(null,"at","at",1476951349)).cljs$core$IFn$_invoke$arity$1(a);return cljs.core.truth_(b)?
b:0>d}();var n=0>=l,p=f-(l-1),q=cljs.core.str.cljs$core$IFn$_invoke$arity$1(Math.abs(p));m=[cljs.core.str.cljs$core$IFn$_invoke$arity$1(m),0>p?"-":"+",cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.core.truth_(k)?cljs.core.apply.call(null,cljs.core.str,cljs.core.repeat.call(null,k-cljs.core.count.call(null,q),"0")):null),q].join("");var r=cljs.core.count.call(null,m);p=cljs.core.count.call(null,e);e=[cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.core.apply.call(null,cljs.core.str,cljs.core.repeat.call(null,
-l,"0"))),cljs.core.str.cljs$core$IFn$_invoke$arity$1(e),cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.core.truth_(h)?cljs.core.apply.call(null,cljs.core.str,cljs.core.repeat.call(null,h-(p-1)-(0>l?-l:0),"0")):null)].join("");p=cljs.core.truth_(g)?g-r:null;e=cljs.pprint.round_str.call(null,e,0,cljs.core._EQ_.call(null,l,0)?h-1:0<l?h:0>l?h-1:null,cljs.core.truth_(p)?p-(cljs.core.truth_(c)?1:0):null);p=cljs.core.nth.call(null,e,0,null);cljs.core.nth.call(null,e,1,null);q=cljs.core.nth.call(null,
e,2,null);e=cljs.pprint.insert_scaled_decimal.call(null,p,l);h=cljs.core._EQ_.call(null,l,cljs.core.count.call(null,p))&&null==h;if(cljs.core.not.call(null,q)){if(cljs.core.truth_(g)){f=cljs.core.count.call(null,e)+r;f=cljs.core.truth_(c)?f+1:f;var u=(n=n&&!cljs.core._EQ_.call(null,f,g))?f+1:f;f=h&&u<g;cljs.core.truth_(function(){var b=u>g;b||(b=k,b=cljs.core.truth_(b)?r-2>k:b);return cljs.core.truth_(b)?(new cljs.core.Keyword(null,"overflowchar","overflowchar",-1620088106)).cljs$core$IFn$_invoke$arity$1(a):
b}())?cljs.pprint.print.call(null,cljs.core.apply.call(null,cljs.core.str,cljs.core.repeat.call(null,g,(new cljs.core.Keyword(null,"overflowchar","overflowchar",-1620088106)).cljs$core$IFn$_invoke$arity$1(a)))):cljs.pprint.print.call(null,[cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.core.apply.call(null,cljs.core.str,cljs.core.repeat.call(null,g-u-(f?1:0),(new cljs.core.Keyword(null,"padchar","padchar",2018584530)).cljs$core$IFn$_invoke$arity$1(a)))),cljs.core.truth_(c)?0>d?"-":"+":null,n?"0":
null,e,f?"0":null,m].join(""))}else cljs.pprint.print.call(null,[cljs.core.truth_(c)?0>d?"-":"+":null,n?"0":null,e,h?"0":null,m].join(""));break}else c=new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[p,f+1],null)}return b};
cljs.pprint.general_float=function(a,b,c){var d=cljs.pprint.next_arg.call(null,b),e=cljs.core.nth.call(null,d,0,null);cljs.core.nth.call(null,d,1,null);d=cljs.pprint.convert_ratio.call(null,e);e=cljs.pprint.float_parts.call(null,0>d?-d:d);var f=cljs.core.nth.call(null,e,0,null);e=cljs.core.nth.call(null,e,1,null);var g=(new cljs.core.Keyword(null,"w","w",354169001)).cljs$core$IFn$_invoke$arity$1(a),h=(new cljs.core.Keyword(null,"d","d",1972142424)).cljs$core$IFn$_invoke$arity$1(a),k=(new cljs.core.Keyword(null,
"e","e",1381269198)).cljs$core$IFn$_invoke$arity$1(a);e=cljs.core._EQ_.call(null,d,0)?0:e+1;d=cljs.core.truth_(k)?k+2:4;g=cljs.core.truth_(g)?g-d:null;cljs.core.truth_(h)?f=h:(f=cljs.core.count.call(null,f),h=7>e?e:7,f=f>h?f:h);e=f-e;return 0<=e&&e<=f?(a=cljs.pprint.fixed_float.call(null,new cljs.core.PersistentArrayMap(null,6,[new cljs.core.Keyword(null,"w","w",354169001),g,new cljs.core.Keyword(null,"d","d",1972142424),e,new cljs.core.Keyword(null,"k","k",-2146297393),0,new cljs.core.Keyword(null,
"overflowchar","overflowchar",-1620088106),(new cljs.core.Keyword(null,"overflowchar","overflowchar",-1620088106)).cljs$core$IFn$_invoke$arity$1(a),new cljs.core.Keyword(null,"padchar","padchar",2018584530),(new cljs.core.Keyword(null,"padchar","padchar",2018584530)).cljs$core$IFn$_invoke$arity$1(a),new cljs.core.Keyword(null,"at","at",1476951349),(new cljs.core.Keyword(null,"at","at",1476951349)).cljs$core$IFn$_invoke$arity$1(a)],null),b,c),cljs.pprint.print.call(null,cljs.core.apply.call(null,cljs.core.str,
cljs.core.repeat.call(null,d," "))),a):cljs.pprint.exponential_float.call(null,a,b,c)};
cljs.pprint.dollar_float=function(a,b,c){b=cljs.pprint.next_arg.call(null,b);var d=cljs.core.nth.call(null,b,0,null);b=cljs.core.nth.call(null,b,1,null);c=cljs.pprint.float_parts.call(null,Math.abs(d));var e=cljs.core.nth.call(null,c,0,null),f=cljs.core.nth.call(null,c,1,null),g=(new cljs.core.Keyword(null,"d","d",1972142424)).cljs$core$IFn$_invoke$arity$1(a),h=(new cljs.core.Keyword(null,"n","n",562130025)).cljs$core$IFn$_invoke$arity$1(a);c=(new cljs.core.Keyword(null,"w","w",354169001)).cljs$core$IFn$_invoke$arity$1(a);
var k=function(){var b=(new cljs.core.Keyword(null,"at","at",1476951349)).cljs$core$IFn$_invoke$arity$1(a);return cljs.core.truth_(b)?b:0>d}(),l=cljs.pprint.round_str.call(null,e,f,g,null);e=cljs.core.nth.call(null,l,0,null);f=cljs.core.nth.call(null,l,1,null);l=cljs.core.nth.call(null,l,2,null);g=cljs.pprint.get_fixed.call(null,e,cljs.core.truth_(l)?f+1:f,g);h=[cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.core.apply.call(null,cljs.core.str,cljs.core.repeat.call(null,h-g.indexOf("."),"0"))),g].join("");
g=cljs.core.count.call(null,h)+(cljs.core.truth_(k)?1:0);cljs.pprint.print.call(null,[cljs.core.truth_(function(){var b=(new cljs.core.Keyword(null,"colon","colon",-965200945)).cljs$core$IFn$_invoke$arity$1(a);return cljs.core.truth_(b)?k:b}())?0>d?"-":"+":null,cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.core.apply.call(null,cljs.core.str,cljs.core.repeat.call(null,c-g,(new cljs.core.Keyword(null,"padchar","padchar",2018584530)).cljs$core$IFn$_invoke$arity$1(a)))),cljs.core.truth_(function(){var b=
cljs.core.not.call(null,(new cljs.core.Keyword(null,"colon","colon",-965200945)).cljs$core$IFn$_invoke$arity$1(a));return b?k:b}())?0>d?"-":"+":null,h].join(""));return b};
cljs.pprint.choice_conditional=function(a,b,c){c=(new cljs.core.Keyword(null,"selector","selector",762528866)).cljs$core$IFn$_invoke$arity$1(a);c=cljs.core.truth_(c)?new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[c,b],null):cljs.pprint.next_arg.call(null,b);b=cljs.core.nth.call(null,c,0,null);c=cljs.core.nth.call(null,c,1,null);var d=(new cljs.core.Keyword(null,"clauses","clauses",1454841241)).cljs$core$IFn$_invoke$arity$1(a);b=0>b||b>=cljs.core.count.call(null,d)?
cljs.core.first.call(null,(new cljs.core.Keyword(null,"else","else",-1508377146)).cljs$core$IFn$_invoke$arity$1(a)):cljs.core.nth.call(null,d,b);return cljs.core.truth_(b)?cljs.pprint.execute_sub_format.call(null,b,c,(new cljs.core.Keyword(null,"base-args","base-args",-1268706822)).cljs$core$IFn$_invoke$arity$1(a)):c};
cljs.pprint.boolean_conditional=function(a,b,c){c=cljs.pprint.next_arg.call(null,b);b=cljs.core.nth.call(null,c,0,null);c=cljs.core.nth.call(null,c,1,null);var d=(new cljs.core.Keyword(null,"clauses","clauses",1454841241)).cljs$core$IFn$_invoke$arity$1(a);b=cljs.core.truth_(b)?cljs.core.second.call(null,d):cljs.core.first.call(null,d);return cljs.core.truth_(b)?cljs.pprint.execute_sub_format.call(null,b,c,(new cljs.core.Keyword(null,"base-args","base-args",-1268706822)).cljs$core$IFn$_invoke$arity$1(a)):
c};
cljs.pprint.check_arg_conditional=function(a,b,c){var d=cljs.pprint.next_arg.call(null,b);c=cljs.core.nth.call(null,d,0,null);d=cljs.core.nth.call(null,d,1,null);var e=(new cljs.core.Keyword(null,"clauses","clauses",1454841241)).cljs$core$IFn$_invoke$arity$1(a);e=cljs.core.truth_(c)?cljs.core.first.call(null,e):null;return cljs.core.truth_(c)?cljs.core.truth_(e)?cljs.pprint.execute_sub_format.call(null,e,b,(new cljs.core.Keyword(null,"base-args","base-args",-1268706822)).cljs$core$IFn$_invoke$arity$1(a)):b:
d};
cljs.pprint.iterate_sublist=function(a,b,c){var d=(new cljs.core.Keyword(null,"max-iterations","max-iterations",2021275563)).cljs$core$IFn$_invoke$arity$1(a);c=cljs.core.first.call(null,(new cljs.core.Keyword(null,"clauses","clauses",1454841241)).cljs$core$IFn$_invoke$arity$1(a));c=cljs.core.empty_QMARK_.call(null,c)?cljs.pprint.get_format_arg.call(null,b):new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[c,b],null);b=cljs.core.nth.call(null,c,0,null);c=cljs.core.nth.call(null,c,
1,null);c=cljs.pprint.next_arg.call(null,c);var e=cljs.core.nth.call(null,c,0,null);c=cljs.core.nth.call(null,c,1,null);var f=0,g=cljs.pprint.init_navigator.call(null,e);for(e=-1;;){if(cljs.core.not.call(null,d)&&cljs.core._EQ_.call(null,(new cljs.core.Keyword(null,"pos","pos",-864607220)).cljs$core$IFn$_invoke$arity$1(g),e)&&1<f)throw Error("%{ construct not consuming any arguments: Infinite loop!");if(cljs.core.truth_(function(){var b=cljs.core.empty_QMARK_.call(null,(new cljs.core.Keyword(null,
"rest","rest",-1241696419)).cljs$core$IFn$_invoke$arity$1(g))&&(cljs.core.not.call(null,(new cljs.core.Keyword(null,"colon","colon",-965200945)).cljs$core$IFn$_invoke$arity$1((new cljs.core.Keyword(null,"right-params","right-params",-1790676237)).cljs$core$IFn$_invoke$arity$1(a)))||0<f);return b?b:cljs.core.truth_(d)?f>=d:d}()))return c;var h=cljs.pprint.execute_sub_format.call(null,b,g,(new cljs.core.Keyword(null,"base-args","base-args",-1268706822)).cljs$core$IFn$_invoke$arity$1(a));if(cljs.core._EQ_.call(null,
new cljs.core.Keyword(null,"up-arrow","up-arrow",1705310333),cljs.core.first.call(null,h)))return c;e=f+1;var k=(new cljs.core.Keyword(null,"pos","pos",-864607220)).cljs$core$IFn$_invoke$arity$1(g);f=e;g=h;e=k}};
cljs.pprint.iterate_list_of_sublists=function(a,b,c){var d=(new cljs.core.Keyword(null,"max-iterations","max-iterations",2021275563)).cljs$core$IFn$_invoke$arity$1(a);c=cljs.core.first.call(null,(new cljs.core.Keyword(null,"clauses","clauses",1454841241)).cljs$core$IFn$_invoke$arity$1(a));c=cljs.core.empty_QMARK_.call(null,c)?cljs.pprint.get_format_arg.call(null,b):new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[c,b],null);b=cljs.core.nth.call(null,c,0,null);c=cljs.core.nth.call(null,
c,1,null);c=cljs.pprint.next_arg.call(null,c);var e=cljs.core.nth.call(null,c,0,null);c=cljs.core.nth.call(null,c,1,null);for(var f=0,g=e;;){if(cljs.core.truth_(function(){var b=cljs.core.empty_QMARK_.call(null,g)&&(cljs.core.not.call(null,(new cljs.core.Keyword(null,"colon","colon",-965200945)).cljs$core$IFn$_invoke$arity$1((new cljs.core.Keyword(null,"right-params","right-params",-1790676237)).cljs$core$IFn$_invoke$arity$1(a)))||0<f);return b?b:cljs.core.truth_(d)?f>=d:d}()))return c;e=cljs.pprint.execute_sub_format.call(null,
b,cljs.pprint.init_navigator.call(null,cljs.core.first.call(null,g)),cljs.pprint.init_navigator.call(null,cljs.core.next.call(null,g)));if(cljs.core._EQ_.call(null,new cljs.core.Keyword(null,"colon-up-arrow","colon-up-arrow",244853007),cljs.core.first.call(null,e)))return c;e=f+1;var h=cljs.core.next.call(null,g);f=e;g=h}};
cljs.pprint.iterate_main_list=function(a,b,c){var d=(new cljs.core.Keyword(null,"max-iterations","max-iterations",2021275563)).cljs$core$IFn$_invoke$arity$1(a);c=cljs.core.first.call(null,(new cljs.core.Keyword(null,"clauses","clauses",1454841241)).cljs$core$IFn$_invoke$arity$1(a));c=cljs.core.empty_QMARK_.call(null,c)?cljs.pprint.get_format_arg.call(null,b):new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[c,b],null);b=cljs.core.nth.call(null,c,0,null);var e=0,f=cljs.core.nth.call(null,
c,1,null);for(c=-1;;){if(cljs.core.not.call(null,d)&&cljs.core._EQ_.call(null,(new cljs.core.Keyword(null,"pos","pos",-864607220)).cljs$core$IFn$_invoke$arity$1(f),c)&&1<e)throw Error("%@{ construct not consuming any arguments: Infinite loop!");if(cljs.core.truth_(function(){var b=cljs.core.empty_QMARK_.call(null,(new cljs.core.Keyword(null,"rest","rest",-1241696419)).cljs$core$IFn$_invoke$arity$1(f))&&(cljs.core.not.call(null,(new cljs.core.Keyword(null,"colon","colon",-965200945)).cljs$core$IFn$_invoke$arity$1((new cljs.core.Keyword(null,
"right-params","right-params",-1790676237)).cljs$core$IFn$_invoke$arity$1(a)))||0<e);return b?b:cljs.core.truth_(d)?e>=d:d}()))return f;var g=cljs.pprint.execute_sub_format.call(null,b,f,(new cljs.core.Keyword(null,"base-args","base-args",-1268706822)).cljs$core$IFn$_invoke$arity$1(a));if(cljs.core._EQ_.call(null,new cljs.core.Keyword(null,"up-arrow","up-arrow",1705310333),cljs.core.first.call(null,g)))return cljs.core.second.call(null,g);c=e+1;var h=(new cljs.core.Keyword(null,"pos","pos",-864607220)).cljs$core$IFn$_invoke$arity$1(f);
e=c;f=g;c=h}};
cljs.pprint.iterate_main_sublists=function(a,b,c){var d=(new cljs.core.Keyword(null,"max-iterations","max-iterations",2021275563)).cljs$core$IFn$_invoke$arity$1(a);c=cljs.core.first.call(null,(new cljs.core.Keyword(null,"clauses","clauses",1454841241)).cljs$core$IFn$_invoke$arity$1(a));c=cljs.core.empty_QMARK_.call(null,c)?cljs.pprint.get_format_arg.call(null,b):new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[c,b],null);b=cljs.core.nth.call(null,c,0,null);for(var e=
0,f=cljs.core.nth.call(null,c,1,null);;){if(cljs.core.truth_(function(){var b=cljs.core.empty_QMARK_.call(null,(new cljs.core.Keyword(null,"rest","rest",-1241696419)).cljs$core$IFn$_invoke$arity$1(f))&&(cljs.core.not.call(null,(new cljs.core.Keyword(null,"colon","colon",-965200945)).cljs$core$IFn$_invoke$arity$1((new cljs.core.Keyword(null,"right-params","right-params",-1790676237)).cljs$core$IFn$_invoke$arity$1(a)))||0<e);return b?b:cljs.core.truth_(d)?e>=d:d}()))return f;var g=cljs.pprint.next_arg_or_nil.call(null,
f);c=cljs.core.nth.call(null,g,0,null);g=cljs.core.nth.call(null,g,1,null);c=cljs.pprint.execute_sub_format.call(null,b,cljs.pprint.init_navigator.call(null,c),g);if(cljs.core._EQ_.call(null,new cljs.core.Keyword(null,"colon-up-arrow","colon-up-arrow",244853007),cljs.core.first.call(null,c)))return g;c=g;e+=1;f=c}};
cljs.pprint.logical_block_or_justify=function(a,b,c){return cljs.core.truth_((new cljs.core.Keyword(null,"colon","colon",-965200945)).cljs$core$IFn$_invoke$arity$1((new cljs.core.Keyword(null,"right-params","right-params",-1790676237)).cljs$core$IFn$_invoke$arity$1(a)))?cljs.pprint.format_logical_block.call(null,a,b,c):cljs.pprint.justify_clauses.call(null,a,b,c)};
cljs.pprint.render_clauses=function(a,b,c){for(var d=cljs.core.PersistentVector.EMPTY;;){if(cljs.core.empty_QMARK_.call(null,a))return new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[d,b],null);var e=cljs.core.first.call(null,a);a:{var f=new goog.string.StringBuffer,g=cljs.core._STAR_out_STAR_,h=new cljs.core.StringBufferWriter(f);cljs.core._STAR_out_STAR_=h;try{var k=new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[cljs.pprint.execute_sub_format.call(null,
e,b,c),cljs.core.str.cljs$core$IFn$_invoke$arity$1(f)],null);break a}finally{cljs.core._STAR_out_STAR_=g}k=void 0}b=cljs.core.nth.call(null,k,0,null);e=cljs.core.nth.call(null,k,1,null);if(cljs.core._EQ_.call(null,new cljs.core.Keyword(null,"up-arrow","up-arrow",1705310333),cljs.core.first.call(null,b)))return new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[d,cljs.core.second.call(null,b)],null);a=cljs.core.next.call(null,a);d=cljs.core.conj.call(null,d,e)}};
cljs.pprint.justify_clauses=function(a,b,c){var d=function(){var c=(new cljs.core.Keyword(null,"else","else",-1508377146)).cljs$core$IFn$_invoke$arity$1(a);return cljs.core.truth_(c)?cljs.pprint.render_clauses.call(null,c,b,(new cljs.core.Keyword(null,"base-args","base-args",-1268706822)).cljs$core$IFn$_invoke$arity$1(a)):null}();c=cljs.core.nth.call(null,d,0,null);c=cljs.core.nth.call(null,c,0,null);d=cljs.core.nth.call(null,d,1,null);var e=cljs.core.truth_(d)?d:b;d=function(){var b=(new cljs.core.Keyword(null,
"else-params","else-params",-832171646)).cljs$core$IFn$_invoke$arity$1(a);return cljs.core.truth_(b)?cljs.pprint.realize_parameter_list.call(null,b,e):null}();var f=cljs.core.nth.call(null,d,0,null);d=cljs.core.nth.call(null,d,1,null);var g=cljs.core.truth_(d)?d:e;d=function(){var a=cljs.core.first.call(null,(new cljs.core.Keyword(null,"min-remaining","min-remaining",962687677)).cljs$core$IFn$_invoke$arity$1(f));return cljs.core.truth_(a)?a:0}();var h=function(){var a=cljs.core.first.call(null,(new cljs.core.Keyword(null,
"max-columns","max-columns",1742323262)).cljs$core$IFn$_invoke$arity$1(f));return cljs.core.truth_(a)?a:cljs.pprint.get_max_column.call(null,cljs.core._STAR_out_STAR_)}(),k=(new cljs.core.Keyword(null,"clauses","clauses",1454841241)).cljs$core$IFn$_invoke$arity$1(a);g=cljs.pprint.render_clauses.call(null,k,g,(new cljs.core.Keyword(null,"base-args","base-args",-1268706822)).cljs$core$IFn$_invoke$arity$1(a));var l=cljs.core.nth.call(null,g,0,null);g=cljs.core.nth.call(null,g,1,null);var m=function(){var b=
cljs.core.count.call(null,l)-1+(cljs.core.truth_((new cljs.core.Keyword(null,"colon","colon",-965200945)).cljs$core$IFn$_invoke$arity$1(a))?1:0)+(cljs.core.truth_((new cljs.core.Keyword(null,"at","at",1476951349)).cljs$core$IFn$_invoke$arity$1(a))?1:0);return 1>b?1:b}();k=cljs.core.reduce.call(null,cljs.core._PLUS_,cljs.core.map.call(null,cljs.core.count,l));var n=(new cljs.core.Keyword(null,"mincol","mincol",1230695445)).cljs$core$IFn$_invoke$arity$1(a),p=(new cljs.core.Keyword(null,"minpad","minpad",
323570901)).cljs$core$IFn$_invoke$arity$1(a),q=(new cljs.core.Keyword(null,"colinc","colinc",-584873385)).cljs$core$IFn$_invoke$arity$1(a),r=k+m*p;n=r<=n?n:n+q*(1+cljs.core.quot.call(null,r-n-1,q));var u=n-k;k=function(){var a=cljs.core.quot.call(null,u,m);return p>a?p:a}();q=u-k*m;k=cljs.core.apply.call(null,cljs.core.str,cljs.core.repeat.call(null,k,(new cljs.core.Keyword(null,"padchar","padchar",2018584530)).cljs$core$IFn$_invoke$arity$1(a)));cljs.core.truth_(cljs.core.truth_(c)?cljs.pprint.get_column.call(null,
(new cljs.core.Keyword(null,"base","base",185279322)).cljs$core$IFn$_invoke$arity$1(cljs.core.deref.call(null,cljs.core.deref.call(null,cljs.core._STAR_out_STAR_))))+d+n>h:c)&&cljs.pprint.print.call(null,c);d=q;for(var t=l,v=function(){var b=(new cljs.core.Keyword(null,"colon","colon",-965200945)).cljs$core$IFn$_invoke$arity$1(a);return cljs.core.truth_(b)?b:cljs.core._EQ_.call(null,cljs.core.count.call(null,t),1)&&cljs.core.not.call(null,(new cljs.core.Keyword(null,"at","at",1476951349)).cljs$core$IFn$_invoke$arity$1(a))}();;)if(cljs.core.seq.call(null,
t))cljs.pprint.print.call(null,[cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.core.not.call(null,v)?cljs.core.first.call(null,t):null),cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.core.truth_(function(){var b=v;return cljs.core.truth_(b)?b:(b=cljs.core.next.call(null,t))?b:(new cljs.core.Keyword(null,"at","at",1476951349)).cljs$core$IFn$_invoke$arity$1(a)}())?k:null),cljs.core.str.cljs$core$IFn$_invoke$arity$1(0<d?(new cljs.core.Keyword(null,"padchar","padchar",2018584530)).cljs$core$IFn$_invoke$arity$1(a):
null)].join("")),--d,t=c=cljs.core.truth_(v)?t:cljs.core.next.call(null,t),v=!1;else break;return g};
cljs.pprint.downcase_writer=function(a){if("undefined"===typeof cljs||"undefined"===typeof cljs.pprint||"undefined"===typeof cljs.pprint.t_cljs$pprint25474)cljs.pprint.t_cljs$pprint25474=function(a,c){this.writer=a;this.meta25475=c;this.cljs$lang$protocol_mask$partition0$=1074135040;this.cljs$lang$protocol_mask$partition1$=0},cljs.pprint.t_cljs$pprint25474.prototype.cljs$core$IWithMeta$_with_meta$arity$2=function(a,c){return new cljs.pprint.t_cljs$pprint25474(this.writer,c)},cljs.pprint.t_cljs$pprint25474.prototype.cljs$core$IMeta$_meta$arity$1=
function(a){return this.meta25475},cljs.pprint.t_cljs$pprint25474.prototype.cljs$core$IWriter$_flush$arity$1=function(a){return cljs.core._flush.call(null,this.writer)},cljs.pprint.t_cljs$pprint25474.prototype.cljs$core$IWriter$_write$arity$2=function(a,c){a=cljs.core._EQ_;var b=cljs.core.type.call(null,c);if(cljs.core.truth_(a.call(null,String,b)))return cljs.core._write.call(null,this.writer,clojure.string.lower_case.call(null,c));if(cljs.core.truth_(a.call(null,Number,b)))return cljs.core._write.call(null,
this.writer,clojure.string.lower_case.call(null,cljs.core.char$.call(null,c)));throw Error(["No matching clause: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(b)].join(""));},cljs.pprint.t_cljs$pprint25474.getBasis=function(){return new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"writer","writer",1362963291,null),new cljs.core.Symbol(null,"meta25475","meta25475",-543495894,null)],null)},cljs.pprint.t_cljs$pprint25474.cljs$lang$type=!0,cljs.pprint.t_cljs$pprint25474.cljs$lang$ctorStr=
"cljs.pprint/t_cljs$pprint25474",cljs.pprint.t_cljs$pprint25474.cljs$lang$ctorPrWriter=function(a,c,d){return cljs.core._write.call(null,c,"cljs.pprint/t_cljs$pprint25474")},cljs.pprint.__GT_t_cljs$pprint25474=function(a,c){return new cljs.pprint.t_cljs$pprint25474(a,c)};return new cljs.pprint.t_cljs$pprint25474(a,cljs.core.PersistentArrayMap.EMPTY)};
cljs.pprint.upcase_writer=function(a){if("undefined"===typeof cljs||"undefined"===typeof cljs.pprint||"undefined"===typeof cljs.pprint.t_cljs$pprint25480)cljs.pprint.t_cljs$pprint25480=function(a,c){this.writer=a;this.meta25481=c;this.cljs$lang$protocol_mask$partition0$=1074135040;this.cljs$lang$protocol_mask$partition1$=0},cljs.pprint.t_cljs$pprint25480.prototype.cljs$core$IWithMeta$_with_meta$arity$2=function(a,c){return new cljs.pprint.t_cljs$pprint25480(this.writer,c)},cljs.pprint.t_cljs$pprint25480.prototype.cljs$core$IMeta$_meta$arity$1=
function(a){return this.meta25481},cljs.pprint.t_cljs$pprint25480.prototype.cljs$core$IWriter$_flush$arity$1=function(a){return cljs.core._flush.call(null,this.writer)},cljs.pprint.t_cljs$pprint25480.prototype.cljs$core$IWriter$_write$arity$2=function(a,c){a=cljs.core._EQ_;var b=cljs.core.type.call(null,c);if(cljs.core.truth_(a.call(null,String,b)))return cljs.core._write.call(null,this.writer,clojure.string.upper_case.call(null,c));if(cljs.core.truth_(a.call(null,Number,b)))return cljs.core._write.call(null,
this.writer,clojure.string.upper_case.call(null,cljs.core.char$.call(null,c)));throw Error(["No matching clause: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(b)].join(""));},cljs.pprint.t_cljs$pprint25480.getBasis=function(){return new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"writer","writer",1362963291,null),new cljs.core.Symbol(null,"meta25481","meta25481",1099815577,null)],null)},cljs.pprint.t_cljs$pprint25480.cljs$lang$type=!0,cljs.pprint.t_cljs$pprint25480.cljs$lang$ctorStr=
"cljs.pprint/t_cljs$pprint25480",cljs.pprint.t_cljs$pprint25480.cljs$lang$ctorPrWriter=function(a,c,d){return cljs.core._write.call(null,c,"cljs.pprint/t_cljs$pprint25480")},cljs.pprint.__GT_t_cljs$pprint25480=function(a,c){return new cljs.pprint.t_cljs$pprint25480(a,c)};return new cljs.pprint.t_cljs$pprint25480(a,cljs.core.PersistentArrayMap.EMPTY)};
cljs.pprint.capitalize_string=function(a,b){var c=cljs.core.first.call(null,a);a=cljs.core.truth_(cljs.core.truth_(b)?cljs.core.truth_(c)?goog.string.isUnicodeChar(c):c:b)?[cljs.core.str.cljs$core$IFn$_invoke$arity$1(clojure.string.upper_case.call(null,c)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.core.subs.call(null,a,1))].join(""):a;return cljs.core.apply.call(null,cljs.core.str,cljs.core.first.call(null,cljs.pprint.consume.call(null,function(a,b){return function(a){if(cljs.core.empty_QMARK_.call(null,
a))return new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[null,null],null);var b=/\W\w/g.exec(a);b=cljs.core.truth_(b)?b.index+1:b;return cljs.core.truth_(b)?new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[[cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.core.subs.call(null,a,0,b)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(clojure.string.upper_case.call(null,cljs.core.nth.call(null,a,b)))].join(""),cljs.core.subs.call(null,a,b+1)],null):
new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[a,null],null)}}(c,a),a)))};
cljs.pprint.capitalize_word_writer=function(a){var b=cljs.core.atom.call(null,!0);if("undefined"===typeof cljs||"undefined"===typeof cljs.pprint||"undefined"===typeof cljs.pprint.t_cljs$pprint25486)cljs.pprint.t_cljs$pprint25486=function(a,b,e){this.writer=a;this.last_was_whitespace_QMARK_=b;this.meta25487=e;this.cljs$lang$protocol_mask$partition0$=1074135040;this.cljs$lang$protocol_mask$partition1$=0},cljs.pprint.t_cljs$pprint25486.prototype.cljs$core$IWithMeta$_with_meta$arity$2=function(a){return function(a,
b){return new cljs.pprint.t_cljs$pprint25486(this.writer,this.last_was_whitespace_QMARK_,b)}}(b),cljs.pprint.t_cljs$pprint25486.prototype.cljs$core$IMeta$_meta$arity$1=function(a){return function(a){return this.meta25487}}(b),cljs.pprint.t_cljs$pprint25486.prototype.cljs$core$IWriter$_flush$arity$1=function(a){return function(a){return cljs.core._flush.call(null,this.writer)}}(b),cljs.pprint.t_cljs$pprint25486.prototype.cljs$core$IWriter$_write$arity$2=function(a){return function(a,b){a=cljs.core._EQ_;
var c=cljs.core.type.call(null,b);if(cljs.core.truth_(a.call(null,String,c)))return cljs.core._write.call(null,this.writer,cljs.pprint.capitalize_string.call(null,b.toLowerCase(),cljs.core.deref.call(null,this.last_was_whitespace_QMARK_))),0<b.length?cljs.core.reset_BANG_.call(null,this.last_was_whitespace_QMARK_,goog.string.isEmptyOrWhitespace(cljs.core.nth.call(null,b,cljs.core.count.call(null,b)-1))):null;if(cljs.core.truth_(a.call(null,Number,c)))return b=cljs.core.char$.call(null,b),a=cljs.core.truth_(cljs.core.deref.call(null,
this.last_was_whitespace_QMARK_))?clojure.string.upper_case.call(null,b):b,cljs.core._write.call(null,this.writer,a),cljs.core.reset_BANG_.call(null,this.last_was_whitespace_QMARK_,goog.string.isEmptyOrWhitespace(b));throw Error(["No matching clause: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(c)].join(""));}}(b),cljs.pprint.t_cljs$pprint25486.getBasis=function(a){return function(){return new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"writer",
"writer",1362963291,null),new cljs.core.Symbol(null,"last-was-whitespace?","last-was-whitespace?",-1073928093,null),new cljs.core.Symbol(null,"meta25487","meta25487",-389016154,null)],null)}}(b),cljs.pprint.t_cljs$pprint25486.cljs$lang$type=!0,cljs.pprint.t_cljs$pprint25486.cljs$lang$ctorStr="cljs.pprint/t_cljs$pprint25486",cljs.pprint.t_cljs$pprint25486.cljs$lang$ctorPrWriter=function(a){return function(a,b,c){return cljs.core._write.call(null,b,"cljs.pprint/t_cljs$pprint25486")}}(b),cljs.pprint.__GT_t_cljs$pprint25486=
function(a){return function(a,b,c){return new cljs.pprint.t_cljs$pprint25486(a,b,c)}}(b);return new cljs.pprint.t_cljs$pprint25486(a,b,cljs.core.PersistentArrayMap.EMPTY)};
cljs.pprint.init_cap_writer=function(a){var b=cljs.core.atom.call(null,!1);if("undefined"===typeof cljs||"undefined"===typeof cljs.pprint||"undefined"===typeof cljs.pprint.t_cljs$pprint25492)cljs.pprint.t_cljs$pprint25492=function(a,b,e){this.writer=a;this.capped=b;this.meta25493=e;this.cljs$lang$protocol_mask$partition0$=1074135040;this.cljs$lang$protocol_mask$partition1$=0},cljs.pprint.t_cljs$pprint25492.prototype.cljs$core$IWithMeta$_with_meta$arity$2=function(a){return function(a,b){return new cljs.pprint.t_cljs$pprint25492(this.writer,
this.capped,b)}}(b),cljs.pprint.t_cljs$pprint25492.prototype.cljs$core$IMeta$_meta$arity$1=function(a){return function(a){return this.meta25493}}(b),cljs.pprint.t_cljs$pprint25492.prototype.cljs$core$IWriter$_flush$arity$1=function(a){return function(a){return cljs.core._flush.call(null,this.writer)}}(b),cljs.pprint.t_cljs$pprint25492.prototype.cljs$core$IWriter$_write$arity$2=function(a){return function(a,b){var c=this;a=cljs.core._EQ_;var d=cljs.core.type.call(null,b);if(cljs.core.truth_(a.call(null,
String,d)))return b=clojure.string.lower_case.call(null,b),cljs.core.not.call(null,cljs.core.deref.call(null,c.capped))?(a=/\S/g.exec(b),a=cljs.core.truth_(a)?a.index:a,cljs.core.truth_(a)?(cljs.core._write.call(null,c.writer,[cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.core.subs.call(null,b,0,a)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(clojure.string.upper_case.call(null,cljs.core.nth.call(null,b,a))),cljs.core.str.cljs$core$IFn$_invoke$arity$1(clojure.string.lower_case.call(null,cljs.core.subs.call(null,
b,a+1)))].join("")),cljs.core.reset_BANG_.call(null,c.capped,!0)):cljs.core._write.call(null,c.writer,b)):cljs.core._write.call(null,c.writer,clojure.string.lower_case.call(null,b));if(cljs.core.truth_(a.call(null,Number,d))){var e=cljs.core.char$.call(null,b);return cljs.core.truth_(function(){var a=cljs.core.not.call(null,cljs.core.deref.call(null,c.capped));return a?goog.string.isUnicodeChar(e):a}())?(cljs.core.reset_BANG_.call(null,c.capped,!0),cljs.core._write.call(null,c.writer,clojure.string.upper_case.call(null,
e))):cljs.core._write.call(null,c.writer,clojure.string.lower_case.call(null,e))}throw Error(["No matching clause: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(d)].join(""));}}(b),cljs.pprint.t_cljs$pprint25492.getBasis=function(a){return function(){return new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"writer","writer",1362963291,null),new cljs.core.Symbol(null,"capped","capped",-1650988402,null),new cljs.core.Symbol(null,"meta25493","meta25493",
1468317826,null)],null)}}(b),cljs.pprint.t_cljs$pprint25492.cljs$lang$type=!0,cljs.pprint.t_cljs$pprint25492.cljs$lang$ctorStr="cljs.pprint/t_cljs$pprint25492",cljs.pprint.t_cljs$pprint25492.cljs$lang$ctorPrWriter=function(a){return function(a,b,c){return cljs.core._write.call(null,b,"cljs.pprint/t_cljs$pprint25492")}}(b),cljs.pprint.__GT_t_cljs$pprint25492=function(a){return function(a,b,c){return new cljs.pprint.t_cljs$pprint25492(a,b,c)}}(b);return new cljs.pprint.t_cljs$pprint25492(a,b,cljs.core.PersistentArrayMap.EMPTY)};
cljs.pprint.modify_case=function(a,b,c,d){d=cljs.core.first.call(null,(new cljs.core.Keyword(null,"clauses","clauses",1454841241)).cljs$core$IFn$_invoke$arity$1(b));var e=cljs.core._STAR_out_STAR_;a=a.call(null,cljs.core._STAR_out_STAR_);cljs.core._STAR_out_STAR_=a;try{return cljs.pprint.execute_sub_format.call(null,d,c,(new cljs.core.Keyword(null,"base-args","base-args",-1268706822)).cljs$core$IFn$_invoke$arity$1(b))}finally{cljs.core._STAR_out_STAR_=e}};
cljs.pprint.get_pretty_writer=function(a){return cljs.core.truth_(cljs.pprint.pretty_writer_QMARK_.call(null,a))?a:cljs.pprint.pretty_writer.call(null,a,cljs.pprint._STAR_print_right_margin_STAR_,cljs.pprint._STAR_print_miser_width_STAR_)};
cljs.pprint.fresh_line=function(){return(null!=cljs.core._STAR_out_STAR_?cljs.core._STAR_out_STAR_.cljs$lang$protocol_mask$partition0$&32768||cljs.core.PROTOCOL_SENTINEL===cljs.core._STAR_out_STAR_.cljs$core$IDeref$||(cljs.core._STAR_out_STAR_.cljs$lang$protocol_mask$partition0$?0:cljs.core.native_satisfies_QMARK_.call(null,cljs.core.IDeref,cljs.core._STAR_out_STAR_)):cljs.core.native_satisfies_QMARK_.call(null,cljs.core.IDeref,cljs.core._STAR_out_STAR_))?cljs.core._EQ_.call(null,0,cljs.pprint.get_column.call(null,
(new cljs.core.Keyword(null,"base","base",185279322)).cljs$core$IFn$_invoke$arity$1(cljs.core.deref.call(null,cljs.core.deref.call(null,cljs.core._STAR_out_STAR_)))))?null:cljs.pprint.prn.call(null):cljs.pprint.prn.call(null)};
cljs.pprint.absolute_tabulation=function(a,b,c){c=(new cljs.core.Keyword(null,"colnum","colnum",2023796854)).cljs$core$IFn$_invoke$arity$1(a);a=(new cljs.core.Keyword(null,"colinc","colinc",-584873385)).cljs$core$IFn$_invoke$arity$1(a);var d=cljs.pprint.get_column.call(null,(new cljs.core.Keyword(null,"base","base",185279322)).cljs$core$IFn$_invoke$arity$1(cljs.core.deref.call(null,cljs.core.deref.call(null,cljs.core._STAR_out_STAR_))));c=d<c?c-d:cljs.core._EQ_.call(null,a,0)?0:a-cljs.core.rem.call(null,
d-c,a);cljs.pprint.print.call(null,cljs.core.apply.call(null,cljs.core.str,cljs.core.repeat.call(null,c," ")));return b};
cljs.pprint.relative_tabulation=function(a,b,c){c=(new cljs.core.Keyword(null,"colnum","colnum",2023796854)).cljs$core$IFn$_invoke$arity$1(a);a=(new cljs.core.Keyword(null,"colinc","colinc",-584873385)).cljs$core$IFn$_invoke$arity$1(a);var d=c+cljs.pprint.get_column.call(null,(new cljs.core.Keyword(null,"base","base",185279322)).cljs$core$IFn$_invoke$arity$1(cljs.core.deref.call(null,cljs.core.deref.call(null,cljs.core._STAR_out_STAR_))));d=0<a?cljs.core.rem.call(null,d,a):0;c+=cljs.core._EQ_.call(null,
0,d)?0:a-d;cljs.pprint.print.call(null,cljs.core.apply.call(null,cljs.core.str,cljs.core.repeat.call(null,c," ")));return b};
cljs.pprint.format_logical_block=function(a,b,c){var d=(new cljs.core.Keyword(null,"clauses","clauses",1454841241)).cljs$core$IFn$_invoke$arity$1(a),e=cljs.core.count.call(null,d);c=1<e?(new cljs.core.Keyword(null,"string","string",-1989541586)).cljs$core$IFn$_invoke$arity$1((new cljs.core.Keyword(null,"params","params",710516235)).cljs$core$IFn$_invoke$arity$1(cljs.core.first.call(null,cljs.core.first.call(null,d)))):cljs.core.truth_((new cljs.core.Keyword(null,"colon","colon",-965200945)).cljs$core$IFn$_invoke$arity$1(a))?
"(":null;var f=cljs.core.nth.call(null,d,1<e?1:0);d=2<e?(new cljs.core.Keyword(null,"string","string",-1989541586)).cljs$core$IFn$_invoke$arity$1((new cljs.core.Keyword(null,"params","params",710516235)).cljs$core$IFn$_invoke$arity$1(cljs.core.first.call(null,cljs.core.nth.call(null,d,2)))):cljs.core.truth_((new cljs.core.Keyword(null,"colon","colon",-965200945)).cljs$core$IFn$_invoke$arity$1(a))?")":null;e=cljs.pprint.next_arg.call(null,b);b=cljs.core.nth.call(null,e,0,null);e=cljs.core.nth.call(null,
e,1,null);if(cljs.core.truth_(cljs.pprint.level_exceeded.call(null)))cljs.core._write.call(null,cljs.core._STAR_out_STAR_,"#");else{var g=cljs.pprint._STAR_current_level_STAR_,h=cljs.pprint._STAR_current_length_STAR_;cljs.pprint._STAR_current_level_STAR_+=1;cljs.pprint._STAR_current_length_STAR_=0;try{cljs.pprint.start_block.call(null,cljs.core._STAR_out_STAR_,c,null,d),cljs.pprint.execute_sub_format.call(null,f,cljs.pprint.init_navigator.call(null,b),(new cljs.core.Keyword(null,"base-args","base-args",
-1268706822)).cljs$core$IFn$_invoke$arity$1(a)),cljs.pprint.end_block.call(null,cljs.core._STAR_out_STAR_)}finally{cljs.pprint._STAR_current_length_STAR_=h,cljs.pprint._STAR_current_level_STAR_=g}}return e};
cljs.pprint.set_indent=function(a,b,c){c=cljs.core.truth_((new cljs.core.Keyword(null,"colon","colon",-965200945)).cljs$core$IFn$_invoke$arity$1(a))?new cljs.core.Keyword(null,"current","current",-1088038603):new cljs.core.Keyword(null,"block","block",664686210);cljs.pprint.pprint_indent.call(null,c,(new cljs.core.Keyword(null,"n","n",562130025)).cljs$core$IFn$_invoke$arity$1(a));return b};
cljs.pprint.conditional_newline=function(a,b,c){a=cljs.core.truth_((new cljs.core.Keyword(null,"colon","colon",-965200945)).cljs$core$IFn$_invoke$arity$1(a))?cljs.core.truth_((new cljs.core.Keyword(null,"at","at",1476951349)).cljs$core$IFn$_invoke$arity$1(a))?new cljs.core.Keyword(null,"mandatory","mandatory",542802336):new cljs.core.Keyword(null,"fill","fill",883462889):cljs.core.truth_((new cljs.core.Keyword(null,"at","at",1476951349)).cljs$core$IFn$_invoke$arity$1(a))?new cljs.core.Keyword(null,
"miser","miser",-556060186):new cljs.core.Keyword(null,"linear","linear",872268697);cljs.pprint.pprint_newline.call(null,a);return b};
cljs.pprint.directive_table=cljs.core.PersistentHashMap.fromArrays("ASDBOXRPCFEG$%\x26|~\nT*?()[;]{}\x3c\x3e^W_I".split(""),[new cljs.core.PersistentArrayMap(null,5,[new cljs.core.Keyword(null,"directive","directive",793559132),"A",new cljs.core.Keyword(null,"params","params",710516235),new cljs.core.PersistentArrayMap(null,4,[new cljs.core.Keyword(null,"mincol","mincol",1230695445),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[0,Number],null),new cljs.core.Keyword(null,
"colinc","colinc",-584873385),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[1,Number],null),new cljs.core.Keyword(null,"minpad","minpad",323570901),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[0,Number],null),new cljs.core.Keyword(null,"padchar","padchar",2018584530),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[" ",String],null)],null),new cljs.core.Keyword(null,"flags","flags",1775418075),new cljs.core.PersistentHashSet(null,
new cljs.core.PersistentArrayMap(null,3,[new cljs.core.Keyword(null,"colon","colon",-965200945),null,new cljs.core.Keyword(null,"at","at",1476951349),null,new cljs.core.Keyword(null,"both","both",-393648840),null],null),null),new cljs.core.Keyword(null,"bracket-info","bracket-info",-1600092774),cljs.core.PersistentArrayMap.EMPTY,new cljs.core.Keyword(null,"generator-fn","generator-fn",811851656),function(a,b){return function(a,b,e){return cljs.pprint.format_ascii.call(null,cljs.core.print_str,a,b,
e)}}],null),new cljs.core.PersistentArrayMap(null,5,[new cljs.core.Keyword(null,"directive","directive",793559132),"S",new cljs.core.Keyword(null,"params","params",710516235),new cljs.core.PersistentArrayMap(null,4,[new cljs.core.Keyword(null,"mincol","mincol",1230695445),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[0,Number],null),new cljs.core.Keyword(null,"colinc","colinc",-584873385),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,
[1,Number],null),new cljs.core.Keyword(null,"minpad","minpad",323570901),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[0,Number],null),new cljs.core.Keyword(null,"padchar","padchar",2018584530),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[" ",String],null)],null),new cljs.core.Keyword(null,"flags","flags",1775418075),new cljs.core.PersistentHashSet(null,new cljs.core.PersistentArrayMap(null,3,[new cljs.core.Keyword(null,"colon","colon",
-965200945),null,new cljs.core.Keyword(null,"at","at",1476951349),null,new cljs.core.Keyword(null,"both","both",-393648840),null],null),null),new cljs.core.Keyword(null,"bracket-info","bracket-info",-1600092774),cljs.core.PersistentArrayMap.EMPTY,new cljs.core.Keyword(null,"generator-fn","generator-fn",811851656),function(a,b){return function(a,b,e){return cljs.pprint.format_ascii.call(null,cljs.core.pr_str,a,b,e)}}],null),new cljs.core.PersistentArrayMap(null,5,[new cljs.core.Keyword(null,"directive",
"directive",793559132),"D",new cljs.core.Keyword(null,"params","params",710516235),new cljs.core.PersistentArrayMap(null,4,[new cljs.core.Keyword(null,"mincol","mincol",1230695445),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[0,Number],null),new cljs.core.Keyword(null,"padchar","padchar",2018584530),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[" ",String],null),new cljs.core.Keyword(null,"commachar","commachar",652859327),new cljs.core.PersistentVector(null,
2,5,cljs.core.PersistentVector.EMPTY_NODE,[",",String],null),new cljs.core.Keyword(null,"commainterval","commainterval",-1980061083),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[3,Number],null)],null),new cljs.core.Keyword(null,"flags","flags",1775418075),new cljs.core.PersistentHashSet(null,new cljs.core.PersistentArrayMap(null,3,[new cljs.core.Keyword(null,"colon","colon",-965200945),null,new cljs.core.Keyword(null,"at","at",1476951349),null,new cljs.core.Keyword(null,
"both","both",-393648840),null],null),null),new cljs.core.Keyword(null,"bracket-info","bracket-info",-1600092774),cljs.core.PersistentArrayMap.EMPTY,new cljs.core.Keyword(null,"generator-fn","generator-fn",811851656),function(a,b){return function(a,b,e){return cljs.pprint.format_integer.call(null,10,a,b,e)}}],null),new cljs.core.PersistentArrayMap(null,5,[new cljs.core.Keyword(null,"directive","directive",793559132),"B",new cljs.core.Keyword(null,"params","params",710516235),new cljs.core.PersistentArrayMap(null,
4,[new cljs.core.Keyword(null,"mincol","mincol",1230695445),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[0,Number],null),new cljs.core.Keyword(null,"padchar","padchar",2018584530),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[" ",String],null),new cljs.core.Keyword(null,"commachar","commachar",652859327),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[",",String],null),new cljs.core.Keyword(null,"commainterval",
"commainterval",-1980061083),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[3,Number],null)],null),new cljs.core.Keyword(null,"flags","flags",1775418075),new cljs.core.PersistentHashSet(null,new cljs.core.PersistentArrayMap(null,3,[new cljs.core.Keyword(null,"colon","colon",-965200945),null,new cljs.core.Keyword(null,"at","at",1476951349),null,new cljs.core.Keyword(null,"both","both",-393648840),null],null),null),new cljs.core.Keyword(null,"bracket-info","bracket-info",
-1600092774),cljs.core.PersistentArrayMap.EMPTY,new cljs.core.Keyword(null,"generator-fn","generator-fn",811851656),function(a,b){return function(a,b,e){return cljs.pprint.format_integer.call(null,2,a,b,e)}}],null),new cljs.core.PersistentArrayMap(null,5,[new cljs.core.Keyword(null,"directive","directive",793559132),"O",new cljs.core.Keyword(null,"params","params",710516235),new cljs.core.PersistentArrayMap(null,4,[new cljs.core.Keyword(null,"mincol","mincol",1230695445),new cljs.core.PersistentVector(null,
2,5,cljs.core.PersistentVector.EMPTY_NODE,[0,Number],null),new cljs.core.Keyword(null,"padchar","padchar",2018584530),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[" ",String],null),new cljs.core.Keyword(null,"commachar","commachar",652859327),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[",",String],null),new cljs.core.Keyword(null,"commainterval","commainterval",-1980061083),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,
[3,Number],null)],null),new cljs.core.Keyword(null,"flags","flags",1775418075),new cljs.core.PersistentHashSet(null,new cljs.core.PersistentArrayMap(null,3,[new cljs.core.Keyword(null,"colon","colon",-965200945),null,new cljs.core.Keyword(null,"at","at",1476951349),null,new cljs.core.Keyword(null,"both","both",-393648840),null],null),null),new cljs.core.Keyword(null,"bracket-info","bracket-info",-1600092774),cljs.core.PersistentArrayMap.EMPTY,new cljs.core.Keyword(null,"generator-fn","generator-fn",
811851656),function(a,b){return function(a,b,e){return cljs.pprint.format_integer.call(null,8,a,b,e)}}],null),new cljs.core.PersistentArrayMap(null,5,[new cljs.core.Keyword(null,"directive","directive",793559132),"X",new cljs.core.Keyword(null,"params","params",710516235),new cljs.core.PersistentArrayMap(null,4,[new cljs.core.Keyword(null,"mincol","mincol",1230695445),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[0,Number],null),new cljs.core.Keyword(null,"padchar",
"padchar",2018584530),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[" ",String],null),new cljs.core.Keyword(null,"commachar","commachar",652859327),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[",",String],null),new cljs.core.Keyword(null,"commainterval","commainterval",-1980061083),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[3,Number],null)],null),new cljs.core.Keyword(null,"flags","flags",1775418075),
new cljs.core.PersistentHashSet(null,new cljs.core.PersistentArrayMap(null,3,[new cljs.core.Keyword(null,"colon","colon",-965200945),null,new cljs.core.Keyword(null,"at","at",1476951349),null,new cljs.core.Keyword(null,"both","both",-393648840),null],null),null),new cljs.core.Keyword(null,"bracket-info","bracket-info",-1600092774),cljs.core.PersistentArrayMap.EMPTY,new cljs.core.Keyword(null,"generator-fn","generator-fn",811851656),function(a,b){return function(a,b,e){return cljs.pprint.format_integer.call(null,
16,a,b,e)}}],null),new cljs.core.PersistentArrayMap(null,5,[new cljs.core.Keyword(null,"directive","directive",793559132),"R",new cljs.core.Keyword(null,"params","params",710516235),new cljs.core.PersistentArrayMap(null,5,[new cljs.core.Keyword(null,"base","base",185279322),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[null,Number],null),new cljs.core.Keyword(null,"mincol","mincol",1230695445),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,
[0,Number],null),new cljs.core.Keyword(null,"padchar","padchar",2018584530),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[" ",String],null),new cljs.core.Keyword(null,"commachar","commachar",652859327),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[",",String],null),new cljs.core.Keyword(null,"commainterval","commainterval",-1980061083),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[3,Number],null)],null),
new cljs.core.Keyword(null,"flags","flags",1775418075),new cljs.core.PersistentHashSet(null,new cljs.core.PersistentArrayMap(null,3,[new cljs.core.Keyword(null,"colon","colon",-965200945),null,new cljs.core.Keyword(null,"at","at",1476951349),null,new cljs.core.Keyword(null,"both","both",-393648840),null],null),null),new cljs.core.Keyword(null,"bracket-info","bracket-info",-1600092774),cljs.core.PersistentArrayMap.EMPTY,new cljs.core.Keyword(null,"generator-fn","generator-fn",811851656),function(a,
b){return cljs.core.truth_(cljs.core.first.call(null,(new cljs.core.Keyword(null,"base","base",185279322)).cljs$core$IFn$_invoke$arity$1(a)))?function(a,b,e){return cljs.pprint.format_integer.call(null,(new cljs.core.Keyword(null,"base","base",185279322)).cljs$core$IFn$_invoke$arity$1(a),a,b,e)}:cljs.core.truth_(function(){var b=(new cljs.core.Keyword(null,"at","at",1476951349)).cljs$core$IFn$_invoke$arity$1(a);return cljs.core.truth_(b)?(new cljs.core.Keyword(null,"colon","colon",-965200945)).cljs$core$IFn$_invoke$arity$1(a):
b}())?function(a,b,e){return cljs.pprint.format_old_roman.call(null,a,b,e)}:cljs.core.truth_((new cljs.core.Keyword(null,"at","at",1476951349)).cljs$core$IFn$_invoke$arity$1(a))?function(a,b,e){return cljs.pprint.format_new_roman.call(null,a,b,e)}:cljs.core.truth_((new cljs.core.Keyword(null,"colon","colon",-965200945)).cljs$core$IFn$_invoke$arity$1(a))?function(a,b,e){return cljs.pprint.format_ordinal_english.call(null,a,b,e)}:function(a,b,e){return cljs.pprint.format_cardinal_english.call(null,
a,b,e)}}],null),new cljs.core.PersistentArrayMap(null,5,[new cljs.core.Keyword(null,"directive","directive",793559132),"P",new cljs.core.Keyword(null,"params","params",710516235),cljs.core.PersistentArrayMap.EMPTY,new cljs.core.Keyword(null,"flags","flags",1775418075),new cljs.core.PersistentHashSet(null,new cljs.core.PersistentArrayMap(null,3,[new cljs.core.Keyword(null,"colon","colon",-965200945),null,new cljs.core.Keyword(null,"at","at",1476951349),null,new cljs.core.Keyword(null,"both","both",
-393648840),null],null),null),new cljs.core.Keyword(null,"bracket-info","bracket-info",-1600092774),cljs.core.PersistentArrayMap.EMPTY,new cljs.core.Keyword(null,"generator-fn","generator-fn",811851656),function(a,b){return function(a,b,e){b=cljs.core.truth_((new cljs.core.Keyword(null,"colon","colon",-965200945)).cljs$core$IFn$_invoke$arity$1(a))?cljs.pprint.relative_reposition.call(null,b,-1):b;a=cljs.core.truth_((new cljs.core.Keyword(null,"at","at",1476951349)).cljs$core$IFn$_invoke$arity$1(a))?
new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,["y","ies"],null):new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,["","s"],null);e=cljs.pprint.next_arg.call(null,b);b=cljs.core.nth.call(null,e,0,null);e=cljs.core.nth.call(null,e,1,null);cljs.pprint.print.call(null,cljs.core._EQ_.call(null,b,1)?cljs.core.first.call(null,a):cljs.core.second.call(null,a));return e}}],null),new cljs.core.PersistentArrayMap(null,5,[new cljs.core.Keyword(null,
"directive","directive",793559132),"C",new cljs.core.Keyword(null,"params","params",710516235),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"char-format","char-format",-1016499218),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[null,String],null)],null),new cljs.core.Keyword(null,"flags","flags",1775418075),new cljs.core.PersistentHashSet(null,new cljs.core.PersistentArrayMap(null,3,[new cljs.core.Keyword(null,"colon","colon",-965200945),null,
new cljs.core.Keyword(null,"at","at",1476951349),null,new cljs.core.Keyword(null,"both","both",-393648840),null],null),null),new cljs.core.Keyword(null,"bracket-info","bracket-info",-1600092774),cljs.core.PersistentArrayMap.EMPTY,new cljs.core.Keyword(null,"generator-fn","generator-fn",811851656),function(a,b){return cljs.core.truth_((new cljs.core.Keyword(null,"colon","colon",-965200945)).cljs$core$IFn$_invoke$arity$1(a))?cljs.pprint.pretty_character:cljs.core.truth_((new cljs.core.Keyword(null,
"at","at",1476951349)).cljs$core$IFn$_invoke$arity$1(a))?cljs.pprint.readable_character:cljs.pprint.plain_character}],null),new cljs.core.PersistentArrayMap(null,5,[new cljs.core.Keyword(null,"directive","directive",793559132),"F",new cljs.core.Keyword(null,"params","params",710516235),new cljs.core.PersistentArrayMap(null,5,[new cljs.core.Keyword(null,"w","w",354169001),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[null,Number],null),new cljs.core.Keyword(null,"d",
"d",1972142424),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[null,Number],null),new cljs.core.Keyword(null,"k","k",-2146297393),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[0,Number],null),new cljs.core.Keyword(null,"overflowchar","overflowchar",-1620088106),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[null,String],null),new cljs.core.Keyword(null,"padchar","padchar",2018584530),new cljs.core.PersistentVector(null,
2,5,cljs.core.PersistentVector.EMPTY_NODE,[" ",String],null)],null),new cljs.core.Keyword(null,"flags","flags",1775418075),new cljs.core.PersistentHashSet(null,new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"at","at",1476951349),null],null),null),new cljs.core.Keyword(null,"bracket-info","bracket-info",-1600092774),cljs.core.PersistentArrayMap.EMPTY,new cljs.core.Keyword(null,"generator-fn","generator-fn",811851656),function(a,b){return cljs.pprint.fixed_float}],null),new cljs.core.PersistentArrayMap(null,
5,[new cljs.core.Keyword(null,"directive","directive",793559132),"E",new cljs.core.Keyword(null,"params","params",710516235),new cljs.core.PersistentArrayMap(null,7,[new cljs.core.Keyword(null,"w","w",354169001),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[null,Number],null),new cljs.core.Keyword(null,"d","d",1972142424),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[null,Number],null),new cljs.core.Keyword(null,"e","e",1381269198),
new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[null,Number],null),new cljs.core.Keyword(null,"k","k",-2146297393),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[1,Number],null),new cljs.core.Keyword(null,"overflowchar","overflowchar",-1620088106),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[null,String],null),new cljs.core.Keyword(null,"padchar","padchar",2018584530),new cljs.core.PersistentVector(null,
2,5,cljs.core.PersistentVector.EMPTY_NODE,[" ",String],null),new cljs.core.Keyword(null,"exponentchar","exponentchar",1986664222),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[null,String],null)],null),new cljs.core.Keyword(null,"flags","flags",1775418075),new cljs.core.PersistentHashSet(null,new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"at","at",1476951349),null],null),null),new cljs.core.Keyword(null,"bracket-info","bracket-info",-1600092774),
cljs.core.PersistentArrayMap.EMPTY,new cljs.core.Keyword(null,"generator-fn","generator-fn",811851656),function(a,b){return cljs.pprint.exponential_float}],null),new cljs.core.PersistentArrayMap(null,5,[new cljs.core.Keyword(null,"directive","directive",793559132),"G",new cljs.core.Keyword(null,"params","params",710516235),new cljs.core.PersistentArrayMap(null,7,[new cljs.core.Keyword(null,"w","w",354169001),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[null,Number],
null),new cljs.core.Keyword(null,"d","d",1972142424),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[null,Number],null),new cljs.core.Keyword(null,"e","e",1381269198),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[null,Number],null),new cljs.core.Keyword(null,"k","k",-2146297393),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[1,Number],null),new cljs.core.Keyword(null,"overflowchar","overflowchar",-1620088106),
new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[null,String],null),new cljs.core.Keyword(null,"padchar","padchar",2018584530),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[" ",String],null),new cljs.core.Keyword(null,"exponentchar","exponentchar",1986664222),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[null,String],null)],null),new cljs.core.Keyword(null,"flags","flags",1775418075),new cljs.core.PersistentHashSet(null,
new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"at","at",1476951349),null],null),null),new cljs.core.Keyword(null,"bracket-info","bracket-info",-1600092774),cljs.core.PersistentArrayMap.EMPTY,new cljs.core.Keyword(null,"generator-fn","generator-fn",811851656),function(a,b){return cljs.pprint.general_float}],null),new cljs.core.PersistentArrayMap(null,5,[new cljs.core.Keyword(null,"directive","directive",793559132),"$",new cljs.core.Keyword(null,"params","params",710516235),new cljs.core.PersistentArrayMap(null,
4,[new cljs.core.Keyword(null,"d","d",1972142424),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[2,Number],null),new cljs.core.Keyword(null,"n","n",562130025),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[1,Number],null),new cljs.core.Keyword(null,"w","w",354169001),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[0,Number],null),new cljs.core.Keyword(null,"padchar","padchar",2018584530),new cljs.core.PersistentVector(null,
2,5,cljs.core.PersistentVector.EMPTY_NODE,[" ",String],null)],null),new cljs.core.Keyword(null,"flags","flags",1775418075),new cljs.core.PersistentHashSet(null,new cljs.core.PersistentArrayMap(null,3,[new cljs.core.Keyword(null,"colon","colon",-965200945),null,new cljs.core.Keyword(null,"at","at",1476951349),null,new cljs.core.Keyword(null,"both","both",-393648840),null],null),null),new cljs.core.Keyword(null,"bracket-info","bracket-info",-1600092774),cljs.core.PersistentArrayMap.EMPTY,new cljs.core.Keyword(null,
"generator-fn","generator-fn",811851656),function(a,b){return cljs.pprint.dollar_float}],null),new cljs.core.PersistentArrayMap(null,5,[new cljs.core.Keyword(null,"directive","directive",793559132),"%",new cljs.core.Keyword(null,"params","params",710516235),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"count","count",2139924085),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[1,Number],null)],null),new cljs.core.Keyword(null,"flags","flags",1775418075),
cljs.core.PersistentHashSet.EMPTY,new cljs.core.Keyword(null,"bracket-info","bracket-info",-1600092774),cljs.core.PersistentArrayMap.EMPTY,new cljs.core.Keyword(null,"generator-fn","generator-fn",811851656),function(a,b){return function(a,b,e){a=(new cljs.core.Keyword(null,"count","count",2139924085)).cljs$core$IFn$_invoke$arity$1(a);for(e=0;;)if(e<a)cljs.pprint.prn.call(null),e+=1;else break;return b}}],null),new cljs.core.PersistentArrayMap(null,5,[new cljs.core.Keyword(null,"directive","directive",
793559132),"\x26",new cljs.core.Keyword(null,"params","params",710516235),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"count","count",2139924085),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[1,Number],null)],null),new cljs.core.Keyword(null,"flags","flags",1775418075),new cljs.core.PersistentHashSet(null,new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"pretty","pretty",-1916372486),null],null),null),new cljs.core.Keyword(null,
"bracket-info","bracket-info",-1600092774),cljs.core.PersistentArrayMap.EMPTY,new cljs.core.Keyword(null,"generator-fn","generator-fn",811851656),function(a,b){return function(a,b,e){a=(new cljs.core.Keyword(null,"count","count",2139924085)).cljs$core$IFn$_invoke$arity$1(a);0<a&&cljs.pprint.fresh_line.call(null);--a;for(e=0;;)if(e<a)cljs.pprint.prn.call(null),e+=1;else break;return b}}],null),new cljs.core.PersistentArrayMap(null,5,[new cljs.core.Keyword(null,"directive","directive",793559132),"|",
new cljs.core.Keyword(null,"params","params",710516235),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"count","count",2139924085),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[1,Number],null)],null),new cljs.core.Keyword(null,"flags","flags",1775418075),cljs.core.PersistentHashSet.EMPTY,new cljs.core.Keyword(null,"bracket-info","bracket-info",-1600092774),cljs.core.PersistentArrayMap.EMPTY,new cljs.core.Keyword(null,"generator-fn","generator-fn",
811851656),function(a,b){return function(a,b,e){a=(new cljs.core.Keyword(null,"count","count",2139924085)).cljs$core$IFn$_invoke$arity$1(a);for(e=0;;)if(e<a)cljs.pprint.print.call(null,"\f"),e+=1;else break;return b}}],null),new cljs.core.PersistentArrayMap(null,5,[new cljs.core.Keyword(null,"directive","directive",793559132),"~",new cljs.core.Keyword(null,"params","params",710516235),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"n","n",562130025),new cljs.core.PersistentVector(null,
2,5,cljs.core.PersistentVector.EMPTY_NODE,[1,Number],null)],null),new cljs.core.Keyword(null,"flags","flags",1775418075),cljs.core.PersistentHashSet.EMPTY,new cljs.core.Keyword(null,"bracket-info","bracket-info",-1600092774),cljs.core.PersistentArrayMap.EMPTY,new cljs.core.Keyword(null,"generator-fn","generator-fn",811851656),function(a,b){return function(a,b,e){a=(new cljs.core.Keyword(null,"n","n",562130025)).cljs$core$IFn$_invoke$arity$1(a);cljs.pprint.print.call(null,cljs.core.apply.call(null,
cljs.core.str,cljs.core.repeat.call(null,a,"~")));return b}}],null),new cljs.core.PersistentArrayMap(null,5,[new cljs.core.Keyword(null,"directive","directive",793559132),"\n",new cljs.core.Keyword(null,"params","params",710516235),cljs.core.PersistentArrayMap.EMPTY,new cljs.core.Keyword(null,"flags","flags",1775418075),new cljs.core.PersistentHashSet(null,new cljs.core.PersistentArrayMap(null,2,[new cljs.core.Keyword(null,"colon","colon",-965200945),null,new cljs.core.Keyword(null,"at","at",1476951349),
null],null),null),new cljs.core.Keyword(null,"bracket-info","bracket-info",-1600092774),cljs.core.PersistentArrayMap.EMPTY,new cljs.core.Keyword(null,"generator-fn","generator-fn",811851656),function(a,b){return function(a,b,e){cljs.core.truth_((new cljs.core.Keyword(null,"at","at",1476951349)).cljs$core$IFn$_invoke$arity$1(a))&&cljs.pprint.prn.call(null);return b}}],null),new cljs.core.PersistentArrayMap(null,5,[new cljs.core.Keyword(null,"directive","directive",793559132),"T",new cljs.core.Keyword(null,
"params","params",710516235),new cljs.core.PersistentArrayMap(null,2,[new cljs.core.Keyword(null,"colnum","colnum",2023796854),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[1,Number],null),new cljs.core.Keyword(null,"colinc","colinc",-584873385),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[1,Number],null)],null),new cljs.core.Keyword(null,"flags","flags",1775418075),new cljs.core.PersistentHashSet(null,new cljs.core.PersistentArrayMap(null,
2,[new cljs.core.Keyword(null,"at","at",1476951349),null,new cljs.core.Keyword(null,"pretty","pretty",-1916372486),null],null),null),new cljs.core.Keyword(null,"bracket-info","bracket-info",-1600092774),cljs.core.PersistentArrayMap.EMPTY,new cljs.core.Keyword(null,"generator-fn","generator-fn",811851656),function(a,b){return cljs.core.truth_((new cljs.core.Keyword(null,"at","at",1476951349)).cljs$core$IFn$_invoke$arity$1(a))?function(a,b,e){return cljs.pprint.relative_tabulation.call(null,a,b,e)}:
function(a,b,e){return cljs.pprint.absolute_tabulation.call(null,a,b,e)}}],null),new cljs.core.PersistentArrayMap(null,5,[new cljs.core.Keyword(null,"directive","directive",793559132),"*",new cljs.core.Keyword(null,"params","params",710516235),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"n","n",562130025),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[1,Number],null)],null),new cljs.core.Keyword(null,"flags","flags",1775418075),new cljs.core.PersistentHashSet(null,
new cljs.core.PersistentArrayMap(null,2,[new cljs.core.Keyword(null,"colon","colon",-965200945),null,new cljs.core.Keyword(null,"at","at",1476951349),null],null),null),new cljs.core.Keyword(null,"bracket-info","bracket-info",-1600092774),cljs.core.PersistentArrayMap.EMPTY,new cljs.core.Keyword(null,"generator-fn","generator-fn",811851656),function(a,b){return function(a,b,e){e=(new cljs.core.Keyword(null,"n","n",562130025)).cljs$core$IFn$_invoke$arity$1(a);return cljs.core.truth_((new cljs.core.Keyword(null,
"at","at",1476951349)).cljs$core$IFn$_invoke$arity$1(a))?cljs.pprint.absolute_reposition.call(null,b,e):cljs.pprint.relative_reposition.call(null,b,cljs.core.truth_((new cljs.core.Keyword(null,"colon","colon",-965200945)).cljs$core$IFn$_invoke$arity$1(a))?-e:e)}}],null),new cljs.core.PersistentArrayMap(null,5,[new cljs.core.Keyword(null,"directive","directive",793559132),"?",new cljs.core.Keyword(null,"params","params",710516235),cljs.core.PersistentArrayMap.EMPTY,new cljs.core.Keyword(null,"flags",
"flags",1775418075),new cljs.core.PersistentHashSet(null,new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"at","at",1476951349),null],null),null),new cljs.core.Keyword(null,"bracket-info","bracket-info",-1600092774),cljs.core.PersistentArrayMap.EMPTY,new cljs.core.Keyword(null,"generator-fn","generator-fn",811851656),function(a,b){return cljs.core.truth_((new cljs.core.Keyword(null,"at","at",1476951349)).cljs$core$IFn$_invoke$arity$1(a))?function(a,b,e){e=cljs.pprint.get_format_arg.call(null,
b);b=cljs.core.nth.call(null,e,0,null);e=cljs.core.nth.call(null,e,1,null);return cljs.pprint.execute_sub_format.call(null,b,e,(new cljs.core.Keyword(null,"base-args","base-args",-1268706822)).cljs$core$IFn$_invoke$arity$1(a))}:function(a,b,e){e=cljs.pprint.get_format_arg.call(null,b);b=cljs.core.nth.call(null,e,0,null);e=cljs.core.nth.call(null,e,1,null);var c=cljs.pprint.next_arg.call(null,e);e=cljs.core.nth.call(null,c,0,null);c=cljs.core.nth.call(null,c,1,null);e=cljs.pprint.init_navigator.call(null,
e);cljs.pprint.execute_sub_format.call(null,b,e,(new cljs.core.Keyword(null,"base-args","base-args",-1268706822)).cljs$core$IFn$_invoke$arity$1(a));return c}}],null),new cljs.core.PersistentArrayMap(null,5,[new cljs.core.Keyword(null,"directive","directive",793559132),"(",new cljs.core.Keyword(null,"params","params",710516235),cljs.core.PersistentArrayMap.EMPTY,new cljs.core.Keyword(null,"flags","flags",1775418075),new cljs.core.PersistentHashSet(null,new cljs.core.PersistentArrayMap(null,3,[new cljs.core.Keyword(null,
"colon","colon",-965200945),null,new cljs.core.Keyword(null,"at","at",1476951349),null,new cljs.core.Keyword(null,"both","both",-393648840),null],null),null),new cljs.core.Keyword(null,"bracket-info","bracket-info",-1600092774),new cljs.core.PersistentArrayMap(null,3,[new cljs.core.Keyword(null,"right","right",-452581833),")",new cljs.core.Keyword(null,"allows-separator","allows-separator",-818967742),null,new cljs.core.Keyword(null,"else","else",-1508377146),null],null),new cljs.core.Keyword(null,
"generator-fn","generator-fn",811851656),function(a,b){return function(a){return function(b,c,f){return cljs.pprint.modify_case.call(null,a,b,c,f)}}(cljs.core.truth_(function(){var b=(new cljs.core.Keyword(null,"at","at",1476951349)).cljs$core$IFn$_invoke$arity$1(a);return cljs.core.truth_(b)?(new cljs.core.Keyword(null,"colon","colon",-965200945)).cljs$core$IFn$_invoke$arity$1(a):b}())?cljs.pprint.upcase_writer:cljs.core.truth_((new cljs.core.Keyword(null,"colon","colon",-965200945)).cljs$core$IFn$_invoke$arity$1(a))?
cljs.pprint.capitalize_word_writer:cljs.core.truth_((new cljs.core.Keyword(null,"at","at",1476951349)).cljs$core$IFn$_invoke$arity$1(a))?cljs.pprint.init_cap_writer:cljs.pprint.downcase_writer)}],null),new cljs.core.PersistentArrayMap(null,5,[new cljs.core.Keyword(null,"directive","directive",793559132),")",new cljs.core.Keyword(null,"params","params",710516235),cljs.core.PersistentArrayMap.EMPTY,new cljs.core.Keyword(null,"flags","flags",1775418075),cljs.core.PersistentHashSet.EMPTY,new cljs.core.Keyword(null,
"bracket-info","bracket-info",-1600092774),cljs.core.PersistentArrayMap.EMPTY,new cljs.core.Keyword(null,"generator-fn","generator-fn",811851656),function(a,b){return null}],null),new cljs.core.PersistentArrayMap(null,5,[new cljs.core.Keyword(null,"directive","directive",793559132),"[",new cljs.core.Keyword(null,"params","params",710516235),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"selector","selector",762528866),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,
[null,Number],null)],null),new cljs.core.Keyword(null,"flags","flags",1775418075),new cljs.core.PersistentHashSet(null,new cljs.core.PersistentArrayMap(null,2,[new cljs.core.Keyword(null,"colon","colon",-965200945),null,new cljs.core.Keyword(null,"at","at",1476951349),null],null),null),new cljs.core.Keyword(null,"bracket-info","bracket-info",-1600092774),new cljs.core.PersistentArrayMap(null,3,[new cljs.core.Keyword(null,"right","right",-452581833),"]",new cljs.core.Keyword(null,"allows-separator",
"allows-separator",-818967742),!0,new cljs.core.Keyword(null,"else","else",-1508377146),new cljs.core.Keyword(null,"last","last",1105735132)],null),new cljs.core.Keyword(null,"generator-fn","generator-fn",811851656),function(a,b){return cljs.core.truth_((new cljs.core.Keyword(null,"colon","colon",-965200945)).cljs$core$IFn$_invoke$arity$1(a))?cljs.pprint.boolean_conditional:cljs.core.truth_((new cljs.core.Keyword(null,"at","at",1476951349)).cljs$core$IFn$_invoke$arity$1(a))?cljs.pprint.check_arg_conditional:
cljs.pprint.choice_conditional}],null),new cljs.core.PersistentArrayMap(null,5,[new cljs.core.Keyword(null,"directive","directive",793559132),";",new cljs.core.Keyword(null,"params","params",710516235),new cljs.core.PersistentArrayMap(null,2,[new cljs.core.Keyword(null,"min-remaining","min-remaining",962687677),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[null,Number],null),new cljs.core.Keyword(null,"max-columns","max-columns",1742323262),new cljs.core.PersistentVector(null,
2,5,cljs.core.PersistentVector.EMPTY_NODE,[null,Number],null)],null),new cljs.core.Keyword(null,"flags","flags",1775418075),new cljs.core.PersistentHashSet(null,new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"colon","colon",-965200945),null],null),null),new cljs.core.Keyword(null,"bracket-info","bracket-info",-1600092774),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"separator","separator",-1628749125),!0],null),new cljs.core.Keyword(null,"generator-fn",
"generator-fn",811851656),function(a,b){return null}],null),new cljs.core.PersistentArrayMap(null,5,[new cljs.core.Keyword(null,"directive","directive",793559132),"]",new cljs.core.Keyword(null,"params","params",710516235),cljs.core.PersistentArrayMap.EMPTY,new cljs.core.Keyword(null,"flags","flags",1775418075),cljs.core.PersistentHashSet.EMPTY,new cljs.core.Keyword(null,"bracket-info","bracket-info",-1600092774),cljs.core.PersistentArrayMap.EMPTY,new cljs.core.Keyword(null,"generator-fn","generator-fn",
811851656),function(a,b){return null}],null),new cljs.core.PersistentArrayMap(null,5,[new cljs.core.Keyword(null,"directive","directive",793559132),"{",new cljs.core.Keyword(null,"params","params",710516235),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"max-iterations","max-iterations",2021275563),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[null,Number],null)],null),new cljs.core.Keyword(null,"flags","flags",1775418075),new cljs.core.PersistentHashSet(null,
new cljs.core.PersistentArrayMap(null,3,[new cljs.core.Keyword(null,"colon","colon",-965200945),null,new cljs.core.Keyword(null,"at","at",1476951349),null,new cljs.core.Keyword(null,"both","both",-393648840),null],null),null),new cljs.core.Keyword(null,"bracket-info","bracket-info",-1600092774),new cljs.core.PersistentArrayMap(null,2,[new cljs.core.Keyword(null,"right","right",-452581833),"}",new cljs.core.Keyword(null,"allows-separator","allows-separator",-818967742),!1],null),new cljs.core.Keyword(null,
"generator-fn","generator-fn",811851656),function(a,b){return cljs.core.truth_(function(){var b=(new cljs.core.Keyword(null,"at","at",1476951349)).cljs$core$IFn$_invoke$arity$1(a);return cljs.core.truth_(b)?(new cljs.core.Keyword(null,"colon","colon",-965200945)).cljs$core$IFn$_invoke$arity$1(a):b}())?cljs.pprint.iterate_main_sublists:cljs.core.truth_((new cljs.core.Keyword(null,"colon","colon",-965200945)).cljs$core$IFn$_invoke$arity$1(a))?cljs.pprint.iterate_list_of_sublists:cljs.core.truth_((new cljs.core.Keyword(null,
"at","at",1476951349)).cljs$core$IFn$_invoke$arity$1(a))?cljs.pprint.iterate_main_list:cljs.pprint.iterate_sublist}],null),new cljs.core.PersistentArrayMap(null,5,[new cljs.core.Keyword(null,"directive","directive",793559132),"}",new cljs.core.Keyword(null,"params","params",710516235),cljs.core.PersistentArrayMap.EMPTY,new cljs.core.Keyword(null,"flags","flags",1775418075),new cljs.core.PersistentHashSet(null,new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"colon","colon",-965200945),
null],null),null),new cljs.core.Keyword(null,"bracket-info","bracket-info",-1600092774),cljs.core.PersistentArrayMap.EMPTY,new cljs.core.Keyword(null,"generator-fn","generator-fn",811851656),function(a,b){return null}],null),new cljs.core.PersistentArrayMap(null,5,[new cljs.core.Keyword(null,"directive","directive",793559132),"\x3c",new cljs.core.Keyword(null,"params","params",710516235),new cljs.core.PersistentArrayMap(null,4,[new cljs.core.Keyword(null,"mincol","mincol",1230695445),new cljs.core.PersistentVector(null,
2,5,cljs.core.PersistentVector.EMPTY_NODE,[0,Number],null),new cljs.core.Keyword(null,"colinc","colinc",-584873385),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[1,Number],null),new cljs.core.Keyword(null,"minpad","minpad",323570901),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[0,Number],null),new cljs.core.Keyword(null,"padchar","padchar",2018584530),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[" ",
String],null)],null),new cljs.core.Keyword(null,"flags","flags",1775418075),new cljs.core.PersistentHashSet(null,new cljs.core.PersistentArrayMap(null,4,[new cljs.core.Keyword(null,"colon","colon",-965200945),null,new cljs.core.Keyword(null,"at","at",1476951349),null,new cljs.core.Keyword(null,"both","both",-393648840),null,new cljs.core.Keyword(null,"pretty","pretty",-1916372486),null],null),null),new cljs.core.Keyword(null,"bracket-info","bracket-info",-1600092774),new cljs.core.PersistentArrayMap(null,
3,[new cljs.core.Keyword(null,"right","right",-452581833),"\x3e",new cljs.core.Keyword(null,"allows-separator","allows-separator",-818967742),!0,new cljs.core.Keyword(null,"else","else",-1508377146),new cljs.core.Keyword(null,"first","first",-644103046)],null),new cljs.core.Keyword(null,"generator-fn","generator-fn",811851656),function(a,b){return cljs.pprint.logical_block_or_justify}],null),new cljs.core.PersistentArrayMap(null,5,[new cljs.core.Keyword(null,"directive","directive",793559132),"\x3e",
new cljs.core.Keyword(null,"params","params",710516235),cljs.core.PersistentArrayMap.EMPTY,new cljs.core.Keyword(null,"flags","flags",1775418075),new cljs.core.PersistentHashSet(null,new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"colon","colon",-965200945),null],null),null),new cljs.core.Keyword(null,"bracket-info","bracket-info",-1600092774),cljs.core.PersistentArrayMap.EMPTY,new cljs.core.Keyword(null,"generator-fn","generator-fn",811851656),function(a,b){return null}],null),
new cljs.core.PersistentArrayMap(null,5,[new cljs.core.Keyword(null,"directive","directive",793559132),"^",new cljs.core.Keyword(null,"params","params",710516235),new cljs.core.PersistentArrayMap(null,3,[new cljs.core.Keyword(null,"arg1","arg1",951899358),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[null,Number],null),new cljs.core.Keyword(null,"arg2","arg2",1729550917),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[null,Number],null),
new cljs.core.Keyword(null,"arg3","arg3",-1486822496),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[null,Number],null)],null),new cljs.core.Keyword(null,"flags","flags",1775418075),new cljs.core.PersistentHashSet(null,new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"colon","colon",-965200945),null],null),null),new cljs.core.Keyword(null,"bracket-info","bracket-info",-1600092774),cljs.core.PersistentArrayMap.EMPTY,new cljs.core.Keyword(null,"generator-fn",
"generator-fn",811851656),function(a,b){return function(a,b,e){e=(new cljs.core.Keyword(null,"arg1","arg1",951899358)).cljs$core$IFn$_invoke$arity$1(a);var c=(new cljs.core.Keyword(null,"arg2","arg2",1729550917)).cljs$core$IFn$_invoke$arity$1(a),d=(new cljs.core.Keyword(null,"arg3","arg3",-1486822496)).cljs$core$IFn$_invoke$arity$1(a),h=cljs.core.truth_((new cljs.core.Keyword(null,"colon","colon",-965200945)).cljs$core$IFn$_invoke$arity$1(a))?new cljs.core.Keyword(null,"colon-up-arrow","colon-up-arrow",
244853007):new cljs.core.Keyword(null,"up-arrow","up-arrow",1705310333);return cljs.core.truth_(cljs.core.truth_(e)?cljs.core.truth_(c)?d:c:e)?e<=c&&c<=d?new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[h,b],null):b:cljs.core.truth_(cljs.core.truth_(e)?c:e)?cljs.core._EQ_.call(null,e,c)?new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[h,b],null):b:cljs.core.truth_(e)?cljs.core._EQ_.call(null,e,0)?new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,
[h,b],null):b:(cljs.core.truth_((new cljs.core.Keyword(null,"colon","colon",-965200945)).cljs$core$IFn$_invoke$arity$1(a))?cljs.core.empty_QMARK_.call(null,(new cljs.core.Keyword(null,"rest","rest",-1241696419)).cljs$core$IFn$_invoke$arity$1((new cljs.core.Keyword(null,"base-args","base-args",-1268706822)).cljs$core$IFn$_invoke$arity$1(a))):cljs.core.empty_QMARK_.call(null,(new cljs.core.Keyword(null,"rest","rest",-1241696419)).cljs$core$IFn$_invoke$arity$1(b)))?new cljs.core.PersistentVector(null,
2,5,cljs.core.PersistentVector.EMPTY_NODE,[h,b],null):b}}],null),new cljs.core.PersistentArrayMap(null,5,[new cljs.core.Keyword(null,"directive","directive",793559132),"W",new cljs.core.Keyword(null,"params","params",710516235),cljs.core.PersistentArrayMap.EMPTY,new cljs.core.Keyword(null,"flags","flags",1775418075),new cljs.core.PersistentHashSet(null,new cljs.core.PersistentArrayMap(null,4,[new cljs.core.Keyword(null,"colon","colon",-965200945),null,new cljs.core.Keyword(null,"at","at",1476951349),
null,new cljs.core.Keyword(null,"both","both",-393648840),null,new cljs.core.Keyword(null,"pretty","pretty",-1916372486),null],null),null),new cljs.core.Keyword(null,"bracket-info","bracket-info",-1600092774),cljs.core.PersistentArrayMap.EMPTY,new cljs.core.Keyword(null,"generator-fn","generator-fn",811851656),function(a,b){return cljs.core.truth_(function(){var b=(new cljs.core.Keyword(null,"at","at",1476951349)).cljs$core$IFn$_invoke$arity$1(a);return cljs.core.truth_(b)?b:(new cljs.core.Keyword(null,
"colon","colon",-965200945)).cljs$core$IFn$_invoke$arity$1(a)}())?function(a){return function(b,c,f){c=cljs.pprint.next_arg.call(null,c);b=cljs.core.nth.call(null,c,0,null);c=cljs.core.nth.call(null,c,1,null);return cljs.core.truth_(cljs.core.apply.call(null,cljs.pprint.write,b,a))?new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"up-arrow","up-arrow",1705310333),c],null):c}}(cljs.core.concat.call(null,cljs.core.truth_((new cljs.core.Keyword(null,
"at","at",1476951349)).cljs$core$IFn$_invoke$arity$1(a))?new cljs.core.PersistentVector(null,4,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"level","level",1290497552),null,new cljs.core.Keyword(null,"length","length",588987862),null],null):cljs.core.PersistentVector.EMPTY,cljs.core.truth_((new cljs.core.Keyword(null,"colon","colon",-965200945)).cljs$core$IFn$_invoke$arity$1(a))?new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,
"pretty","pretty",-1916372486),!0],null):cljs.core.PersistentVector.EMPTY)):function(a,b,e){b=cljs.pprint.next_arg.call(null,b);a=cljs.core.nth.call(null,b,0,null);b=cljs.core.nth.call(null,b,1,null);return cljs.core.truth_(cljs.pprint.write_out.call(null,a))?new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"up-arrow","up-arrow",1705310333),b],null):b}}],null),new cljs.core.PersistentArrayMap(null,5,[new cljs.core.Keyword(null,"directive","directive",
793559132),"_",new cljs.core.Keyword(null,"params","params",710516235),cljs.core.PersistentArrayMap.EMPTY,new cljs.core.Keyword(null,"flags","flags",1775418075),new cljs.core.PersistentHashSet(null,new cljs.core.PersistentArrayMap(null,3,[new cljs.core.Keyword(null,"colon","colon",-965200945),null,new cljs.core.Keyword(null,"at","at",1476951349),null,new cljs.core.Keyword(null,"both","both",-393648840),null],null),null),new cljs.core.Keyword(null,"bracket-info","bracket-info",-1600092774),cljs.core.PersistentArrayMap.EMPTY,
new cljs.core.Keyword(null,"generator-fn","generator-fn",811851656),function(a,b){return cljs.pprint.conditional_newline}],null),new cljs.core.PersistentArrayMap(null,5,[new cljs.core.Keyword(null,"directive","directive",793559132),"I",new cljs.core.Keyword(null,"params","params",710516235),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"n","n",562130025),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[0,Number],null)],null),new cljs.core.Keyword(null,
"flags","flags",1775418075),new cljs.core.PersistentHashSet(null,new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"colon","colon",-965200945),null],null),null),new cljs.core.Keyword(null,"bracket-info","bracket-info",-1600092774),cljs.core.PersistentArrayMap.EMPTY,new cljs.core.Keyword(null,"generator-fn","generator-fn",811851656),function(a,b){return cljs.pprint.set_indent}],null)]);cljs.pprint.param_pattern=/^([vV]|#|('.)|([+-]?\d+)|(?=,))/;
cljs.pprint.special_params=new cljs.core.PersistentHashSet(null,new cljs.core.PersistentArrayMap(null,2,[new cljs.core.Keyword(null,"remaining-arg-count","remaining-arg-count",-1216589335),null,new cljs.core.Keyword(null,"parameter-from-args","parameter-from-args",-758446196),null],null),null);
cljs.pprint.extract_param=function(a){var b=cljs.core.nth.call(null,a,0,null),c=cljs.core.nth.call(null,a,1,null),d=cljs.core.nth.call(null,a,2,null);a=new RegExp(cljs.pprint.param_pattern.source,"g");var e=a.exec(b);return cljs.core.truth_(e)?(d=cljs.core.first.call(null,e),b=cljs.core.subs.call(null,b,a.lastIndex),a=c+a.lastIndex,cljs.core._EQ_.call(null,",",cljs.core.nth.call(null,b,0))?new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.PersistentVector(null,
2,5,cljs.core.PersistentVector.EMPTY_NODE,[d,c],null),new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,[cljs.core.subs.call(null,b,1),a+1,!0],null)],null):new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[d,c],null),new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,[b,a,!1],null)],null)):cljs.core.truth_(d)?cljs.pprint.format_error.call(null,
"Badly formed parameters in format directive",c):new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[null,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[b,c],null)],null)};cljs.pprint.extract_params=function(a,b){return cljs.pprint.consume.call(null,cljs.pprint.extract_param,new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,[a,b,!1],null))};
cljs.pprint.translate_param=function(a){var b=cljs.core.nth.call(null,a,0,null);a=cljs.core.nth.call(null,a,1,null);return new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[cljs.core._EQ_.call(null,b.length,0)?null:cljs.core._EQ_.call(null,b.length,1)&&cljs.core.contains_QMARK_.call(null,new cljs.core.PersistentHashSet(null,new cljs.core.PersistentArrayMap(null,2,["V",null,"v",null],null),null),cljs.core.nth.call(null,b,0))?new cljs.core.Keyword(null,"parameter-from-args",
"parameter-from-args",-758446196):cljs.core._EQ_.call(null,b.length,1)&&cljs.core._EQ_.call(null,"#",cljs.core.nth.call(null,b,0))?new cljs.core.Keyword(null,"remaining-arg-count","remaining-arg-count",-1216589335):cljs.core._EQ_.call(null,b.length,2)&&cljs.core._EQ_.call(null,"'",cljs.core.nth.call(null,b,0))?cljs.core.nth.call(null,b,1):parseInt(b,10),a],null)};
cljs.pprint.flag_defs=new cljs.core.PersistentArrayMap(null,2,[":",new cljs.core.Keyword(null,"colon","colon",-965200945),"@",new cljs.core.Keyword(null,"at","at",1476951349)],null);
cljs.pprint.extract_flags=function(a,b){return cljs.pprint.consume.call(null,function(a){var b=cljs.core.nth.call(null,a,0,null),c=cljs.core.nth.call(null,a,1,null);a=cljs.core.nth.call(null,a,2,null);if(cljs.core.empty_QMARK_.call(null,b))return new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[null,new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,[b,c,a],null)],null);var f=cljs.core.get.call(null,cljs.pprint.flag_defs,cljs.core.first.call(null,
b));return cljs.core.truth_(f)?cljs.core.contains_QMARK_.call(null,a,f)?cljs.pprint.format_error.call(null,['Flag "',cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.core.first.call(null,b)),'" appears more than once in a directive'].join(""),c):new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[!0,new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,[cljs.core.subs.call(null,b,1),c+1,cljs.core.assoc.call(null,a,f,new cljs.core.PersistentVector(null,
2,5,cljs.core.PersistentVector.EMPTY_NODE,[!0,c],null))],null)],null):new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[null,new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,[b,c,a],null)],null)},new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,[a,b,cljs.core.PersistentArrayMap.EMPTY],null))};
cljs.pprint.check_flags=function(a,b){var c=(new cljs.core.Keyword(null,"flags","flags",1775418075)).cljs$core$IFn$_invoke$arity$1(a);cljs.core.truth_(function(){var a=cljs.core.not.call(null,(new cljs.core.Keyword(null,"at","at",1476951349)).cljs$core$IFn$_invoke$arity$1(c));return a?(new cljs.core.Keyword(null,"at","at",1476951349)).cljs$core$IFn$_invoke$arity$1(b):a}())&&cljs.pprint.format_error.call(null,['"@" is an illegal flag for format directive "',cljs.core.str.cljs$core$IFn$_invoke$arity$1((new cljs.core.Keyword(null,
"directive","directive",793559132)).cljs$core$IFn$_invoke$arity$1(a)),'"'].join(""),cljs.core.nth.call(null,(new cljs.core.Keyword(null,"at","at",1476951349)).cljs$core$IFn$_invoke$arity$1(b),1));cljs.core.truth_(function(){var a=cljs.core.not.call(null,(new cljs.core.Keyword(null,"colon","colon",-965200945)).cljs$core$IFn$_invoke$arity$1(c));return a?(new cljs.core.Keyword(null,"colon","colon",-965200945)).cljs$core$IFn$_invoke$arity$1(b):a}())&&cljs.pprint.format_error.call(null,['":" is an illegal flag for format directive "',
cljs.core.str.cljs$core$IFn$_invoke$arity$1((new cljs.core.Keyword(null,"directive","directive",793559132)).cljs$core$IFn$_invoke$arity$1(a)),'"'].join(""),cljs.core.nth.call(null,(new cljs.core.Keyword(null,"colon","colon",-965200945)).cljs$core$IFn$_invoke$arity$1(b),1));return cljs.core.truth_(function(){var a=cljs.core.not.call(null,(new cljs.core.Keyword(null,"both","both",-393648840)).cljs$core$IFn$_invoke$arity$1(c));return a?(a=(new cljs.core.Keyword(null,"at","at",1476951349)).cljs$core$IFn$_invoke$arity$1(b),
cljs.core.truth_(a)?(new cljs.core.Keyword(null,"colon","colon",-965200945)).cljs$core$IFn$_invoke$arity$1(b):a):a}())?cljs.pprint.format_error.call(null,['Cannot combine "@" and ":" flags for format directive "',cljs.core.str.cljs$core$IFn$_invoke$arity$1((new cljs.core.Keyword(null,"directive","directive",793559132)).cljs$core$IFn$_invoke$arity$1(a)),'"'].join(""),function(){var a=cljs.core.nth.call(null,(new cljs.core.Keyword(null,"colon","colon",-965200945)).cljs$core$IFn$_invoke$arity$1(b),1),
c=cljs.core.nth.call(null,(new cljs.core.Keyword(null,"at","at",1476951349)).cljs$core$IFn$_invoke$arity$1(b),1);return a<c?a:c}()):null};
cljs.pprint.map_params=function(a,b,c,d){cljs.pprint.check_flags.call(null,a,c);cljs.core.count.call(null,b)>cljs.core.count.call(null,(new cljs.core.Keyword(null,"params","params",710516235)).cljs$core$IFn$_invoke$arity$1(a))&&cljs.pprint.format_error.call(null,cljs.pprint.cl_format.call(null,null,'Too many parameters for directive "~C": ~D~:* ~[were~;was~:;were~] specified but only ~D~:* ~[are~;is~:;are~] allowed',(new cljs.core.Keyword(null,"directive","directive",793559132)).cljs$core$IFn$_invoke$arity$1(a),
cljs.core.count.call(null,b),cljs.core.count.call(null,(new cljs.core.Keyword(null,"params","params",710516235)).cljs$core$IFn$_invoke$arity$1(a))),cljs.core.second.call(null,cljs.core.first.call(null,b)));cljs.core.doall.call(null,cljs.core.map.call(null,function(b,c){var d=cljs.core.first.call(null,b);return null==d||cljs.core.contains_QMARK_.call(null,cljs.pprint.special_params,d)||cljs.core._EQ_.call(null,cljs.core.second.call(null,cljs.core.second.call(null,c)),cljs.core.type.call(null,d))?null:
cljs.pprint.format_error.call(null,["Parameter ",cljs.core.name.call(null,cljs.core.first.call(null,c)),' has bad type in directive "',cljs.core.str.cljs$core$IFn$_invoke$arity$1((new cljs.core.Keyword(null,"directive","directive",793559132)).cljs$core$IFn$_invoke$arity$1(a)),'": ',cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.core.type.call(null,d))].join(""),cljs.core.second.call(null,b))},b,(new cljs.core.Keyword(null,"params","params",710516235)).cljs$core$IFn$_invoke$arity$1(a)));return cljs.core.merge.call(null,
cljs.core.into.call(null,cljs.core.PersistentArrayMap.EMPTY,cljs.core.reverse.call(null,function(){return function g(a){return new cljs.core.LazySeq(null,function(){for(;;){var b=cljs.core.seq.call(null,a);if(b){if(cljs.core.chunked_seq_QMARK_.call(null,b)){var c=cljs.core.chunk_first.call(null,b),f=cljs.core.count.call(null,c),m=cljs.core.chunk_buffer.call(null,f);a:for(var n=0;;)if(n<f){var p=cljs.core._nth.call(null,c,n),q=cljs.core.nth.call(null,p,0,null);p=cljs.core.nth.call(null,p,1,null);p=
cljs.core.nth.call(null,p,0,null);cljs.core.chunk_append.call(null,m,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[q,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[p,d],null)],null));n+=1}else{c=!0;break a}return c?cljs.core.chunk_cons.call(null,cljs.core.chunk.call(null,m),g.call(null,cljs.core.chunk_rest.call(null,b))):cljs.core.chunk_cons.call(null,cljs.core.chunk.call(null,m),null)}c=cljs.core.first.call(null,b);m=cljs.core.nth.call(null,
c,0,null);c=cljs.core.nth.call(null,c,1,null);c=cljs.core.nth.call(null,c,0,null);return cljs.core.cons.call(null,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[m,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[c,d],null)],null),g.call(null,cljs.core.rest.call(null,b)))}return null}},null,null)}.call(null,(new cljs.core.Keyword(null,"params","params",710516235)).cljs$core$IFn$_invoke$arity$1(a))}())),cljs.core.reduce.call(null,function(a,
b){return cljs.core.apply.call(null,cljs.core.assoc,a,b)},cljs.core.PersistentArrayMap.EMPTY,cljs.core.filter.call(null,function(a){return cljs.core.first.call(null,cljs.core.nth.call(null,a,1))},cljs.core.zipmap.call(null,cljs.core.keys.call(null,(new cljs.core.Keyword(null,"params","params",710516235)).cljs$core$IFn$_invoke$arity$1(a)),b))),c)};
cljs.pprint.compile_directive=function(a,b){b=cljs.pprint.extract_params.call(null,a,b);a=cljs.core.nth.call(null,b,0,null);var c=cljs.core.nth.call(null,b,1,null);b=cljs.core.nth.call(null,c,0,null);c=cljs.core.nth.call(null,c,1,null);b=cljs.pprint.extract_flags.call(null,b,c);cljs.core.nth.call(null,b,0,null);c=cljs.core.nth.call(null,b,1,null);var d=cljs.core.nth.call(null,c,0,null);b=cljs.core.nth.call(null,c,1,null);var e=cljs.core.nth.call(null,c,2,null),f=cljs.core.first.call(null,d);c=cljs.core.get.call(null,
cljs.pprint.directive_table,clojure.string.upper_case.call(null,f));var g=cljs.core.truth_(c)?cljs.pprint.map_params.call(null,c,cljs.core.map.call(null,cljs.pprint.translate_param,a),e,b):null;cljs.core.not.call(null,f)&&cljs.pprint.format_error.call(null,"Format string ended in the middle of a directive",b);cljs.core.not.call(null,c)&&cljs.pprint.format_error.call(null,['Directive "',cljs.core.str.cljs$core$IFn$_invoke$arity$1(f),'" is undefined'].join(""),b);a=cljs.core.PersistentVector;f=cljs.core.PersistentVector.EMPTY_NODE;
e=new cljs.pprint.compiled_directive((new cljs.core.Keyword(null,"generator-fn","generator-fn",811851656)).cljs$core$IFn$_invoke$arity$1(c).call(null,g,b),c,g,b,null,null,null);d=cljs.core.subs.call(null,d,1);b+=1;c=cljs.core._EQ_.call(null,"\n",(new cljs.core.Keyword(null,"directive","directive",793559132)).cljs$core$IFn$_invoke$arity$1(c))&&cljs.core.not.call(null,(new cljs.core.Keyword(null,"colon","colon",-965200945)).cljs$core$IFn$_invoke$arity$1(g))?cljs.pprint.prefix_count.call(null,d,new cljs.core.PersistentVector(null,
2,5,cljs.core.PersistentVector.EMPTY_NODE,[" ","\t"],null)):0;d=cljs.core.subs.call(null,d,c);b=new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[d,b+c],null);return new a(null,2,5,f,[e,b],null)};cljs.pprint.compile_raw_string=function(a,b){return new cljs.pprint.compiled_directive(function(b,d,e){cljs.pprint.print.call(null,a);return d},null,new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"string","string",-1989541586),a],null),b,null,null,null)};
cljs.pprint.right_bracket=function(a){return(new cljs.core.Keyword(null,"right","right",-452581833)).cljs$core$IFn$_invoke$arity$1((new cljs.core.Keyword(null,"bracket-info","bracket-info",-1600092774)).cljs$core$IFn$_invoke$arity$1((new cljs.core.Keyword(null,"def","def",-1043430536)).cljs$core$IFn$_invoke$arity$1(a)))};
cljs.pprint.separator_QMARK_=function(a){return(new cljs.core.Keyword(null,"separator","separator",-1628749125)).cljs$core$IFn$_invoke$arity$1((new cljs.core.Keyword(null,"bracket-info","bracket-info",-1600092774)).cljs$core$IFn$_invoke$arity$1((new cljs.core.Keyword(null,"def","def",-1043430536)).cljs$core$IFn$_invoke$arity$1(a)))};
cljs.pprint.else_separator_QMARK_=function(a){var b=(new cljs.core.Keyword(null,"separator","separator",-1628749125)).cljs$core$IFn$_invoke$arity$1((new cljs.core.Keyword(null,"bracket-info","bracket-info",-1600092774)).cljs$core$IFn$_invoke$arity$1((new cljs.core.Keyword(null,"def","def",-1043430536)).cljs$core$IFn$_invoke$arity$1(a)));return cljs.core.truth_(b)?(new cljs.core.Keyword(null,"colon","colon",-965200945)).cljs$core$IFn$_invoke$arity$1((new cljs.core.Keyword(null,"params","params",710516235)).cljs$core$IFn$_invoke$arity$1(a)):
b};
cljs.pprint.process_bracket=function(a,b){var c=cljs.pprint.collect_clauses.call(null,(new cljs.core.Keyword(null,"bracket-info","bracket-info",-1600092774)).cljs$core$IFn$_invoke$arity$1((new cljs.core.Keyword(null,"def","def",-1043430536)).cljs$core$IFn$_invoke$arity$1(a)),(new cljs.core.Keyword(null,"offset","offset",296498311)).cljs$core$IFn$_invoke$arity$1(a),b);b=cljs.core.nth.call(null,c,0,null);c=cljs.core.nth.call(null,c,1,null);return new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.pprint.compiled_directive((new cljs.core.Keyword(null,
"func","func",-238706040)).cljs$core$IFn$_invoke$arity$1(a),(new cljs.core.Keyword(null,"def","def",-1043430536)).cljs$core$IFn$_invoke$arity$1(a),cljs.core.merge.call(null,(new cljs.core.Keyword(null,"params","params",710516235)).cljs$core$IFn$_invoke$arity$1(a),cljs.pprint.tuple_map.call(null,b,(new cljs.core.Keyword(null,"offset","offset",296498311)).cljs$core$IFn$_invoke$arity$1(a))),(new cljs.core.Keyword(null,"offset","offset",296498311)).cljs$core$IFn$_invoke$arity$1(a),null,null,null),c],
null)};
cljs.pprint.process_clause=function(a,b,c){return cljs.pprint.consume.call(null,function(c){if(cljs.core.empty_QMARK_.call(null,c))return cljs.pprint.format_error.call(null,"No closing bracket found.",b);var d=cljs.core.first.call(null,c);c=cljs.core.next.call(null,c);return cljs.core.truth_(cljs.pprint.right_bracket.call(null,d))?cljs.pprint.process_bracket.call(null,d,c):cljs.core._EQ_.call(null,(new cljs.core.Keyword(null,"right","right",-452581833)).cljs$core$IFn$_invoke$arity$1(a),(new cljs.core.Keyword(null,"directive",
"directive",793559132)).cljs$core$IFn$_invoke$arity$1((new cljs.core.Keyword(null,"def","def",-1043430536)).cljs$core$IFn$_invoke$arity$1(d)))?new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[null,new cljs.core.PersistentVector(null,4,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"right-bracket","right-bracket",951856080),(new cljs.core.Keyword(null,"params","params",710516235)).cljs$core$IFn$_invoke$arity$1(d),null,c],null)],null):cljs.core.truth_(cljs.pprint.else_separator_QMARK_.call(null,
d))?new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[null,new cljs.core.PersistentVector(null,4,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"else","else",-1508377146),null,(new cljs.core.Keyword(null,"params","params",710516235)).cljs$core$IFn$_invoke$arity$1(d),c],null)],null):cljs.core.truth_(cljs.pprint.separator_QMARK_.call(null,d))?new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[null,new cljs.core.PersistentVector(null,
4,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"separator","separator",-1628749125),null,null,c],null)],null):new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[d,c],null)},c)};
cljs.pprint.collect_clauses=function(a,b,c){return cljs.core.second.call(null,cljs.pprint.consume.call(null,function(c){var d=cljs.core.nth.call(null,c,0,null),f=cljs.core.nth.call(null,c,1,null);c=cljs.core.nth.call(null,c,2,null);var g=cljs.pprint.process_clause.call(null,a,b,c);c=cljs.core.nth.call(null,g,0,null);var h=cljs.core.nth.call(null,g,1,null);g=cljs.core.nth.call(null,h,0,null);var k=cljs.core.nth.call(null,h,1,null),l=cljs.core.nth.call(null,h,2,null);h=cljs.core.nth.call(null,h,3,null);
return cljs.core._EQ_.call(null,g,new cljs.core.Keyword(null,"right-bracket","right-bracket",951856080))?new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[null,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[cljs.core.merge_with.call(null,cljs.core.concat,d,cljs.core.PersistentArrayMap.createAsIfByAssoc([cljs.core.truth_(f)?new cljs.core.Keyword(null,"else","else",-1508377146):new cljs.core.Keyword(null,"clauses","clauses",1454841241),new cljs.core.PersistentVector(null,
1,5,cljs.core.PersistentVector.EMPTY_NODE,[c],null),new cljs.core.Keyword(null,"right-params","right-params",-1790676237),k])),h],null)],null):cljs.core._EQ_.call(null,g,new cljs.core.Keyword(null,"else","else",-1508377146))?cljs.core.truth_((new cljs.core.Keyword(null,"else","else",-1508377146)).cljs$core$IFn$_invoke$arity$1(d))?cljs.pprint.format_error.call(null,'Two else clauses ("~:;") inside bracket construction.',b):cljs.core.not.call(null,(new cljs.core.Keyword(null,"else","else",-1508377146)).cljs$core$IFn$_invoke$arity$1(a))?
cljs.pprint.format_error.call(null,'An else clause ("~:;") is in a bracket type that doesn\'t support it.',b):cljs.core._EQ_.call(null,new cljs.core.Keyword(null,"first","first",-644103046),(new cljs.core.Keyword(null,"else","else",-1508377146)).cljs$core$IFn$_invoke$arity$1(a))&&cljs.core.seq.call(null,(new cljs.core.Keyword(null,"clauses","clauses",1454841241)).cljs$core$IFn$_invoke$arity$1(d))?cljs.pprint.format_error.call(null,'The else clause ("~:;") is only allowed in the first position for this directive.',
b):cljs.core._EQ_.call(null,new cljs.core.Keyword(null,"first","first",-644103046),(new cljs.core.Keyword(null,"else","else",-1508377146)).cljs$core$IFn$_invoke$arity$1(a))?new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[!0,new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,[cljs.core.merge_with.call(null,cljs.core.concat,d,new cljs.core.PersistentArrayMap(null,2,[new cljs.core.Keyword(null,"else","else",-1508377146),new cljs.core.PersistentVector(null,
1,5,cljs.core.PersistentVector.EMPTY_NODE,[c],null),new cljs.core.Keyword(null,"else-params","else-params",-832171646),l],null)),!1,h],null)],null):new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[!0,new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,[cljs.core.merge_with.call(null,cljs.core.concat,d,new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"clauses","clauses",1454841241),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,
[c],null)],null)),!0,h],null)],null):cljs.core._EQ_.call(null,g,new cljs.core.Keyword(null,"separator","separator",-1628749125))?cljs.core.truth_(f)?cljs.pprint.format_error.call(null,'A plain clause (with "~;") follows an else clause ("~:;") inside bracket construction.',b):cljs.core.not.call(null,(new cljs.core.Keyword(null,"allows-separator","allows-separator",-818967742)).cljs$core$IFn$_invoke$arity$1(a))?cljs.pprint.format_error.call(null,'A separator ("~;") is in a bracket type that doesn\'t support it.',
b):new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[!0,new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,[cljs.core.merge_with.call(null,cljs.core.concat,d,new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"clauses","clauses",1454841241),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[c],null)],null)),!1,h],null)],null):null},new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,
[new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"clauses","clauses",1454841241),cljs.core.PersistentVector.EMPTY],null),!1,c],null)))};
cljs.pprint.process_nesting=function(a){return cljs.core.first.call(null,cljs.pprint.consume.call(null,function(a){var b=cljs.core.first.call(null,a);a=cljs.core.next.call(null,a);var d=(new cljs.core.Keyword(null,"bracket-info","bracket-info",-1600092774)).cljs$core$IFn$_invoke$arity$1((new cljs.core.Keyword(null,"def","def",-1043430536)).cljs$core$IFn$_invoke$arity$1(b));return cljs.core.truth_((new cljs.core.Keyword(null,"right","right",-452581833)).cljs$core$IFn$_invoke$arity$1(d))?cljs.pprint.process_bracket.call(null,
b,a):new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[b,a],null)},a))};
cljs.pprint.compile_format=function(a){var b=cljs.pprint._STAR_format_str_STAR_;cljs.pprint._STAR_format_str_STAR_=a;try{return cljs.pprint.process_nesting.call(null,cljs.core.first.call(null,cljs.pprint.consume.call(null,function(a,b){return function(a){var b=cljs.core.nth.call(null,a,0,null);a=cljs.core.nth.call(null,a,1,null);if(cljs.core.empty_QMARK_.call(null,b))return new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[null,b],null);var c=b.indexOf("~");return 0>c?
new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[cljs.pprint.compile_raw_string.call(null,b,a),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,["",a+b.length],null)],null):0===c?cljs.pprint.compile_directive.call(null,cljs.core.subs.call(null,b,1),a+1):new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[cljs.pprint.compile_raw_string.call(null,cljs.core.subs.call(null,b,0,c),a),new cljs.core.PersistentVector(null,
2,5,cljs.core.PersistentVector.EMPTY_NODE,[cljs.core.subs.call(null,b,c),c+a],null)],null)}}(b,a),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[a,0],null))))}finally{cljs.pprint._STAR_format_str_STAR_=b}};
cljs.pprint.needs_pretty=function(a){for(var b=a;;){if(cljs.core.empty_QMARK_.call(null,b))return!1;if(cljs.core.truth_(function(){var a=(new cljs.core.Keyword(null,"pretty","pretty",-1916372486)).cljs$core$IFn$_invoke$arity$1((new cljs.core.Keyword(null,"flags","flags",1775418075)).cljs$core$IFn$_invoke$arity$1((new cljs.core.Keyword(null,"def","def",-1043430536)).cljs$core$IFn$_invoke$arity$1(cljs.core.first.call(null,b))));if(cljs.core.truth_(a))return a;a=cljs.core.some.call(null,cljs.pprint.needs_pretty,
cljs.core.first.call(null,(new cljs.core.Keyword(null,"clauses","clauses",1454841241)).cljs$core$IFn$_invoke$arity$1((new cljs.core.Keyword(null,"params","params",710516235)).cljs$core$IFn$_invoke$arity$1(cljs.core.first.call(null,b)))));return cljs.core.truth_(a)?a:cljs.core.some.call(null,cljs.pprint.needs_pretty,cljs.core.first.call(null,(new cljs.core.Keyword(null,"else","else",-1508377146)).cljs$core$IFn$_invoke$arity$1((new cljs.core.Keyword(null,"params","params",710516235)).cljs$core$IFn$_invoke$arity$1(cljs.core.first.call(null,
b)))))}()))return!0;b=cljs.core.next.call(null,b)}};cljs.pprint.execute_format=function(a){switch(arguments.length){case 3:return cljs.pprint.execute_format.cljs$core$IFn$_invoke$arity$3(arguments[0],arguments[1],arguments[2]);case 2:return cljs.pprint.execute_format.cljs$core$IFn$_invoke$arity$2(arguments[0],arguments[1]);default:throw Error(["Invalid arity: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(""));}};
cljs.pprint.execute_format.cljs$core$IFn$_invoke$arity$3=function(a,b,c){var d=new goog.string.StringBuffer,e=cljs.core.not.call(null,a)||!0===a?new cljs.core.StringBufferWriter(d):a,f=cljs.pprint.needs_pretty.call(null,b)&&cljs.core.not.call(null,cljs.pprint.pretty_writer_QMARK_.call(null,e))?cljs.pprint.get_pretty_writer.call(null,e):e,g=cljs.core._STAR_out_STAR_;cljs.core._STAR_out_STAR_=f;try{try{cljs.pprint.execute_format.call(null,b,c)}finally{e!==f&&cljs.core._flush.call(null,f)}return cljs.core.not.call(null,
a)?cljs.core.str.cljs$core$IFn$_invoke$arity$1(d):!0===a?cljs.core.string_print.call(null,cljs.core.str.cljs$core$IFn$_invoke$arity$1(d)):null}finally{cljs.core._STAR_out_STAR_=g}};
cljs.pprint.execute_format.cljs$core$IFn$_invoke$arity$2=function(a,b){cljs.pprint.map_passing_context.call(null,function(a,b){if(cljs.pprint.abort_QMARK_.call(null,b))return new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[null,b],null);b=cljs.pprint.realize_parameter_list.call(null,(new cljs.core.Keyword(null,"params","params",710516235)).cljs$core$IFn$_invoke$arity$1(a),b);var c=cljs.core.nth.call(null,b,0,null);b=cljs.core.nth.call(null,b,1,null);var d=cljs.pprint.unzip_map.call(null,
c);c=cljs.core.nth.call(null,d,0,null);d=cljs.core.nth.call(null,d,1,null);c=cljs.core.assoc.call(null,c,new cljs.core.Keyword(null,"base-args","base-args",-1268706822),b);return new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[null,cljs.core.apply.call(null,(new cljs.core.Keyword(null,"func","func",-238706040)).cljs$core$IFn$_invoke$arity$1(a),new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,[c,b,d],null))],null)},b,a);return null};
cljs.pprint.execute_format.cljs$lang$maxFixedArity=3;cljs.pprint.cached_compile=cljs.core.memoize.call(null,cljs.pprint.compile_format);cljs.pprint.use_method=function(a,b,c){return cljs.core._add_method.call(null,a,b,c)};
cljs.pprint.reader_macros=new cljs.core.PersistentArrayMap(null,6,[new cljs.core.Symbol(null,"quote","quote",1377916282,null),"'",new cljs.core.Symbol(null,"var","var",870848730,null),"#'",new cljs.core.Symbol("clojure.core","deref","clojure.core/deref",188719157,null),"@",new cljs.core.Symbol("clojure.core","unquote","clojure.core/unquote",843087510,null),"~",new cljs.core.Symbol("cljs.core","deref","cljs.core/deref",1901963335,null),"@",new cljs.core.Symbol("cljs.core","unquote","cljs.core/unquote",
1013085760,null),"~"],null);cljs.pprint.pprint_reader_macro=function(a){var b=cljs.pprint.reader_macros.call(null,cljs.core.first.call(null,a));return cljs.core.truth_(cljs.core.truth_(b)?cljs.core._EQ_.call(null,2,cljs.core.count.call(null,a)):b)?(cljs.core._write.call(null,cljs.core._STAR_out_STAR_,b),cljs.pprint.write_out.call(null,cljs.core.second.call(null,a)),!0):null};
cljs.pprint.pprint_simple_list=function(a){if(cljs.core.truth_(cljs.pprint.level_exceeded.call(null)))cljs.core._write.call(null,cljs.core._STAR_out_STAR_,"#");else{var b=cljs.pprint._STAR_current_level_STAR_,c=cljs.pprint._STAR_current_length_STAR_;cljs.pprint._STAR_current_level_STAR_+=1;cljs.pprint._STAR_current_length_STAR_=0;try{cljs.pprint.start_block.call(null,cljs.core._STAR_out_STAR_,"(",null,")");for(var d=0,e=cljs.core.seq.call(null,a);;){if(cljs.core.not.call(null,cljs.core._STAR_print_length_STAR_)||
d<cljs.core._STAR_print_length_STAR_){if(e&&(cljs.pprint.write_out.call(null,cljs.core.first.call(null,e)),cljs.core.next.call(null,e))){cljs.core._write.call(null,cljs.core._STAR_out_STAR_," ");cljs.pprint.pprint_newline.call(null,new cljs.core.Keyword(null,"linear","linear",872268697));a=d+1;var f=cljs.core.next.call(null,e);d=a;e=f;continue}}else cljs.core._write.call(null,cljs.core._STAR_out_STAR_,"...");break}cljs.pprint.end_block.call(null,cljs.core._STAR_out_STAR_)}finally{cljs.pprint._STAR_current_length_STAR_=
c,cljs.pprint._STAR_current_level_STAR_=b}}return null};cljs.pprint.pprint_list=function(a){return cljs.core.not.call(null,cljs.pprint.pprint_reader_macro.call(null,a))?cljs.pprint.pprint_simple_list.call(null,a):null};
cljs.pprint.pprint_vector=function(a){if(cljs.core.truth_(cljs.pprint.level_exceeded.call(null)))cljs.core._write.call(null,cljs.core._STAR_out_STAR_,"#");else{var b=cljs.pprint._STAR_current_level_STAR_,c=cljs.pprint._STAR_current_length_STAR_;cljs.pprint._STAR_current_level_STAR_+=1;cljs.pprint._STAR_current_length_STAR_=0;try{cljs.pprint.start_block.call(null,cljs.core._STAR_out_STAR_,"[",null,"]");for(var d=0,e=cljs.core.seq.call(null,a);;){if(cljs.core.not.call(null,cljs.core._STAR_print_length_STAR_)||
d<cljs.core._STAR_print_length_STAR_){if(e&&(cljs.pprint.write_out.call(null,cljs.core.first.call(null,e)),cljs.core.next.call(null,e))){cljs.core._write.call(null,cljs.core._STAR_out_STAR_," ");cljs.pprint.pprint_newline.call(null,new cljs.core.Keyword(null,"linear","linear",872268697));a=d+1;var f=cljs.core.next.call(null,e);d=a;e=f;continue}}else cljs.core._write.call(null,cljs.core._STAR_out_STAR_,"...");break}cljs.pprint.end_block.call(null,cljs.core._STAR_out_STAR_)}finally{cljs.pprint._STAR_current_length_STAR_=
c,cljs.pprint._STAR_current_level_STAR_=b}}return null};
cljs.pprint.pprint_array=function(){return function(a,b){return function(){var a=function(a){a=cljs.pprint.init_navigator.call(null,a);return cljs.pprint.execute_format.call(null,b,a)},d=function(b){var c=null;if(0<arguments.length){c=0;for(var d=Array(arguments.length-0);c<d.length;)d[c]=arguments[c+0],++c;c=new cljs.core.IndexedSeq(d,0,null)}return a.call(this,c)};d.cljs$lang$maxFixedArity=0;d.cljs$lang$applyTo=function(b){b=cljs.core.seq(b);return a(b)};d.cljs$core$IFn$_invoke$arity$variadic=a;
return d}()}("~\x3c[~;~@{~w~^, ~:_~}~;]~:\x3e",cljs.pprint.cached_compile.call(null,"~\x3c[~;~@{~w~^, ~:_~}~;]~:\x3e"))}();
cljs.pprint.pprint_map=function(a){var b=cljs.core.record_QMARK_.call(null,a)?null:(new cljs.core.Var(function(){return cljs.core.lift_ns},new cljs.core.Symbol("cljs.core","lift-ns","cljs.core/lift-ns",463499081,null),cljs.core.PersistentHashMap.fromArrays([new cljs.core.Keyword(null,"private","private",-558947994),new cljs.core.Keyword(null,"ns","ns",441598760),new cljs.core.Keyword(null,"name","name",1843675177),new cljs.core.Keyword(null,"file","file",-1269645878),new cljs.core.Keyword(null,"end-column",
"end-column",1425389514),new cljs.core.Keyword(null,"column","column",2078222095),new cljs.core.Keyword(null,"line","line",212345235),new cljs.core.Keyword(null,"end-line","end-line",1837326455),new cljs.core.Keyword(null,"arglists","arglists",1661989754),new cljs.core.Keyword(null,"doc","doc",1913296891),new cljs.core.Keyword(null,"test","test",577538877)],[!0,new cljs.core.Symbol(null,"cljs.core","cljs.core",770546058,null),new cljs.core.Symbol(null,"lift-ns","lift-ns",602311926,null),"cljs/core.cljs",
15,1,10284,10284,cljs.core.list(new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"m","m",-1021758608,null)],null)),"Returns [lifted-ns lifted-map] or nil if m can't be lifted.",cljs.core.truth_(cljs.core.lift_ns)?cljs.core.lift_ns.cljs$lang$test:null]))).call(null,a),c=cljs.core.nth.call(null,b,0,null);b=cljs.core.nth.call(null,b,1,null);a=cljs.core.truth_(b)?b:a;var d=cljs.core.truth_(c)?["#:",cljs.core.str.cljs$core$IFn$_invoke$arity$1(c),
"{"].join(""):"{";if(cljs.core.truth_(cljs.pprint.level_exceeded.call(null)))cljs.core._write.call(null,cljs.core._STAR_out_STAR_,"#");else{c=cljs.pprint._STAR_current_level_STAR_;b=cljs.pprint._STAR_current_length_STAR_;cljs.pprint._STAR_current_level_STAR_+=1;cljs.pprint._STAR_current_length_STAR_=0;try{cljs.pprint.start_block.call(null,cljs.core._STAR_out_STAR_,d,null,"}");d=0;for(var e=cljs.core.seq.call(null,a);;){if(cljs.core.not.call(null,cljs.core._STAR_print_length_STAR_)||d<cljs.core._STAR_print_length_STAR_){if(e){if(cljs.core.truth_(cljs.pprint.level_exceeded.call(null)))cljs.core._write.call(null,
cljs.core._STAR_out_STAR_,"#");else{var f=cljs.pprint._STAR_current_level_STAR_,g=cljs.pprint._STAR_current_length_STAR_;cljs.pprint._STAR_current_level_STAR_+=1;cljs.pprint._STAR_current_length_STAR_=0;try{cljs.pprint.start_block.call(null,cljs.core._STAR_out_STAR_,null,null,null),cljs.pprint.write_out.call(null,cljs.core.ffirst.call(null,e)),cljs.core._write.call(null,cljs.core._STAR_out_STAR_," "),cljs.pprint.pprint_newline.call(null,new cljs.core.Keyword(null,"linear","linear",872268697)),cljs.pprint._STAR_current_length_STAR_=
0,cljs.pprint.write_out.call(null,cljs.core.fnext.call(null,cljs.core.first.call(null,e))),cljs.pprint.end_block.call(null,cljs.core._STAR_out_STAR_)}finally{cljs.pprint._STAR_current_length_STAR_=g,cljs.pprint._STAR_current_level_STAR_=f}}if(cljs.core.next.call(null,e)){cljs.core._write.call(null,cljs.core._STAR_out_STAR_,", ");cljs.pprint.pprint_newline.call(null,new cljs.core.Keyword(null,"linear","linear",872268697));a=d+1;var h=cljs.core.next.call(null,e);d=a;e=h;continue}}}else cljs.core._write.call(null,
cljs.core._STAR_out_STAR_,"...");break}cljs.pprint.end_block.call(null,cljs.core._STAR_out_STAR_)}finally{cljs.pprint._STAR_current_length_STAR_=b,cljs.pprint._STAR_current_level_STAR_=c}}return null};cljs.pprint.pprint_simple_default=function(a){return cljs.core._write.call(null,cljs.core._STAR_out_STAR_,cljs.core.pr_str.call(null,a))};
cljs.pprint.pprint_set=function(){return function(a,b){return function(){var a=function(a){a=cljs.pprint.init_navigator.call(null,a);return cljs.pprint.execute_format.call(null,b,a)},d=function(b){var c=null;if(0<arguments.length){c=0;for(var d=Array(arguments.length-0);c<d.length;)d[c]=arguments[c+0],++c;c=new cljs.core.IndexedSeq(d,0,null)}return a.call(this,c)};d.cljs$lang$maxFixedArity=0;d.cljs$lang$applyTo=function(b){b=cljs.core.seq(b);return a(b)};d.cljs$core$IFn$_invoke$arity$variadic=a;return d}()}("~\x3c#{~;~@{~w~^ ~:_~}~;}~:\x3e",
cljs.pprint.cached_compile.call(null,"~\x3c#{~;~@{~w~^ ~:_~}~;}~:\x3e"))}();cljs.pprint.type_map=new cljs.core.PersistentArrayMap(null,2,["core$future_call","Future","core$promise","Promise"],null);cljs.pprint.map_ref_type=function(a){var b=cljs.core.re_find.call(null,/^[^$]+\$[^$]+/,a);b=cljs.core.truth_(b)?cljs.pprint.type_map.call(null,b):null;return cljs.core.truth_(b)?b:a};
cljs.pprint.pprint_ideref=function(a){var b=["#\x3c",cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.pprint.map_ref_type.call(null,cljs.core.type.call(null,a).name)),"@",cljs.core.str.cljs$core$IFn$_invoke$arity$1(goog.getUid(a)),": "].join("");if(cljs.core.truth_(cljs.pprint.level_exceeded.call(null)))cljs.core._write.call(null,cljs.core._STAR_out_STAR_,"#");else{var c=cljs.pprint._STAR_current_level_STAR_,d=cljs.pprint._STAR_current_length_STAR_;cljs.pprint._STAR_current_level_STAR_+=1;cljs.pprint._STAR_current_length_STAR_=
0;try{cljs.pprint.start_block.call(null,cljs.core._STAR_out_STAR_,b,null,"\x3e"),cljs.pprint.pprint_indent.call(null,new cljs.core.Keyword(null,"block","block",664686210),-(cljs.core.count.call(null,b)-2)),cljs.pprint.pprint_newline.call(null,new cljs.core.Keyword(null,"linear","linear",872268697)),cljs.pprint.write_out.call(null,function(){var b=null!=a?a.cljs$lang$protocol_mask$partition1$&1||cljs.core.PROTOCOL_SENTINEL===a.cljs$core$IPending$?!0:a.cljs$lang$protocol_mask$partition1$?!1:cljs.core.native_satisfies_QMARK_.call(null,
cljs.core.IPending,a):cljs.core.native_satisfies_QMARK_.call(null,cljs.core.IPending,a);return b?!cljs.core._realized_QMARK_.call(null,a):b}()?new cljs.core.Keyword(null,"not-delivered","not-delivered",1599158697):cljs.core.deref.call(null,a)),cljs.pprint.end_block.call(null,cljs.core._STAR_out_STAR_)}finally{cljs.pprint._STAR_current_length_STAR_=d,cljs.pprint._STAR_current_level_STAR_=c}}return null};
cljs.pprint.pprint_pqueue=function(){return function(a,b){return function(){var a=function(a){a=cljs.pprint.init_navigator.call(null,a);return cljs.pprint.execute_format.call(null,b,a)},d=function(b){var c=null;if(0<arguments.length){c=0;for(var d=Array(arguments.length-0);c<d.length;)d[c]=arguments[c+0],++c;c=new cljs.core.IndexedSeq(d,0,null)}return a.call(this,c)};d.cljs$lang$maxFixedArity=0;d.cljs$lang$applyTo=function(b){b=cljs.core.seq(b);return a(b)};d.cljs$core$IFn$_invoke$arity$variadic=
a;return d}()}("~\x3c\x3c-(~;~@{~w~^ ~_~}~;)-\x3c~:\x3e",cljs.pprint.cached_compile.call(null,"~\x3c\x3c-(~;~@{~w~^ ~_~}~;)-\x3c~:\x3e"))}();
cljs.pprint.type_dispatcher=function(a){return a instanceof cljs.core.PersistentQueue?new cljs.core.Keyword(null,"queue","queue",1455835879):(null!=a?a.cljs$lang$protocol_mask$partition0$&32768||cljs.core.PROTOCOL_SENTINEL===a.cljs$core$IDeref$||(a.cljs$lang$protocol_mask$partition0$?0:cljs.core.native_satisfies_QMARK_.call(null,cljs.core.IDeref,a)):cljs.core.native_satisfies_QMARK_.call(null,cljs.core.IDeref,a))?new cljs.core.Keyword(null,"deref","deref",-145586795):a instanceof cljs.core.Symbol?
new cljs.core.Keyword(null,"symbol","symbol",-1038572696):cljs.core.seq_QMARK_.call(null,a)?new cljs.core.Keyword(null,"list","list",765357683):cljs.core.map_QMARK_.call(null,a)?new cljs.core.Keyword(null,"map","map",1371690461):cljs.core.vector_QMARK_.call(null,a)?new cljs.core.Keyword(null,"vector","vector",1902966158):cljs.core.set_QMARK_.call(null,a)?new cljs.core.Keyword(null,"set","set",304602554):null==a?null:new cljs.core.Keyword(null,"default","default",-1987822328)};
if("undefined"===typeof cljs||"undefined"===typeof cljs.pprint||"undefined"===typeof cljs.pprint.simple_dispatch)cljs.pprint.simple_dispatch=function(){var a=cljs.core.atom.call(null,cljs.core.PersistentArrayMap.EMPTY),b=cljs.core.atom.call(null,cljs.core.PersistentArrayMap.EMPTY),c=cljs.core.atom.call(null,cljs.core.PersistentArrayMap.EMPTY),d=cljs.core.atom.call(null,cljs.core.PersistentArrayMap.EMPTY),e=cljs.core.get.call(null,cljs.core.PersistentArrayMap.EMPTY,new cljs.core.Keyword(null,"hierarchy",
"hierarchy",-1053470341),cljs.core.get_global_hierarchy.call(null));return new cljs.core.MultiFn(cljs.core.symbol.call(null,"cljs.pprint","simple-dispatch"),cljs.pprint.type_dispatcher,new cljs.core.Keyword(null,"default","default",-1987822328),e,a,b,c,d)}();cljs.pprint.use_method.call(null,cljs.pprint.simple_dispatch,new cljs.core.Keyword(null,"list","list",765357683),cljs.pprint.pprint_list);
cljs.pprint.use_method.call(null,cljs.pprint.simple_dispatch,new cljs.core.Keyword(null,"vector","vector",1902966158),cljs.pprint.pprint_vector);cljs.pprint.use_method.call(null,cljs.pprint.simple_dispatch,new cljs.core.Keyword(null,"map","map",1371690461),cljs.pprint.pprint_map);cljs.pprint.use_method.call(null,cljs.pprint.simple_dispatch,new cljs.core.Keyword(null,"set","set",304602554),cljs.pprint.pprint_set);
cljs.pprint.use_method.call(null,cljs.pprint.simple_dispatch,null,function(){return cljs.core._write.call(null,cljs.core._STAR_out_STAR_,cljs.core.pr_str.call(null,null))});cljs.pprint.use_method.call(null,cljs.pprint.simple_dispatch,new cljs.core.Keyword(null,"default","default",-1987822328),cljs.pprint.pprint_simple_default);cljs.pprint.set_pprint_dispatch.call(null,cljs.pprint.simple_dispatch);
cljs.pprint.brackets=function(a){return cljs.core.vector_QMARK_.call(null,a)?new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,["[","]"],null):new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,["(",")"],null)};
cljs.pprint.pprint_ns_reference=function(a){if(cljs.core.sequential_QMARK_.call(null,a)){var b=cljs.pprint.brackets.call(null,a),c=cljs.core.nth.call(null,b,0,null),d=cljs.core.nth.call(null,b,1,null),e=cljs.core.seq.call(null,a),f=cljs.core.first.call(null,e),g=cljs.core.next.call(null,e);if(cljs.core.truth_(cljs.pprint.level_exceeded.call(null)))cljs.core._write.call(null,cljs.core._STAR_out_STAR_,"#");else{var h=cljs.pprint._STAR_current_level_STAR_,k=cljs.pprint._STAR_current_length_STAR_,l=cljs.pprint._STAR_current_level_STAR_+
1;cljs.pprint._STAR_current_level_STAR_=l;cljs.pprint._STAR_current_length_STAR_=0;try{cljs.pprint.start_block.call(null,cljs.core._STAR_out_STAR_,c,null,d);(function(){return function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r){return function(){var a=function(a){a=cljs.pprint.init_navigator.call(null,a);return cljs.pprint.execute_format.call(null,b,a)},c=function(b){var c=null;if(0<arguments.length){c=0;for(var d=Array(arguments.length-0);c<d.length;)d[c]=arguments[c+0],++c;c=new cljs.core.IndexedSeq(d,0,null)}return a.call(this,
c)};c.cljs$lang$maxFixedArity=0;c.cljs$lang$applyTo=function(b){b=cljs.core.seq(b);return a(b)};c.cljs$core$IFn$_invoke$arity$variadic=a;return c}()}("~w~:i",cljs.pprint.cached_compile.call(null,"~w~:i"),h,k,l,0,b,c,d,a,e,f,g,f,g)})().call(null,f);for(var m=g;;)if(cljs.core.seq.call(null,m)){(function(){var n=cljs.pprint.cached_compile.call(null," ");return function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t){return function(){var a=function(a){a=cljs.pprint.init_navigator.call(null,a);return cljs.pprint.execute_format.call(null,
c,a)},b=function(b){var c=null;if(0<arguments.length){c=0;for(var d=Array(arguments.length-0);c<d.length;)d[c]=arguments[c+0],++c;c=new cljs.core.IndexedSeq(d,0,null)}return a.call(this,c)};b.cljs$lang$maxFixedArity=0;b.cljs$lang$applyTo=function(b){b=cljs.core.seq(b);return a(b)};b.cljs$core$IFn$_invoke$arity$variadic=a;return b}()}(m," ",n,h,k,l,0,b,c,d,a,e,f,g,f,g)})().call(null);var n=cljs.core.first.call(null,m);if(cljs.core.sequential_QMARK_.call(null,n)){var p=cljs.pprint.brackets.call(null,
n),q=cljs.core.nth.call(null,p,0,null),r=cljs.core.nth.call(null,p,1,null);if(cljs.core.truth_(cljs.pprint.level_exceeded.call(null)))cljs.core._write.call(null,cljs.core._STAR_out_STAR_,"#");else{var u=cljs.pprint._STAR_current_level_STAR_,t=cljs.pprint._STAR_current_length_STAR_,v=cljs.pprint._STAR_current_level_STAR_+1;cljs.pprint._STAR_current_level_STAR_=v;cljs.pprint._STAR_current_length_STAR_=0;try{cljs.pprint.start_block.call(null,cljs.core._STAR_out_STAR_,q,null,r);if(cljs.core._EQ_.call(null,
cljs.core.count.call(null,n),3)&&cljs.core.second.call(null,n)instanceof cljs.core.Keyword){var w=n,x=cljs.core.nth.call(null,w,0,null),y=cljs.core.nth.call(null,w,1,null),z=cljs.core.nth.call(null,w,2,null);(function(){var B=cljs.pprint.cached_compile.call(null,"~w ~w ");return function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,z,x,y,B,Y,aa,ba,Z,ca){return function(){var a=function(a){a=cljs.pprint.init_navigator.call(null,a);return cljs.pprint.execute_format.call(null,c,a)},b=function(b){var c=null;
if(0<arguments.length){c=0;for(var d=Array(arguments.length-0);c<d.length;)d[c]=arguments[c+0],++c;c=new cljs.core.IndexedSeq(d,0,null)}return a.call(this,c)};b.cljs$lang$maxFixedArity=0;b.cljs$lang$applyTo=function(b){b=cljs.core.seq(b);return a(b)};b.cljs$core$IFn$_invoke$arity$variadic=a;return b}()}(m,"~w ~w ",B,w,x,y,z,u,t,v,0,p,q,r,n,h,k,l,0,b,c,d,a,e,f,g,f,g)})().call(null,x,y);cljs.core.sequential_QMARK_.call(null,z)?function(){var B=cljs.core.vector_QMARK_.call(null,z)?"~\x3c[~;~@{~w~^ ~:_~}~;]~:\x3e":
"~\x3c(~;~@{~w~^ ~:_~}~;)~:\x3e",C="string"===typeof B?cljs.pprint.cached_compile.call(null,B):B;return function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,z,x,y,B,C,ba,Z,ca,ea){return function(){var a=function(a){a=cljs.pprint.init_navigator.call(null,a);return cljs.pprint.execute_format.call(null,c,a)},b=function(b){var c=null;if(0<arguments.length){c=0;for(var d=Array(arguments.length-0);c<d.length;)d[c]=arguments[c+0],++c;c=new cljs.core.IndexedSeq(d,0,null)}return a.call(this,c)};b.cljs$lang$maxFixedArity=
0;b.cljs$lang$applyTo=function(b){b=cljs.core.seq(b);return a(b)};b.cljs$core$IFn$_invoke$arity$variadic=a;return b}()}(m,B,C,w,x,y,z,u,t,v,0,p,q,r,n,h,k,l,0,b,c,d,a,e,f,g,f,g)}().call(null,z):cljs.pprint.write_out.call(null,z)}else cljs.core.apply.call(null,function(){var w=cljs.pprint.cached_compile.call(null,"~w ~:i~@{~w~^ ~:_~}");return function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,z,x,y,B,Y){return function(){var a=function(a){a=cljs.pprint.init_navigator.call(null,a);return cljs.pprint.execute_format.call(null,
c,a)},b=function(b){var c=null;if(0<arguments.length){c=0;for(var d=Array(arguments.length-0);c<d.length;)d[c]=arguments[c+0],++c;c=new cljs.core.IndexedSeq(d,0,null)}return a.call(this,c)};b.cljs$lang$maxFixedArity=0;b.cljs$lang$applyTo=function(b){b=cljs.core.seq(b);return a(b)};b.cljs$core$IFn$_invoke$arity$variadic=a;return b}()}(m,"~w ~:i~@{~w~^ ~:_~}",w,u,t,v,0,p,q,r,n,h,k,l,0,b,c,d,a,e,f,g,f,g)}(),n);cljs.pprint.end_block.call(null,cljs.core._STAR_out_STAR_)}finally{cljs.pprint._STAR_current_length_STAR_=
t,cljs.pprint._STAR_current_level_STAR_=u}}cljs.core.next.call(null,m)&&function(){var t=cljs.pprint.cached_compile.call(null,"~_");return function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,z){return function(){var a=function(a){a=cljs.pprint.init_navigator.call(null,a);return cljs.pprint.execute_format.call(null,c,a)},b=function(b){var c=null;if(0<arguments.length){c=0;for(var d=Array(arguments.length-0);c<d.length;)d[c]=arguments[c+0],++c;c=new cljs.core.IndexedSeq(d,0,null)}return a.call(this,c)};
b.cljs$lang$maxFixedArity=0;b.cljs$lang$applyTo=function(b){b=cljs.core.seq(b);return a(b)};b.cljs$core$IFn$_invoke$arity$variadic=a;return b}()}(m,"~_",t,p,q,r,n,h,k,l,0,b,c,d,a,e,f,g,f,g)}().call(null)}else cljs.pprint.write_out.call(null,n),cljs.core.next.call(null,m)&&function(){var p=cljs.pprint.cached_compile.call(null,"~:_");return function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u){return function(){var a=function(a){a=cljs.pprint.init_navigator.call(null,a);return cljs.pprint.execute_format.call(null,
c,a)},b=function(b){var c=null;if(0<arguments.length){c=0;for(var d=Array(arguments.length-0);c<d.length;)d[c]=arguments[c+0],++c;c=new cljs.core.IndexedSeq(d,0,null)}return a.call(this,c)};b.cljs$lang$maxFixedArity=0;b.cljs$lang$applyTo=function(b){b=cljs.core.seq(b);return a(b)};b.cljs$core$IFn$_invoke$arity$variadic=a;return b}()}(m,"~:_",p,n,h,k,l,0,b,c,d,a,e,f,g,f,g)}().call(null);m=cljs.core.next.call(null,m)}else break;cljs.pprint.end_block.call(null,cljs.core._STAR_out_STAR_)}finally{cljs.pprint._STAR_current_length_STAR_=
k,cljs.pprint._STAR_current_level_STAR_=h}}return null}return cljs.pprint.write_out.call(null,a)};
cljs.pprint.pprint_ns=function(a){if(cljs.core.next.call(null,a)){var b=cljs.core.seq.call(null,a),c=cljs.core.first.call(null,b),d=cljs.core.next.call(null,b),e=cljs.core.first.call(null,d),f=cljs.core.next.call(null,d),g="string"===typeof cljs.core.first.call(null,f)?new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[cljs.core.first.call(null,f),cljs.core.next.call(null,f)],null):new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[null,f],null),
h=cljs.core.nth.call(null,g,0,null),k=cljs.core.nth.call(null,g,1,null),l=cljs.core.map_QMARK_.call(null,cljs.core.first.call(null,k))?new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[cljs.core.first.call(null,k),cljs.core.next.call(null,k)],null):new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[null,k],null),m=cljs.core.nth.call(null,l,0,null),n=cljs.core.nth.call(null,l,1,null);if(cljs.core.truth_(cljs.pprint.level_exceeded.call(null)))cljs.core._write.call(null,
cljs.core._STAR_out_STAR_,"#");else{var p=cljs.pprint._STAR_current_level_STAR_,q=cljs.pprint._STAR_current_length_STAR_,r=cljs.pprint._STAR_current_level_STAR_+1;cljs.pprint._STAR_current_level_STAR_=r;cljs.pprint._STAR_current_length_STAR_=0;try{cljs.pprint.start_block.call(null,cljs.core._STAR_out_STAR_,"(",null,")");(function(){return function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,P,N,Q){return function(){var a=function(a){a=cljs.pprint.init_navigator.call(null,a);return cljs.pprint.execute_format.call(null,
b,a)},c=function(b){var c=null;if(0<arguments.length){c=0;for(var d=Array(arguments.length-0);c<d.length;)d[c]=arguments[c+0],++c;c=new cljs.core.IndexedSeq(d,0,null)}return a.call(this,c)};c.cljs$lang$maxFixedArity=0;c.cljs$lang$applyTo=function(b){b=cljs.core.seq(b);return a(b)};c.cljs$core$IFn$_invoke$arity$variadic=a;return c}()}("~w ~1I~@_~w",cljs.pprint.cached_compile.call(null,"~w ~1I~@_~w"),p,q,r,0,a,b,c,d,c,e,f,e,f,g,h,k,l,m,n)})().call(null,c,e);cljs.core.truth_(cljs.core.truth_(h)?h:cljs.core.truth_(m)?
m:cljs.core.seq.call(null,n))&&function(){return function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,P,N,Q){return function(){var a=function(a){a=cljs.pprint.init_navigator.call(null,a);return cljs.pprint.execute_format.call(null,b,a)},c=function(b){var c=null;if(0<arguments.length){c=0;for(var d=Array(arguments.length-0);c<d.length;)d[c]=arguments[c+0],++c;c=new cljs.core.IndexedSeq(d,0,null)}return a.call(this,c)};c.cljs$lang$maxFixedArity=0;c.cljs$lang$applyTo=function(b){b=cljs.core.seq(b);return a(b)};
c.cljs$core$IFn$_invoke$arity$variadic=a;return c}()}("~@:_",cljs.pprint.cached_compile.call(null,"~@:_"),p,q,r,0,a,b,c,d,c,e,f,e,f,g,h,k,l,m,n)}().call(null);cljs.core.truth_(h)&&cljs.pprint.cl_format.call(null,!0,'"~a"~:[~;~:@_~]',h,cljs.core.truth_(m)?m:cljs.core.seq.call(null,n));cljs.core.truth_(m)&&function(){return function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,P,N,Q){return function(){var a=function(a){a=cljs.pprint.init_navigator.call(null,a);return cljs.pprint.execute_format.call(null,b,a)},
c=function(b){var c=null;if(0<arguments.length){c=0;for(var d=Array(arguments.length-0);c<d.length;)d[c]=arguments[c+0],++c;c=new cljs.core.IndexedSeq(d,0,null)}return a.call(this,c)};c.cljs$lang$maxFixedArity=0;c.cljs$lang$applyTo=function(b){b=cljs.core.seq(b);return a(b)};c.cljs$core$IFn$_invoke$arity$variadic=a;return c}()}("~w~:[~;~:@_~]",cljs.pprint.cached_compile.call(null,"~w~:[~;~:@_~]"),p,q,r,0,a,b,c,d,c,e,f,e,f,g,h,k,l,m,n)}().call(null,m,cljs.core.seq.call(null,n));for(var u=n;;){cljs.pprint.pprint_ns_reference.call(null,
cljs.core.first.call(null,u));var t=cljs.core.next.call(null,u);if(t){var v=t;cljs.pprint.pprint_newline.call(null,new cljs.core.Keyword(null,"linear","linear",872268697));u=v}else break}cljs.pprint.end_block.call(null,cljs.core._STAR_out_STAR_)}finally{cljs.pprint._STAR_current_length_STAR_=q,cljs.pprint._STAR_current_level_STAR_=p}}return null}return cljs.pprint.write_out.call(null,a)};
cljs.pprint.pprint_hold_first=function(){return function(a,b){return function(){var a=function(a){a=cljs.pprint.init_navigator.call(null,a);return cljs.pprint.execute_format.call(null,b,a)},d=function(b){var c=null;if(0<arguments.length){c=0;for(var d=Array(arguments.length-0);c<d.length;)d[c]=arguments[c+0],++c;c=new cljs.core.IndexedSeq(d,0,null)}return a.call(this,c)};d.cljs$lang$maxFixedArity=0;d.cljs$lang$applyTo=function(b){b=cljs.core.seq(b);return a(b)};d.cljs$core$IFn$_invoke$arity$variadic=
a;return d}()}("~:\x3c~w~^ ~@_~w~^ ~_~@{~w~^ ~_~}~:\x3e",cljs.pprint.cached_compile.call(null,"~:\x3c~w~^ ~@_~w~^ ~_~@{~w~^ ~_~}~:\x3e"))}();
cljs.pprint.single_defn=function(a,b){return cljs.core.seq.call(null,a)?(cljs.core.truth_(b)?function(){return function(a,b){return function(){var a=function(a){a=cljs.pprint.init_navigator.call(null,a);return cljs.pprint.execute_format.call(null,b,a)},c=function(b){var c=null;if(0<arguments.length){c=0;for(var d=Array(arguments.length-0);c<d.length;)d[c]=arguments[c+0],++c;c=new cljs.core.IndexedSeq(d,0,null)}return a.call(this,c)};c.cljs$lang$maxFixedArity=0;c.cljs$lang$applyTo=function(b){b=cljs.core.seq(b);
return a(b)};c.cljs$core$IFn$_invoke$arity$variadic=a;return c}()}(" ~_",cljs.pprint.cached_compile.call(null," ~_"))}().call(null):function(){return function(a,b){return function(){var a=function(a){a=cljs.pprint.init_navigator.call(null,a);return cljs.pprint.execute_format.call(null,b,a)},c=function(b){var c=null;if(0<arguments.length){c=0;for(var d=Array(arguments.length-0);c<d.length;)d[c]=arguments[c+0],++c;c=new cljs.core.IndexedSeq(d,0,null)}return a.call(this,c)};c.cljs$lang$maxFixedArity=
0;c.cljs$lang$applyTo=function(b){b=cljs.core.seq(b);return a(b)};c.cljs$core$IFn$_invoke$arity$variadic=a;return c}()}(" ~@_",cljs.pprint.cached_compile.call(null," ~@_"))}().call(null),function(){return function(a,b){return function(){var a=function(a){a=cljs.pprint.init_navigator.call(null,a);return cljs.pprint.execute_format.call(null,b,a)},c=function(b){var c=null;if(0<arguments.length){c=0;for(var d=Array(arguments.length-0);c<d.length;)d[c]=arguments[c+0],++c;c=new cljs.core.IndexedSeq(d,0,
null)}return a.call(this,c)};c.cljs$lang$maxFixedArity=0;c.cljs$lang$applyTo=function(b){b=cljs.core.seq(b);return a(b)};c.cljs$core$IFn$_invoke$arity$variadic=a;return c}()}("~{~w~^ ~_~}",cljs.pprint.cached_compile.call(null,"~{~w~^ ~_~}"))}().call(null,a)):null};
cljs.pprint.multi_defn=function(a,b){return cljs.core.seq.call(null,a)?function(){return function(a,b){return function(){var a=function(a){a=cljs.pprint.init_navigator.call(null,a);return cljs.pprint.execute_format.call(null,b,a)},c=function(b){var c=null;if(0<arguments.length){c=0;for(var d=Array(arguments.length-0);c<d.length;)d[c]=arguments[c+0],++c;c=new cljs.core.IndexedSeq(d,0,null)}return a.call(this,c)};c.cljs$lang$maxFixedArity=0;c.cljs$lang$applyTo=function(b){b=cljs.core.seq(b);return a(b)};
c.cljs$core$IFn$_invoke$arity$variadic=a;return c}()}(" ~_~{~w~^ ~_~}",cljs.pprint.cached_compile.call(null," ~_~{~w~^ ~_~}"))}().call(null,a):null};
cljs.pprint.pprint_defn=function(a){if(cljs.core.next.call(null,a)){var b=cljs.core.seq.call(null,a),c=cljs.core.first.call(null,b),d=cljs.core.next.call(null,b),e=cljs.core.first.call(null,d),f=cljs.core.next.call(null,d),g="string"===typeof cljs.core.first.call(null,f)?new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[cljs.core.first.call(null,f),cljs.core.next.call(null,f)],null):new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[null,f],
null),h=cljs.core.nth.call(null,g,0,null),k=cljs.core.nth.call(null,g,1,null),l=cljs.core.map_QMARK_.call(null,cljs.core.first.call(null,k))?new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[cljs.core.first.call(null,k),cljs.core.next.call(null,k)],null):new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[null,k],null),m=cljs.core.nth.call(null,l,0,null),n=cljs.core.nth.call(null,l,1,null);if(cljs.core.truth_(cljs.pprint.level_exceeded.call(null)))cljs.core._write.call(null,
cljs.core._STAR_out_STAR_,"#");else{var p=cljs.pprint._STAR_current_level_STAR_,q=cljs.pprint._STAR_current_length_STAR_,r=cljs.pprint._STAR_current_level_STAR_+1;cljs.pprint._STAR_current_level_STAR_=r;cljs.pprint._STAR_current_length_STAR_=0;try{cljs.pprint.start_block.call(null,cljs.core._STAR_out_STAR_,"(",null,")"),function(){return function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,M,L,K,I,H,O){return function(){var a=function(a){a=cljs.pprint.init_navigator.call(null,a);return cljs.pprint.execute_format.call(null,
b,a)},c=function(b){var c=null;if(0<arguments.length){c=0;for(var d=Array(arguments.length-0);c<d.length;)d[c]=arguments[c+0],++c;c=new cljs.core.IndexedSeq(d,0,null)}return a.call(this,c)};c.cljs$lang$maxFixedArity=0;c.cljs$lang$applyTo=function(b){b=cljs.core.seq(b);return a(b)};c.cljs$core$IFn$_invoke$arity$variadic=a;return c}()}("~w ~1I~@_~w",cljs.pprint.cached_compile.call(null,"~w ~1I~@_~w"),p,q,r,0,a,b,c,d,c,e,f,e,f,g,h,k,l,m,n)}().call(null,c,e),cljs.core.truth_(h)&&function(){return function(a,
b,c,d,e,f,g,h,k,l,m,n,p,q,r,M,L,K,I,H,O){return function(){var a=function(a){a=cljs.pprint.init_navigator.call(null,a);return cljs.pprint.execute_format.call(null,b,a)},c=function(b){var c=null;if(0<arguments.length){c=0;for(var d=Array(arguments.length-0);c<d.length;)d[c]=arguments[c+0],++c;c=new cljs.core.IndexedSeq(d,0,null)}return a.call(this,c)};c.cljs$lang$maxFixedArity=0;c.cljs$lang$applyTo=function(b){b=cljs.core.seq(b);return a(b)};c.cljs$core$IFn$_invoke$arity$variadic=a;return c}()}(" ~_~w",
cljs.pprint.cached_compile.call(null," ~_~w"),p,q,r,0,a,b,c,d,c,e,f,e,f,g,h,k,l,m,n)}().call(null,h),cljs.core.truth_(m)&&function(){return function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,M,L,K,I,H,O){return function(){var a=function(a){a=cljs.pprint.init_navigator.call(null,a);return cljs.pprint.execute_format.call(null,b,a)},c=function(b){var c=null;if(0<arguments.length){c=0;for(var d=Array(arguments.length-0);c<d.length;)d[c]=arguments[c+0],++c;c=new cljs.core.IndexedSeq(d,0,null)}return a.call(this,c)};
c.cljs$lang$maxFixedArity=0;c.cljs$lang$applyTo=function(b){b=cljs.core.seq(b);return a(b)};c.cljs$core$IFn$_invoke$arity$variadic=a;return c}()}(" ~_~w",cljs.pprint.cached_compile.call(null," ~_~w"),p,q,r,0,a,b,c,d,c,e,f,e,f,g,h,k,l,m,n)}().call(null,m),cljs.core.vector_QMARK_.call(null,cljs.core.first.call(null,n))?cljs.pprint.single_defn.call(null,n,cljs.core.truth_(h)?h:m):cljs.pprint.multi_defn.call(null,n,cljs.core.truth_(h)?h:m),cljs.pprint.end_block.call(null,cljs.core._STAR_out_STAR_)}finally{cljs.pprint._STAR_current_length_STAR_=
q,cljs.pprint._STAR_current_level_STAR_=p}}return null}return cljs.pprint.pprint_simple_code_list.call(null,a)};
cljs.pprint.pprint_binding_form=function(a){if(cljs.core.truth_(cljs.pprint.level_exceeded.call(null)))cljs.core._write.call(null,cljs.core._STAR_out_STAR_,"#");else{var b=cljs.pprint._STAR_current_level_STAR_,c=cljs.pprint._STAR_current_length_STAR_;cljs.pprint._STAR_current_level_STAR_+=1;cljs.pprint._STAR_current_length_STAR_=0;try{cljs.pprint.start_block.call(null,cljs.core._STAR_out_STAR_,"[",null,"]");for(var d=0;;){if(cljs.core.not.call(null,cljs.core._STAR_print_length_STAR_)||d<cljs.core._STAR_print_length_STAR_){if(cljs.core.seq.call(null,
a)){if(cljs.core.truth_(cljs.pprint.level_exceeded.call(null)))cljs.core._write.call(null,cljs.core._STAR_out_STAR_,"#");else{var e=cljs.pprint._STAR_current_level_STAR_,f=cljs.pprint._STAR_current_length_STAR_;cljs.pprint._STAR_current_level_STAR_+=1;cljs.pprint._STAR_current_length_STAR_=0;try{cljs.pprint.start_block.call(null,cljs.core._STAR_out_STAR_,null,null,null),cljs.pprint.write_out.call(null,cljs.core.first.call(null,a)),cljs.core.next.call(null,a)&&(cljs.core._write.call(null,cljs.core._STAR_out_STAR_,
" "),cljs.pprint.pprint_newline.call(null,new cljs.core.Keyword(null,"miser","miser",-556060186)),cljs.pprint.write_out.call(null,cljs.core.second.call(null,a))),cljs.pprint.end_block.call(null,cljs.core._STAR_out_STAR_)}finally{cljs.pprint._STAR_current_length_STAR_=f,cljs.pprint._STAR_current_level_STAR_=e}}if(cljs.core.next.call(null,cljs.core.rest.call(null,a))){cljs.core._write.call(null,cljs.core._STAR_out_STAR_," ");cljs.pprint.pprint_newline.call(null,new cljs.core.Keyword(null,"linear","linear",
872268697));var g=d+1,h=cljs.core.next.call(null,cljs.core.rest.call(null,a));d=g;a=h;continue}}}else cljs.core._write.call(null,cljs.core._STAR_out_STAR_,"...");break}cljs.pprint.end_block.call(null,cljs.core._STAR_out_STAR_)}finally{cljs.pprint._STAR_current_length_STAR_=c,cljs.pprint._STAR_current_level_STAR_=b}}return null};
cljs.pprint.pprint_let=function(a){var b=cljs.core.first.call(null,a);if(cljs.core.truth_(cljs.pprint.level_exceeded.call(null)))cljs.core._write.call(null,cljs.core._STAR_out_STAR_,"#");else{var c=cljs.pprint._STAR_current_level_STAR_,d=cljs.pprint._STAR_current_length_STAR_,e=cljs.pprint._STAR_current_level_STAR_+1;cljs.pprint._STAR_current_level_STAR_=e;cljs.pprint._STAR_current_length_STAR_=0;try{cljs.pprint.start_block.call(null,cljs.core._STAR_out_STAR_,"(",null,")"),cljs.core.next.call(null,
a)&&cljs.core.vector_QMARK_.call(null,cljs.core.second.call(null,a))?(function(){return function(a,b,c,d,e,m,n){return function(){var a=function(a){a=cljs.pprint.init_navigator.call(null,a);return cljs.pprint.execute_format.call(null,b,a)},c=function(b){var c=null;if(0<arguments.length){c=0;for(var d=Array(arguments.length-0);c<d.length;)d[c]=arguments[c+0],++c;c=new cljs.core.IndexedSeq(d,0,null)}return a.call(this,c)};c.cljs$lang$maxFixedArity=0;c.cljs$lang$applyTo=function(b){b=cljs.core.seq(b);
return a(b)};c.cljs$core$IFn$_invoke$arity$variadic=a;return c}()}("~w ~1I~@_",cljs.pprint.cached_compile.call(null,"~w ~1I~@_"),c,d,e,0,b)}().call(null,b),cljs.pprint.pprint_binding_form.call(null,cljs.core.second.call(null,a)),function(){return function(a,b,c,d,e,m,n){return function(){var a=function(a){a=cljs.pprint.init_navigator.call(null,a);return cljs.pprint.execute_format.call(null,b,a)},c=function(b){var c=null;if(0<arguments.length){c=0;for(var d=Array(arguments.length-0);c<d.length;)d[c]=
arguments[c+0],++c;c=new cljs.core.IndexedSeq(d,0,null)}return a.call(this,c)};c.cljs$lang$maxFixedArity=0;c.cljs$lang$applyTo=function(b){b=cljs.core.seq(b);return a(b)};c.cljs$core$IFn$_invoke$arity$variadic=a;return c}()}(" ~_~{~w~^ ~_~}",cljs.pprint.cached_compile.call(null," ~_~{~w~^ ~_~}"),c,d,e,0,b)}().call(null,cljs.core.next.call(null,cljs.core.rest.call(null,a)))):cljs.pprint.pprint_simple_code_list.call(null,a),cljs.pprint.end_block.call(null,cljs.core._STAR_out_STAR_)}finally{cljs.pprint._STAR_current_length_STAR_=
d,cljs.pprint._STAR_current_level_STAR_=c}}return null};
cljs.pprint.pprint_if=function(){return function(a,b){return function(){var a=function(a){a=cljs.pprint.init_navigator.call(null,a);return cljs.pprint.execute_format.call(null,b,a)},d=function(b){var c=null;if(0<arguments.length){c=0;for(var d=Array(arguments.length-0);c<d.length;)d[c]=arguments[c+0],++c;c=new cljs.core.IndexedSeq(d,0,null)}return a.call(this,c)};d.cljs$lang$maxFixedArity=0;d.cljs$lang$applyTo=function(b){b=cljs.core.seq(b);return a(b)};d.cljs$core$IFn$_invoke$arity$variadic=a;return d}()}("~:\x3c~1I~w~^ ~@_~w~@{ ~_~w~}~:\x3e",
cljs.pprint.cached_compile.call(null,"~:\x3c~1I~w~^ ~@_~w~@{ ~_~w~}~:\x3e"))}();
cljs.pprint.pprint_cond=function(a){if(cljs.core.truth_(cljs.pprint.level_exceeded.call(null)))cljs.core._write.call(null,cljs.core._STAR_out_STAR_,"#");else{var b=cljs.pprint._STAR_current_level_STAR_,c=cljs.pprint._STAR_current_length_STAR_;cljs.pprint._STAR_current_level_STAR_+=1;cljs.pprint._STAR_current_length_STAR_=0;try{cljs.pprint.start_block.call(null,cljs.core._STAR_out_STAR_,"(",null,")");cljs.pprint.pprint_indent.call(null,new cljs.core.Keyword(null,"block","block",664686210),1);cljs.pprint.write_out.call(null,
cljs.core.first.call(null,a));if(cljs.core.next.call(null,a)){cljs.core._write.call(null,cljs.core._STAR_out_STAR_," ");cljs.pprint.pprint_newline.call(null,new cljs.core.Keyword(null,"linear","linear",872268697));for(var d=0,e=cljs.core.next.call(null,a);;){if(cljs.core.not.call(null,cljs.core._STAR_print_length_STAR_)||d<cljs.core._STAR_print_length_STAR_){if(e){if(cljs.core.truth_(cljs.pprint.level_exceeded.call(null)))cljs.core._write.call(null,cljs.core._STAR_out_STAR_,"#");else{var f=cljs.pprint._STAR_current_level_STAR_,
g=cljs.pprint._STAR_current_length_STAR_;cljs.pprint._STAR_current_level_STAR_+=1;cljs.pprint._STAR_current_length_STAR_=0;try{cljs.pprint.start_block.call(null,cljs.core._STAR_out_STAR_,null,null,null),cljs.pprint.write_out.call(null,cljs.core.first.call(null,e)),cljs.core.next.call(null,e)&&(cljs.core._write.call(null,cljs.core._STAR_out_STAR_," "),cljs.pprint.pprint_newline.call(null,new cljs.core.Keyword(null,"miser","miser",-556060186)),cljs.pprint.write_out.call(null,cljs.core.second.call(null,
e))),cljs.pprint.end_block.call(null,cljs.core._STAR_out_STAR_)}finally{cljs.pprint._STAR_current_length_STAR_=g,cljs.pprint._STAR_current_level_STAR_=f}}if(cljs.core.next.call(null,cljs.core.rest.call(null,e))){cljs.core._write.call(null,cljs.core._STAR_out_STAR_," ");cljs.pprint.pprint_newline.call(null,new cljs.core.Keyword(null,"linear","linear",872268697));a=d+1;var h=cljs.core.next.call(null,cljs.core.rest.call(null,e));d=a;e=h;continue}}}else cljs.core._write.call(null,cljs.core._STAR_out_STAR_,
"...");break}}cljs.pprint.end_block.call(null,cljs.core._STAR_out_STAR_)}finally{cljs.pprint._STAR_current_length_STAR_=c,cljs.pprint._STAR_current_level_STAR_=b}}return null};
cljs.pprint.pprint_condp=function(a){if(3<cljs.core.count.call(null,a)){if(cljs.core.truth_(cljs.pprint.level_exceeded.call(null)))cljs.core._write.call(null,cljs.core._STAR_out_STAR_,"#");else{var b=cljs.pprint._STAR_current_level_STAR_,c=cljs.pprint._STAR_current_length_STAR_,d=cljs.pprint._STAR_current_level_STAR_+1;cljs.pprint._STAR_current_level_STAR_=d;cljs.pprint._STAR_current_length_STAR_=0;try{cljs.pprint.start_block.call(null,cljs.core._STAR_out_STAR_,"(",null,")");cljs.pprint.pprint_indent.call(null,
new cljs.core.Keyword(null,"block","block",664686210),1);cljs.core.apply.call(null,function(){return function(a,b,c,d,e,f){return function(){var a=function(a){a=cljs.pprint.init_navigator.call(null,a);return cljs.pprint.execute_format.call(null,b,a)},c=function(b){var c=null;if(0<arguments.length){c=0;for(var d=Array(arguments.length-0);c<d.length;)d[c]=arguments[c+0],++c;c=new cljs.core.IndexedSeq(d,0,null)}return a.call(this,c)};c.cljs$lang$maxFixedArity=0;c.cljs$lang$applyTo=function(b){b=cljs.core.seq(b);
return a(b)};c.cljs$core$IFn$_invoke$arity$variadic=a;return c}()}("~w ~@_~w ~@_~w ~_",cljs.pprint.cached_compile.call(null,"~w ~@_~w ~@_~w ~_"),b,c,d,0)}(),a);for(var e=0,f=cljs.core.seq.call(null,cljs.core.drop.call(null,3,a));;){if(cljs.core.not.call(null,cljs.core._STAR_print_length_STAR_)||e<cljs.core._STAR_print_length_STAR_){if(f){if(cljs.core.truth_(cljs.pprint.level_exceeded.call(null)))cljs.core._write.call(null,cljs.core._STAR_out_STAR_,"#");else{var g=cljs.pprint._STAR_current_level_STAR_,
h=cljs.pprint._STAR_current_length_STAR_;cljs.pprint._STAR_current_level_STAR_+=1;cljs.pprint._STAR_current_length_STAR_=0;try{cljs.pprint.start_block.call(null,cljs.core._STAR_out_STAR_,null,null,null),cljs.pprint.write_out.call(null,cljs.core.first.call(null,f)),cljs.core.next.call(null,f)&&(cljs.core._write.call(null,cljs.core._STAR_out_STAR_," "),cljs.pprint.pprint_newline.call(null,new cljs.core.Keyword(null,"miser","miser",-556060186)),cljs.pprint.write_out.call(null,cljs.core.second.call(null,
f))),cljs.pprint.end_block.call(null,cljs.core._STAR_out_STAR_)}finally{cljs.pprint._STAR_current_length_STAR_=h,cljs.pprint._STAR_current_level_STAR_=g}}if(cljs.core.next.call(null,cljs.core.rest.call(null,f))){cljs.core._write.call(null,cljs.core._STAR_out_STAR_," ");cljs.pprint.pprint_newline.call(null,new cljs.core.Keyword(null,"linear","linear",872268697));a=e+1;var k=cljs.core.next.call(null,cljs.core.rest.call(null,f));e=a;f=k;continue}}}else cljs.core._write.call(null,cljs.core._STAR_out_STAR_,
"...");break}cljs.pprint.end_block.call(null,cljs.core._STAR_out_STAR_)}finally{cljs.pprint._STAR_current_length_STAR_=c,cljs.pprint._STAR_current_level_STAR_=b}}return null}return cljs.pprint.pprint_simple_code_list.call(null,a)};cljs.pprint._STAR_symbol_map_STAR_=cljs.core.PersistentArrayMap.EMPTY;
cljs.pprint.pprint_anon_func=function(a){var b=cljs.core.second.call(null,a),c=cljs.core.first.call(null,cljs.core.rest.call(null,cljs.core.rest.call(null,a)));if(cljs.core.vector_QMARK_.call(null,b)){var d=cljs.pprint._STAR_symbol_map_STAR_,e=cljs.core._EQ_.call(null,1,cljs.core.count.call(null,b))?cljs.core.PersistentArrayMap.createAsIfByAssoc([cljs.core.first.call(null,b),"%"]):cljs.core.into.call(null,cljs.core.PersistentArrayMap.EMPTY,cljs.core.map.call(null,function(a,b,c){return function(a,
b){return new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[a,["%",cljs.core.str.cljs$core$IFn$_invoke$arity$1(b)].join("")],null)}}(d,b,c),b,cljs.core.range.call(null,1,cljs.core.count.call(null,b)+1)));cljs.pprint._STAR_symbol_map_STAR_=e;try{return function(){return function(a,b,c,d,e,m){return function(){var a=function(a){a=cljs.pprint.init_navigator.call(null,a);return cljs.pprint.execute_format.call(null,b,a)},c=function(b){var c=null;if(0<arguments.length){c=0;
for(var d=Array(arguments.length-0);c<d.length;)d[c]=arguments[c+0],++c;c=new cljs.core.IndexedSeq(d,0,null)}return a.call(this,c)};c.cljs$lang$maxFixedArity=0;c.cljs$lang$applyTo=function(b){b=cljs.core.seq(b);return a(b)};c.cljs$core$IFn$_invoke$arity$variadic=a;return c}()}("~\x3c#(~;~@{~w~^ ~_~}~;)~:\x3e",cljs.pprint.cached_compile.call(null,"~\x3c#(~;~@{~w~^ ~_~}~;)~:\x3e"),d,e,b,c)}().call(null,c)}finally{cljs.pprint._STAR_symbol_map_STAR_=d}}else return cljs.pprint.pprint_simple_code_list.call(null,
a)};
cljs.pprint.pprint_simple_code_list=function(a){if(cljs.core.truth_(cljs.pprint.level_exceeded.call(null)))cljs.core._write.call(null,cljs.core._STAR_out_STAR_,"#");else{var b=cljs.pprint._STAR_current_level_STAR_,c=cljs.pprint._STAR_current_length_STAR_;cljs.pprint._STAR_current_level_STAR_+=1;cljs.pprint._STAR_current_length_STAR_=0;try{cljs.pprint.start_block.call(null,cljs.core._STAR_out_STAR_,"(",null,")");cljs.pprint.pprint_indent.call(null,new cljs.core.Keyword(null,"block","block",664686210),1);
for(var d=0,e=cljs.core.seq.call(null,a);;){if(cljs.core.not.call(null,cljs.core._STAR_print_length_STAR_)||d<cljs.core._STAR_print_length_STAR_){if(e&&(cljs.pprint.write_out.call(null,cljs.core.first.call(null,e)),cljs.core.next.call(null,e))){cljs.core._write.call(null,cljs.core._STAR_out_STAR_," ");cljs.pprint.pprint_newline.call(null,new cljs.core.Keyword(null,"linear","linear",872268697));a=d+1;var f=cljs.core.next.call(null,e);d=a;e=f;continue}}else cljs.core._write.call(null,cljs.core._STAR_out_STAR_,
"...");break}cljs.pprint.end_block.call(null,cljs.core._STAR_out_STAR_)}finally{cljs.pprint._STAR_current_length_STAR_=c,cljs.pprint._STAR_current_level_STAR_=b}}return null};
cljs.pprint.two_forms=function(a){return cljs.core.into.call(null,cljs.core.PersistentArrayMap.EMPTY,cljs.core.mapcat.call(null,cljs.core.identity,function(){return function d(a){return new cljs.core.LazySeq(null,function(){for(;;){var c=cljs.core.seq.call(null,a);if(c){if(cljs.core.chunked_seq_QMARK_.call(null,c)){var f=cljs.core.chunk_first.call(null,c),g=cljs.core.count.call(null,f),h=cljs.core.chunk_buffer.call(null,g);a:for(var k=0;;)if(k<g){var l=cljs.core._nth.call(null,f,k);cljs.core.chunk_append.call(null,
h,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[l,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[cljs.core.symbol.call(null,cljs.core.name.call(null,cljs.core.first.call(null,l))),cljs.core.second.call(null,l)],null)],null));k+=1}else{f=!0;break a}return f?cljs.core.chunk_cons.call(null,cljs.core.chunk.call(null,h),d.call(null,cljs.core.chunk_rest.call(null,c))):cljs.core.chunk_cons.call(null,cljs.core.chunk.call(null,h),null)}h=cljs.core.first.call(null,
c);return cljs.core.cons.call(null,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[h,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[cljs.core.symbol.call(null,cljs.core.name.call(null,cljs.core.first.call(null,h))),cljs.core.second.call(null,h)],null)],null),d.call(null,cljs.core.rest.call(null,c)))}return null}},null,null)}.call(null,a)}()))};
cljs.pprint.add_core_ns=function(a){return cljs.core.into.call(null,cljs.core.PersistentArrayMap.EMPTY,cljs.core.map.call(null,function(a){return function(b){var c=cljs.core.nth.call(null,b,0,null),e=cljs.core.nth.call(null,b,1,null);return cljs.core.not.call(null,function(){var a=cljs.core.namespace.call(null,c);return cljs.core.truth_(a)?a:cljs.core.special_symbol_QMARK_.call(null,c)}())?new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[cljs.core.symbol.call(null,a,
cljs.core.name.call(null,c)),e],null):b}}("clojure.core"),a))};
cljs.pprint._STAR_code_table_STAR_=cljs.pprint.two_forms.call(null,cljs.pprint.add_core_ns.call(null,cljs.core.PersistentHashMap.fromArrays([new cljs.core.Symbol(null,".",".",1975675962,null),new cljs.core.Symbol(null,"fn*","fn*",-752876845,null),new cljs.core.Symbol(null,"when-first","when-first",821699168,null),new cljs.core.Symbol(null,"if","if",1181717262,null),new cljs.core.Symbol(null,"condp","condp",1054325175,null),new cljs.core.Symbol(null,"..","..",-300507420,null),new cljs.core.Symbol(null,
"defmacro","defmacro",2054157304,null),new cljs.core.Symbol(null,"defn","defn",-126010802,null),new cljs.core.Symbol(null,"loop","loop",1244978678,null),new cljs.core.Symbol(null,"struct","struct",325972931,null),new cljs.core.Symbol(null,"doseq","doseq",221164135,null),new cljs.core.Symbol(null,"if-not","if-not",-265415609,null),new cljs.core.Symbol(null,"when-not","when-not",-1223136340,null),new cljs.core.Symbol(null,"def","def",597100991,null),new cljs.core.Symbol(null,"when","when",1064114221,
null),new cljs.core.Symbol(null,"with-open","with-open",172119667,null),new cljs.core.Symbol(null,"with-local-vars","with-local-vars",837642072,null),new cljs.core.Symbol(null,"defonce","defonce",-1681484013,null),new cljs.core.Symbol(null,"when-let","when-let",-1383043480,null),new cljs.core.Symbol(null,"ns","ns",2082130287,null),new cljs.core.Symbol(null,"dotimes","dotimes",-818708397,null),new cljs.core.Symbol(null,"cond","cond",1606708055,null),new cljs.core.Symbol(null,"let","let",358118826,
null),new cljs.core.Symbol(null,"fn","fn",465265323,null),new cljs.core.Symbol(null,"defn-","defn-",1097765044,null),new cljs.core.Symbol(null,"locking","locking",1542862874,null),new cljs.core.Symbol(null,"-\x3e","-\x3e",-2139605430,null),new cljs.core.Symbol(null,"if-let","if-let",1803593690,null),new cljs.core.Symbol(null,"binding","binding",-2114503176,null),new cljs.core.Symbol(null,"struct-map","struct-map",-1387540878,null)],[cljs.pprint.pprint_hold_first,cljs.pprint.pprint_anon_func,cljs.pprint.pprint_let,
cljs.pprint.pprint_if,cljs.pprint.pprint_condp,cljs.pprint.pprint_hold_first,cljs.pprint.pprint_defn,cljs.pprint.pprint_defn,cljs.pprint.pprint_let,cljs.pprint.pprint_hold_first,cljs.pprint.pprint_let,cljs.pprint.pprint_if,cljs.pprint.pprint_if,cljs.pprint.pprint_hold_first,cljs.pprint.pprint_if,cljs.pprint.pprint_let,cljs.pprint.pprint_let,cljs.pprint.pprint_hold_first,cljs.pprint.pprint_let,cljs.pprint.pprint_ns,cljs.pprint.pprint_let,cljs.pprint.pprint_cond,cljs.pprint.pprint_let,cljs.pprint.pprint_defn,
cljs.pprint.pprint_defn,cljs.pprint.pprint_hold_first,cljs.pprint.pprint_hold_first,cljs.pprint.pprint_let,cljs.pprint.pprint_let,cljs.pprint.pprint_hold_first])));cljs.pprint.pprint_code_list=function(a){if(cljs.core.not.call(null,cljs.pprint.pprint_reader_macro.call(null,a))){var b=cljs.pprint._STAR_code_table_STAR_.call(null,cljs.core.first.call(null,a));return cljs.core.truth_(b)?b.call(null,a):cljs.pprint.pprint_simple_code_list.call(null,a)}return null};
cljs.pprint.pprint_code_symbol=function(a){var b=a.call(null,cljs.pprint._STAR_symbol_map_STAR_);return cljs.core.truth_(b)?cljs.pprint.print.call(null,b):cljs.core.truth_(cljs.pprint._STAR_print_suppress_namespaces_STAR_)?cljs.pprint.print.call(null,cljs.core.name.call(null,a)):cljs.pprint.pr.call(null,a)};
if("undefined"===typeof cljs||"undefined"===typeof cljs.pprint||"undefined"===typeof cljs.pprint.code_dispatch)cljs.pprint.code_dispatch=function(){var a=cljs.core.atom.call(null,cljs.core.PersistentArrayMap.EMPTY),b=cljs.core.atom.call(null,cljs.core.PersistentArrayMap.EMPTY),c=cljs.core.atom.call(null,cljs.core.PersistentArrayMap.EMPTY),d=cljs.core.atom.call(null,cljs.core.PersistentArrayMap.EMPTY),e=cljs.core.get.call(null,cljs.core.PersistentArrayMap.EMPTY,new cljs.core.Keyword(null,"hierarchy",
"hierarchy",-1053470341),cljs.core.get_global_hierarchy.call(null));return new cljs.core.MultiFn(cljs.core.symbol.call(null,"cljs.pprint","code-dispatch"),cljs.pprint.type_dispatcher,new cljs.core.Keyword(null,"default","default",-1987822328),e,a,b,c,d)}();cljs.pprint.use_method.call(null,cljs.pprint.code_dispatch,new cljs.core.Keyword(null,"list","list",765357683),cljs.pprint.pprint_code_list);
cljs.pprint.use_method.call(null,cljs.pprint.code_dispatch,new cljs.core.Keyword(null,"symbol","symbol",-1038572696),cljs.pprint.pprint_code_symbol);cljs.pprint.use_method.call(null,cljs.pprint.code_dispatch,new cljs.core.Keyword(null,"vector","vector",1902966158),cljs.pprint.pprint_vector);cljs.pprint.use_method.call(null,cljs.pprint.code_dispatch,new cljs.core.Keyword(null,"map","map",1371690461),cljs.pprint.pprint_map);
cljs.pprint.use_method.call(null,cljs.pprint.code_dispatch,new cljs.core.Keyword(null,"set","set",304602554),cljs.pprint.pprint_set);cljs.pprint.use_method.call(null,cljs.pprint.code_dispatch,new cljs.core.Keyword(null,"queue","queue",1455835879),cljs.pprint.pprint_pqueue);cljs.pprint.use_method.call(null,cljs.pprint.code_dispatch,new cljs.core.Keyword(null,"deref","deref",-145586795),cljs.pprint.pprint_ideref);cljs.pprint.use_method.call(null,cljs.pprint.code_dispatch,null,cljs.pprint.pr);
cljs.pprint.use_method.call(null,cljs.pprint.code_dispatch,new cljs.core.Keyword(null,"default","default",-1987822328),cljs.pprint.pprint_simple_default);cljs.pprint.set_pprint_dispatch.call(null,cljs.pprint.simple_dispatch);cljs.pprint.add_padding=function(a,b){a-=cljs.core.count.call(null,b);return cljs.core.apply.call(null,cljs.core.str,clojure.string.join.call(null,cljs.core.repeat.call(null,0>a?0:a," ")),b)};
cljs.pprint.print_table=function(a){switch(arguments.length){case 2:return cljs.pprint.print_table.cljs$core$IFn$_invoke$arity$2(arguments[0],arguments[1]);case 1:return cljs.pprint.print_table.cljs$core$IFn$_invoke$arity$1(arguments[0]);default:throw Error(["Invalid arity: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(""));}};
cljs.pprint.print_table.cljs$core$IFn$_invoke$arity$2=function(a,b){if(cljs.core.seq.call(null,b)){var c=cljs.core.map.call(null,function(a){return cljs.core.apply.call(null,cljs.core.max,cljs.core.count.call(null,cljs.core.str.cljs$core$IFn$_invoke$arity$1(a)),cljs.core.map.call(null,function(b){return cljs.core.count.call(null,cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.core.get.call(null,b,a)))},b))},a),d=cljs.core.map.call(null,function(a){return function(a){return cljs.core.apply.call(null,
cljs.core.str,cljs.core.repeat.call(null,a,"-"))}}(c),c);c=function(b,c){return function(d,e,f,g){return[cljs.core.str.cljs$core$IFn$_invoke$arity$1(d),cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.core.apply.call(null,cljs.core.str,cljs.core.interpose.call(null,e,function(){var d=function(a,b){return function x(c){return new cljs.core.LazySeq(null,function(a,b){return function(){for(;;){var a=cljs.core.seq.call(null,c);if(a){if(cljs.core.chunked_seq_QMARK_.call(null,a)){var b=cljs.core.chunk_first.call(null,
a),d=cljs.core.count.call(null,b),e=cljs.core.chunk_buffer.call(null,d);a:for(var f=0;;)if(f<d){var g=cljs.core._nth.call(null,b,f),h=cljs.core.nth.call(null,g,0,null);g=cljs.core.nth.call(null,g,1,null);cljs.core.chunk_append.call(null,e,cljs.pprint.add_padding.call(null,g,cljs.core.str.cljs$core$IFn$_invoke$arity$1(h)));f+=1}else{b=!0;break a}return b?cljs.core.chunk_cons.call(null,cljs.core.chunk.call(null,e),x.call(null,cljs.core.chunk_rest.call(null,a))):cljs.core.chunk_cons.call(null,cljs.core.chunk.call(null,
e),null)}b=cljs.core.first.call(null,a);e=cljs.core.nth.call(null,b,0,null);b=cljs.core.nth.call(null,b,1,null);return cljs.core.cons.call(null,cljs.pprint.add_padding.call(null,b,cljs.core.str.cljs$core$IFn$_invoke$arity$1(e)),x.call(null,cljs.core.rest.call(null,a)))}return null}}}(a,b),null,null)}}(b,c);return d.call(null,cljs.core.map.call(null,cljs.core.vector,cljs.core.map.call(null,function(a,b,c){return function(a){return cljs.core.get.call(null,g,a)}}(d,b,c),a),b))}()))),cljs.core.str.cljs$core$IFn$_invoke$arity$1(f)].join("")}}(c,
d);cljs.core.println.call(null);cljs.core.println.call(null,c.call(null,"| "," | "," |",cljs.core.zipmap.call(null,a,a)));cljs.core.println.call(null,c.call(null,"|-","-+-","-|",cljs.core.zipmap.call(null,a,d)));d=cljs.core.seq.call(null,b);for(var e=null,f=0,g=0;;)if(g<f){var h=cljs.core._nth.call(null,e,g);cljs.core.println.call(null,c.call(null,"| "," | "," |",h));g+=1}else if(d=cljs.core.seq.call(null,d))e=d,cljs.core.chunked_seq_QMARK_.call(null,e)?(d=cljs.core.chunk_first.call(null,e),f=cljs.core.chunk_rest.call(null,
e),e=d,h=cljs.core.count.call(null,d),d=f,f=h):(h=cljs.core.first.call(null,e),cljs.core.println.call(null,c.call(null,"| "," | "," |",h)),d=cljs.core.next.call(null,e),e=null,f=0),g=0;else return null}else return null};cljs.pprint.print_table.cljs$core$IFn$_invoke$arity$1=function(a){return cljs.pprint.print_table.call(null,cljs.core.keys.call(null,cljs.core.first.call(null,a)),a)};cljs.pprint.print_table.cljs$lang$maxFixedArity=2;cljs.test={};cljs.test.empty_env=function(a){switch(arguments.length){case 0:return cljs.test.empty_env.cljs$core$IFn$_invoke$arity$0();case 1:return cljs.test.empty_env.cljs$core$IFn$_invoke$arity$1(arguments[0]);default:throw Error(["Invalid arity: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(""));}};cljs.test.empty_env.cljs$core$IFn$_invoke$arity$0=function(){return cljs.test.empty_env.call(null,new cljs.core.Keyword("cljs.test","default","cljs.test/default",-1581405322))};
cljs.test.empty_env.cljs$core$IFn$_invoke$arity$1=function(a){var b=new cljs.core.PersistentArrayMap(null,5,[new cljs.core.Keyword(null,"report-counters","report-counters",-1702609242),new cljs.core.PersistentArrayMap(null,4,[new cljs.core.Keyword(null,"test","test",577538877),0,new cljs.core.Keyword(null,"pass","pass",1574159993),0,new cljs.core.Keyword(null,"fail","fail",1706214930),0,new cljs.core.Keyword(null,"error","error",-978969032),0],null),new cljs.core.Keyword(null,"testing-vars","testing-vars",
-2114769150),cljs.core.List.EMPTY,new cljs.core.Keyword(null,"testing-contexts","testing-contexts",-1485646523),cljs.core.List.EMPTY,new cljs.core.Keyword(null,"formatter","formatter",-483008823),cljs.core.pr_str,new cljs.core.Keyword(null,"reporter","reporter",-805360621),a],null);return cljs.core._EQ_.call(null,new cljs.core.Keyword("cljs.test","pprint","cljs.test/pprint",1627393641),a)?cljs.core.assoc.call(null,b,new cljs.core.Keyword(null,"reporter","reporter",-805360621),new cljs.core.Keyword("cljs.test",
"default","cljs.test/default",-1581405322),new cljs.core.Keyword(null,"formatter","formatter",-483008823),cljs.pprint.pprint):b};cljs.test.empty_env.cljs$lang$maxFixedArity=1;cljs.test._STAR_current_env_STAR_=null;cljs.test.get_current_env=function(){var a=cljs.test._STAR_current_env_STAR_;return cljs.core.truth_(a)?a:cljs.test.empty_env.call(null)};
cljs.test.update_current_env_BANG_=function(a){for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;b=2<b.length?new cljs.core.IndexedSeq(b.slice(2),0,null):null;return cljs.test.update_current_env_BANG_.cljs$core$IFn$_invoke$arity$variadic(arguments[0],arguments[1],b)};
cljs.test.update_current_env_BANG_.cljs$core$IFn$_invoke$arity$variadic=function(a,b,c){return cljs.test._STAR_current_env_STAR_=cljs.core.apply.call(null,cljs.core.update_in,cljs.test.get_current_env.call(null),a,b,c)};cljs.test.update_current_env_BANG_.cljs$lang$maxFixedArity=2;
cljs.test.update_current_env_BANG_.cljs$lang$applyTo=function(a){var b=cljs.core.first.call(null,a),c=cljs.core.next.call(null,a);a=cljs.core.first.call(null,c);c=cljs.core.next.call(null,c);return this.cljs$core$IFn$_invoke$arity$variadic(b,a,c)};cljs.test.set_env_BANG_=function(a){return cljs.test._STAR_current_env_STAR_=a};cljs.test.clear_env_BANG_=function(){return cljs.test._STAR_current_env_STAR_=null};
cljs.test.get_and_clear_env_BANG_=function(){var a=cljs.test.get_current_env.call(null);cljs.test.clear_env_BANG_.call(null);return a};
cljs.test.testing_vars_str=function(a){var b=null!=a&&(a.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===a.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,a):a,c=cljs.core.get.call(null,b,new cljs.core.Keyword(null,"file","file",-1269645878)),d=cljs.core.get.call(null,b,new cljs.core.Keyword(null,"line","line",212345235)),e=cljs.core.get.call(null,b,new cljs.core.Keyword(null,"column","column",2078222095));return[cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.core.reverse.call(null,
cljs.core.map.call(null,function(a,b,c,d,e){return function(a){return(new cljs.core.Keyword(null,"name","name",1843675177)).cljs$core$IFn$_invoke$arity$1(cljs.core.meta.call(null,a))}}(a,b,c,d,e),(new cljs.core.Keyword(null,"testing-vars","testing-vars",-2114769150)).cljs$core$IFn$_invoke$arity$1(cljs.test.get_current_env.call(null)))))," (",cljs.core.str.cljs$core$IFn$_invoke$arity$1(c),":",cljs.core.str.cljs$core$IFn$_invoke$arity$1(d),cljs.core.truth_(e)?[":",cljs.core.str.cljs$core$IFn$_invoke$arity$1(e)].join(""):
null,")"].join("")};cljs.test.testing_contexts_str=function(){return cljs.core.apply.call(null,cljs.core.str,cljs.core.interpose.call(null," ",cljs.core.reverse.call(null,(new cljs.core.Keyword(null,"testing-contexts","testing-contexts",-1485646523)).cljs$core$IFn$_invoke$arity$1(cljs.test.get_current_env.call(null)))))};
cljs.test.inc_report_counter_BANG_=function(a){return cljs.core.truth_((new cljs.core.Keyword(null,"report-counters","report-counters",-1702609242)).cljs$core$IFn$_invoke$arity$1(cljs.test.get_current_env.call(null)))?cljs.test.update_current_env_BANG_.call(null,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"report-counters","report-counters",-1702609242),a],null),cljs.core.fnil.call(null,cljs.core.inc,0)):null};
if("undefined"===typeof cljs||"undefined"===typeof cljs.test||"undefined"===typeof cljs.test.report)cljs.test.report=function(){var a=cljs.core.atom.call(null,cljs.core.PersistentArrayMap.EMPTY),b=cljs.core.atom.call(null,cljs.core.PersistentArrayMap.EMPTY),c=cljs.core.atom.call(null,cljs.core.PersistentArrayMap.EMPTY),d=cljs.core.atom.call(null,cljs.core.PersistentArrayMap.EMPTY),e=cljs.core.get.call(null,cljs.core.PersistentArrayMap.EMPTY,new cljs.core.Keyword(null,"hierarchy","hierarchy",-1053470341),
cljs.core.get_global_hierarchy.call(null));return new cljs.core.MultiFn(cljs.core.symbol.call(null,"cljs.test","report"),function(a,b,c,d,e){return function(a){return new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[(new cljs.core.Keyword(null,"reporter","reporter",-805360621)).cljs$core$IFn$_invoke$arity$1(cljs.test.get_current_env.call(null)),(new cljs.core.Keyword(null,"type","type",1174270348)).cljs$core$IFn$_invoke$arity$1(a)],null)}}(a,b,c,d,e),new cljs.core.Keyword(null,
"default","default",-1987822328),e,a,b,c,d)}();cljs.core._add_method.call(null,cljs.test.report,new cljs.core.Keyword(null,"default","default",-1987822328),function(a){return null});
cljs.core._add_method.call(null,cljs.test.report,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword("cljs.test","default","cljs.test/default",-1581405322),new cljs.core.Keyword(null,"pass","pass",1574159993)],null),function(a){return cljs.test.inc_report_counter_BANG_.call(null,new cljs.core.Keyword(null,"pass","pass",1574159993))});
cljs.test.print_comparison=function(a){var b=(new cljs.core.Keyword(null,"formatter","formatter",-483008823)).cljs$core$IFn$_invoke$arity$1(cljs.test.get_current_env.call(null));b=cljs.core.truth_(b)?b:cljs.core.pr_str;cljs.core.println.call(null,"expected:",b.call(null,(new cljs.core.Keyword(null,"expected","expected",1583670997)).cljs$core$IFn$_invoke$arity$1(a)));return cljs.core.println.call(null,"  actual:",b.call(null,(new cljs.core.Keyword(null,"actual","actual",107306363)).cljs$core$IFn$_invoke$arity$1(a)))};
cljs.core._add_method.call(null,cljs.test.report,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword("cljs.test","default","cljs.test/default",-1581405322),new cljs.core.Keyword(null,"fail","fail",1706214930)],null),function(a){cljs.test.inc_report_counter_BANG_.call(null,new cljs.core.Keyword(null,"fail","fail",1706214930));cljs.core.println.call(null,"\nFAIL in",cljs.test.testing_vars_str.call(null,a));cljs.core.seq.call(null,(new cljs.core.Keyword(null,
"testing-contexts","testing-contexts",-1485646523)).cljs$core$IFn$_invoke$arity$1(cljs.test.get_current_env.call(null)))&&cljs.core.println.call(null,cljs.test.testing_contexts_str.call(null));var b=(new cljs.core.Keyword(null,"message","message",-406056002)).cljs$core$IFn$_invoke$arity$1(a);cljs.core.truth_(b)&&cljs.core.println.call(null,b);return cljs.test.print_comparison.call(null,a)});
cljs.core._add_method.call(null,cljs.test.report,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword("cljs.test","default","cljs.test/default",-1581405322),new cljs.core.Keyword(null,"error","error",-978969032)],null),function(a){cljs.test.inc_report_counter_BANG_.call(null,new cljs.core.Keyword(null,"error","error",-978969032));cljs.core.println.call(null,"\nERROR in",cljs.test.testing_vars_str.call(null,a));cljs.core.seq.call(null,(new cljs.core.Keyword(null,
"testing-contexts","testing-contexts",-1485646523)).cljs$core$IFn$_invoke$arity$1(cljs.test.get_current_env.call(null)))&&cljs.core.println.call(null,cljs.test.testing_contexts_str.call(null));var b=(new cljs.core.Keyword(null,"message","message",-406056002)).cljs$core$IFn$_invoke$arity$1(a);cljs.core.truth_(b)&&cljs.core.println.call(null,b);return cljs.test.print_comparison.call(null,a)});
cljs.core._add_method.call(null,cljs.test.report,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword("cljs.test","default","cljs.test/default",-1581405322),new cljs.core.Keyword(null,"summary","summary",380847952)],null),function(a){cljs.core.println.call(null,"\nRan",(new cljs.core.Keyword(null,"test","test",577538877)).cljs$core$IFn$_invoke$arity$1(a),"tests containing",(new cljs.core.Keyword(null,"pass","pass",1574159993)).cljs$core$IFn$_invoke$arity$1(a)+
(new cljs.core.Keyword(null,"fail","fail",1706214930)).cljs$core$IFn$_invoke$arity$1(a)+(new cljs.core.Keyword(null,"error","error",-978969032)).cljs$core$IFn$_invoke$arity$1(a),"assertions.");return cljs.core.println.call(null,(new cljs.core.Keyword(null,"fail","fail",1706214930)).cljs$core$IFn$_invoke$arity$1(a),"failures,",(new cljs.core.Keyword(null,"error","error",-978969032)).cljs$core$IFn$_invoke$arity$1(a),"errors.")});
cljs.core._add_method.call(null,cljs.test.report,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword("cljs.test","default","cljs.test/default",-1581405322),new cljs.core.Keyword(null,"begin-test-ns","begin-test-ns",-1701237033)],null),function(a){return cljs.core.println.call(null,"\nTesting",cljs.core.name.call(null,(new cljs.core.Keyword(null,"ns","ns",441598760)).cljs$core$IFn$_invoke$arity$1(a)))});
cljs.core._add_method.call(null,cljs.test.report,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword("cljs.test","default","cljs.test/default",-1581405322),new cljs.core.Keyword(null,"end-test-ns","end-test-ns",1620675645)],null),function(a){return null});
cljs.core._add_method.call(null,cljs.test.report,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword("cljs.test","default","cljs.test/default",-1581405322),new cljs.core.Keyword(null,"begin-test-var","begin-test-var",-908571100)],null),function(a){return null});
cljs.core._add_method.call(null,cljs.test.report,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword("cljs.test","default","cljs.test/default",-1581405322),new cljs.core.Keyword(null,"end-test-var","end-test-var",984198545)],null),function(a){return null});
cljs.core._add_method.call(null,cljs.test.report,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword("cljs.test","default","cljs.test/default",-1581405322),new cljs.core.Keyword(null,"end-run-tests","end-run-tests",267300563)],null),function(a){return null});
cljs.core._add_method.call(null,cljs.test.report,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword("cljs.test","default","cljs.test/default",-1581405322),new cljs.core.Keyword(null,"end-test-all-vars","end-test-all-vars",548827253)],null),function(a){return null});
cljs.core._add_method.call(null,cljs.test.report,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword("cljs.test","default","cljs.test/default",-1581405322),new cljs.core.Keyword(null,"end-test-vars","end-test-vars",-1394419713)],null),function(a){return null});
cljs.test.js_line_and_column=function(a){a=a.split(":");var b=cljs.core.count.call(null,a);return 1<b?new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[parseInt(cljs.core.nth.call(null,a,b-2),10),parseInt(cljs.core.nth.call(null,a,b-1),10)],null):new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[NaN,NaN],null)};
cljs.test.js_filename=function(a){var b=clojure.string.ends_with_QMARK_.call(null,"/Users/candera/.boot/cache/tmp/Users/candera/projects/vmt/5lm/8utry3/index.html.out","/")?"/Users/candera/.boot/cache/tmp/Users/candera/projects/vmt/5lm/8utry3/index.html.out":"/Users/candera/.boot/cache/tmp/Users/candera/projects/vmt/5lm/8utry3/index.html.out/";return cljs.core.first.call(null,cljs.core.last.call(null,a.split(b)).split(":"))};
cljs.test.mapped_line_and_column=function(a,b,c){var d=new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,[a,b,c],null),e=(new cljs.core.Keyword(null,"source-map","source-map",1706252311)).cljs$core$IFn$_invoke$arity$1(cljs.test.get_current_env.call(null));if(cljs.core.truth_(e)){var f=cljs.core.get_in.call(null,e,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[a,b-1],null));return cljs.core.truth_(f)?cljs.core.vec.call(null,cljs.core.map.call(null,
cljs.core.first.call(null,function(){var a=cljs.core.get.call(null,f,c-1);return cljs.core.truth_(a)?a:cljs.core.second.call(null,cljs.core.first.call(null,f))}()),new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"source","source",-433931539),new cljs.core.Keyword(null,"line","line",212345235),new cljs.core.Keyword(null,"col","col",-1959363084)],null))):d}return d};
cljs.test.file_and_line=function(a,b){var c="string"===typeof a.stack;c?(c=a.stack,c=null==c?null:clojure.string.split_lines.call(null,c),b=null==c?null:cljs.core.get.call(null,c,b),b=null==b?null:clojure.string.trim.call(null,b)):b=c;return cljs.core.truth_(b)?(a=cljs.test.js_filename.call(null,b),c=cljs.test.js_line_and_column.call(null,b),b=cljs.core.nth.call(null,c,0,null),c=cljs.core.nth.call(null,c,1,null),c=cljs.test.mapped_line_and_column.call(null,a,b,c),a=cljs.core.nth.call(null,c,0,null),
b=cljs.core.nth.call(null,c,1,null),c=cljs.core.nth.call(null,c,2,null),new cljs.core.PersistentArrayMap(null,3,[new cljs.core.Keyword(null,"file","file",-1269645878),a,new cljs.core.Keyword(null,"line","line",212345235),b,new cljs.core.Keyword(null,"column","column",2078222095),c],null)):new cljs.core.PersistentArrayMap(null,2,[new cljs.core.Keyword(null,"file","file",-1269645878),a.fileName,new cljs.core.Keyword(null,"line","line",212345235),a.lineNumber],null)};
cljs.test.do_report=function(a){var b=function(){var b=(new cljs.core.Keyword(null,"type","type",1174270348)).cljs$core$IFn$_invoke$arity$1(a);switch(b instanceof cljs.core.Keyword?b.fqn:null){case "fail":return cljs.core.merge.call(null,cljs.test.file_and_line.call(null,Error(),4),a);case "error":return cljs.core.merge.call(null,cljs.test.file_and_line.call(null,(new cljs.core.Keyword(null,"actual","actual",107306363)).cljs$core$IFn$_invoke$arity$1(a),0),a);default:return a}}();return cljs.test.report.call(null,
b)};cljs.test.IAsyncTest=function(){};cljs.test.async_QMARK_=function(a){return null!=a?cljs.core.PROTOCOL_SENTINEL===a.cljs$test$IAsyncTest$?!0:a.cljs$lang$protocol_mask$partition$?!1:cljs.core.native_satisfies_QMARK_.call(null,cljs.test.IAsyncTest,a):cljs.core.native_satisfies_QMARK_.call(null,cljs.test.IAsyncTest,a)};
cljs.test.run_block=function(a){for(;;){var b=cljs.core.seq.call(null,a);if(b){var c=b,d=cljs.core.first.call(null,c),e=d.call(null);if(cljs.test.async_QMARK_.call(null,e))return e.call(null,function(){var f=new cljs.core.Delay(function(a,b,c,d,e){return function(){return cljs.test.run_block.call(null,cljs.core.rest.call(null,a))}}(a,e,d,c,b),null);return function(a,b,c,d,e,f){return function(){return cljs.core.realized_QMARK_.call(null,b)?cljs.core.println.call(null,"WARNING: Async test called done more than one time."):
cljs.core.deref.call(null,b)}}(a,f,e,d,c,b)}());a=function(){var b=cljs.core.rest.call(null,a);return cljs.core.truth_((new cljs.core.Keyword("cljs.test","block?","cljs.test/block?",686379965)).cljs$core$IFn$_invoke$arity$1(cljs.core.meta.call(null,e)))?cljs.core.concat.call(null,e,b):b}()}else return null}};cljs.test.block=function(a){return null==a?null:cljs.core.vary_meta.call(null,a,cljs.core.assoc,new cljs.core.Keyword("cljs.test","block?","cljs.test/block?",686379965),!0)};
cljs.test.test_var_block_STAR_=function(a,b){if(!(a instanceof cljs.core.Var))throw Error("Assert failed: (instance? Var v)");return new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[function(){cljs.test.update_current_env_BANG_.call(null,new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"testing-vars","testing-vars",-2114769150)],null),cljs.core.conj,a);cljs.test.update_current_env_BANG_.call(null,new cljs.core.PersistentVector(null,
2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"report-counters","report-counters",-1702609242),new cljs.core.Keyword(null,"test","test",577538877)],null),cljs.core.inc);cljs.test.do_report.call(null,new cljs.core.PersistentArrayMap(null,2,[new cljs.core.Keyword(null,"type","type",1174270348),new cljs.core.Keyword(null,"begin-test-var","begin-test-var",-908571100),new cljs.core.Keyword(null,"var","var",-769682797),a],null));try{return b.call(null)}catch(d){var c=d;switch(c instanceof
cljs.core.Keyword?c.fqn:null){case "cljs.test/async-disabled":throw"Async tests require fixtures to be specified as maps.  Testing aborted.";default:return cljs.test.do_report.call(null,new cljs.core.PersistentArrayMap(null,4,[new cljs.core.Keyword(null,"type","type",1174270348),new cljs.core.Keyword(null,"error","error",-978969032),new cljs.core.Keyword(null,"message","message",-406056002),"Uncaught exception, not in assertion.",new cljs.core.Keyword(null,"expected","expected",1583670997),null,new cljs.core.Keyword(null,
"actual","actual",107306363),c],null))}}},function(){cljs.test.do_report.call(null,new cljs.core.PersistentArrayMap(null,2,[new cljs.core.Keyword(null,"type","type",1174270348),new cljs.core.Keyword(null,"end-test-var","end-test-var",984198545),new cljs.core.Keyword(null,"var","var",-769682797),a],null));return cljs.test.update_current_env_BANG_.call(null,new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"testing-vars","testing-vars",-2114769150)],
null),cljs.core.rest)}],null)};cljs.test.test_var_block=function(a){var b=(new cljs.core.Keyword(null,"test","test",577538877)).cljs$core$IFn$_invoke$arity$1(cljs.core.meta.call(null,a));return cljs.core.truth_(b)?cljs.test.test_var_block_STAR_.call(null,a,b):null};cljs.test.test_var=function(a){return cljs.test.run_block.call(null,cljs.test.test_var_block.call(null,a))};cljs.test.default_fixture=function(a){return a.call(null)};
cljs.test.compose_fixtures=function(a,b){return function(c){return a.call(null,function(){return b.call(null,c)})}};cljs.test.join_fixtures=function(a){return cljs.core.reduce.call(null,cljs.test.compose_fixtures,cljs.test.default_fixture,a)};
cljs.test.wrap_map_fixtures=function(a,b){return cljs.core.concat.call(null,cljs.core.keep.call(null,new cljs.core.Keyword(null,"before","before",-1633692388),a),b,cljs.core.reverse.call(null,cljs.core.keep.call(null,new cljs.core.Keyword(null,"after","after",594996914),a)))};
cljs.test.execution_strategy=function(a,b){var c=function(a){return cljs.core.empty_QMARK_.call(null,a)?new cljs.core.Keyword(null,"none","none",1333468478):cljs.core.every_QMARK_.call(null,cljs.core.map_QMARK_,a)?new cljs.core.Keyword(null,"map","map",1371690461):cljs.core.every_QMARK_.call(null,cljs.core.fn_QMARK_,a)?new cljs.core.Keyword(null,"fn","fn",-1175266204):null},d=function(){return cljs.core.distinct.call(null,cljs.core.remove.call(null,new cljs.core.PersistentHashSet(null,new cljs.core.PersistentArrayMap(null,
1,[new cljs.core.Keyword(null,"none","none",1333468478),null],null),null),cljs.core.map.call(null,c,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[a,b],null))))}.call(null),e=cljs.core.nth.call(null,d,0,null);if(!cljs.core.not_any_QMARK_.call(null,cljs.core.nil_QMARK_,d))throw Error("Assert failed: Fixtures may not be of mixed types\n(not-any? nil? types)");if(!(2>cljs.core.count.call(null,d)))throw Error("Assert failed: fixtures specified in :once and :each must be of the same type\n(\x3e 2 (count types))");
return(new cljs.core.PersistentArrayMap(null,2,[new cljs.core.Keyword(null,"map","map",1371690461),new cljs.core.Keyword(null,"async","async",1050769601),new cljs.core.Keyword(null,"fn","fn",-1175266204),new cljs.core.Keyword(null,"sync","sync",-624148946)],null)).call(null,e,new cljs.core.Keyword(null,"async","async",1050769601))};
cljs.test.disable_async=function(a){return function(){var b=a.call(null);if(cljs.test.async_QMARK_.call(null,b))throw new cljs.core.Keyword("cljs.test","async-disabled","cljs.test/async-disabled",-772095377);return b}};
cljs.test.test_vars_block=function(a){return cljs.core.map.call(null,function(a){var b=cljs.core.nth.call(null,a,0,null),d=cljs.core.nth.call(null,a,1,null);return function(a,b,c){return function(){return cljs.test.block.call(null,function(){var d=cljs.test.get_current_env.call(null),e=cljs.core.get_in.call(null,d,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"once-fixtures","once-fixtures",1253947167),b],null)),f=cljs.core.get_in.call(null,
d,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"each-fixtures","each-fixtures",802243977),b],null)),g=cljs.test.execution_strategy.call(null,e,f),n=g instanceof cljs.core.Keyword?g.fqn:null;switch(n){case "async":return cljs.test.wrap_map_fixtures.call(null,e,cljs.core.mapcat.call(null,cljs.core.comp.call(null,cljs.core.partial.call(null,cljs.test.wrap_map_fixtures,f),cljs.test.test_var_block),cljs.core.filter.call(null,cljs.core.comp.call(null,
new cljs.core.Keyword(null,"test","test",577538877),cljs.core.meta),c)));case "sync":var p=cljs.test.join_fixtures.call(null,f);return new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[function(a,b,c,d,e,f,g,h,k){return function(){return cljs.test.join_fixtures.call(null,e).call(null,function(a,b,c,d,e,f,g,h,k){return function(){for(var l=cljs.core.seq.call(null,k),m=null,n=0,p=0;;)if(p<n){var q=cljs.core._nth.call(null,m,p),r=(new cljs.core.Keyword(null,"test","test",
577538877)).cljs$core$IFn$_invoke$arity$1(cljs.core.meta.call(null,q));cljs.core.truth_(r)&&a.call(null,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t){return function(){return cljs.test.run_block.call(null,cljs.test.test_var_block_STAR_.call(null,g,cljs.test.disable_async.call(null,e)))}}(l,m,n,p,r,r,q,a,b,c,d,e,f,g,h,k));p+=1}else{var t=cljs.core.seq.call(null,l);if(t){r=t;if(cljs.core.chunked_seq_QMARK_.call(null,r))l=cljs.core.chunk_first.call(null,r),p=cljs.core.chunk_rest.call(null,r),m=l,n=cljs.core.count.call(null,
l),l=p;else{q=cljs.core.first.call(null,r);var u=(new cljs.core.Keyword(null,"test","test",577538877)).cljs$core$IFn$_invoke$arity$1(cljs.core.meta.call(null,q));cljs.core.truth_(u)&&a.call(null,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v){return function(){return cljs.test.run_block.call(null,cljs.test.test_var_block_STAR_.call(null,g,cljs.test.disable_async.call(null,e)))}}(l,m,n,p,u,u,q,r,t,a,b,c,d,e,f,g,h,k));l=cljs.core.next.call(null,r);m=null;n=0}p=0}else return null}}}(a,b,c,d,e,f,g,h,k))}}(p,
g,n,d,e,f,a,b,c)],null);default:throw Error(["No matching clause: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(n)].join(""));}}())}}(a,b,d)},cljs.core.group_by.call(null,cljs.core.comp.call(null,new cljs.core.Keyword(null,"ns","ns",441598760),cljs.core.meta),a))};
cljs.test.test_vars=function(a){return cljs.test.run_block.call(null,cljs.core.concat.call(null,cljs.test.test_vars_block.call(null,a),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[function(){return cljs.test.report.call(null,new cljs.core.PersistentArrayMap(null,2,[new cljs.core.Keyword(null,"type","type",1174270348),new cljs.core.Keyword(null,"end-test-vars","end-test-vars",-1394419713),new cljs.core.Keyword(null,"vars","vars",-2046957217),a],null))}],null)))};
cljs.test.successful_QMARK_=function(a){return 0===(new cljs.core.Keyword(null,"fail","fail",1706214930)).cljs$core$IFn$_invoke$arity$2(a,0)&&0===(new cljs.core.Keyword(null,"error","error",-978969032)).cljs$core$IFn$_invoke$arity$2(a,0)};goog.string.format=function(a,b){var c=Array.prototype.slice.call(arguments),d=c.shift();if("undefined"==typeof d)throw Error("[goog.string.format] Template required");return d.replace(/%([0\- \+]*)(\d+)?(\.(\d+))?([%sfdiu])/g,function(a,b,d,h,k,l,m,n){if("%"==l)return"%";var e=c.shift();if("undefined"==typeof e)throw Error("[goog.string.format] Not enough arguments");arguments[0]=e;return goog.string.format.demuxes_[l].apply(null,arguments)})};goog.string.format.demuxes_={};
goog.string.format.demuxes_.s=function(a,b,c,d,e,f,g,h){return isNaN(c)||""==c||a.length>=Number(c)?a:a=-1<b.indexOf("-",0)?a+goog.string.repeat(" ",Number(c)-a.length):goog.string.repeat(" ",Number(c)-a.length)+a};
goog.string.format.demuxes_.f=function(a,b,c,d,e,f,g,h){d=a.toString();isNaN(e)||""==e||(d=parseFloat(a).toFixed(e));f=0>Number(a)?"-":0<=b.indexOf("+")?"+":0<=b.indexOf(" ")?" ":"";0<=Number(a)&&(d=f+d);if(isNaN(c)||d.length>=Number(c))return d;d=isNaN(e)?Math.abs(Number(a)).toString():Math.abs(Number(a)).toFixed(e);a=Number(c)-d.length-f.length;0<=b.indexOf("-",0)?d=f+d+goog.string.repeat(" ",a):(b=0<=b.indexOf("0",0)?"0":" ",d=f+goog.string.repeat(b,a)+d);return d};
goog.string.format.demuxes_.d=function(a,b,c,d,e,f,g,h){return goog.string.format.demuxes_.f(parseInt(a,10),b,c,d,0,f,g,h)};goog.string.format.demuxes_.i=goog.string.format.demuxes_.d;goog.string.format.demuxes_.u=goog.string.format.demuxes_.d;taoensso.encore={};taoensso.encore.encore_version=new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,[2,91,0],null);
taoensso.encore.name_with_attrs=function(a){switch(arguments.length){case 2:return taoensso.encore.name_with_attrs.cljs$core$IFn$_invoke$arity$2(arguments[0],arguments[1]);case 3:return taoensso.encore.name_with_attrs.cljs$core$IFn$_invoke$arity$3(arguments[0],arguments[1],arguments[2]);default:throw Error(["Invalid arity: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(""));}};
taoensso.encore.name_with_attrs.cljs$core$IFn$_invoke$arity$2=function(a,b){return taoensso.encore.name_with_attrs.call(null,a,b,null)};
taoensso.encore.name_with_attrs.cljs$core$IFn$_invoke$arity$3=function(a,b,c){var d="string"===typeof cljs.core.first.call(null,b)&&cljs.core.next.call(null,b)?new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[cljs.core.first.call(null,b),cljs.core.next.call(null,b)],null):new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[null,b],null);b=cljs.core.nth.call(null,d,0,null);d=cljs.core.nth.call(null,d,1,null);d=cljs.core.map_QMARK_.call(null,
cljs.core.first.call(null,d))&&cljs.core.next.call(null,d)?new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[cljs.core.first.call(null,d),cljs.core.next.call(null,d)],null):new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[cljs.core.PersistentArrayMap.EMPTY,d],null);var e=cljs.core.nth.call(null,d,0,null);d=cljs.core.nth.call(null,d,1,null);b=cljs.core.truth_(b)?cljs.core.assoc.call(null,e,new cljs.core.Keyword(null,"doc","doc",1913296891),
b):e;b=cljs.core.truth_(cljs.core.meta.call(null,a))?cljs.core.conj.call(null,cljs.core.meta.call(null,a),b):b;c=cljs.core.conj.call(null,b,c);return new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[cljs.core.with_meta.call(null,a,c),d],null)};taoensso.encore.name_with_attrs.cljs$lang$maxFixedArity=3;taoensso.encore._core_merge=cljs.core.merge;taoensso.encore._core_update_in=cljs.core.update_in;
taoensso.encore.read_edn=function(a){switch(arguments.length){case 1:return taoensso.encore.read_edn.cljs$core$IFn$_invoke$arity$1(arguments[0]);case 2:return taoensso.encore.read_edn.cljs$core$IFn$_invoke$arity$2(arguments[0],arguments[1]);default:throw Error(["Invalid arity: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(""));}};taoensso.encore.read_edn.cljs$core$IFn$_invoke$arity$1=function(a){return taoensso.encore.read_edn.call(null,null,a)};
taoensso.encore.read_edn.cljs$core$IFn$_invoke$arity$2=function(a,b){if(null==b||""===b)return null;if("string"===typeof b){var c=cljs.core.get.call(null,a,new cljs.core.Keyword(null,"readers","readers",-2118263030),new cljs.core.Keyword("taoensso.encore","dynamic","taoensso.encore/dynamic",-1726758399)),d=cljs.core.get.call(null,a,new cljs.core.Keyword(null,"default","default",-1987822328),new cljs.core.Keyword("taoensso.encore","dynamic","taoensso.encore/dynamic",-1726758399));c=cljs.core.truth_(taoensso.encore.kw_identical_QMARK_.call(null,
c,new cljs.core.Keyword("taoensso.encore","dynamic","taoensso.encore/dynamic",-1726758399)))?taoensso.encore.map_keys.call(null,cljs.core.symbol,cljs.core.deref.call(null,cljs.reader._STAR_tag_table_STAR_)):c;d=cljs.core.truth_(taoensso.encore.kw_identical_QMARK_.call(null,d,new cljs.core.Keyword("taoensso.encore","dynamic","taoensso.encore/dynamic",-1726758399)))?cljs.core.deref.call(null,cljs.reader._STAR_default_data_reader_fn_STAR_):d;a=cljs.core.assoc.call(null,a,new cljs.core.Keyword(null,"readers",
"readers",-2118263030),c,new cljs.core.Keyword(null,"default","default",-1987822328),d);return cljs.tools.reader.edn.read_string.call(null,a,b)}throw cljs.core.ex_info.call(null,"`read-edn` attempt against non-nil, non-string arg",new cljs.core.PersistentArrayMap(null,2,[new cljs.core.Keyword(null,"given","given",716253602),b,new cljs.core.Keyword(null,"type","type",1174270348),cljs.core.type.call(null,b)],null));};taoensso.encore.read_edn.cljs$lang$maxFixedArity=2;
taoensso.encore.pr_edn=function(a){switch(arguments.length){case 1:return taoensso.encore.pr_edn.cljs$core$IFn$_invoke$arity$1(arguments[0]);case 2:return taoensso.encore.pr_edn.cljs$core$IFn$_invoke$arity$2(arguments[0],arguments[1]);default:throw Error(["Invalid arity: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(""));}};taoensso.encore.pr_edn.cljs$core$IFn$_invoke$arity$1=function(a){return taoensso.encore.pr_edn.call(null,null,a)};
taoensso.encore.pr_edn.cljs$core$IFn$_invoke$arity$2=function(a,b){a=cljs.core._STAR_print_level_STAR_;var c=cljs.core._STAR_print_length_STAR_;cljs.core._STAR_print_level_STAR_=null;cljs.core._STAR_print_length_STAR_=null;try{return cljs.core.pr_str.call(null,b)}finally{cljs.core._STAR_print_length_STAR_=c,cljs.core._STAR_print_level_STAR_=a}};taoensso.encore.pr_edn.cljs$lang$maxFixedArity=2;
taoensso.encore.error_data=function(a){var b=cljs.core.ex_data.call(null,a);b=cljs.core.truth_(b)?b:a instanceof Error?cljs.core.PersistentArrayMap.EMPTY:null;return cljs.core.truth_(b)?cljs.core.conj.call(null,new cljs.core.PersistentArrayMap(null,3,[new cljs.core.Keyword(null,"err-type","err-type",-116717722),cljs.core.type.call(null,a),new cljs.core.Keyword(null,"err-msg","err-msg",-1158512684),a.message,new cljs.core.Keyword(null,"err-cause","err-cause",897008749),a.cause],null),b):null};
taoensso.encore.some_QMARK_=function(a){return null==a?!1:!0};taoensso.encore.stringy_QMARK_=function(a){return a instanceof cljs.core.Keyword||"string"===typeof a};taoensso.encore.ident_QMARK_=function(a){return a instanceof cljs.core.Keyword||a instanceof cljs.core.Symbol};taoensso.encore.boolean_QMARK_=function(a){return!0===a||!1===a};
taoensso.encore.indexed_QMARK_=function(a){return null!=a?a.cljs$lang$protocol_mask$partition0$&16||cljs.core.PROTOCOL_SENTINEL===a.cljs$core$IIndexed$?!0:a.cljs$lang$protocol_mask$partition0$?!1:cljs.core.native_satisfies_QMARK_.call(null,cljs.core.IIndexed,a):cljs.core.native_satisfies_QMARK_.call(null,cljs.core.IIndexed,a)};taoensso.encore.named_QMARK_=function(a){return null!=a?a.cljs$lang$protocol_mask$partition1$&4096||cljs.core.PROTOCOL_SENTINEL===a.cljs$core$INamed$?!0:!1:!1};
taoensso.encore.editable_QMARK_=function(a){return null!=a?a.cljs$lang$protocol_mask$partition1$&4||cljs.core.PROTOCOL_SENTINEL===a.cljs$core$IEditableCollection$?!0:!1:!1};taoensso.encore.derefable_QMARK_=function(a){return null!=a?a.cljs$lang$protocol_mask$partition0$&32768||cljs.core.PROTOCOL_SENTINEL===a.cljs$core$IDeref$?!0:a.cljs$lang$protocol_mask$partition0$?!1:cljs.core.native_satisfies_QMARK_.call(null,cljs.core.IDeref,a):cljs.core.native_satisfies_QMARK_.call(null,cljs.core.IDeref,a)};
taoensso.encore.error_QMARK_=function(a){return a instanceof Error};taoensso.encore.atom_QMARK_=function(a){return a instanceof cljs.core.Atom};taoensso.encore.lazy_seq_QMARK_=function(a){return a instanceof cljs.core.LazySeq};taoensso.encore.re_pattern_QMARK_=function(a){return a instanceof RegExp};taoensso.encore.simple_ident_QMARK_=function(a){return taoensso.encore.ident_QMARK_.call(null,a)&&null==cljs.core.namespace.call(null,a)};
taoensso.encore.qualified_ident_QMARK_=function(a){var b=taoensso.encore.ident_QMARK_.call(null,a);return b?(a=cljs.core.namespace.call(null,a),cljs.core.truth_(a)?!0:a):b};taoensso.encore.simple_symbol_QMARK_=function(a){return a instanceof cljs.core.Symbol&&null==cljs.core.namespace.call(null,a)};taoensso.encore.qualified_symbol_QMARK_=function(a){var b=a instanceof cljs.core.Symbol;return b?(a=cljs.core.namespace.call(null,a),cljs.core.truth_(a)?!0:a):b};
taoensso.encore.simple_keyword_QMARK_=function(a){return a instanceof cljs.core.Keyword&&null==cljs.core.namespace.call(null,a)};taoensso.encore.qualified_keyword_QMARK_=function(a){var b=a instanceof cljs.core.Keyword;return b?(a=cljs.core.namespace.call(null,a),cljs.core.truth_(a)?!0:a):b};taoensso.encore.nempty_str_QMARK_=function(a){return"string"===typeof a&&!cljs.core._EQ_.call(null,a,"")};
taoensso.encore.nblank_str_QMARK_=function(a){return"string"===typeof a&&!clojure.string.blank_QMARK_.call(null,a)};taoensso.encore.nblank_QMARK_=function(a){return!clojure.string.blank_QMARK_.call(null,a)};taoensso.encore.vec2_QMARK_=function(a){return cljs.core.vector_QMARK_.call(null,a)&&cljs.core._EQ_.call(null,cljs.core.count.call(null,a),2)};taoensso.encore.vec3_QMARK_=function(a){return cljs.core.vector_QMARK_.call(null,a)&&cljs.core._EQ_.call(null,cljs.core.count.call(null,a),3)};
taoensso.encore.nneg_QMARK_=function(a){return!(0>a)};taoensso.encore.zero_num_QMARK_=function(a){return cljs.core._EQ_.call(null,a,0)};taoensso.encore.regular_num_QMARK_=function(a){return"number"===typeof a&&!isNaN(a)&&Infinity!==a};taoensso.encore.float_QMARK_=function(a){return"number"===typeof a&&!isNaN(a)&&Infinity!==a&&parseFloat(a)!==parseInt(a,10)};taoensso.encore.int_QMARK_=function(a){return"number"===typeof a&&!isNaN(a)&&Infinity!==a&&parseFloat(a)===parseInt(a,10)};
taoensso.encore.nat_num_QMARK_=function(a){return"number"===typeof a&&!(0>a)};taoensso.encore.pos_num_QMARK_=function(a){return"number"===typeof a&&0<a};taoensso.encore.neg_num_QMARK_=function(a){return"number"===typeof a&&0>a};taoensso.encore.nat_int_QMARK_=function(a){return taoensso.encore.int_QMARK_.call(null,a)&&!(0>a)};taoensso.encore.pos_int_QMARK_=function(a){return taoensso.encore.int_QMARK_.call(null,a)&&0<a};
taoensso.encore.neg_int_QMARK_=function(a){return taoensso.encore.int_QMARK_.call(null,a)&&0>a};taoensso.encore.nat_float_QMARK_=function(a){return taoensso.encore.float_QMARK_.call(null,a)&&!(0>a)};taoensso.encore.pos_float_QMARK_=function(a){return taoensso.encore.float_QMARK_.call(null,a)&&0<a};taoensso.encore.neg_float_QMARK_=function(a){return taoensso.encore.float_QMARK_.call(null,a)&&0>a};taoensso.encore.udt_QMARK_=function(a){return taoensso.encore.int_QMARK_.call(null,a)&&!(0>a)};
taoensso.encore.pval_QMARK_=function(a){var b="number"===typeof a;return b?0<=a&&1>=a:b};taoensso.encore.chan_QMARK_=function(a){return a instanceof cljs.core.async.impl.channels.ManyToManyChannel};taoensso.encore.kw_identical_QMARK_=cljs.core.keyword_identical_QMARK_;taoensso.encore.as__QMARK_nzero=function(a){return"number"===typeof a?0===a?null:a:null};taoensso.encore.as__QMARK_nblank=function(a){return"string"===typeof a?clojure.string.blank_QMARK_.call(null,a)?null:a:null};
taoensso.encore.as__QMARK_kw=function(a){return a instanceof cljs.core.Keyword?a:"string"===typeof a?cljs.core.keyword.call(null,a):null};taoensso.encore.as__QMARK_name=function(a){return taoensso.encore.named_QMARK_.call(null,a)?cljs.core.name.call(null,a):"string"===typeof a?a:null};
taoensso.encore.as__QMARK_qname=function(a){if(taoensso.encore.named_QMARK_.call(null,a)){var b=cljs.core.name.call(null,a);a=cljs.core.namespace.call(null,a);return cljs.core.truth_(a)?[a,"/",b].join(""):b}return"string"===typeof a?a:null};taoensso.encore.as__QMARK_nempty_str=function(a){return"string"===typeof a?cljs.core._EQ_.call(null,a,"")?null:a:null};
taoensso.encore.as__QMARK_int=function(a){return"number"===typeof a?cljs.core.long$.call(null,a):"string"===typeof a?(a=parseInt(a,10),cljs.core.truth_(isNaN(a))?null:a):null};taoensso.encore.as__QMARK_float=function(a){return"number"===typeof a?a:"string"===typeof a?(a=parseFloat(a),cljs.core.truth_(isNaN(a))?null:a):null};taoensso.encore.as__QMARK_udt=function(a){a=taoensso.encore.as__QMARK_int.call(null,a);return cljs.core.truth_(a)?0>a?null:a:null};
taoensso.encore.as__QMARK_nat_int=function(a){a=taoensso.encore.as__QMARK_int.call(null,a);return cljs.core.truth_(a)?0>a?null:a:null};taoensso.encore.as__QMARK_pos_int=function(a){a=taoensso.encore.as__QMARK_int.call(null,a);return cljs.core.truth_(a)?0<a?a:null:null};taoensso.encore.as__QMARK_nat_float=function(a){a=taoensso.encore.as__QMARK_float.call(null,a);return cljs.core.truth_(a)?0>a?null:a:null};
taoensso.encore.as__QMARK_pos_float=function(a){a=taoensso.encore.as__QMARK_float.call(null,a);return cljs.core.truth_(a)?0<a?a:null:null};taoensso.encore.as__QMARK_pval=function(a){a=taoensso.encore.as__QMARK_float.call(null,a);return cljs.core.truth_(a)?1<a?1:0>a?0:a:null};
taoensso.encore.as__QMARK_bool=function(a){return null==a?null:!0===a||!1===a?a:cljs.core._EQ_.call(null,a,0)||cljs.core._EQ_.call(null,a,"false")||cljs.core._EQ_.call(null,a,"FALSE")||cljs.core._EQ_.call(null,a,"0")?!1:cljs.core._EQ_.call(null,a,1)||cljs.core._EQ_.call(null,a,"true")||cljs.core._EQ_.call(null,a,"TRUE")||cljs.core._EQ_.call(null,a,"1")?!0:null};
taoensso.encore.as__QMARK_email=function(a){return cljs.core.truth_(a)?cljs.core.re_find.call(null,/^[^\s@]+@[^\s@]+\.\S*[^\.]$/,clojure.string.trim.call(null,a)):null};taoensso.encore.as__QMARK_nemail=function(a){a=taoensso.encore.as__QMARK_email.call(null,a);return cljs.core.truth_(a)?clojure.string.lower_case.call(null,a):null};taoensso.encore.try_pred=function(a,b){try{return a.call(null,b)}catch(c){if(c instanceof Error)return!1;throw c;}};
taoensso.encore.when_QMARK_=function(a,b){return cljs.core.truth_(taoensso.encore.try_pred.call(null,a,b))?b:null};
taoensso.encore.is_BANG_=function(a){switch(arguments.length){case 1:return taoensso.encore.is_BANG_.cljs$core$IFn$_invoke$arity$1(arguments[0]);case 2:return taoensso.encore.is_BANG_.cljs$core$IFn$_invoke$arity$2(arguments[0],arguments[1]);case 3:return taoensso.encore.is_BANG_.cljs$core$IFn$_invoke$arity$3(arguments[0],arguments[1],arguments[2]);default:throw Error(["Invalid arity: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(""));}};
taoensso.encore.is_BANG_.cljs$core$IFn$_invoke$arity$1=function(a){return taoensso.encore.is_BANG_.call(null,cljs.core.identity,a,null)};taoensso.encore.is_BANG_.cljs$core$IFn$_invoke$arity$2=function(a,b){return taoensso.encore.is_BANG_.call(null,cljs.core.identity,b,null)};
taoensso.encore.is_BANG_.cljs$core$IFn$_invoke$arity$3=function(a,b,c){if(cljs.core.truth_(taoensso.encore.try_pred.call(null,a,b)))return b;throw cljs.core.ex_info.call(null,["`is!` ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(a)," failure against arg: ",cljs.core.pr_str.call(null,b)].join(""),new cljs.core.PersistentArrayMap(null,3,[new cljs.core.Keyword(null,"given","given",716253602),b,new cljs.core.Keyword(null,"type","type",1174270348),cljs.core.type.call(null,b),new cljs.core.Keyword(null,
"fail-?data","fail-?data",1702764975),c],null));};taoensso.encore.is_BANG_.cljs$lang$maxFixedArity=3;taoensso.encore._as_throw=function(a,b){throw cljs.core.ex_info.call(null,["`as-",cljs.core.name.call(null,a),"` failed against: `",cljs.core.pr_str.call(null,b),"`"].join(""),new cljs.core.PersistentArrayMap(null,2,[new cljs.core.Keyword(null,"given","given",716253602),b,new cljs.core.Keyword(null,"type","type",1174270348),cljs.core.type.call(null,b)],null));};
taoensso.encore.as_nzero=function(a){var b=taoensso.encore.as__QMARK_nzero.call(null,a);return cljs.core.truth_(b)?b:taoensso.encore._as_throw.call(null,new cljs.core.Keyword(null,"nzero","nzero",2053173656),a)};taoensso.encore.as_nblank=function(a){var b=taoensso.encore.as__QMARK_nblank.call(null,a);return cljs.core.truth_(b)?b:taoensso.encore._as_throw.call(null,new cljs.core.Keyword(null,"nblank","nblank",626815585),a)};
taoensso.encore.as_nempty_str=function(a){var b=taoensso.encore.as__QMARK_nempty_str.call(null,a);return cljs.core.truth_(b)?b:taoensso.encore._as_throw.call(null,new cljs.core.Keyword(null,"nempty-str","nempty-str",-215700100),a)};taoensso.encore.as_kw=function(a){var b=taoensso.encore.as__QMARK_kw.call(null,a);return cljs.core.truth_(b)?b:taoensso.encore._as_throw.call(null,new cljs.core.Keyword(null,"kw","kw",1158308175),a)};
taoensso.encore.as_name=function(a){var b=taoensso.encore.as__QMARK_name.call(null,a);return cljs.core.truth_(b)?b:taoensso.encore._as_throw.call(null,new cljs.core.Keyword(null,"name","name",1843675177),a)};taoensso.encore.as_qname=function(a){var b=taoensso.encore.as__QMARK_qname.call(null,a);return cljs.core.truth_(b)?b:taoensso.encore._as_throw.call(null,new cljs.core.Keyword(null,"qname","qname",-1983612179),a)};
taoensso.encore.as_email=function(a){var b=taoensso.encore.as__QMARK_email.call(null,a);return cljs.core.truth_(b)?b:taoensso.encore._as_throw.call(null,new cljs.core.Keyword(null,"email","email",1415816706),a)};taoensso.encore.as_nemail=function(a){var b=taoensso.encore.as__QMARK_nemail.call(null,a);return cljs.core.truth_(b)?b:taoensso.encore._as_throw.call(null,new cljs.core.Keyword(null,"nemail","nemail",318708381),a)};
taoensso.encore.as_udt=function(a){var b=taoensso.encore.as__QMARK_udt.call(null,a);return cljs.core.truth_(b)?b:taoensso.encore._as_throw.call(null,new cljs.core.Keyword(null,"udt","udt",2011712751),a)};taoensso.encore.as_int=function(a){var b=taoensso.encore.as__QMARK_int.call(null,a);return cljs.core.truth_(b)?b:taoensso.encore._as_throw.call(null,new cljs.core.Keyword(null,"int","int",-1741416922),a)};
taoensso.encore.as_nat_int=function(a){var b=taoensso.encore.as__QMARK_nat_int.call(null,a);return cljs.core.truth_(b)?b:taoensso.encore._as_throw.call(null,new cljs.core.Keyword(null,"nat-int","nat-int",313429715),a)};taoensso.encore.as_pos_int=function(a){var b=taoensso.encore.as__QMARK_pos_int.call(null,a);return cljs.core.truth_(b)?b:taoensso.encore._as_throw.call(null,new cljs.core.Keyword(null,"pos-int","pos-int",15030207),a)};
taoensso.encore.as_float=function(a){var b=taoensso.encore.as__QMARK_float.call(null,a);return cljs.core.truth_(b)?b:taoensso.encore._as_throw.call(null,new cljs.core.Keyword(null,"float","float",-1732389368),a)};taoensso.encore.as_nat_float=function(a){var b=taoensso.encore.as__QMARK_nat_float.call(null,a);return cljs.core.truth_(b)?b:taoensso.encore._as_throw.call(null,new cljs.core.Keyword(null,"nat-float","nat-float",-371030973),a)};
taoensso.encore.as_pos_float=function(a){var b=taoensso.encore.as__QMARK_pos_float.call(null,a);return cljs.core.truth_(b)?b:taoensso.encore._as_throw.call(null,new cljs.core.Keyword(null,"pos-float","pos-float",-715200084),a)};taoensso.encore.as_pval=function(a){var b=taoensso.encore.as__QMARK_pval.call(null,a);return cljs.core.truth_(b)?b:taoensso.encore._as_throw.call(null,new cljs.core.Keyword(null,"pval","pval",-274256857),a)};
taoensso.encore.as_bool=function(a){var b=taoensso.encore.as__QMARK_bool.call(null,a);return null==b?taoensso.encore._as_throw.call(null,new cljs.core.Keyword(null,"bool","bool",1444635321),a):b};taoensso.encore.explode_keyword=function(a){return clojure.string.split.call(null,taoensso.encore.as_qname.call(null,a),/[\.\/]/)};
taoensso.encore.merge_keywords=function(a){switch(arguments.length){case 1:return taoensso.encore.merge_keywords.cljs$core$IFn$_invoke$arity$1(arguments[0]);case 2:return taoensso.encore.merge_keywords.cljs$core$IFn$_invoke$arity$2(arguments[0],arguments[1]);default:throw Error(["Invalid arity: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(""));}};taoensso.encore.merge_keywords.cljs$core$IFn$_invoke$arity$1=function(a){return taoensso.encore.merge_keywords.call(null,a,!1)};
taoensso.encore.merge_keywords.cljs$core$IFn$_invoke$arity$2=function(a,b){if(cljs.core.seq.call(null,a)&&(a=cljs.core.reduce.call(null,function(a,b){return null==b?a:cljs.core.reduce.call(null,cljs.core.conj,a,taoensso.encore.explode_keyword.call(null,b))},cljs.core.PersistentVector.EMPTY,a),cljs.core.seq.call(null,a))){if(cljs.core.truth_(b))return cljs.core.keyword.call(null,clojure.string.join.call(null,".",a));b=cljs.core.pop.call(null,a);return cljs.core.keyword.call(null,cljs.core.seq.call(null,
b)?clojure.string.join.call(null,".",b):null,cljs.core.peek.call(null,a))}return null};taoensso.encore.merge_keywords.cljs$lang$maxFixedArity=2;taoensso.encore.preserve_reduced=function(a){return function(b,c){b=a.call(null,b,c);return cljs.core.reduced_QMARK_.call(null,b)?cljs.core.reduced.call(null,b):b}};
taoensso.encore.reduce_kvs=function(a,b,c){return cljs.core.transduce.call(null,cljs.core.partition_all.call(null,2),cljs.core.completing.call(null,function(b,c){var d=cljs.core.nth.call(null,c,0,null);c=cljs.core.nth.call(null,c,1,null);return a.call(null,b,d,c)}),b,c)};taoensso.encore.reduce_n=function(a,b,c){return cljs.core.reduce.call(null,a,b,cljs.core.range.call(null,c))};var inc_26424=function(a){return a+1};
taoensso.encore.reduce_indexed=function(a){return function(b,c,d){var e=cljs.core.volatile_BANG_.call(null,-1);return cljs.core.reduce.call(null,function(a,c){return function(d,e){return b.call(null,d,cljs.core._vreset_BANG_.call(null,a,c.call(null,cljs.core._deref.call(null,a))),e)}}(e,a),c,d)}}(inc_26424);taoensso.encore.reduce_obj=function(a,b,c){return cljs.core.reduce.call(null,function(b,e){return a.call(null,b,e,goog.object.get(c,e,null))},b,cljs.core.js_keys.call(null,c))};
taoensso.encore.run_BANG_=function(a,b){cljs.core.reduce.call(null,function(b,d){return a.call(null,d)},null,b);return null};taoensso.encore.run_kv_BANG_=function(a,b){cljs.core.reduce_kv.call(null,function(b,d,e){return a.call(null,d,e)},null,b);return null};taoensso.encore.run_kvs_BANG_=function(a,b){taoensso.encore.reduce_kvs.call(null,function(b,d,e){return a.call(null,d,e)},null,b);return null};
taoensso.encore.run_obj_BANG_=function(a,b){taoensso.encore.reduce_obj.call(null,function(b,d,e){return a.call(null,d,e)},null,b);return null};taoensso.encore.rsome=function(a,b){return cljs.core.reduce.call(null,function(b,d){b=a.call(null,d);return cljs.core.truth_(b)?cljs.core.reduced.call(null,b):null},null,b)};taoensso.encore.rsome_kv=function(a,b){return cljs.core.reduce_kv.call(null,function(b,d,e){b=a.call(null,d,e);return cljs.core.truth_(b)?cljs.core.reduced.call(null,b):null},null,b)};
taoensso.encore.rfirst=function(a,b){return cljs.core.reduce.call(null,function(b,d){return cljs.core.truth_(a.call(null,d))?cljs.core.reduced.call(null,d):null},null,b)};taoensso.encore.rfirst_kv=function(a,b){return cljs.core.reduce_kv.call(null,function(b,d,e){return cljs.core.truth_(a.call(null,d,e))?cljs.core.reduced.call(null,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[d,e],null)):null},null,b)};
taoensso.encore.revery_QMARK_=function(a,b){return cljs.core.reduce.call(null,function(b,d){return cljs.core.truth_(a.call(null,d))?!0:cljs.core.reduced.call(null,!1)},!0,b)};taoensso.encore.revery_kv_QMARK_=function(a,b){return cljs.core.reduce_kv.call(null,function(b,d,e){return cljs.core.truth_(a.call(null,d,e))?!0:cljs.core.reduced.call(null,!1)},!0,b)};
taoensso.encore.revery=function(a,b){return cljs.core.reduce.call(null,function(c,d){return cljs.core.truth_(a.call(null,d))?b:cljs.core.reduced.call(null,null)},b,b)};taoensso.encore.revery_kv=function(a,b){return cljs.core.reduce_kv.call(null,function(c,d,e){return cljs.core.truth_(a.call(null,d,e))?b:cljs.core.reduced.call(null,null)},b,b)};var inc_26437=function(a){return a+1};
taoensso.encore.idx_fn=function(a){return function(){return function(a,c){return function(){return cljs.core._vreset_BANG_.call(null,a,c.call(null,cljs.core._deref.call(null,a)))}}(cljs.core.volatile_BANG_.call(null,-1),a)}}(inc_26437);taoensso.encore.max_long=9007199254740991;taoensso.encore.min_long=-9007199254740991;
taoensso.encore.approx_EQ__EQ_=function(a){switch(arguments.length){case 2:return taoensso.encore.approx_EQ__EQ_.cljs$core$IFn$_invoke$arity$2(arguments[0],arguments[1]);case 3:return taoensso.encore.approx_EQ__EQ_.cljs$core$IFn$_invoke$arity$3(arguments[0],arguments[1],arguments[2]);default:throw Error(["Invalid arity: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(""));}};taoensso.encore.approx_EQ__EQ_.cljs$core$IFn$_invoke$arity$2=function(a,b){return.001>Math.abs(a-b)};
taoensso.encore.approx_EQ__EQ_.cljs$core$IFn$_invoke$arity$3=function(a,b,c){return Math.abs(b-c)<a};taoensso.encore.approx_EQ__EQ_.cljs$lang$maxFixedArity=3;taoensso.encore.clamp=function(a,b,c){return c<a?a:c>b?b:c};taoensso.encore.pow=function(a,b){return Math.pow(a,b)};taoensso.encore.abs=function(a){return 0>a?-a:a};
taoensso.encore.round_STAR_=function(a){switch(arguments.length){case 1:return taoensso.encore.round_STAR_.cljs$core$IFn$_invoke$arity$1(arguments[0]);case 2:return taoensso.encore.round_STAR_.cljs$core$IFn$_invoke$arity$2(arguments[0],arguments[1]);case 3:return taoensso.encore.round_STAR_.cljs$core$IFn$_invoke$arity$3(arguments[0],arguments[1],arguments[2]);default:throw Error(["Invalid arity: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(""));}};
taoensso.encore.round_STAR_.cljs$core$IFn$_invoke$arity$1=function(a){return taoensso.encore.round_STAR_.call(null,new cljs.core.Keyword(null,"round","round",2009433328),null,a)};taoensso.encore.round_STAR_.cljs$core$IFn$_invoke$arity$2=function(a,b){return taoensso.encore.round_STAR_.call(null,a,null,b)};
taoensso.encore.round_STAR_.cljs$core$IFn$_invoke$arity$3=function(a,b,c){b=cljs.core.truth_(b)?Math.pow(10,b):null;var d=cljs.core.truth_(b)?c*b:c;c=function(){switch(a instanceof cljs.core.Keyword?a.fqn:null){case "round":return Math.round(d);case "floor":return Math.floor(d);case "ceil":return Math.ceil(d);case "trunc":return cljs.core.long$.call(null,d);default:throw cljs.core.ex_info.call(null,"Unrecognized round type",new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"given",
"given",716253602),a],null));}}();return cljs.core.truth_(b)?c/b:cljs.core.long$.call(null,c)};taoensso.encore.round_STAR_.cljs$lang$maxFixedArity=3;taoensso.encore.round0=function(a){return Math.round(a)};taoensso.encore.round1=function(a){return Math.round(10*a)/10};taoensso.encore.round2=function(a){return Math.round(100*a)/100};
taoensso.encore.exp_backoff=function(a){switch(arguments.length){case 1:return taoensso.encore.exp_backoff.cljs$core$IFn$_invoke$arity$1(arguments[0]);case 2:return taoensso.encore.exp_backoff.cljs$core$IFn$_invoke$arity$2(arguments[0],arguments[1]);default:throw Error(["Invalid arity: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(""));}};taoensso.encore.exp_backoff.cljs$core$IFn$_invoke$arity$1=function(a){return taoensso.encore.exp_backoff.call(null,a,null)};
taoensso.encore.exp_backoff.cljs$core$IFn$_invoke$arity$2=function(a,b){var c=null!=b&&(b.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===b.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,b):b,d=cljs.core.get.call(null,c,new cljs.core.Keyword(null,"min","min",444991522));b=cljs.core.get.call(null,c,new cljs.core.Keyword(null,"max","max",61366548));c=cljs.core.get.call(null,c,new cljs.core.Keyword(null,"factor","factor",-2103172748),1E3);a=Math.pow(2,36<a?36:a);
a=cljs.core.long$.call(null,.5*(a+cljs.core.rand.call(null,a))*c);d=cljs.core.long$.call(null,cljs.core.truth_(d)?a<d?d:a:a);return cljs.core.long$.call(null,cljs.core.truth_(b)?d>b?b:d:d)};taoensso.encore.exp_backoff.cljs$lang$maxFixedArity=2;taoensso.encore.node_target_QMARK_=cljs.core._EQ_.call(null,cljs.core._STAR_target_STAR_,"nodejs");taoensso.encore.js__QMARK_win="undefined"!==typeof window?window:null;
taoensso.encore.force_ref=function(a){return taoensso.encore.derefable_QMARK_.call(null,a)?cljs.core.deref.call(null,a):a};taoensso.encore.merge_meta=function(a,b){return cljs.core.with_meta.call(null,a,taoensso.encore.merge.call(null,cljs.core.meta.call(null,a),b))};taoensso.encore.without_meta=function(a){return cljs.core.truth_(cljs.core.meta.call(null,a))?cljs.core.with_meta.call(null,a,null):a};
taoensso.encore.some_EQ_=function(a){switch(arguments.length){case 2:return taoensso.encore.some_EQ_.cljs$core$IFn$_invoke$arity$2(arguments[0],arguments[1]);default:for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;b=new cljs.core.IndexedSeq(b.slice(2),0,null);return taoensso.encore.some_EQ_.cljs$core$IFn$_invoke$arity$variadic(arguments[0],arguments[1],b)}};
taoensso.encore.some_EQ_.cljs$core$IFn$_invoke$arity$2=function(a,b){return taoensso.encore.some_QMARK_.call(null,a)&&cljs.core._EQ_.call(null,a,b)};taoensso.encore.some_EQ_.cljs$core$IFn$_invoke$arity$variadic=function(a,b,c){var d=taoensso.encore.some_QMARK_.call(null,a);return d?(b=cljs.core._EQ_.call(null,a,b))?taoensso.encore.revery_QMARK_.call(null,function(b,c){return function(b){return cljs.core._EQ_.call(null,b,a)}}(b,d),c):b:d};
taoensso.encore.some_EQ_.cljs$lang$applyTo=function(a){var b=cljs.core.first.call(null,a),c=cljs.core.next.call(null,a);a=cljs.core.first.call(null,c);c=cljs.core.next.call(null,c);return this.cljs$core$IFn$_invoke$arity$variadic(b,a,c)};taoensso.encore.some_EQ_.cljs$lang$maxFixedArity=2;
taoensso.encore.nnil=function(a){switch(arguments.length){case 0:return taoensso.encore.nnil.cljs$core$IFn$_invoke$arity$0();case 1:return taoensso.encore.nnil.cljs$core$IFn$_invoke$arity$1(arguments[0]);case 2:return taoensso.encore.nnil.cljs$core$IFn$_invoke$arity$2(arguments[0],arguments[1]);case 3:return taoensso.encore.nnil.cljs$core$IFn$_invoke$arity$3(arguments[0],arguments[1],arguments[2]);default:for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;b=new cljs.core.IndexedSeq(b.slice(3),
0,null);return taoensso.encore.nnil.cljs$core$IFn$_invoke$arity$variadic(arguments[0],arguments[1],arguments[2],b)}};taoensso.encore.nnil.cljs$core$IFn$_invoke$arity$0=function(){return null};taoensso.encore.nnil.cljs$core$IFn$_invoke$arity$1=function(a){return a};taoensso.encore.nnil.cljs$core$IFn$_invoke$arity$2=function(a,b){return null==a?b:a};taoensso.encore.nnil.cljs$core$IFn$_invoke$arity$3=function(a,b,c){return null==a?null==b?c:b:a};
taoensso.encore.nnil.cljs$core$IFn$_invoke$arity$variadic=function(a,b,c,d){return null==a?null==b?null==c?taoensso.encore.rfirst.call(null,taoensso.encore.some_QMARK_,d):c:b:a};taoensso.encore.nnil.cljs$lang$applyTo=function(a){var b=cljs.core.first.call(null,a),c=cljs.core.next.call(null,a);a=cljs.core.first.call(null,c);var d=cljs.core.next.call(null,c);c=cljs.core.first.call(null,d);d=cljs.core.next.call(null,d);return this.cljs$core$IFn$_invoke$arity$variadic(b,a,c,d)};
taoensso.encore.nnil.cljs$lang$maxFixedArity=3;
taoensso.encore.parse_version=function(a){a=clojure.string.split.call(null,cljs.core.str.cljs$core$IFn$_invoke$arity$1(a),/-/,2);var b=cljs.core.nth.call(null,a,0,null);a=cljs.core.nth.call(null,a,1,null);var c=cljs.core.PersistentArrayMap,d=new cljs.core.Keyword(null,"version","version",425292698);b=cljs.core.re_seq.call(null,/\d+/,b);b=cljs.core.truth_(b)?cljs.core.mapv.call(null,taoensso.encore.as__QMARK_int,b):null;return new c(null,2,[d,b,new cljs.core.Keyword(null,"qualifier","qualifier",125841738),
cljs.core.truth_(a)?clojure.string.lower_case.call(null,a):null],null)};
taoensso.encore.assert_min_encore_version=function(a){var b=taoensso.encore.encore_version,c=cljs.core.nth.call(null,b,0,null),d=cljs.core.nth.call(null,b,1,null),e=cljs.core.nth.call(null,b,2,null);a=cljs.core.vector_QMARK_.call(null,a)?a:(new cljs.core.Keyword(null,"version","version",425292698)).cljs$core$IFn$_invoke$arity$1(taoensso.encore.parse_version.call(null,a));var f=cljs.core.nth.call(null,a,0,null),g=cljs.core.nth.call(null,a,1,null),h=cljs.core.nth.call(null,a,2,null);f=cljs.core.mapv.call(null,
function(a,b,c,d,e,f,g,h){return function(a){return cljs.core.truth_(a)?a:0}}(b,c,d,e,a,f,g,h),new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,[f,g,h],null));b=cljs.core.nth.call(null,f,0,null);a=cljs.core.nth.call(null,f,1,null);f=cljs.core.nth.call(null,f,2,null);if(c>b||cljs.core._EQ_.call(null,c,b)&&(d>a||cljs.core._EQ_.call(null,d,a)&&e>=f))return null;throw cljs.core.ex_info.call(null,"Insufficient `com.taoensso/encore` version, you may have a dependency conflict: see http://goo.gl/qBbLvC for solutions.",
new cljs.core.PersistentArrayMap(null,2,[new cljs.core.Keyword(null,"min-version","min-version",-1697197126),clojure.string.join.call(null,".",new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,[b,a,f],null)),new cljs.core.Keyword(null,"your-version","your-version",-351781765),clojure.string.join.call(null,".",new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,[c,d,e],null))],null));};
taoensso.encore.queue_QMARK_=function(a){return a instanceof cljs.core.PersistentQueue};taoensso.encore.queue=function(a){switch(arguments.length){case 1:return taoensso.encore.queue.cljs$core$IFn$_invoke$arity$1(arguments[0]);case 0:return taoensso.encore.queue.cljs$core$IFn$_invoke$arity$0();default:throw Error(["Invalid arity: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(""));}};
taoensso.encore.queue.cljs$core$IFn$_invoke$arity$1=function(a){return cljs.core.into.call(null,taoensso.encore.queue.call(null),a)};taoensso.encore.queue.cljs$core$IFn$_invoke$arity$0=function(){return cljs.core.PersistentQueue.EMPTY};taoensso.encore.queue.cljs$lang$maxFixedArity=1;taoensso.encore.queue_STAR_=function(a){for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;b=0<b.length?new cljs.core.IndexedSeq(b.slice(0),0,null):null;return taoensso.encore.queue_STAR_.cljs$core$IFn$_invoke$arity$variadic(b)};
taoensso.encore.queue_STAR_.cljs$core$IFn$_invoke$arity$variadic=function(a){return taoensso.encore.queue.call(null,a)};taoensso.encore.queue_STAR_.cljs$lang$maxFixedArity=0;taoensso.encore.queue_STAR_.cljs$lang$applyTo=function(a){return this.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq.call(null,a))};taoensso.encore.vec_STAR_=cljs.core.vec;taoensso.encore.set_STAR_=cljs.core.set;
taoensso.encore.oget=function(a){switch(arguments.length){case 2:return taoensso.encore.oget.cljs$core$IFn$_invoke$arity$2(arguments[0],arguments[1]);case 3:return taoensso.encore.oget.cljs$core$IFn$_invoke$arity$3(arguments[0],arguments[1],arguments[2]);default:throw Error(["Invalid arity: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(""));}};taoensso.encore.oget.cljs$core$IFn$_invoke$arity$2=function(a,b){return goog.object.get(a,b,null)};
taoensso.encore.oget.cljs$core$IFn$_invoke$arity$3=function(a,b,c){return goog.object.get(a,b,c)};taoensso.encore.oget.cljs$lang$maxFixedArity=3;var sentinel_26499={};
taoensso.encore.oget_in=function(a){return function(a){switch(arguments.length){case 2:return taoensso.encore.oget_in.cljs$core$IFn$_invoke$arity$2(arguments[0],arguments[1]);case 3:return taoensso.encore.oget_in.cljs$core$IFn$_invoke$arity$3(arguments[0],arguments[1],arguments[2]);default:throw Error(["Invalid arity: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(""));}}}(sentinel_26499);
taoensso.encore.oget_in.cljs$core$IFn$_invoke$arity$2=function(a){return function(a,c){return taoensso.encore.oget_in.call(null,a,c,null)}}(sentinel_26499);taoensso.encore.oget_in.cljs$core$IFn$_invoke$arity$3=function(a){return function(b,c,d){for(c=cljs.core.seq.call(null,c);;)if(c){b=goog.object.get(b,cljs.core.first.call(null,c),a);if(b===a)return d;c=cljs.core.next.call(null,c)}else return b}}(sentinel_26499);taoensso.encore.oget_in.cljs$lang$maxFixedArity=3;
taoensso.encore.conj_some=function(a){switch(arguments.length){case 0:return taoensso.encore.conj_some.cljs$core$IFn$_invoke$arity$0();case 1:return taoensso.encore.conj_some.cljs$core$IFn$_invoke$arity$1(arguments[0]);case 2:return taoensso.encore.conj_some.cljs$core$IFn$_invoke$arity$2(arguments[0],arguments[1]);default:for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;b=new cljs.core.IndexedSeq(b.slice(2),0,null);return taoensso.encore.conj_some.cljs$core$IFn$_invoke$arity$variadic(arguments[0],
arguments[1],b)}};taoensso.encore.conj_some.cljs$core$IFn$_invoke$arity$0=function(){return cljs.core.PersistentVector.EMPTY};taoensso.encore.conj_some.cljs$core$IFn$_invoke$arity$1=function(a){return a};taoensso.encore.conj_some.cljs$core$IFn$_invoke$arity$2=function(a,b){return null==b?a:cljs.core.conj.call(null,a,b)};
taoensso.encore.conj_some.cljs$core$IFn$_invoke$arity$variadic=function(a,b,c){return cljs.core.reduce.call(null,taoensso.encore.conj_some,taoensso.encore.conj_some.call(null,a,b),c)};taoensso.encore.conj_some.cljs$lang$applyTo=function(a){var b=cljs.core.first.call(null,a),c=cljs.core.next.call(null,a);a=cljs.core.first.call(null,c);c=cljs.core.next.call(null,c);return this.cljs$core$IFn$_invoke$arity$variadic(b,a,c)};taoensso.encore.conj_some.cljs$lang$maxFixedArity=2;
taoensso.encore.conj_when=function(a){switch(arguments.length){case 0:return taoensso.encore.conj_when.cljs$core$IFn$_invoke$arity$0();case 1:return taoensso.encore.conj_when.cljs$core$IFn$_invoke$arity$1(arguments[0]);case 2:return taoensso.encore.conj_when.cljs$core$IFn$_invoke$arity$2(arguments[0],arguments[1]);default:for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;b=new cljs.core.IndexedSeq(b.slice(2),0,null);return taoensso.encore.conj_when.cljs$core$IFn$_invoke$arity$variadic(arguments[0],
arguments[1],b)}};taoensso.encore.conj_when.cljs$core$IFn$_invoke$arity$0=function(){return cljs.core.PersistentVector.EMPTY};taoensso.encore.conj_when.cljs$core$IFn$_invoke$arity$1=function(a){return a};taoensso.encore.conj_when.cljs$core$IFn$_invoke$arity$2=function(a,b){return cljs.core.truth_(b)?cljs.core.conj.call(null,a,b):a};
taoensso.encore.conj_when.cljs$core$IFn$_invoke$arity$variadic=function(a,b,c){return cljs.core.reduce.call(null,taoensso.encore.conj_when,taoensso.encore.conj_when.call(null,a,b),c)};taoensso.encore.conj_when.cljs$lang$applyTo=function(a){var b=cljs.core.first.call(null,a),c=cljs.core.next.call(null,a);a=cljs.core.first.call(null,c);c=cljs.core.next.call(null,c);return this.cljs$core$IFn$_invoke$arity$variadic(b,a,c)};taoensso.encore.conj_when.cljs$lang$maxFixedArity=2;
taoensso.encore.assoc_some=function(a){switch(arguments.length){case 3:return taoensso.encore.assoc_some.cljs$core$IFn$_invoke$arity$3(arguments[0],arguments[1],arguments[2]);case 2:return taoensso.encore.assoc_some.cljs$core$IFn$_invoke$arity$2(arguments[0],arguments[1]);default:for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;b=new cljs.core.IndexedSeq(b.slice(3),0,null);return taoensso.encore.assoc_some.cljs$core$IFn$_invoke$arity$variadic(arguments[0],arguments[1],
arguments[2],b)}};taoensso.encore.assoc_some.cljs$core$IFn$_invoke$arity$3=function(a,b,c){return null==c?null==a?cljs.core.PersistentArrayMap.EMPTY:a:cljs.core.assoc.call(null,a,b,c)};taoensso.encore.assoc_some.cljs$core$IFn$_invoke$arity$variadic=function(a,b,c,d){return taoensso.encore.reduce_kvs.call(null,function(a,b,c){return null==c?a:cljs.core.assoc.call(null,a,b,c)},taoensso.encore.assoc_some.call(null,a,b,c),d)};
taoensso.encore.assoc_some.cljs$lang$applyTo=function(a){var b=cljs.core.first.call(null,a),c=cljs.core.next.call(null,a);a=cljs.core.first.call(null,c);var d=cljs.core.next.call(null,c);c=cljs.core.first.call(null,d);d=cljs.core.next.call(null,d);return this.cljs$core$IFn$_invoke$arity$variadic(b,a,c,d)};
taoensso.encore.assoc_some.cljs$core$IFn$_invoke$arity$2=function(a,b){return cljs.core.reduce_kv.call(null,function(a,b,e){return null==e?a:cljs.core.assoc.call(null,a,b,e)},null==a?cljs.core.PersistentArrayMap.EMPTY:a,b)};taoensso.encore.assoc_some.cljs$lang$maxFixedArity=3;
taoensso.encore.assoc_when=function(a){switch(arguments.length){case 3:return taoensso.encore.assoc_when.cljs$core$IFn$_invoke$arity$3(arguments[0],arguments[1],arguments[2]);case 2:return taoensso.encore.assoc_when.cljs$core$IFn$_invoke$arity$2(arguments[0],arguments[1]);default:for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;b=new cljs.core.IndexedSeq(b.slice(3),0,null);return taoensso.encore.assoc_when.cljs$core$IFn$_invoke$arity$variadic(arguments[0],arguments[1],
arguments[2],b)}};taoensso.encore.assoc_when.cljs$core$IFn$_invoke$arity$3=function(a,b,c){return cljs.core.truth_(c)?cljs.core.assoc.call(null,a,b,c):null==a?cljs.core.PersistentArrayMap.EMPTY:a};taoensso.encore.assoc_when.cljs$core$IFn$_invoke$arity$variadic=function(a,b,c,d){return taoensso.encore.reduce_kvs.call(null,function(a,b,c){return cljs.core.truth_(c)?cljs.core.assoc.call(null,a,b,c):a},taoensso.encore.assoc_when.call(null,a,b,c),d)};
taoensso.encore.assoc_when.cljs$lang$applyTo=function(a){var b=cljs.core.first.call(null,a),c=cljs.core.next.call(null,a);a=cljs.core.first.call(null,c);var d=cljs.core.next.call(null,c);c=cljs.core.first.call(null,d);d=cljs.core.next.call(null,d);return this.cljs$core$IFn$_invoke$arity$variadic(b,a,c,d)};
taoensso.encore.assoc_when.cljs$core$IFn$_invoke$arity$2=function(a,b){return cljs.core.reduce_kv.call(null,function(b,d,e){return cljs.core.truth_(e)?cljs.core.assoc.call(null,a,d,e):a},null==a?cljs.core.PersistentArrayMap.EMPTY:a,b)};taoensso.encore.assoc_when.cljs$lang$maxFixedArity=3;
taoensso.encore.assoc_nx=function(a){switch(arguments.length){case 3:return taoensso.encore.assoc_nx.cljs$core$IFn$_invoke$arity$3(arguments[0],arguments[1],arguments[2]);case 2:return taoensso.encore.assoc_nx.cljs$core$IFn$_invoke$arity$2(arguments[0],arguments[1]);default:for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;b=new cljs.core.IndexedSeq(b.slice(3),0,null);return taoensso.encore.assoc_nx.cljs$core$IFn$_invoke$arity$variadic(arguments[0],arguments[1],arguments[2],
b)}};taoensso.encore.assoc_nx.cljs$core$IFn$_invoke$arity$3=function(a,b,c){return cljs.core.contains_QMARK_.call(null,a,b)?a:cljs.core.assoc.call(null,a,b,c)};taoensso.encore.assoc_nx.cljs$core$IFn$_invoke$arity$variadic=function(a,b,c,d){return taoensso.encore.reduce_kvs.call(null,taoensso.encore.assoc_nx,taoensso.encore.assoc_nx.call(null,a,b,c),d)};
taoensso.encore.assoc_nx.cljs$lang$applyTo=function(a){var b=cljs.core.first.call(null,a),c=cljs.core.next.call(null,a);a=cljs.core.first.call(null,c);var d=cljs.core.next.call(null,c);c=cljs.core.first.call(null,d);d=cljs.core.next.call(null,d);return this.cljs$core$IFn$_invoke$arity$variadic(b,a,c,d)};
taoensso.encore.assoc_nx.cljs$core$IFn$_invoke$arity$2=function(a,b){return cljs.core.reduce_kv.call(null,function(a,b,e){return cljs.core.contains_QMARK_.call(null,a,b)?a:cljs.core.assoc.call(null,a,b,e)},null==a?cljs.core.PersistentArrayMap.EMPTY:a,b)};taoensso.encore.assoc_nx.cljs$lang$maxFixedArity=3;
taoensso.encore.get_subvec=function(a){switch(arguments.length){case 2:return taoensso.encore.get_subvec.cljs$core$IFn$_invoke$arity$2(arguments[0],arguments[1]);case 3:return taoensso.encore.get_subvec.cljs$core$IFn$_invoke$arity$3(arguments[0],arguments[1],arguments[2]);default:throw Error(["Invalid arity: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(""));}};
taoensso.encore.get_subvec.cljs$core$IFn$_invoke$arity$2=function(a,b){b=0>b?0:b;var c=cljs.core.count.call(null,a);return b>=c?cljs.core.PersistentVector.EMPTY:cljs.core.subvec.call(null,a,b,c)};taoensso.encore.get_subvec.cljs$core$IFn$_invoke$arity$3=function(a,b,c){b=0>b?0:b;var d=cljs.core.long$.call(null,cljs.core.count.call(null,a));c=c>d?d:c;return b>=c?cljs.core.PersistentVector.EMPTY:cljs.core.subvec.call(null,a,b,c)};taoensso.encore.get_subvec.cljs$lang$maxFixedArity=3;
taoensso.encore.get_subvector=function(a){switch(arguments.length){case 2:return taoensso.encore.get_subvector.cljs$core$IFn$_invoke$arity$2(arguments[0],arguments[1]);case 3:return taoensso.encore.get_subvector.cljs$core$IFn$_invoke$arity$3(arguments[0],arguments[1],arguments[2]);default:throw Error(["Invalid arity: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(""));}};
taoensso.encore.get_subvector.cljs$core$IFn$_invoke$arity$2=function(a,b){var c=cljs.core.count.call(null,a);return 0>b?(b+=c,cljs.core.subvec.call(null,a,0>b?0:b,c)):b>=c?cljs.core.PersistentVector.EMPTY:cljs.core.subvec.call(null,a,b,c)};
taoensso.encore.get_subvector.cljs$core$IFn$_invoke$arity$3=function(a,b,c){if(0>=c)return cljs.core.PersistentVector.EMPTY;var d=cljs.core.long$.call(null,cljs.core.count.call(null,a));if(0>b)return b+=d,b=0>b?0:b,c=b+c,cljs.core.subvec.call(null,a,b,c>d?d:c);c=b+c;d=c>d?d:c;return b>=d?cljs.core.PersistentVector.EMPTY:cljs.core.subvec.call(null,a,b,d)};taoensso.encore.get_subvector.cljs$lang$maxFixedArity=3;
taoensso.encore.vnext=function(a){return 1<cljs.core.count.call(null,a)?cljs.core.subvec.call(null,a,1):null};taoensso.encore.vrest=function(a){return 1<cljs.core.count.call(null,a)?cljs.core.subvec.call(null,a,1):cljs.core.PersistentVector.EMPTY};taoensso.encore.vsplit_last=function(a){var b=cljs.core.count.call(null,a);return 0<b?new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[1<b?cljs.core.pop.call(null,a):null,cljs.core.peek.call(null,a)],null):null};
taoensso.encore.vsplit_first=function(a){var b=cljs.core.count.call(null,a);if(0<b){var c=cljs.core.nth.call(null,a,0,null);return new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[c,1<b?cljs.core.subvec.call(null,a,1):null],null)}return null};
taoensso.encore.fsplit_last=function(a,b){for(var c=cljs.core.PersistentVector.EMPTY;;){var d=cljs.core.seq.call(null,b);b=cljs.core.first.call(null,d);if(d=cljs.core.next.call(null,d))c=cljs.core.conj.call(null,c,b),b=d;else return a.call(null,c,b)}};taoensso.encore.takev=function(a,b){return cljs.core.vector_QMARK_.call(null,b)?taoensso.encore.get_subvector.call(null,b,0,a):cljs.core.into.call(null,cljs.core.PersistentVector.EMPTY,cljs.core.take.call(null,a),b)};
taoensso.encore.distinct_elements_QMARK_=function(a){return cljs.core.set_QMARK_.call(null,a)||cljs.core._EQ_.call(null,cljs.core.count.call(null,a),cljs.core.count.call(null,taoensso.encore.set_STAR_.call(null,a)))};taoensso.encore.seq_kvs=cljs.core.partial.call(null,cljs.core.reduce,cljs.core.concat);
taoensso.encore.mapply=function(a){for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;b=1<b.length?new cljs.core.IndexedSeq(b.slice(1),0,null):null;return taoensso.encore.mapply.cljs$core$IFn$_invoke$arity$variadic(arguments[0],b)};taoensso.encore.mapply.cljs$core$IFn$_invoke$arity$variadic=function(a,b){return cljs.core.apply.call(null,a,taoensso.encore.fsplit_last.call(null,function(a,b){return cljs.core.concat.call(null,a,taoensso.encore.seq_kvs.call(null,b))},b))};
taoensso.encore.mapply.cljs$lang$maxFixedArity=1;taoensso.encore.mapply.cljs$lang$applyTo=function(a){var b=cljs.core.first.call(null,a);a=cljs.core.next.call(null,a);return this.cljs$core$IFn$_invoke$arity$variadic(b,a)};
taoensso.encore.into_all=function(a){switch(arguments.length){case 2:return taoensso.encore.into_all.cljs$core$IFn$_invoke$arity$2(arguments[0],arguments[1]);default:for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;b=new cljs.core.IndexedSeq(b.slice(2),0,null);return taoensso.encore.into_all.cljs$core$IFn$_invoke$arity$variadic(arguments[0],arguments[1],b)}};taoensso.encore.into_all.cljs$core$IFn$_invoke$arity$2=function(a,b){return cljs.core.into.call(null,a,b)};
taoensso.encore.into_all.cljs$core$IFn$_invoke$arity$variadic=function(a,b,c){return cljs.core.persistent_BANG_.call(null,cljs.core.reduce.call(null,function(a,b){return cljs.core.reduce.call(null,cljs.core.conj_BANG_,a,b)},cljs.core.transient$.call(null,a),cljs.core.cons.call(null,b,c)))};
taoensso.encore.into_all.cljs$lang$applyTo=function(a){var b=cljs.core.first.call(null,a),c=cljs.core.next.call(null,a);a=cljs.core.first.call(null,c);c=cljs.core.next.call(null,c);return this.cljs$core$IFn$_invoke$arity$variadic(b,a,c)};taoensso.encore.into_all.cljs$lang$maxFixedArity=2;
taoensso.encore.repeatedly_into=function(a,b,c){return 10<b&&taoensso.encore.editable_QMARK_.call(null,a)?cljs.core.persistent_BANG_.call(null,taoensso.encore.reduce_n.call(null,function(a,b){return cljs.core.conj_BANG_.call(null,a,c.call(null))},cljs.core.transient$.call(null,a),b)):taoensso.encore.reduce_n.call(null,function(a,b){return cljs.core.conj.call(null,a,c.call(null))},a,b)};
taoensso.encore.into_BANG_=function(a){switch(arguments.length){case 2:return taoensso.encore.into_BANG_.cljs$core$IFn$_invoke$arity$2(arguments[0],arguments[1]);case 3:return taoensso.encore.into_BANG_.cljs$core$IFn$_invoke$arity$3(arguments[0],arguments[1],arguments[2]);default:throw Error(["Invalid arity: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(""));}};
taoensso.encore.into_BANG_.cljs$core$IFn$_invoke$arity$2=function(a,b){return cljs.core.reduce.call(null,cljs.core.conj_BANG_,a,b)};taoensso.encore.into_BANG_.cljs$core$IFn$_invoke$arity$3=function(a,b,c){return cljs.core.transduce.call(null,b,cljs.core.conj_BANG_,a,c)};taoensso.encore.into_BANG_.cljs$lang$maxFixedArity=3;
taoensso.encore.xdistinct=function(a){switch(arguments.length){case 0:return taoensso.encore.xdistinct.cljs$core$IFn$_invoke$arity$0();case 1:return taoensso.encore.xdistinct.cljs$core$IFn$_invoke$arity$1(arguments[0]);default:throw Error(["Invalid arity: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(""));}};taoensso.encore.xdistinct.cljs$core$IFn$_invoke$arity$0=function(){return cljs.core.distinct.call(null)};
taoensso.encore.xdistinct.cljs$core$IFn$_invoke$arity$1=function(a){return function(b){return function(c){return function(){var d=null,e=function(){return b.call(null)},f=function(a){return b.call(null,a)},g=function(d,e){var f=a.call(null,e);if(cljs.core.contains_QMARK_.call(null,cljs.core.deref.call(null,c),f))return d;cljs.core._vreset_BANG_.call(null,c,cljs.core.conj.call(null,cljs.core._deref.call(null,c),f));return b.call(null,d,e)};d=function(a,b){switch(arguments.length){case 0:return e.call(this);
case 1:return f.call(this,a);case 2:return g.call(this,a,b)}throw Error("Invalid arity: "+arguments.length);};d.cljs$core$IFn$_invoke$arity$0=e;d.cljs$core$IFn$_invoke$arity$1=f;d.cljs$core$IFn$_invoke$arity$2=g;return d}()}(cljs.core.volatile_BANG_.call(null,cljs.core.PersistentHashSet.EMPTY))}};taoensso.encore.xdistinct.cljs$lang$maxFixedArity=1;
taoensso.encore.map_vals=function(a,b){return null==b?cljs.core.PersistentArrayMap.EMPTY:cljs.core.reduce_kv.call(null,function(b,d,e){return cljs.core.assoc.call(null,b,d,a.call(null,e))},b,b)};taoensso.encore.map_keys=function(a,b){return null==b?cljs.core.PersistentArrayMap.EMPTY:cljs.core.reduce_kv.call(null,function(b,d,e){return cljs.core.assoc.call(null,b,a.call(null,d),e)},cljs.core.PersistentArrayMap.EMPTY,b)};
taoensso.encore.filter_keys=function(a,b){return null==b?cljs.core.PersistentArrayMap.EMPTY:cljs.core.reduce_kv.call(null,function(b,d,e){return cljs.core.truth_(a.call(null,d))?b:cljs.core.dissoc.call(null,b,d)},b,b)};taoensso.encore.filter_vals=function(a,b){return null==b?cljs.core.PersistentArrayMap.EMPTY:cljs.core.reduce_kv.call(null,function(b,d,e){return cljs.core.truth_(a.call(null,e))?b:cljs.core.dissoc.call(null,b,d)},b,b)};
taoensso.encore.remove_keys=function(a,b){return null==b?cljs.core.PersistentArrayMap.EMPTY:cljs.core.reduce_kv.call(null,function(b,d,e){return cljs.core.truth_(a.call(null,d))?cljs.core.dissoc.call(null,b,d):b},b,b)};taoensso.encore.remove_vals=function(a,b){return null==b?cljs.core.PersistentArrayMap.EMPTY:cljs.core.reduce_kv.call(null,function(b,d,e){return cljs.core.truth_(a.call(null,e))?cljs.core.dissoc.call(null,b,d):b},b,b)};
taoensso.encore.keys_by=function(a,b){return cljs.core.persistent_BANG_.call(null,cljs.core.reduce.call(null,function(b,d){return cljs.core.assoc_BANG_.call(null,b,a.call(null,d),d)},cljs.core.transient$.call(null,cljs.core.PersistentArrayMap.EMPTY),b))};taoensso.encore.ks_EQ_=function(a,b){return cljs.core._EQ_.call(null,cljs.core.set.call(null,cljs.core.keys.call(null,b)),taoensso.encore.set_STAR_.call(null,a))};
taoensso.encore.ks_LT__EQ_=function(a,b){return clojure.set.subset_QMARK_.call(null,cljs.core.set.call(null,cljs.core.keys.call(null,b)),taoensso.encore.set_STAR_.call(null,a))};taoensso.encore.ks_GT__EQ_=function(a,b){return clojure.set.superset_QMARK_.call(null,cljs.core.set.call(null,cljs.core.keys.call(null,b)),taoensso.encore.set_STAR_.call(null,a))};
taoensso.encore.ks_nnil_QMARK_=function(a,b){return taoensso.encore.revery_QMARK_.call(null,function(a){return taoensso.encore.some_QMARK_.call(null,cljs.core.get.call(null,b,a))},a)};
taoensso.encore.update_in=function(a){switch(arguments.length){case 3:return taoensso.encore.update_in.cljs$core$IFn$_invoke$arity$3(arguments[0],arguments[1],arguments[2]);case 4:return taoensso.encore.update_in.cljs$core$IFn$_invoke$arity$4(arguments[0],arguments[1],arguments[2],arguments[3]);default:throw Error(["Invalid arity: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(""));}};
taoensso.encore.update_in.cljs$core$IFn$_invoke$arity$3=function(a,b,c){return taoensso.encore.update_in.call(null,a,b,null,c)};
taoensso.encore.update_in.cljs$core$IFn$_invoke$arity$4=function(a,b,c,d){var e=cljs.core.seq.call(null,b);if(e){b=cljs.core.nth.call(null,b,0);if(e=cljs.core.next.call(null,e))return cljs.core.assoc.call(null,a,b,taoensso.encore.update_in.call(null,cljs.core.get.call(null,a,b),e,c,d));if(cljs.core.truth_(taoensso.encore.kw_identical_QMARK_.call(null,d,new cljs.core.Keyword("swap","dissoc","swap/dissoc",-605373782))))return cljs.core.dissoc.call(null,a,b);c=d.call(null,cljs.core.get.call(null,a,b,
c));return cljs.core.truth_(taoensso.encore.kw_identical_QMARK_.call(null,c,new cljs.core.Keyword("swap","dissoc","swap/dissoc",-605373782)))?cljs.core.dissoc.call(null,a,b):cljs.core.assoc.call(null,a,b,c)}return d.call(null,a)};taoensso.encore.update_in.cljs$lang$maxFixedArity=4;
taoensso.encore.contains_in_QMARK_=function(a){switch(arguments.length){case 3:return taoensso.encore.contains_in_QMARK_.cljs$core$IFn$_invoke$arity$3(arguments[0],arguments[1],arguments[2]);case 2:return taoensso.encore.contains_in_QMARK_.cljs$core$IFn$_invoke$arity$2(arguments[0],arguments[1]);default:throw Error(["Invalid arity: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(""));}};
taoensso.encore.contains_in_QMARK_.cljs$core$IFn$_invoke$arity$3=function(a,b,c){return cljs.core.contains_QMARK_.call(null,cljs.core.get_in.call(null,a,b),c)};taoensso.encore.contains_in_QMARK_.cljs$core$IFn$_invoke$arity$2=function(a,b){return cljs.core.seq.call(null,b)?taoensso.encore.fsplit_last.call(null,function(b,d){return taoensso.encore.contains_in_QMARK_.call(null,a,b,d)},b):!1};taoensso.encore.contains_in_QMARK_.cljs$lang$maxFixedArity=3;
taoensso.encore.dissoc_in=function(a){switch(arguments.length){case 3:return taoensso.encore.dissoc_in.cljs$core$IFn$_invoke$arity$3(arguments[0],arguments[1],arguments[2]);default:for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;b=new cljs.core.IndexedSeq(b.slice(3),0,null);return taoensso.encore.dissoc_in.cljs$core$IFn$_invoke$arity$variadic(arguments[0],arguments[1],arguments[2],b)}};
taoensso.encore.dissoc_in.cljs$core$IFn$_invoke$arity$3=function(a,b,c){return taoensso.encore.update_in.call(null,a,b,null,function(a){return cljs.core.dissoc.call(null,a,c)})};taoensso.encore.dissoc_in.cljs$core$IFn$_invoke$arity$variadic=function(a,b,c,d){return taoensso.encore.update_in.call(null,a,b,null,function(a){return cljs.core.apply.call(null,cljs.core.dissoc,a,c,d)})};
taoensso.encore.dissoc_in.cljs$lang$applyTo=function(a){var b=cljs.core.first.call(null,a),c=cljs.core.next.call(null,a);a=cljs.core.first.call(null,c);var d=cljs.core.next.call(null,c);c=cljs.core.first.call(null,d);d=cljs.core.next.call(null,d);return this.cljs$core$IFn$_invoke$arity$variadic(b,a,c,d)};taoensso.encore.dissoc_in.cljs$lang$maxFixedArity=3;
taoensso.encore.interleave_all=function(a){switch(arguments.length){case 0:return taoensso.encore.interleave_all.cljs$core$IFn$_invoke$arity$0();case 1:return taoensso.encore.interleave_all.cljs$core$IFn$_invoke$arity$1(arguments[0]);case 2:return taoensso.encore.interleave_all.cljs$core$IFn$_invoke$arity$2(arguments[0],arguments[1]);default:for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;b=new cljs.core.IndexedSeq(b.slice(2),0,null);return taoensso.encore.interleave_all.cljs$core$IFn$_invoke$arity$variadic(arguments[0],
arguments[1],b)}};taoensso.encore.interleave_all.cljs$core$IFn$_invoke$arity$0=function(){return cljs.core.List.EMPTY};taoensso.encore.interleave_all.cljs$core$IFn$_invoke$arity$1=function(a){return new cljs.core.LazySeq(null,function(){return a},null,null)};
taoensso.encore.interleave_all.cljs$core$IFn$_invoke$arity$2=function(a,b){return new cljs.core.LazySeq(null,function(){var c=cljs.core.seq.call(null,a),d=cljs.core.seq.call(null,b);return c&&d?cljs.core.cons.call(null,cljs.core.first.call(null,c),cljs.core.cons.call(null,cljs.core.first.call(null,d),taoensso.encore.interleave_all.call(null,cljs.core.rest.call(null,c),cljs.core.rest.call(null,d)))):c?c:d?d:null},null,null)};
taoensso.encore.interleave_all.cljs$core$IFn$_invoke$arity$variadic=function(a,b,c){return new cljs.core.LazySeq(null,function(){var d=cljs.core.filter.call(null,cljs.core.identity,cljs.core.map.call(null,cljs.core.seq,cljs.core.conj.call(null,c,b,a)));return cljs.core.concat.call(null,cljs.core.map.call(null,cljs.core.first,d),cljs.core.apply.call(null,taoensso.encore.interleave_all,cljs.core.map.call(null,cljs.core.rest,d)))},null,null)};
taoensso.encore.interleave_all.cljs$lang$applyTo=function(a){var b=cljs.core.first.call(null,a),c=cljs.core.next.call(null,a);a=cljs.core.first.call(null,c);c=cljs.core.next.call(null,c);return this.cljs$core$IFn$_invoke$arity$variadic(b,a,c)};taoensso.encore.interleave_all.cljs$lang$maxFixedArity=2;
taoensso.encore.vinterleave_all=function(a,b){var c=cljs.core.transient$.call(null,cljs.core.PersistentVector.EMPTY);a=cljs.core.seq.call(null,a);for(b=cljs.core.seq.call(null,b);;)if(a&&b)c=cljs.core.conj_BANG_.call(null,cljs.core.conj_BANG_.call(null,c,cljs.core.first.call(null,a)),cljs.core.first.call(null,b)),a=cljs.core.next.call(null,a),b=cljs.core.next.call(null,b);else return a?cljs.core.persistent_BANG_.call(null,cljs.core.reduce.call(null,cljs.core.conj_BANG_,c,a)):b?cljs.core.persistent_BANG_.call(null,
cljs.core.reduce.call(null,cljs.core.conj_BANG_,c,b)):cljs.core.persistent_BANG_.call(null,c)};var not_found_26620={};
taoensso.encore._merge_with=function(a){return function(b,c,d){return cljs.core.reduce.call(null,function(a){return function(d,e){return null==e?d:cljs.core.reduce_kv.call(null,function(a){return function p(d,e,f){var g=cljs.core.get.call(null,d,e,a);if(g===a)return cljs.core.assoc.call(null,d,e,f);if(cljs.core.truth_(taoensso.encore.kw_identical_QMARK_.call(null,f,new cljs.core.Keyword("swap","dissoc","swap/dissoc",-605373782))))return cljs.core.dissoc.call(null,d,e);if(cljs.core.truth_(cljs.core.truth_(b)?
cljs.core.map_QMARK_.call(null,f)&&cljs.core.map_QMARK_.call(null,g):b))return cljs.core.assoc.call(null,d,e,cljs.core.reduce_kv.call(null,p,g,f));f=c.call(null,g,f);return cljs.core.truth_(taoensso.encore.kw_identical_QMARK_.call(null,f,new cljs.core.Keyword("swap","dissoc","swap/dissoc",-605373782)))?cljs.core.dissoc.call(null,d,e):cljs.core.assoc.call(null,d,e,f)}}(a),cljs.core.truth_(d)?d:cljs.core.PersistentArrayMap.EMPTY,e)}}(a),null,d)}}(not_found_26620);
taoensso.encore.merge=function(a){for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;b=0<b.length?new cljs.core.IndexedSeq(b.slice(0),0,null):null;return taoensso.encore.merge.cljs$core$IFn$_invoke$arity$variadic(b)};taoensso.encore.merge.cljs$core$IFn$_invoke$arity$variadic=function(a){return taoensso.encore._merge_with.call(null,!1,function(a,c){return c},a)};taoensso.encore.merge.cljs$lang$maxFixedArity=0;
taoensso.encore.merge.cljs$lang$applyTo=function(a){return this.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq.call(null,a))};taoensso.encore.merge_with=function(a){for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;b=1<b.length?new cljs.core.IndexedSeq(b.slice(1),0,null):null;return taoensso.encore.merge_with.cljs$core$IFn$_invoke$arity$variadic(arguments[0],b)};
taoensso.encore.merge_with.cljs$core$IFn$_invoke$arity$variadic=function(a,b){return taoensso.encore._merge_with.call(null,!1,a,b)};taoensso.encore.merge_with.cljs$lang$maxFixedArity=1;taoensso.encore.merge_with.cljs$lang$applyTo=function(a){var b=cljs.core.first.call(null,a);a=cljs.core.next.call(null,a);return this.cljs$core$IFn$_invoke$arity$variadic(b,a)};
taoensso.encore.nested_merge=function(a){for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;b=0<b.length?new cljs.core.IndexedSeq(b.slice(0),0,null):null;return taoensso.encore.nested_merge.cljs$core$IFn$_invoke$arity$variadic(b)};taoensso.encore.nested_merge.cljs$core$IFn$_invoke$arity$variadic=function(a){return taoensso.encore._merge_with.call(null,new cljs.core.Keyword(null,"nest","nest",-314993663),function(a,c){return c},a)};
taoensso.encore.nested_merge.cljs$lang$maxFixedArity=0;taoensso.encore.nested_merge.cljs$lang$applyTo=function(a){return this.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq.call(null,a))};taoensso.encore.nested_merge_with=function(a){for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;b=1<b.length?new cljs.core.IndexedSeq(b.slice(1),0,null):null;return taoensso.encore.nested_merge_with.cljs$core$IFn$_invoke$arity$variadic(arguments[0],b)};
taoensso.encore.nested_merge_with.cljs$core$IFn$_invoke$arity$variadic=function(a,b){return taoensso.encore._merge_with.call(null,new cljs.core.Keyword(null,"nest","nest",-314993663),a,b)};taoensso.encore.nested_merge_with.cljs$lang$maxFixedArity=1;taoensso.encore.nested_merge_with.cljs$lang$applyTo=function(a){var b=cljs.core.first.call(null,a);a=cljs.core.next.call(null,a);return this.cljs$core$IFn$_invoke$arity$variadic(b,a)};taoensso.encore.Swapped=function(a,b){this.newv=a;this.returnv=b};
taoensso.encore.Swapped.getBasis=function(){return new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"newv","newv",-238403387,null),new cljs.core.Symbol(null,"returnv","returnv",-1488668972,null)],null)};taoensso.encore.Swapped.cljs$lang$type=!0;taoensso.encore.Swapped.cljs$lang$ctorStr="taoensso.encore/Swapped";taoensso.encore.Swapped.cljs$lang$ctorPrWriter=function(a,b,c){return cljs.core._write.call(null,b,"taoensso.encore/Swapped")};
taoensso.encore.__GT_Swapped=function(a,b){return new taoensso.encore.Swapped(a,b)};taoensso.encore.swapped_QMARK_=function(a){return a instanceof taoensso.encore.Swapped};taoensso.encore.swapped=function(a,b){return new taoensso.encore.Swapped(a,b)};
taoensso.encore.swapped_vec=function(a){return a instanceof taoensso.encore.Swapped?new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[a.newv,a.returnv],null):new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[a,a],null)};taoensso.encore.atom_tag=new cljs.core.Symbol(null,"clojure.lang.IAtom","clojure.lang.IAtom",2048990995,null);
taoensso.encore._swap_val_BANG_=function(a,b,c){for(;;){var d=cljs.core.deref.call(null,a);c=c.call(null,cljs.core.get.call(null,d,b));b=cljs.core.assoc.call(null,d,b,c);cljs.core.reset_BANG_.call(null,a,b);return c}};taoensso.encore._swap_k0_BANG_=function(a,b,c){for(;;){var d=cljs.core.deref.call(null,b);c=c.call(null,d);var e=c instanceof taoensso.encore.Swapped,f=e?c.newv:c;cljs.core.reset_BANG_.call(null,b,f);return e?c.returnv:a.call(null,d,f)}};
taoensso.encore._reset_k0_BANG_=function(a,b,c){for(;;){var d=cljs.core.deref.call(null,b);cljs.core.reset_BANG_.call(null,b,c);return a.call(null,d,c)}};
taoensso.encore._swap_k1_BANG_=function(a,b,c,d,e){if(cljs.core.truth_(taoensso.encore.kw_identical_QMARK_.call(null,e,new cljs.core.Keyword("swap","dissoc","swap/dissoc",-605373782))))for(;;){var f=cljs.core.deref.call(null,b);e=cljs.core.dissoc.call(null,f,c);cljs.core.reset_BANG_.call(null,b,e);return a.call(null,cljs.core.get.call(null,f,c,d),new cljs.core.Keyword("swap","dissoc","swap/dissoc",-605373782))}else for(;;){f=cljs.core.deref.call(null,b);d=cljs.core.get.call(null,f,c,d);var g=e.call(null,
d),h=g instanceof taoensso.encore.Swapped,k=h?g.newv:g;e=cljs.core.truth_(taoensso.encore.kw_identical_QMARK_.call(null,k,new cljs.core.Keyword("swap","dissoc","swap/dissoc",-605373782)))?cljs.core.dissoc.call(null,f,c):cljs.core.assoc.call(null,f,c,k);cljs.core.reset_BANG_.call(null,b,e);return h?g.returnv:a.call(null,d,k)}};
taoensso.encore._reset_k1_BANG_=function(a,b,c,d,e){for(;;){var f=cljs.core.deref.call(null,b),g=cljs.core.assoc.call(null,f,c,e);cljs.core.reset_BANG_.call(null,b,g);return a.call(null,cljs.core.get.call(null,f,c,d),e)}};
taoensso.encore._swap_kn_BANG_=function(a,b,c,d,e){var f=cljs.core.seq.call(null,c);if(f)if(cljs.core.next.call(null,f))if(cljs.core.truth_(taoensso.encore.kw_identical_QMARK_.call(null,e,new cljs.core.Keyword("swap","dissoc","swap/dissoc",-605373782))))for(;;){var g=cljs.core.deref.call(null,b);f=taoensso.encore.fsplit_last.call(null,function(a,b,c){return function(b,c){return taoensso.encore.dissoc_in.call(null,a,b,c)}}(g,f,f),c);cljs.core.reset_BANG_.call(null,b,f);return a.call(null,cljs.core.get_in.call(null,
g,c,d),new cljs.core.Keyword("swap","dissoc","swap/dissoc",-605373782))}else for(;;){g=cljs.core.deref.call(null,b);d=cljs.core.get_in.call(null,g,c,d);e=e.call(null,d);var h=e instanceof taoensso.encore.Swapped,k=h?e.newv:e;f=cljs.core.truth_(taoensso.encore.kw_identical_QMARK_.call(null,k,new cljs.core.Keyword("swap","dissoc","swap/dissoc",-605373782)))?taoensso.encore.fsplit_last.call(null,function(a,b,c,d,e,f,g){return function(b,c){return taoensso.encore.dissoc_in.call(null,a,b,c)}}(g,d,e,h,
k,f,f),c):cljs.core.assoc_in.call(null,g,c,k);cljs.core.reset_BANG_.call(null,b,f);return h?e.returnv:a.call(null,d,k)}else return taoensso.encore._swap_k1_BANG_.call(null,a,b,cljs.core.nth.call(null,c,0),d,e);else return taoensso.encore._swap_k0_BANG_.call(null,a,b,e)};
taoensso.encore._reset_kn_BANG_=function(a,b,c,d,e){var f=cljs.core.seq.call(null,c);if(f)if(cljs.core.next.call(null,f))for(;;){f=cljs.core.deref.call(null,b);var g=cljs.core.assoc_in.call(null,f,c,e);cljs.core.reset_BANG_.call(null,b,g);return a.call(null,cljs.core.get_in.call(null,f,c,d),e)}else return taoensso.encore._reset_k1_BANG_.call(null,a,b,cljs.core.nth.call(null,c,0),d,e);else return taoensso.encore._reset_k0_BANG_.call(null,a,b,e)};var return_26641=function(a,b){return b};
taoensso.encore.swap_val_BANG_=function(a){return function(a){switch(arguments.length){case 3:return taoensso.encore.swap_val_BANG_.cljs$core$IFn$_invoke$arity$3(arguments[0],arguments[1],arguments[2]);case 4:return taoensso.encore.swap_val_BANG_.cljs$core$IFn$_invoke$arity$4(arguments[0],arguments[1],arguments[2],arguments[3]);default:throw Error(["Invalid arity: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(""));}}}(return_26641);
taoensso.encore.swap_val_BANG_.cljs$core$IFn$_invoke$arity$3=function(a){return function(b,c,d){return taoensso.encore._swap_k1_BANG_.call(null,a,b,c,null,d)}}(return_26641);taoensso.encore.swap_val_BANG_.cljs$core$IFn$_invoke$arity$4=function(a){return function(b,c,d,e){return taoensso.encore._swap_k1_BANG_.call(null,a,b,c,d,e)}}(return_26641);taoensso.encore.swap_val_BANG_.cljs$lang$maxFixedArity=4;var return_26645=function(a,b){return a};
taoensso.encore.reset_val_BANG_=function(a){return function(a){switch(arguments.length){case 3:return taoensso.encore.reset_val_BANG_.cljs$core$IFn$_invoke$arity$3(arguments[0],arguments[1],arguments[2]);case 4:return taoensso.encore.reset_val_BANG_.cljs$core$IFn$_invoke$arity$4(arguments[0],arguments[1],arguments[2],arguments[3]);default:throw Error(["Invalid arity: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(""));}}}(return_26645);
taoensso.encore.reset_val_BANG_.cljs$core$IFn$_invoke$arity$3=function(a){return function(b,c,d){return taoensso.encore._reset_k1_BANG_.call(null,a,b,c,null,d)}}(return_26645);taoensso.encore.reset_val_BANG_.cljs$core$IFn$_invoke$arity$4=function(a){return function(b,c,d,e){return taoensso.encore._reset_k1_BANG_.call(null,a,b,c,d,e)}}(return_26645);taoensso.encore.reset_val_BANG_.cljs$lang$maxFixedArity=4;
var return_26649=function(a,b){return new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[a,b],null)};
taoensso.encore.swap_val_BANG__STAR_=function(a){return function(a){switch(arguments.length){case 3:return taoensso.encore.swap_val_BANG__STAR_.cljs$core$IFn$_invoke$arity$3(arguments[0],arguments[1],arguments[2]);case 4:return taoensso.encore.swap_val_BANG__STAR_.cljs$core$IFn$_invoke$arity$4(arguments[0],arguments[1],arguments[2],arguments[3]);default:throw Error(["Invalid arity: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(""));}}}(return_26649);
taoensso.encore.swap_val_BANG__STAR_.cljs$core$IFn$_invoke$arity$3=function(a){return function(b,c,d){return taoensso.encore._swap_k1_BANG_.call(null,a,b,c,null,d)}}(return_26649);taoensso.encore.swap_val_BANG__STAR_.cljs$core$IFn$_invoke$arity$4=function(a){return function(b,c,d,e){return taoensso.encore._swap_k1_BANG_.call(null,a,b,c,d,e)}}(return_26649);taoensso.encore.swap_val_BANG__STAR_.cljs$lang$maxFixedArity=4;
taoensso.encore.pull_val_BANG_=function(a){switch(arguments.length){case 2:return taoensso.encore.pull_val_BANG_.cljs$core$IFn$_invoke$arity$2(arguments[0],arguments[1]);case 3:return taoensso.encore.pull_val_BANG_.cljs$core$IFn$_invoke$arity$3(arguments[0],arguments[1],arguments[2]);default:throw Error(["Invalid arity: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(""));}};
taoensso.encore.pull_val_BANG_.cljs$core$IFn$_invoke$arity$2=function(a,b){return taoensso.encore.pull_val_BANG_.call(null,a,b,null)};taoensso.encore.pull_val_BANG_.cljs$core$IFn$_invoke$arity$3=function(a,b,c){a=taoensso.encore.swap_val_BANG__STAR_.call(null,a,b,c,new cljs.core.Keyword("swap","dissoc","swap/dissoc",-605373782));return cljs.core.nth.call(null,a,0,null)};taoensso.encore.pull_val_BANG_.cljs$lang$maxFixedArity=3;var not_found_26659={};
taoensso.encore.reset_val_BANG__QMARK_=function(a){return function(b,c,d){b=taoensso.encore.reset_val_BANG_.call(null,b,c,a,d);return cljs.core._EQ_.call(null,b,d)?!1:!0}}(not_found_26659);var return_26662=function(a,b){return b};
taoensso.encore.swap_in_BANG_=function(a){return function(a){switch(arguments.length){case 2:return taoensso.encore.swap_in_BANG_.cljs$core$IFn$_invoke$arity$2(arguments[0],arguments[1]);case 3:return taoensso.encore.swap_in_BANG_.cljs$core$IFn$_invoke$arity$3(arguments[0],arguments[1],arguments[2]);case 4:return taoensso.encore.swap_in_BANG_.cljs$core$IFn$_invoke$arity$4(arguments[0],arguments[1],arguments[2],arguments[3]);default:throw Error(["Invalid arity: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(""));
}}}(return_26662);taoensso.encore.swap_in_BANG_.cljs$core$IFn$_invoke$arity$2=function(a){return function(b,c){return taoensso.encore._swap_k0_BANG_.call(null,a,b,c)}}(return_26662);taoensso.encore.swap_in_BANG_.cljs$core$IFn$_invoke$arity$3=function(a){return function(b,c,d){return taoensso.encore._swap_kn_BANG_.call(null,a,b,c,null,d)}}(return_26662);
taoensso.encore.swap_in_BANG_.cljs$core$IFn$_invoke$arity$4=function(a){return function(b,c,d,e){return taoensso.encore._swap_kn_BANG_.call(null,a,b,c,d,e)}}(return_26662);taoensso.encore.swap_in_BANG_.cljs$lang$maxFixedArity=4;var return_26666=function(a,b){return a};
taoensso.encore.reset_in_BANG_=function(a){return function(a){switch(arguments.length){case 2:return taoensso.encore.reset_in_BANG_.cljs$core$IFn$_invoke$arity$2(arguments[0],arguments[1]);case 3:return taoensso.encore.reset_in_BANG_.cljs$core$IFn$_invoke$arity$3(arguments[0],arguments[1],arguments[2]);case 4:return taoensso.encore.reset_in_BANG_.cljs$core$IFn$_invoke$arity$4(arguments[0],arguments[1],arguments[2],arguments[3]);default:throw Error(["Invalid arity: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(""));
}}}(return_26666);taoensso.encore.reset_in_BANG_.cljs$core$IFn$_invoke$arity$2=function(a){return function(b,c){return taoensso.encore._reset_k0_BANG_.call(null,a,b,c)}}(return_26666);taoensso.encore.reset_in_BANG_.cljs$core$IFn$_invoke$arity$3=function(a){return function(b,c,d){return taoensso.encore._reset_kn_BANG_.call(null,a,b,c,null,d)}}(return_26666);
taoensso.encore.reset_in_BANG_.cljs$core$IFn$_invoke$arity$4=function(a){return function(b,c,d,e){return taoensso.encore._reset_kn_BANG_.call(null,a,b,c,d,e)}}(return_26666);taoensso.encore.reset_in_BANG_.cljs$lang$maxFixedArity=4;var return_26670=function(a,b){return new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[a,b],null)};
taoensso.encore.swap_in_BANG__STAR_=function(a){return function(a){switch(arguments.length){case 2:return taoensso.encore.swap_in_BANG__STAR_.cljs$core$IFn$_invoke$arity$2(arguments[0],arguments[1]);case 3:return taoensso.encore.swap_in_BANG__STAR_.cljs$core$IFn$_invoke$arity$3(arguments[0],arguments[1],arguments[2]);case 4:return taoensso.encore.swap_in_BANG__STAR_.cljs$core$IFn$_invoke$arity$4(arguments[0],arguments[1],arguments[2],arguments[3]);default:throw Error(["Invalid arity: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(""));
}}}(return_26670);taoensso.encore.swap_in_BANG__STAR_.cljs$core$IFn$_invoke$arity$2=function(a){return function(b,c){return taoensso.encore._swap_k0_BANG_.call(null,a,b,c)}}(return_26670);taoensso.encore.swap_in_BANG__STAR_.cljs$core$IFn$_invoke$arity$3=function(a){return function(b,c,d){return taoensso.encore._swap_kn_BANG_.call(null,a,b,c,null,d)}}(return_26670);
taoensso.encore.swap_in_BANG__STAR_.cljs$core$IFn$_invoke$arity$4=function(a){return function(b,c,d,e){return taoensso.encore._swap_kn_BANG_.call(null,a,b,c,d,e)}}(return_26670);taoensso.encore.swap_in_BANG__STAR_.cljs$lang$maxFixedArity=4;taoensso.encore.now_dt=function(){return new Date};taoensso.encore.now_udt=function(){return(new Date).getTime()};
taoensso.encore.now_nano=function(){var a=taoensso.encore.oget.call(null,taoensso.encore.js__QMARK_win,"performance");if(cljs.core.truth_(a)){var b=function(){var b=taoensso.encore.oget.call(null,a,"now");if(cljs.core.truth_(b))return b;b=taoensso.encore.oget.call(null,a,"mozNow");if(cljs.core.truth_(b))return b;b=taoensso.encore.oget.call(null,a,"msNow");if(cljs.core.truth_(b))return b;b=taoensso.encore.oget.call(null,a,"oNow");return cljs.core.truth_(b)?b:taoensso.encore.oget.call(null,a,"webkitNow")}();
return cljs.core.truth_(b)?function(a,b,e,f){return function(){return 1E6*cljs.core.long$.call(null,a.call(e))}}(b,b,a,a):function(a,b,e){return function(){return 1E6*(new Date).getTime()}}(b,a,a)}return function(a){return function(){return 1E6*(new Date).getTime()}}(a)}();
taoensso.encore.memoize_=function(a){return function(b,c){return function(){var d=function(d){var e=cljs.core.first.call(null,d);if(cljs.core.truth_(taoensso.encore.kw_identical_QMARK_.call(null,e,new cljs.core.Keyword("mem","del","mem/del",574870667))))return d=cljs.core.next.call(null,d),e=cljs.core.first.call(null,d),cljs.core.truth_(taoensso.encore.kw_identical_QMARK_.call(null,e,new cljs.core.Keyword("mem","all","mem/all",892075139)))?cljs.core.vreset_BANG_.call(null,b,cljs.core.PersistentArrayMap.EMPTY):
cljs.core._vreset_BANG_.call(null,b,cljs.core.dissoc.call(null,cljs.core._deref.call(null,b),d)),null;if(cljs.core.truth_(taoensso.encore.kw_identical_QMARK_.call(null,e,new cljs.core.Keyword("mem","fresh","mem/fresh",-1179989133))))return d=cljs.core.next.call(null,d),e=cljs.core.apply.call(null,a,d),cljs.core._vreset_BANG_.call(null,b,cljs.core.assoc.call(null,cljs.core._deref.call(null,b),d,e)),e;e=cljs.core.get.call(null,cljs.core.deref.call(null,b),d,c);e===c&&(e=cljs.core.apply.call(null,a,
d),cljs.core._vreset_BANG_.call(null,b,cljs.core.assoc.call(null,cljs.core._deref.call(null,b),d,e)));return e},e=function(a){var b=null;if(0<arguments.length){b=0;for(var c=Array(arguments.length-0);b<c.length;)c[b]=arguments[b+0],++b;b=new cljs.core.IndexedSeq(c,0,null)}return d.call(this,b)};e.cljs$lang$maxFixedArity=0;e.cljs$lang$applyTo=function(a){a=cljs.core.seq(a);return d(a)};e.cljs$core$IFn$_invoke$arity$variadic=d;return e}()}(cljs.core.volatile_BANG_.call(null,cljs.core.PersistentArrayMap.EMPTY),
{})};
taoensso.encore.memoize_last=function(a){return function(b){return function(){var c=function(c){return cljs.core.deref.call(null,function(){var d=cljs.core.get.call(null,cljs.core.deref.call(null,b),c);return cljs.core.truth_(d)?d:cljs.core.get.call(null,cljs.core.swap_BANG_.call(null,b,function(b,d){return function(e){return cljs.core.truth_(cljs.core.get.call(null,e,c))?e:cljs.core.PersistentArrayMap.createAsIfByAssoc([c,new cljs.core.Delay(function(b,d){return function(){return cljs.core.apply.call(null,a,
c)}}(b,d),null)])}}(d,b)),c)}())},d=function(a){var b=null;if(0<arguments.length){b=0;for(var d=Array(arguments.length-0);b<d.length;)d[b]=arguments[b+0],++b;b=new cljs.core.IndexedSeq(d,0,null)}return c.call(this,b)};d.cljs$lang$maxFixedArity=0;d.cljs$lang$applyTo=function(a){a=cljs.core.seq(a);return c(a)};d.cljs$core$IFn$_invoke$arity$variadic=c;return d}()}(cljs.core.atom.call(null,cljs.core.PersistentArrayMap.EMPTY))};taoensso.encore.SimpleCacheEntry=function(a,b){this.delay=a;this.udt=b};
taoensso.encore.SimpleCacheEntry.getBasis=function(){return new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"delay","delay",1066306308,null),cljs.core.with_meta(new cljs.core.Symbol(null,"udt","udt",-642723018,null),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"tag","tag",-1290361223),new cljs.core.Symbol(null,"long","long",1469079434,null)],null))],null)};taoensso.encore.SimpleCacheEntry.cljs$lang$type=!0;
taoensso.encore.SimpleCacheEntry.cljs$lang$ctorStr="taoensso.encore/SimpleCacheEntry";taoensso.encore.SimpleCacheEntry.cljs$lang$ctorPrWriter=function(a,b,c){return cljs.core._write.call(null,b,"taoensso.encore/SimpleCacheEntry")};taoensso.encore.__GT_SimpleCacheEntry=function(a,b){return new taoensso.encore.SimpleCacheEntry(a,b)};taoensso.encore.TickedCacheEntry=function(a,b,c,d){this.delay=a;this.udt=b;this.tick_lru=c;this.tick_lfu=d};
taoensso.encore.TickedCacheEntry.getBasis=function(){return new cljs.core.PersistentVector(null,4,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"delay","delay",1066306308,null),cljs.core.with_meta(new cljs.core.Symbol(null,"udt","udt",-642723018,null),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"tag","tag",-1290361223),new cljs.core.Symbol(null,"long","long",1469079434,null)],null)),cljs.core.with_meta(new cljs.core.Symbol(null,"tick-lru","tick-lru",1625824877,
null),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"tag","tag",-1290361223),new cljs.core.Symbol(null,"long","long",1469079434,null)],null)),cljs.core.with_meta(new cljs.core.Symbol(null,"tick-lfu","tick-lfu",-1976905322,null),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"tag","tag",-1290361223),new cljs.core.Symbol(null,"long","long",1469079434,null)],null))],null)};taoensso.encore.TickedCacheEntry.cljs$lang$type=!0;
taoensso.encore.TickedCacheEntry.cljs$lang$ctorStr="taoensso.encore/TickedCacheEntry";taoensso.encore.TickedCacheEntry.cljs$lang$ctorPrWriter=function(a,b,c){return cljs.core._write.call(null,b,"taoensso.encore/TickedCacheEntry")};taoensso.encore.__GT_TickedCacheEntry=function(a,b,c,d){return new taoensso.encore.TickedCacheEntry(a,b,c,d)};
taoensso.encore.memoize_STAR_=function(a){switch(arguments.length){case 1:return taoensso.encore.memoize_STAR_.cljs$core$IFn$_invoke$arity$1(arguments[0]);case 2:return taoensso.encore.memoize_STAR_.cljs$core$IFn$_invoke$arity$2(arguments[0],arguments[1]);case 3:return taoensso.encore.memoize_STAR_.cljs$core$IFn$_invoke$arity$3(arguments[0],arguments[1],arguments[2]);default:throw Error(["Invalid arity: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(""));}};
taoensso.encore.memoize_STAR_.cljs$core$IFn$_invoke$arity$1=function(a){return taoensso.encore.memoize_.call(null,a)};
taoensso.encore.memoize_STAR_.cljs$core$IFn$_invoke$arity$2=function(a,b){try{var c=taoensso.encore.pos_int_QMARK_.call(null,a)?null:taoensso.truss.impl._dummy_error}catch(e){if(e instanceof Error)c=e;else throw e;}null!=c&&taoensso.truss.impl._invar_violation_BANG_.call(null,!0,"taoensso.encore",1736,"(pos-int? ttl-ms)",a,c,null);c=cljs.core.atom.call(null,null);var d=cljs.core.atom.call(null,null);a=cljs.core.long$.call(null,a);return function(a,c,d){return function(){var e=function(e){var f=cljs.core.first.call(null,
e);if(cljs.core.truth_(taoensso.encore.kw_identical_QMARK_.call(null,f,new cljs.core.Keyword("mem","del","mem/del",574870667)))){f=cljs.core.next.call(null,e);var g=cljs.core.first.call(null,f);cljs.core.truth_(taoensso.encore.kw_identical_QMARK_.call(null,g,new cljs.core.Keyword("mem","all","mem/all",892075139)))?cljs.core.reset_BANG_.call(null,a,null):cljs.core.swap_BANG_.call(null,a,cljs.core.dissoc,f);return null}g=(new Date).getTime();6.25E-5>=Math.random()&&(cljs.core.reset_BANG_.call(null,
c,null),cljs.core.swap_BANG_.call(null,a,function(a,b,c,d,e,f){return function(g){return cljs.core.persistent_BANG_.call(null,cljs.core.reduce_kv.call(null,function(a,b,c,d,e,f){return function(a,c,d){return b-d.udt>f?cljs.core.dissoc_BANG_.call(null,a,c):a}}(a,b,c,d,e,f),cljs.core.transient$.call(null,cljs.core.truth_(g)?g:cljs.core.PersistentArrayMap.EMPTY),g))}}(null,g,f,a,c,d)));var h=taoensso.encore.kw_identical_QMARK_.call(null,f,new cljs.core.Keyword("mem","fresh","mem/fresh",-1179989133));
e=cljs.core.truth_(h)?cljs.core.next.call(null,e):e;f=taoensso.encore._swap_val_BANG_.call(null,a,e,function(a,c,d,e,f,g,h){return function(k){return cljs.core.truth_(function(){var b=null==k;return b?b:cljs.core.truth_(a)?a:d-k.udt>h}())?new taoensso.encore.SimpleCacheEntry(new cljs.core.Delay(function(a,c,d,e,f,g,h){return function(){return cljs.core.apply.call(null,b,c)}}(a,c,d,e,f,g,h),null),d):k}}(h,e,g,f,a,c,d));return cljs.core.deref.call(null,f.delay)},f=function(a){var b=null;if(0<arguments.length){b=
0;for(var c=Array(arguments.length-0);b<c.length;)c[b]=arguments[b+0],++b;b=new cljs.core.IndexedSeq(c,0,null)}return e.call(this,b)};f.cljs$lang$maxFixedArity=0;f.cljs$lang$applyTo=function(a){a=cljs.core.seq(a);return e(a)};f.cljs$core$IFn$_invoke$arity$variadic=e;return f}()}(c,d,a)};
taoensso.encore.memoize_STAR_.cljs$core$IFn$_invoke$arity$3=function(a,b,c){cljs.core.truth_(function(a){var b=null==a;return b?b:taoensso.truss.impl.non_throwing.call(null,taoensso.encore.pos_int_QMARK_).call(null,a)}.call(null,b))||taoensso.truss.impl._invar_violation_BANG_.call(null,!0,"taoensso.encore",1787,"([:or nil? pos-int?] ttl-ms)",b,null,null);try{var d=taoensso.encore.pos_int_QMARK_.call(null,a)?null:taoensso.truss.impl._dummy_error}catch(h){if(h instanceof Error)d=h;else throw h;}null!=
d&&taoensso.truss.impl._invar_violation_BANG_.call(null,!0,"taoensso.encore",1788,"(pos-int? cache-size)",a,d,null);d=cljs.core.atom.call(null,0);var e=cljs.core.atom.call(null,null),f=cljs.core.atom.call(null,null);b=cljs.core.long$.call(null,cljs.core.truth_(b)?b:0);var g=0!==b;a=cljs.core.long$.call(null,a);return function(a,b,d,e,f,g){return function(){var h=function(h){var k=cljs.core.first.call(null,h);if(cljs.core.truth_(taoensso.encore.kw_identical_QMARK_.call(null,k,new cljs.core.Keyword("mem",
"del","mem/del",574870667)))){k=cljs.core.next.call(null,h);var l=cljs.core.first.call(null,k);cljs.core.truth_(taoensso.encore.kw_identical_QMARK_.call(null,l,new cljs.core.Keyword("mem","all","mem/all",892075139)))?cljs.core.reset_BANG_.call(null,b,null):cljs.core.swap_BANG_.call(null,b,cljs.core.dissoc,k);return null}l=f?(new Date).getTime():0;if(6.25E-5>=Math.random()){cljs.core.reset_BANG_.call(null,d,null);f&&cljs.core.swap_BANG_.call(null,b,function(a,b,c,d,e,f,g,h,k){return function(l){return cljs.core.persistent_BANG_.call(null,
cljs.core.reduce_kv.call(null,function(a,b,c,d,e,f,g,h,k){return function(a,c,d){return b-d.udt>g?cljs.core.dissoc_BANG_.call(null,a,c):a}}(a,b,c,d,e,f,g,h,k),cljs.core.transient$.call(null,cljs.core.truth_(l)?l:cljs.core.PersistentArrayMap.EMPTY),l))}}(null,l,k,a,b,d,e,f,g));var m=cljs.core.deref.call(null,b),n=cljs.core.count.call(null,m)-g;if(64<n){var p=taoensso.encore.top.call(null,n,function(a,b,c,d,e,f,g,h,k,l,m){return function(b){b=cljs.core.get.call(null,a,b);return b.tick_lru+b.tick_lfu}}(m,
n,null,l,k,a,b,d,e,f,g),cljs.core.keys.call(null,m));cljs.core.swap_BANG_.call(null,b,function(a,b,c,d,e,f,g,h,k,l,m,n){return function(p){return cljs.core.persistent_BANG_.call(null,cljs.core.reduce.call(null,function(a,b,c,d,e,f,g,h,k,l,m,n){return function(a,b){return cljs.core.dissoc_BANG_.call(null,a,b)}}(a,b,c,d,e,f,g,h,k,l,m,n),cljs.core.transient$.call(null,cljs.core.truth_(p)?p:cljs.core.PersistentArrayMap.EMPTY),a))}}(p,m,n,null,l,k,a,b,d,e,f,g))}}m=taoensso.encore.kw_identical_QMARK_.call(null,
k,new cljs.core.Keyword("mem","fresh","mem/fresh",-1179989133));h=cljs.core.truth_(m)?cljs.core.next.call(null,h):h;n=cljs.core.swap_BANG_.call(null,a,function(a,b,c,d,e,f,g,h,k,l){return function(a){return a+1}}(m,h,l,k,a,b,d,e,f,g));k=taoensso.encore._swap_val_BANG_.call(null,b,h,function(a,b,d,e,f,g,h,k,l,m,n){return function(p){return cljs.core.truth_(function(){var b=null==p;return b?b:cljs.core.truth_(a)?a:e-p.udt>l}())?new taoensso.encore.TickedCacheEntry(new cljs.core.Delay(function(a,b,d,
e,f,g,h,k,l,m,n){return function(){return cljs.core.apply.call(null,c,b)}}(a,b,d,e,f,g,h,k,l,m,n),null),e,d,1):new taoensso.encore.TickedCacheEntry(p.delay,p.udt,d,p.tick_lfu+1)}}(m,h,n,l,k,a,b,d,e,f,g));return cljs.core.deref.call(null,k.delay)},k=function(a){var b=null;if(0<arguments.length){b=0;for(var c=Array(arguments.length-0);b<c.length;)c[b]=arguments[b+0],++b;b=new cljs.core.IndexedSeq(c,0,null)}return h.call(this,b)};k.cljs$lang$maxFixedArity=0;k.cljs$lang$applyTo=function(a){a=cljs.core.seq(a);
return h(a)};k.cljs$core$IFn$_invoke$arity$variadic=h;return k}()}(d,e,f,b,g,a)};taoensso.encore.memoize_STAR_.cljs$lang$maxFixedArity=3;taoensso.encore.LimitSpec=function(a,b){this.n=a;this.ms=b};
taoensso.encore.LimitSpec.getBasis=function(){return new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[cljs.core.with_meta(new cljs.core.Symbol(null,"n","n",-2092305744,null),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"tag","tag",-1290361223),new cljs.core.Symbol(null,"long","long",1469079434,null)],null)),cljs.core.with_meta(new cljs.core.Symbol(null,"ms","ms",487821794,null),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,
"tag","tag",-1290361223),new cljs.core.Symbol(null,"long","long",1469079434,null)],null))],null)};taoensso.encore.LimitSpec.cljs$lang$type=!0;taoensso.encore.LimitSpec.cljs$lang$ctorStr="taoensso.encore/LimitSpec";taoensso.encore.LimitSpec.cljs$lang$ctorPrWriter=function(a,b,c){return cljs.core._write.call(null,b,"taoensso.encore/LimitSpec")};taoensso.encore.__GT_LimitSpec=function(a,b){return new taoensso.encore.LimitSpec(a,b)};taoensso.encore.LimitEntry=function(a,b){this.n=a;this.udt0=b};
taoensso.encore.LimitEntry.getBasis=function(){return new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[cljs.core.with_meta(new cljs.core.Symbol(null,"n","n",-2092305744,null),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"tag","tag",-1290361223),new cljs.core.Symbol(null,"long","long",1469079434,null)],null)),cljs.core.with_meta(new cljs.core.Symbol(null,"udt0","udt0",-969222777,null),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,
"tag","tag",-1290361223),new cljs.core.Symbol(null,"long","long",1469079434,null)],null))],null)};taoensso.encore.LimitEntry.cljs$lang$type=!0;taoensso.encore.LimitEntry.cljs$lang$ctorStr="taoensso.encore/LimitEntry";taoensso.encore.LimitEntry.cljs$lang$ctorPrWriter=function(a,b,c){return cljs.core._write.call(null,b,"taoensso.encore/LimitEntry")};taoensso.encore.__GT_LimitEntry=function(a,b){return new taoensso.encore.LimitEntry(a,b)};
taoensso.encore.LimitHits=function(a,b,c){this.m=a;this.worst_sid=b;this.worst_ms=c};
taoensso.encore.LimitHits.getBasis=function(){return new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"m","m",-1021758608,null),new cljs.core.Symbol(null,"worst-sid","worst-sid",1427291395,null),cljs.core.with_meta(new cljs.core.Symbol(null,"worst-ms","worst-ms",1541498579,null),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"tag","tag",-1290361223),new cljs.core.Symbol(null,"long","long",1469079434,null)],null))],null)};
taoensso.encore.LimitHits.cljs$lang$type=!0;taoensso.encore.LimitHits.cljs$lang$ctorStr="taoensso.encore/LimitHits";taoensso.encore.LimitHits.cljs$lang$ctorPrWriter=function(a,b,c){return cljs.core._write.call(null,b,"taoensso.encore/LimitHits")};taoensso.encore.__GT_LimitHits=function(a,b,c){return new taoensso.encore.LimitHits(a,b,c)};
var limit_spec_26708=function(a,b){new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[function(){try{var b=taoensso.encore.pos_int_QMARK_.call(null,a)?null:taoensso.truss.impl._dummy_error}catch(d){if(d instanceof Error)b=d;else throw d;}return null==b?!0:taoensso.truss.impl._invar_violation_BANG_.call(null,!0,"taoensso.encore",1888,"(pos-int? n)",a,b,null)}(),function(){try{var a=taoensso.encore.pos_int_QMARK_.call(null,b)?null:taoensso.truss.impl._dummy_error}catch(d){if(d instanceof
Error)a=d;else throw d;}return null==a?!0:taoensso.truss.impl._invar_violation_BANG_.call(null,!0,"taoensso.encore",1888,"(pos-int? ms)",b,a,null)}()],null);return new taoensso.encore.LimitSpec(a,b)};
taoensso.encore.coerce_limit_specs=function(a){return function(b){if(cljs.core.map_QMARK_.call(null,b))return cljs.core.reduce_kv.call(null,function(a){return function(b,c,d){var e=cljs.core.nth.call(null,d,0,null);d=cljs.core.nth.call(null,d,1,null);return cljs.core.assoc.call(null,b,c,a.call(null,e,d))}}(a),cljs.core.PersistentArrayMap.EMPTY,b);if(cljs.core.vector_QMARK_.call(null,b)){var c=cljs.core.volatile_BANG_.call(null,-1);return cljs.core.reduce.call(null,function(a,b){return function(c,
d){var e=cljs.core.nth.call(null,d,0,null),f=cljs.core.nth.call(null,d,1,null),g=cljs.core.nth.call(null,d,2,null);return cljs.core.assoc.call(null,c,function(){return cljs.core.truth_(g)?g:cljs.core._vreset_BANG_.call(null,a,function(a,b,c,d,e,f,g){return function(a){return a+1}}(g,d,e,f,g,a,b).call(null,cljs.core._deref.call(null,a)))}(),b.call(null,e,f))}}(c,a),cljs.core.PersistentArrayMap.EMPTY,b)}throw cljs.core.ex_info.call(null,"No matching `encore/cond!` clause",cljs.core.PersistentArrayMap.EMPTY);
}}(limit_spec_26708);
taoensso.encore.limiter_STAR_=function(a){if(cljs.core.empty_QMARK_.call(null,a))return new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[null,cljs.core.constantly.call(null,null)],null);var b=cljs.core.atom.call(null,null),c=cljs.core.atom.call(null,null);a=taoensso.encore.coerce_limit_specs.call(null,a);var d=function(a,b,c){return function(d,e){var f=(new Date).getTime();cljs.core.not.call(null,e)&&6.25E-5>=Math.random()&&(cljs.core.reset_BANG_.call(null,a,null),cljs.core.swap_BANG_.call(null,
b,function(a,b,c,d,e){return function(f){return cljs.core.persistent_BANG_.call(null,cljs.core.reduce_kv.call(null,function(a,b,c,d,e){return function(f,g,h){h=cljs.core.reduce_kv.call(null,function(a,b,c,d,e){return function(a,c,d){var f=cljs.core.get.call(null,e,c);return cljs.core.truth_(f)?b>=d.udt0+f.ms?cljs.core.dissoc.call(null,a,c):a:cljs.core.dissoc.call(null,a,c)}}(a,b,c,d,e),h,h);return cljs.core.empty_QMARK_.call(null,h)?cljs.core.dissoc_BANG_.call(null,f,g):cljs.core.assoc_BANG_.call(null,
f,g,h)}}(a,b,c,d,e),cljs.core.transient$.call(null,cljs.core.truth_(f)?f:cljs.core.PersistentArrayMap.EMPTY),f))}}(null,f,a,b,c)));for(;;){var g=cljs.core.deref.call(null,b),h=cljs.core.get.call(null,g,d),k=null==h?null:cljs.core.reduce_kv.call(null,function(a,b,c,d,e,f){return function(a,b,d){var e=cljs.core.get.call(null,f,b);if(cljs.core.truth_(e)){if(d.n<e.n)return a;d=d.udt0+e.ms-c;return 0>=d?a:null==a?new taoensso.encore.LimitHits(cljs.core.PersistentArrayMap.createAsIfByAssoc([b,d]),b,d):
d>a.worst_ms?new taoensso.encore.LimitHits(cljs.core.assoc.call(null,a.m,b,d),b,d):new taoensso.encore.LimitHits(cljs.core.assoc.call(null,a.m,b,d),a.worst_sid,a.worst_ms)}return a}}(g,h,f,a,b,c),null,h);if(cljs.core.truth_(cljs.core.truth_(e)?e:k))return e=k,cljs.core.truth_(e)?(d=e,new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,[d.worst_sid,d.worst_ms,d.m],null)):null;e=cljs.core.deref.call(null,a);if(cljs.core.truth_(e))return null;f=cljs.core.reduce_kv.call(null,
function(a,b,c,d,e,f,g,h){return function(a,b,d){return cljs.core.assoc.call(null,a,b,function(){var a=cljs.core.get.call(null,c,b);if(cljs.core.truth_(a)){var f=a.udt0;return e>=f+d.ms?new taoensso.encore.LimitEntry(1,e):new taoensso.encore.LimitEntry(a.n+1,f)}return new taoensso.encore.LimitEntry(1,e)}())}}(e,g,h,k,f,a,b,c),h,c);cljs.core.reset_BANG_.call(null,b,cljs.core.assoc.call(null,g,d,f));return null}}}(b,c,a);return new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,
[c,function(a,b,c,d){return function(){var a=null,c=function(){return d.call(null,null,!1)},e=function(a){return d.call(null,a,!1)},f=function(a,c){if(cljs.core.truth_(taoensso.encore.kw_identical_QMARK_.call(null,a,new cljs.core.Keyword("rl","reset","rl/reset",-800926172))))return cljs.core.truth_(taoensso.encore.kw_identical_QMARK_.call(null,c,new cljs.core.Keyword("rl","all","rl/all",892118056)))?cljs.core.reset_BANG_.call(null,b,null):cljs.core.swap_BANG_.call(null,b,cljs.core.dissoc,c),null;
if(cljs.core.truth_(taoensso.encore.kw_identical_QMARK_.call(null,a,new cljs.core.Keyword("rl","peek","rl/peek",-291391771))))return d.call(null,c,!0);throw cljs.core.ex_info.call(null,"Unrecognized rate limiter command",new cljs.core.PersistentArrayMap(null,2,[new cljs.core.Keyword(null,"given","given",716253602),a,new cljs.core.Keyword(null,"req-id","req-id",-471642231),c],null));};a=function(a,b){switch(arguments.length){case 0:return c.call(this);case 1:return e.call(this,a);case 2:return f.call(this,
a,b)}throw Error("Invalid arity: "+arguments.length);};a.cljs$core$IFn$_invoke$arity$0=c;a.cljs$core$IFn$_invoke$arity$1=e;a.cljs$core$IFn$_invoke$arity$2=f;return a}()}(b,c,a,d)],null)};taoensso.encore.limiter=function(a){a=taoensso.encore.limiter_STAR_.call(null,a);cljs.core.nth.call(null,a,0,null);return cljs.core.nth.call(null,a,1,null)};taoensso.encore.str_builder_QMARK_=function(a){return a instanceof goog.string.StringBuffer};
taoensso.encore.str_builder=function(){var a=null,b=function(){return new goog.string.StringBuffer},c=function(a){return new goog.string.StringBuffer(a)};a=function(a){switch(arguments.length){case 0:return b.call(this);case 1:return c.call(this,a)}throw Error("Invalid arity: "+arguments.length);};a.cljs$core$IFn$_invoke$arity$0=b;a.cljs$core$IFn$_invoke$arity$1=c;return a}();
taoensso.encore.sb_append=function(a){switch(arguments.length){case 2:return taoensso.encore.sb_append.cljs$core$IFn$_invoke$arity$2(arguments[0],arguments[1]);default:for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;b=new cljs.core.IndexedSeq(b.slice(2),0,null);return taoensso.encore.sb_append.cljs$core$IFn$_invoke$arity$variadic(arguments[0],arguments[1],b)}};taoensso.encore.sb_append.cljs$core$IFn$_invoke$arity$2=function(a,b){return a.append(b)};
taoensso.encore.sb_append.cljs$core$IFn$_invoke$arity$variadic=function(a,b,c){taoensso.encore.sb_append.call(null,a,b);return cljs.core.reduce.call(null,function(a,b){return taoensso.encore.sb_append.call(null,a,b)},a,c)};taoensso.encore.sb_append.cljs$lang$applyTo=function(a){var b=cljs.core.first.call(null,a),c=cljs.core.next.call(null,a);a=cljs.core.first.call(null,c);c=cljs.core.next.call(null,c);return this.cljs$core$IFn$_invoke$arity$variadic(b,a,c)};
taoensso.encore.sb_append.cljs$lang$maxFixedArity=2;
taoensso.encore.str_rf=function(){var a=null,b=function(){return taoensso.encore.str_builder.call(null)},c=function(a){return taoensso.encore.str_builder_QMARK_.call(null,a)?a:taoensso.encore.str_builder.call(null,cljs.core.str.cljs$core$IFn$_invoke$arity$1(a))},d=function(a,b){return taoensso.encore.sb_append.call(null,taoensso.encore.str_builder_QMARK_.call(null,a)?a:taoensso.encore.str_builder.call(null,cljs.core.str.cljs$core$IFn$_invoke$arity$1(a)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(b))};
a=function(a,f){switch(arguments.length){case 0:return b.call(this);case 1:return c.call(this,a);case 2:return d.call(this,a,f)}throw Error("Invalid arity: "+arguments.length);};a.cljs$core$IFn$_invoke$arity$0=b;a.cljs$core$IFn$_invoke$arity$1=c;a.cljs$core$IFn$_invoke$arity$2=d;return a}();
taoensso.encore.str_join=function(a){switch(arguments.length){case 1:return taoensso.encore.str_join.cljs$core$IFn$_invoke$arity$1(arguments[0]);case 2:return taoensso.encore.str_join.cljs$core$IFn$_invoke$arity$2(arguments[0],arguments[1]);case 3:return taoensso.encore.str_join.cljs$core$IFn$_invoke$arity$3(arguments[0],arguments[1],arguments[2]);default:throw Error(["Invalid arity: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(""));}};
taoensso.encore.str_join.cljs$core$IFn$_invoke$arity$1=function(a){return taoensso.encore.str_join.call(null,null,null,a)};taoensso.encore.str_join.cljs$core$IFn$_invoke$arity$2=function(a,b){return taoensso.encore.str_join.call(null,a,null,b)};
taoensso.encore.str_join.cljs$core$IFn$_invoke$arity$3=function(a,b,c){if(cljs.core.truth_(cljs.core.truth_(a)?cljs.core.not_EQ_.call(null,a,""):a)){a=cljs.core.interpose.call(null,a);var d=cljs.core.completing.call(null,taoensso.encore.str_rf,cljs.core.str);return cljs.core.truth_(b)?cljs.core.transduce.call(null,cljs.core.comp.call(null,b,a),d,c):cljs.core.transduce.call(null,a,d,c)}return cljs.core.truth_(b)?cljs.core.transduce.call(null,b,cljs.core.completing.call(null,taoensso.encore.str_rf,
cljs.core.str),c):cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.core.reduce.call(null,taoensso.encore.str_rf,c))};taoensso.encore.str_join.cljs$lang$maxFixedArity=3;taoensso.encore.str_contains_QMARK_=function(a,b){return cljs.core.not_EQ_.call(null,-1,a.indexOf(b))};taoensso.encore.str_starts_with_QMARK_=function(a,b){return 0===a.indexOf(b)};taoensso.encore.str_ends_with_QMARK_=function(a,b){var c=a.length,d=b.length;return c>=d?cljs.core.not_EQ_.call(null,-1,a.indexOf(b,c-d)):null};
taoensso.encore.str__QMARK_index=function(a){switch(arguments.length){case 2:return taoensso.encore.str__QMARK_index.cljs$core$IFn$_invoke$arity$2(arguments[0],arguments[1]);case 3:return taoensso.encore.str__QMARK_index.cljs$core$IFn$_invoke$arity$3(arguments[0],arguments[1],arguments[2]);case 4:return taoensso.encore.str__QMARK_index.cljs$core$IFn$_invoke$arity$4(arguments[0],arguments[1],arguments[2],arguments[3]);default:throw Error(["Invalid arity: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(""));
}};taoensso.encore.str__QMARK_index.cljs$core$IFn$_invoke$arity$2=function(a,b){return taoensso.encore.str__QMARK_index.call(null,a,b,0,!1)};taoensso.encore.str__QMARK_index.cljs$core$IFn$_invoke$arity$3=function(a,b,c){return taoensso.encore.str__QMARK_index.call(null,a,b,c,!1)};taoensso.encore.str__QMARK_index.cljs$core$IFn$_invoke$arity$4=function(a,b,c,d){a=cljs.core.truth_(d)?a.lastIndexOf(b,c):a.indexOf(b,c);return cljs.core.not_EQ_.call(null,a,-1)?a:null};
taoensso.encore.str__QMARK_index.cljs$lang$maxFixedArity=4;taoensso.encore.get_substr=function(a){switch(arguments.length){case 2:return taoensso.encore.get_substr.cljs$core$IFn$_invoke$arity$2(arguments[0],arguments[1]);case 3:return taoensso.encore.get_substr.cljs$core$IFn$_invoke$arity$3(arguments[0],arguments[1],arguments[2]);default:throw Error(["Invalid arity: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(""));}};
taoensso.encore.get_substr.cljs$core$IFn$_invoke$arity$2=function(a,b){return a.substring(b)};taoensso.encore.get_substr.cljs$core$IFn$_invoke$arity$3=function(a,b,c){return b>=c?"":a.substring(b,c)};taoensso.encore.get_substr.cljs$lang$maxFixedArity=3;
taoensso.encore.get_substring=function(a){switch(arguments.length){case 2:return taoensso.encore.get_substring.cljs$core$IFn$_invoke$arity$2(arguments[0],arguments[1]);case 3:return taoensso.encore.get_substring.cljs$core$IFn$_invoke$arity$3(arguments[0],arguments[1],arguments[2]);default:throw Error(["Invalid arity: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(""));}};
taoensso.encore.get_substring.cljs$core$IFn$_invoke$arity$2=function(a,b){return taoensso.encore.as__QMARK_nempty_str.call(null,a.substr(b))};taoensso.encore.get_substring.cljs$core$IFn$_invoke$arity$3=function(a,b,c){return taoensso.encore.as__QMARK_nempty_str.call(null,a.substr(b,c))};taoensso.encore.get_substring.cljs$lang$maxFixedArity=3;
taoensso.encore.str_replace=function(a,b,c){if("string"===typeof b)return a.replace(new RegExp(goog.string.regExpEscape(b),"g"),c);if(b instanceof RegExp){var d=["g",cljs.core.truth_(b.ignoreCase)?"i":null,cljs.core.truth_(b.multiline)?"m":null].join(""),e="string"===typeof c?c:function(a){return function(){var a=function(a){return c.call(null,cljs.core.vec.call(null,a))},b=function(b){var c=null;if(0<arguments.length){c=0;for(var d=Array(arguments.length-0);c<d.length;)d[c]=arguments[c+0],++c;c=
new cljs.core.IndexedSeq(d,0,null)}return a.call(this,c)};b.cljs$lang$maxFixedArity=0;b.cljs$lang$applyTo=function(b){b=cljs.core.seq(b);return a(b)};b.cljs$core$IFn$_invoke$arity$variadic=a;return b}()}(d);return a.replace(new RegExp(b.source,d),e)}throw["Invalid match arg: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(b)].join("");};taoensso.encore.nil__GT_str=function(a){return void 0===a||null==a?"nil":a};
taoensso.encore.format_STAR_=function(a,b){a=cljs.core.truth_(a)?a:"";b=cljs.core.mapv.call(null,taoensso.encore.nil__GT_str,b);return cljs.core.apply.call(null,goog.string.format,a,b)};taoensso.encore.format=function(a){for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;b=1<b.length?new cljs.core.IndexedSeq(b.slice(1),0,null):null;return taoensso.encore.format.cljs$core$IFn$_invoke$arity$variadic(arguments[0],b)};
taoensso.encore.format.cljs$core$IFn$_invoke$arity$variadic=function(a,b){return taoensso.encore.format_STAR_.call(null,a,b)};taoensso.encore.format.cljs$lang$maxFixedArity=1;taoensso.encore.format.cljs$lang$applyTo=function(a){var b=cljs.core.first.call(null,a);a=cljs.core.next.call(null,a);return this.cljs$core$IFn$_invoke$arity$variadic(b,a)};
taoensso.encore.str_join_once=function(a,b){if(clojure.string.blank_QMARK_.call(null,a))return cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.core.reduce.call(null,taoensso.encore.str_rf,"",b));var c=cljs.core.volatile_BANG_.call(null,!1),d=cljs.core.volatile_BANG_.call(null,!0);return cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.core.reduce.call(null,function(a,b,c){return function(d,e){e=cljs.core.str.cljs$core$IFn$_invoke$arity$1(e);var f=cljs.core._EQ_.call(null,e,""),g=taoensso.encore.str_starts_with_QMARK_.call(null,
e,c),h=taoensso.encore.str_ends_with_QMARK_.call(null,e,c),k=cljs.core.deref.call(null,a),q=cljs.core.deref.call(null,b);cljs.core.vreset_BANG_.call(null,a,h);cljs.core.truth_(q)&&cljs.core.vreset_BANG_.call(null,b,f);if(cljs.core.truth_(k))return g?taoensso.encore.sb_append.call(null,d,e.substring(1)):taoensso.encore.sb_append.call(null,d,e);g||cljs.core.truth_(cljs.core.truth_(q)?q:f)||taoensso.encore.sb_append.call(null,d,c);return taoensso.encore.sb_append.call(null,d,e)}}(c,d,a),taoensso.encore.str_builder.call(null),
b))};taoensso.encore.path=function(a){for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;b=0<b.length?new cljs.core.IndexedSeq(b.slice(0),0,null):null;return taoensso.encore.path.cljs$core$IFn$_invoke$arity$variadic(b)};taoensso.encore.path.cljs$core$IFn$_invoke$arity$variadic=function(a){return taoensso.encore.str_join_once.call(null,"/",a)};taoensso.encore.path.cljs$lang$maxFixedArity=0;
taoensso.encore.path.cljs$lang$applyTo=function(a){return this.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq.call(null,a))};taoensso.encore.norm_word_breaks=function(a){return clojure.string.replace.call(null,cljs.core.str.cljs$core$IFn$_invoke$arity$1(a),/\s+/," ")};taoensso.encore.count_words=function(a){return clojure.string.blank_QMARK_.call(null,a)?0:cljs.core.count.call(null,clojure.string.split.call(null,a,/\s+/))};
taoensso.encore.uuid_str=function(a){switch(arguments.length){case 1:return taoensso.encore.uuid_str.cljs$core$IFn$_invoke$arity$1(arguments[0]);case 0:return taoensso.encore.uuid_str.cljs$core$IFn$_invoke$arity$0();default:throw Error(["Invalid arity: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(""));}};taoensso.encore.uuid_str.cljs$core$IFn$_invoke$arity$1=function(a){return taoensso.encore.get_substring.call(null,taoensso.encore.uuid_str.call(null),0,a)};
taoensso.encore.uuid_str.cljs$core$IFn$_invoke$arity$0=function(){var a=function(){return cljs.core.rand_int.call(null,16).toString(16)},b=(8|3&cljs.core.rand_int.call(null,16)).toString(16);return[cljs.core.str.cljs$core$IFn$_invoke$arity$1(a.call(null)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(a.call(null)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(a.call(null)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(a.call(null)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(a.call(null)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(a.call(null)),
cljs.core.str.cljs$core$IFn$_invoke$arity$1(a.call(null)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(a.call(null)),"-",cljs.core.str.cljs$core$IFn$_invoke$arity$1(a.call(null)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(a.call(null)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(a.call(null)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(a.call(null)),"-4",cljs.core.str.cljs$core$IFn$_invoke$arity$1(a.call(null)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(a.call(null)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(a.call(null)),
"-",cljs.core.str.cljs$core$IFn$_invoke$arity$1(b),cljs.core.str.cljs$core$IFn$_invoke$arity$1(a.call(null)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(a.call(null)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(a.call(null)),"-",cljs.core.str.cljs$core$IFn$_invoke$arity$1(a.call(null)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(a.call(null)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(a.call(null)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(a.call(null)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(a.call(null)),
cljs.core.str.cljs$core$IFn$_invoke$arity$1(a.call(null)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(a.call(null)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(a.call(null)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(a.call(null)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(a.call(null)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(a.call(null)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(a.call(null))].join("")};taoensso.encore.uuid_str.cljs$lang$maxFixedArity=1;
taoensso.encore.into_str=function(a){for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;b=0<b.length?new cljs.core.IndexedSeq(b.slice(0),0,null):null;return taoensso.encore.into_str.cljs$core$IFn$_invoke$arity$variadic(b)};
taoensso.encore.into_str.cljs$core$IFn$_invoke$arity$variadic=function(a){return cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.core.reduce.call(null,function e(a,d){return cljs.core.sequential_QMARK_.call(null,d)?cljs.core.reduce.call(null,e,a,d):taoensso.encore.sb_append.call(null,a,cljs.core.str.cljs$core$IFn$_invoke$arity$1(d))},taoensso.encore.str_builder.call(null),a))};taoensso.encore.into_str.cljs$lang$maxFixedArity=0;
taoensso.encore.into_str.cljs$lang$applyTo=function(a){return this.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq.call(null,a))};taoensso.encore.rcompare=function(a,b){return cljs.core.compare.call(null,b,a)};var sentinel_26757={},nil__GT_sentinel_26758=function(a){return function(b){return null==b?a:b}}(sentinel_26757),sentinel__GT_nil_26759=function(a,b){return function(b){return b===a?null:b}}(sentinel_26757,nil__GT_sentinel_26758);
taoensso.encore.reduce_top=function(a,b,c){return function(a){switch(arguments.length){case 4:return taoensso.encore.reduce_top.cljs$core$IFn$_invoke$arity$4(arguments[0],arguments[1],arguments[2],arguments[3]);case 5:return taoensso.encore.reduce_top.cljs$core$IFn$_invoke$arity$5(arguments[0],arguments[1],arguments[2],arguments[3],arguments[4]);case 6:return taoensso.encore.reduce_top.cljs$core$IFn$_invoke$arity$6(arguments[0],arguments[1],arguments[2],arguments[3],arguments[4],arguments[5]);default:throw Error(["Invalid arity: ",
cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(""));}}}(sentinel_26757,nil__GT_sentinel_26758,sentinel__GT_nil_26759);taoensso.encore.reduce_top.cljs$core$IFn$_invoke$arity$4=function(a,b,c){return function(a,b,c,g){return taoensso.encore.reduce_top.call(null,a,cljs.core.identity,cljs.core.compare,b,c,g)}}(sentinel_26757,nil__GT_sentinel_26758,sentinel__GT_nil_26759);
taoensso.encore.reduce_top.cljs$core$IFn$_invoke$arity$5=function(a,b,c){return function(a,b,c,g,h){return taoensso.encore.reduce_top.call(null,a,b,cljs.core.compare,c,g,h)}}(sentinel_26757,nil__GT_sentinel_26758,sentinel__GT_nil_26759);
taoensso.encore.reduce_top.cljs$core$IFn$_invoke$arity$6=function(a,b,c){return function(a,b,c,g,h,k){var d=cljs.core.count.call(null,k),e=cljs.core.long$.call(null,function(){var b=cljs.core.long$.call(null,a);return d<b?d:b}());return 0<e?cljs.core.transduce.call(null,cljs.core.take.call(null,e),cljs.core.completing.call(null,g),h,cljs.core.sort_by.call(null,b,c,k)):h}}(sentinel_26757,nil__GT_sentinel_26758,sentinel__GT_nil_26759);taoensso.encore.reduce_top.cljs$lang$maxFixedArity=6;
taoensso.encore.top_into=function(a){switch(arguments.length){case 3:return taoensso.encore.top_into.cljs$core$IFn$_invoke$arity$3(arguments[0],arguments[1],arguments[2]);case 4:return taoensso.encore.top_into.cljs$core$IFn$_invoke$arity$4(arguments[0],arguments[1],arguments[2],arguments[3]);case 5:return taoensso.encore.top_into.cljs$core$IFn$_invoke$arity$5(arguments[0],arguments[1],arguments[2],arguments[3],arguments[4]);default:throw Error(["Invalid arity: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(""));
}};taoensso.encore.top_into.cljs$core$IFn$_invoke$arity$3=function(a,b,c){return taoensso.encore.top_into.call(null,a,b,cljs.core.identity,cljs.core.compare,c)};taoensso.encore.top_into.cljs$core$IFn$_invoke$arity$4=function(a,b,c,d){return taoensso.encore.top_into.call(null,a,b,c,cljs.core.compare,d)};
taoensso.encore.top_into.cljs$core$IFn$_invoke$arity$5=function(a,b,c,d,e){return taoensso.encore.editable_QMARK_.call(null,a)?cljs.core.persistent_BANG_.call(null,taoensso.encore.reduce_top.call(null,b,c,d,cljs.core.conj_BANG_,cljs.core.transient$.call(null,a),e)):taoensso.encore.reduce_top.call(null,b,c,d,cljs.core.conj,a,e)};taoensso.encore.top_into.cljs$lang$maxFixedArity=5;
taoensso.encore.top=function(a){switch(arguments.length){case 2:return taoensso.encore.top.cljs$core$IFn$_invoke$arity$2(arguments[0],arguments[1]);case 3:return taoensso.encore.top.cljs$core$IFn$_invoke$arity$3(arguments[0],arguments[1],arguments[2]);case 4:return taoensso.encore.top.cljs$core$IFn$_invoke$arity$4(arguments[0],arguments[1],arguments[2],arguments[3]);default:throw Error(["Invalid arity: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(""));}};
taoensso.encore.top.cljs$core$IFn$_invoke$arity$2=function(a,b){return taoensso.encore.top_into.call(null,cljs.core.PersistentVector.EMPTY,a,cljs.core.identity,cljs.core.compare,b)};taoensso.encore.top.cljs$core$IFn$_invoke$arity$3=function(a,b,c){return taoensso.encore.top_into.call(null,cljs.core.PersistentVector.EMPTY,a,b,cljs.core.compare,c)};taoensso.encore.top.cljs$core$IFn$_invoke$arity$4=function(a,b,c,d){return taoensso.encore.top_into.call(null,cljs.core.PersistentVector.EMPTY,a,b,c,d)};
taoensso.encore.top.cljs$lang$maxFixedArity=4;taoensso.encore.secs__GT_ms=function(a){return 1E3*cljs.core.long$.call(null,a)};taoensso.encore.ms__GT_secs=function(a){return cljs.core.quot.call(null,cljs.core.long$.call(null,a),1E3)};taoensso.encore.ms=function(a){for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;b=0<b.length?new cljs.core.IndexedSeq(b.slice(0),0,null):null;return taoensso.encore.ms.cljs$core$IFn$_invoke$arity$variadic(b)};
taoensso.encore.ms.cljs$core$IFn$_invoke$arity$variadic=function(a){var b=null!=a&&(a.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===a.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,a):a,c=cljs.core.get.call(null,b,new cljs.core.Keyword(null,"ms","ms",-1152709733)),d=cljs.core.get.call(null,b,new cljs.core.Keyword(null,"weeks","weeks",1844596125)),e=cljs.core.get.call(null,b,new cljs.core.Keyword(null,"msecs","msecs",1711980553)),f=cljs.core.get.call(null,b,new cljs.core.Keyword(null,
"months","months",-45571637)),g=cljs.core.get.call(null,b,new cljs.core.Keyword(null,"secs","secs",1532330091)),h=cljs.core.get.call(null,b,new cljs.core.Keyword(null,"mins","mins",467369676)),k=cljs.core.get.call(null,b,new cljs.core.Keyword(null,"days","days",-1394072564)),l=cljs.core.get.call(null,b,new cljs.core.Keyword(null,"hours","hours",58380855)),m=cljs.core.get.call(null,b,new cljs.core.Keyword(null,"years","years",-1298579689));taoensso.truss.impl.revery_QMARK_.call(null,function(a,b,c,
d,e,f,g,h,k,l,m,B){return function(a){return cljs.core.truth_((new cljs.core.PersistentHashSet(null,new cljs.core.PersistentArrayMap(null,9,[new cljs.core.Keyword(null,"msecs","msecs",1711980553),null,new cljs.core.Keyword(null,"secs","secs",1532330091),null,new cljs.core.Keyword(null,"months","months",-45571637),null,new cljs.core.Keyword(null,"days","days",-1394072564),null,new cljs.core.Keyword(null,"mins","mins",467369676),null,new cljs.core.Keyword(null,"hours","hours",58380855),null,new cljs.core.Keyword(null,
"years","years",-1298579689),null,new cljs.core.Keyword(null,"ms","ms",-1152709733),null,new cljs.core.Keyword(null,"weeks","weeks",1844596125),null],null),null)).call(null,a))?!0:taoensso.truss.impl._invar_violation_BANG_.call(null,!0,"taoensso.encore",2391,"(#{:msecs :secs :months :days :mins :hours :years :ms :weeks} __in)",a,null,null)}}(a,b,b,c,d,e,f,g,h,k,l,m),cljs.core.keys.call(null,b));return taoensso.encore.round0.call(null,(cljs.core.truth_(m)?31536E6*m:0)+(cljs.core.truth_(f)?2551392E3*
f:0)+(cljs.core.truth_(d)?6048E5*d:0)+(cljs.core.truth_(k)?864E5*k:0)+(cljs.core.truth_(l)?36E5*l:0)+(cljs.core.truth_(h)?6E4*h:0)+(cljs.core.truth_(g)?1E3*g:0)+(cljs.core.truth_(e)?e:0)+(cljs.core.truth_(c)?c:0))};taoensso.encore.ms.cljs$lang$maxFixedArity=0;taoensso.encore.ms.cljs$lang$applyTo=function(a){return this.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq.call(null,a))};taoensso.encore.secs=cljs.core.comp.call(null,taoensso.encore.ms__GT_secs,taoensso.encore.ms);
taoensso.encore.console_log="undefined"!==typeof console?function(){var a=function(a){var b=console.log;return cljs.core.truth_(b)?b.apply(console,cljs.core.into_array.call(null,a)):null},b=function(b){var c=null;if(0<arguments.length){c=0;for(var e=Array(arguments.length-0);c<e.length;)e[c]=arguments[c+0],++c;c=new cljs.core.IndexedSeq(e,0,null)}return a.call(this,c)};b.cljs$lang$maxFixedArity=0;b.cljs$lang$applyTo=function(b){b=cljs.core.seq(b);return a(b)};b.cljs$core$IFn$_invoke$arity$variadic=
a;return b}():function(){var a=function(a){if(0<arguments.length){for(var b=0,d=Array(arguments.length-0);b<d.length;)d[b]=arguments[b+0],++b;new cljs.core.IndexedSeq(d,0,null)}return null};a.cljs$lang$maxFixedArity=0;a.cljs$lang$applyTo=function(a){cljs.core.seq(a);return null};a.cljs$core$IFn$_invoke$arity$variadic=function(a){return null};return a}();taoensso.encore.log=taoensso.encore.console_log;
taoensso.encore.logp=function(a){for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;b=0<b.length?new cljs.core.IndexedSeq(b.slice(0),0,null):null;return taoensso.encore.logp.cljs$core$IFn$_invoke$arity$variadic(b)};taoensso.encore.logp.cljs$core$IFn$_invoke$arity$variadic=function(a){return taoensso.encore.console_log.call(null,taoensso.encore.str_join.call(null," ",cljs.core.map.call(null,taoensso.encore.nil__GT_str),a))};
taoensso.encore.logp.cljs$lang$maxFixedArity=0;taoensso.encore.logp.cljs$lang$applyTo=function(a){return this.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq.call(null,a))};taoensso.encore.sayp=function(a){for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;b=0<b.length?new cljs.core.IndexedSeq(b.slice(0),0,null):null;return taoensso.encore.sayp.cljs$core$IFn$_invoke$arity$variadic(b)};
taoensso.encore.sayp.cljs$core$IFn$_invoke$arity$variadic=function(a){return alert(taoensso.encore.str_join.call(null," ",cljs.core.map.call(null,taoensso.encore.nil__GT_str),a))};taoensso.encore.sayp.cljs$lang$maxFixedArity=0;taoensso.encore.sayp.cljs$lang$applyTo=function(a){return this.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq.call(null,a))};
taoensso.encore.logf=function(a){for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;b=1<b.length?new cljs.core.IndexedSeq(b.slice(1),0,null):null;return taoensso.encore.logf.cljs$core$IFn$_invoke$arity$variadic(arguments[0],b)};taoensso.encore.logf.cljs$core$IFn$_invoke$arity$variadic=function(a,b){return taoensso.encore.console_log.call(null,taoensso.encore.format_STAR_.call(null,a,b))};taoensso.encore.logf.cljs$lang$maxFixedArity=1;
taoensso.encore.logf.cljs$lang$applyTo=function(a){var b=cljs.core.first.call(null,a);a=cljs.core.next.call(null,a);return this.cljs$core$IFn$_invoke$arity$variadic(b,a)};taoensso.encore.sayf=function(a){for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;b=1<b.length?new cljs.core.IndexedSeq(b.slice(1),0,null):null;return taoensso.encore.sayf.cljs$core$IFn$_invoke$arity$variadic(arguments[0],b)};
taoensso.encore.sayf.cljs$core$IFn$_invoke$arity$variadic=function(a,b){return alert(taoensso.encore.format_STAR_.call(null,a,b))};taoensso.encore.sayf.cljs$lang$maxFixedArity=1;taoensso.encore.sayf.cljs$lang$applyTo=function(a){var b=cljs.core.first.call(null,a);a=cljs.core.next.call(null,a);return this.cljs$core$IFn$_invoke$arity$variadic(b,a)};
taoensso.encore.get_win_loc=function(){var a=taoensso.encore.js__QMARK_win;return cljs.core.truth_(a)?(a=a.location,cljs.core.truth_(a)?new cljs.core.PersistentArrayMap(null,7,[new cljs.core.Keyword(null,"href","href",-793805698),a.href,new cljs.core.Keyword(null,"protocol","protocol",652470118),a.protocol,new cljs.core.Keyword(null,"hostname","hostname",2105669933),a.hostname,new cljs.core.Keyword(null,"host","host",-1558485167),a.host,new cljs.core.Keyword(null,"pathname","pathname",-1420497528),
a.pathname,new cljs.core.Keyword(null,"search","search",1564939822),a.search,new cljs.core.Keyword(null,"hash","hash",-13781596),a.hash],null):null):null};taoensso.encore.xhr_pool_=new cljs.core.Delay(function(){return new goog.net.XhrIoPool},null);taoensso.encore.get_pooled_xhr_BANG_=function(){var a=cljs.core.deref.call(null,taoensso.encore.xhr_pool_).getObject();return void 0===a?null:a};
taoensso.encore.js_form_data_QMARK_="undefined"!==typeof FormData?function(a){return a instanceof FormData}:function(a){return null};taoensso.encore.js_file_QMARK_="undefined"!==typeof File?function(a){return a instanceof File}:function(a){return null};
taoensso.encore.coerce_xhr_params=function(){var a=function(){var a=null,b=function(a){return cljs.core.seq.call(null,a)?goog.Uri.QueryData.createFromMap(new goog.structs.Map(cljs.core.clj__GT_js.call(null,a))).toString():null},e=function(b,c){c=a.call(null,c);b=clojure.string.blank_QMARK_.call(null,c)?b:[cljs.core.str.cljs$core$IFn$_invoke$arity$1(b),"?",cljs.core.str.cljs$core$IFn$_invoke$arity$1(c)].join("");return new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[b,
null],null)};a=function(a,c){switch(arguments.length){case 1:return b.call(this,a);case 2:return e.call(this,a,c)}throw Error("Invalid arity: "+arguments.length);};a.cljs$core$IFn$_invoke$arity$1=b;a.cljs$core$IFn$_invoke$arity$2=e;return a}(),b=function(a){return function(b,c){if(cljs.core.truth_(taoensso.encore.js_form_data_QMARK_.call(null,c)))return new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[b,c],null);try{var d=cljs.core.map_QMARK_.call(null,c)?null:taoensso.truss.impl._dummy_error}catch(p){if(p instanceof
Error)d=p;else throw p;}null!=d&&taoensso.truss.impl._invar_violation_BANG_.call(null,!0,"taoensso.encore",2694,"(map? params)",c,d,null);if(cljs.core.truth_(function(){var a="undefined"!==typeof FormData;return a?taoensso.encore.rsome.call(null,taoensso.encore.js_file_QMARK_,cljs.core.vals.call(null,c)):a}())){d=new FormData;for(var e=cljs.core.seq.call(null,c),h=null,k=0,l=0;;)if(l<k){var m=cljs.core._nth.call(null,h,l),n=cljs.core.nth.call(null,m,0,null);m=cljs.core.nth.call(null,m,1,null);d.append(cljs.core.name.call(null,
n),m);l+=1}else if(e=cljs.core.seq.call(null,e))cljs.core.chunked_seq_QMARK_.call(null,e)?(k=cljs.core.chunk_first.call(null,e),e=cljs.core.chunk_rest.call(null,e),h=k,k=cljs.core.count.call(null,k)):(k=cljs.core.first.call(null,e),h=cljs.core.nth.call(null,k,0,null),k=cljs.core.nth.call(null,k,1,null),d.append(cljs.core.name.call(null,h),k),e=cljs.core.next.call(null,e),h=null,k=0),l=0;else break;return new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[b,d],null)}return new cljs.core.PersistentVector(null,
2,5,cljs.core.PersistentVector.EMPTY_NODE,[b,a.call(null,c)],null)}}(a);return function(a,b){return function(c,d,g){cljs.core.truth_(function(a,b){return function(a){var b=null==a;return b?b:taoensso.truss.impl.non_throwing.call(null,cljs.core.map_QMARK_).call(null,a)}}(a,b).call(null,g))||taoensso.truss.impl._invar_violation_BANG_.call(null,!0,"taoensso.encore",2706,"([:or nil? map?] params)",g,null,null);d=d instanceof cljs.core.Keyword?d.fqn:null;switch(d){case "get":return a.call(null,c,g);case "post":return b.call(null,
c,g);case "put":return b.call(null,c,g);default:throw Error(["No matching clause: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(d)].join(""));}}}(a,b)}();
taoensso.encore.ajax_lite=function(a,b,c){var d=null!=b&&(b.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===b.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,b):b,e=cljs.core.get.call(null,d,new cljs.core.Keyword(null,"method","method",55703592),new cljs.core.Keyword(null,"get","get",1683182755)),f=cljs.core.get.call(null,d,new cljs.core.Keyword(null,"params","params",710516235)),g=cljs.core.get.call(null,d,new cljs.core.Keyword(null,"headers","headers",-835030129)),
h=cljs.core.get.call(null,d,new cljs.core.Keyword(null,"timeout-ms","timeout-ms",754221406),1E4),k=cljs.core.get.call(null,d,new cljs.core.Keyword(null,"resp-type","resp-type",1050675962),new cljs.core.Keyword(null,"auto","auto",-566279492)),l=cljs.core.get.call(null,d,new cljs.core.Keyword(null,"with-credentials?","with-credentials?",-1773202222));cljs.core.truth_(function(a,b,c,d,e,f,g,h,k){return function(a){var b=null==a;return b?b:taoensso.truss.impl.non_throwing.call(null,taoensso.encore.nat_int_QMARK_).call(null,
a)}}(b,d,d,e,f,g,h,k,l).call(null,h))||taoensso.truss.impl._invar_violation_BANG_.call(null,!0,"taoensso.encore",2738,"([:or nil? nat-int?] timeout-ms)",h,null,null);var m=taoensso.encore.get_pooled_xhr_BANG_.call(null);if(cljs.core.truth_(m))try{var n=function(){var a=(new cljs.core.Keyword(null,"timeout","timeout",-318625318)).cljs$core$IFn$_invoke$arity$1(d);return cljs.core.truth_(a)?a:h}(),p=function(){var a=e instanceof cljs.core.Keyword?e.fqn:null;switch(a){case "get":return"GET";case "post":return"POST";
case "put":return"PUT";default:throw Error(["No matching clause: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(a)].join(""));}}(),q=taoensso.encore.coerce_xhr_params.call(null,a,e,f),r=cljs.core.nth.call(null,q,0,null),u=cljs.core.nth.call(null,q,1,null),t=function(){var a=taoensso.encore.map_keys.call(null,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t){return function(a){return clojure.string.lower_case.call(null,cljs.core.name.call(null,a))}}(n,p,q,r,u,m,m,b,d,d,e,f,g,h,k,l),g);a=taoensso.encore.assoc_some.call(null,
a,"x-requested-with",cljs.core.get.call(null,a,"x-requested-with","XMLHTTPRequest"));return cljs.core.clj__GT_js.call(null,a)}();goog.events.listenOnce(m,goog.net.EventType.READY,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v){return function(a){return cljs.core.deref.call(null,taoensso.encore.xhr_pool_).releaseObject(h)}}(m,n,p,q,r,u,t,m,m,b,d,d,e,f,g,h,k,l));goog.events.listenOnce(m,goog.net.EventType.COMPLETE,function(a,b,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,O){return function(w){var z=k.isSuccess(),x=
k.getStatus(),y=cljs.core.not_EQ_.call(null,x,-1)?function(){var c=k.getResponseHeader("content-type"),w=function(){var w=cljs.core.not_EQ_.call(null,v,new cljs.core.Keyword(null,"auto","auto",-566279492))?v:null==c?new cljs.core.Keyword(null,"text","text",-1790561697):function(){var w=function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,z,x,y){return function(b){return taoensso.encore.str_contains_QMARK_.call(null,a,b)}}(clojure.string.lower_case.call(null,cljs.core.str.cljs$core$IFn$_invoke$arity$1(c)),
c,z,x,a,b,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,O);return w.call(null,"/edn")?new cljs.core.Keyword(null,"edn","edn",1317840885):w.call(null,"/json")?new cljs.core.Keyword(null,"json","json",1279968570):w.call(null,"/xml")?new cljs.core.Keyword(null,"xml","xml",-1170142052):new cljs.core.Keyword(null,"text","text",-1790561697)}();try{var y=w instanceof cljs.core.Keyword?w.fqn:null;switch(y){case "edn":return taoensso.encore.read_edn.call(null,k.getResponseText());case "json":return k.getResponseJson();case "xml":return k.getResponseXml();
case "text":return k.getResponseText();default:throw Error(["No matching clause: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(y)].join(""));}}catch(Y){if(Y instanceof Error)return new cljs.core.PersistentArrayMap(null,2,[new cljs.core.Keyword("ajax","bad-response-type","ajax/bad-response-type",789441015),w,new cljs.core.Keyword("ajax","resp-as-text","ajax/resp-as-text",141416819),k.getResponseText()],null);throw Y;}}();return new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,
[x,c,w],null)}():null,A=cljs.core.nth.call(null,y,0,null),B=cljs.core.nth.call(null,y,1,null);y=cljs.core.nth.call(null,y,2,null);return c.call(null,new cljs.core.PersistentArrayMap(null,7,[new cljs.core.Keyword(null,"raw-resp","raw-resp",-1924342506),w,new cljs.core.Keyword(null,"xhr","xhr",-177710851),k,new cljs.core.Keyword(null,"success?","success?",-122854052),z,new cljs.core.Keyword(null,"?status","?status",938730360),A,new cljs.core.Keyword(null,"?content-type","?content-type",-2129759049),
B,new cljs.core.Keyword(null,"?content","?content",1697782054),y,new cljs.core.Keyword(null,"?error","?error",1070752222),cljs.core.truth_(z)?null:cljs.core.truth_(A)?A:cljs.core.get.call(null,cljs.core.PersistentArrayMap.createAsIfByAssoc([goog.net.ErrorCode.NO_ERROR,null,goog.net.ErrorCode.EXCEPTION,new cljs.core.Keyword(null,"exception","exception",-335277064),goog.net.ErrorCode.HTTP_ERROR,new cljs.core.Keyword(null,"http-error","http-error",-1040049553),goog.net.ErrorCode.ABORT,new cljs.core.Keyword(null,
"abort","abort",521193198),goog.net.ErrorCode.TIMEOUT,new cljs.core.Keyword(null,"timeout","timeout",-318625318)]),k.getLastErrorCode(),new cljs.core.Keyword(null,"unknown","unknown",-935977881))],null))}}(m,n,p,q,r,u,t,m,m,b,d,d,e,f,g,h,k,l));var v=(new cljs.core.Keyword(null,"progress-fn","progress-fn",-1146547855)).cljs$core$IFn$_invoke$arity$1(d);cljs.core.truth_(v)&&goog.events.listen(m,goog.net.EventType.PROGRESS,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,P){return function(b){var c=b.lengthComputable,
d=b.loaded,e=b.total,f=cljs.core.truth_(cljs.core.truth_(c)?cljs.core.not_EQ_.call(null,e,0):c)?d/e:null;return a.call(null,new cljs.core.PersistentArrayMap(null,5,[new cljs.core.Keyword(null,"?ratio","?ratio",-1275760831),f,new cljs.core.Keyword(null,"length-computable?","length-computable?",1915473276),c,new cljs.core.Keyword(null,"loaded","loaded",-1246482293),d,new cljs.core.Keyword(null,"total","total",1916810418),e,new cljs.core.Keyword(null,"ev","ev",-406827324),b],null))}}(v,v,n,p,q,r,u,t,
m,m,b,d,d,e,f,g,h,k,l));m.setTimeoutInterval(cljs.core.truth_(n)?n:0);cljs.core.truth_(l)&&m.setWithCredentials(!0);m.send(r,p,u,t);return m}catch(w){if(w instanceof Error)return a=w,cljs.core.deref.call(null,taoensso.encore.xhr_pool_).releaseObject(m),c.call(null,new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"?error","?error",1070752222),a],null)),null;throw w;}else return c.call(null,new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"?error","?error",1070752222),
new cljs.core.Keyword(null,"xhr-pool-depleted","xhr-pool-depleted",-1812092376)],null)),null};taoensso.encore.url_encode=function(a){return cljs.core.truth_(a)?clojure.string.replace.call(null,clojure.string.replace.call(null,encodeURIComponent(cljs.core.str.cljs$core$IFn$_invoke$arity$1(a),a),"*","%2A"),"'","%27"):null};
taoensso.encore.url_decode=function(a){for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;b=1<b.length?new cljs.core.IndexedSeq(b.slice(1),0,null):null;return taoensso.encore.url_decode.cljs$core$IFn$_invoke$arity$variadic(arguments[0],b)};taoensso.encore.url_decode.cljs$core$IFn$_invoke$arity$variadic=function(a,b){cljs.core.nth.call(null,b,0,null);return cljs.core.truth_(a)?decodeURIComponent(a):null};taoensso.encore.url_decode.cljs$lang$maxFixedArity=1;
taoensso.encore.url_decode.cljs$lang$applyTo=function(a){var b=cljs.core.first.call(null,a);a=cljs.core.next.call(null,a);return this.cljs$core$IFn$_invoke$arity$variadic(b,a)};
taoensso.encore.format_query_string=function(a){var b=function(a,b){return[cljs.core.str.cljs$core$IFn$_invoke$arity$1(taoensso.encore.url_encode.call(null,taoensso.encore.as_qname.call(null,a))),"\x3d",cljs.core.str.cljs$core$IFn$_invoke$arity$1(taoensso.encore.url_encode.call(null,function(){var a=taoensso.encore.as__QMARK_qname.call(null,b);return cljs.core.truth_(a)?a:cljs.core.str.cljs$core$IFn$_invoke$arity$1(b)}()))].join("")},c=function(a){return function(a){return clojure.string.join.call(null,
"\x26",a)}}(b);return cljs.core.empty_QMARK_.call(null,a)?"":c.call(null,function(){return function(a,b){return function h(c){return new cljs.core.LazySeq(null,function(a,b){return function(){for(var d=c;;)if(d=cljs.core.seq.call(null,d)){if(cljs.core.chunked_seq_QMARK_.call(null,d)){var e=cljs.core.chunk_first.call(null,d),g=cljs.core.count.call(null,e),k=cljs.core.chunk_buffer.call(null,g);return function(){for(var c=0;;)if(c<g){var d=cljs.core._nth.call(null,e,c),h=cljs.core.nth.call(null,d,0,
null),l=cljs.core.nth.call(null,d,1,null);taoensso.encore.some_QMARK_.call(null,l)&&cljs.core.chunk_append.call(null,k,cljs.core.sequential_QMARK_.call(null,l)?b.call(null,cljs.core.mapv.call(null,cljs.core.partial.call(null,a,h),function(){var a=cljs.core.seq.call(null,l);return a?a:new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[""],null)}())):a.call(null,h,l));c+=1}else return!0}()?cljs.core.chunk_cons.call(null,cljs.core.chunk.call(null,k),h.call(null,cljs.core.chunk_rest.call(null,
d))):cljs.core.chunk_cons.call(null,cljs.core.chunk.call(null,k),null)}var l=cljs.core.first.call(null,d),u=cljs.core.nth.call(null,l,0,null),t=cljs.core.nth.call(null,l,1,null);if(taoensso.encore.some_QMARK_.call(null,t))return cljs.core.cons.call(null,cljs.core.sequential_QMARK_.call(null,t)?b.call(null,cljs.core.mapv.call(null,cljs.core.partial.call(null,a,u),function(){var a=cljs.core.seq.call(null,t);return a?a:new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[""],
null)}())):a.call(null,u,t),h.call(null,cljs.core.rest.call(null,d)));d=cljs.core.rest.call(null,d)}else return null}}(a,b),null,null)}}(b,c).call(null,a)}())};taoensso.encore.assoc_conj=function(a,b,c){return cljs.core.assoc.call(null,a,b,function(){var d=cljs.core.get.call(null,a,b);return cljs.core.truth_(d)?cljs.core.vector_QMARK_.call(null,d)?cljs.core.conj.call(null,d,c):new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[d,c],null):c}())};
taoensso.encore.parse_query_params=function(a){for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;b=1<b.length?new cljs.core.IndexedSeq(b.slice(1),0,null):null;return taoensso.encore.parse_query_params.cljs$core$IFn$_invoke$arity$variadic(arguments[0],b)};
taoensso.encore.parse_query_params.cljs$core$IFn$_invoke$arity$variadic=function(a,b){var c=cljs.core.nth.call(null,b,0,null),d=cljs.core.nth.call(null,b,1,null);if(clojure.string.blank_QMARK_.call(null,a)||!taoensso.encore.str_contains_QMARK_.call(null,a,"\x3d"))return cljs.core.PersistentArrayMap.EMPTY;a=taoensso.encore.str_starts_with_QMARK_.call(null,a,"?")?cljs.core.subs.call(null,a,1):a;b=cljs.core.reduce.call(null,function(a,b,c,d){return function(a,b){var c=clojure.string.split.call(null,
b,/=/,2);return cljs.core.truth_(c)?(b=cljs.core.nth.call(null,c,0,null),c=cljs.core.nth.call(null,c,1,null),taoensso.encore.assoc_conj.call(null,a,taoensso.encore.url_decode.call(null,b,d),taoensso.encore.url_decode.call(null,c,d))):a}}(a,b,c,d),cljs.core.PersistentArrayMap.EMPTY,clojure.string.split.call(null,a,/&/));return cljs.core.truth_(c)?taoensso.encore.map_keys.call(null,cljs.core.keyword,b):b};taoensso.encore.parse_query_params.cljs$lang$maxFixedArity=1;
taoensso.encore.parse_query_params.cljs$lang$applyTo=function(a){var b=cljs.core.first.call(null,a);a=cljs.core.next.call(null,a);return this.cljs$core$IFn$_invoke$arity$variadic(b,a)};
taoensso.encore.merge_url_with_query_string=function(a,b){var c=clojure.string.split.call(null,cljs.core.str.cljs$core$IFn$_invoke$arity$1(a),/\?/,2);a=cljs.core.nth.call(null,c,0,null);c=cljs.core.nth.call(null,c,1,null);b=taoensso.encore.merge.call(null,cljs.core.truth_(c)?taoensso.encore.map_keys.call(null,cljs.core.keyword,taoensso.encore.parse_query_params.call(null,c)):null,taoensso.encore.map_keys.call(null,cljs.core.keyword,b));b=taoensso.encore.as__QMARK_nblank.call(null,taoensso.encore.format_query_string.call(null,
b));return cljs.core.truth_(b)?[cljs.core.str.cljs$core$IFn$_invoke$arity$1(a),"?",b].join(""):a};
taoensso.encore._new_stubfn_=function(a){return cljs.core.volatile_BANG_.call(null,function(){var b=function(b){throw cljs.core.ex_info.call(null,"Attempting to call uninitialized stub fn",new cljs.core.PersistentArrayMap(null,2,[new cljs.core.Keyword(null,"stub","stub",1339145807),a,new cljs.core.Keyword(null,"args","args",1315556576),b],null));},c=function(a){var c=null;if(0<arguments.length){c=0;for(var d=Array(arguments.length-0);c<d.length;)d[c]=arguments[c+0],++c;c=new cljs.core.IndexedSeq(d,
0,null)}return b.call(this,c)};c.cljs$lang$maxFixedArity=0;c.cljs$lang$applyTo=function(a){a=cljs.core.seq(a);return b(a)};c.cljs$core$IFn$_invoke$arity$variadic=b;return c}())};
taoensso.encore._assert_unstub_val=function(a){if(cljs.core.fn_QMARK_.call(null,a))return a;throw cljs.core.ex_info.call(null,"Unstub value must be a fn",new cljs.core.PersistentArrayMap(null,2,[new cljs.core.Keyword(null,"given","given",716253602),a,new cljs.core.Keyword(null,"type","type",1174270348),cljs.core.type.call(null,a)],null));};
taoensso.encore.compile_ns_filter=function(){return function(a){return function(){var b=null,c=function(c){return cljs.core.map_QMARK_.call(null,c)?b.call(null,(new cljs.core.Keyword(null,"whitelist","whitelist",-979294437)).cljs$core$IFn$_invoke$arity$1(c),(new cljs.core.Keyword(null,"blacklist","blacklist",1248093170)).cljs$core$IFn$_invoke$arity$1(c)):cljs.core.vector_QMARK_.call(null,c)||cljs.core.set_QMARK_.call(null,c)?b.call(null,c,null):cljs.core._EQ_.call(null,c,"*")?function(a,b){return function(a){return!0}}(c,
a):function(a,b,c){return function(b){return cljs.core.truth_(a.call(null,cljs.core.str.cljs$core$IFn$_invoke$arity$1(b)))?!0:null}}(a.call(null,c),c,a)},d=function(b,c){var d=cljs.core.seq.call(null,b)?function(){var c=cljs.core.mapv.call(null,a,b),d=cljs.core.seq.call(null,c),e=cljs.core.first.call(null,d),f=cljs.core.next.call(null,d);return f?function(a,b,c,d,e,f,g,h){return function(k){return taoensso.encore.rsome.call(null,function(a,b,c,d,e,f,g,h){return function(a){return a.call(null,k)}}(a,
b,c,d,e,f,g,h),a)}}(c,c,d,e,f,e,f,a):function(a,b,c,d,e,f,g,h){return function(a){return f.call(null,a)}}(c,c,d,e,f,e,f,a)}():null,e=cljs.core.seq.call(null,c)?function(){var b=cljs.core.mapv.call(null,a,c),e=cljs.core.seq.call(null,b),f=cljs.core.first.call(null,e),g=cljs.core.next.call(null,e);return g?function(a,b,c,d,e,f,g,h,k){return function(l){return cljs.core.not.call(null,taoensso.encore.rsome.call(null,function(a,b,c,d,e,f,g,h,k){return function(a){return a.call(null,l)}}(a,b,c,d,e,f,g,
h,k),a))}}(b,b,e,f,g,f,g,d,a):function(a,b,c,d,e,f,g,h,k){return function(a){return cljs.core.not.call(null,f.call(null,a))}}(b,b,e,f,g,f,g,d,a)}():null;return cljs.core.truth_(cljs.core.truth_(d)?e:d)?function(a,b,c){return function(c){c=cljs.core.str.cljs$core$IFn$_invoke$arity$1(c);return cljs.core.truth_(a.call(null,c))?cljs.core.truth_(b.call(null,c))?!0:null:null}}(d,e,a):cljs.core.truth_(d)?function(a,b,c){return function(b){return cljs.core.truth_(a.call(null,cljs.core.str.cljs$core$IFn$_invoke$arity$1(b)))?
!0:null}}(d,e,a):cljs.core.truth_(e)?function(a,b,c){return function(a){return cljs.core.truth_(b.call(null,cljs.core.str.cljs$core$IFn$_invoke$arity$1(a)))?!0:null}}(d,e,a):function(a,b,c){return function(a){return!0}}(d,e,a)};b=function(a,b){switch(arguments.length){case 1:return c.call(this,a);case 2:return d.call(this,a,b)}throw Error("Invalid arity: "+arguments.length);};b.cljs$core$IFn$_invoke$arity$1=c;b.cljs$core$IFn$_invoke$arity$2=d;return b}()}(function(a){if(taoensso.encore.re_pattern_QMARK_.call(null,
a))return function(b){return cljs.core.re_find.call(null,a,b)};if("string"===typeof a)return taoensso.encore.str_contains_QMARK_.call(null,a,"*")?function(a){return function(b){return cljs.core.re_find.call(null,a,b)}}(cljs.core.re_pattern.call(null,clojure.string.replace.call(null,clojure.string.replace.call(null,["^",a,"$"].join(""),".","\\."),"*","(.*)"))):function(b){return cljs.core._EQ_.call(null,b,a)};throw cljs.core.ex_info.call(null,"Unexpected ns-pattern type",new cljs.core.PersistentArrayMap(null,
2,[new cljs.core.Keyword(null,"given","given",716253602),a,new cljs.core.Keyword(null,"type","type",1174270348),cljs.core.type.call(null,a)],null));})}();taoensso.encore.ITimeoutImpl=function(){};
taoensso.encore._schedule_timeout=function(a,b,c){if(null!=a&&null!=a.taoensso$encore$ITimeoutImpl$_schedule_timeout$arity$3)return a.taoensso$encore$ITimeoutImpl$_schedule_timeout$arity$3(a,b,c);var d=taoensso.encore._schedule_timeout[goog.typeOf(null==a?null:a)];if(null!=d)return d.call(null,a,b,c);d=taoensso.encore._schedule_timeout._;if(null!=d)return d.call(null,a,b,c);throw cljs.core.missing_protocol.call(null,"ITimeoutImpl.-schedule-timeout",a);};taoensso.encore.DefaultTimeoutImpl=function(){};
taoensso.encore.DefaultTimeoutImpl.prototype.taoensso$encore$ITimeoutImpl$=cljs.core.PROTOCOL_SENTINEL;taoensso.encore.DefaultTimeoutImpl.prototype.taoensso$encore$ITimeoutImpl$_schedule_timeout$arity$3=function(a,b,c){return window.setTimeout(c,b)};taoensso.encore.DefaultTimeoutImpl.getBasis=function(){return cljs.core.PersistentVector.EMPTY};taoensso.encore.DefaultTimeoutImpl.cljs$lang$type=!0;taoensso.encore.DefaultTimeoutImpl.cljs$lang$ctorStr="taoensso.encore/DefaultTimeoutImpl";
taoensso.encore.DefaultTimeoutImpl.cljs$lang$ctorPrWriter=function(a,b,c){return cljs.core._write.call(null,b,"taoensso.encore/DefaultTimeoutImpl")};taoensso.encore.__GT_DefaultTimeoutImpl=function(){return new taoensso.encore.DefaultTimeoutImpl};if("undefined"===typeof taoensso||"undefined"===typeof taoensso.encore||"undefined"===typeof taoensso.encore.default_timeout_impl_)taoensso.encore.default_timeout_impl_=new cljs.core.Delay(function(){return new taoensso.encore.DefaultTimeoutImpl},null);
taoensso.encore._tout_pending={};taoensso.encore._tout_cancelled={};taoensso.encore.tout_result=function(a){return cljs.core.truth_(taoensso.encore.kw_identical_QMARK_.call(null,a,taoensso.encore._tout_pending))?new cljs.core.Keyword("timeout","pending","timeout/pending",-1523854352):cljs.core.truth_(taoensso.encore.kw_identical_QMARK_.call(null,a,taoensso.encore._tout_cancelled))?new cljs.core.Keyword("timeout","cancelled","timeout/cancelled",1188007279):cljs.core.deref.call(null,a)};
taoensso.encore.ITimeoutFuture=function(){};taoensso.encore.tf_state=function(a){if(null!=a&&null!=a.taoensso$encore$ITimeoutFuture$tf_state$arity$1)return a.taoensso$encore$ITimeoutFuture$tf_state$arity$1(a);var b=taoensso.encore.tf_state[goog.typeOf(null==a?null:a)];if(null!=b)return b.call(null,a);b=taoensso.encore.tf_state._;if(null!=b)return b.call(null,a);throw cljs.core.missing_protocol.call(null,"ITimeoutFuture.tf-state",a);};
taoensso.encore.tf_poll=function(a){if(null!=a&&null!=a.taoensso$encore$ITimeoutFuture$tf_poll$arity$1)return a.taoensso$encore$ITimeoutFuture$tf_poll$arity$1(a);var b=taoensso.encore.tf_poll[goog.typeOf(null==a?null:a)];if(null!=b)return b.call(null,a);b=taoensso.encore.tf_poll._;if(null!=b)return b.call(null,a);throw cljs.core.missing_protocol.call(null,"ITimeoutFuture.tf-poll",a);};
taoensso.encore.tf_done_QMARK_=function(a){if(null!=a&&null!=a.taoensso$encore$ITimeoutFuture$tf_done_QMARK_$arity$1)return a.taoensso$encore$ITimeoutFuture$tf_done_QMARK_$arity$1(a);var b=taoensso.encore.tf_done_QMARK_[goog.typeOf(null==a?null:a)];if(null!=b)return b.call(null,a);b=taoensso.encore.tf_done_QMARK_._;if(null!=b)return b.call(null,a);throw cljs.core.missing_protocol.call(null,"ITimeoutFuture.tf-done?",a);};
taoensso.encore.tf_pending_QMARK_=function(a){if(null!=a&&null!=a.taoensso$encore$ITimeoutFuture$tf_pending_QMARK_$arity$1)return a.taoensso$encore$ITimeoutFuture$tf_pending_QMARK_$arity$1(a);var b=taoensso.encore.tf_pending_QMARK_[goog.typeOf(null==a?null:a)];if(null!=b)return b.call(null,a);b=taoensso.encore.tf_pending_QMARK_._;if(null!=b)return b.call(null,a);throw cljs.core.missing_protocol.call(null,"ITimeoutFuture.tf-pending?",a);};
taoensso.encore.tf_cancelled_QMARK_=function(a){if(null!=a&&null!=a.taoensso$encore$ITimeoutFuture$tf_cancelled_QMARK_$arity$1)return a.taoensso$encore$ITimeoutFuture$tf_cancelled_QMARK_$arity$1(a);var b=taoensso.encore.tf_cancelled_QMARK_[goog.typeOf(null==a?null:a)];if(null!=b)return b.call(null,a);b=taoensso.encore.tf_cancelled_QMARK_._;if(null!=b)return b.call(null,a);throw cljs.core.missing_protocol.call(null,"ITimeoutFuture.tf-cancelled?",a);};
taoensso.encore.tf_cancel_BANG_=function(a){if(null!=a&&null!=a.taoensso$encore$ITimeoutFuture$tf_cancel_BANG_$arity$1)return a.taoensso$encore$ITimeoutFuture$tf_cancel_BANG_$arity$1(a);var b=taoensso.encore.tf_cancel_BANG_[goog.typeOf(null==a?null:a)];if(null!=b)return b.call(null,a);b=taoensso.encore.tf_cancel_BANG_._;if(null!=b)return b.call(null,a);throw cljs.core.missing_protocol.call(null,"ITimeoutFuture.tf-cancel!",a);};
taoensso.encore.TimeoutFuture=function(a,b,c){this.f=a;this.result__=b;this.udt=c;this.cljs$lang$protocol_mask$partition1$=1;this.cljs$lang$protocol_mask$partition0$=32768};taoensso.encore.TimeoutFuture.prototype.taoensso$encore$ITimeoutFuture$=cljs.core.PROTOCOL_SENTINEL;
taoensso.encore.TimeoutFuture.prototype.taoensso$encore$ITimeoutFuture$tf_state$arity$1=function(a){return new cljs.core.PersistentArrayMap(null,2,[new cljs.core.Keyword(null,"fn","fn",-1175266204),this.f,new cljs.core.Keyword(null,"udt","udt",2011712751),this.udt],null)};taoensso.encore.TimeoutFuture.prototype.taoensso$encore$ITimeoutFuture$tf_poll$arity$1=function(a){return taoensso.encore.tout_result.call(null,cljs.core.deref.call(null,this.result__))};
taoensso.encore.TimeoutFuture.prototype.taoensso$encore$ITimeoutFuture$tf_done_QMARK_$arity$1=function(a){return cljs.core.not.call(null,taoensso.encore.kw_identical_QMARK_.call(null,cljs.core.deref.call(null,this.result__),taoensso.encore._tout_pending))};taoensso.encore.TimeoutFuture.prototype.taoensso$encore$ITimeoutFuture$tf_pending_QMARK_$arity$1=function(a){return taoensso.encore.kw_identical_QMARK_.call(null,cljs.core.deref.call(null,this.result__),taoensso.encore._tout_pending)};
taoensso.encore.TimeoutFuture.prototype.taoensso$encore$ITimeoutFuture$tf_cancelled_QMARK_$arity$1=function(a){return taoensso.encore.kw_identical_QMARK_.call(null,cljs.core.deref.call(null,this.result__),taoensso.encore._tout_cancelled)};taoensso.encore.TimeoutFuture.prototype.taoensso$encore$ITimeoutFuture$tf_cancel_BANG_$arity$1=function(a){return cljs.core.compare_and_set_BANG_.call(null,this.result__,taoensso.encore._tout_pending,taoensso.encore._tout_cancelled)};
taoensso.encore.TimeoutFuture.prototype.cljs$core$IPending$_realized_QMARK_$arity$1=function(a){return taoensso.encore.tf_done_QMARK_.call(null,this)};taoensso.encore.TimeoutFuture.prototype.cljs$core$IDeref$_deref$arity$1=function(a){return taoensso.encore.tf_poll.call(null,this)};
taoensso.encore.TimeoutFuture.getBasis=function(){return new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"f","f",43394975,null),new cljs.core.Symbol(null,"result__","result__",1529131748,null),new cljs.core.Symbol(null,"udt","udt",-642723018,null)],null)};taoensso.encore.TimeoutFuture.cljs$lang$type=!0;taoensso.encore.TimeoutFuture.cljs$lang$ctorStr="taoensso.encore/TimeoutFuture";
taoensso.encore.TimeoutFuture.cljs$lang$ctorPrWriter=function(a,b,c){return cljs.core._write.call(null,b,"taoensso.encore/TimeoutFuture")};taoensso.encore.__GT_TimeoutFuture=function(a,b,c){return new taoensso.encore.TimeoutFuture(a,b,c)};taoensso.encore.timeout_future_QMARK_=function(a){return a instanceof taoensso.encore.TimeoutFuture};
taoensso.encore.call_after_timeout=function(a){switch(arguments.length){case 2:return taoensso.encore.call_after_timeout.cljs$core$IFn$_invoke$arity$2(arguments[0],arguments[1]);case 3:return taoensso.encore.call_after_timeout.cljs$core$IFn$_invoke$arity$3(arguments[0],arguments[1],arguments[2]);default:throw Error(["Invalid arity: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(""));}};
taoensso.encore.call_after_timeout.cljs$core$IFn$_invoke$arity$2=function(a,b){return taoensso.encore.call_after_timeout.call(null,taoensso.encore.default_timeout_impl_,a,b)};
taoensso.encore.call_after_timeout.cljs$core$IFn$_invoke$arity$3=function(a,b,c){b=cljs.core.long$.call(null,b);var d=(new Date).getTime()+b,e=cljs.core.atom.call(null,taoensso.encore._tout_pending),f=function(a,b,d){return function(){var e=new cljs.core.Delay(function(a,b,d){return function(){return c.call(null)}}(a,b,d),null);return cljs.core.compare_and_set_BANG_.call(null,d,taoensso.encore._tout_pending,e)?cljs.core.deref.call(null,e):null}}(b,d,e);a=cljs.core.force.call(null,a);taoensso.encore._schedule_timeout.call(null,
a,b,f);return new taoensso.encore.TimeoutFuture(c,e,d)};taoensso.encore.call_after_timeout.cljs$lang$maxFixedArity=3;
taoensso.encore.fixture_map__GT_fn=function(a){var b=null!=a&&(a.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===a.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,a):a;a=cljs.core.get.call(null,b,new cljs.core.Keyword(null,"before","before",-1633692388),new cljs.core.Symbol(null,"do","do",1686842252,null));b=cljs.core.get.call(null,b,new cljs.core.Keyword(null,"after","after",594996914),new cljs.core.Symbol(null,"do","do",1686842252,null));return cljs.core.sequence.call(null,
cljs.core.seq.call(null,cljs.core.concat.call(null,new cljs.core.List(null,new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),null,1,null),new cljs.core.List(null,cljs.core.vec.call(null,cljs.core.sequence.call(null,cljs.core.seq.call(null,cljs.core.concat.call(null,new cljs.core.List(null,new cljs.core.Symbol(null,"f__26935__auto__","f__26935__auto__",-442816933,null),null,1,null))))),null,1,null),new cljs.core.List(null,cljs.core.sequence.call(null,cljs.core.seq.call(null,cljs.core.concat.call(null,
new cljs.core.List(null,a,null,1,null)))),null,1,null),new cljs.core.List(null,cljs.core.sequence.call(null,cljs.core.seq.call(null,cljs.core.concat.call(null,new cljs.core.List(null,new cljs.core.Symbol(null,"f__26935__auto__","f__26935__auto__",-442816933,null),null,1,null)))),null,1,null),new cljs.core.List(null,cljs.core.sequence.call(null,cljs.core.seq.call(null,cljs.core.concat.call(null,new cljs.core.List(null,b,null,1,null)))),null,1,null))))};taoensso.encore.get_window_location=taoensso.encore.get_win_loc;
taoensso.encore.backport_run_BANG_=taoensso.encore.run_BANG_;taoensso.encore.fq_name=taoensso.encore.as_qname;taoensso.encore.qname=taoensso.encore.as_qname;taoensso.encore.merge_deep_with=taoensso.encore.nested_merge_with;taoensso.encore.merge_deep=taoensso.encore.nested_merge;taoensso.encore.parse_bool=taoensso.encore.as__QMARK_bool;taoensso.encore.parse_int=taoensso.encore.as__QMARK_int;taoensso.encore.parse_float=taoensso.encore.as__QMARK_float;taoensso.encore.swapped_STAR_=taoensso.encore.swapped;
taoensso.encore.memoize_a0_=taoensso.encore.memoize_;taoensso.encore.memoize_a1_=taoensso.encore.memoize_;taoensso.encore.a0_memoize_=taoensso.encore.memoize_;taoensso.encore.a1_memoize_=taoensso.encore.memoize_;taoensso.encore.memoize_1=taoensso.encore.memoize_last;taoensso.encore.memoize1=taoensso.encore.memoize_last;taoensso.encore.nnil_QMARK_=taoensso.encore.some_QMARK_;taoensso.encore.nneg_num_QMARK_=taoensso.encore.nat_num_QMARK_;taoensso.encore.nneg_int_QMARK_=taoensso.encore.nat_int_QMARK_;
taoensso.encore.nneg_float_QMARK_=taoensso.encore.nat_float_QMARK_;taoensso.encore.uint_QMARK_=taoensso.encore.nat_int_QMARK_;taoensso.encore.pint_QMARK_=taoensso.encore.pos_int_QMARK_;taoensso.encore.nnil_EQ_=taoensso.encore.some_EQ_;taoensso.encore.as__QMARK_uint=taoensso.encore.as__QMARK_nat_int;taoensso.encore.as__QMARK_pint=taoensso.encore.as__QMARK_pos_int;taoensso.encore.as__QMARK_ufloat=taoensso.encore.as__QMARK_nat_float;taoensso.encore.as__QMARK_pfloat=taoensso.encore.as__QMARK_pos_float;
taoensso.encore.as_uint=taoensso.encore.as_nat_int;taoensso.encore.as_pint=taoensso.encore.as_pos_int;taoensso.encore.as_ufloat=taoensso.encore.as_nat_float;taoensso.encore.as_pfloat=taoensso.encore.as_pos_float;taoensso.encore.run_BANG__STAR_=taoensso.encore.run_BANG_;taoensso.encore.every=taoensso.encore.revery;taoensso.encore._QMARK_subvec_LT_idx=cljs.core.comp.call(null,cljs.core.not_empty,taoensso.encore.get_subvec);
taoensso.encore._QMARK_subvec_LT_len=cljs.core.comp.call(null,cljs.core.not_empty,taoensso.encore.get_subvector);taoensso.encore._QMARK_substr_LT_idx=cljs.core.comp.call(null,taoensso.encore.as__QMARK_nempty_str,taoensso.encore.get_substr);taoensso.encore._QMARK_substr_LT_len=cljs.core.comp.call(null,taoensso.encore.as__QMARK_nempty_str,taoensso.encore.get_substring);taoensso.encore.dswap_BANG_=taoensso.encore.swap_in_BANG__STAR_;taoensso.encore.nano_time=taoensso.encore.now_nano;
taoensso.encore.swap_BANG__STAR_=taoensso.encore.swap_in_BANG__STAR_;taoensso.encore._swap_cache_BANG_=taoensso.encore._swap_val_BANG_;taoensso.encore._unswapped=taoensso.encore.swapped_vec;taoensso.encore._vswapped=taoensso.encore.swapped_vec;taoensso.encore._swap_k_BANG_=taoensso.encore._swap_val_BANG_;taoensso.encore.update_in_STAR_=taoensso.encore.update_in;taoensso.encore.undefined__GT_nil=function(a){return void 0===a?null:a};
taoensso.encore.spaced_str_with_nils=function(a){return clojure.string.join.call(null," ",cljs.core.mapv.call(null,taoensso.encore.nil__GT_str,a))};taoensso.encore.spaced_str=function(a){return clojure.string.join.call(null," ",cljs.core.mapv.call(null,taoensso.encore.undefined__GT_nil,a))};
taoensso.encore.round=function(a){for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;b=1<b.length?new cljs.core.IndexedSeq(b.slice(1),0,null):null;return taoensso.encore.round.cljs$core$IFn$_invoke$arity$variadic(arguments[0],b)};
taoensso.encore.round.cljs$core$IFn$_invoke$arity$variadic=function(a,b){var c=cljs.core.nth.call(null,b,0,null);b=cljs.core.nth.call(null,b,1,null);return taoensso.encore.round_STAR_.call(null,cljs.core.truth_(c)?c:new cljs.core.Keyword(null,"round","round",2009433328),b,a)};taoensso.encore.round.cljs$lang$maxFixedArity=1;taoensso.encore.round.cljs$lang$applyTo=function(a){var b=cljs.core.first.call(null,a);a=cljs.core.next.call(null,a);return this.cljs$core$IFn$_invoke$arity$variadic(b,a)};
taoensso.encore.approx_EQ_=function(a){switch(arguments.length){case 2:return taoensso.encore.approx_EQ_.cljs$core$IFn$_invoke$arity$2(arguments[0],arguments[1]);case 3:return taoensso.encore.approx_EQ_.cljs$core$IFn$_invoke$arity$3(arguments[0],arguments[1],arguments[2]);default:throw Error(["Invalid arity: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(""));}};
taoensso.encore.approx_EQ_.cljs$core$IFn$_invoke$arity$2=function(a,b){return taoensso.encore.approx_EQ__EQ_.call(null,a,b)};taoensso.encore.approx_EQ_.cljs$core$IFn$_invoke$arity$3=function(a,b,c){return taoensso.encore.approx_EQ__EQ_.call(null,c,a,b)};taoensso.encore.approx_EQ_.cljs$lang$maxFixedArity=3;
taoensso.encore.join_once=function(a){for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;b=1<b.length?new cljs.core.IndexedSeq(b.slice(1),0,null):null;return taoensso.encore.join_once.cljs$core$IFn$_invoke$arity$variadic(arguments[0],b)};taoensso.encore.join_once.cljs$core$IFn$_invoke$arity$variadic=function(a,b){return taoensso.encore.str_join_once.call(null,a,b)};taoensso.encore.join_once.cljs$lang$maxFixedArity=1;
taoensso.encore.join_once.cljs$lang$applyTo=function(a){var b=cljs.core.first.call(null,a);a=cljs.core.next.call(null,a);return this.cljs$core$IFn$_invoke$arity$variadic(b,a)};taoensso.encore.nnil_set=function(a){return cljs.core.disj.call(null,taoensso.encore.set_STAR_.call(null,a),null)};taoensso.encore.keys_EQ_=function(a,b){return taoensso.encore.ks_EQ_.call(null,b,a)};taoensso.encore.keys_LT__EQ_=function(a,b){return taoensso.encore.ks_LT__EQ_.call(null,b,a)};
taoensso.encore.keys_GT__EQ_=function(a,b){return taoensso.encore.ks_GT__EQ_.call(null,b,a)};taoensso.encore.keys_EQ_nnil_QMARK_=function(a,b){return taoensso.encore.ks_nnil_QMARK_.call(null,b,a)};
taoensso.encore.rate_limiter_STAR_=function(a){var b=taoensso.encore.rsome.call(null,function(a){cljs.core.nth.call(null,a,0,null);cljs.core.nth.call(null,a,1,null);return cljs.core.nth.call(null,a,2,null)},a);a=taoensso.encore.limiter.call(null,a);return function(a,b){return function(){var c=function(c){var d=cljs.core.apply.call(null,b,c);return cljs.core.truth_(d)?(c=cljs.core.nth.call(null,d,0,null),d=cljs.core.nth.call(null,d,1,null),cljs.core.truth_(a)?new cljs.core.PersistentVector(null,2,
5,cljs.core.PersistentVector.EMPTY_NODE,[d,c],null):d):null},d=function(a){var b=null;if(0<arguments.length){b=0;for(var d=Array(arguments.length-0);b<d.length;)d[b]=arguments[b+0],++b;b=new cljs.core.IndexedSeq(d,0,null)}return c.call(this,b)};d.cljs$lang$maxFixedArity=0;d.cljs$lang$applyTo=function(a){a=cljs.core.seq(a);return c(a)};d.cljs$core$IFn$_invoke$arity$variadic=c;return d}()}(b,a)};
taoensso.encore.rate_limit=function(a,b){return function(a){return function(){var c=function(c){c=a.call(null);return cljs.core.truth_(c)?new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[null,c],null):new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[b.call(null),null],null)},e=function(a){var b=null;if(0<arguments.length){b=0;for(var d=Array(arguments.length-0);b<d.length;)d[b]=arguments[b+0],++b;b=new cljs.core.IndexedSeq(d,0,null)}return c.call(this,
b)};e.cljs$lang$maxFixedArity=0;e.cljs$lang$applyTo=function(a){a=cljs.core.seq(a);return c(a)};e.cljs$core$IFn$_invoke$arity$variadic=c;return e}()}(taoensso.encore.rate_limiter_STAR_.call(null,a))};taoensso.encore.rate_limiter=function(a,b){return taoensso.encore.rate_limiter_STAR_.call(null,new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[a,b],null)],null))};
taoensso.encore.rate_limited=function(a,b,c){return function(a){return function(){var b=function(b){b=a.call(null);return cljs.core.truth_(b)?new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"backoff-ms","backoff-ms",1679281507),b],null):new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"result","result",1415092211),c.call(null)],null)},d=function(a){var c=null;if(0<arguments.length){c=0;for(var d=Array(arguments.length-0);c<d.length;)d[c]=arguments[c+0],++c;c=
new cljs.core.IndexedSeq(d,0,null)}return b.call(this,c)};d.cljs$lang$maxFixedArity=0;d.cljs$lang$applyTo=function(a){a=cljs.core.seq(a);return b(a)};d.cljs$core$IFn$_invoke$arity$variadic=b;return d}()}(taoensso.encore.rate_limiter_STAR_.call(null,new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[a,b],null)],null)))};
taoensso.encore.logging_level=cljs.core.atom.call(null,new cljs.core.Keyword(null,"debug","debug",-1608172596));taoensso.encore.set_exp_backoff_timeout_BANG_=function(a){for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;b=1<b.length?new cljs.core.IndexedSeq(b.slice(1),0,null):null;return taoensso.encore.set_exp_backoff_timeout_BANG_.cljs$core$IFn$_invoke$arity$variadic(arguments[0],b)};
taoensso.encore.set_exp_backoff_timeout_BANG_.cljs$core$IFn$_invoke$arity$variadic=function(a,b){b=cljs.core.nth.call(null,b,0,null);var c=taoensso.encore.js__QMARK_win;return cljs.core.truth_(c)?c.setTimeout(a,taoensso.encore.exp_backoff.call(null,cljs.core.truth_(b)?b:0)):null};taoensso.encore.set_exp_backoff_timeout_BANG_.cljs$lang$maxFixedArity=1;
taoensso.encore.set_exp_backoff_timeout_BANG_.cljs$lang$applyTo=function(a){var b=cljs.core.first.call(null,a);a=cljs.core.next.call(null,a);return this.cljs$core$IFn$_invoke$arity$variadic(b,a)};if("undefined"===typeof taoensso||"undefined"===typeof taoensso.encore||"undefined"===typeof taoensso.encore._STAR_log_level_STAR_)taoensso.encore._STAR_log_level_STAR_=new cljs.core.Keyword(null,"debug","debug",-1608172596);
taoensso.encore.log_QMARK_=function(){return function(a){return function(b){return a.call(null,b)>=a.call(null,taoensso.encore._STAR_log_level_STAR_)}}(new cljs.core.PersistentArrayMap(null,7,[new cljs.core.Keyword(null,"trace","trace",-1082747415),1,new cljs.core.Keyword(null,"debug","debug",-1608172596),2,new cljs.core.Keyword(null,"info","info",-317069002),3,new cljs.core.Keyword(null,"warn","warn",-436710552),4,new cljs.core.Keyword(null,"error","error",-978969032),5,new cljs.core.Keyword(null,
"fatal","fatal",1874419888),6,new cljs.core.Keyword(null,"report","report",1394055010),7],null))}();taoensso.encore.tracef=function(a){for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;b=1<b.length?new cljs.core.IndexedSeq(b.slice(1),0,null):null;return taoensso.encore.tracef.cljs$core$IFn$_invoke$arity$variadic(arguments[0],b)};
taoensso.encore.tracef.cljs$core$IFn$_invoke$arity$variadic=function(a,b){return cljs.core.truth_(taoensso.encore.log_QMARK_.call(null,new cljs.core.Keyword(null,"trace","trace",-1082747415)))?cljs.core.apply.call(null,taoensso.encore.logf,a,b):null};taoensso.encore.tracef.cljs$lang$maxFixedArity=1;taoensso.encore.tracef.cljs$lang$applyTo=function(a){var b=cljs.core.first.call(null,a);a=cljs.core.next.call(null,a);return this.cljs$core$IFn$_invoke$arity$variadic(b,a)};
taoensso.encore.debugf=function(a){for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;b=1<b.length?new cljs.core.IndexedSeq(b.slice(1),0,null):null;return taoensso.encore.debugf.cljs$core$IFn$_invoke$arity$variadic(arguments[0],b)};
taoensso.encore.debugf.cljs$core$IFn$_invoke$arity$variadic=function(a,b){return cljs.core.truth_(taoensso.encore.log_QMARK_.call(null,new cljs.core.Keyword(null,"debug","debug",-1608172596)))?cljs.core.apply.call(null,taoensso.encore.logf,a,b):null};taoensso.encore.debugf.cljs$lang$maxFixedArity=1;taoensso.encore.debugf.cljs$lang$applyTo=function(a){var b=cljs.core.first.call(null,a);a=cljs.core.next.call(null,a);return this.cljs$core$IFn$_invoke$arity$variadic(b,a)};
taoensso.encore.infof=function(a){for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;b=1<b.length?new cljs.core.IndexedSeq(b.slice(1),0,null):null;return taoensso.encore.infof.cljs$core$IFn$_invoke$arity$variadic(arguments[0],b)};
taoensso.encore.infof.cljs$core$IFn$_invoke$arity$variadic=function(a,b){return cljs.core.truth_(taoensso.encore.log_QMARK_.call(null,new cljs.core.Keyword(null,"info","info",-317069002)))?cljs.core.apply.call(null,taoensso.encore.logf,a,b):null};taoensso.encore.infof.cljs$lang$maxFixedArity=1;taoensso.encore.infof.cljs$lang$applyTo=function(a){var b=cljs.core.first.call(null,a);a=cljs.core.next.call(null,a);return this.cljs$core$IFn$_invoke$arity$variadic(b,a)};
taoensso.encore.warnf=function(a){for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;b=1<b.length?new cljs.core.IndexedSeq(b.slice(1),0,null):null;return taoensso.encore.warnf.cljs$core$IFn$_invoke$arity$variadic(arguments[0],b)};
taoensso.encore.warnf.cljs$core$IFn$_invoke$arity$variadic=function(a,b){return cljs.core.truth_(taoensso.encore.log_QMARK_.call(null,new cljs.core.Keyword(null,"warn","warn",-436710552)))?cljs.core.apply.call(null,taoensso.encore.logf,["WARN: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(a)].join(""),b):null};taoensso.encore.warnf.cljs$lang$maxFixedArity=1;
taoensso.encore.warnf.cljs$lang$applyTo=function(a){var b=cljs.core.first.call(null,a);a=cljs.core.next.call(null,a);return this.cljs$core$IFn$_invoke$arity$variadic(b,a)};taoensso.encore.errorf=function(a){for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;b=1<b.length?new cljs.core.IndexedSeq(b.slice(1),0,null):null;return taoensso.encore.errorf.cljs$core$IFn$_invoke$arity$variadic(arguments[0],b)};
taoensso.encore.errorf.cljs$core$IFn$_invoke$arity$variadic=function(a,b){return cljs.core.truth_(taoensso.encore.log_QMARK_.call(null,new cljs.core.Keyword(null,"error","error",-978969032)))?cljs.core.apply.call(null,taoensso.encore.logf,["ERROR: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(a)].join(""),b):null};taoensso.encore.errorf.cljs$lang$maxFixedArity=1;
taoensso.encore.errorf.cljs$lang$applyTo=function(a){var b=cljs.core.first.call(null,a);a=cljs.core.next.call(null,a);return this.cljs$core$IFn$_invoke$arity$variadic(b,a)};taoensso.encore.fatalf=function(a){for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;b=1<b.length?new cljs.core.IndexedSeq(b.slice(1),0,null):null;return taoensso.encore.fatalf.cljs$core$IFn$_invoke$arity$variadic(arguments[0],b)};
taoensso.encore.fatalf.cljs$core$IFn$_invoke$arity$variadic=function(a,b){return cljs.core.truth_(taoensso.encore.log_QMARK_.call(null,new cljs.core.Keyword(null,"fatal","fatal",1874419888)))?cljs.core.apply.call(null,taoensso.encore.logf,["FATAL: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(a)].join(""),b):null};taoensso.encore.fatalf.cljs$lang$maxFixedArity=1;
taoensso.encore.fatalf.cljs$lang$applyTo=function(a){var b=cljs.core.first.call(null,a);a=cljs.core.next.call(null,a);return this.cljs$core$IFn$_invoke$arity$variadic(b,a)};taoensso.encore.reportf=function(a){for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;b=1<b.length?new cljs.core.IndexedSeq(b.slice(1),0,null):null;return taoensso.encore.reportf.cljs$core$IFn$_invoke$arity$variadic(arguments[0],b)};
taoensso.encore.reportf.cljs$core$IFn$_invoke$arity$variadic=function(a,b){return cljs.core.truth_(taoensso.encore.log_QMARK_.call(null,new cljs.core.Keyword(null,"report","report",1394055010)))?cljs.core.apply.call(null,taoensso.encore.logf,a,b):null};taoensso.encore.reportf.cljs$lang$maxFixedArity=1;taoensso.encore.reportf.cljs$lang$applyTo=function(a){var b=cljs.core.first.call(null,a);a=cljs.core.next.call(null,a);return this.cljs$core$IFn$_invoke$arity$variadic(b,a)};
taoensso.encore.greatest=function(a){for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;b=1<b.length?new cljs.core.IndexedSeq(b.slice(1),0,null):null;return taoensso.encore.greatest.cljs$core$IFn$_invoke$arity$variadic(arguments[0],b)};
taoensso.encore.greatest.cljs$core$IFn$_invoke$arity$variadic=function(a,b){var c=cljs.core.nth.call(null,b,0,null),d=cljs.core.truth_(c)?c:taoensso.encore.rcompare;return cljs.core.reduce.call(null,function(a,b,c){return function(b,c){return 0<a.call(null,b,c)?c:b}}(d,b,c),a)};taoensso.encore.greatest.cljs$lang$maxFixedArity=1;
taoensso.encore.greatest.cljs$lang$applyTo=function(a){var b=cljs.core.first.call(null,a);a=cljs.core.next.call(null,a);return this.cljs$core$IFn$_invoke$arity$variadic(b,a)};taoensso.encore.least=function(a){for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;b=1<b.length?new cljs.core.IndexedSeq(b.slice(1),0,null):null;return taoensso.encore.least.cljs$core$IFn$_invoke$arity$variadic(arguments[0],b)};
taoensso.encore.least.cljs$core$IFn$_invoke$arity$variadic=function(a,b){var c=cljs.core.nth.call(null,b,0,null),d=cljs.core.truth_(c)?c:taoensso.encore.rcompare;return cljs.core.reduce.call(null,function(a,b,c){return function(b,c){return 0>a.call(null,b,c)?c:b}}(d,b,c),a)};taoensso.encore.least.cljs$lang$maxFixedArity=1;taoensso.encore.least.cljs$lang$applyTo=function(a){var b=cljs.core.first.call(null,a);a=cljs.core.next.call(null,a);return this.cljs$core$IFn$_invoke$arity$variadic(b,a)};
taoensso.encore.clj1098=function(a){return cljs.core.truth_(a)?a:cljs.core.PersistentArrayMap.EMPTY};
taoensso.encore.distinct_by=function(a,b){return function f(b,e){return new cljs.core.LazySeq(null,function(){return function(b,d){for(;;){var e=b;b=cljs.core.nth.call(null,e,0,null);if(e=cljs.core.seq.call(null,e)){var g=a.call(null,b);if(cljs.core.contains_QMARK_.call(null,d,g))b=cljs.core.rest.call(null,e);else return cljs.core.cons.call(null,b,f.call(null,cljs.core.rest.call(null,e),cljs.core.conj.call(null,d,g)))}else return null}}.call(null,b,e)},null,null)}.call(null,b,cljs.core.PersistentHashSet.EMPTY)};
taoensso.encore.distinctv=function(a){switch(arguments.length){case 1:return taoensso.encore.distinctv.cljs$core$IFn$_invoke$arity$1(arguments[0]);case 2:return taoensso.encore.distinctv.cljs$core$IFn$_invoke$arity$2(arguments[0],arguments[1]);default:throw Error(["Invalid arity: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(""));}};taoensso.encore.distinctv.cljs$core$IFn$_invoke$arity$1=function(a){return taoensso.encore.distinctv.call(null,cljs.core.identity,a)};
taoensso.encore.distinctv.cljs$core$IFn$_invoke$arity$2=function(a,b){b=cljs.core.reduce.call(null,function(b,d){var c=cljs.core.nth.call(null,b,0,null);b=cljs.core.nth.call(null,b,1,null);var f=a.call(null,d);return cljs.core.contains_QMARK_.call(null,b,f)?new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[c,b],null):new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[cljs.core.conj_BANG_.call(null,c,d),cljs.core.conj.call(null,b,f)],null)},
new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[cljs.core.transient$.call(null,cljs.core.PersistentVector.EMPTY),cljs.core.PersistentHashSet.EMPTY],null),b);return cljs.core.persistent_BANG_.call(null,cljs.core.nth.call(null,b,0))};taoensso.encore.distinctv.cljs$lang$maxFixedArity=2;
taoensso.encore.map_kvs=function(a,b,c){return cljs.core.truth_(c)?(b=null==b?function(a,b){return b}:b,a=null==a?function(a){return function(a,b){return a}}(b):cljs.core.truth_(taoensso.encore.kw_identical_QMARK_.call(null,a,new cljs.core.Keyword(null,"keywordize","keywordize",1381210758)))?function(a){return function(a,b){return cljs.core.keyword.call(null,a)}}(b):a,cljs.core.persistent_BANG_.call(null,cljs.core.reduce_kv.call(null,function(a,b){return function(c,d,e){return cljs.core.assoc_BANG_.call(null,
c,b.call(null,d,e),a.call(null,d,e))}}(b,a),cljs.core.transient$.call(null,cljs.core.PersistentArrayMap.EMPTY),c))):cljs.core.PersistentArrayMap.EMPTY};taoensso.encore.as_map=function(a){for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;b=1<b.length?new cljs.core.IndexedSeq(b.slice(1),0,null):null;return taoensso.encore.as_map.cljs$core$IFn$_invoke$arity$variadic(arguments[0],b)};
taoensso.encore.as_map.cljs$core$IFn$_invoke$arity$variadic=function(a,b){var c=cljs.core.nth.call(null,b,0,null),d=cljs.core.nth.call(null,b,1,null);if(cljs.core.empty_QMARK_.call(null,a))return cljs.core.PersistentArrayMap.EMPTY;var e=null==d?function(a,b,c){return function(a,b){return b}}(b,c,d):d,f=null==c?function(a,b,c,d){return function(a,b){return a}}(e,b,c,d):cljs.core.truth_(taoensso.encore.kw_identical_QMARK_.call(null,c,new cljs.core.Keyword(null,"keywordize","keywordize",1381210758)))?
function(a,b,c,d){return function(a,b){return cljs.core.keyword.call(null,a)}}(e,b,c,d):c;return cljs.core.persistent_BANG_.call(null,taoensso.encore.reduce_kvs.call(null,function(a,b,c,d,e){return function(c,d,e){return cljs.core.assoc_BANG_.call(null,c,b.call(null,d,e),a.call(null,d,e))}}(e,f,b,c,d),cljs.core.transient$.call(null,cljs.core.PersistentArrayMap.EMPTY),a))};taoensso.encore.as_map.cljs$lang$maxFixedArity=1;
taoensso.encore.as_map.cljs$lang$applyTo=function(a){var b=cljs.core.first.call(null,a);a=cljs.core.next.call(null,a);return this.cljs$core$IFn$_invoke$arity$variadic(b,a)};taoensso.encore.keywordize_map=function(a){return taoensso.encore.map_keys.call(null,cljs.core.keyword,a)};taoensso.encore.removev=function(a,b){return cljs.core.filterv.call(null,cljs.core.complement.call(null,a),b)};
taoensso.encore.nvec_QMARK_=function(a,b){return cljs.core.vector_QMARK_.call(null,b)&&cljs.core._EQ_.call(null,cljs.core.count.call(null,b),a)};taoensso.encore.memoized=function(a){for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;b=2<b.length?new cljs.core.IndexedSeq(b.slice(2),0,null):null;return taoensso.encore.memoized.cljs$core$IFn$_invoke$arity$variadic(arguments[0],arguments[1],b)};
taoensso.encore.memoized.cljs$core$IFn$_invoke$arity$variadic=function(a,b,c){return cljs.core.truth_(a)?cljs.core.deref.call(null,taoensso.encore._swap_val_BANG_.call(null,a,c,function(a){return cljs.core.truth_(a)?a:new cljs.core.Delay(function(){return cljs.core.apply.call(null,b,c)},null)})):cljs.core.apply.call(null,b,c)};taoensso.encore.memoized.cljs$lang$maxFixedArity=2;
taoensso.encore.memoized.cljs$lang$applyTo=function(a){var b=cljs.core.first.call(null,a),c=cljs.core.next.call(null,a);a=cljs.core.first.call(null,c);c=cljs.core.next.call(null,c);return this.cljs$core$IFn$_invoke$arity$variadic(b,a,c)};taoensso.encore.translate_signed_idx=function(a,b){if(0<=a)return a<b?a:b;a+=b;return 0>a?0:a};
taoensso.encore.sub_indexes=function(a){for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;b=2<b.length?new cljs.core.IndexedSeq(b.slice(2),0,null):null;return taoensso.encore.sub_indexes.cljs$core$IFn$_invoke$arity$variadic(arguments[0],arguments[1],b)};
taoensso.encore.sub_indexes.cljs$core$IFn$_invoke$arity$variadic=function(a,b,c){c=null!=c&&(c.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===c.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,c):c;var d=cljs.core.get.call(null,c,new cljs.core.Keyword(null,"max-len","max-len",-18846016));c=cljs.core.get.call(null,c,new cljs.core.Keyword(null,"end-idx","end-idx",-85750788));var e=cljs.core.count.call(null,a),f=taoensso.encore.translate_signed_idx.call(null,b,e);
a=cljs.core.long$.call(null,cljs.core.truth_(d)?function(){var a=f+d;return a>e?e:a}():cljs.core.truth_(c)?taoensso.encore.translate_signed_idx.call(null,c,e)+1:e);return f>a?new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[0,0],null):new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[f,a],null)};taoensso.encore.sub_indexes.cljs$lang$maxFixedArity=2;
taoensso.encore.sub_indexes.cljs$lang$applyTo=function(a){var b=cljs.core.first.call(null,a),c=cljs.core.next.call(null,a);a=cljs.core.first.call(null,c);c=cljs.core.next.call(null,c);return this.cljs$core$IFn$_invoke$arity$variadic(b,a,c)};
taoensso.encore.substr=function(a){for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;b=2<b.length?new cljs.core.IndexedSeq(b.slice(2),0,null):null;return taoensso.encore.substr.cljs$core$IFn$_invoke$arity$variadic(arguments[0],arguments[1],b)};
taoensso.encore.substr.cljs$core$IFn$_invoke$arity$variadic=function(a,b,c){c=cljs.core.nth.call(null,c,0,null);c=taoensso.encore.sub_indexes.call(null,a,b,new cljs.core.Keyword(null,"max-len","max-len",-18846016),c);b=cljs.core.nth.call(null,c,0,null);c=cljs.core.nth.call(null,c,1,null);return a.substring(b,c)};taoensso.encore.substr.cljs$lang$maxFixedArity=2;
taoensso.encore.substr.cljs$lang$applyTo=function(a){var b=cljs.core.first.call(null,a),c=cljs.core.next.call(null,a);a=cljs.core.first.call(null,c);c=cljs.core.next.call(null,c);return this.cljs$core$IFn$_invoke$arity$variadic(b,a,c)};
taoensso.encore.subvec_STAR_=function(a){for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;b=2<b.length?new cljs.core.IndexedSeq(b.slice(2),0,null):null;return taoensso.encore.subvec_STAR_.cljs$core$IFn$_invoke$arity$variadic(arguments[0],arguments[1],b)};
taoensso.encore.subvec_STAR_.cljs$core$IFn$_invoke$arity$variadic=function(a,b,c){c=cljs.core.nth.call(null,c,0,null);c=taoensso.encore.sub_indexes.call(null,a,b,new cljs.core.Keyword(null,"max-len","max-len",-18846016),c);b=cljs.core.nth.call(null,c,0,null);c=cljs.core.nth.call(null,c,1,null);return cljs.core.subvec.call(null,a,b,c)};taoensso.encore.subvec_STAR_.cljs$lang$maxFixedArity=2;
taoensso.encore.subvec_STAR_.cljs$lang$applyTo=function(a){var b=cljs.core.first.call(null,a),c=cljs.core.next.call(null,a);a=cljs.core.first.call(null,c);c=cljs.core.next.call(null,c);return this.cljs$core$IFn$_invoke$arity$variadic(b,a,c)};taoensso.encore.sentinel={};taoensso.encore.sentinel_QMARK_=function(a){return a===taoensso.encore.sentinel};taoensso.encore.nil__GT_sentinel=function(a){return null==a?taoensso.encore.sentinel:a};
taoensso.encore.sentinel__GT_nil=function(a){return taoensso.encore.sentinel_QMARK_.call(null,a)?null:a};taoensso.encore.singleton_QMARK_=function(a){return cljs.core.counted_QMARK_.call(null,a)?cljs.core._EQ_.call(null,cljs.core.count.call(null,a),1):cljs.core.not.call(null,cljs.core.next.call(null,a))};taoensso.encore.__GT__QMARK_singleton=function(a){return taoensso.encore.singleton_QMARK_.call(null,a)?cljs.core.nth.call(null,a,0,null):null};
taoensso.encore.__GT_vec=function(a){return cljs.core.vector_QMARK_.call(null,a)?a:cljs.core.sequential_QMARK_.call(null,a)?cljs.core.vec.call(null,a):new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[a],null)};
taoensso.encore.fzipmap=function(a,b){var c=cljs.core.transient$.call(null,cljs.core.PersistentArrayMap.EMPTY);a=cljs.core.seq.call(null,a);for(b=cljs.core.seq.call(null,b);;)if(a&&b)c=cljs.core.assoc_BANG_.call(null,c,cljs.core.first.call(null,a),cljs.core.first.call(null,b)),a=cljs.core.next.call(null,a),b=cljs.core.next.call(null,b);else return cljs.core.persistent_BANG_.call(null,c)};
taoensso.encore.filter_kvs=function(a,b){return null==b?cljs.core.PersistentArrayMap.EMPTY:cljs.core.reduce_kv.call(null,function(b,d,e){return cljs.core.truth_(a.call(null,d,e))?b:cljs.core.dissoc.call(null,b,d)},b,b)};taoensso.encore.remove_kvs=function(a,b){return null==b?cljs.core.PersistentArrayMap.EMPTY:cljs.core.reduce_kv.call(null,function(b,d,e){return cljs.core.truth_(a.call(null,d,e))?cljs.core.dissoc.call(null,b,d):b},b,b)};
taoensso.encore.replace_in=function(a){for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;b=1<b.length?new cljs.core.IndexedSeq(b.slice(1),0,null):null;return taoensso.encore.replace_in.cljs$core$IFn$_invoke$arity$variadic(arguments[0],b)};
taoensso.encore.replace_in.cljs$core$IFn$_invoke$arity$variadic=function(a,b){return cljs.core.reduce.call(null,function(a,b){if(cljs.core.truth_(b)){var c=cljs.core.nth.call(null,b,0,null),d=cljs.core.nth.call(null,b,1,null),g=cljs.core.nth.call(null,b,2,null);b=cljs.core.truth_(taoensso.encore.kw_identical_QMARK_.call(null,c,new cljs.core.Keyword(null,"reset","reset",-800929946)))?function(a,b,c,d){return function(a){return d}}(b,c,d,g):g;return taoensso.encore.update_in.call(null,a,d,null,b)}return a},
a,b)};taoensso.encore.replace_in.cljs$lang$maxFixedArity=1;taoensso.encore.replace_in.cljs$lang$applyTo=function(a){var b=cljs.core.first.call(null,a);a=cljs.core.next.call(null,a);return this.cljs$core$IFn$_invoke$arity$variadic(b,a)};taoensso.timbre={};taoensso.timbre.appenders={};taoensso.timbre.appenders.core={};taoensso.timbre.appenders.core.println_appender=function(a){for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;b=0<b.length?new cljs.core.IndexedSeq(b.slice(0),0,null):null;return taoensso.timbre.appenders.core.println_appender.cljs$core$IFn$_invoke$arity$variadic(b)};
taoensso.timbre.appenders.core.println_appender.cljs$core$IFn$_invoke$arity$variadic=function(a){var b=cljs.core.nth.call(null,a,0,null);return new cljs.core.PersistentArrayMap(null,6,[new cljs.core.Keyword(null,"enabled?","enabled?",-1376075057),!0,new cljs.core.Keyword(null,"async?","async?",1523057758),!1,new cljs.core.Keyword(null,"min-level","min-level",1634684919),null,new cljs.core.Keyword(null,"rate-limit","rate-limit",1748082022),null,new cljs.core.Keyword(null,"output-fn","output-fn",1600951539),
new cljs.core.Keyword(null,"inherit","inherit",-1840815422),new cljs.core.Keyword(null,"fn","fn",-1175266204),function(a,b){return function(a){a=null!=a&&(a.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===a.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,a):a;a=cljs.core.get.call(null,a,new cljs.core.Keyword(null,"output_","output_",-36797880));return cljs.core.println.call(null,cljs.core.force.call(null,a))}}(a,b)],null)};
taoensso.timbre.appenders.core.println_appender.cljs$lang$maxFixedArity=0;taoensso.timbre.appenders.core.println_appender.cljs$lang$applyTo=function(a){return this.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq.call(null,a))};taoensso.timbre.appenders.core.console_appender=function(a){for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;b=0<b.length?new cljs.core.IndexedSeq(b.slice(0),0,null):null;return taoensso.timbre.appenders.core.console_appender.cljs$core$IFn$_invoke$arity$variadic(b)};
taoensso.timbre.appenders.core.console_appender.cljs$core$IFn$_invoke$arity$variadic=function(a){var b=cljs.core.nth.call(null,a,0,null);return new cljs.core.PersistentArrayMap(null,6,[new cljs.core.Keyword(null,"enabled?","enabled?",-1376075057),!0,new cljs.core.Keyword(null,"async?","async?",1523057758),!1,new cljs.core.Keyword(null,"min-level","min-level",1634684919),null,new cljs.core.Keyword(null,"rate-limit","rate-limit",1748082022),null,new cljs.core.Keyword(null,"output-fn","output-fn",1600951539),
new cljs.core.Keyword(null,"inherit","inherit",-1840815422),new cljs.core.Keyword(null,"fn","fn",-1175266204),"undefined"!==typeof console?function(){return function(a,b,e){return function(b){var c=a.call(null,(new cljs.core.Keyword(null,"level","level",1290497552)).cljs$core$IFn$_invoke$arity$1(b));if(cljs.core.truth_(c)){if(cljs.core.truth_(function(){var a=(new cljs.core.Keyword(null,"raw-console?","raw-console?",-2061489061)).cljs$core$IFn$_invoke$arity$1(b);return cljs.core.truth_(a)?a:cljs.core.get_in.call(null,
b,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"?meta","?meta",-793560773),new cljs.core.Keyword(null,"raw-console?","raw-console?",-2061489061)],null))}())){var d=(new cljs.core.Keyword(null,"output-fn","output-fn",1600951539)).cljs$core$IFn$_invoke$arity$1(b).call(null,cljs.core.assoc.call(null,b,new cljs.core.Keyword(null,"msg_","msg_",-1925147E3),"",new cljs.core.Keyword(null,"?err","?err",549653299),null)),e=function(){var a=(new cljs.core.Keyword(null,
"vargs","vargs",-966597273)).cljs$core$IFn$_invoke$arity$1(b),c=(new cljs.core.Keyword(null,"?err","?err",549653299)).cljs$core$IFn$_invoke$arity$1(b);return cljs.core.truth_(c)?cljs.core.cons.call(null,d,cljs.core.cons.call(null,c,a)):cljs.core.cons.call(null,d,a)}();return c.apply(console,cljs.core.into_array.call(null,e))}return c.call(console,cljs.core.force.call(null,(new cljs.core.Keyword(null,"output_","output_",-36797880)).cljs$core$IFn$_invoke$arity$1(b)))}return null}}(function(a,b){return function(a){var b=
function(){var b=a instanceof cljs.core.Keyword?a.fqn:null;switch(b){case "trace":return console.trace;case "debug":return console.debug;case "info":return console.info;case "warn":return console.warn;case "error":return console.error;case "fatal":return console.error;case "report":return console.info;default:throw Error(["No matching clause: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(b)].join(""));}}();return cljs.core.truth_(b)?b:console.log}}(a,b),a,b)}():function(a,b){return function(a){return null}}(a,
b)],null)};taoensso.timbre.appenders.core.console_appender.cljs$lang$maxFixedArity=0;taoensso.timbre.appenders.core.console_appender.cljs$lang$applyTo=function(a){return this.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq.call(null,a))};taoensso.timbre.appenders.core.console__QMARK_appender=taoensso.timbre.appenders.core.console_appender;cljs.core.vector_QMARK_.call(null,taoensso.encore.encore_version)?taoensso.encore.assert_min_encore_version.call(null,new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,[2,87,0],null)):taoensso.encore.assert_min_encore_version.call(null,2.87);
taoensso.timbre.default_output_fn=function(a){switch(arguments.length){case 1:return taoensso.timbre.default_output_fn.cljs$core$IFn$_invoke$arity$1(arguments[0]);case 2:return taoensso.timbre.default_output_fn.cljs$core$IFn$_invoke$arity$2(arguments[0],arguments[1]);default:throw Error(["Invalid arity: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(""));}};
taoensso.timbre.default_output_fn.cljs$core$IFn$_invoke$arity$1=function(a){return taoensso.timbre.default_output_fn.call(null,null,a)};
taoensso.timbre.default_output_fn.cljs$core$IFn$_invoke$arity$2=function(a,b){var c=null!=a&&(a.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===a.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,a):a,d=cljs.core.get.call(null,c,new cljs.core.Keyword(null,"no-stacktrace?","no-stacktrace?",1701072694));cljs.core.get.call(null,c,new cljs.core.Keyword(null,"stacktrace-fonts","stacktrace-fonts",830799382));var e=null!=b&&(b.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===
b.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,b):b;b=cljs.core.get.call(null,e,new cljs.core.Keyword(null,"level","level",1290497552));c=cljs.core.get.call(null,e,new cljs.core.Keyword(null,"?err","?err",549653299));var f=cljs.core.get.call(null,e,new cljs.core.Keyword(null,"msg_","msg_",-1925147E3)),g=cljs.core.get.call(null,e,new cljs.core.Keyword(null,"?ns-str","?ns-str",2012733966)),h=cljs.core.get.call(null,e,new cljs.core.Keyword(null,"?file","?file",1533429675));cljs.core.get.call(null,
e,new cljs.core.Keyword(null,"hostname_","hostname_",-2091647379));cljs.core.get.call(null,e,new cljs.core.Keyword(null,"timestamp_","timestamp_",-954533417));e=cljs.core.get.call(null,e,new cljs.core.Keyword(null,"?line","?line",-631853385));return[cljs.core.str.cljs$core$IFn$_invoke$arity$1(clojure.string.upper_case.call(null,cljs.core.name.call(null,b)))," [",cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.core.truth_(g)?g:cljs.core.truth_(h)?h:"?"),":",cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.core.truth_(e)?
e:"?"),"] - ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.core.force.call(null,f)),cljs.core.truth_(d)?null:cljs.core.truth_(c)?["\n",cljs.core.str.cljs$core$IFn$_invoke$arity$1(taoensso.timbre.stacktrace.call(null,c,a))].join(""):null].join("")};taoensso.timbre.default_output_fn.cljs$lang$maxFixedArity=2;taoensso.timbre.println_appender=taoensso.timbre.appenders.core.println_appender;taoensso.timbre.console_appender=taoensso.timbre.appenders.core.console_appender;
taoensso.timbre.example_config=new cljs.core.PersistentArrayMap(null,6,[new cljs.core.Keyword(null,"level","level",1290497552),new cljs.core.Keyword(null,"debug","debug",-1608172596),new cljs.core.Keyword(null,"ns-whitelist","ns-whitelist",-1717299774),cljs.core.PersistentVector.EMPTY,new cljs.core.Keyword(null,"ns-blacklist","ns-blacklist",1957763142),cljs.core.PersistentVector.EMPTY,new cljs.core.Keyword(null,"middleware","middleware",1462115504),cljs.core.PersistentVector.EMPTY,new cljs.core.Keyword(null,
"output-fn","output-fn",1600951539),taoensso.timbre.default_output_fn,new cljs.core.Keyword(null,"appenders","appenders",1245583998),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"console","console",1228072057),taoensso.timbre.console_appender.call(null,cljs.core.PersistentArrayMap.EMPTY)],null)],null);if("undefined"===typeof taoensso||"undefined"===typeof taoensso.timbre||"undefined"===typeof taoensso.timbre._STAR_config_STAR_)taoensso.timbre._STAR_config_STAR_=taoensso.timbre.example_config;
taoensso.timbre.swap_config_BANG_=function(a){for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;b=1<b.length?new cljs.core.IndexedSeq(b.slice(1),0,null):null;return taoensso.timbre.swap_config_BANG_.cljs$core$IFn$_invoke$arity$variadic(arguments[0],b)};taoensso.timbre.swap_config_BANG_.cljs$core$IFn$_invoke$arity$variadic=function(a,b){return taoensso.timbre._STAR_config_STAR_=cljs.core.apply.call(null,a,taoensso.timbre._STAR_config_STAR_,b)};
taoensso.timbre.swap_config_BANG_.cljs$lang$maxFixedArity=1;taoensso.timbre.swap_config_BANG_.cljs$lang$applyTo=function(a){var b=cljs.core.first.call(null,a);a=cljs.core.next.call(null,a);return this.cljs$core$IFn$_invoke$arity$variadic(b,a)};taoensso.timbre.set_config_BANG_=function(a){return taoensso.timbre.swap_config_BANG_.call(null,function(b){return a})};
taoensso.timbre.merge_config_BANG_=function(a){return taoensso.timbre.swap_config_BANG_.call(null,function(b){return taoensso.encore.nested_merge.call(null,b,a)})};taoensso.timbre.set_level_BANG_=function(a){return taoensso.timbre.swap_config_BANG_.call(null,function(b){return cljs.core.assoc.call(null,b,new cljs.core.Keyword(null,"level","level",1290497552),a)})};
taoensso.timbre._levels_vec=new cljs.core.PersistentVector(null,7,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"trace","trace",-1082747415),new cljs.core.Keyword(null,"debug","debug",-1608172596),new cljs.core.Keyword(null,"info","info",-317069002),new cljs.core.Keyword(null,"warn","warn",-436710552),new cljs.core.Keyword(null,"error","error",-978969032),new cljs.core.Keyword(null,"fatal","fatal",1874419888),new cljs.core.Keyword(null,"report","report",1394055010)],null);
taoensso.timbre._levels_set=cljs.core.set.call(null,new cljs.core.PersistentVector(null,7,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"trace","trace",-1082747415),new cljs.core.Keyword(null,"debug","debug",-1608172596),new cljs.core.Keyword(null,"info","info",-317069002),new cljs.core.Keyword(null,"warn","warn",-436710552),new cljs.core.Keyword(null,"error","error",-978969032),new cljs.core.Keyword(null,"fatal","fatal",1874419888),new cljs.core.Keyword(null,"report","report",
1394055010)],null));
taoensso.timbre._levels_map=cljs.core.zipmap.call(null,new cljs.core.PersistentVector(null,7,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"trace","trace",-1082747415),new cljs.core.Keyword(null,"debug","debug",-1608172596),new cljs.core.Keyword(null,"info","info",-317069002),new cljs.core.Keyword(null,"warn","warn",-436710552),new cljs.core.Keyword(null,"error","error",-978969032),new cljs.core.Keyword(null,"fatal","fatal",1874419888),new cljs.core.Keyword(null,"report","report",
1394055010)],null),cljs.core.next.call(null,cljs.core.range.call(null)));taoensso.timbre.valid_level_QMARK_=function(a){return cljs.core.truth_(taoensso.timbre._levels_set.call(null,a))?!0:!1};taoensso.timbre.valid_level=function(a){var b=taoensso.timbre._levels_set.call(null,a);if(cljs.core.truth_(b))return b;throw cljs.core.ex_info.call(null,"Invalid Timbre logging level",new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"given","given",716253602),a],null));};
taoensso.timbre.level_GT__EQ_=function(a,b){return taoensso.timbre._levels_map.call(null,taoensso.timbre.valid_level.call(null,a))>=taoensso.timbre._levels_map.call(null,taoensso.timbre.valid_level.call(null,b))};taoensso.timbre._compile_ns_filter=taoensso.encore.memoize_.call(null,taoensso.encore.compile_ns_filter);taoensso.timbre.ns_filter=taoensso.encore.memoize_.call(null,function(a,b,c){return taoensso.timbre._compile_ns_filter.call(null,a,b).call(null,c)});
taoensso.timbre.may_log_QMARK_=function(a){switch(arguments.length){case 1:return taoensso.timbre.may_log_QMARK_.cljs$core$IFn$_invoke$arity$1(arguments[0]);case 2:return taoensso.timbre.may_log_QMARK_.cljs$core$IFn$_invoke$arity$2(arguments[0],arguments[1]);case 3:return taoensso.timbre.may_log_QMARK_.cljs$core$IFn$_invoke$arity$3(arguments[0],arguments[1],arguments[2]);default:throw Error(["Invalid arity: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(""));}};
taoensso.timbre.may_log_QMARK_.cljs$core$IFn$_invoke$arity$1=function(a){return taoensso.timbre.may_log_QMARK_.call(null,a,null,null)};taoensso.timbre.may_log_QMARK_.cljs$core$IFn$_invoke$arity$2=function(a,b){return taoensso.timbre.may_log_QMARK_.call(null,a,b,null)};
taoensso.timbre.may_log_QMARK_.cljs$core$IFn$_invoke$arity$3=function(a,b,c){c=cljs.core.truth_(c)?c:taoensso.timbre._STAR_config_STAR_;var d=cljs.core.get.call(null,c,new cljs.core.Keyword(null,"level","level",1290497552),new cljs.core.Keyword(null,"report","report",1394055010));return taoensso.timbre.level_GT__EQ_.call(null,a,d)&&cljs.core.boolean$.call(null,taoensso.timbre.ns_filter.call(null,cljs.core.get.call(null,c,new cljs.core.Keyword(null,"ns-whitelist","ns-whitelist",-1717299774)),cljs.core.get.call(null,
c,new cljs.core.Keyword(null,"ns-blacklist","ns-blacklist",1957763142)),b))&&!0};taoensso.timbre.may_log_QMARK_.cljs$lang$maxFixedArity=3;taoensso.timbre.str_join=function(a){return taoensso.encore.str_join.call(null," ",cljs.core.map.call(null,function(a){a=taoensso.encore.nil__GT_str.call(null,a);return cljs.core.record_QMARK_.call(null,a)?cljs.core.pr_str.call(null,a):a}),a)};
if("undefined"===typeof taoensso||"undefined"===typeof taoensso.timbre||"undefined"===typeof taoensso.timbre.get_rate_limiter)taoensso.timbre.get_rate_limiter=taoensso.encore.memoize_.call(null,function(a,b){return taoensso.encore.limiter.call(null,b)});taoensso.timbre._STAR_context_STAR_=null;taoensso.timbre.vrest=function(a){return 1<cljs.core.count.call(null,a)?cljs.core.subvec.call(null,a,1):cljs.core.PersistentVector.EMPTY};
taoensso.timbre.parse_vargs=function(a,b,c){var d=taoensso.encore.kw_identical_QMARK_.call(null,a,new cljs.core.Keyword(null,"auto","auto",-566279492)),e=taoensso.encore.kw_identical_QMARK_.call(null,b,new cljs.core.Keyword(null,"f","f",-1597136552)),f=cljs.core.nth.call(null,c,0,null);if(cljs.core.truth_(cljs.core.truth_(d)?taoensso.encore.error_QMARK_.call(null,f):d)){b=f;var g=null,h=taoensso.timbre.vrest.call(null,c);c=cljs.core.truth_(e)?cljs.core.nth.call(null,h,0,null):null;e=cljs.core.truth_(e)?
taoensso.timbre.vrest.call(null,h):h;return new cljs.core.PersistentVector(null,4,5,cljs.core.PersistentVector.EMPTY_NODE,[b,g,c,e],null)}g=cljs.core.truth_(function(){var a=cljs.core.map_QMARK_.call(null,f);return a?(new cljs.core.Keyword(null,"meta","meta",1499536964)).cljs$core$IFn$_invoke$arity$1(cljs.core.meta.call(null,f)):a}())?f:null;b=function(){var b=(new cljs.core.Keyword(null,"err","err",-2089457205)).cljs$core$IFn$_invoke$arity$1(g);return cljs.core.truth_(b)?b:cljs.core.truth_(d)?null:
a}();var k=cljs.core.dissoc.call(null,g,new cljs.core.Keyword(null,"err","err",-2089457205));h=cljs.core.truth_(k)?taoensso.timbre.vrest.call(null,c):c;c=cljs.core.truth_(e)?cljs.core.nth.call(null,h,0,null):null;e=cljs.core.truth_(e)?taoensso.timbre.vrest.call(null,h):h;return new cljs.core.PersistentVector(null,4,5,cljs.core.PersistentVector.EMPTY_NODE,[b,k,c,e],null)};
taoensso.timbre._log_BANG_=function(a){switch(arguments.length){case 9:return taoensso.timbre._log_BANG_.cljs$core$IFn$_invoke$arity$9(arguments[0],arguments[1],arguments[2],arguments[3],arguments[4],arguments[5],arguments[6],arguments[7],arguments[8]);case 10:return taoensso.timbre._log_BANG_.cljs$core$IFn$_invoke$arity$10(arguments[0],arguments[1],arguments[2],arguments[3],arguments[4],arguments[5],arguments[6],arguments[7],arguments[8],arguments[9]);default:throw Error(["Invalid arity: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(""));
}};taoensso.timbre._log_BANG_.cljs$core$IFn$_invoke$arity$9=function(a,b,c,d,e,f,g,h,k){return taoensso.timbre._log_BANG_.call(null,a,b,c,d,e,f,g,h,k,null)};
taoensso.timbre._log_BANG_.cljs$core$IFn$_invoke$arity$10=function(a,b,c,d,e,f,g,h,k,l){if(taoensso.timbre.may_log_QMARK_.call(null,b,c,a)){var m=taoensso.encore.now_dt.call(null),n=taoensso.timbre._STAR_context_STAR_;h=cljs.core.deref.call(null,h);g=taoensso.timbre.parse_vargs.call(null,g,f,h);var p=cljs.core.nth.call(null,g,0,null),q=cljs.core.nth.call(null,g,1,null),r=cljs.core.nth.call(null,g,2,null),u=cljs.core.nth.call(null,g,3,null);k=cljs.core.conj.call(null,cljs.core.truth_(k)?k:cljs.core.PersistentArrayMap.EMPTY,
cljs.core.PersistentHashMap.fromArrays([new cljs.core.Keyword(null,"instant","instant",655498374),new cljs.core.Keyword(null,"config","config",994861415),new cljs.core.Keyword(null,"vargs","vargs",-966597273),new cljs.core.Keyword(null,"?file","?file",1533429675),new cljs.core.Keyword(null,"error-level?","error-level?",778415885),new cljs.core.Keyword(null,"?ns-str","?ns-str",2012733966),new cljs.core.Keyword(null,"level","level",1290497552),new cljs.core.Keyword(null,"?err","?err",549653299),new cljs.core.Keyword(null,
"context","context",-830191113),new cljs.core.Keyword(null,"?line","?line",-631853385),new cljs.core.Keyword(null,"?err_","?err_",789480858),new cljs.core.Keyword(null,"?meta","?meta",-793560773),new cljs.core.Keyword(null,"?msg-fmt","?msg-fmt",-852453891)],[m,a,u,d,(new cljs.core.PersistentHashSet(null,new cljs.core.PersistentArrayMap(null,2,[new cljs.core.Keyword(null,"fatal","fatal",1874419888),null,new cljs.core.Keyword(null,"error","error",-978969032),null],null),null)).call(null,b),c,b,p,n,
e,new cljs.core.Delay(function(a,b,c,d,e,f,g,h){return function(){return e}}(m,n,h,g,p,q,r,u),null),q,r]));var t=cljs.core.reduce.call(null,function(a,b,c,d,e,f,g,h,k){return function(a,b){a=b.call(null,a);return null==a?cljs.core.reduced.call(null,null):a}}(m,n,h,g,p,q,r,u,k),k,(new cljs.core.Keyword(null,"middleware","middleware",1462115504)).cljs$core$IFn$_invoke$arity$1(a));if(cljs.core.truth_(t)){var v=null!=t&&(t.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===t.cljs$core$ISeq$)?
cljs.core.apply.call(null,cljs.core.hash_map,t):t,w=cljs.core.get.call(null,v,new cljs.core.Keyword(null,"vargs","vargs",-966597273)),x=cljs.core.assoc.call(null,t,new cljs.core.Keyword(null,"vargs_","vargs_",552132148),new cljs.core.Delay(function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r){return function(){return c}}(t,v,w,t,t,m,n,h,g,p,q,r,u,k,t),null)),y=taoensso.encore.assoc_nx.call(null,x,new cljs.core.Keyword(null,"msg_","msg_",-1925147E3),new cljs.core.Delay(function(a,g,h,k,l,m,n,p,q,r,t,u,v,w,z,x){return function(){if(cljs.core._EQ_.call(null,
null,f))return"";if(cljs.core._EQ_.call(null,new cljs.core.Keyword(null,"p","p",151049309),f))return taoensso.timbre.str_join.call(null,h);if(cljs.core._EQ_.call(null,new cljs.core.Keyword(null,"f","f",-1597136552),f)){if("string"!==typeof v)throw cljs.core.ex_info.call(null,"Timbre format-style logging call without a format pattern (string)",new cljs.core.PersistentArrayMap(null,2,[new cljs.core.Keyword(null,"level","level",1290497552),b,new cljs.core.Keyword(null,"location","location",1815599388),
[cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.core.truth_(c)?c:cljs.core.truth_(d)?d:"?"),":",cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.core.truth_(e)?e:"?")].join("")],null));return taoensso.encore.format_STAR_.call(null,v,h)}throw Error(["No matching clause: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(f)].join(""));}}(t,v,w,x,t,t,m,n,h,g,p,q,r,u,k,t),null),new cljs.core.Keyword(null,"hash_","hash_",-827203612),new cljs.core.Delay(function(a,b,c,d,e,f,g,h,k,m,n,p,q,r,t,u){return function(){return cljs.core.hash.call(null,
new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,[l,q,cljs.core.get.call(null,p,new cljs.core.Keyword(null,"hash","hash",-13781596),c)],null))}}(t,v,w,x,t,t,m,n,h,g,p,q,r,u,k,t),null)),z=taoensso.encore.memoize_.call(null,cljs.core.get.call(null,a,new cljs.core.Keyword(null,"output-fn","output-fn",1600951539),taoensso.timbre.default_output_fn));cljs.core.reduce_kv.call(null,function(a,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,z){return function(x,y,A){if(cljs.core.truth_(function(){var a=
(new cljs.core.Keyword(null,"enabled?","enabled?",-1376075057)).cljs$core$IFn$_invoke$arity$1(A);return cljs.core.truth_(a)?taoensso.timbre.level_GT__EQ_.call(null,b,function(){var a=(new cljs.core.Keyword(null,"min-level","min-level",1634684919)).cljs$core$IFn$_invoke$arity$1(A);return cljs.core.truth_(a)?a:new cljs.core.Keyword(null,"trace","trace",-1082747415)}()):a}())&&cljs.core.truth_(taoensso.timbre.ns_filter.call(null,(new cljs.core.Keyword(null,"ns-whitelist","ns-whitelist",-1717299774)).cljs$core$IFn$_invoke$arity$1(A),
(new cljs.core.Keyword(null,"ns-blacklist","ns-blacklist",1957763142)).cljs$core$IFn$_invoke$arity$1(A),c))){var B=(new cljs.core.Keyword(null,"rate-limit","rate-limit",1748082022)).cljs$core$IFn$_invoke$arity$1(A),C=function(){var a=cljs.core.empty_QMARK_.call(null,B);if(a)return a;a=taoensso.timbre.get_rate_limiter.call(null,y,B);return cljs.core.not.call(null,a.call(null,cljs.core.force.call(null,(new cljs.core.Keyword(null,"hash_","hash_",-827203612)).cljs$core$IFn$_invoke$arity$1(g))))}();if(C){var E=
null!=A&&(A.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===A.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,A):A;x=cljs.core.get.call(null,E,new cljs.core.Keyword(null,"fn","fn",-1175266204));var D=cljs.core.get.call(null,E,new cljs.core.Keyword(null,"async?","async?",1523057758)),F=function(){var a=(new cljs.core.Keyword(null,"output-fn","output-fn",1600951539)).cljs$core$IFn$_invoke$arity$1(A);return cljs.core.truth_(function(){var b=null==a;return b?b:taoensso.encore.kw_identical_QMARK_.call(null,
a,new cljs.core.Keyword(null,"inherit","inherit",-1840815422))}())?h:a}();C=new cljs.core.Delay(function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,z,x,y,A,B,C){return function(){return e.call(null,n)}}(A,E,x,D,F,B,C,a,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,z),null);var G=cljs.core.conj.call(null,g,new cljs.core.PersistentArrayMap(null,4,[new cljs.core.Keyword(null,"appender-id","appender-id",-1917983538),y,new cljs.core.Keyword(null,"appender","appender",1267426510),A,new cljs.core.Keyword(null,"output-fn",
"output-fn",1600951539),F,new cljs.core.Keyword(null,"output_","output_",-36797880),C],null));F=function(){var a=(new cljs.core.Keyword(null,"middleware-fn","middleware-fn",-61585752)).cljs$core$IFn$_invoke$arity$1(A);return cljs.core.truth_(a)?a.call(null,G):G}();return cljs.core.truth_(F)?x.call(null,F):null}}return null}}(t,v,w,x,y,z,t,t,m,n,h,g,p,q,r,u,k,t),null,(new cljs.core.Keyword(null,"appenders","appenders",1245583998)).cljs$core$IFn$_invoke$arity$1(a))}}return null};
taoensso.timbre._log_BANG_.cljs$lang$maxFixedArity=10;taoensso.timbre.stacktrace=function(a){switch(arguments.length){case 1:return taoensso.timbre.stacktrace.cljs$core$IFn$_invoke$arity$1(arguments[0]);case 2:return taoensso.timbre.stacktrace.cljs$core$IFn$_invoke$arity$2(arguments[0],arguments[1]);default:throw Error(["Invalid arity: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(""));}};
taoensso.timbre.stacktrace.cljs$core$IFn$_invoke$arity$1=function(a){return taoensso.timbre.stacktrace.call(null,a,null)};taoensso.timbre.stacktrace.cljs$core$IFn$_invoke$arity$2=function(a,b){return cljs.core.str.cljs$core$IFn$_invoke$arity$1(a)};taoensso.timbre.stacktrace.cljs$lang$maxFixedArity=2;taoensso.timbre.console__QMARK_appender=taoensso.timbre.appenders.core.console_appender;
taoensso.timbre.ordered_levels=new cljs.core.PersistentVector(null,7,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"trace","trace",-1082747415),new cljs.core.Keyword(null,"debug","debug",-1608172596),new cljs.core.Keyword(null,"info","info",-317069002),new cljs.core.Keyword(null,"warn","warn",-436710552),new cljs.core.Keyword(null,"error","error",-978969032),new cljs.core.Keyword(null,"fatal","fatal",1874419888),new cljs.core.Keyword(null,"report","report",1394055010)],null);
taoensso.timbre.log_QMARK_=taoensso.timbre.may_log_QMARK_;taoensso.timbre.logging_enabled_QMARK_=function(a,b){return taoensso.timbre.may_log_QMARK_.call(null,a,cljs.core.str.cljs$core$IFn$_invoke$arity$1(b))};taoensso.timbre.str_println=function(a){for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;b=0<b.length?new cljs.core.IndexedSeq(b.slice(0),0,null):null;return taoensso.timbre.str_println.cljs$core$IFn$_invoke$arity$variadic(b)};
taoensso.timbre.str_println.cljs$core$IFn$_invoke$arity$variadic=function(a){return taoensso.timbre.str_join.call(null,a)};taoensso.timbre.str_println.cljs$lang$maxFixedArity=0;taoensso.timbre.str_println.cljs$lang$applyTo=function(a){return this.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq.call(null,a))};weathergen.falcon={};weathergen.falcon.constants={};weathergen.falcon.constants.VEHICLE_GROUPS_PER_UNIT=16;weathergen.falcon.constants.FEATURES_PER_OBJ=32;weathergen.falcon.constants.MAXIMUM_ROLES=16;weathergen.falcon.constants.MAXIMUM_OBJTYPES=32;weathergen.falcon.constants.MAXIMUM_WEAPTYPES=600;weathergen.falcon.constants.MAX_UNIT_CHILDREN=5;weathergen.falcon.constants.MAX_FEAT_DEPEND=5;weathergen.falcon.constants.MAX_NUMBER_OF_OBJECTIVES=8E3;weathergen.falcon.constants.MAX_NUMBER_OF_UNITS=4E3;
weathergen.falcon.constants.MAX_NUMBER_OF_VOLATILE_UNITS=16E3;weathergen.falcon.constants.MAX_CAMP_ENTITIES=weathergen.falcon.constants.MAX_NUMBER_OF_OBJECTIVES+weathergen.falcon.constants.MAX_NUMBER_OF_UNITS+weathergen.falcon.constants.MAX_NUMBER_OF_VOLATILE_UNITS;weathergen.falcon.constants.NoDamage=0;weathergen.falcon.constants.PenetrationDam=1;weathergen.falcon.constants.HighExplosiveDam=2;weathergen.falcon.constants.HeaveDam=3;weathergen.falcon.constants.IncendairyDam=4;
weathergen.falcon.constants.ProximityDam=5;weathergen.falcon.constants.KineticDam=6;weathergen.falcon.constants.HydrostaticDam=7;weathergen.falcon.constants.ChemicalDam=8;weathergen.falcon.constants.NuclearDam=9;weathergen.falcon.constants.OtherDam=10;weathergen.falcon.constants.WEAP_RECON=1;weathergen.falcon.constants.WEAP_FUEL=2;weathergen.falcon.constants.WEAP_ECM=4;weathergen.falcon.constants.WEAP_AREA=8;weathergen.falcon.constants.WEAP_CLUSTER=16;weathergen.falcon.constants.WEAP_TRACER=32;
weathergen.falcon.constants.WEAP_ALWAYSRACK=64;weathergen.falcon.constants.WEAP_LGB_3RD_GEN=128;weathergen.falcon.constants.WEAP_BOMBWARHEAD=256;weathergen.falcon.constants.WEAP_NO_TRAIL=512;weathergen.falcon.constants.WEAP_BOMBDROPSOUND=1024;weathergen.falcon.constants.WEAP_BOMBGPS=2048;weathergen.falcon.constants.WEAP_ROCKET_MARKER=4096;weathergen.falcon.constants.WEAP_FORCE_ON_ONE=8192;weathergen.falcon.constants.WEAP_GUN=16384;weathergen.falcon.constants.WEAP_ONETENTH=32768;
weathergen.falcon.constants.WEAP_BAI_LOADOUT=65536;weathergen.falcon.constants.WEAP_DEAD_LOADOUT=131072;weathergen.falcon.constants.WEAP_LASER_POD=262144;weathergen.falcon.constants.WEAP_FAC_LOADOUT=524288;weathergen.falcon.constants.WEAP_CHAFF_POD=1048576;weathergen.falcon.constants.WEAP_INFINITE_MASK=7;weathergen.falcon.constants.HARDPOINT_MAX=16;weathergen.falcon.constants.VU_DOMAIN=0;weathergen.falcon.constants.VU_CLASS=1;weathergen.falcon.constants.VU_TYPE=2;
weathergen.falcon.constants.VU_STYPE=3;weathergen.falcon.constants.VU_SPTYPE=4;weathergen.falcon.constants.VU_OWNER=5;weathergen.falcon.constants.VIS_NORMAL=0;weathergen.falcon.constants.VIS_REPAIRED=1;weathergen.falcon.constants.VIS_DAMAGED=2;weathergen.falcon.constants.VIS_DESTROYED=3;weathergen.falcon.constants.VIS_LEFT_DEST=4;weathergen.falcon.constants.VIS_RIGHT_DEST=5;weathergen.falcon.constants.VIS_BOTH_DEST=6;weathergen.falcon.constants.DOMAIN_ABSTRACT=1;
weathergen.falcon.constants.DOMAIN_AIR=2;weathergen.falcon.constants.DOMAIN_LAND=3;weathergen.falcon.constants.DOMAIN_SEA=4;weathergen.falcon.constants.DOMAIN_SPACE=5;weathergen.falcon.constants.DOMAIN_UNDERGROUND=6;weathergen.falcon.constants.DOMAIN_UNDERSEA=7;weathergen.falcon.constants.CLASS_ANIMAL=1;weathergen.falcon.constants.CLASS_FEATURE=2;weathergen.falcon.constants.CLASS_MANAGER=3;weathergen.falcon.constants.CLASS_OBJECTIVE=4;weathergen.falcon.constants.CLASS_SFX=5;
weathergen.falcon.constants.CLASS_UNIT=6;weathergen.falcon.constants.CLASS_VEHICLE=7;weathergen.falcon.constants.CLASS_WEAPON=8;weathergen.falcon.constants.CLASS_WEATHER=9;weathergen.falcon.constants.CLASS_SESSION=10;weathergen.falcon.constants.CLASS_ABSTRACT=0;weathergen.falcon.constants.CLASS_GAME=11;weathergen.falcon.constants.CLASS_GROUP=12;weathergen.falcon.constants.CLASS_DIALOG=13;weathergen.falcon.constants.TYPE_NOTHING=1;weathergen.falcon.constants.TYPE_GUN=3;
weathergen.falcon.constants.TYPE_MINESWEEP=2;weathergen.falcon.constants.TYPE_RACK=4;weathergen.falcon.constants.TYPE_ATM=1;weathergen.falcon.constants.TYPE_FLIGHT=1;weathergen.falcon.constants.TYPE_PACKAGE=2;weathergen.falcon.constants.TYPE_SQUADRON=3;weathergen.falcon.constants.TYPE_AIRPLANE=1;weathergen.falcon.constants.TYPE_BOMB=2;weathergen.falcon.constants.TYPE_ELECTRONICS=3;weathergen.falcon.constants.TYPE_FUEL_TANK=4;weathergen.falcon.constants.TYPE_HELICOPTER=5;
weathergen.falcon.constants.TYPE_MISSILE=6;weathergen.falcon.constants.TYPE_RECON=7;weathergen.falcon.constants.TYPE_ROCKET=8;weathergen.falcon.constants.TYPE_CLOUD=1;weathergen.falcon.constants.TYPE_GTM=1;weathergen.falcon.constants.TYPE_AIRBASE=1;weathergen.falcon.constants.TYPE_AIRSTRIP=2;weathergen.falcon.constants.TYPE_ARMYBASE=3;weathergen.falcon.constants.TYPE_BEACH=4;weathergen.falcon.constants.TYPE_BORDER=5;weathergen.falcon.constants.TYPE_BRIDGE=6;
weathergen.falcon.constants.TYPE_CHEMICAL=7;weathergen.falcon.constants.TYPE_CITY=8;weathergen.falcon.constants.TYPE_COM_CONTROL=9;weathergen.falcon.constants.TYPE_DEPOT=10;weathergen.falcon.constants.TYPE_FACTORY=11;weathergen.falcon.constants.TYPE_FORD=12;weathergen.falcon.constants.TYPE_FORTIFICATION=13;weathergen.falcon.constants.TYPE_HILL_TOP=14;weathergen.falcon.constants.TYPE_INTERSECT=15;weathergen.falcon.constants.TYPE_NUCLEAR=17;weathergen.falcon.constants.TYPE_PASS=18;
weathergen.falcon.constants.TYPE_PORT=19;weathergen.falcon.constants.TYPE_POWERPLANT=20;weathergen.falcon.constants.TYPE_RADAR=21;weathergen.falcon.constants.TYPE_RADIO_TOWER=22;weathergen.falcon.constants.TYPE_RAIL_TERMINAL=23;weathergen.falcon.constants.TYPE_RAILROAD=24;weathergen.falcon.constants.TYPE_VASI=47;weathergen.falcon.constants.TYPE_TANK=48;weathergen.falcon.constants.TYPE_FENCE=49;weathergen.falcon.constants.TYPE_PARKINGLOT=50;weathergen.falcon.constants.TYPE_SMOKESTACK=51;
weathergen.falcon.constants.TYPE_BUILDING=52;weathergen.falcon.constants.TYPE_COOL_TWR=53;weathergen.falcon.constants.TYPE_CONT_DOME=54;weathergen.falcon.constants.TYPE_GUARDHOUSE=55;weathergen.falcon.constants.TYPE_TRANSFORMER=56;weathergen.falcon.constants.TYPE_AMMO_DUMP=57;weathergen.falcon.constants.TYPE_DEBRIS=1;weathergen.falcon.constants.TYPE_AEXPLOSION=1;weathergen.falcon.constants.TYPE_CANOPY=7;weathergen.falcon.constants.TYPE_CHEM_PLANT=60;weathergen.falcon.constants.TYPE_TOWER=61;
weathergen.falcon.constants.TYPE_HOSPITAL=62;weathergen.falcon.constants.TYPE_SHOPBLK=63;weathergen.falcon.constants.TYPE_FLYING_EYE=1;weathergen.falcon.constants.TYPE_RUNWAY_NUM=64;weathergen.falcon.constants.TYPE_AIR_TERMINAL=39;weathergen.falcon.constants.TYPE_END_MISSION=1;weathergen.falcon.constants.TYPE_RUNWAY_MARKER=65;weathergen.falcon.constants.TYPE_TAXI_SIGN=24;weathergen.falcon.constants.TYPE_STADIUM=66;weathergen.falcon.constants.TYPE_MONUMENT=67;
weathergen.falcon.constants.TYPE_STATIC=64;weathergen.falcon.constants.TYPE_REFINERY=25;weathergen.falcon.constants.TYPE_ROAD=26;weathergen.falcon.constants.TYPE_SEA=27;weathergen.falcon.constants.TYPE_TOWN=28;weathergen.falcon.constants.TYPE_VILLAGE=29;weathergen.falcon.constants.TYPE_CRATER=1;weathergen.falcon.constants.TYPE_BATTALION=1;weathergen.falcon.constants.TYPE_BRIGADE=2;weathergen.falcon.constants.TYPE_FOOT=1;weathergen.falcon.constants.TYPE_TOWED=2;
weathergen.falcon.constants.TYPE_TRACKED=3;weathergen.falcon.constants.TYPE_WHEELED=4;weathergen.falcon.constants.TYPE_NTM=1;weathergen.falcon.constants.TYPE_TASKFORCE=1;weathergen.falcon.constants.TYPE_ASSAULT=1;weathergen.falcon.constants.TYPE_BOAT=2;weathergen.falcon.constants.TYPE_BUOY=3;weathergen.falcon.constants.TYPE_CAPITAL_SHIP=4;weathergen.falcon.constants.TYPE_CARGO=5;weathergen.falcon.constants.TYPE_CRUISER=6;weathergen.falcon.constants.TYPE_DEPTHCHARGE=7;
weathergen.falcon.constants.TYPE_DESTROYER=8;weathergen.falcon.constants.TYPE_FRIGATE=9;weathergen.falcon.constants.TYPE_PATROL=10;weathergen.falcon.constants.TYPE_RAFT=11;weathergen.falcon.constants.TYPE_SHIP=12;weathergen.falcon.constants.TYPE_TANKER=13;weathergen.falcon.constants.TYPE_TORPEDO=14;weathergen.falcon.constants.TYPE_ARMADA=1;weathergen.falcon.constants.TYPE_WOLFPACK=1;weathergen.falcon.constants.TYPE_SUBMARINE=1;weathergen.falcon.constants.TYPE_TEAM=1;
weathergen.falcon.constants.TYPE_NAV_BEACON=16;weathergen.falcon.constants.TYPE_SAM_SITE=31;weathergen.falcon.constants.TYPE_HARTS=30;weathergen.falcon.constants.TYPE_ART_SITE=58;weathergen.falcon.constants.TYPE_TEST=15;weathergen.falcon.constants.TYPE_OFFICE=59;weathergen.falcon.constants.TYPE_NAV_BEAC=25;weathergen.falcon.constants.TYPE_TAXIWAY=30;weathergen.falcon.constants.TYPE_HANGAR=45;weathergen.falcon.constants.TYPE_RUNWAY=11;weathergen.falcon.constants.TYPE_HOUSE=22;
weathergen.falcon.constants.TYPE_CRATERS=27;weathergen.falcon.constants.TYPE_WAREHOUSE=12;weathergen.falcon.constants.TYPE_BRIDGES=16;weathergen.falcon.constants.TYPE_FACTORYS=6;weathergen.falcon.constants.TYPE_SHOP=19;weathergen.falcon.constants.TYPE_FUEL_TANKS=14;weathergen.falcon.constants.TYPE_APARTMENT=21;weathergen.falcon.constants.TYPE_CTRL_TOWER=2;weathergen.falcon.constants.TYPE_BUNKER=4;weathergen.falcon.constants.TYPE_BUSH=5;weathergen.falcon.constants.TYPE_CHURCH=7;
weathergen.falcon.constants.TYPE_CITY_HALL=8;weathergen.falcon.constants.TYPE_DOCK=9;weathergen.falcon.constants.TYPE_HELIPAD=13;weathergen.falcon.constants.TYPE_NUKE_PLANT=15;weathergen.falcon.constants.TYPE_PIER=17;weathergen.falcon.constants.TYPE_PPOLE=18;weathergen.falcon.constants.TYPE_PTOWER=20;weathergen.falcon.constants.TYPE_PPLANT=23;weathergen.falcon.constants.TYPE_RADAR_SITE=26;weathergen.falcon.constants.TYPE_RADARS=28;weathergen.falcon.constants.TYPE_RTOWER=29;
weathergen.falcon.constants.TYPE_RAIL_TERMINALS=31;weathergen.falcon.constants.TYPE_REFINERYS=32;weathergen.falcon.constants.TYPE_SAM=33;weathergen.falcon.constants.TYPE_SHED=34;weathergen.falcon.constants.TYPE_TREE=36;weathergen.falcon.constants.TYPE_WTOWER=37;weathergen.falcon.constants.TYPE_BARRACKS=35;weathergen.falcon.constants.TYPE_LAUNCHER=5;weathergen.falcon.constants.TYPE_CHAFF=5;weathergen.falcon.constants.TYPE_BARN=3;weathergen.falcon.constants.TYPE_TWNHALL=38;
weathergen.falcon.constants.TYPE_YARD=39;weathergen.falcon.constants.TYPE_SHRINE=40;weathergen.falcon.constants.TYPE_PARK=41;weathergen.falcon.constants.TYPE_OFF_BLOCK=42;weathergen.falcon.constants.TYPE_COCKPIT=3;weathergen.falcon.constants.TYPE_TVSTN=43;weathergen.falcon.constants.TYPE_HOTEL=44;weathergen.falcon.constants.TYPE_SMOKE=4;weathergen.falcon.constants.TYPE_FIRE=2;weathergen.falcon.constants.TYPE_FLARE=6;weathergen.falcon.constants.TYPE_EXPLOSION=1;
weathergen.falcon.constants.TYPE_HULK=2;weathergen.falcon.constants.TYPE_DUST=3;weathergen.falcon.constants.TYPE_LIGHTS=46;weathergen.falcon.constants.TYPE_EJECT=9;weathergen.falcon.constants.STYPE_SITE1=1;weathergen.falcon.constants.STYPE_HARTS1=1;weathergen.falcon.constants.STYPE_TEST=1;weathergen.falcon.constants.STYPE_FAC_UNDER_1=4;weathergen.falcon.constants.STYPE_BRIDGE_044_7=3;weathergen.falcon.constants.STYPE_BRIDGE_044_5=4;weathergen.falcon.constants.STYPE_NAV_BEACON1=1;
weathergen.falcon.constants.STYPE_TAXIWAY1=1;weathergen.falcon.constants.STYPE_ADMIN1=1;weathergen.falcon.constants.STYPE_HANGAR2=1;weathergen.falcon.constants.STYPE_CNC_TILE1=1;weathergen.falcon.constants.STYPE_HANG_TILE1=2;weathergen.falcon.constants.STYPE_HOUSE3=1;weathergen.falcon.constants.STYPE_HOUSE4=2;weathergen.falcon.constants.STYPE_HOUSE5=3;weathergen.falcon.constants.STYPE_CRATER1=1;weathergen.falcon.constants.STYPE_CNC1=3;weathergen.falcon.constants.STYPE_WAREHOUSE2=1;
weathergen.falcon.constants.STYPE_BRIDGE3=3;weathergen.falcon.constants.STYPE_TAXIWAY2=2;weathergen.falcon.constants.STYPE_SHOP2=1;weathergen.falcon.constants.STYPE_FUEL_TANK2=1;weathergen.falcon.constants.STYPE_OFFICE2=3;weathergen.falcon.constants.STYPE_APARTMENT1=1;weathergen.falcon.constants.STYPE_R02_NPGA=1;weathergen.falcon.constants.STYPE_CTRL_TOWER1=1;weathergen.falcon.constants.STYPE_BRIDGE4=4;weathergen.falcon.constants.STYPE_BRIDGE2=2;weathergen.falcon.constants.STYPE_BRIDGE1=1;
weathergen.falcon.constants.STYPE_BUNKER1=1;weathergen.falcon.constants.STYPE_BUNKER2=2;weathergen.falcon.constants.STYPE_BUSH1=1;weathergen.falcon.constants.STYPE_CHURCH1=1;weathergen.falcon.constants.STYPE_CITY_HALL1=1;weathergen.falcon.constants.STYPE_SHOP1=2;weathergen.falcon.constants.STYPE_SHOP3=3;weathergen.falcon.constants.STYPE_SHOP4=4;weathergen.falcon.constants.STYPE_DEPOT1_F=3;weathergen.falcon.constants.STYPE_DEPOT2_F=4;weathergen.falcon.constants.STYPE_DOCK01=1;
weathergen.falcon.constants.STYPE_DOCK02=2;weathergen.falcon.constants.STYPE_FUEL_TANK1=2;weathergen.falcon.constants.STYPE_HANGAR3=2;weathergen.falcon.constants.STYPE_HANGAR8=4;weathergen.falcon.constants.STYPE_HANGAR1=5;weathergen.falcon.constants.STYPE_HANGAR6=3;weathergen.falcon.constants.STYPE_HANGAR7=6;weathergen.falcon.constants.STYPE_HELIPAD1=1;weathergen.falcon.constants.STYPE_HOUSE2=4;weathergen.falcon.constants.STYPE_NUKE_PLANT1=1;weathergen.falcon.constants.STYPE_NUKE_PLANT2=2;
weathergen.falcon.constants.STYPE_OFFICE1=4;weathergen.falcon.constants.STYPE_PIER1=1;weathergen.falcon.constants.STYPE_PPOLE1=1;weathergen.falcon.constants.STYPE_PTOWER1=1;weathergen.falcon.constants.STYPE_PPLANT1=1;weathergen.falcon.constants.STYPE_RADAR_SITE1=1;weathergen.falcon.constants.STYPE_RADAR2=2;weathergen.falcon.constants.STYPE_RADAR3=3;weathergen.falcon.constants.STYPE_RADAR4=4;weathergen.falcon.constants.STYPE_RADAR5=5;weathergen.falcon.constants.STYPE_RADAR6=6;
weathergen.falcon.constants.STYPE_RADAR7=7;weathergen.falcon.constants.STYPE_RADAR8=8;weathergen.falcon.constants.STYPE_RTOWER1=1;weathergen.falcon.constants.STYPE_RTOWER2=2;weathergen.falcon.constants.STYPE_SAM1=1;weathergen.falcon.constants.STYPE_SEARCH_RADAR1=9;weathergen.falcon.constants.STYPE_SHED1=1;weathergen.falcon.constants.STYPE_TREE1=1;weathergen.falcon.constants.STYPE_WAREHOUSE1=2;weathergen.falcon.constants.STYPE_WTOWER1=1;weathergen.falcon.constants.STYPE_APARTMENT2=2;
weathergen.falcon.constants.STYPE_ART_SITE1=1;weathergen.falcon.constants.STYPE_BARRACKS1=1;weathergen.falcon.constants.STYPE_IR_POD=2;weathergen.falcon.constants.STYPE_CHAFF=1;weathergen.falcon.constants.STYPE_APARTMENT4=3;weathergen.falcon.constants.STYPE_APARTMENT5=4;weathergen.falcon.constants.STYPE_HOUSE6=5;weathergen.falcon.constants.STYPE_HOUSE7=6;weathergen.falcon.constants.STYPE_HOUSE8=7;weathergen.falcon.constants.STYPE_BARN1=1;weathergen.falcon.constants.STYPE_BARN2=2;
weathergen.falcon.constants.STYPE_HOUSE9=8;weathergen.falcon.constants.STYPE_HOUSE10=9;weathergen.falcon.constants.STYPE_HOUSE11=10;weathergen.falcon.constants.STYPE_UNIT_SSBN=13;weathergen.falcon.constants.STYPE_UNIT_SSGN=11;weathergen.falcon.constants.STYPE_UNIT_SSN=12;weathergen.falcon.constants.STYPE_AIRBASE_505=5;weathergen.falcon.constants.STYPE_AIRBASE1=1;weathergen.falcon.constants.STYPE_AIRBASE2=2;weathergen.falcon.constants.STYPE_AIR_ASW=1;weathergen.falcon.constants.STYPE_AIR_ATTACK=2;
weathergen.falcon.constants.STYPE_AIR_AWACS=3;weathergen.falcon.constants.STYPE_AIR_BOMBER=4;weathergen.falcon.constants.STYPE_AIR_ECM=5;weathergen.falcon.constants.STYPE_AIR_FIGHTER=6;weathergen.falcon.constants.STYPE_AIR_FIGHTER_BOMBER=7;weathergen.falcon.constants.STYPE_AIR_JSTAR=8;weathergen.falcon.constants.STYPE_AIR_RECON=9;weathergen.falcon.constants.STYPE_AIR_TANKER=10;weathergen.falcon.constants.STYPE_AIR_TRANSPORT=11;weathergen.falcon.constants.STYPE_AIRSTRIPV=1;
weathergen.falcon.constants.STYPE_ARMYBASE1=1;weathergen.falcon.constants.STYPE_AMPHIBIOUS=1;weathergen.falcon.constants.STYPE_WASP=2;weathergen.falcon.constants.STYPE_UNIT_AIR_DEFENSE=1;weathergen.falcon.constants.STYPE_UNIT_AIRMOBILE=2;weathergen.falcon.constants.STYPE_UNIT_ARMOR=3;weathergen.falcon.constants.STYPE_UNIT_ARMORED_CAV=4;weathergen.falcon.constants.STYPE_UNIT_ENGINEER=5;weathergen.falcon.constants.STYPE_UNIT_HQ=6;weathergen.falcon.constants.STYPE_UNIT_INFANTRY=7;
weathergen.falcon.constants.STYPE_UNIT_MARINE=8;weathergen.falcon.constants.STYPE_UNIT_MECHANIZED=9;weathergen.falcon.constants.STYPE_UNIT_ROCKET=10;weathergen.falcon.constants.STYPE_UNIT_SP_ARTILLERY=11;weathergen.falcon.constants.STYPE_UNIT_SS_MISSILE=12;weathergen.falcon.constants.STYPE_UNIT_SUPPLY=13;weathergen.falcon.constants.STYPE_UNIT_TOWED_ARTILLERY=14;weathergen.falcon.constants.STYPE_MISSILE_BOAT=1;weathergen.falcon.constants.STYPE_PATROL_BOAT=1;weathergen.falcon.constants.STYPE_BOMB=1;
weathergen.falcon.constants.STYPE_BOMB_GUIDED=2;weathergen.falcon.constants.STYPE_BOMB_IRON=3;weathergen.falcon.constants.STYPE_BOMB_GPS=4;weathergen.falcon.constants.STYPE_BOMB_JSOW=5;weathergen.falcon.constants.STYPE_UNIT_AIRBORNE=2;weathergen.falcon.constants.STYPE_BATTLESHIP=1;weathergen.falcon.constants.STYPE_CARRIER=2;weathergen.falcon.constants.STYPE_AMMOSHIP=1;weathergen.falcon.constants.STYPE_FRIGATE=1;weathergen.falcon.constants.STYPE_GENERIC=3;
weathergen.falcon.constants.STYPE_NEWPORT=4;weathergen.falcon.constants.STYPE_C01_OBJ=1;weathergen.falcon.constants.STYPE_DECK=1;weathergen.falcon.constants.STYPE_PUFFY=2;weathergen.falcon.constants.STYPE_COM_CONTROL1=1;weathergen.falcon.constants.STYPE_SMALL_CRATER=1;weathergen.falcon.constants.STYPE_CG=1;weathergen.falcon.constants.STYPE_DEPOT1=1;weathergen.falcon.constants.STYPE_DEPTHCHARGE=1;weathergen.falcon.constants.STYPE_GEARING=1;weathergen.falcon.constants.STYPE_SPRUANCE=2;
weathergen.falcon.constants.STYPE_ECM=1;weathergen.falcon.constants.STYPE_F803_1=1;weathergen.falcon.constants.STYPE_F80F_1=2;weathergen.falcon.constants.STYPE_UNIT_AIR_TRANSPORT=1;weathergen.falcon.constants.STYPE_UNIT_ASW=2;weathergen.falcon.constants.STYPE_UNIT_ATTACK=3;weathergen.falcon.constants.STYPE_UNIT_ATTACK_HELO=4;weathergen.falcon.constants.STYPE_UNIT_AWACS=5;weathergen.falcon.constants.STYPE_UNIT_BOMBER=6;weathergen.falcon.constants.STYPE_UNIT_ECM=7;
weathergen.falcon.constants.STYPE_UNIT_FIGHTER=8;weathergen.falcon.constants.STYPE_UNIT_FIGHTER_BOMBER=9;weathergen.falcon.constants.STYPE_UNIT_JSTAR=10;weathergen.falcon.constants.STYPE_UNIT_RECON=11;weathergen.falcon.constants.STYPE_UNIT_RECON_HELO=12;weathergen.falcon.constants.STYPE_UNIT_TANKER=13;weathergen.falcon.constants.STYPE_UNIT_TRANSPORT_HELO=14;weathergen.falcon.constants.STYPE_FOOT_SQUAD=1;weathergen.falcon.constants.STYPE_FORTIFICATION1=1;
weathergen.falcon.constants.STYPE_FUEL_TANK=1;weathergen.falcon.constants.STYPE_AAA_GUN=1;weathergen.falcon.constants.STYPE_ARTILLERY=3;weathergen.falcon.constants.STYPE_GUN=4;weathergen.falcon.constants.STYPE_MORTAR=5;weathergen.falcon.constants.STYPE_SMALLARMS=2;weathergen.falcon.constants.STYPE_AIR_ATTACK_HELO=1;weathergen.falcon.constants.STYPE_AIR_RECON_HELO=2;weathergen.falcon.constants.STYPE_AIR_TRANSPORT_HELO=3;weathergen.falcon.constants.STYPE_MINESWPBLADE=1;
weathergen.falcon.constants.STYPE_MISSILE_AIR_AIR=1;weathergen.falcon.constants.STYPE_MISSILE_AIR_GROUND=2;weathergen.falcon.constants.STYPE_MISSILE_ANTI_SHIP=3;weathergen.falcon.constants.STYPE_MISSILE_SURF_AIR=5;weathergen.falcon.constants.STYPE_MISSILE_SURF_SURF=6;weathergen.falcon.constants.STYPE_NAV1=1;weathergen.falcon.constants.STYPE_NOTHING=1;weathergen.falcon.constants.STYPE_NUCLEAR1=1;weathergen.falcon.constants.STYPE_PORT1=1;weathergen.falcon.constants.STYPE_PP01_OBJ=1;
weathergen.falcon.constants.STYPE_RACK=1;weathergen.falcon.constants.STYPE_RADAR1=1;weathergen.falcon.constants.STYPE_RADIO_TOWER1=1;weathergen.falcon.constants.STYPE_LIFE_RAFT=1;weathergen.falcon.constants.STYPE_RAIL_TERMINAL1=1;weathergen.falcon.constants.STYPE_RAILROAD1=1;weathergen.falcon.constants.STYPE_CAMERA=1;weathergen.falcon.constants.STYPE_REFINERY1=1;weathergen.falcon.constants.STYPE_ROCKET=2;weathergen.falcon.constants.STYPE_CRUISER=1;weathergen.falcon.constants.STYPE_SEA_SUPPLY=1;
weathergen.falcon.constants.STYPE_SEA_TRANSPORT=2;weathergen.falcon.constants.STYPE_SSBN=1;weathergen.falcon.constants.STYPE_SSGN=2;weathergen.falcon.constants.STYPE_SSN=3;weathergen.falcon.constants.STYPE_UNIT_AMPHIBIOUS=1;weathergen.falcon.constants.STYPE_UNIT_BATTLESHIP=2;weathergen.falcon.constants.STYPE_UNIT_CARRIER=3;weathergen.falcon.constants.STYPE_UNIT_CRUISER=4;weathergen.falcon.constants.STYPE_UNIT_DESTROYER=5;weathergen.falcon.constants.STYPE_UNIT_FRIGATE=6;
weathergen.falcon.constants.STYPE_UNIT_PATROL=7;weathergen.falcon.constants.STYPE_UNIT_SEA_SUPPLY=8;weathergen.falcon.constants.STYPE_UNIT_SEA_TANKER=9;weathergen.falcon.constants.STYPE_UNIT_SEA_TRANSPORT=10;weathergen.falcon.constants.STYPE_TORPEDO=1;weathergen.falcon.constants.STYPE_TOWED_AAA=1;weathergen.falcon.constants.STYPE_TOWED_ARTILLERY=2;weathergen.falcon.constants.STYPE_TRACKED_AAA=1;weathergen.falcon.constants.STYPE_TRACKED_AIR_DEFENSE=2;
weathergen.falcon.constants.STYPE_TRACKED_ARMOR=3;weathergen.falcon.constants.STYPE_TRACKED_ARTILLERY=4;weathergen.falcon.constants.STYPE_TRACKED_ENGINEER=5;weathergen.falcon.constants.STYPE_TRACKED_HQ=6;weathergen.falcon.constants.STYPE_TRACKED_IFV=7;weathergen.falcon.constants.STYPE_TRACKED_MORTAR=8;weathergen.falcon.constants.STYPE_TRACKED_TRANSPORT=9;weathergen.falcon.constants.STYPE_WHEELED_AAA=1;weathergen.falcon.constants.STYPE_WHEELED_AIR_DEFENSE=2;
weathergen.falcon.constants.STYPE_WHEELED_ARTILLERY=3;weathergen.falcon.constants.STYPE_WHEELED_ENGINEER=4;weathergen.falcon.constants.STYPE_WHEELED_FIRETRUCK=5;weathergen.falcon.constants.STYPE_WHEELED_HQ=6;weathergen.falcon.constants.STYPE_WHEELED_IFV=7;weathergen.falcon.constants.STYPE_WHEELED_TRANSPORT=8;weathergen.falcon.constants.STYPE_BRIDGE_044_4=1;weathergen.falcon.constants.STYPE_BRIDGE_044_6=2;weathergen.falcon.constants.STYPE_DEPOT2=2;weathergen.falcon.constants.STYPE_F405_1=3;
weathergen.falcon.constants.STYPE_NUCLEAR2=2;weathergen.falcon.constants.STYPE_FACTORY1L=8;weathergen.falcon.constants.STYPE_FACTORY1R=9;weathergen.falcon.constants.STYPE_PORT_66B=2;weathergen.falcon.constants.STYPE_BRIDGE_A41_3=13;weathergen.falcon.constants.STYPE_BRIDGE_A42_3=14;weathergen.falcon.constants.STYPE_TWNHALL1=1;weathergen.falcon.constants.STYPE_SHOP5=5;weathergen.falcon.constants.STYPE_HANGAR9=7;weathergen.falcon.constants.STYPE_HANGAR10=8;weathergen.falcon.constants.STYPE_R02_PGC=3;
weathergen.falcon.constants.STYPE_TEMPLE1=2;weathergen.falcon.constants.STYPE_SHOP6=6;weathergen.falcon.constants.STYPE_SHED2=2;weathergen.falcon.constants.STYPE_SHED3=3;weathergen.falcon.constants.STYPE_WTOWER2=2;weathergen.falcon.constants.STYPE_WTOWER3=3;weathergen.falcon.constants.STYPE_SHRINE1=1;weathergen.falcon.constants.STYPE_OFFICE7=5;weathergen.falcon.constants.STYPE_APARTMENT6=5;weathergen.falcon.constants.STYPE_STABLE1=3;weathergen.falcon.constants.STYPE_PARK1=1;
weathergen.falcon.constants.STYPE_TREE2=2;weathergen.falcon.constants.STYPE_TREE3=3;weathergen.falcon.constants.STYPE_TREE4=4;weathergen.falcon.constants.STYPE_HOUSE12=11;weathergen.falcon.constants.STYPE_OFFICE3=1;weathergen.falcon.constants.STYPE_OFFICE4=6;weathergen.falcon.constants.STYPE_OFFICE5=7;weathergen.falcon.constants.STYPE_OFFICE6=8;weathergen.falcon.constants.STYPE_OFFICE8=9;weathergen.falcon.constants.STYPE_SKYSCRAPER1=10;weathergen.falcon.constants.STYPE_SKYSCRAPER2=11;
weathergen.falcon.constants.STYPE_OFF_BLOCK1=1;weathergen.falcon.constants.STYPE_APARTMENT3=6;weathergen.falcon.constants.STYPE_CITY_HALL2=2;weathergen.falcon.constants.STYPE_BARRACKS2=2;weathergen.falcon.constants.STYPE_CHURCH2=3;weathergen.falcon.constants.STYPE_TEMPLE2=4;weathergen.falcon.constants.STYPE_COCKPIT=1;weathergen.falcon.constants.STYPE_OFFICE9=12;weathergen.falcon.constants.STYPE_OFFICE10=13;weathergen.falcon.constants.STYPE_OFFICE11=14;weathergen.falcon.constants.STYPE_OFFICE12=15;
weathergen.falcon.constants.STYPE_OFFICE13=16;weathergen.falcon.constants.STYPE_OFFICE14=17;weathergen.falcon.constants.STYPE_OFFICE15=18;weathergen.falcon.constants.STYPE_OFFICE16=19;weathergen.falcon.constants.STYPE_OFFICE17=20;weathergen.falcon.constants.STYPE_BRIDGE1_4=6;weathergen.falcon.constants.STYPE_BRIDGE1_2=5;weathergen.falcon.constants.STYPE_BRIDGE1_1=7;weathergen.falcon.constants.STYPE_BRIDGE2_3=8;weathergen.falcon.constants.STYPE_BRIDGE2_1=9;
weathergen.falcon.constants.STYPE_OFF_BLOCK2=2;weathergen.falcon.constants.STYPE_OFF_BLOCK3=3;weathergen.falcon.constants.STYPE_OFF_BLOCK4=4;weathergen.falcon.constants.STYPE_OFF_BLOCK5=5;weathergen.falcon.constants.STYPE_OFF_BLOCK6=6;weathergen.falcon.constants.STYPE_OFF_BLOCK7=7;weathergen.falcon.constants.STYPE_OFF_BLOCK8=8;weathergen.falcon.constants.STYPE_OFF_BLOCK9=9;weathergen.falcon.constants.STYPE_WAREHOUSE3=3;weathergen.falcon.constants.STYPE_WAREHOUSE4=4;
weathergen.falcon.constants.STYPE_TVSTN1=1;weathergen.falcon.constants.STYPE_HOTEL1=1;weathergen.falcon.constants.STYPE_CITY_835=24;weathergen.falcon.constants.STYPE_BRIDGE_241_3=5;weathergen.falcon.constants.STYPE_SM_BRIDGE3=10;weathergen.falcon.constants.STYPE_BRIDGE_242_3=6;weathergen.falcon.constants.STYPE_BRIDGE_D41_3=7;weathergen.falcon.constants.STYPE_BRIDGE_D42_3=8;weathergen.falcon.constants.STYPE_MISS_LAUN=1;weathergen.falcon.constants.STYPE_SAM_LAUN=2;
weathergen.falcon.constants.STYPE_MISS_FLAME=1;weathergen.falcon.constants.STYPE_ENG_FIRE=2;weathergen.falcon.constants.STYPE_SM_FACT1=5;weathergen.falcon.constants.STYPE_SM_FACT2=6;weathergen.falcon.constants.STYPE_SM_FACT3=7;weathergen.falcon.constants.STYPE_4KRUNWAY=5;weathergen.falcon.constants.STYPE_FLARE1=1;weathergen.falcon.constants.STYPE_TANK_HULK=2;weathergen.falcon.constants.STYPE_R02_NPGB=6;weathergen.falcon.constants.STYPE_R02_NPGC=7;weathergen.falcon.constants.STYPE_R02_NPGD=8;
weathergen.falcon.constants.STYPE_R03_NPGA=4;weathergen.falcon.constants.STYPE_BRIDGE_654_1=15;weathergen.falcon.constants.STYPE_BRIDGE_656_1=16;weathergen.falcon.constants.STYPE_R03_NPGB=16;weathergen.falcon.constants.STYPE_A33_VILLAGE=9;weathergen.falcon.constants.STYPE_VILL_D3D=25;weathergen.falcon.constants.STYPE_VILL_D37=26;weathergen.falcon.constants.STYPE_OSAN=24;weathergen.falcon.constants.STYPE_TAXIOSAN=2;weathergen.falcon.constants.STYPE_R02_PGA=9;
weathergen.falcon.constants.STYPE_R02_PGB=10;weathergen.falcon.constants.STYPE_AIRBASE_501=3;weathergen.falcon.constants.STYPE_AIRBASE_510=4;weathergen.falcon.constants.STYPE_AIRBASE_560=5;weathergen.falcon.constants.STYPE_OFFICE18=21;weathergen.falcon.constants.STYPE_OFFICE19=22;weathergen.falcon.constants.STYPE_OFFICE20=23;weathergen.falcon.constants.STYPE_OFFICE21=24;weathergen.falcon.constants.STYPE_OFFICE22=25;weathergen.falcon.constants.STYPE_OFFICE23=26;
weathergen.falcon.constants.STYPE_OFFICE24=27;weathergen.falcon.constants.STYPE_OFFICE25=28;weathergen.falcon.constants.STYPE_OFFICE26=29;weathergen.falcon.constants.STYPE_DUST1=1;weathergen.falcon.constants.STYPE_TAXI_01=3;weathergen.falcon.constants.STYPE_R01_NPGA=12;weathergen.falcon.constants.STYPE_R01_NPGB=11;weathergen.falcon.constants.STYPE_R01_NPGC=13;weathergen.falcon.constants.STYPE_R01_PFLA=3;weathergen.falcon.constants.STYPE_R01_PGB=15;weathergen.falcon.constants.STYPE_R01_PGA=14;
weathergen.falcon.constants.STYPE_R01_PFLB=4;weathergen.falcon.constants.STYPE_STROBE_1=1;weathergen.falcon.constants.STYPE_STROBE_2=2;weathergen.falcon.constants.STYPE_HANGAR11=9;weathergen.falcon.constants.STYPE_HANGAR12=10;weathergen.falcon.constants.STYPE_WTOWER4=4;weathergen.falcon.constants.STYPE_CTRL_TOWER2=2;weathergen.falcon.constants.STYPE_EJECT1=1;weathergen.falcon.constants.STYPE_EJECT2=2;weathergen.falcon.constants.STYPE_VASI_N=1;weathergen.falcon.constants.STYPE_VASI_F=2;
weathergen.falcon.constants.STYPE_VASI_RB=3;weathergen.falcon.constants.STYPE_VASI_RF=4;weathergen.falcon.constants.STYPE_FACTORY1_SHIP=10;weathergen.falcon.constants.STYPE_TANK1=1;weathergen.falcon.constants.STYPE_PARKINGLOT1=1;weathergen.falcon.constants.STYPE_SMOKESTACK1=1;weathergen.falcon.constants.STYPE_SECONDARY1=1;weathergen.falcon.constants.STYPE_SECONDARY2=2;weathergen.falcon.constants.STYPE_PARKINGLOT2=2;weathergen.falcon.constants.STYPE_COOL_TWR1=1;
weathergen.falcon.constants.STYPE_CONT_DOME1=1;weathergen.falcon.constants.STYPE_FENCE_NUKE2=1;weathergen.falcon.constants.STYPE_GUARDHOUSE1=1;weathergen.falcon.constants.STYPE_TRANSFORMER1=1;weathergen.falcon.constants.STYPE_SHED4=4;weathergen.falcon.constants.STYPE_WAREHOUSE5=5;weathergen.falcon.constants.STYPE_RADAR9=10;weathergen.falcon.constants.STYPE_AMMO_DUMP1=1;weathergen.falcon.constants.STYPE_C01_03=2;weathergen.falcon.constants.STYPE_BRIDGE_046_2=9;
weathergen.falcon.constants.STYPE_BRIDGE4_1=11;weathergen.falcon.constants.STYPE_BRIDGE5_1=12;weathergen.falcon.constants.STYPE_BRIDGE6_1=13;weathergen.falcon.constants.STYPE_BRIDGE7_1=14;weathergen.falcon.constants.STYPE_BRIDGE_046_3=10;weathergen.falcon.constants.STYPE_BRIDGE_046_4=11;weathergen.falcon.constants.STYPE_BRIDGE_046_5=12;weathergen.falcon.constants.STYPE_UNIT_RESERVE=15;weathergen.falcon.constants.STYPE_DEBRIS=1;weathergen.falcon.constants.STYPE_LEXPLOSION1=3;
weathergen.falcon.constants.STYPE_WEXPLOSION1=1;weathergen.falcon.constants.STYPE_AEXPLOSION1=2;weathergen.falcon.constants.STYPE_AEXPLOSION2=1;weathergen.falcon.constants.STYPE_CRATER=2;weathergen.falcon.constants.STYPE_FIREBALL=3;weathergen.falcon.constants.STYPE_BRIDGE_6E6_1=17;weathergen.falcon.constants.STYPE_BRIDGE_6E4_1=18;weathergen.falcon.constants.STYPE_BRIDGE_684_1=19;weathergen.falcon.constants.STYPE_BRIDGE_686_1=20;weathergen.falcon.constants.STYPE_BRIDGE_68B_1=21;
weathergen.falcon.constants.STYPE_BRIDGE_68D_1=22;weathergen.falcon.constants.STYPE_TOWN_D37=3;weathergen.falcon.constants.STYPE_TOWN_D3B=4;weathergen.falcon.constants.STYPE_TOWN_D3D=5;weathergen.falcon.constants.STYPE_TOWN_D3E=6;weathergen.falcon.constants.STYPE_TOWN_D3F=7;weathergen.falcon.constants.STYPE_BRIDGE2_2=16;weathergen.falcon.constants.STYPE_TOWN_D47=1;weathergen.falcon.constants.STYPE_TOWN_D48=2;weathergen.falcon.constants.STYPE_BRIDGE_65B_1=23;
weathergen.falcon.constants.STYPE_BRIDGE_65D_1=24;weathergen.falcon.constants.STYPE_BRIDGE_6EB_1=25;weathergen.falcon.constants.STYPE_BRIDGE_6ED_1=26;weathergen.falcon.constants.STYPE_BRIDGE_754_1=27;weathergen.falcon.constants.STYPE_BRIDGE_044_1=28;weathergen.falcon.constants.STYPE_BRIDGE_046_1=29;weathergen.falcon.constants.STYPE_BRIDGE_04B_1=30;weathergen.falcon.constants.STYPE_BRIDGE_04D_1=31;weathergen.falcon.constants.STYPE_BRIDGE_75D_1=32;weathergen.falcon.constants.STYPE_JUNCTION1=1;
weathergen.falcon.constants.STYPE_BRIDGE_624_1=33;weathergen.falcon.constants.STYPE_BRIDGE_626_1=34;weathergen.falcon.constants.STYPE_BRIDGE_62B_1=35;weathergen.falcon.constants.STYPE_BRIDGE_62D_1=36;weathergen.falcon.constants.STYPE_BRIDGE6_2=15;weathergen.falcon.constants.STYPE_BRIDGE6_3=17;weathergen.falcon.constants.STYPE_BRIDGE3_1=18;weathergen.falcon.constants.STYPE_BRIDGE_044_2=37;weathergen.falcon.constants.STYPE_BRIDGE_044_3=38;weathergen.falcon.constants.STYPE_BRIDGE_046_6=39;
weathergen.falcon.constants.STYPE_BRIDGE_046_7=40;weathergen.falcon.constants.STYPE_BRIDGE_04B_2=41;weathergen.falcon.constants.STYPE_BRIDGE_04B_3=42;weathergen.falcon.constants.STYPE_BRIDGE_04B_4=43;weathergen.falcon.constants.STYPE_BRIDGE_04B_5=44;weathergen.falcon.constants.STYPE_BRIDGE_04B_6=45;weathergen.falcon.constants.STYPE_BRIDGE_04B_7=46;weathergen.falcon.constants.STYPE_BRIDGE_04D_2=47;weathergen.falcon.constants.STYPE_BRIDGE_04D_3=48;weathergen.falcon.constants.STYPE_BRIDGE_04D_4=49;
weathergen.falcon.constants.STYPE_BRIDGE_04D_6=50;weathergen.falcon.constants.STYPE_BRIDGE_04D_7=51;weathergen.falcon.constants.STYPE_BRIDGE_624_2=52;weathergen.falcon.constants.STYPE_BRIDGE_624_3=53;weathergen.falcon.constants.STYPE_BRIDGE_624_4=54;weathergen.falcon.constants.STYPE_BRIDGE_624_5=55;weathergen.falcon.constants.STYPE_BRIDGE_624_6=56;weathergen.falcon.constants.STYPE_BRIDGE_624_7=57;weathergen.falcon.constants.STYPE_BRIDGE_62D_2=58;weathergen.falcon.constants.STYPE_BRIDGE_62D_3=59;
weathergen.falcon.constants.STYPE_BRIDGE_62D_4=60;weathergen.falcon.constants.STYPE_BRIDGE_62D_5=61;weathergen.falcon.constants.STYPE_BRIDGE_62D_6=62;weathergen.falcon.constants.STYPE_BRIDGE_62D_7=63;weathergen.falcon.constants.STYPE_BRIDGE_626_2=64;weathergen.falcon.constants.STYPE_BRIDGE_626_3=65;weathergen.falcon.constants.STYPE_BRIDGE_626_4=66;weathergen.falcon.constants.STYPE_BRIDGE_626_5=67;weathergen.falcon.constants.STYPE_BRIDGE_626_6=68;weathergen.falcon.constants.STYPE_BRIDGE_626_7=69;
weathergen.falcon.constants.STYPE_BRIDGE_62B_2=70;weathergen.falcon.constants.STYPE_BRIDGE_62B_4=71;weathergen.falcon.constants.STYPE_BRIDGE_62B_3=72;weathergen.falcon.constants.STYPE_BRIDGE_62B_5=73;weathergen.falcon.constants.STYPE_BRIDGE_62B_6=74;weathergen.falcon.constants.STYPE_BRIDGE_62B_7=75;weathergen.falcon.constants.STYPE_BRIDGE_654_2=76;weathergen.falcon.constants.STYPE_BRIDGE_654_3=77;weathergen.falcon.constants.STYPE_BRIDGE_654_4=78;weathergen.falcon.constants.STYPE_BRIDGE_654_5=79;
weathergen.falcon.constants.STYPE_BRIDGE_654_6=80;weathergen.falcon.constants.STYPE_BRIDGE_654_7=81;weathergen.falcon.constants.STYPE_BRIDGE_656_2=82;weathergen.falcon.constants.STYPE_BRIDGE_656_3=83;weathergen.falcon.constants.STYPE_BRIDGE_656_4=84;weathergen.falcon.constants.STYPE_BRIDGE_656_5=85;weathergen.falcon.constants.STYPE_BRIDGE_656_6=86;weathergen.falcon.constants.STYPE_BRIDGE_656_7=87;weathergen.falcon.constants.STYPE_BRIDGE_65B_2=88;weathergen.falcon.constants.STYPE_BRIDGE_65B_3=89;
weathergen.falcon.constants.STYPE_J235=15;weathergen.falcon.constants.STYPE_BRIDGE_65B_4=90;weathergen.falcon.constants.STYPE_BRIDGE_65B_5=91;weathergen.falcon.constants.STYPE_BRIDGE_65B_6=92;weathergen.falcon.constants.STYPE_BRIDGE_65B_7=93;weathergen.falcon.constants.STYPE_BRIDGE_65D_2=94;weathergen.falcon.constants.STYPE_BRIDGE_65D_3=95;weathergen.falcon.constants.STYPE_BRIDGE_65D_4=96;weathergen.falcon.constants.STYPE_BRIDGE_65D_5=97;weathergen.falcon.constants.STYPE_BRIDGE_65D_6=98;
weathergen.falcon.constants.STYPE_BRIDGE_65D_7=99;weathergen.falcon.constants.STYPE_BRIDGE_684_2=100;weathergen.falcon.constants.STYPE_BRIDGE_684_3=101;weathergen.falcon.constants.STYPE_BRIDGE_684_4=103;weathergen.falcon.constants.STYPE_BRIDGE_684_6=104;weathergen.falcon.constants.STYPE_BRIDGE_686_2=102;weathergen.falcon.constants.STYPE_BRIDGE_686_3=105;weathergen.falcon.constants.STYPE_BRIDGE_686_4=106;weathergen.falcon.constants.STYPE_BRIDGE_686_5=107;
weathergen.falcon.constants.STYPE_BRIDGE_686_6=108;weathergen.falcon.constants.STYPE_BRIDGE_68B_2=110;weathergen.falcon.constants.STYPE_BRIDGE_68B_3=109;weathergen.falcon.constants.STYPE_BRIDGE_68B_4=111;weathergen.falcon.constants.STYPE_BRIDGE_68B_5=112;weathergen.falcon.constants.STYPE_BRIDGE_68B_6=113;weathergen.falcon.constants.STYPE_BRIDGE_68D_2=115;weathergen.falcon.constants.STYPE_BRIDGE_68D_3=114;weathergen.falcon.constants.STYPE_BRIDGE_68D_4=116;
weathergen.falcon.constants.STYPE_BRIDGE_68D_6=118;weathergen.falcon.constants.STYPE_BRIDGE_6E4_2=117;weathergen.falcon.constants.STYPE_BRIDGE_6E4_3=119;weathergen.falcon.constants.STYPE_BRIDGE_6E4_4=120;weathergen.falcon.constants.STYPE_BRIDGE_6E4_5=122;weathergen.falcon.constants.STYPE_BRIDGE_6E4_6=121;weathergen.falcon.constants.STYPE_BRIDGE_6E4_7=123;weathergen.falcon.constants.STYPE_BRIDGE_6E6_2=124;weathergen.falcon.constants.STYPE_BRIDGE_6E6_3=125;
weathergen.falcon.constants.STYPE_BRIDGE_6E6_4=126;weathergen.falcon.constants.STYPE_BRIDGE_6E6_6=127;weathergen.falcon.constants.STYPE_BRIDGE_6E6_5=128;weathergen.falcon.constants.STYPE_BRIDGE_6E6_7=129;weathergen.falcon.constants.STYPE_BRIDGE_6EB_2=130;weathergen.falcon.constants.STYPE_BRIDGE_6EB_3=131;weathergen.falcon.constants.STYPE_BRIDGE_6EB_4=132;weathergen.falcon.constants.STYPE_BRIDGE_6EB_5=133;weathergen.falcon.constants.STYPE_BRIDGE_6EB_6=134;
weathergen.falcon.constants.STYPE_BRIDGE_6EB_7=135;weathergen.falcon.constants.STYPE_BRIDGE_6ED_2=136;weathergen.falcon.constants.STYPE_BRIDGE_6ED_3=137;weathergen.falcon.constants.STYPE_BRIDGE_6ED_4=138;weathergen.falcon.constants.STYPE_BRIDGE_6ED_5=139;weathergen.falcon.constants.STYPE_BRIDGE_6ED_6=140;weathergen.falcon.constants.STYPE_BRIDGE_6ED_7=141;weathergen.falcon.constants.STYPE_BRIDGE_754_2=142;weathergen.falcon.constants.STYPE_BRIDGE_754_3=143;
weathergen.falcon.constants.STYPE_BRIDGE_754_4=144;weathergen.falcon.constants.STYPE_BRIDGE_754_5=145;weathergen.falcon.constants.STYPE_BRIDGE_754_6=146;weathergen.falcon.constants.STYPE_BRIDGE_754_7=147;weathergen.falcon.constants.STYPE_BRIDGE_75D_2=148;weathergen.falcon.constants.STYPE_BRIDGE_75D_3=149;weathergen.falcon.constants.STYPE_BRIDGE_75D_4=150;weathergen.falcon.constants.STYPE_BRIDGE_75D_5=151;weathergen.falcon.constants.STYPE_BRIDGE_75D_6=152;
weathergen.falcon.constants.STYPE_BRIDGE_75D_7=153;weathergen.falcon.constants.STYPE_BRIDGE1_1A=19;weathergen.falcon.constants.STYPE_BRIDGE1_2A=20;weathergen.falcon.constants.STYPE_BRIDGE1_X2=21;weathergen.falcon.constants.STYPE_BRIDGE1_X2A=22;weathergen.falcon.constants.STYPE_BRIDGE1_X3=23;weathergen.falcon.constants.STYPE_BRIDGE1_X3A=24;weathergen.falcon.constants.STYPE_BRIDGE2_1A=25;weathergen.falcon.constants.STYPE_BRIDGE2_2A=26;weathergen.falcon.constants.STYPE_BRIDGE2_3A=27;
weathergen.falcon.constants.STYPE_BRIDGE3_1A=28;weathergen.falcon.constants.STYPE_BRIDGE4_1A=29;weathergen.falcon.constants.STYPE_BRIDGE4_X2=30;weathergen.falcon.constants.STYPE_BRIDGE4_X2A=31;weathergen.falcon.constants.STYPE_BRIDGE5_1A=32;weathergen.falcon.constants.STYPE_BRIDGE6_1A=33;weathergen.falcon.constants.STYPE_BRIDGE6_X2=34;weathergen.falcon.constants.STYPE_BRIDGE6_X2A=35;weathergen.falcon.constants.STYPE_BRIDGE7_1A=36;weathergen.falcon.constants.STYPE_NSEOUL=4;
weathergen.falcon.constants.STYPE_DTSEOUL=5;weathergen.falcon.constants.STYPE_J43E=2;weathergen.falcon.constants.STYPE_J437=3;weathergen.falcon.constants.STYPE_J43B=4;weathergen.falcon.constants.STYPE_J43D=5;weathergen.falcon.constants.STYPE_F303_1=5;weathergen.falcon.constants.STYPE_PLOT_F01_04=3;weathergen.falcon.constants.STYPE_PLOT_F01_05=4;weathergen.falcon.constants.STYPE_F30E_1=6;weathergen.falcon.constants.STYPE_F66C_1=7;weathergen.falcon.constants.STYPE_F801_1=8;
weathergen.falcon.constants.STYPE_F802_1=9;weathergen.falcon.constants.STYPE_F804_1=10;weathergen.falcon.constants.STYPE_F805_1=11;weathergen.falcon.constants.STYPE_F80A_1=12;weathergen.falcon.constants.STYPE_F80B_1=13;weathergen.falcon.constants.STYPE_F80C_1=14;weathergen.falcon.constants.STYPE_FEC1_1=15;weathergen.falcon.constants.STYPE_FEC2_1=16;weathergen.falcon.constants.STYPE_FEC8_1=17;weathergen.falcon.constants.STYPE_APARTMENT7=7;weathergen.falcon.constants.STYPE_EJECT3=3;
weathergen.falcon.constants.STYPE_FIRE1=3;weathergen.falcon.constants.STYPE_EJECT4=3;weathergen.falcon.constants.STYPE_CANOPY1=1;weathergen.falcon.constants.STYPE_C01_02=1;weathergen.falcon.constants.STYPE_C01_04=4;weathergen.falcon.constants.STYPE_C01_05=5;weathergen.falcon.constants.STYPE_C01_06=6;weathergen.falcon.constants.STYPE_WAREHOUSE_CHEM=6;weathergen.falcon.constants.STYPE_OFFICE_CHEM=30;weathergen.falcon.constants.STYPE_WAREHOUSE_CHEM2=7;weathergen.falcon.constants.STYPE_TANK2=2;
weathergen.falcon.constants.STYPE_TANK3=3;weathergen.falcon.constants.STYPE_TANK4=4;weathergen.falcon.constants.STYPE_CRACKER1=1;weathergen.falcon.constants.STYPE_CRACKER2=2;weathergen.falcon.constants.STYPE_REL_VALVE1=3;weathergen.falcon.constants.STYPE_PROC_TANK1=5;weathergen.falcon.constants.STYPE_C01_10=7;weathergen.falcon.constants.STYPE_HOUSE1=12;weathergen.falcon.constants.STYPE_R02_01=2;weathergen.falcon.constants.STYPE_R02_02=3;weathergen.falcon.constants.STYPE_R02_03=4;
weathergen.falcon.constants.STYPE_R02_04=5;weathergen.falcon.constants.STYPE_R02_05=6;weathergen.falcon.constants.STYPE_R02_06=7;weathergen.falcon.constants.STYPE_R02_07=8;weathergen.falcon.constants.STYPE_R02_08=9;weathergen.falcon.constants.STYPE_R02_09=10;weathergen.falcon.constants.STYPE_R02_10=11;weathergen.falcon.constants.STYPE_R02_11=12;weathergen.falcon.constants.STYPE_R02_12=13;weathergen.falcon.constants.STYPE_R02_13=14;weathergen.falcon.constants.STYPE_F05_01=11;
weathergen.falcon.constants.STYPE_F05_02=12;weathergen.falcon.constants.STYPE_F05_03=13;weathergen.falcon.constants.STYPE_F05_04=14;weathergen.falcon.constants.STYPE_F05_05=15;weathergen.falcon.constants.STYPE_F05_06=16;weathergen.falcon.constants.STYPE_F05_07=17;weathergen.falcon.constants.STYPE_F05_08=18;weathergen.falcon.constants.STYPE_F05_09=19;weathergen.falcon.constants.STYPE_DOCK06=3;weathergen.falcon.constants.STYPE_HOTEL02=2;weathergen.falcon.constants.STYPE_HOSPITAL01=1;
weathergen.falcon.constants.STYPE_HOSPITAL02=2;weathergen.falcon.constants.STYPE_HOSPITAL03=3;weathergen.falcon.constants.STYPE_SHOPBLK01=1;weathergen.falcon.constants.STYPE_SHOPBLK02=2;weathergen.falcon.constants.STYPE_SHOPBLK03=3;weathergen.falcon.constants.STYPE_SHOPBLK04=4;weathergen.falcon.constants.STYPE_REFINERY2=2;weathergen.falcon.constants.STYPE_F05_OBJ=18;weathergen.falcon.constants.STYPE_N02_01=3;weathergen.falcon.constants.STYPE_N02_02=4;weathergen.falcon.constants.STYPE_N02_03=5;
weathergen.falcon.constants.STYPE_N02_04=6;weathergen.falcon.constants.STYPE_N02_05=7;weathergen.falcon.constants.STYPE_COOLT2=8;weathergen.falcon.constants.STYPE_R02_OBJ=3;weathergen.falcon.constants.STYPE_N03_01=9;weathergen.falcon.constants.STYPE_N03_02=10;weathergen.falcon.constants.STYPE_N03_03=11;weathergen.falcon.constants.STYPE_N03_04=12;weathergen.falcon.constants.STYPE_N03_05=13;weathergen.falcon.constants.STYPE_N03_06=14;weathergen.falcon.constants.STYPE_N03_OBJ=4;
weathergen.falcon.constants.STYPE_N04_01=15;weathergen.falcon.constants.STYPE_N04_02=16;weathergen.falcon.constants.STYPE_N04_03=17;weathergen.falcon.constants.STYPE_N04_04=18;weathergen.falcon.constants.STYPE_N04_OBJ=5;weathergen.falcon.constants.STYPE_N02_OBJ=3;weathergen.falcon.constants.STYPE_C02_01=2;weathergen.falcon.constants.STYPE_C02_02=8;weathergen.falcon.constants.STYPE_C02_03=9;weathergen.falcon.constants.STYPE_C02_04=10;weathergen.falcon.constants.STYPE_C02_05=11;
weathergen.falcon.constants.STYPE_C02_06=12;weathergen.falcon.constants.STYPE_C02_07=13;weathergen.falcon.constants.STYPE_C02_OBJ=2;weathergen.falcon.constants.STYPE_LGTNK_05=3;weathergen.falcon.constants.STYPE_LGTNK_06=4;weathergen.falcon.constants.STYPE_LGTNK_07=5;weathergen.falcon.constants.STYPE_RTWR_03=3;weathergen.falcon.constants.STYPE_RTWR_04=4;weathergen.falcon.constants.STYPE_CMTWR_01=14;weathergen.falcon.constants.STYPE_SILO_01=15;weathergen.falcon.constants.STYPE_CMTWR_02=16;
weathergen.falcon.constants.STYPE_C03_01=17;weathergen.falcon.constants.STYPE_C03_OBJ=3;weathergen.falcon.constants.STYPE_PP01_01=2;weathergen.falcon.constants.STYPE_PP02_01=3;weathergen.falcon.constants.STYPE_PP02_02=2;weathergen.falcon.constants.STYPE_PP02_03=4;weathergen.falcon.constants.STYPE_PP03_01=5;weathergen.falcon.constants.STYPE_PP03_02=6;weathergen.falcon.constants.STYPE_PP03_03=7;weathergen.falcon.constants.STYPE_PP04_01=8;weathergen.falcon.constants.STYPE_PP02_OBJ=2;
weathergen.falcon.constants.STYPE_PTWR_03=2;weathergen.falcon.constants.STYPE_PP01_04=9;weathergen.falcon.constants.STYPE_PP01_05=10;weathergen.falcon.constants.STYPE_PTWR03=3;weathergen.falcon.constants.STYPE_PP03_OBJ=3;weathergen.falcon.constants.STYPE_PTWR02=2;weathergen.falcon.constants.STYPE_PP04_OBJ=4;weathergen.falcon.constants.STYPE_F03_01=20;weathergen.falcon.constants.STYPE_F03_02=21;weathergen.falcon.constants.STYPE_F03_03=22;weathergen.falcon.constants.STYPE_F03_04=23;
weathergen.falcon.constants.STYPE_F03_05=24;weathergen.falcon.constants.STYPE_F03_OBJ=19;weathergen.falcon.constants.STYPE_R03_01=15;weathergen.falcon.constants.STYPE_R03_02=16;weathergen.falcon.constants.STYPE_R03_03=17;weathergen.falcon.constants.STYPE_R03_04=18;weathergen.falcon.constants.STYPE_R03_05=19;weathergen.falcon.constants.STYPE_R03_06=20;weathergen.falcon.constants.STYPE_R03_07=21;weathergen.falcon.constants.STYPE_R03_OBJ=3;weathergen.falcon.constants.STYPE_NUM380=2;
weathergen.falcon.constants.STYPE_NUM270=3;weathergen.falcon.constants.STYPE_TAIL_GUN=6;weathergen.falcon.constants.STYPE_ADMIN02=2;weathergen.falcon.constants.STYPE_CTR01=3;weathergen.falcon.constants.STYPE_DEPO03=1;weathergen.falcon.constants.STYPE_R02OVER=2;weathergen.falcon.constants.STYPE_TAXIS02=4;weathergen.falcon.constants.STYPE_R03_NPGC=18;weathergen.falcon.constants.STYPE_R03_PGA=17;weathergen.falcon.constants.STYPE_R03_PGB=19;weathergen.falcon.constants.STYPE_R03_PGC=20;
weathergen.falcon.constants.STYPE_TAXIS03L=5;weathergen.falcon.constants.STYPE_TAXIS03U=6;weathergen.falcon.constants.STYPE_SUNAN=6;weathergen.falcon.constants.STYPE_F02_03=25;weathergen.falcon.constants.STYPE_SEOULAFB=7;weathergen.falcon.constants.STYPE_HNGR05=11;weathergen.falcon.constants.STYPE_R04AGA=21;weathergen.falcon.constants.STYPE_R04AGB=22;weathergen.falcon.constants.STYPE_R04AGC=23;weathergen.falcon.constants.STYPE_R04BGA=24;weathergen.falcon.constants.STYPE_R04BGB=25;
weathergen.falcon.constants.STYPE_R04BGC=26;weathergen.falcon.constants.STYPE_TAXIS04=7;weathergen.falcon.constants.STYPE_LANDL=27;weathergen.falcon.constants.STYPE_GEN_AFB=8;weathergen.falcon.constants.STYPE_NUM160=1;weathergen.falcon.constants.STYPE_RV82A=28;weathergen.falcon.constants.STYPE_RV82B=29;weathergen.falcon.constants.STYPE_RV82C=30;weathergen.falcon.constants.STYPE_TAXIS05=8;weathergen.falcon.constants.STYPE_CTR03=4;weathergen.falcon.constants.STYPE_KIMPO=9;
weathergen.falcon.constants.STYPE_TAXIS06=9;weathergen.falcon.constants.STYPE_R06RGA=31;weathergen.falcon.constants.STYPE_R06RGB=32;weathergen.falcon.constants.STYPE_R06RGC=33;weathergen.falcon.constants.STYPE_R06LGA=34;weathergen.falcon.constants.STYPE_R06LGB=35;weathergen.falcon.constants.STYPE_R06LGC=36;weathergen.falcon.constants.STYPE_FLAND=37;weathergen.falcon.constants.STYPE_BLDG01=1;weathergen.falcon.constants.STYPE_BLDG02=2;weathergen.falcon.constants.STYPE_BLDG03=3;
weathergen.falcon.constants.STYPE_BLDG04=4;weathergen.falcon.constants.STYPE_BLDG05=5;weathergen.falcon.constants.STYPE_BEACH=1;weathergen.falcon.constants.STYPE_BORDER=1;weathergen.falcon.constants.STYPE_FORD=1;weathergen.falcon.constants.STYPE_HILL_TOP=1;weathergen.falcon.constants.STYPE_PASS=1;weathergen.falcon.constants.STYPE_SEA=1;weathergen.falcon.constants.STYPE_ROAD=1;weathergen.falcon.constants.STYPE_40F_9CC2=9;weathergen.falcon.constants.STYPE_80F_9CC1=10;
weathergen.falcon.constants.STYPE_ECF_TOWN=10;weathergen.falcon.constants.STYPE_EC1_TOWN=11;weathergen.falcon.constants.STYPE_D35_TOWN=12;weathergen.falcon.constants.STYPE_D3A_TOWN=13;weathergen.falcon.constants.STYPE_237_TOWN=14;weathergen.falcon.constants.STYPE_23A_TOWN=15;weathergen.falcon.constants.STYPE_23B_TOWN=16;weathergen.falcon.constants.STYPE_23D_TOWN=17;weathergen.falcon.constants.STYPE_23E_TOWN=18;weathergen.falcon.constants.STYPE_247_TOWN=19;
weathergen.falcon.constants.STYPE_248_TOWN=20;weathergen.falcon.constants.STYPE_235_TOWN=21;weathergen.falcon.constants.STYPE_A35_TOWN=22;weathergen.falcon.constants.STYPE_A37_TOWN=23;weathergen.falcon.constants.STYPE_A3A_TOWN=24;weathergen.falcon.constants.STYPE_A3B_TOWN=25;weathergen.falcon.constants.STYPE_A3D_TOWN=26;weathergen.falcon.constants.STYPE_A3E_TOWN=27;weathergen.falcon.constants.STYPE_A47_TOWN=28;weathergen.falcon.constants.STYPE_A48_TOWN=29;
weathergen.falcon.constants.STYPE_C2F_TOWN=30;weathergen.falcon.constants.STYPE_D38_TOWN=31;weathergen.falcon.constants.STYPE_SHOP7=7;weathergen.falcon.constants.STYPE_234_VILLAGE=7;weathergen.falcon.constants.STYPE_D39_VILLAGE=8;weathergen.falcon.constants.STYPE_JA3F=6;weathergen.falcon.constants.STYPE_324_VILLAGE=9;weathergen.falcon.constants.STYPE_J324=7;weathergen.falcon.constants.STYPE_40FBURB1=6;weathergen.falcon.constants.STYPE_835BURB1=7;weathergen.falcon.constants.STYPE_80FBURB1=11;
weathergen.falcon.constants.STYPE_40F_9CC1=23;weathergen.falcon.constants.STYPE_80F_9CC2=8;weathergen.falcon.constants.STYPE_J40B=8;weathergen.falcon.constants.STYPE_J435=9;weathergen.falcon.constants.STYPE_J439=10;weathergen.falcon.constants.STYPE_J444=11;weathergen.falcon.constants.STYPE_J446=12;weathergen.falcon.constants.STYPE_J83A=13;weathergen.falcon.constants.STYPE_J844=14;weathergen.falcon.constants.STYPE_23B_VILLAGE=15;weathergen.falcon.constants.STYPE_23D_VILLAGE=16;
weathergen.falcon.constants.STYPE_23E_VILLAGE=17;weathergen.falcon.constants.STYPE_435BURB1=16;weathergen.falcon.constants.STYPE_A35_VILLAGE=18;weathergen.falcon.constants.STYPE_437BURB1=19;weathergen.falcon.constants.STYPE_43BBURB1=17;weathergen.falcon.constants.STYPE_446_TOWN=32;weathergen.falcon.constants.STYPE_A37_VILLAGE=20;weathergen.falcon.constants.STYPE_A3A_VILLAGE=21;weathergen.falcon.constants.STYPE_A3B_VILLAGE=22;weathergen.falcon.constants.STYPE_A3D_VILLAGE=23;
weathergen.falcon.constants.STYPE_A3F_VILLAGE=24;weathergen.falcon.constants.STYPE_D35_VILLAGE=6;weathergen.falcon.constants.STYPE_D3A_VILLAGE=5;weathergen.falcon.constants.STYPE_D3B_VILLAGE=4;weathergen.falcon.constants.STYPE_D3E_VILLAGE=3;weathergen.falcon.constants.STYPE_D3F_VILLAGE=2;weathergen.falcon.constants.STYPE_D37_VILLAGE=1;weathergen.falcon.constants.STYPE_30F_9CC1=18;weathergen.falcon.constants.STYPE_307_TOWN=37;weathergen.falcon.constants.STYPE_83ABURB1=15;
weathergen.falcon.constants.STYPE_ECFBURB1=13;weathergen.falcon.constants.STYPE_237BURB1=14;weathergen.falcon.constants.STYPE_237_VILLAGE=13;weathergen.falcon.constants.STYPE_D38_VILLAGE=14;weathergen.falcon.constants.STYPE_C2FBURB1=15;weathergen.falcon.constants.STYPE_A3E_VILLAGE=10;weathergen.falcon.constants.STYPE_235_VILLAGE=11;weathergen.falcon.constants.STYPE_23A_VILLAGE=12;weathergen.falcon.constants.STYPE_23ABURB1=12;weathergen.falcon.constants.STYPE_307BURB1=2;
weathergen.falcon.constants.STYPE_30BBURB1=3;weathergen.falcon.constants.STYPE_30D_TOWN=33;weathergen.falcon.constants.STYPE_30DBURB1=19;weathergen.falcon.constants.STYPE_30E_TOWN=34;weathergen.falcon.constants.STYPE_30EBURB1=20;weathergen.falcon.constants.STYPE_E8B_TOWN=35;weathergen.falcon.constants.STYPE_E8BBURB1=21;weathergen.falcon.constants.STYPE_E8E_TOWN=36;weathergen.falcon.constants.STYPE_E8EBURB1=22;weathergen.falcon.constants.STYPE_30FBURB1=1;weathergen.falcon.constants.STYPE_JA35=16;
weathergen.falcon.constants.STYPE_JA37=17;weathergen.falcon.constants.STYPE_JA3A=18;weathergen.falcon.constants.STYPE_JA3B=19;weathergen.falcon.constants.STYPE_JA3D=20;weathergen.falcon.constants.STYPE_JA3E=21;weathergen.falcon.constants.STYPE_JD37=22;weathergen.falcon.constants.STYPE_JD39=23;weathergen.falcon.constants.STYPE_JD3B=24;weathergen.falcon.constants.STYPE_JD3D=25;weathergen.falcon.constants.STYPE_JD3E=26;weathergen.falcon.constants.STYPE_JEC1=27;
weathergen.falcon.constants.STYPE_EE7BURB1=25;weathergen.falcon.constants.STYPE_EE4BURB1=26;weathergen.falcon.constants.STYPE_303BURB1=27;weathergen.falcon.constants.STYPE_B27BURB1=28;weathergen.falcon.constants.STYPE_B2BBURB1=29;weathergen.falcon.constants.STYPE_B2B_TOWN=38;weathergen.falcon.constants.STYPE_B2FBURB1=30;weathergen.falcon.constants.STYPE_B2F_TOWN=39;weathergen.falcon.constants.STYPE_C27BURB1=31;weathergen.falcon.constants.STYPE_C2ABURB1=32;
weathergen.falcon.constants.STYPE_C2BBURB1=33;weathergen.falcon.constants.STYPE_E8FBURB1=34;weathergen.falcon.constants.STYPE_EC2BURB1=35;weathergen.falcon.constants.STYPE_EC5BURB1=36;weathergen.falcon.constants.STYPE_ECABURB1=37;weathergen.falcon.constants.STYPE_ECDBURB1=38;weathergen.falcon.constants.STYPE_ECEBURB1=39;weathergen.falcon.constants.STYPE_EEDBURB1=40;weathergen.falcon.constants.STYPE_EEFBURB1=41;weathergen.falcon.constants.STYPE_EED_TOWN=8;
weathergen.falcon.constants.STYPE_EEF_TOWN=9;weathergen.falcon.constants.STYPE_FLAND27=38;weathergen.falcon.constants.STYPE_AB5_THP1=34;weathergen.falcon.constants.STYPE_AB5_THP2A=35;weathergen.falcon.constants.STYPE_AB5_THP3=36;weathergen.falcon.constants.STYPE_AB5_THP4=37;weathergen.falcon.constants.STYPE_AB5_THP7=38;weathergen.falcon.constants.STYPE_AB5_TMD1=39;weathergen.falcon.constants.STYPE_AB5_TMD2=40;weathergen.falcon.constants.STYPE_AB5_TMD3=41;
weathergen.falcon.constants.STYPE_AB5_TMD4=42;weathergen.falcon.constants.STYPE_AB5_THP5=43;weathergen.falcon.constants.STYPE_AB5_THP6=44;weathergen.falcon.constants.STYPE_AB5_THP2B=45;weathergen.falcon.constants.STYPE_A52ARMB=2;weathergen.falcon.constants.STYPE_252ARMB=3;weathergen.falcon.constants.STYPE_251ARMB=4;weathergen.falcon.constants.STYPE_A51ARMB=5;weathergen.falcon.constants.STYPE_D52ARMB=6;weathergen.falcon.constants.STYPE_D51ARMB=7;weathergen.falcon.constants.STYPE_24FSAM=7;
weathergen.falcon.constants.STYPE_24ESAM=2;weathergen.falcon.constants.STYPE_CRANE1=4;weathergen.falcon.constants.STYPE_DAEWOO=5;weathergen.falcon.constants.STYPE_BUNKER3=3;weathergen.falcon.constants.STYPE_D4FSAM=3;weathergen.falcon.constants.STYPE_D4ESAM=4;weathergen.falcon.constants.STYPE_A4FSAM=5;weathergen.falcon.constants.STYPE_A4ESAM=6;weathergen.falcon.constants.STYPE_DOCK07=6;weathergen.falcon.constants.STYPE_00CPORT=3;weathergen.falcon.constants.STYPE_66DPORT=4;
weathergen.falcon.constants.STYPE_731PORT=5;weathergen.falcon.constants.STYPE_795PORT=6;weathergen.falcon.constants.STYPE_79APORT=7;weathergen.falcon.constants.STYPE_79BPORT=8;weathergen.falcon.constants.STYPE_79DPORT=9;weathergen.falcon.constants.STYPE_79EPORT=10;weathergen.falcon.constants.STYPE_7A0PORT=11;weathergen.falcon.constants.STYPE_DOCK04=7;weathergen.falcon.constants.STYPE_DOCK05=8;weathergen.falcon.constants.STYPE_7A1PORT=12;weathergen.falcon.constants.STYPE_7A2PORT=13;
weathergen.falcon.constants.STYPE_7A5PORT=14;weathergen.falcon.constants.STYPE_7A6PORT=15;weathergen.falcon.constants.STYPE_304CHEM=4;weathergen.falcon.constants.STYPE_40CCHEM=1;weathergen.falcon.constants.STYPE_80ACHEM=5;weathergen.falcon.constants.STYPE_817CHEM=6;weathergen.falcon.constants.STYPE_84DCHEM=7;weathergen.falcon.constants.STYPE_C28CHEM=8;weathergen.falcon.constants.STYPE_EC1CHEM=9;weathergen.falcon.constants.STYPE_EC2CHEM=10;weathergen.falcon.constants.STYPE_EC4CHEM=11;
weathergen.falcon.constants.STYPE_41EREFIN=4;weathergen.falcon.constants.STYPE_436REFIN=2;weathergen.falcon.constants.STYPE_807REFIN=3;weathergen.falcon.constants.STYPE_EC2REFIN=5;weathergen.falcon.constants.STYPE_ECAREFIN=6;weathergen.falcon.constants.STYPE_14DNUKE1=6;weathergen.falcon.constants.STYPE_14DNUKE2=1;weathergen.falcon.constants.STYPE_79BNUKE1=2;weathergen.falcon.constants.STYPE_805NUKE1=3;weathergen.falcon.constants.STYPE_817NUKE1=4;weathergen.falcon.constants.STYPE_84BNUKE1=5;
weathergen.falcon.constants.STYPE_D35NUKE1=7;weathergen.falcon.constants.STYPE_D3ANUKE1=8;weathergen.falcon.constants.STYPE_D3BNUKE1=9;weathergen.falcon.constants.STYPE_D3CNUKE2=10;weathergen.falcon.constants.STYPE_D5ANUKE1=11;weathergen.falcon.constants.STYPE_D5ANUKE2=12;weathergen.falcon.constants.STYPE_D89NUKE1=13;weathergen.falcon.constants.STYPE_DA7NUKE1=14;weathergen.falcon.constants.STYPE_EE1NUKE1=15;weathergen.falcon.constants.STYPE_20_02ABASE=10;
weathergen.falcon.constants.STYPE_02_20ABASE2=2;weathergen.falcon.constants.STYPE_20_02ABASE2=1;weathergen.falcon.constants.STYPE_05_23ABASE2=10;weathergen.falcon.constants.STYPE_34_16ABASE2=3;weathergen.falcon.constants.STYPE_MFLAME_S=2;weathergen.falcon.constants.STYPE_MFLAME_L=1;weathergen.falcon.constants.STYPE_01_19ABASE=4;weathergen.falcon.constants.STYPE_02_20ABASE=11;weathergen.falcon.constants.STYPE_08_26ABASE=12;weathergen.falcon.constants.STYPE_11_29ABASE=13;
weathergen.falcon.constants.STYPE_12_30ABASE=14;weathergen.falcon.constants.STYPE_20_02ABASE1=15;weathergen.falcon.constants.STYPE_21_03ABASE=16;weathergen.falcon.constants.STYPE_23_05ABASE=17;weathergen.falcon.constants.STYPE_26_08ABASE=18;weathergen.falcon.constants.STYPE_30_12ABASE=19;weathergen.falcon.constants.STYPE_32_14ABASE=20;weathergen.falcon.constants.STYPE_34_16ABASE=21;weathergen.falcon.constants.STYPE_36_18ABASE=22;weathergen.falcon.constants.STYPE_THP=10;
weathergen.falcon.constants.STYPE_THPX=11;weathergen.falcon.constants.STYPE_THA=12;weathergen.falcon.constants.STYPE_THB=13;weathergen.falcon.constants.STYPE_THC=14;weathergen.falcon.constants.STYPE_THD=15;weathergen.falcon.constants.STYPE_THE=16;weathergen.falcon.constants.STYPE_THF=17;weathergen.falcon.constants.STYPE_THG=18;weathergen.falcon.constants.STYPE_ABLTL1=19;weathergen.falcon.constants.STYPE_AB1TL2=20;weathergen.falcon.constants.STYPE_AB1TL3=21;
weathergen.falcon.constants.STYPE_AB1TL4=22;weathergen.falcon.constants.STYPE_AB1TL5=23;weathergen.falcon.constants.STYPE_AB1TL7=24;weathergen.falcon.constants.STYPE_AB1TL8=1;weathergen.falcon.constants.STYPE_AB7TMD1=25;weathergen.falcon.constants.STYPE_AB1TMD2=2;weathergen.falcon.constants.STYPE_AB1TMD3=26;weathergen.falcon.constants.STYPE_AB5TL1=27;weathergen.falcon.constants.STYPE_AB5TL2=28;weathergen.falcon.constants.STYPE_AB5TL3=29;weathergen.falcon.constants.STYPE_AB5TL4=30;
weathergen.falcon.constants.STYPE_AB5TL5=31;weathergen.falcon.constants.STYPE_AB6TMD1=32;weathergen.falcon.constants.STYPE_AB6TMD2=33;weathergen.falcon.constants.STYPE_AB6TMD3=34;weathergen.falcon.constants.STYPE_AB6TMD4=35;weathergen.falcon.constants.STYPE_AB6TL3=36;weathergen.falcon.constants.STYPE_AB6UTMD2=38;weathergen.falcon.constants.STYPE_AB6UTMD3=39;weathergen.falcon.constants.STYPE_AB6UTL2=40;weathergen.falcon.constants.STYPE_AB8TMD1=42;weathergen.falcon.constants.STYPE_AB7TMD2=43;
weathergen.falcon.constants.STYPE_AB7TMD3=41;weathergen.falcon.constants.STYPE_AB9TMD1=45;weathergen.falcon.constants.STYPE_AB9TMD2=46;weathergen.falcon.constants.STYPE_AB9TMD3=47;weathergen.falcon.constants.STYPE_AB9TMD4=57;weathergen.falcon.constants.STYPE_AB9TL1=48;weathergen.falcon.constants.STYPE_AB9TL2=49;weathergen.falcon.constants.STYPE_AB9TL4=50;weathergen.falcon.constants.STYPE_AB9TL3=51;weathergen.falcon.constants.STYPE_AB9TL6=52;weathergen.falcon.constants.STYPE_AB9TL5=7;
weathergen.falcon.constants.STYPE_R03PGD=39;weathergen.falcon.constants.STYPE_R06RGD=40;weathergen.falcon.constants.STYPE_AB5TMD1=54;weathergen.falcon.constants.STYPE_AB5TMD2=55;weathergen.falcon.constants.STYPE_AB5TMD3=56;weathergen.falcon.constants.STYPE_SUWON=23;weathergen.falcon.constants.STYPE_AB6TL1=9;weathergen.falcon.constants.STYPE_AB6UTMD1=53;weathergen.falcon.constants.STYPE_AB7TL1=37;weathergen.falcon.constants.STYPE_AB1TL1=44;weathergen.falcon.constants.STYPE_AB8TMD2=19;
weathergen.falcon.constants.STYPE_AB6UTL1=8;weathergen.falcon.constants.STYPE_AIRSTRIPH=2;weathergen.falcon.constants.STYPE_HWYTAX1=1;weathergen.falcon.constants.STYPE_231FACT=20;weathergen.falcon.constants.STYPE_232FACT=2;weathergen.falcon.constants.STYPE_238FACT=1;weathergen.falcon.constants.STYPE_305FACT=3;weathergen.falcon.constants.STYPE_322FACT=9;weathergen.falcon.constants.STYPE_324FACT=10;weathergen.falcon.constants.STYPE_328FACT=11;weathergen.falcon.constants.STYPE_403FACT=12;
weathergen.falcon.constants.STYPE_405FACT=13;weathergen.falcon.constants.STYPE_40AFACT=14;weathergen.falcon.constants.STYPE_F02_01=26;weathergen.falcon.constants.STYPE_F02_02=2;weathergen.falcon.constants.STYPE_F02_04=3;weathergen.falcon.constants.STYPE_F02_05=1;weathergen.falcon.constants.STYPE_WHSE06=8;weathergen.falcon.constants.STYPE_40CFACT=15;weathergen.falcon.constants.STYPE_417FACT=16;weathergen.falcon.constants.STYPE_418FACT=17;weathergen.falcon.constants.STYPE_41EFACT=5;
weathergen.falcon.constants.STYPE_444FACT=6;weathergen.falcon.constants.STYPE_446FACT=7;weathergen.falcon.constants.STYPE_44BFACT=8;weathergen.falcon.constants.STYPE_44DFACT=21;weathergen.falcon.constants.STYPE_79CFACT=22;weathergen.falcon.constants.STYPE_7A0FACT=23;weathergen.falcon.constants.STYPE_801FACT=24;weathergen.falcon.constants.STYPE_802FACT=25;weathergen.falcon.constants.STYPE_803FACT=26;weathergen.falcon.constants.STYPE_805FACT=27;weathergen.falcon.constants.STYPE_807FACT=28;
weathergen.falcon.constants.STYPE_80AFACT=29;weathergen.falcon.constants.STYPE_80BFACT=30;weathergen.falcon.constants.STYPE_817FACT=31;weathergen.falcon.constants.STYPE_81EFACT=32;weathergen.falcon.constants.STYPE_844FACT=33;weathergen.falcon.constants.STYPE_846FACT=34;weathergen.falcon.constants.STYPE_84BFACT=35;weathergen.falcon.constants.STYPE_84DFACT=36;weathergen.falcon.constants.STYPE_B28FACT=37;weathergen.falcon.constants.STYPE_B2CFACT=38;weathergen.falcon.constants.STYPE_C21FACT=39;
weathergen.falcon.constants.STYPE_C22FACT=40;weathergen.falcon.constants.STYPE_C23FACT=41;weathergen.falcon.constants.STYPE_C24FACT=42;weathergen.falcon.constants.STYPE_C25FACT=43;weathergen.falcon.constants.STYPE_C28FACT=44;weathergen.falcon.constants.STYPE_C2BFACT=45;weathergen.falcon.constants.STYPE_C2CFACT=46;weathergen.falcon.constants.STYPE_D35FACT=47;weathergen.falcon.constants.STYPE_D3AFACT=48;weathergen.falcon.constants.STYPE_DA8FACT=49;weathergen.falcon.constants.STYPE_E81FACT=50;
weathergen.falcon.constants.STYPE_E83FACT=51;weathergen.falcon.constants.STYPE_E8AFACT=52;weathergen.falcon.constants.STYPE_E8CFACT=53;weathergen.falcon.constants.STYPE_EC1FACT=54;weathergen.falcon.constants.STYPE_EC4FACT=55;weathergen.falcon.constants.STYPE_EC5FACT=56;weathergen.falcon.constants.STYPE_ECCFACT=57;weathergen.falcon.constants.STYPE_EE1FACT=58;weathergen.falcon.constants.STYPE_EE2FACT=60;weathergen.falcon.constants.STYPE_EE5FACT=59;weathergen.falcon.constants.STYPE_EE8FACT=61;
weathergen.falcon.constants.STYPE_21DUGFACT=62;weathergen.falcon.constants.STYPE_UGNDFACT=27;weathergen.falcon.constants.STYPE_204UGNDFACT=63;weathergen.falcon.constants.STYPE_23CUGNDFACT=64;weathergen.falcon.constants.STYPE_202UGNDFACT=65;weathergen.falcon.constants.STYPE_20FUGNDFACT=66;weathergen.falcon.constants.STYPE_21CUGNDFACT=67;weathergen.falcon.constants.STYPE_FENCE1=3;weathergen.falcon.constants.STYPE_FENCE2=4;weathergen.falcon.constants.STYPE_FENCE3=5;
weathergen.falcon.constants.STYPE_FENCE4=6;weathergen.falcon.constants.STYPE_2A6DMZ=3;weathergen.falcon.constants.STYPE_2A4DMZ=4;weathergen.falcon.constants.STYPE_2ADDMZ=2;weathergen.falcon.constants.STYPE_2ABDMZ=5;weathergen.falcon.constants.STYPE_DA8PP=5;weathergen.falcon.constants.STYPE_40CPP=6;weathergen.falcon.constants.STYPE_40APP=7;weathergen.falcon.constants.STYPE_DA7PP=8;weathergen.falcon.constants.STYPE_44BPP=9;weathergen.falcon.constants.STYPE_EE2PP=10;
weathergen.falcon.constants.STYPE_322PP=11;weathergen.falcon.constants.STYPE_235PP=12;weathergen.falcon.constants.STYPE_PP01_02=11;weathergen.falcon.constants.STYPE_PP01_03=12;weathergen.falcon.constants.STYPE_EE2NUKE1=16;weathergen.falcon.constants.STYPE_DUGNDFACT=4;weathergen.falcon.constants.STYPE_RWYDIST1=6;weathergen.falcon.constants.STYPE_RWYDIST2=5;weathergen.falcon.constants.STYPE_RWYDIST3=4;weathergen.falcon.constants.STYPE_RWYDIST4=3;weathergen.falcon.constants.STYPE_MAYDAY=1;
weathergen.falcon.constants.STYPE_KOEX=31;weathergen.falcon.constants.STYPE_ARCH=1;weathergen.falcon.constants.STYPE_KORYO=3;weathergen.falcon.constants.STYPE_STOWER=5;weathergen.falcon.constants.STYPE_RYUGYONG=4;weathergen.falcon.constants.STYPE_TANKER=1;weathergen.falcon.constants.STYPE_OLY1=2;weathergen.falcon.constants.STYPE_OLY2=3;weathergen.falcon.constants.STYPE_OLY3=4;weathergen.falcon.constants.STYPE_OLY4=5;weathergen.falcon.constants.STYPE_OLY5=6;
weathergen.falcon.constants.STYPE_STADOBJ=36;weathergen.falcon.constants.STYPE_PANMUN=37;weathergen.falcon.constants.STYPE_PMJ1=2;weathergen.falcon.constants.STYPE_PMJ2=3;weathergen.falcon.constants.STYPE_DMZSFNC=7;weathergen.falcon.constants.STYPE_40FKOEX=38;weathergen.falcon.constants.STYPE_80FSTARCH=39;weathergen.falcon.constants.STYPE_STARCH=2;weathergen.falcon.constants.STYPE_KIM2=3;weathergen.falcon.constants.STYPE_NBBRD1=8;weathergen.falcon.constants.STYPE_NBBRD2=9;
weathergen.falcon.constants.STYPE_80FKYORO=40;weathergen.falcon.constants.STYPE_CLUBBLK=5;weathergen.falcon.constants.STYPE_80FRYUGNG=41;weathergen.falcon.constants.STYPE_5F0TOWER=42;weathergen.falcon.constants.STYPE_MAYDAYOBJ=43;weathergen.falcon.constants.STYPE_D35ARMB=8;weathergen.falcon.constants.STYPE_D35DEPOT=3;weathergen.falcon.constants.STYPE_D3AARMB=9;weathergen.falcon.constants.STYPE_D3ADEPOT=10;weathergen.falcon.constants.STYPE_D3FBURB1=42;weathergen.falcon.constants.STYPE_141ARMB=11;
weathergen.falcon.constants.STYPE_D5CNUKE1=17;weathergen.falcon.constants.STYPE_D5ACHEM=12;weathergen.falcon.constants.STYPE_C2F_CITY=43;weathergen.falcon.constants.STYPE_307_CITY=44;weathergen.falcon.constants.STYPE_81E_CITY=45;weathergen.falcon.constants.STYPE_41E_CITY=46;weathergen.falcon.constants.STYPE_817_CITY=47;weathergen.falcon.constants.STYPE_137_TOWN=40;weathergen.falcon.constants.STYPE_137_VILLAGE=27;weathergen.falcon.constants.STYPE_137_JUNCT=28;
weathergen.falcon.constants.STYPE_12E_TOWN=41;weathergen.falcon.constants.STYPE_12D_TOWN=43;weathergen.falcon.constants.STYPE_138_TOWN=44;weathergen.falcon.constants.STYPE_127_TOWN=45;weathergen.falcon.constants.STYPE_12A_TOWN=46;weathergen.falcon.constants.STYPE_12B_TOWN=47;weathergen.falcon.constants.STYPE_125_TOWN=48;weathergen.falcon.constants.STYPE_12E_VILLAGE=28;weathergen.falcon.constants.STYPE_12D_VILLAGE=29;weathergen.falcon.constants.STYPE_138_VILLAGE=30;
weathergen.falcon.constants.STYPE_127_VILLAGE=31;weathergen.falcon.constants.STYPE_12A_VILLAGE=32;weathergen.falcon.constants.STYPE_12B_VILLAGE=33;weathergen.falcon.constants.STYPE_125_VILLAGE=34;weathergen.falcon.constants.STYPE_12E_JCT=29;weathergen.falcon.constants.STYPE_12D_JCT=30;weathergen.falcon.constants.STYPE_138_JCT=31;weathergen.falcon.constants.STYPE_127_JCT=32;weathergen.falcon.constants.STYPE_12A_JCT=33;weathergen.falcon.constants.STYPE_12B_JCT=34;
weathergen.falcon.constants.STYPE_125_JCT=35;weathergen.falcon.constants.STYPE_RUNWAY_NUM=41;weathergen.falcon.constants.STYPE_CSHIP1=2;weathergen.falcon.constants.STYPE_CSHIP2=5;weathergen.falcon.constants.STYPE_CSHIP3=6;weathergen.falcon.constants.STYPE_CSHIP4=7;weathergen.falcon.constants.STYPE_=4;weathergen.falcon.constants.STYPE_RWYLIT=5;weathergen.falcon.constants.STYPE_GRLINE=6;weathergen.falcon.constants.STYPE_YRLINE=7;weathergen.falcon.constants.STYPE_THR160=42;
weathergen.falcon.constants.STYPE_MNAVBEAC=8;weathergen.falcon.constants.STYPE_F16PIT=2;weathergen.falcon.constants.STYPE_F16PIT_MP=3;weathergen.falcon.constants.STYPE_B_131_1=154;weathergen.falcon.constants.STYPE_LB02=37;weathergen.falcon.constants.STYPE_B132_1=155;weathergen.falcon.constants.STYPE_B_784_1=156;weathergen.falcon.constants.STYPE_B_78B_1=157;weathergen.falcon.constants.STYPE_LB01=38;weathergen.falcon.constants.STYPE_LB03=39;weathergen.falcon.constants.STYPE_LB04=40;
weathergen.falcon.constants.STYPE_BRIDGE_131_2=158;weathergen.falcon.constants.STYPE_BRIDGE_131_3=159;weathergen.falcon.constants.STYPE_BRIDGE_131_4=160;weathergen.falcon.constants.STYPE_BRIDGE_132_2=161;weathergen.falcon.constants.STYPE_BRIDGE_132_3=162;weathergen.falcon.constants.STYPE_BRIDGE_132_4=163;weathergen.falcon.constants.STYPE_BRIDGE_242_1=164;weathergen.falcon.constants.STYPE_BRIDGE_241_1=6;weathergen.falcon.constants.STYPE_BRIDGE_241_2=5;
weathergen.falcon.constants.STYPE_BRIDGE_241__3=165;weathergen.falcon.constants.STYPE_BRIDGE_241_4=166;weathergen.falcon.constants.STYPE_BRIDGE_242_2=167;weathergen.falcon.constants.STYPE_BRIDGE_242__3=168;weathergen.falcon.constants.STYPE_BRIDGE_242_4=169;weathergen.falcon.constants.STYPE_BRIDGE_A42_1=170;weathergen.falcon.constants.STYPE_BRIDGE_A41_1=14;weathergen.falcon.constants.STYPE_BRIDGE_a41_2=13;weathergen.falcon.constants.STYPE_BRIDGE_a41__3=171;
weathergen.falcon.constants.STYPE_BRIDGE_a41_4=172;weathergen.falcon.constants.STYPE_BRIDGE_a42_2=173;weathergen.falcon.constants.STYPE_BRIDGE_A42__3=174;weathergen.falcon.constants.STYPE_BRIDGE_A42_4=175;weathergen.falcon.constants.STYPE_BRIDGE_D41_1=176;weathergen.falcon.constants.STYPE_BRIDGE_D41_2=177;weathergen.falcon.constants.STYPE_BRIDGE_D41__3=178;weathergen.falcon.constants.STYPE_BRIDGE_D41_4=179;weathergen.falcon.constants.STYPE_BRIDGE_D42_1=178;
weathergen.falcon.constants.STYPE_BRIDGE_D42_2=180;weathergen.falcon.constants.STYPE_BRIDGE_D42_4=181;weathergen.falcon.constants.STYPE_B2AC_1=182;weathergen.falcon.constants.STYPE_B2A3_1=183;weathergen.falcon.constants.STYPE_BD2A_1=184;weathergen.falcon.constants.STYPE_POPMENU=1;weathergen.falcon.constants.STYPE_R03OPGA=43;weathergen.falcon.constants.STYPE_R03OPGD=44;weathergen.falcon.constants.STYPE_OSANLIT=9;weathergen.falcon.constants.STYPE_THP27=58;weathergen.falcon.constants.STYPE_THP09=59;
weathergen.falcon.constants.STYPE_1RWYLIT=10;weathergen.falcon.constants.STYPE_2RWYLIT=11;weathergen.falcon.constants.STYPE_KIMPOLIT=12;weathergen.falcon.constants.STYPE_SEOULLIT=13;weathergen.falcon.constants.STYPE_SUNANLIT=14;weathergen.falcon.constants.STYPE_SUNANLIT2=15;weathergen.falcon.constants.STYPE_WONSANLIT=16;weathergen.falcon.constants.STYPE_THP01=60;weathergen.falcon.constants.STYPE_THP02=61;weathergen.falcon.constants.STYPE_THP02LR=62;weathergen.falcon.constants.STYPE_THP02RL=63;
weathergen.falcon.constants.STYPE_THP03=64;weathergen.falcon.constants.STYPE_THP05LR=65;weathergen.falcon.constants.STYPE_THP05RL=66;weathergen.falcon.constants.STYPE_THP08=67;weathergen.falcon.constants.STYPE_THP11=68;weathergen.falcon.constants.STYPE_THP12=69;weathergen.falcon.constants.STYPE_THP14=70;weathergen.falcon.constants.STYPE_THP14LR=71;weathergen.falcon.constants.STYPE_THP14RL=72;weathergen.falcon.constants.STYPE_THP15=73;weathergen.falcon.constants.STYPE_THP16=74;
weathergen.falcon.constants.STYPE_THP16LR=75;weathergen.falcon.constants.STYPE_THP16RL=76;weathergen.falcon.constants.STYPE_THP18=77;weathergen.falcon.constants.STYPE_THP19=78;weathergen.falcon.constants.STYPE_THP20=79;weathergen.falcon.constants.STYPE_THP20LR=80;weathergen.falcon.constants.STYPE_THP20RL=81;weathergen.falcon.constants.STYPE_THP21=82;weathergen.falcon.constants.STYPE_THP23LR=83;weathergen.falcon.constants.STYPE_THP23RL=84;weathergen.falcon.constants.STYPE_THP26=85;
weathergen.falcon.constants.STYPE_THP29=86;weathergen.falcon.constants.STYPE_THP30=87;weathergen.falcon.constants.STYPE_THP32=88;weathergen.falcon.constants.STYPE_THP32LR=89;weathergen.falcon.constants.STYPE_THP32RL=90;weathergen.falcon.constants.STYPE_THP33=91;weathergen.falcon.constants.STYPE_THP34=92;weathergen.falcon.constants.STYPE_THP34LR=93;weathergen.falcon.constants.STYPE_THP34RL=94;weathergen.falcon.constants.STYPE_THP36=95;weathergen.falcon.constants.STYPE_00CPORTLIT=17;
weathergen.falcon.constants.STYPE_MIRIM=25;weathergen.falcon.constants.STYPE_66DPORTLIT=18;weathergen.falcon.constants.STYPE_731PORTLIT=19;weathergen.falcon.constants.STYPE_795PORTLIT=20;weathergen.falcon.constants.STYPE_79APORTLIT=21;weathergen.falcon.constants.STYPE_79BPORTLIT=22;weathergen.falcon.constants.STYPE_79DPORTLIT=23;weathergen.falcon.constants.STYPE_79EPORTLIT=24;weathergen.falcon.constants.STYPE_7A0PORTLIT=25;weathergen.falcon.constants.STYPE_7A1PORTLIT=26;
weathergen.falcon.constants.STYPE_7A2PORTLIT=27;weathergen.falcon.constants.STYPE_7A5PORTLIT=28;weathergen.falcon.constants.STYPE_7A6PORTLIT=29;weathergen.falcon.constants.STYPE_C0FARMB=10;weathergen.falcon.constants.STYPE_D39ARMB=12;weathergen.falcon.constants.STYPE_142ARMB=13;weathergen.falcon.constants.STYPE_A0FARMB=14;weathergen.falcon.constants.STYPE_A35ARMB=15;weathergen.falcon.constants.STYPE_322DEPOT=4;weathergen.falcon.constants.STYPE_402DEPOT=5;
weathergen.falcon.constants.STYPE_40CDEPOT=6;weathergen.falcon.constants.STYPE_84BDEPOT=7;weathergen.falcon.constants.STYPE_ECADEPOT=8;weathergen.falcon.constants.STYPE_D31DEPOT=9;weathergen.falcon.constants.STYPE_D36DEPOT=11;weathergen.falcon.constants.STYPE_D3BDEPOT=5;weathergen.falcon.constants.STYPE_D3CDEPOT=12;weathergen.falcon.constants.STYPE_D79DEPOT=13;weathergen.falcon.constants.STYPE_125DEPOT=14;weathergen.falcon.constants.STYPE_126DEPOT=15;weathergen.falcon.constants.STYPE_12DDEPOT=16;
weathergen.falcon.constants.STYPE_A35DEPOT=17;weathergen.falcon.constants.STYPE_A3BDEPOT=18;weathergen.falcon.constants.STYPE_D35HQ=2;weathergen.falcon.constants.STYPE_D5AHQ=3;weathergen.falcon.constants.STYPE_14CHQ=4;weathergen.falcon.constants.STYPE_FEFRADAR=2;weathergen.falcon.constants.STYPE_D35RADAR=3;weathergen.falcon.constants.STYPE_D3ARADAR=4;weathergen.falcon.constants.STYPE_D48RADAR=5;weathergen.falcon.constants.STYPE_20FRADAR=6;weathergen.falcon.constants.STYPE_DEPOTONE=9;
weathergen.falcon.constants.STYPE_21BRADAR=7;weathergen.falcon.constants.STYPE_RTOWER01=6;weathergen.falcon.constants.STYPE_21CRADAR=8;weathergen.falcon.constants.STYPE_2DFRADAR=9;weathergen.falcon.constants.STYPE_F00RADAR=10;weathergen.falcon.constants.STYPE_F0FRADAR=11;weathergen.falcon.constants.STYPE_A34RADAR=12;weathergen.falcon.constants.STYPE_A3ERADAR=13;weathergen.falcon.constants.STYPE_BA2RADAR=14;weathergen.falcon.constants.STYPE_BA7RADAR=15;weathergen.falcon.constants.STYPE_BCFRADAR=16;
weathergen.falcon.constants.STYPE_DA9RADAR=17;weathergen.falcon.constants.STYPE_PYONGNUKE=18;weathergen.falcon.constants.STYPE_6CEPORT=16;weathergen.falcon.constants.STYPE_6CCPORT=17;weathergen.falcon.constants.STYPE_798PORT=18;weathergen.falcon.constants.STYPE_FUELTRUCK=1;weathergen.falcon.constants.STYPE_SM977=2;weathergen.falcon.constants.STYPE_APU=3;weathergen.falcon.constants.STYPE_WTRAILER=4;weathergen.falcon.constants.STYPE_WLOADER=5;weathergen.falcon.constants.SPTYPE_20mmAAA=2;
weathergen.falcon.constants.SPTYPE_P3=1;weathergen.falcon.constants.SPTYPE_S3=2;weathergen.falcon.constants.SPTYPE_A10=1;weathergen.falcon.constants.SPTYPE_A37B=2;weathergen.falcon.constants.SPTYPE_A6E=3;weathergen.falcon.constants.SPTYPE_AC130U=4;weathergen.falcon.constants.SPTYPE_F4G=5;weathergen.falcon.constants.SPTYPE_FB111=6;weathergen.falcon.constants.SPTYPE_HARRIER=7;weathergen.falcon.constants.SPTYPE_IL28=8;weathergen.falcon.constants.SPTYPE_MIG27=9;weathergen.falcon.constants.SPTYPE_Q5=10;
weathergen.falcon.constants.SPTYPE_SU24=11;weathergen.falcon.constants.SPTYPE_SU25=12;weathergen.falcon.constants.SPTYPE_SU7=13;weathergen.falcon.constants.SPTYPE_AH1=1;weathergen.falcon.constants.SPTYPE_AH64=2;weathergen.falcon.constants.SPTYPE_AH64D=3;weathergen.falcon.constants.SPTYPE_AH66=4;weathergen.falcon.constants.SPTYPE_KA50=5;weathergen.falcon.constants.SPTYPE_MI24=6;weathergen.falcon.constants.SPTYPE_MI28=7;weathergen.falcon.constants.SPTYPE_MI8=8;
weathergen.falcon.constants.SPTYPE_A50=1;weathergen.falcon.constants.SPTYPE_E2C=2;weathergen.falcon.constants.SPTYPE_E3=3;weathergen.falcon.constants.SPTYPE_B1B=1;weathergen.falcon.constants.SPTYPE_B2=2;weathergen.falcon.constants.SPTYPE_B52G=3;weathergen.falcon.constants.SPTYPE_TU16=4;weathergen.falcon.constants.SPTYPE_TU160=5;weathergen.falcon.constants.SPTYPE_TU22=6;weathergen.falcon.constants.SPTYPE_TU95=7;weathergen.falcon.constants.SPTYPE_EA6B=1;weathergen.falcon.constants.SPTYPE_EF111=2;
weathergen.falcon.constants.SPTYPE_F14A=2;weathergen.falcon.constants.SPTYPE_F15C=3;weathergen.falcon.constants.SPTYPE_F22=4;weathergen.falcon.constants.SPTYPE_F4E=5;weathergen.falcon.constants.SPTYPE_F5E=6;weathergen.falcon.constants.SPTYPE_J7=7;weathergen.falcon.constants.SPTYPE_J8=8;weathergen.falcon.constants.SPTYPE_MIG19=10;weathergen.falcon.constants.SPTYPE_MIG21=11;weathergen.falcon.constants.SPTYPE_MIG23MS=12;weathergen.falcon.constants.SPTYPE_MIG25=13;
weathergen.falcon.constants.SPTYPE_MIG29=14;weathergen.falcon.constants.SPTYPE_MIG31=15;weathergen.falcon.constants.SPTYPE_SU15=9;weathergen.falcon.constants.SPTYPE_SU27=1;weathergen.falcon.constants.SPTYPE_F117=1;weathergen.falcon.constants.SPTYPE_F15E=2;weathergen.falcon.constants.SPTYPE_F16C=3;weathergen.falcon.constants.SPTYPE_F18C=4;weathergen.falcon.constants.SPTYPE_J5=5;weathergen.falcon.constants.SPTYPE_E8C=1;weathergen.falcon.constants.SPTYPE_OV10D=1;
weathergen.falcon.constants.SPTYPE_RC135=2;weathergen.falcon.constants.SPTYPE_SR71=3;weathergen.falcon.constants.SPTYPE_TR1=4;weathergen.falcon.constants.SPTYPE_TR2=5;weathergen.falcon.constants.SPTYPE_U2=6;weathergen.falcon.constants.SPTYPE_MD500=1;weathergen.falcon.constants.SPTYPE_OH58D=2;weathergen.falcon.constants.SPTYPE_IL78=1;weathergen.falcon.constants.SPTYPE_KC10=2;weathergen.falcon.constants.SPTYPE_KC130R=3;weathergen.falcon.constants.SPTYPE_KC135=4;
weathergen.falcon.constants.SPTYPE_TU16N=5;weathergen.falcon.constants.SPTYPE_AN12=1;weathergen.falcon.constants.SPTYPE_AN124=2;weathergen.falcon.constants.SPTYPE_AN2=3;weathergen.falcon.constants.SPTYPE_AN225=4;weathergen.falcon.constants.SPTYPE_AN70=5;weathergen.falcon.constants.SPTYPE_AN72=6;weathergen.falcon.constants.SPTYPE_C130=7;weathergen.falcon.constants.SPTYPE_C141=8;weathergen.falcon.constants.SPTYPE_C17=9;weathergen.falcon.constants.SPTYPE_C5=10;
weathergen.falcon.constants.SPTYPE_IL76M=11;weathergen.falcon.constants.SPTYPE_MV22=12;weathergen.falcon.constants.SPTYPE_Y8=13;weathergen.falcon.constants.SPTYPE_CH46=1;weathergen.falcon.constants.SPTYPE_CH47=2;weathergen.falcon.constants.SPTYPE_CH53=3;weathergen.falcon.constants.SPTYPE_MI26=4;weathergen.falcon.constants.SPTYPE_UH1N=5;weathergen.falcon.constants.SPTYPE_UH60L=6;weathergen.falcon.constants.SPTYPE_SACRAMENTO=1;weathergen.falcon.constants.SPTYPE_FAGLST=1;
weathergen.falcon.constants.SPTYPE_120mmAP=28;weathergen.falcon.constants.SPTYPE_120mmHEAT=29;weathergen.falcon.constants.SPTYPE_105mm=1;weathergen.falcon.constants.SPTYPE_152mm=2;weathergen.falcon.constants.SPTYPE_73mm=3;weathergen.falcon.constants.SPTYPE_BOFORS=4;weathergen.falcon.constants.SPTYPE_BLU109B=1;weathergen.falcon.constants.SPTYPE_BLU27=2;weathergen.falcon.constants.SPTYPE_CBU52BB=3;weathergen.falcon.constants.SPTYPE_CBU58AB=4;weathergen.falcon.constants.SPTYPE_CBU87=5;
weathergen.falcon.constants.SPTYPE_CBU89B=6;weathergen.falcon.constants.SPTYPE_DURANDAL=7;weathergen.falcon.constants.SPTYPE_MK20ROCKEYE=8;weathergen.falcon.constants.SPTYPE_GBU10AB=1;weathergen.falcon.constants.SPTYPE_GBU12B=2;weathergen.falcon.constants.SPTYPE_GBU24B=3;weathergen.falcon.constants.SPTYPE_GPS_JSOW1=1;weathergen.falcon.constants.SPTYPE_GPS_JSOW2=2;weathergen.falcon.constants.SPTYPE_GPS_JSOW3=3;weathergen.falcon.constants.SPTYPE_GPS_JSOW4=4;
weathergen.falcon.constants.SPTYPE_GPS_JSOW5=5;weathergen.falcon.constants.SPTYPE_GPS_JDAM1=6;weathergen.falcon.constants.SPTYPE_GPS_JDAM2=7;weathergen.falcon.constants.SPTYPE_MK82=1;weathergen.falcon.constants.SPTYPE_MK82SNAKEYE=2;weathergen.falcon.constants.SPTYPE_MK84=3;weathergen.falcon.constants.SPTYPE_MK84AIR=4;weathergen.falcon.constants.SPTYPE_LOWALT=1;weathergen.falcon.constants.SPTYPE_CV67KENNEDY=1;weathergen.falcon.constants.SPTYPE_CG47=1;
weathergen.falcon.constants.SPTYPE_DECK_CLOUD1=1;weathergen.falcon.constants.SPTYPE_DEPTHCHARGE=1;weathergen.falcon.constants.SPTYPE_ALQ131=1;weathergen.falcon.constants.SPTYPE_ALLM16SQD=1;weathergen.falcon.constants.SPTYPE_ALLM4SQD=2;weathergen.falcon.constants.SPTYPE_ALLM60SQD=3;weathergen.falcon.constants.SPTYPE_CISARTSQD=4;weathergen.falcon.constants.SPTYPE_CISATMISSQD=5;weathergen.falcon.constants.SPTYPE_CISMORTSQD=6;weathergen.falcon.constants.SPTYPE_CISSAMSQD=7;
weathergen.falcon.constants.SPTYPE_DPRKARTSQD=8;weathergen.falcon.constants.SPTYPE_DPRKATMISSQD=9;weathergen.falcon.constants.SPTYPE_DPRKMORTSQD=10;weathergen.falcon.constants.SPTYPE_DPRKSAMSQD=11;weathergen.falcon.constants.SPTYPE_PRCARTSQD=12;weathergen.falcon.constants.SPTYPE_PRCATMISSQD=13;weathergen.falcon.constants.SPTYPE_PRCMORTSQD=14;weathergen.falcon.constants.SPTYPE_PRCSAMSQD=15;weathergen.falcon.constants.SPTYPE_ROKARTSQD=16;weathergen.falcon.constants.SPTYPE_ROKATMISSQD=17;
weathergen.falcon.constants.SPTYPE_ROKMORTSQD=18;weathergen.falcon.constants.SPTYPE_ROKSAMSQD=19;weathergen.falcon.constants.SPTYPE_USARTSQD=20;weathergen.falcon.constants.SPTYPE_USATMISSQD=21;weathergen.falcon.constants.SPTYPE_USMORTSQD=22;weathergen.falcon.constants.SPTYPE_USSAMSQUAD=23;weathergen.falcon.constants.SPTYPE_JANGWEI=1;weathergen.falcon.constants.SPTYPE_ULSAN=2;weathergen.falcon.constants.SPTYPE_100GAL=1;weathergen.falcon.constants.SPTYPE_300GAL=2;
weathergen.falcon.constants.SPTYPE_370GAL=3;weathergen.falcon.constants.SPTYPE_500GAL=4;weathergen.falcon.constants.SPTYPE_600GAL=5;weathergen.falcon.constants.SPTYPE_GEARDEST=1;weathergen.falcon.constants.SPTYPE_CARGOSHP=1;weathergen.falcon.constants.SPTYPE_GENTANKER=2;weathergen.falcon.constants.SPTYPE_12_7mm=1;weathergen.falcon.constants.SPTYPE_20mm=2;weathergen.falcon.constants.SPTYPE_30mm=3;weathergen.falcon.constants.SPTYPE_40mmGL=4;weathergen.falcon.constants.SPTYPE_7_62mm=5;
weathergen.falcon.constants.SPTYPE_7_62mmPKT=6;weathergen.falcon.constants.SPTYPE_76mm_3in_50cal=7;weathergen.falcon.constants.SPTYPE_GAU12U=8;weathergen.falcon.constants.SPTYPE_GAU8=9;weathergen.falcon.constants.SPTYPE_GSH23=10;weathergen.falcon.constants.SPTYPE_M16GUN=11;weathergen.falcon.constants.SPTYPE_M46130mm=12;weathergen.falcon.constants.SPTYPE_M4GUN=13;weathergen.falcon.constants.SPTYPE_M60MGUN=14;weathergen.falcon.constants.SPTYPE_MK15PHALANX=15;
weathergen.falcon.constants.SPTYPE_MK45=16;weathergen.falcon.constants.SPTYPE_MNCLRBLADE=1;weathergen.falcon.constants.SPTYPE_AA1=1;weathergen.falcon.constants.SPTYPE_AA10=2;weathergen.falcon.constants.SPTYPE_AA10C=3;weathergen.falcon.constants.SPTYPE_AA11=4;weathergen.falcon.constants.SPTYPE_AA12=5;weathergen.falcon.constants.SPTYPE_AA2=6;weathergen.falcon.constants.SPTYPE_AA2R=7;weathergen.falcon.constants.SPTYPE_AA3=8;weathergen.falcon.constants.SPTYPE_AA7=9;
weathergen.falcon.constants.SPTYPE_AA7R=10;weathergen.falcon.constants.SPTYPE_AA8=11;weathergen.falcon.constants.SPTYPE_AA9=12;weathergen.falcon.constants.SPTYPE_AIM120=13;weathergen.falcon.constants.SPTYPE_AIM54=14;weathergen.falcon.constants.SPTYPE_AIM7=15;weathergen.falcon.constants.SPTYPE_AIM9M=16;weathergen.falcon.constants.SPTYPE_AIM9P=17;weathergen.falcon.constants.SPTYPE_AIM9R=18;weathergen.falcon.constants.SPTYPE_AGM114=1;weathergen.falcon.constants.SPTYPE_AGM119=2;
weathergen.falcon.constants.SPTYPE_AGM122=3;weathergen.falcon.constants.SPTYPE_AGM45=4;weathergen.falcon.constants.SPTYPE_AGM65A=5;weathergen.falcon.constants.SPTYPE_AGM65B=6;weathergen.falcon.constants.SPTYPE_AGM65D=7;weathergen.falcon.constants.SPTYPE_AGM65G=8;weathergen.falcon.constants.SPTYPE_AGM78=9;weathergen.falcon.constants.SPTYPE_AGM84=10;weathergen.falcon.constants.SPTYPE_AGM88=11;weathergen.falcon.constants.SPTYPE_AS10=12;weathergen.falcon.constants.SPTYPE_AS11=13;
weathergen.falcon.constants.SPTYPE_AS12=14;weathergen.falcon.constants.SPTYPE_AS14=15;weathergen.falcon.constants.SPTYPE_AS15=16;weathergen.falcon.constants.SPTYPE_AS7=17;weathergen.falcon.constants.SPTYPE_AS9=18;weathergen.falcon.constants.SPTYPE_AT2=10;weathergen.falcon.constants.SPTYPE_AT6=20;weathergen.falcon.constants.SPTYPE_HELLFIRE=21;weathergen.falcon.constants.SPTYPE_AS4=1;weathergen.falcon.constants.SPTYPE_AS6=2;weathergen.falcon.constants.SPTYPE_ADATS=1;
weathergen.falcon.constants.SPTYPE_CHAPARRAL=2;weathergen.falcon.constants.SPTYPE_HAWK=3;weathergen.falcon.constants.SPTYPE_HN_5_A=4;weathergen.falcon.constants.SPTYPE_HYDRA=5;weathergen.falcon.constants.SPTYPE_MK26=6;weathergen.falcon.constants.SPTYPE_NIKE=7;weathergen.falcon.constants.SPTYPE_PATRIOT=8;weathergen.falcon.constants.SPTYPE_RAPIER=9;weathergen.falcon.constants.SPTYPE_RIM7=10;weathergen.falcon.constants.SPTYPE_SA13=12;weathergen.falcon.constants.SPTYPE_SA14=13;
weathergen.falcon.constants.SPTYPE_SA15=14;weathergen.falcon.constants.SPTYPE_SA19=15;weathergen.falcon.constants.SPTYPE_SA2=16;weathergen.falcon.constants.SPTYPE_SA3=17;weathergen.falcon.constants.SPTYPE_SA4=18;weathergen.falcon.constants.SPTYPE_SA5=19;weathergen.falcon.constants.SPTYPE_SA6=20;weathergen.falcon.constants.SPTYPE_SA7=21;weathergen.falcon.constants.SPTYPE_SA8=22;weathergen.falcon.constants.SPTYPE_SA9=23;weathergen.falcon.constants.SPTYPE_SAN5=24;
weathergen.falcon.constants.SPTYPE_STINGER=25;weathergen.falcon.constants.SPTYPE_TOWM1046=1;weathergen.falcon.constants.SPTYPE_122mmAProcket=1;weathergen.falcon.constants.SPTYPE_122mmHErocket=2;weathergen.falcon.constants.SPTYPE_240mmROCKET=3;weathergen.falcon.constants.SPTYPE_ASROC=4;weathergen.falcon.constants.SPTYPE_AT3=5;weathergen.falcon.constants.SPTYPE_AT5=6;weathergen.falcon.constants.SPTYPE_FROG7=7;weathergen.falcon.constants.SPTYPE_M47=8;weathergen.falcon.constants.SPTYPE_MINUTEMAN=9;
weathergen.falcon.constants.SPTYPE_PEACEKEEPER=11;weathergen.falcon.constants.SPTYPE_RPG_7VAT=12;weathergen.falcon.constants.SPTYPE_SCUD=13;weathergen.falcon.constants.SPTYPE_SS1=14;weathergen.falcon.constants.SPTYPE_SS18=15;weathergen.falcon.constants.SPTYPE_SS21=16;weathergen.falcon.constants.SPTYPE_SS24=17;weathergen.falcon.constants.SPTYPE_SS45=18;weathergen.falcon.constants.SPTYPE_SSN2=3;weathergen.falcon.constants.SPTYPE_160mmMORT=1;weathergen.falcon.constants.SPTYPE_60mmMORT=2;
weathergen.falcon.constants.SPTYPE_M1937MORT=3;weathergen.falcon.constants.SPTYPE_M252MORT=4;weathergen.falcon.constants.SPTYPE_LST1179=1;weathergen.falcon.constants.SPTYPE_NOTHING=1;weathergen.falcon.constants.SPTYPE_NOWEAPON=2;weathergen.falcon.constants.SPTYPE_OSA2=1;weathergen.falcon.constants.SPTYPE_WILDCAT=2;weathergen.falcon.constants.SPTYPE_PONTOONBRIDGE=1;weathergen.falcon.constants.SPTYPE_PUFFY_CLOUD1=1;weathergen.falcon.constants.SPTYPE_SINGLE=1;
weathergen.falcon.constants.SPTYPE_TRIPLE=2;weathergen.falcon.constants.SPTYPE_LAU3A=1;weathergen.falcon.constants.SPTYPE_UB3257=2;weathergen.falcon.constants.SPTYPE_VIKHR=22;weathergen.falcon.constants.SPTYPE_SMALL_CRATER1=1;weathergen.falcon.constants.SPTYPE_FIRETEAM=1;weathergen.falcon.constants.SPTYPE_DD963=1;weathergen.falcon.constants.SPTYPE_DELTA=1;weathergen.falcon.constants.SPTYPE_TRIDENT=2;weathergen.falcon.constants.SPTYPE_PTK250=9;weathergen.falcon.constants.SPTYPE_TYPHOON=3;
weathergen.falcon.constants.SPTYPE_OSCAR=1;weathergen.falcon.constants.SPTYPE_AKULA=1;weathergen.falcon.constants.SPTYPE_KILO=2;weathergen.falcon.constants.SPTYPE_LOSANGELES=3;weathergen.falcon.constants.SPTYPE_SEAWOLF=4;weathergen.falcon.constants.SPTYPE_MK32=1;weathergen.falcon.constants.SPTYPE_M167=1;weathergen.falcon.constants.SPTYPE_2A65=1;weathergen.falcon.constants.SPTYPE_M198=2;weathergen.falcon.constants.SPTYPE_M163=1;weathergen.falcon.constants.SPTYPE_P76ZSU23_4=2;
weathergen.falcon.constants.SPTYPE_ZSU57_2=4;weathergen.falcon.constants.SPTYPE_CHAPARRALL=1;weathergen.falcon.constants.SPTYPE_M2A2ADATS=2;weathergen.falcon.constants.SPTYPE_M2A2ADV=3;weathergen.falcon.constants.SPTYPE_SA13L=4;weathergen.falcon.constants.SPTYPE_SA15L_GM569=5;weathergen.falcon.constants.SPTYPE_SA2L=6;weathergen.falcon.constants.SPTYPE_SA4L=7;weathergen.falcon.constants.SPTYPE_SA6L=8;weathergen.falcon.constants.SPTYPE_M1A1=5;weathergen.falcon.constants.SPTYPE_M1A2=6;
weathergen.falcon.constants.SPTYPE_M2A2=7;weathergen.falcon.constants.SPTYPE_M2A2BC=8;weathergen.falcon.constants.SPTYPE_M48A5TNK=9;weathergen.falcon.constants.SPTYPE_M60=10;weathergen.falcon.constants.SPTYPE_PT76=13;weathergen.falcon.constants.SPTYPE_T55=14;weathergen.falcon.constants.SPTYPE_T62=15;weathergen.falcon.constants.SPTYPE_T72=16;weathergen.falcon.constants.SPTYPE_T80=17;weathergen.falcon.constants.SPTYPE_T90=18;weathergen.falcon.constants.SPTYPE_TYPE62=19;
weathergen.falcon.constants.SPTYPE_TYPE80=20;weathergen.falcon.constants.SPTYPE_TYPE85II=21;weathergen.falcon.constants.SPTYPE_TYPE90II=22;weathergen.falcon.constants.SPTYPE_XM8AGS=23;weathergen.falcon.constants.SPTYPE_2S19=1;weathergen.falcon.constants.SPTYPE_2S3=2;weathergen.falcon.constants.SPTYPE_M109=3;weathergen.falcon.constants.SPTYPE_M110A2=4;weathergen.falcon.constants.SPTYPE_M1973SPARTY=5;weathergen.falcon.constants.SPTYPE_M1974SPARTY=6;weathergen.falcon.constants.SPTYPE_MLRS=7;
weathergen.falcon.constants.SPTYPE_SM240=9;weathergen.falcon.constants.SPTYPE_AVLM=1;weathergen.falcon.constants.SPTYPE_M1MS=2;weathergen.falcon.constants.SPTYPE_M60AVLB=3;weathergen.falcon.constants.SPTYPE_M88AVRV=4;weathergen.falcon.constants.SPTYPE_M9ACE=5;weathergen.falcon.constants.SPTYPE_P76MDK_2DOZER=6;weathergen.falcon.constants.SPTYPE_P76MT_55BRGLY=7;weathergen.falcon.constants.SPTYPE_ACRV=1;weathergen.falcon.constants.SPTYPE_MTLBU=3;weathergen.falcon.constants.SPTYPE_AAV7A1=1;
weathergen.falcon.constants.SPTYPE_AAVC7A1=2;weathergen.falcon.constants.SPTYPE_BMD=3;weathergen.falcon.constants.SPTYPE_BMP1=4;weathergen.falcon.constants.SPTYPE_BMP1ATG=5;weathergen.falcon.constants.SPTYPE_BMP2=6;weathergen.falcon.constants.SPTYPE_BMP3=7;weathergen.falcon.constants.SPTYPE_M113=9;weathergen.falcon.constants.SPTYPE_M113A3=10;weathergen.falcon.constants.SPTYPE_M901=11;weathergen.falcon.constants.SPTYPE_160mmMRTL=1;weathergen.falcon.constants.SPTYPE_FROG7L_ZIL135=1;
weathergen.falcon.constants.SPTYPE_MTLB=3;weathergen.falcon.constants.SPTYPE_YW_534_APC=4;weathergen.falcon.constants.SPTYPE_BRIGADE=1;weathergen.falcon.constants.SPTYPE_CHINESE_SA6=2;weathergen.falcon.constants.SPTYPE_CHINESE_ZU23=3;weathergen.falcon.constants.SPTYPE_DPRK_SA2=4;weathergen.falcon.constants.SPTYPE_DPRK_SA3=5;weathergen.falcon.constants.SPTYPE_DPRK_SA5=6;weathergen.falcon.constants.SPTYPE_DPRK_ZSU57=7;weathergen.falcon.constants.SPTYPE_ROK_HAWK=8;
weathergen.falcon.constants.SPTYPE_30mmAAA=1;weathergen.falcon.constants.SPTYPE_203mm=6;weathergen.falcon.constants.SPTYPE_25mm=25;weathergen.falcon.constants.SPTYPE_M2A3=8;weathergen.falcon.constants.SPTYPE_HUMMVSTD=15;weathergen.falcon.constants.SPTYPE_HUMMVCARGO=14;weathergen.falcon.constants.SPTYPE_HMMWV_AMB=13;weathergen.falcon.constants.SPTYPE_ROK_NIKE=9;weathergen.falcon.constants.SPTYPE_SOVIET_SA15=10;weathergen.falcon.constants.SPTYPE_SOVIET_SA6=11;
weathergen.falcon.constants.SPTYPE_SOVIET_SA8=12;weathergen.falcon.constants.SPTYPE_US_HAWK=13;weathergen.falcon.constants.SPTYPE_US_PATRIOT=7;weathergen.falcon.constants.SPTYPE_SOVIET_AIR=1;weathergen.falcon.constants.SPTYPE_US_AIR=2;weathergen.falcon.constants.SPTYPE_DPRK_AMPH=1;weathergen.falcon.constants.SPTYPE_SOVIET_AMPH=2;weathergen.falcon.constants.SPTYPE_US_AMPH=3;weathergen.falcon.constants.SPTYPE_CHINESE_TYPE80=2;weathergen.falcon.constants.SPTYPE_CHINESE_TYPE85II=3;
weathergen.falcon.constants.SPTYPE_CHINESE_TYPE90II=4;weathergen.falcon.constants.SPTYPE_DPRK_T62=5;weathergen.falcon.constants.SPTYPE_ROK_M48=6;weathergen.falcon.constants.SPTYPE_SOVIET_T72=7;weathergen.falcon.constants.SPTYPE_SOVIET_T80=8;weathergen.falcon.constants.SPTYPE_SOVIET_T90=9;weathergen.falcon.constants.SPTYPE_US_M1=10;weathergen.falcon.constants.SPTYPE_US_M60=11;weathergen.falcon.constants.SPTYPE_US_CAV=1;weathergen.falcon.constants.SPTYPE_CHINESE_BB=1;
weathergen.falcon.constants.SPTYPE_SOVIET_BB=2;weathergen.falcon.constants.SPTYPE_US_BB=3;weathergen.falcon.constants.SPTYPE_CHINESE_CV=1;weathergen.falcon.constants.SPTYPE_SOVIET_CV=2;weathergen.falcon.constants.SPTYPE_US_CV=3;weathergen.falcon.constants.SPTYPE_CHINESE_CR=1;weathergen.falcon.constants.SPTYPE_SOVIET_CR=2;weathergen.falcon.constants.SPTYPE_US_CR=3;weathergen.falcon.constants.SPTYPE_ROK_DD=1;weathergen.falcon.constants.SPTYPE_SOVIET_DD=2;weathergen.falcon.constants.SPTYPE_US_DD=3;
weathergen.falcon.constants.SPTYPE_SOVIET_ENG=2;weathergen.falcon.constants.SPTYPE_US_ENG=1;weathergen.falcon.constants.SPTYPE_CHINESE_FF=1;weathergen.falcon.constants.SPTYPE_ROK_FF=2;weathergen.falcon.constants.SPTYPE_SOVIET_FF=3;weathergen.falcon.constants.SPTYPE_CHINESE_HQ=2;weathergen.falcon.constants.SPTYPE_DPRK_HQ=3;weathergen.falcon.constants.SPTYPE_ROK_HQ=4;weathergen.falcon.constants.SPTYPE_SOVIET_HQ=5;weathergen.falcon.constants.SPTYPE_US_HQ=1;
weathergen.falcon.constants.SPTYPE_CHINESE_INF=2;weathergen.falcon.constants.SPTYPE_DPRK_INF=3;weathergen.falcon.constants.SPTYPE_ROK_INF=4;weathergen.falcon.constants.SPTYPE_SOVIET_INF=5;weathergen.falcon.constants.SPTYPE_US_INF=1;weathergen.falcon.constants.SPTYPE_SOVIET_MARINE=2;weathergen.falcon.constants.SPTYPE_US_LAV25=1;weathergen.falcon.constants.SPTYPE_CHINESE_MECH=2;weathergen.falcon.constants.SPTYPE_DPRK_BMP1=3;weathergen.falcon.constants.SPTYPE_ROK_M113=4;
weathergen.falcon.constants.SPTYPE_SOVIET_MECH=5;weathergen.falcon.constants.SPTYPE_US_M2=1;weathergen.falcon.constants.SPTYPE_DPRK_PAT=1;weathergen.falcon.constants.SPTYPE_SOVIET_BM21=2;weathergen.falcon.constants.SPTYPE_SOVIET_BM24=3;weathergen.falcon.constants.SPTYPE_SOVIET_BM9A52=4;weathergen.falcon.constants.SPTYPE_US_MLRS=5;weathergen.falcon.constants.SPTYPE_ANY_SS=1;weathergen.falcon.constants.SPTYPE_SOVIET_SS=2;weathergen.falcon.constants.SPTYPE_US_SS=3;
weathergen.falcon.constants.SPTYPE_ANY_TANK=1;weathergen.falcon.constants.SPTYPE_SOVIET_TRAN=1;weathergen.falcon.constants.SPTYPE_US_TRAN=2;weathergen.falcon.constants.SPTYPE_CHINESE_SP=2;weathergen.falcon.constants.SPTYPE_ROK_SP=4;weathergen.falcon.constants.SPTYPE_SOVIET_SP=5;weathergen.falcon.constants.SPTYPE_US_M109=6;weathergen.falcon.constants.SPTYPE_SOVIET_FROG7=2;weathergen.falcon.constants.SPTYPE_SOVIET_SCUD=3;weathergen.falcon.constants.SPTYPE_CHINESE_SSBN=1;
weathergen.falcon.constants.SPTYPE_SOVIET_SSBN=2;weathergen.falcon.constants.SPTYPE_US_SSBN=3;weathergen.falcon.constants.SPTYPE_CHINESE_SSGN=1;weathergen.falcon.constants.SPTYPE_SOVIET_SSGN=2;weathergen.falcon.constants.SPTYPE_US_SSGN=3;weathergen.falcon.constants.SPTYPE_CHINESE_SSN=1;weathergen.falcon.constants.SPTYPE_SOVIET_SSN=2;weathergen.falcon.constants.SPTYPE_US_SSN=3;weathergen.falcon.constants.SPTYPE_SOVIET_SUP=2;weathergen.falcon.constants.SPTYPE_US_SUP=1;
weathergen.falcon.constants.SPTYPE_CHINESE_ART=2;weathergen.falcon.constants.SPTYPE_SOVIET_ART=3;weathergen.falcon.constants.SPTYPE_US_M198=1;weathergen.falcon.constants.SPTYPE_LHD1=1;weathergen.falcon.constants.SPTYPE_ZSU30=1;weathergen.falcon.constants.SPTYPE_ZU_23AAA=2;weathergen.falcon.constants.SPTYPE_2S6_TUNGUSKA=1;weathergen.falcon.constants.SPTYPE_HAWKL=2;weathergen.falcon.constants.SPTYPE_HUMMVAVG=3;weathergen.falcon.constants.SPTYPE_LAVADATS=4;weathergen.falcon.constants.SPTYPE_LAVADV=5;
weathergen.falcon.constants.SPTYPE_MK29L=6;weathergen.falcon.constants.SPTYPE_NIKEL=7;weathergen.falcon.constants.SPTYPE_PATRIOTL=8;weathergen.falcon.constants.SPTYPE_SA2R=9;weathergen.falcon.constants.SPTYPE_SA3L=10;weathergen.falcon.constants.SPTYPE_SA3R=11;weathergen.falcon.constants.SPTYPE_SA4R=12;weathergen.falcon.constants.SPTYPE_SA5L=13;weathergen.falcon.constants.SPTYPE_SA5R=14;weathergen.falcon.constants.SPTYPE_SA8L=15;weathergen.falcon.constants.SPTYPE_SA9L=16;
weathergen.falcon.constants.SPTYPE_BM21MLRS=1;weathergen.falcon.constants.SPTYPE_BM24MLRS=2;weathergen.falcon.constants.SPTYPE_BM9A52=3;weathergen.falcon.constants.SPTYPE_HUMMVTOW=16;weathergen.falcon.constants.SPTYPE_LAVR=1;weathergen.falcon.constants.SPTYPE_FIRETRUCK=1;weathergen.falcon.constants.SPTYPE_HAWKRADAR=17;weathergen.falcon.constants.SPTYPE_M997HQ=1;weathergen.falcon.constants.SPTYPE_NIKERADAR=18;weathergen.falcon.constants.SPTYPE_PATRIOTR=19;
weathergen.falcon.constants.SPTYPE_SA6RADAR=20;weathergen.falcon.constants.SPTYPE_BRDM1=1;weathergen.falcon.constants.SPTYPE_BRDM2=2;weathergen.falcon.constants.SPTYPE_BRDM3=3;weathergen.falcon.constants.SPTYPE_BTR70=4;weathergen.falcon.constants.SPTYPE_BTR80=5;weathergen.falcon.constants.SPTYPE_FAV=6;weathergen.falcon.constants.SPTYPE_LAV25=7;weathergen.falcon.constants.SPTYPE_LAVC2=8;weathergen.falcon.constants.SPTYPE_LAVM=9;weathergen.falcon.constants.SPTYPE_LAVTOW=10;
weathergen.falcon.constants.SPTYPE_M998=12;weathergen.falcon.constants.SPTYPE_CAR=2;weathergen.falcon.constants.SPTYPE_CARGOTRUCK=3;weathergen.falcon.constants.SPTYPE_FUELTRUCK=4;weathergen.falcon.constants.SPTYPE_JEEP=5;weathergen.falcon.constants.SPTYPE_KrAz255B=6;weathergen.falcon.constants.SPTYPE_KrAzFUEL=7;weathergen.falcon.constants.SPTYPE_M977=8;weathergen.falcon.constants.SPTYPE_M977_FUEL=9;weathergen.falcon.constants.SPTYPE_M977CARGO=10;weathergen.falcon.constants.SPTYPE_SCUDL=11;
weathergen.falcon.constants.SPTYPE_WC_551_APC=12;weathergen.falcon.constants.SPTYPE_120mmHE=26;weathergen.falcon.constants.SPTYPE_105mmAP=17;weathergen.falcon.constants.SPTYPE_105mmHE=18;weathergen.falcon.constants.SPTYPE_115mmAP=19;weathergen.falcon.constants.SPTYPE_115mmHE=20;weathergen.falcon.constants.SPTYPE_125mmAP=21;weathergen.falcon.constants.SPTYPE_125mmHE=22;weathergen.falcon.constants.SPTYPE_135mmAP=23;weathergen.falcon.constants.SPTYPE_135mmHE=24;
weathergen.falcon.constants.SPTYPE_155mmAAA=3;weathergen.falcon.constants.SPTYPE_155mmHE=7;weathergen.falcon.constants.SPTYPE_122mmHE=5;weathergen.falcon.constants.SPTYPE_2S1=8;weathergen.falcon.constants.SPTYPE_ZIL135=1;weathergen.falcon.constants.SPTYPE_DPRK_SP_152=1;weathergen.falcon.constants.SPTYPE_DPRK_AAA=1;weathergen.falcon.constants.SPTYPE_DPRK_SP_122=3;weathergen.falcon.constants.SPTYPE_DPRK_FROG=4;weathergen.falcon.constants.SPTYPE_TEST=1;weathergen.falcon.constants.SPTYPE_DPRK_SCUD=1;
weathergen.falcon.constants.SPTYPE_DPRK_T55=1;weathergen.falcon.constants.SPTYPE_DPRK_AIR_MOBILE=3;weathergen.falcon.constants.SPTYPE_DPRK_BM21=1;weathergen.falcon.constants.SPTYPE_2_75mm=4;weathergen.falcon.constants.SPTYPE_GBU15=4;weathergen.falcon.constants.SPTYPE_F18D=6;weathergen.falcon.constants.SPTYPE_F18A=7;weathergen.falcon.constants.SPTYPE_F18E=4;weathergen.falcon.constants.SPTYPE_AN24=14;weathergen.falcon.constants.SPTYPE_MK46=2;weathergen.falcon.constants.SPTYPE_GPU5=27;
weathergen.falcon.constants.SPTYPE_FAB250LD=6;weathergen.falcon.constants.SPTYPE_FAB250HD=7;weathergen.falcon.constants.SPTYPE_GBU28B=7;weathergen.falcon.constants.SPTYPE_FAB250LGB=5;weathergen.falcon.constants.SPTYPE_FAB1000LD=8;weathergen.falcon.constants.SPTYPE_FAB1000HD=9;weathergen.falcon.constants.SPTYPE_FAB1000LGB=6;weathergen.falcon.constants.SPTYPE_LANTIRN_NAV=1;weathergen.falcon.constants.SPTYPE_LANTIRN_TARG=2;weathergen.falcon.constants.SPTYPE_AGM130=19;
weathergen.falcon.constants.SPTYPE_AT4=2;weathergen.falcon.constants.SPTYPE_SA12=11;weathergen.falcon.constants.SPTYPE_MLRS_ROCKET=5;weathergen.falcon.constants.SPTYPE_UB1957=3;weathergen.falcon.constants.SPTYPE_RPK180=10;weathergen.falcon.constants.SPTYPE_RPK500=11;weathergen.falcon.constants.SPTYPE_AA8R=19;weathergen.falcon.constants.SPTYPE_CHAFF1=1;weathergen.falcon.constants.SPTYPE_300GALW=6;weathergen.falcon.constants.SPTYPE_57MMROCK=6;weathergen.falcon.constants.SPTYPE_DESTBOMBER=8;
weathergen.falcon.constants.SPTYPE_DISRUPTOR=20;weathergen.falcon.constants.SPTYPE_FFG=3;weathergen.falcon.constants.SPTYPE_ENFAC=3;weathergen.falcon.constants.SPTYPE_DESTF16_1=8;weathergen.falcon.constants.SPTYPE_DESTF16_2=9;weathergen.falcon.constants.SPTYPE_DESTMIG29=17;weathergen.falcon.constants.SPTYPE_KIROV=2;weathergen.falcon.constants.SPTYPE_ROK_MARINE=3;weathergen.falcon.constants.SPTYPE_ROK_AAA=14;weathergen.falcon.constants.SPTYPE_ROK_M198=4;weathergen.falcon.constants.SPTYPE_DESTASW=3;
weathergen.falcon.constants.SPTYPE_DESTATTACK=14;weathergen.falcon.constants.SPTYPE_DESTAWACS=4;weathergen.falcon.constants.SPTYPE_DESTECM=3;weathergen.falcon.constants.SPTYPE_DESTJSTAR=2;weathergen.falcon.constants.SPTYPE_DESTRECON=7;weathergen.falcon.constants.SPTYPE_DESTTANKER=6;weathergen.falcon.constants.SPTYPE_DESTTRANSPORT=15;weathergen.falcon.constants.SPTYPE_DESTATTHELO=9;weathergen.falcon.constants.SPTYPE_DESTRECHELO=3;weathergen.falcon.constants.SPTYPE_DESTTRANHELO=7;
weathergen.falcon.constants.SPTYPE_DESTMIG19=18;weathergen.falcon.constants.SPTYPE_DESTMIG21=19;weathergen.falcon.constants.SPTYPE_RIFLE=30;weathergen.falcon.constants.SPTYPE_RES_INF_SQUAD=24;weathergen.falcon.constants.SPTYPE_ALL_RESERVE=1;weathergen.falcon.constants.SPTYPE_DEBRIS1=1;weathergen.falcon.constants.SPTYPE_DEBRIS2=2;weathergen.falcon.constants.SPTYPE_DEBRIS3=3;weathergen.falcon.constants.SPTYPE_CRATER2=1;weathergen.falcon.constants.SPTYPE_CRATER3=2;
weathergen.falcon.constants.SPTYPE_CRATER4=3;weathergen.falcon.constants.SPTYPE_DESTIL28=15;weathergen.falcon.constants.SPTYPE_DESTMIG23MS=20;weathergen.falcon.constants.SPTYPE_DESTSU25=16;weathergen.falcon.constants.SPTYPE_DESTSU27=21;weathergen.falcon.constants.SPTYPE_DESTAN2=16;weathergen.falcon.constants.SPTYPE_30MM_TAIL_GUN=1;weathergen.falcon.constants.SPTYPE_DPRK_BMP2=6;weathergen.falcon.constants.SPTYPE_DPRK_TOW_ART=1;weathergen.falcon.constants.SPTYPE_D30=3;
weathergen.falcon.constants.SPTYPE_SIX=3;weathergen.falcon.constants.SPTYPE_QUAD=4;weathergen.falcon.constants.SPTYPE_GUYDIE=25;weathergen.falcon.constants.SPTYPE_DOWN_PILOT=26;weathergen.falcon.constants.SPTYPE_DPRK_FF=3;weathergen.falcon.constants.SPTYPE_ROK_PATROL=2;weathergen.falcon.constants.SPTYPE_240MM=8;weathergen.falcon.constants.SPTYPE_NUM380=1;weathergen.falcon.constants.SPTYPE_NUM270=2;weathergen.falcon.constants.SPTYPE_NUM160=3;weathergen.falcon.constants.SPTYPE_NAJIN=4;
weathergen.falcon.constants.SPTYPE_AC130=16;weathergen.falcon.constants.SPTYPE_F16BLU=14;weathergen.falcon.constants.SPTYPE_F4=15;weathergen.falcon.constants.SPTYPE_F5=16;weathergen.falcon.constants.SPTYPE_F16B=8;weathergen.falcon.constants.SPTYPE_PRC_MIG21=16;weathergen.falcon.constants.SPTYPE_CIS_MIG29=17;weathergen.falcon.constants.SPTYPE_CIS_SU27=18;weathergen.falcon.constants.SPTYPE_PRC_SU27=19;weathergen.falcon.constants.SPTYPE_57MM_HE=31;weathergen.falcon.constants.SPTYPE_SINGLE_AA=5;
weathergen.falcon.constants.SPTYPE_2RAIL=6;weathergen.falcon.constants.SPTYPE_MAVRACK=7;weathergen.falcon.constants.SPTYPE_MUH1=7;weathergen.falcon.constants.SPTYPE_CUH1=8;weathergen.falcon.constants.SPTYPE_NUM01=4;weathergen.falcon.constants.SPTYPE_RCKT1=1;weathergen.falcon.constants.SPTYPE_AA10A=21;weathergen.falcon.constants.SPTYPE_DPRK_HART=5;weathergen.falcon.constants.SPTYPE_ALL_AK47SQUAD=27;weathergen.falcon.constants.SPTYPE_AK47=32;weathergen.falcon.constants.SPTYPE_CF16A=8;
weathergen.falcon.constants.SPTYPE_BIRACK=8;weathergen.falcon.constants.SPTYPE_HBIRACK=9;weathergen.falcon.constants.SPTYPE_HTRIRACK=10;weathergen.falcon.constants.SPTYPE_HONERACK=11;weathergen.falcon.constants.SPTYPE_RTRIRACK=12;weathergen.falcon.constants.SPTYPE_ONELAU3A=1;weathergen.falcon.constants.SPTYPE_BILAU3A=2;weathergen.falcon.constants.SPTYPE_TRILAU3A=3;weathergen.falcon.constants.SPTYPE_NUM23RW=5;weathergen.falcon.constants.SPTYPE_NUM05LW=6;weathergen.falcon.constants.SPTYPE_WLOADER=2;
weathergen.falcon.constants.SPTYPE_APU=3;weathergen.falcon.constants.SPTYPE_WTRAILER=4;weathergen.falcon.constants.DTYPE_MIN=0;weathergen.falcon.constants.DTYPE_FEATURE=1;weathergen.falcon.constants.DTYPE_NONE=2;weathergen.falcon.constants.DTYPE_OBJECTIVE=3;weathergen.falcon.constants.DTYPE_UNIT=4;weathergen.falcon.constants.DTYPE_VEHICLE=5;weathergen.falcon.constants.DTYPE_WEAPON=6;weathergen.falcon.constants.DTYPE_MAX=7;weathergen.falcon.constants.NoMove=0;weathergen.falcon.constants.Foot=1;
weathergen.falcon.constants.Wheeled=2;weathergen.falcon.constants.Tracked=3;weathergen.falcon.constants.LowAir=4;weathergen.falcon.constants.Air=5;weathergen.falcon.constants.Naval=6;weathergen.falcon.constants.Rail=7;weathergen.falcon.constants.MOVEMENT_TYPES=8;weathergen.falcon.constants.VU_LAST_ENTITY_TYPE=100;weathergen.falcon.constants.PILOT_AVAILABLE=0;weathergen.falcon.constants.PILOT_KIA=1;weathergen.falcon.constants.PILOT_MIA=2;weathergen.falcon.constants.PILOT_RESCUED=3;
weathergen.falcon.constants.PILOT_IN_USE=4;weathergen.falcon.constants.NUM_CALLSIGNS=160;weathergen.falcon.constants.NUM_PILOTS=686;weathergen.falcon.constants.FIRST_PILOT_ID=2300;weathergen.falcon.constants.FIRST_CALLSIGN_ID=2E3;weathergen.falcon.constants.ATM_MAX_CYCLES=32;weathergen.falcon.constants._RSC_8_BIT_=1;weathergen.falcon.constants._RSC_16_BIT_=2;weathergen.falcon.constants._RSC_USECOLORKEY_=1073741824;weathergen.falcon.constants._RSC_SINGLE_=1;
weathergen.falcon.constants._RSC_MULTIPLE_=2;weathergen.falcon.constants._RSC_IS_IMAGE_=100;weathergen.falcon.constants._RSC_IS_SOUND_=101;weathergen.falcon.constants._RSC_IS_FLAT_=102;weathergen.falcon.constants.AMIS_NONE=0;weathergen.falcon.constants.AMIS_BARCAP=1;weathergen.falcon.constants.AMIS_BARCAP2=2;weathergen.falcon.constants.AMIS_HAVCAP=3;weathergen.falcon.constants.AMIS_TARCAP=4;weathergen.falcon.constants.AMIS_RESCAP=5;weathergen.falcon.constants.AMIS_AMBUSHCAP=6;
weathergen.falcon.constants.AMIS_SWEEP=7;weathergen.falcon.constants.AMIS_ALERT=8;weathergen.falcon.constants.AMIS_INTERCEPT=9;weathergen.falcon.constants.AMIS_ESCORT=10;weathergen.falcon.constants.AMIS_SEADSTRIKE=11;weathergen.falcon.constants.AMIS_SEADESCORT=12;weathergen.falcon.constants.AMIS_OCASTRIKE=13;weathergen.falcon.constants.AMIS_INTSTRIKE=14;weathergen.falcon.constants.AMIS_STRIKE=15;weathergen.falcon.constants.AMIS_DEEPSTRIKE=16;weathergen.falcon.constants.AMIS_STSTRIKE=17;
weathergen.falcon.constants.AMIS_STRATBOMB=18;weathergen.falcon.constants.AMIS_FAC=19;weathergen.falcon.constants.AMIS_ONCALLCAS=20;weathergen.falcon.constants.AMIS_PRPLANCAS=21;weathergen.falcon.constants.AMIS_CAS=22;weathergen.falcon.constants.AMIS_SAD=23;weathergen.falcon.constants.AMIS_INT=24;weathergen.falcon.constants.AMIS_BAI=25;weathergen.falcon.constants.AMIS_AWACS=26;weathergen.falcon.constants.AMIS_JSTAR=27;weathergen.falcon.constants.AMIS_TANKER=28;
weathergen.falcon.constants.AMIS_RECON=29;weathergen.falcon.constants.AMIS_BDA=30;weathergen.falcon.constants.AMIS_ECM=31;weathergen.falcon.constants.AMIS_AIRCAV=32;weathergen.falcon.constants.AMIS_AIRLIFT=33;weathergen.falcon.constants.AMIS_SAR=34;weathergen.falcon.constants.AMIS_ASW=35;weathergen.falcon.constants.AMIS_ASHIP=36;weathergen.falcon.constants.AMIS_PATROL=37;weathergen.falcon.constants.AMIS_RECONPATROL=38;weathergen.falcon.constants.AMIS_ABORT=39;
weathergen.falcon.constants.AMIS_TRAINING=40;weathergen.falcon.constants.AMIS_OTHER=41;weathergen.falcon.constants.ARO_CA=1;weathergen.falcon.constants.ARO_TACTRANS=2;weathergen.falcon.constants.ARO_S=3;weathergen.falcon.constants.ARO_GA=4;weathergen.falcon.constants.ARO_SB=5;weathergen.falcon.constants.ARO_ECM=6;weathergen.falcon.constants.ARO_SEAD=7;weathergen.falcon.constants.ARO_ASW=8;weathergen.falcon.constants.ARO_ASHIP=9;weathergen.falcon.constants.ARO_REC=10;
weathergen.falcon.constants.ARO_TRANS=11;weathergen.falcon.constants.ARO_ELINT=12;weathergen.falcon.constants.ARO_AWACS=12;weathergen.falcon.constants.ARO_JSTAR=13;weathergen.falcon.constants.ARO_TANK=14;weathergen.falcon.constants.ARO_FAC=15;weathergen.falcon.constants.ARO_OTHER=16;weathergen.falcon.constants.AMIS_TAR_NONE=0;weathergen.falcon.constants.AMIS_TAR_OBJECTIVE=1;weathergen.falcon.constants.AMIS_TAR_UNIT=2;weathergen.falcon.constants.AMIS_TAR_LOCATION=3;
weathergen.falcon.constants.AMIS_ESC_ALWAYS=99;weathergen.falcon.constants.AMIS_ESC_NONE=98;weathergen.falcon.constants.TANKER_NONE=0;weathergen.falcon.constants.TANKER_HALF=1;weathergen.falcon.constants.TANKER_FULL=2;weathergen.falcon.constants.TANKER_ALWAYS=3;weathergen.falcon.constants.AMIS_ADDAWACS=1;weathergen.falcon.constants.AMIS_ADDJSTAR=2;weathergen.falcon.constants.AMIS_ADDECM=4;weathergen.falcon.constants.AMIS_ADDBDA=8;weathergen.falcon.constants.AMIS_ADDESCORT=16;
weathergen.falcon.constants.AMIS_ADDSEAD=32;weathergen.falcon.constants.AMIS_ADDBARCAP=64;weathergen.falcon.constants.AMIS_ADDSWEEP=128;weathergen.falcon.constants.AMIS_ADDOCASTRIKE=256;weathergen.falcon.constants.AMIS_ADDTANKER=512;weathergen.falcon.constants.AMIS_NEEDTANKER=1024;weathergen.falcon.constants.AMIS_ADDFAC=2048;weathergen.falcon.constants.AMIS_ADDINTERCEPT=4096;weathergen.falcon.constants.AMIS_NOTHREAT=8192;weathergen.falcon.constants.AMIS_AVOIDTHREAT=16384;
weathergen.falcon.constants.AMIS_HIGHTHREAT=32768;weathergen.falcon.constants.AMIS_IMMEDIATE=65536;weathergen.falcon.constants.AMIS_MATCHSPEED=131072;weathergen.falcon.constants.AMIS_TARGET_ONLY=262144;weathergen.falcon.constants.AMIS_NO_BREAKPT=524288;weathergen.falcon.constants.AMIS_DONT_COORD=1048576;weathergen.falcon.constants.AMIS_AIR_LAUNCH_OK=2097152;weathergen.falcon.constants.AMIS_DONT_USE_AC=4194304;weathergen.falcon.constants.AMIS_NPC_ONLY=8388608;
weathergen.falcon.constants.AMIS_FUDGE_RANGE=16777216;weathergen.falcon.constants.AMIS_EXPECT_DIVERT=33554432;weathergen.falcon.constants.AMIS_ASSIGNED_TAR=67108864;weathergen.falcon.constants.AMIS_NO_DIST_BONUS=134217728;weathergen.falcon.constants.AMIS_NO_TARGETABORT=268435456;weathergen.falcon.constants.AMIS_FLYALWAYS=536870912;weathergen.falcon.constants.AMIS_HELP_REQUEST=1073741824;weathergen.falcon.constants.REQF_USERESERVES=1;weathergen.falcon.constants.REQF_CHECKED=2;
weathergen.falcon.constants.REQF_NEEDRESPONSE=4;weathergen.falcon.constants.REQF_MET=8;weathergen.falcon.constants.REQF_ONETRY=256;weathergen.falcon.constants.REQF_USE_REQ_SQUAD=512;weathergen.falcon.constants.REQF_PART_OF_ACTION=1024;weathergen.falcon.constants.REQF_ALLOW_ERRORS=2048;weathergen.falcon.constants.REQF_TE_MISSION=4096;weathergen.falcon.constants.NEED_SEAD=1;weathergen.falcon.constants.NEED_ECM=2;weathergen.falcon.constants.THREAT_LALT_SAM=16;
weathergen.falcon.constants.THREAT_HALT_SAM=32;weathergen.falcon.constants.THREAT_AAA=64;weathergen.falcon.constants.THREAT_ENROUTE=256;weathergen.falcon.constants.THREAT_TARGET=512;weathergen.falcon.constants.MPROF_LOW=1;weathergen.falcon.constants.MPROF_HIGH=2;weathergen.falcon.constants.TPROF_NONE=0;weathergen.falcon.constants.TPROF_ATTACK=1;weathergen.falcon.constants.TPROF_HPATTACK=2;weathergen.falcon.constants.TPROF_LOITER=3;weathergen.falcon.constants.TPROF_TARGET=4;
weathergen.falcon.constants.TPROF_AVOID=5;weathergen.falcon.constants.TPROF_SWEEP=6;weathergen.falcon.constants.TPROF_FLYBY=7;weathergen.falcon.constants.TPROF_SEARCH=8;weathergen.falcon.constants.TPROF_LAND=9;weathergen.falcon.constants.TDESC_NONE=0;weathergen.falcon.constants.TDESC_TTL=1;weathergen.falcon.constants.TDESC_ATA=2;weathergen.falcon.constants.TDESC_TAO=3;weathergen.falcon.constants.TOT_TAKEOFF=10;weathergen.falcon.constants.TOT_ENROUTE=11;weathergen.falcon.constants.TOT_INGRESS=12;
weathergen.falcon.constants.noContext=0;weathergen.falcon.constants.enemyUnitAdvanceBridge=1;weathergen.falcon.constants.enemyUnitMoveBridge=2;weathergen.falcon.constants.enemyUnitAdvance=3;weathergen.falcon.constants.enemyUnitMove=4;weathergen.falcon.constants.enemyUnitAttacking=5;weathergen.falcon.constants.enemyUnitDefending=6;weathergen.falcon.constants.enemyForcesPresent=7;weathergen.falcon.constants.attackEnemyUnit=8;weathergen.falcon.constants.emptyUnit1=9;
weathergen.falcon.constants.emptyUnit2=10;weathergen.falcon.constants.friendlyUnitAirborneMovement=11;weathergen.falcon.constants.emptyUnit5=12;weathergen.falcon.constants.emptyUnit6=13;weathergen.falcon.constants.enemyStrikesExpected=14;weathergen.falcon.constants.enemyAircraftPresent=15;weathergen.falcon.constants.enemyGroundForcesPresent=16;weathergen.falcon.constants.enemyRadarPresent=17;weathergen.falcon.constants.enemySupportAircraftPresent=18;
weathergen.falcon.constants.enemyCASAircraftPresent=19;weathergen.falcon.constants.interceptEnemyAircraft=20;weathergen.falcon.constants.emptyEnemyAir1=21;weathergen.falcon.constants.hostileAircraftPresent=22;weathergen.falcon.constants.emptyHostileAir1=23;weathergen.falcon.constants.friendlyRescueExpected=24;weathergen.falcon.constants.friendlyCASExpected=25;weathergen.falcon.constants.friendlyAssetsExpected=26;weathergen.falcon.constants.friendlyAssetsRefueling=27;
weathergen.falcon.constants.emptyFriendly1=28;weathergen.falcon.constants.emptyFriendly2=29;weathergen.falcon.constants.enemySupplyInterdictionBridge=30;weathergen.falcon.constants.enemySupplyInterdictionPort=31;weathergen.falcon.constants.enemySupplyInterdictionDepot=32;weathergen.falcon.constants.enemySupplyInterdictionZone=33;weathergen.falcon.constants.emptySupply1=34;weathergen.falcon.constants.enemyProductionSource=35;weathergen.falcon.constants.enemyFuelSource=36;
weathergen.falcon.constants.enemyEnergySource=37;weathergen.falcon.constants.enemyCommand=38;weathergen.falcon.constants.enemyAirDefense=39;weathergen.falcon.constants.enemyAirPowerAirbase=40;weathergen.falcon.constants.enemyAirPowerRadar=41;weathergen.falcon.constants.emptyObj1=42;weathergen.falcon.constants.emptyObj2=43;weathergen.falcon.constants.friendlyAWACSNeeded=44;weathergen.falcon.constants.friendlySuppliesIncomingAir=45;weathergen.falcon.constants.friendlySuppliesIncomingNaval=46;
weathergen.falcon.constants.friendlySuppliesIncomingGround=47;weathergen.falcon.constants.friendlySuppliesIncomingRail=48;weathergen.falcon.constants.targetReconNeeded=49;weathergen.falcon.constants.emptyx=50;weathergen.falcon.constants.emptyy=51;weathergen.falcon.constants.AirActionPrepAD=52;weathergen.falcon.constants.AirActionPrepAB=53;weathergen.falcon.constants.AirActionPrepAir=54;weathergen.falcon.constants.AirActionDCA=55;weathergen.falcon.constants.AirActionOCA=56;
weathergen.falcon.constants.AirActionInterdiction=57;weathergen.falcon.constants.AirActionAttrition=58;weathergen.falcon.constants.AirActionCAS=59;weathergen.falcon.constants.emptyAction1=60;weathergen.falcon.constants.enemyNavalForceActive=61;weathergen.falcon.constants.enemyNavalForceStatic=62;weathergen.falcon.constants.enemyNavalForceUnloading=63;weathergen.falcon.constants.otherContext=64;
weathergen.falcon.constants.TeamColorList=new cljs.core.PersistentVector(null,8,5,cljs.core.PersistentVector.EMPTY_NODE,"CAMP_TEAM_WHITE CAMP_TEAM_GREEN CAMP_TEAM_BLUE CAMP_TEAM_BROWN CAMP_TEAM_ORANGE CAMP_TEAM_YELLOW CAMP_TEAM_RED CAMP_TEAM_GREY".split(" "),null);weathergen.falcon.constants.OOB_FLAGS_USA=52E3;weathergen.falcon.constants.OOB_FLAGS_NKOREA=52001;weathergen.falcon.constants.OOB_FLAGS_CHINA=52002;weathergen.falcon.constants.OOB_FLAGS_CIS=52003;
weathergen.falcon.constants.OOB_FLAGS_SKOREA=52004;weathergen.falcon.constants.OOB_FLAGS_JAPAN=52005;weathergen.falcon.constants.OOB_FLAGS_USA_DRK=52006;weathergen.falcon.constants.OOB_FLAGS_NKOREA_DRK=52007;weathergen.falcon.constants.OOB_FLAGS_CHINA_DRK=52008;weathergen.falcon.constants.OOB_FLAGS_CIS_DRK=52009;weathergen.falcon.constants.OOB_FLAGS_SKOREA_DRK=52010;weathergen.falcon.constants.OOB_FLAGS_JAPAN_DRK=52011;weathergen.falcon.constants.SMFLGS_USA=52012;
weathergen.falcon.constants.SMFLGS_SKOREA=52013;weathergen.falcon.constants.SMFLGS_JAPAN=52014;weathergen.falcon.constants.SMFLGS_CIS=52015;weathergen.falcon.constants.SMFLGS_CHINA=52016;weathergen.falcon.constants.SMFLGS_NKOREA=52017;weathergen.falcon.constants.SMFLGS_GERMAN=52018;weathergen.falcon.constants.SMFLGS_FRANCE=52019;weathergen.falcon.constants.OOB_FLAGS_SWISS=52020;weathergen.falcon.constants.OOB_FLAGS_SWISS_HRZ=52021;weathergen.falcon.constants.OOB_FLAGS_BELGIUM_HRZ=52022;
weathergen.falcon.constants.OOB_FLAGS_BELGIUM=52023;weathergen.falcon.constants.OOB_FLAGS_BELGIUM_DRK=52024;weathergen.falcon.constants.OOB_FLAGS_BAHRAIN_HRZ=52025;weathergen.falcon.constants.OOB_FLAGS_BAHRAIN_DRK=52026;weathergen.falcon.constants.OOB_FLAGS_BRAZIL_HRZ=52027;weathergen.falcon.constants.OOB_FLAGS_BRAZIL=52028;weathergen.falcon.constants.OOB_FLAGS_BRAZIL_DRK=52029;weathergen.falcon.constants.SMFLGS_SWISS=52030;weathergen.falcon.constants.SMFLGS_BAHRAIN=52031;
weathergen.falcon.constants.OOB_FLAGS_GERMAN=52032;weathergen.falcon.constants.SMFLGS_BELGIUM=52033;weathergen.falcon.constants.SMFLGS_BRAZIL=52034;weathergen.falcon.constants.OOB_FLAGS_SWISS_DRK=52035;weathergen.falcon.constants.OOB_FLAGS_BAHRAIN=52036;weathergen.falcon.constants.OOB_FLAGS_GERMAN_DRK=52037;weathergen.falcon.constants.OOB_FLAGS_GERMAN_HRZ=52038;weathergen.falcon.constants.OOB_FLAGS_FRANCE_DRK=52039;weathergen.falcon.constants.OOB_FLAGS_FRANCE_HRZ=52040;
weathergen.falcon.constants.OOB_FLAGS_FRANCE=52041;weathergen.falcon.constants.OOB_FLAGS_USA_HRZ=52046;weathergen.falcon.constants.OOB_FLAGS_NKOREA_HRZ=52047;weathergen.falcon.constants.OOB_FLAGS_CHINA_HRZ=52048;weathergen.falcon.constants.OOB_FLAGS_CIS_HRZ=52049;weathergen.falcon.constants.OOB_FLAGS_SKOREA_HRZ=52050;weathergen.falcon.constants.OOB_FLAGS_JAPAN_HRZ=52051;
weathergen.falcon.constants.FlagImageID=new cljs.core.PersistentVector(null,8,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.PersistentArrayMap(null,4,[new cljs.core.Keyword(null,"big-vert-dark","big-vert-dark",1527566886),weathergen.falcon.constants.OOB_FLAGS_SWISS_DRK,new cljs.core.Keyword(null,"big-vert","big-vert",-1944398663),weathergen.falcon.constants.OOB_FLAGS_SWISS,new cljs.core.Keyword(null,"big-horiz","big-horiz",1553227279),weathergen.falcon.constants.OOB_FLAGS_SWISS_HRZ,new cljs.core.Keyword(null,
"small-horiz","small-horiz",-223646297),weathergen.falcon.constants.SMFLGS_SWISS],null),new cljs.core.PersistentArrayMap(null,4,[new cljs.core.Keyword(null,"big-vert-dark","big-vert-dark",1527566886),weathergen.falcon.constants.OOB_FLAGS_USA_DRK,new cljs.core.Keyword(null,"big-vert","big-vert",-1944398663),weathergen.falcon.constants.OOB_FLAGS_USA,new cljs.core.Keyword(null,"big-horiz","big-horiz",1553227279),weathergen.falcon.constants.OOB_FLAGS_USA_HRZ,new cljs.core.Keyword(null,"small-horiz","small-horiz",
-223646297),weathergen.falcon.constants.SMFLGS_USA],null),new cljs.core.PersistentArrayMap(null,4,[new cljs.core.Keyword(null,"big-vert-dark","big-vert-dark",1527566886),weathergen.falcon.constants.OOB_FLAGS_SKOREA_DRK,new cljs.core.Keyword(null,"big-vert","big-vert",-1944398663),weathergen.falcon.constants.OOB_FLAGS_SKOREA,new cljs.core.Keyword(null,"big-horiz","big-horiz",1553227279),weathergen.falcon.constants.OOB_FLAGS_SKOREA_HRZ,new cljs.core.Keyword(null,"small-horiz","small-horiz",-223646297),
weathergen.falcon.constants.SMFLGS_SKOREA],null),new cljs.core.PersistentArrayMap(null,4,[new cljs.core.Keyword(null,"big-vert-dark","big-vert-dark",1527566886),weathergen.falcon.constants.OOB_FLAGS_JAPAN_DRK,new cljs.core.Keyword(null,"big-vert","big-vert",-1944398663),weathergen.falcon.constants.OOB_FLAGS_JAPAN,new cljs.core.Keyword(null,"big-horiz","big-horiz",1553227279),weathergen.falcon.constants.OOB_FLAGS_JAPAN_HRZ,new cljs.core.Keyword(null,"small-horiz","small-horiz",-223646297),weathergen.falcon.constants.SMFLGS_JAPAN],
null),new cljs.core.PersistentArrayMap(null,4,[new cljs.core.Keyword(null,"big-vert-dark","big-vert-dark",1527566886),weathergen.falcon.constants.OOB_FLAGS_CIS_DRK,new cljs.core.Keyword(null,"big-vert","big-vert",-1944398663),weathergen.falcon.constants.OOB_FLAGS_CIS,new cljs.core.Keyword(null,"big-horiz","big-horiz",1553227279),weathergen.falcon.constants.OOB_FLAGS_CIS_HRZ,new cljs.core.Keyword(null,"small-horiz","small-horiz",-223646297),weathergen.falcon.constants.SMFLGS_CIS],null),new cljs.core.PersistentArrayMap(null,
4,[new cljs.core.Keyword(null,"big-vert-dark","big-vert-dark",1527566886),weathergen.falcon.constants.OOB_FLAGS_CHINA_DRK,new cljs.core.Keyword(null,"big-vert","big-vert",-1944398663),weathergen.falcon.constants.OOB_FLAGS_CHINA,new cljs.core.Keyword(null,"big-horiz","big-horiz",1553227279),weathergen.falcon.constants.OOB_FLAGS_CHINA_HRZ,new cljs.core.Keyword(null,"small-horiz","small-horiz",-223646297),weathergen.falcon.constants.SMFLGS_CHINA],null),new cljs.core.PersistentArrayMap(null,4,[new cljs.core.Keyword(null,
"big-vert-dark","big-vert-dark",1527566886),weathergen.falcon.constants.OOB_FLAGS_NKOREA_DRK,new cljs.core.Keyword(null,"big-vert","big-vert",-1944398663),weathergen.falcon.constants.OOB_FLAGS_NKOREA,new cljs.core.Keyword(null,"big-horiz","big-horiz",1553227279),weathergen.falcon.constants.OOB_FLAGS_NKOREA_HRZ,new cljs.core.Keyword(null,"small-horiz","small-horiz",-223646297),weathergen.falcon.constants.SMFLGS_NKOREA],null),new cljs.core.PersistentArrayMap(null,4,[new cljs.core.Keyword(null,"big-vert-dark",
"big-vert-dark",1527566886),weathergen.falcon.constants.OOB_FLAGS_GERMAN_DRK,new cljs.core.Keyword(null,"big-vert","big-vert",-1944398663),weathergen.falcon.constants.OOB_FLAGS_GERMAN,new cljs.core.Keyword(null,"big-horiz","big-horiz",1553227279),weathergen.falcon.constants.OOB_FLAGS_GERMAN_HRZ,new cljs.core.Keyword(null,"small-horiz","small-horiz",-223646297),weathergen.falcon.constants.SMFLGS_GERMAN],null)],null);weathergen.falcon.constants.BLUE_TEAM_ICONS=56512E4;
weathergen.falcon.constants.BLUE_TEAM_ICONS_W=565120001;weathergen.falcon.constants.BROWN_TEAM_ICONS=565120002;weathergen.falcon.constants.BROWN_TEAM_ICONS_W=565120003;weathergen.falcon.constants.GREEN_TEAM_ICONS=565120004;weathergen.falcon.constants.GREEN_TEAM_ICONS_W=565120005;weathergen.falcon.constants.GREY_TEAM_ICONS=565120006;weathergen.falcon.constants.GREY_TEAM_ICONS_W=565120007;weathergen.falcon.constants.ORANGE_TEAM_ICONS=565120008;weathergen.falcon.constants.ORANGE_TEAM_ICONS_W=565120009;
weathergen.falcon.constants.RED_TEAM_ICONS=565120010;weathergen.falcon.constants.RED_TEAM_ICONS_W=565120011;weathergen.falcon.constants.WHITE_TEAM_ICONS=565120012;weathergen.falcon.constants.WHITE_TEAM_ICONS_W=565120013;weathergen.falcon.constants.YELLOW_TEAM_ICONS=565120014;weathergen.falcon.constants.YELLOW_TEAM_ICONS_W=565120015;weathergen.falcon.constants.BLUE_AIR_EAST=565121E3;weathergen.falcon.constants.BLUE_AIR_EAST_W=565121001;weathergen.falcon.constants.BLUE_AIR_NE=565121002;
weathergen.falcon.constants.BLUE_AIR_NE_W=565121003;weathergen.falcon.constants.BLUE_AIR_NORTH=565121004;weathergen.falcon.constants.BLUE_AIR_NORTH_W=565121005;weathergen.falcon.constants.BLUE_AIR_NW=565121006;weathergen.falcon.constants.BLUE_AIR_NW_W=565121007;weathergen.falcon.constants.BLUE_AIR_SE=565121008;weathergen.falcon.constants.BLUE_AIR_SE_W=565121009;weathergen.falcon.constants.BLUE_AIR_SOUTH=565121010;weathergen.falcon.constants.BLUE_AIR_SOUTH_W=565121011;
weathergen.falcon.constants.BLUE_AIR_SW=565121012;weathergen.falcon.constants.BLUE_AIR_SW_W=565121013;weathergen.falcon.constants.BLUE_AIR_WEST=565121014;weathergen.falcon.constants.BLUE_AIR_WEST_W=565121015;weathergen.falcon.constants.BROWN_AIR_EAST=565121016;weathergen.falcon.constants.BROWN_AIR_EAST_W=565121017;weathergen.falcon.constants.BROWN_AIR_NE=565121018;weathergen.falcon.constants.BROWN_AIR_NE_W=565121019;weathergen.falcon.constants.BROWN_AIR_NORTH=565121020;
weathergen.falcon.constants.BROWN_AIR_NORTH_W=565121021;weathergen.falcon.constants.BROWN_AIR_NW=565121022;weathergen.falcon.constants.BROWN_AIR_NW_W=565121023;weathergen.falcon.constants.BROWN_AIR_SE=565121024;weathergen.falcon.constants.BROWN_AIR_SE_W=565121025;weathergen.falcon.constants.BROWN_AIR_SOUTH=565121026;weathergen.falcon.constants.BROWN_AIR_SOUTH_W=565121027;weathergen.falcon.constants.BROWN_AIR_SW=565121028;weathergen.falcon.constants.BROWN_AIR_SW_W=565121029;
weathergen.falcon.constants.BROWN_AIR_WEST=565121030;weathergen.falcon.constants.BROWN_AIR_WEST_W=565121031;weathergen.falcon.constants.GREEN_AIR_EAST=565121032;weathergen.falcon.constants.GREEN_AIR_EAST_W=565121033;weathergen.falcon.constants.GREEN_AIR_NE=565121034;weathergen.falcon.constants.GREEN_AIR_NE_W=565121035;weathergen.falcon.constants.GREEN_AIR_NORTH=565121036;weathergen.falcon.constants.GREEN_AIR_NORTH_W=565121037;weathergen.falcon.constants.GREEN_AIR_NW=565121038;
weathergen.falcon.constants.GREEN_AIR_NW_W=565121039;weathergen.falcon.constants.GREEN_AIR_SE=565121040;weathergen.falcon.constants.GREEN_AIR_SE_W=565121041;weathergen.falcon.constants.GREEN_AIR_SOUTH=565121042;weathergen.falcon.constants.GREEN_AIR_SOUTH_W=565121043;weathergen.falcon.constants.GREEN_AIR_SW=565121044;weathergen.falcon.constants.GREEN_AIR_SW_W=565121045;weathergen.falcon.constants.GREEN_AIR_WEST=565121046;weathergen.falcon.constants.GREEN_AIR_WEST_W=565121047;
weathergen.falcon.constants.GREY_AIR_EAST=565121048;weathergen.falcon.constants.GREY_AIR_EAST_W=565121049;weathergen.falcon.constants.GREY_AIR_NE=565121050;weathergen.falcon.constants.GREY_AIR_NE_W=565121051;weathergen.falcon.constants.GREY_AIR_NORTH=565121052;weathergen.falcon.constants.GREY_AIR_NORTH_W=565121053;weathergen.falcon.constants.GREY_AIR_NW=565121054;weathergen.falcon.constants.GREY_AIR_NW_W=565121055;weathergen.falcon.constants.GREY_AIR_SE=565121056;
weathergen.falcon.constants.GREY_AIR_SE_W=565121057;weathergen.falcon.constants.GREY_AIR_SOUTH=565121058;weathergen.falcon.constants.GREY_AIR_SOUTH_W=565121059;weathergen.falcon.constants.GREY_AIR_SW=565121060;weathergen.falcon.constants.GREY_AIR_SW_W=565121061;weathergen.falcon.constants.GREY_AIR_WEST=565121062;weathergen.falcon.constants.GREY_AIR_WEST_W=565121063;weathergen.falcon.constants.ORANGE_AIR_EAST=565121064;weathergen.falcon.constants.ORANGE_AIR_EAST_W=565121065;
weathergen.falcon.constants.ORANGE_AIR_NE=565121066;weathergen.falcon.constants.ORANGE_AIR_NE_W=565121067;weathergen.falcon.constants.ORANGE_AIR_NORTH=565121068;weathergen.falcon.constants.ORANGE_AIR_NORTH_W=565121069;weathergen.falcon.constants.ORANGE_AIR_NW=565121070;weathergen.falcon.constants.ORANGE_AIR_NW_W=565121071;weathergen.falcon.constants.ORANGE_AIR_SE=565121072;weathergen.falcon.constants.ORANGE_AIR_SE_W=565121073;weathergen.falcon.constants.ORANGE_AIR_SOUTH=565121074;
weathergen.falcon.constants.ORANGE_AIR_SOUTH_W=565121075;weathergen.falcon.constants.ORANGE_AIR_SW=565121076;weathergen.falcon.constants.ORANGE_AIR_SW_W=565121077;weathergen.falcon.constants.ORANGE_AIR_WEST=565121078;weathergen.falcon.constants.ORANGE_AIR_WEST_W=565121079;weathergen.falcon.constants.RED_AIR_EAST=565121080;weathergen.falcon.constants.RED_AIR_EAST_W=565121081;weathergen.falcon.constants.RED_AIR_NE=565121082;weathergen.falcon.constants.RED_AIR_NE_W=565121083;
weathergen.falcon.constants.RED_AIR_NORTH=565121084;weathergen.falcon.constants.RED_AIR_NORTH_W=565121085;weathergen.falcon.constants.RED_AIR_NW=565121086;weathergen.falcon.constants.RED_AIR_NW_W=565121087;weathergen.falcon.constants.RED_AIR_SE=565121088;weathergen.falcon.constants.RED_AIR_SE_W=565121089;weathergen.falcon.constants.RED_AIR_SOUTH=565121090;weathergen.falcon.constants.RED_AIR_SOUTH_W=565121091;weathergen.falcon.constants.RED_AIR_SW=565121092;
weathergen.falcon.constants.RED_AIR_SW_W=565121093;weathergen.falcon.constants.RED_AIR_WEST=565121094;weathergen.falcon.constants.RED_AIR_WEST_W=565121095;weathergen.falcon.constants.WHITE_AIR_EAST=565121096;weathergen.falcon.constants.WHITE_AIR_EAST_W=565121097;weathergen.falcon.constants.WHITE_AIR_NE=565121098;weathergen.falcon.constants.WHITE_AIR_NE_W=565121099;weathergen.falcon.constants.WHITE_AIR_NORTH=565121100;weathergen.falcon.constants.WHITE_AIR_NORTH_W=565121101;
weathergen.falcon.constants.WHITE_AIR_NW=565121102;weathergen.falcon.constants.WHITE_AIR_NW_W=565121103;weathergen.falcon.constants.WHITE_AIR_SE=565121104;weathergen.falcon.constants.WHITE_AIR_SE_W=565121105;weathergen.falcon.constants.WHITE_AIR_SOUTH=565121106;weathergen.falcon.constants.WHITE_AIR_SOUTH_W=565121107;weathergen.falcon.constants.WHITE_AIR_SW=565121108;weathergen.falcon.constants.WHITE_AIR_SW_W=565121109;weathergen.falcon.constants.WHITE_AIR_WEST=565121110;
weathergen.falcon.constants.WHITE_AIR_WEST_W=565121111;weathergen.falcon.constants.YELLOW_AIR_EAST=565121112;weathergen.falcon.constants.YELLOW_AIR_EAST_W=565121113;weathergen.falcon.constants.YELLOW_AIR_NE=565121114;weathergen.falcon.constants.YELLOW_AIR_NE_W=565121115;weathergen.falcon.constants.YELLOW_AIR_NORTH=565121116;weathergen.falcon.constants.YELLOW_AIR_NORTH_W=565121117;weathergen.falcon.constants.YELLOW_AIR_NW=565121118;weathergen.falcon.constants.YELLOW_AIR_NW_W=565121119;
weathergen.falcon.constants.YELLOW_AIR_SE=565121120;weathergen.falcon.constants.YELLOW_AIR_SE_W=565121121;weathergen.falcon.constants.YELLOW_AIR_SOUTH=565121122;weathergen.falcon.constants.YELLOW_AIR_SOUTH_W=565121123;weathergen.falcon.constants.YELLOW_AIR_SW=565121124;weathergen.falcon.constants.YELLOW_AIR_SW_W=565121125;weathergen.falcon.constants.YELLOW_AIR_WEST=565121126;weathergen.falcon.constants.YELLOW_AIR_WEST_W=565121127;weathergen.falcon.constants.NUM_RADAR_ARCS=8;
weathergen.falcon.constants.ALT_FOR_RANGE_DETERMINATION=2500;weathergen.falcon.constants.MINIMUM_RADAR_RATIO=.022;weathergen.falcon.constants.NoPt=0;weathergen.falcon.constants.RunwayPt=1;weathergen.falcon.constants.TakeoffPt=2;weathergen.falcon.constants.TaxiPt=3;weathergen.falcon.constants.SAMPt=4;weathergen.falcon.constants.ArtilleryPt=5;weathergen.falcon.constants.AAAPt=6;weathergen.falcon.constants.RadarPt=7;weathergen.falcon.constants.RunwayDimPt=8;weathergen.falcon.constants.SupportPt=9;
weathergen.falcon.constants.StaticRadarPt=10;weathergen.falcon.constants.SmallParkPt=11;weathergen.falcon.constants.LargeParkPt=12;weathergen.falcon.constants.SmallDockPt=13;weathergen.falcon.constants.LargeDockPt=14;weathergen.falcon.constants.TakeRunwayPt=15;weathergen.falcon.constants.HelicopterPt=16;weathergen.falcon.constants.FollowMePt=17;weathergen.falcon.constants.TrackPt=18;weathergen.falcon.constants.CritTaxiPt=19;weathergen.falcon.constants.WP_NOTHING=0;
weathergen.falcon.constants.WP_TAKEOFF=1;weathergen.falcon.constants.WP_ASSEMBLE=2;weathergen.falcon.constants.WP_POSTASSEMBLE=3;weathergen.falcon.constants.WP_REFUEL=4;weathergen.falcon.constants.WP_REARM=5;weathergen.falcon.constants.WP_PICKUP=6;weathergen.falcon.constants.WP_LAND=7;weathergen.falcon.constants.WP_TIMING=8;weathergen.falcon.constants.WP_CASCP=9;weathergen.falcon.constants.WP_ESCORT=10;weathergen.falcon.constants.WP_CA=11;weathergen.falcon.constants.WP_CAP=12;
weathergen.falcon.constants.WP_INTERCEPT=13;weathergen.falcon.constants.WP_GNDSTRIKE=14;weathergen.falcon.constants.WP_NAVSTRIKE=15;weathergen.falcon.constants.WP_SAD=16;weathergen.falcon.constants.WP_STRIKE=17;weathergen.falcon.constants.WP_BOMB=18;weathergen.falcon.constants.WP_SEAD=19;weathergen.falcon.constants.WP_ELINT=20;weathergen.falcon.constants.WP_RECON=21;weathergen.falcon.constants.WP_RESCUE=22;weathergen.falcon.constants.WP_ASW=23;weathergen.falcon.constants.WP_TANKER=24;
weathergen.falcon.constants.WP_AIRDROP=25;weathergen.falcon.constants.WP_JAM=26;weathergen.falcon.constants.WP_FAC=30;weathergen.falcon.constants.WP_MOVEOPPOSED=40;weathergen.falcon.constants.WP_MOVEUNOPPOSED=41;weathergen.falcon.constants.WP_AIRBORNE=42;weathergen.falcon.constants.WP_AMPHIBIOUS=43;weathergen.falcon.constants.WP_DEFEND=44;weathergen.falcon.constants.WP_REPAIR=45;weathergen.falcon.constants.WP_RESERVE=46;weathergen.falcon.constants.WP_AIRDEFENSE=47;
weathergen.falcon.constants.WP_FIRESUPPORT=48;weathergen.falcon.constants.WP_SECURE=49;weathergen.falcon.constants.WP_LAST=50;weathergen.falcon.constants.WPF_TARGET=1;weathergen.falcon.constants.WPF_ASSEMBLE=2;weathergen.falcon.constants.WPF_BREAKPOINT=4;weathergen.falcon.constants.WPF_IP=8;weathergen.falcon.constants.WPF_TURNPOINT=16;weathergen.falcon.constants.WPF_CP=32;weathergen.falcon.constants.WPF_REPEAT=64;weathergen.falcon.constants.WPF_TAKEOFF=128;weathergen.falcon.constants.WPF_LAND=256;
weathergen.falcon.constants.WPF_DIVERT=512;weathergen.falcon.constants.WPF_ALTERNATE=1024;weathergen.falcon.constants.WPF_HOLDCURRENT=2048;weathergen.falcon.constants.WPF_REPEAT_CONTINUOUS=4096;weathergen.falcon.constants.WPF_IN_PACKAGE=8192;weathergen.falcon.constants.WPF_TIME_LOCKED=16384;weathergen.falcon.constants.WPF_SPEED_LOCKED=32768;weathergen.falcon.constants.WPF_REFUEL_INFORMATION=65536;weathergen.falcon.constants.WPF_REQHELP=131072;weathergen.falcon.constants.WPF_CRITICAL_MASK=2047;
weathergen.falcon.constants.GRIDZ_SCALE_FACTOR=10;weathergen.falcon.constants.MINIMUM_ASL_ALTITUDE=5E3;weathergen.falcon.constants.COUN_NONE=0;weathergen.falcon.constants.COUN_US=1;weathergen.falcon.constants.COUN_SOUTH_KOREA=2;weathergen.falcon.constants.COUN_JAPAN=3;weathergen.falcon.constants.COUN_RUSSIA=4;weathergen.falcon.constants.COUN_CHINA=5;weathergen.falcon.constants.COUN_NORTH_KOREA=6;weathergen.falcon.constants.COUN_GORN=7;weathergen.falcon.constants.NUM_COUNS=8;
weathergen.falcon.constants.TEAM_NEUTRAL=0;weathergen.falcon.constants.TEAM_1=1;weathergen.falcon.constants.TEAM_2=2;weathergen.falcon.constants.TEAM_3=3;weathergen.falcon.constants.TEAM_4=4;weathergen.falcon.constants.TEAM_5=5;weathergen.falcon.constants.TEAM_6=6;weathergen.falcon.constants.TEAM_7=7;weathergen.falcon.constants.NUM_TEAMS=8;weathergen.falcon.constants.NoRelations=0;weathergen.falcon.constants.Allied=1;weathergen.falcon.constants.Friendly=2;weathergen.falcon.constants.Neutral=3;
weathergen.falcon.constants.Hostile=4;weathergen.falcon.constants.War=5;weathergen.falcon.constants.TEAM_ACTIVE=1;weathergen.falcon.constants.TEAM_HASSATS=2;weathergen.falcon.constants.TEAM_UPDATED=4;weathergen.falcon.constants.NUM_CAMERA_LABELS=16;weathergen.falcon.constants.ATO_OCA=1;weathergen.falcon.constants.ATO_STRIKE=2;weathergen.falcon.constants.ATO_INTERDICTION=3;weathergen.falcon.constants.ATO_SEAD=4;weathergen.falcon.constants.ATO_CAS=5;weathergen.falcon.constants.ATO_DCA=6;
weathergen.falcon.constants.ATO_CCCI=7;weathergen.falcon.constants.ATO_MARITIME=8;weathergen.falcon.constants.ATO_SUPPORT=9;weathergen.falcon.constants.ATO_OTHER=10;weathergen.falcon.constants.AIRCRAFT_NOT_ASSIGNED=0;weathergen.falcon.constants.AIRCRAFT_MISSING=1;weathergen.falcon.constants.AIRCRAFT_DEAD=2;weathergen.falcon.constants.AIRCRAFT_RTB=3;weathergen.falcon.constants.AIRCRAFT_AVAILABLE=4;weathergen.falcon.constants.PASL=2116.22;weathergen.falcon.constants.AASLK=661.48;
weathergen.falcon.constants.FEAT_EREPAIR=1;weathergen.falcon.constants.FEAT_VIRTUAL=2;weathergen.falcon.constants.FEAT_HAS_LIGHT_SWITCH=4;weathergen.falcon.constants.FEAT_HAS_SMOKE_STACK=8;weathergen.falcon.constants.FEAT_FLAT_CONTAINER=256;weathergen.falcon.constants.FEAT_ELEV_CONTAINER=512;weathergen.falcon.constants.FEAT_CAN_EXPLODE=1024;weathergen.falcon.constants.FEAT_CAN_BURN=2048;weathergen.falcon.constants.FEAT_CAN_SMOKE=4096;weathergen.falcon.constants.FEAT_CAN_COLAPSE=8192;
weathergen.falcon.constants.FEAT_CONTAINER_TOP=16384;weathergen.falcon.constants.FEAT_NEXT_IS_TOP=32768;weathergen.falcon.constants.FEAT_NO_HITEVAL=16;weathergen.falcon.constants.FEAT_PREV_CRIT=1;weathergen.falcon.constants.FEAT_NEXT_CRIT=2;weathergen.falcon.constants.FEAT_PREV_NORM=4;weathergen.falcon.constants.FEAT_NEXT_NORM=8;weathergen.falcon.constants.wtGuns=0;weathergen.falcon.constants.wtAim9=1;weathergen.falcon.constants.wtAim120=2;weathergen.falcon.constants.wtAgm88=3;
weathergen.falcon.constants.wtAgm65=4;weathergen.falcon.constants.wtMk82=5;weathergen.falcon.constants.wtMk84=6;weathergen.falcon.constants.wtGBU=7;weathergen.falcon.constants.wtSAM=8;weathergen.falcon.constants.wtLAU=9;weathergen.falcon.constants.wtFixed=10;weathergen.falcon.constants.wtNone=11;weathergen.falcon.constants.wtGPS=12;weathergen.falcon.constants.wcAimWpn=0;weathergen.falcon.constants.wcRocketWpn=1;weathergen.falcon.constants.wcBombWpn=2;weathergen.falcon.constants.wcGunWpn=3;
weathergen.falcon.constants.wcECM=4;weathergen.falcon.constants.wcTank=5;weathergen.falcon.constants.wcAgmWpn=6;weathergen.falcon.constants.wcHARMWpn=7;weathergen.falcon.constants.wcSamWpn=8;weathergen.falcon.constants.wcGbuWpn=9;weathergen.falcon.constants.wcCamera=10;weathergen.falcon.constants.wcNoWpn=11;weathergen.falcon.constants.wdAir=1;weathergen.falcon.constants.wdGround=2;weathergen.falcon.constants.wdBoth=3;weathergen.falcon.constants.wdNoDomain=0;weathergen.falcon.files={};weathergen.falcon.files.mission={};weathergen.falcon.files.mission.xml={};weathergen.falcon.files.mission.xml.field=function(a,b){return new cljs.core.PersistentArrayMap(null,2,[new cljs.core.Keyword(null,"path","path",-188191168),b,new cljs.core.Keyword(null,"coersion","coersion",-1715479807),a],null)};
weathergen.falcon.files.mission.xml.default$=new cljs.core.PersistentArrayMap(null,2,[new cljs.core.Keyword(null,"int","int",-1741416922),0,new cljs.core.Keyword(null,"float","float",-1732389368),0],null);weathergen.falcon.files.mission.xml.move_types=new cljs.core.PersistentVector(null,8,5,cljs.core.PersistentVector.EMPTY_NODE,"NoMove Foot Wheeled Tracked LowAir Air Naval Rail".split(" "),null);
weathergen.falcon.files.mission.xml.damage_types=new cljs.core.PersistentVector(null,11,5,cljs.core.PersistentVector.EMPTY_NODE,"None Penetration HighExplosive Heave Incendairy Proximity Kinetic Hydrostatic Chemical Nuclear Other".split(" "),null);
weathergen.falcon.files.mission.xml.mappings=cljs.core.PersistentHashMap.fromArrays([new cljs.core.Keyword(null,"class-table","class-table",207400992),new cljs.core.Keyword(null,"weapon-class-data","weapon-class-data",-1828241433),new cljs.core.Keyword(null,"sim-weapon-data","sim-weapon-data",1516433194),new cljs.core.Keyword(null,"objective-class-data","objective-class-data",-2036255156),new cljs.core.Keyword(null,"unit-class-data","unit-class-data",2122324209),new cljs.core.Keyword(null,"vehicle-class-data",
"vehicle-class-data",1666024339),new cljs.core.Keyword(null,"feature-class-data","feature-class-data",-794349644),new cljs.core.Keyword(null,"point-header-data","point-header-data",2108405911),new cljs.core.Keyword(null,"feature-entry-data","feature-entry-data",-87481893)],[new cljs.core.PersistentArrayMap(null,5,[new cljs.core.Keyword(null,"form","form",-1624062471),new cljs.core.Keyword(null,"vector","vector",1902966158),new cljs.core.Keyword(null,"root","root",-448657453),"CTRecords",new cljs.core.Keyword(null,
"item","item",249373802),"CT",new cljs.core.Keyword(null,"index","index",-1531685915),"Num",new cljs.core.Keyword(null,"fields","fields",-1932066230),cljs.core.PersistentHashMap.fromArrays(["MinRev","ManagementDomain","Private","Type","UpdateTolerance","Class","CollisionType","SubType","MajorRev","FineUpdateRange","FineUpdateMultiplier","Transferable","MoverDefinitionData","Domain","Class_6","Specific","HitPoints",new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,["Graphics",
new cljs.core.PersistentVector(null,7,5,cljs.core.PersistentVector.EMPTY_NODE,"Normal Repaired Damaged Destroyed LeftDestroyed RightDestroyed BothDestroyed".split(" "),null)],null),"Persistent","UpdateRate","CreatePriority","CollisionRadius","Tangible","Owner","DamageSeed","Class_7","Collidable","EntityIdx","EntityType","FineUpdateForceRange","Global","Id"],[weathergen.falcon.files.mission.xml.field.call(null,new cljs.core.Keyword(null,"int","int",-1741416922),new cljs.core.PersistentVector(null,
2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"vu-class-data","vu-class-data",-1868219799),new cljs.core.Keyword(null,"minor-revision-number","minor-revision-number",-358429843)],null)),weathergen.falcon.files.mission.xml.field.call(null,new cljs.core.Keyword(null,"int","int",-1741416922),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"vu-class-data","vu-class-data",-1868219799),new cljs.core.Keyword(null,"management-domain",
"management-domain",-382123626)],null)),weathergen.falcon.files.mission.xml.field.call(null,new cljs.core.Keyword(null,"int","int",-1741416922),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"vu-class-data","vu-class-data",-1868219799),new cljs.core.Keyword(null,"private","private",-558947994)],null)),weathergen.falcon.files.mission.xml.field.call(null,new cljs.core.Keyword(null,"int","int",-1741416922),new cljs.core.PersistentVector(null,
3,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"vu-class-data","vu-class-data",-1868219799),new cljs.core.Keyword(null,"class-info","class-info",-467052058),new cljs.core.Keyword(null,"type","type",1174270348)],null)),weathergen.falcon.files.mission.xml.field.call(null,new cljs.core.Keyword(null,"int","int",-1741416922),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"vu-class-data","vu-class-data",-1868219799),new cljs.core.Keyword(null,
"update-tolerance","update-tolerance",1242588651)],null)),weathergen.falcon.files.mission.xml.field.call(null,new cljs.core.Keyword(null,"int","int",-1741416922),new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"vu-class-data","vu-class-data",-1868219799),new cljs.core.Keyword(null,"class-info","class-info",-467052058),new cljs.core.Keyword(null,"class","class",-2030961996)],null)),weathergen.falcon.files.mission.xml.field.call(null,new cljs.core.Keyword(null,
"int","int",-1741416922),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"vu-class-data","vu-class-data",-1868219799),new cljs.core.Keyword(null,"collision-type","collision-type",1031477978)],null)),weathergen.falcon.files.mission.xml.field.call(null,new cljs.core.Keyword(null,"int","int",-1741416922),new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"vu-class-data","vu-class-data",-1868219799),
new cljs.core.Keyword(null,"class-info","class-info",-467052058),new cljs.core.Keyword(null,"stype","stype",-63678419)],null)),weathergen.falcon.files.mission.xml.field.call(null,new cljs.core.Keyword(null,"int","int",-1741416922),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"vu-class-data","vu-class-data",-1868219799),new cljs.core.Keyword(null,"major-revision-number","major-revision-number",473159511)],null)),weathergen.falcon.files.mission.xml.field.call(null,
new cljs.core.Keyword(null,"float","float",-1732389368),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"vu-class-data","vu-class-data",-1868219799),new cljs.core.Keyword(null,"fine-update-range","fine-update-range",-2006748049)],null)),weathergen.falcon.files.mission.xml.field.call(null,new cljs.core.Keyword(null,"float","float",-1732389368),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,
"vu-class-data","vu-class-data",-1868219799),new cljs.core.Keyword(null,"fine-update-multiplier","fine-update-multiplier",1301129404)],null)),weathergen.falcon.files.mission.xml.field.call(null,new cljs.core.Keyword(null,"int","int",-1741416922),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"vu-class-data","vu-class-data",-1868219799),new cljs.core.Keyword(null,"transferable","transferable",-243006862)],null)),weathergen.falcon.files.mission.xml.field.call(null,
new cljs.core.Keyword(null,"int","int",-1741416922),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"vehicle-data-index","vehicle-data-index",1750693686)],null)),weathergen.falcon.files.mission.xml.field.call(null,new cljs.core.Keyword(null,"int","int",-1741416922),new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"vu-class-data","vu-class-data",-1868219799),new cljs.core.Keyword(null,
"class-info","class-info",-467052058),new cljs.core.Keyword(null,"domain","domain",1847214937)],null)),weathergen.falcon.files.mission.xml.field.call(null,new cljs.core.Keyword(null,"int","int",-1741416922),new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"vu-class-data","vu-class-data",-1868219799),new cljs.core.Keyword(null,"class-info","class-info",-467052058),new cljs.core.Keyword(null,"field6","field6",-1844847589)],null)),weathergen.falcon.files.mission.xml.field.call(null,
new cljs.core.Keyword(null,"int","int",-1741416922),new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"vu-class-data","vu-class-data",-1868219799),new cljs.core.Keyword(null,"class-info","class-info",-467052058),new cljs.core.Keyword(null,"sptype","sptype",-1425026030)],null)),weathergen.falcon.files.mission.xml.field.call(null,new cljs.core.Keyword(null,"int","int",-1741416922),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,
[new cljs.core.Keyword(null,"vu-class-data","vu-class-data",-1868219799),new cljs.core.Keyword(null,"hitpoints","hitpoints",-575579159)],null)),weathergen.falcon.files.mission.xml.field.call(null,new cljs.core.Keyword(null,"int","int",-1741416922),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"vis-type","vis-type",802477693)],null)),weathergen.falcon.files.mission.xml.field.call(null,new cljs.core.Keyword(null,"int","int",-1741416922),new cljs.core.PersistentVector(null,
2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"vu-class-data","vu-class-data",-1868219799),new cljs.core.Keyword(null,"persistent","persistent",885415113)],null)),weathergen.falcon.files.mission.xml.field.call(null,new cljs.core.Keyword(null,"int","int",-1741416922),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"vu-class-data","vu-class-data",-1868219799),new cljs.core.Keyword(null,"update-rate","update-rate",549997679)],
null)),weathergen.falcon.files.mission.xml.field.call(null,new cljs.core.Keyword(null,"int","int",-1741416922),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"vu-class-data","vu-class-data",-1868219799),new cljs.core.Keyword(null,"create-priority","create-priority",-433275059)],null)),weathergen.falcon.files.mission.xml.field.call(null,new cljs.core.Keyword(null,"float","float",-1732389368),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,
[new cljs.core.Keyword(null,"vu-class-data","vu-class-data",-1868219799),new cljs.core.Keyword(null,"collision-radius","collision-radius",2064718833)],null)),weathergen.falcon.files.mission.xml.field.call(null,new cljs.core.Keyword(null,"int","int",-1741416922),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"vu-class-data","vu-class-data",-1868219799),new cljs.core.Keyword(null,"tangible","tangible",1450746508)],null)),weathergen.falcon.files.mission.xml.field.call(null,
new cljs.core.Keyword(null,"int","int",-1741416922),new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"vu-class-data","vu-class-data",-1868219799),new cljs.core.Keyword(null,"class-info","class-info",-467052058),new cljs.core.Keyword(null,"owner","owner",-392611939)],null)),weathergen.falcon.files.mission.xml.field.call(null,new cljs.core.Keyword(null,"int","int",-1741416922),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,
[new cljs.core.Keyword(null,"vu-class-data","vu-class-data",-1868219799),new cljs.core.Keyword(null,"damage-speed","damage-speed",1800211525)],null)),weathergen.falcon.files.mission.xml.field.call(null,new cljs.core.Keyword(null,"int","int",-1741416922),new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"vu-class-data","vu-class-data",-1868219799),new cljs.core.Keyword(null,"class-info","class-info",-467052058),new cljs.core.Keyword(null,"field7",
"field7",-882507065)],null)),weathergen.falcon.files.mission.xml.field.call(null,new cljs.core.Keyword(null,"int","int",-1741416922),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"vu-class-data","vu-class-data",-1868219799),new cljs.core.Keyword(null,"collidable","collidable",232142278)],null)),weathergen.falcon.files.mission.xml.field.call(null,new cljs.core.Keyword(null,"int","int",-1741416922),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,
[new cljs.core.Keyword(null,"data-pointer","data-pointer",-1957576382)],null)),weathergen.falcon.files.mission.xml.field.call(null,new cljs.core.Keyword(null,"int","int",-1741416922),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"data-type","data-type",-326421468)],null)),weathergen.falcon.files.mission.xml.field.call(null,new cljs.core.Keyword(null,"float","float",-1732389368),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,
[new cljs.core.Keyword(null,"vu-class-data","vu-class-data",-1868219799),new cljs.core.Keyword(null,"fine-update-force-range","fine-update-force-range",-703217754)],null)),weathergen.falcon.files.mission.xml.field.call(null,new cljs.core.Keyword(null,"int","int",-1741416922),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"vu-class-data","vu-class-data",-1868219799),new cljs.core.Keyword(null,"global","global",93595047)],null)),weathergen.falcon.files.mission.xml.field.call(null,
new cljs.core.Keyword(null,"int","int",-1741416922),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"vu-class-data","vu-class-data",-1868219799),new cljs.core.Keyword(null,"id","id",-1388402092)],null))])],null),new cljs.core.PersistentArrayMap(null,6,[new cljs.core.Keyword(null,"form","form",-1624062471),new cljs.core.Keyword(null,"vector","vector",1902966158),new cljs.core.Keyword(null,"root","root",-448657453),"WCDRecords",new cljs.core.Keyword(null,
"item","item",249373802),"WCD",new cljs.core.Keyword(null,"index","index",-1531685915),"Num",new cljs.core.Keyword(null,"missing","missing",362507769),cljs.core.PersistentArrayMap.createAsIfByAssoc([new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"simweap-index","simweap-index",1674222081)],null),-1]),new cljs.core.Keyword(null,"fields","fields",-1932066230),cljs.core.PersistentHashMap.fromArrays([new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,
["Hit_",weathergen.falcon.files.mission.xml.move_types],null),"Guidance","Range","Weight","Rariety","Flags","MaxAlt","Strength","FireRate","RadarIdx","Drag","Collective","Name","CtIdx","SimWeaponDataIdx","BlastRadius","DamageType"],[weathergen.falcon.files.mission.xml.field.call(null,new cljs.core.Keyword(null,"int","int",-1741416922),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"hit-chance","hit-chance",-2087636980)],null)),weathergen.falcon.files.mission.xml.field.call(null,
new cljs.core.Keyword(null,"int","int",-1741416922),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"guidance-flags","guidance-flags",343892844)],null)),weathergen.falcon.files.mission.xml.field.call(null,new cljs.core.Keyword(null,"int","int",-1741416922),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"range","range",1639692286)],null)),weathergen.falcon.files.mission.xml.field.call(null,
new cljs.core.Keyword(null,"int","int",-1741416922),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"weight","weight",-1262796205)],null)),weathergen.falcon.files.mission.xml.field.call(null,new cljs.core.Keyword(null,"int","int",-1741416922),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"rariety","rariety",1749498612)],null)),weathergen.falcon.files.mission.xml.field.call(null,new cljs.core.Keyword(null,
"int","int",-1741416922),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"flags","flags",1775418075)],null)),weathergen.falcon.files.mission.xml.field.call(null,new cljs.core.Keyword(null,"int","int",-1741416922),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"max-alt","max-alt",-363233306)],null)),weathergen.falcon.files.mission.xml.field.call(null,new cljs.core.Keyword(null,"int",
"int",-1741416922),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"strength","strength",-415606478)],null)),weathergen.falcon.files.mission.xml.field.call(null,new cljs.core.Keyword(null,"int","int",-1741416922),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"fire-rate","fire-rate",-1458689931)],null)),weathergen.falcon.files.mission.xml.field.call(null,new cljs.core.Keyword(null,
"int","int",-1741416922),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"radar-type","radar-type",-1913447362)],null)),weathergen.falcon.files.mission.xml.field.call(null,new cljs.core.Keyword(null,"int","int",-1741416922),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"drag-index","drag-index",-207918117)],null)),weathergen.falcon.files.mission.xml.field.call(null,new cljs.core.Keyword(null,
"int","int",-1741416922),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"collective","collective",-1678283599)],null)),weathergen.falcon.files.mission.xml.field.call(null,new cljs.core.Keyword(null,"string","string",-1989541586),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"name","name",1843675177)],null)),weathergen.falcon.files.mission.xml.field.call(null,new cljs.core.Keyword(null,
"int","int",-1741416922),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"index","index",-1531685915)],null)),weathergen.falcon.files.mission.xml.field.call(null,new cljs.core.Keyword(null,"int","int",-1741416922),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"sim-data-idx","sim-data-idx",-713604174)],null)),weathergen.falcon.files.mission.xml.field.call(null,new cljs.core.Keyword(null,
"int","int",-1741416922),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"blast-radius","blast-radius",796954270)],null)),weathergen.falcon.files.mission.xml.field.call(null,new cljs.core.Keyword(null,"int","int",-1741416922),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"damage-type","damage-type",898770578)],null))])],null),new cljs.core.PersistentArrayMap(null,6,[new cljs.core.Keyword(null,
"form","form",-1624062471),new cljs.core.Keyword(null,"vector","vector",1902966158),new cljs.core.Keyword(null,"root","root",-448657453),"SWDRecords",new cljs.core.Keyword(null,"item","item",249373802),"SWD",new cljs.core.Keyword(null,"index","index",-1531685915),"Num",new cljs.core.Keyword(null,"missing","missing",362507769),cljs.core.PersistentArrayMap.EMPTY,new cljs.core.Keyword(null,"fields","fields",-1932066230),cljs.core.PersistentHashMap.fromArrays("WpnName EjectY WpnDatIdx WpnType EjectZ Domain Weight WpnClass EjectX Flags Drag Area".split(" "),
[weathergen.falcon.files.mission.xml.field.call(null,new cljs.core.Keyword(null,"string","string",-1989541586),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"sms-mnemonic","sms-mnemonic",944316914)],null)),weathergen.falcon.files.mission.xml.field.call(null,new cljs.core.Keyword(null,"float","float",-1732389368),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"ejection-velocity","ejection-velocity",
241121939),new cljs.core.Keyword(null,"y","y",-1757859776)],null)),weathergen.falcon.files.mission.xml.field.call(null,new cljs.core.Keyword(null,"int","int",-1741416922),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"data-index","data-index",1161508385)],null)),weathergen.falcon.files.mission.xml.field.call(null,new cljs.core.Keyword(null,"int","int",-1741416922),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,
[new cljs.core.Keyword(null,"sms-weapon-type","sms-weapon-type",-302839052)],null)),weathergen.falcon.files.mission.xml.field.call(null,new cljs.core.Keyword(null,"float","float",-1732389368),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"ejection-velocity","ejection-velocity",241121939),new cljs.core.Keyword(null,"z","z",-789527183)],null)),weathergen.falcon.files.mission.xml.field.call(null,new cljs.core.Keyword(null,"int","int",-1741416922),
new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"sms-weapon-domain","sms-weapon-domain",170252511)],null)),weathergen.falcon.files.mission.xml.field.call(null,new cljs.core.Keyword(null,"float","float",-1732389368),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"weight","weight",-1262796205)],null)),weathergen.falcon.files.mission.xml.field.call(null,new cljs.core.Keyword(null,"int",
"int",-1741416922),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"sms-weapon-class","sms-weapon-class",-1204089300)],null)),weathergen.falcon.files.mission.xml.field.call(null,new cljs.core.Keyword(null,"float","float",-1732389368),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"ejection-velocity","ejection-velocity",241121939),new cljs.core.Keyword(null,"x","x",2099068185)],null)),
weathergen.falcon.files.mission.xml.field.call(null,new cljs.core.Keyword(null,"int","int",-1741416922),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"flags","flags",1775418075)],null)),weathergen.falcon.files.mission.xml.field.call(null,new cljs.core.Keyword(null,"float","float",-1732389368),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"drag-coefficient","drag-coefficient",238594160)],
null)),weathergen.falcon.files.mission.xml.field.call(null,new cljs.core.Keyword(null,"float","float",-1732389368),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"surface-area","surface-area",1472501650)],null))])],null),new cljs.core.PersistentArrayMap(null,5,[new cljs.core.Keyword(null,"form","form",-1624062471),new cljs.core.Keyword(null,"vector","vector",1902966158),new cljs.core.Keyword(null,"root","root",-448657453),"OCDRecords",new cljs.core.Keyword(null,
"item","item",249373802),"OCD",new cljs.core.Keyword(null,"index","index",-1531685915),"Num",new cljs.core.Keyword(null,"fields","fields",-1932066230),cljs.core.PersistentHashMap.fromArrays(["FirstFeature","DeaggDistance",new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,["Dam_",weathergen.falcon.files.mission.xml.damage_types],null),"DataRate","RadarFeature","ObjectiveIcon",new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,["Det_",weathergen.falcon.files.mission.xml.move_types],
null),"FeatureCount","PtDataIdx","Name","CtIdx"],[weathergen.falcon.files.mission.xml.field.call(null,new cljs.core.Keyword(null,"int","int",-1741416922),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"first-feature","first-feature",-1395776257)],null)),weathergen.falcon.files.mission.xml.field.call(null,new cljs.core.Keyword(null,"int","int",-1741416922),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,
"deag-distance","deag-distance",-1721226571)],null)),weathergen.falcon.files.mission.xml.field.call(null,new cljs.core.Keyword(null,"int","int",-1741416922),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"damage-mod","damage-mod",-756867116)],null)),weathergen.falcon.files.mission.xml.field.call(null,new cljs.core.Keyword(null,"int","int",-1741416922),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,
"data-rate","data-rate",-1399941497)],null)),weathergen.falcon.files.mission.xml.field.call(null,new cljs.core.Keyword(null,"int","int",-1741416922),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"radar-feature","radar-feature",2111876796)],null)),weathergen.falcon.files.mission.xml.field.call(null,new cljs.core.Keyword(null,"int","int",-1741416922),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,
"icon-index","icon-index",-42714286)],null)),weathergen.falcon.files.mission.xml.field.call(null,new cljs.core.Keyword(null,"int","int",-1741416922),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"detection","detection",-1580072483)],null)),weathergen.falcon.files.mission.xml.field.call(null,new cljs.core.Keyword(null,"int","int",-1741416922),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,
"features","features",-1146962336)],null)),weathergen.falcon.files.mission.xml.field.call(null,new cljs.core.Keyword(null,"int","int",-1741416922),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"pt-data-index","pt-data-index",-54255967)],null)),weathergen.falcon.files.mission.xml.field.call(null,new cljs.core.Keyword(null,"string","string",-1989541586),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,
"name","name",1843675177)],null)),weathergen.falcon.files.mission.xml.field.call(null,new cljs.core.Keyword(null,"int","int",-1741416922),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"index","index",-1531685915)],null))])],null),new cljs.core.PersistentArrayMap(null,5,[new cljs.core.Keyword(null,"form","form",-1624062471),new cljs.core.Keyword(null,"vector","vector",1902966158),new cljs.core.Keyword(null,"root","root",-448657453),"UCDRecords",
new cljs.core.Keyword(null,"item","item",249373802),"UCD",new cljs.core.Keyword(null,"index","index",-1531685915),"Num",new cljs.core.Keyword(null,"fields","fields",-1932066230),cljs.core.PersistentHashMap.fromArrays([new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,["Hit_",weathergen.falcon.files.mission.xml.move_types],null),"MoveSpeed","MainRole","SquadronStoresIdx",new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,["RoleScore",weathergen.falcon.constants.MAXIMUM_ROLES],
null),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,["Dam_",weathergen.falcon.files.mission.xml.damage_types],null),"FuelRate",new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,["VehicleCtIdx",weathergen.falcon.constants.VEHICLE_GROUPS_PER_UNIT],null),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,["ElementNamePrefix",weathergen.falcon.constants.VEHICLE_GROUPS_PER_UNIT],null),new cljs.core.PersistentVector(null,
2,5,cljs.core.PersistentVector.EMPTY_NODE,["ElementDecalIdx_",weathergen.falcon.constants.VEHICLE_GROUPS_PER_UNIT],null),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,["ElementName",weathergen.falcon.constants.VEHICLE_GROUPS_PER_UNIT],null),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,["ElementTextSetIdx",weathergen.falcon.constants.VEHICLE_GROUPS_PER_UNIT],null),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,
["Det_",weathergen.falcon.files.mission.xml.move_types],null),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,["ElementCount",weathergen.falcon.constants.VEHICLE_GROUPS_PER_UNIT],null),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,["Rng_",weathergen.falcon.files.mission.xml.move_types],null),"Description","Flags","RadarVehicle","UnitIcon","MaxRange",new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,["ElementFlags",
weathergen.falcon.constants.VEHICLE_GROUPS_PER_UNIT],null),"MoveType","PtDataIdx","Name",new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,["Str_",weathergen.falcon.files.mission.xml.move_types],null),"CtIdx","Fuel",new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,["ElementHullNumber",weathergen.falcon.constants.VEHICLE_GROUPS_PER_UNIT],null)],[weathergen.falcon.files.mission.xml.field.call(null,new cljs.core.Keyword(null,"int","int",-1741416922),
new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"hit-chance","hit-chance",-2087636980)],null)),weathergen.falcon.files.mission.xml.field.call(null,new cljs.core.Keyword(null,"int","int",-1741416922),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"movement-speed","movement-speed",-1779674971)],null)),weathergen.falcon.files.mission.xml.field.call(null,new cljs.core.Keyword(null,"int",
"int",-1741416922),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"role","role",-736691072)],null)),weathergen.falcon.files.mission.xml.field.call(null,new cljs.core.Keyword(null,"int","int",-1741416922),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"special-index","special-index",-545525937)],null)),weathergen.falcon.files.mission.xml.field.call(null,new cljs.core.Keyword(null,"int",
"int",-1741416922),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"scores","scores",-1267421800)],null)),weathergen.falcon.files.mission.xml.field.call(null,new cljs.core.Keyword(null,"int","int",-1741416922),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"damage-mod","damage-mod",-756867116)],null)),weathergen.falcon.files.mission.xml.field.call(null,new cljs.core.Keyword(null,"int",
"int",-1741416922),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"rate","rate",-1428659698)],null)),weathergen.falcon.files.mission.xml.field.call(null,new cljs.core.Keyword(null,"int","int",-1741416922),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"vehicle-type","vehicle-type",-362045068)],null)),weathergen.falcon.files.mission.xml.field.call(null,new cljs.core.Keyword(null,"string",
"string",-1989541586),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"element-name-prefix","element-name-prefix",549011356)],null)),weathergen.falcon.files.mission.xml.field.call(null,new cljs.core.Keyword(null,"int","int",-1741416922),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"element-decal-index","element-decal-index",-51019160)],null)),weathergen.falcon.files.mission.xml.field.call(null,
new cljs.core.Keyword(null,"string","string",-1989541586),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"element-name","element-name",-1558490689)],null)),weathergen.falcon.files.mission.xml.field.call(null,new cljs.core.Keyword(null,"int","int",-1741416922),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"element-text-set-index","element-text-set-index",-1358339490)],null)),weathergen.falcon.files.mission.xml.field.call(null,
new cljs.core.Keyword(null,"int","int",-1741416922),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"detection","detection",-1580072483)],null)),weathergen.falcon.files.mission.xml.field.call(null,new cljs.core.Keyword(null,"int","int",-1741416922),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"num-elements","num-elements",1960422107)],null)),weathergen.falcon.files.mission.xml.field.call(null,
new cljs.core.Keyword(null,"int","int",-1741416922),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"range","range",1639692286)],null)),weathergen.falcon.files.mission.xml.field.call(null,new cljs.core.Keyword(null,"string","string",-1989541586),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"description","description",-1428560544)],null)),weathergen.falcon.files.mission.xml.field.call(null,
new cljs.core.Keyword(null,"int","int",-1741416922),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"flags","flags",1775418075)],null)),weathergen.falcon.files.mission.xml.field.call(null,new cljs.core.Keyword(null,"int","int",-1741416922),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"radar-vehicle","radar-vehicle",-457407214)],null)),weathergen.falcon.files.mission.xml.field.call(null,
new cljs.core.Keyword(null,"int","int",-1741416922),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"icon-index","icon-index",-42714286)],null)),weathergen.falcon.files.mission.xml.field.call(null,new cljs.core.Keyword(null,"int","int",-1741416922),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"max-range","max-range",623016397)],null)),weathergen.falcon.files.mission.xml.field.call(null,
new cljs.core.Keyword(null,"int","int",-1741416922),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"element-flags","element-flags",-873928967)],null)),weathergen.falcon.files.mission.xml.field.call(null,new cljs.core.Keyword(null,"int","int",-1741416922),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"movement-type","movement-type",-1340819145)],null)),weathergen.falcon.files.mission.xml.field.call(null,
new cljs.core.Keyword(null,"int","int",-1741416922),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"pt-data-index","pt-data-index",-54255967)],null)),weathergen.falcon.files.mission.xml.field.call(null,new cljs.core.Keyword(null,"string","string",-1989541586),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"name","name",1843675177)],null)),weathergen.falcon.files.mission.xml.field.call(null,
new cljs.core.Keyword(null,"int","int",-1741416922),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"strength","strength",-415606478)],null)),weathergen.falcon.files.mission.xml.field.call(null,new cljs.core.Keyword(null,"int","int",-1741416922),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"index","index",-1531685915)],null)),weathergen.falcon.files.mission.xml.field.call(null,new cljs.core.Keyword(null,
"int","int",-1741416922),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"fuel","fuel",10405485)],null)),weathergen.falcon.files.mission.xml.field.call(null,new cljs.core.Keyword(null,"int","int",-1741416922),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"element-hull-number","element-hull-number",2042258853)],null))])],null),new cljs.core.PersistentArrayMap(null,5,[new cljs.core.Keyword(null,
"form","form",-1624062471),new cljs.core.Keyword(null,"vector","vector",1902966158),new cljs.core.Keyword(null,"root","root",-448657453),"VCDRecords",new cljs.core.Keyword(null,"item","item",249373802),"VCD",new cljs.core.Keyword(null,"index","index",-1531685915),"Num",new cljs.core.Keyword(null,"fields","fields",-1932066230),cljs.core.PersistentHashMap.fromArrays(["CallsignIdx",new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,["Hit_",weathergen.falcon.files.mission.xml.move_types],
null),"FuelWeight","VisibleFlags",new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,["WpnCount",weathergen.falcon.constants.HARDPOINT_MAX],null),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,["Dam_",weathergen.falcon.files.mission.xml.damage_types],null),"FuelRate","EngineSound","RadarCs","MaxWeight","RackFlags","MinAlt","HitPoints",new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,["Det_",weathergen.falcon.files.mission.xml.move_types],
null),"CruiseAlt","MaxSpeed",new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,["WpnOrHpIdx",weathergen.falcon.constants.HARDPOINT_MAX],null),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,["Rng_",weathergen.falcon.files.mission.xml.move_types],null),"Flags","MaxAlt","RadarIdx","NumberOfCrew","NCTR","Name","EmptyWeight",new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,["Str_",weathergen.falcon.files.mission.xml.move_types],
null),"CtIdx","CallsignSlots"],[weathergen.falcon.files.mission.xml.field.call(null,new cljs.core.Keyword(null,"int","int",-1741416922),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"callsign-index","callsign-index",-2090912473)],null)),weathergen.falcon.files.mission.xml.field.call(null,new cljs.core.Keyword(null,"int","int",-1741416922),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,
"hit-chance","hit-chance",-2087636980)],null)),weathergen.falcon.files.mission.xml.field.call(null,new cljs.core.Keyword(null,"int","int",-1741416922),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"fuel-wt","fuel-wt",-1341155598)],null)),weathergen.falcon.files.mission.xml.field.call(null,new cljs.core.Keyword(null,"int","int",-1741416922),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,
"visible-flags","visible-flags",1830152500)],null)),weathergen.falcon.files.mission.xml.field.call(null,new cljs.core.Keyword(null,"int","int",-1741416922),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"weapons","weapons",-1983639898)],null)),weathergen.falcon.files.mission.xml.field.call(null,new cljs.core.Keyword(null,"int","int",-1741416922),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,
"damage-mod","damage-mod",-756867116)],null)),weathergen.falcon.files.mission.xml.field.call(null,new cljs.core.Keyword(null,"int","int",-1741416922),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"fuel-econ","fuel-econ",-1774342065)],null)),weathergen.falcon.files.mission.xml.field.call(null,new cljs.core.Keyword(null,"int","int",-1741416922),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,
"engine-sound","engine-sound",-1018050458)],null)),weathergen.falcon.files.mission.xml.field.call(null,new cljs.core.Keyword(null,"float","float",-1732389368),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"rcs-factor","rcs-factor",-693378533)],null)),weathergen.falcon.files.mission.xml.field.call(null,new cljs.core.Keyword(null,"int","int",-1741416922),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,
"max-wt","max-wt",220395483)],null)),weathergen.falcon.files.mission.xml.field.call(null,new cljs.core.Keyword(null,"int","int",-1741416922),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"rack-flags","rack-flags",-1071125122)],null)),weathergen.falcon.files.mission.xml.field.call(null,new cljs.core.Keyword(null,"int","int",-1741416922),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,
"low-alt","low-alt",-228079593)],null)),weathergen.falcon.files.mission.xml.field.call(null,new cljs.core.Keyword(null,"int","int",-1741416922),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"hit-points","hit-points",-906296276)],null)),weathergen.falcon.files.mission.xml.field.call(null,new cljs.core.Keyword(null,"int","int",-1741416922),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,
"detection","detection",-1580072483)],null)),weathergen.falcon.files.mission.xml.field.call(null,new cljs.core.Keyword(null,"int","int",-1741416922),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"cruise-alt","cruise-alt",2005550721)],null)),weathergen.falcon.files.mission.xml.field.call(null,new cljs.core.Keyword(null,"int","int",-1741416922),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,
"max-speed","max-speed",-997417461)],null)),weathergen.falcon.files.mission.xml.field.call(null,new cljs.core.Keyword(null,"int","int",-1741416922),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"weapon","weapon",-504830232)],null)),weathergen.falcon.files.mission.xml.field.call(null,new cljs.core.Keyword(null,"int","int",-1741416922),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,
"range","range",1639692286)],null)),weathergen.falcon.files.mission.xml.field.call(null,new cljs.core.Keyword(null,"int","int",-1741416922),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"flags","flags",1775418075)],null)),weathergen.falcon.files.mission.xml.field.call(null,new cljs.core.Keyword(null,"int","int",-1741416922),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"high-alt",
"high-alt",-1378024467)],null)),weathergen.falcon.files.mission.xml.field.call(null,new cljs.core.Keyword(null,"int","int",-1741416922),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"radar-type","radar-type",-1913447362)],null)),weathergen.falcon.files.mission.xml.field.call(null,new cljs.core.Keyword(null,"int","int",-1741416922),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"number-of-pilots",
"number-of-pilots",-393973473)],null)),weathergen.falcon.files.mission.xml.field.call(null,new cljs.core.Keyword(null,"string","string",-1989541586),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"nctr","nctr",1306882980)],null)),weathergen.falcon.files.mission.xml.field.call(null,new cljs.core.Keyword(null,"string","string",-1989541586),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,
"name","name",1843675177)],null)),weathergen.falcon.files.mission.xml.field.call(null,new cljs.core.Keyword(null,"int","int",-1741416922),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"empty-wt","empty-wt",1037790536)],null)),weathergen.falcon.files.mission.xml.field.call(null,new cljs.core.Keyword(null,"int","int",-1741416922),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"strength",
"strength",-415606478)],null)),weathergen.falcon.files.mission.xml.field.call(null,new cljs.core.Keyword(null,"int","int",-1741416922),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"index","index",-1531685915)],null)),weathergen.falcon.files.mission.xml.field.call(null,new cljs.core.Keyword(null,"int","int",-1741416922),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"callsign-slots",
"callsign-slots",-1388847774)],null))])],null),new cljs.core.PersistentArrayMap(null,5,[new cljs.core.Keyword(null,"form","form",-1624062471),new cljs.core.Keyword(null,"vector","vector",1902966158),new cljs.core.Keyword(null,"root","root",-448657453),"FCDRecords",new cljs.core.Keyword(null,"item","item",249373802),"FCD",new cljs.core.Keyword(null,"index","index",-1531685915),"Num",new cljs.core.Keyword(null,"fields","fields",-1932066230),cljs.core.PersistentHashMap.fromArrays([new cljs.core.PersistentVector(null,
2,5,cljs.core.PersistentVector.EMPTY_NODE,["Dam_",weathergen.falcon.files.mission.xml.damage_types],null),"RepairTime","RampAngle","HitPoints","RampHeight",new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,["Det_",weathergen.falcon.files.mission.xml.move_types],null),"Flags","RadarIdx","DisplayPriority","Name","CtIdx"],[weathergen.falcon.files.mission.xml.field.call(null,new cljs.core.Keyword(null,"int","int",-1741416922),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,
[new cljs.core.Keyword(null,"damage-mod","damage-mod",-756867116)],null)),weathergen.falcon.files.mission.xml.field.call(null,new cljs.core.Keyword(null,"int","int",-1741416922),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"repair-time","repair-time",699642051)],null)),weathergen.falcon.files.mission.xml.field.call(null,new cljs.core.Keyword(null,"float","float",-1732389368),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,
[new cljs.core.Keyword(null,"angle","angle",1622094254)],null)),weathergen.falcon.files.mission.xml.field.call(null,new cljs.core.Keyword(null,"int","int",-1741416922),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"hit-points","hit-points",-906296276)],null)),weathergen.falcon.files.mission.xml.field.call(null,new cljs.core.Keyword(null,"int","int",-1741416922),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,
[new cljs.core.Keyword(null,"height","height",1025178622)],null)),weathergen.falcon.files.mission.xml.field.call(null,new cljs.core.Keyword(null,"int","int",-1741416922),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"detection","detection",-1580072483)],null)),weathergen.falcon.files.mission.xml.field.call(null,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"bitmap","bitmap",-1139196926),
cljs.core.PersistentHashMap.fromArrays([new cljs.core.Keyword(null,"flat-container?","flat-container?",800182786),new cljs.core.Keyword(null,"virtual?","virtual?",1554264002),new cljs.core.Keyword(null,"no-hiteval?","no-hiteval?",1435499525),new cljs.core.Keyword(null,"has-light-switch?","has-light-switch?",1364731174),new cljs.core.Keyword(null,"can-explode?","can-explode?",-953118361),new cljs.core.Keyword(null,"repairable?","repairable?",-1497079735),new cljs.core.Keyword(null,"can-collapse?",
"can-collapse?",-774850903),new cljs.core.Keyword(null,"can-burn?","can-burn?",-420115087),new cljs.core.Keyword(null,"has-smoke-stack?","has-smoke-stack?",118474513),new cljs.core.Keyword(null,"container-top?","container-top?",-676665355),new cljs.core.Keyword(null,"next-is-top?","next-is-top?",-1041568648),new cljs.core.Keyword(null,"elevated-container?","elevated-container?",-588974690)],[weathergen.falcon.constants.FEAT_FLAT_CONTAINER,weathergen.falcon.constants.FEAT_VIRTUAL,weathergen.falcon.constants.FEAT_NO_HITEVAL,
weathergen.falcon.constants.FEAT_HAS_LIGHT_SWITCH,weathergen.falcon.constants.FEAT_CAN_EXPLODE,weathergen.falcon.constants.FEAT_EREPAIR,weathergen.falcon.constants.FEAT_CAN_COLAPSE,weathergen.falcon.constants.FEAT_CAN_BURN,weathergen.falcon.constants.FEAT_HAS_SMOKE_STACK,weathergen.falcon.constants.FEAT_CONTAINER_TOP,weathergen.falcon.constants.FEAT_NEXT_IS_TOP,weathergen.falcon.constants.FEAT_ELEV_CONTAINER])],null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,
"flags","flags",1775418075)],null)),weathergen.falcon.files.mission.xml.field.call(null,new cljs.core.Keyword(null,"int","int",-1741416922),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"radar-type","radar-type",-1913447362)],null)),weathergen.falcon.files.mission.xml.field.call(null,new cljs.core.Keyword(null,"int","int",-1741416922),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,
"priority","priority",1431093715)],null)),weathergen.falcon.files.mission.xml.field.call(null,new cljs.core.Keyword(null,"string","string",-1989541586),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"name","name",1843675177)],null)),weathergen.falcon.files.mission.xml.field.call(null,new cljs.core.Keyword(null,"int","int",-1741416922),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,
"index","index",-1531685915)],null))])],null),new cljs.core.PersistentArrayMap(null,6,[new cljs.core.Keyword(null,"form","form",-1624062471),new cljs.core.Keyword(null,"vector","vector",1902966158),new cljs.core.Keyword(null,"root","root",-448657453),"FEDRecords",new cljs.core.Keyword(null,"item","item",249373802),"FED",new cljs.core.Keyword(null,"index","index",-1531685915),"Num",new cljs.core.Keyword(null,"missing","missing",362507769),cljs.core.PersistentArrayMap.createAsIfByAssoc([new cljs.core.PersistentVector(null,
1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"sin-heading","sin-heading",-1506379307)],null),0,new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"cos-heading","cos-heading",-514525192)],null),0]),new cljs.core.Keyword(null,"fields","fields",-1932066230),cljs.core.PersistentHashMap.fromArrays(["FeaturesDependencieCount","ObjIdx","Type","RunwayTexture","FirstPtIdx","RunwayNumber","LandingPattern","NextHeaderIdx","Data",
new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,["FeaturesDependencieIdx",weathergen.falcon.constants.MAX_FEAT_DEPEND],null)],[weathergen.falcon.files.mission.xml.field.call(null,new cljs.core.Keyword(null,"int","int",-1741416922),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"count","count",2139924085)],null)),weathergen.falcon.files.mission.xml.field.call(null,new cljs.core.Keyword(null,"int","int",-1741416922),
new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"obj-id","obj-id",1871733713)],null)),weathergen.falcon.files.mission.xml.field.call(null,new cljs.core.Keyword(null,"int","int",-1741416922),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"type","type",1174270348)],null)),weathergen.falcon.files.mission.xml.field.call(null,new cljs.core.Keyword(null,"int","int",-1741416922),new cljs.core.PersistentVector(null,
1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"tex-idx","tex-idx",1332437579)],null)),weathergen.falcon.files.mission.xml.field.call(null,new cljs.core.Keyword(null,"int","int",-1741416922),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"first","first",-644103046)],null)),weathergen.falcon.files.mission.xml.field.call(null,new cljs.core.Keyword(null,"int","int",-1741416922),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,
[new cljs.core.Keyword(null,"runway-num","runway-num",-1171395800)],null)),weathergen.falcon.files.mission.xml.field.call(null,new cljs.core.Keyword(null,"int","int",-1741416922),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"ltrt","ltrt",2069439)],null)),weathergen.falcon.files.mission.xml.field.call(null,new cljs.core.Keyword(null,"int","int",-1741416922),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,
"next-header","next-header",1386001069)],null)),weathergen.falcon.files.mission.xml.field.call(null,new cljs.core.Keyword(null,"int","int",-1741416922),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"data","data",-232669377)],null)),weathergen.falcon.files.mission.xml.field.call(null,new cljs.core.Keyword(null,"int","int",-1741416922),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,
"features","features",-1146962336)],null))])],null),new cljs.core.PersistentArrayMap(null,6,[new cljs.core.Keyword(null,"form","form",-1624062471),new cljs.core.Keyword(null,"vector","vector",1902966158),new cljs.core.Keyword(null,"root","root",-448657453),"FEDRecords",new cljs.core.Keyword(null,"item","item",249373802),"FED",new cljs.core.Keyword(null,"index","index",-1531685915),"Num",new cljs.core.Keyword(null,"missing","missing",362507769),cljs.core.PersistentArrayMap.createAsIfByAssoc([new cljs.core.PersistentVector(null,
1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"entity-class","entity-class",-1906919579)],null),new cljs.core.PersistentVector(null,8,5,cljs.core.PersistentVector.EMPTY_NODE,[0,0,0,0,0,0,0,0],null)]),new cljs.core.Keyword(null,"fields","fields",-1932066230),new cljs.core.PersistentArrayMap(null,7,["FeatureCtIdx",weathergen.falcon.files.mission.xml.field.call(null,new cljs.core.Keyword(null,"int","int",-1741416922),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,
[new cljs.core.Keyword(null,"index","index",-1531685915)],null)),"Flags",weathergen.falcon.files.mission.xml.field.call(null,new cljs.core.Keyword(null,"int","int",-1741416922),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"flags","flags",1775418075)],null)),"Value",weathergen.falcon.files.mission.xml.field.call(null,new cljs.core.Keyword(null,"int","int",-1741416922),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,
[new cljs.core.Keyword(null,"value","value",305978217)],null)),"OffsetX",weathergen.falcon.files.mission.xml.field.call(null,new cljs.core.Keyword(null,"float","float",-1732389368),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"offset","offset",296498311),new cljs.core.Keyword(null,"x","x",2099068185)],null)),"OffsetY",weathergen.falcon.files.mission.xml.field.call(null,new cljs.core.Keyword(null,"float","float",-1732389368),new cljs.core.PersistentVector(null,
2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"offset","offset",296498311),new cljs.core.Keyword(null,"y","y",-1757859776)],null)),"OffsetZ",weathergen.falcon.files.mission.xml.field.call(null,new cljs.core.Keyword(null,"float","float",-1732389368),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"offset","offset",296498311),new cljs.core.Keyword(null,"z","z",-789527183)],null)),"Heading",weathergen.falcon.files.mission.xml.field.call(null,
new cljs.core.Keyword(null,"int","int",-1741416922),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"facing","facing",-854439413)],null))],null)],null)]);
weathergen.falcon.files.mission.xml.coerce=function(a,b){if(cljs.core._EQ_.call(null,new cljs.core.Keyword(null,"int","int",-1741416922),a))return weathergen.util.str__GT_long.call(null,b);if(cljs.core._EQ_.call(null,new cljs.core.Keyword(null,"float","float",-1732389368),a))return weathergen.util.str__GT_float.call(null,b);if(cljs.core.vector_QMARK_.call(null,a)&&cljs.core._EQ_.call(null,cljs.core.first.call(null,a),new cljs.core.Keyword(null,"bitmap","bitmap",-1139196926))){var c=cljs.core.nth.call(null,
a,0,null),d=cljs.core.nth.call(null,a,1,null),e=weathergen.util.str__GT_long.call(null,b);return cljs.core.into.call(null,cljs.core.PersistentHashSet.createAsIfByAssoc([e]),cljs.core.remove.call(null,cljs.core.nil_QMARK_,function(){return function(a,b,c,d){return function n(e){return new cljs.core.LazySeq(null,function(a,b,c,d){return function(){for(;;){var a=cljs.core.seq.call(null,e);if(a){if(cljs.core.chunked_seq_QMARK_.call(null,a)){var b=cljs.core.chunk_first.call(null,a),c=cljs.core.count.call(null,
b),f=cljs.core.chunk_buffer.call(null,c);a:for(var g=0;;)if(g<c){var h=cljs.core._nth.call(null,b,g),k=cljs.core.nth.call(null,h,0,null);h=cljs.core.nth.call(null,h,1,null);cljs.core.chunk_append.call(null,f,weathergen.util.has_flag_QMARK_.call(null,d,h)?k:null);g+=1}else{b=!0;break a}return b?cljs.core.chunk_cons.call(null,cljs.core.chunk.call(null,f),n.call(null,cljs.core.chunk_rest.call(null,a))):cljs.core.chunk_cons.call(null,cljs.core.chunk.call(null,f),null)}b=cljs.core.first.call(null,a);f=
cljs.core.nth.call(null,b,0,null);b=cljs.core.nth.call(null,b,1,null);return cljs.core.cons.call(null,weathergen.util.has_flag_QMARK_.call(null,d,b)?f:null,n.call(null,cljs.core.rest.call(null,a)))}return null}}}(a,b,c,d),null,null)}}(a,c,d,e).call(null,d)}()))}return b};
weathergen.falcon.files.mission.xml.parse_vector_field=function(a,b,c){var d=cljs.core.nth.call(null,a,0,null),e=cljs.core.nth.call(null,a,1,null);return"number"===typeof e?cljs.core.mapv.call(null,function(a,d,e){return function(a){return weathergen.falcon.files.mission.xml.coerce.call(null,b,cljs.core.get.call(null,c,[cljs.core.str.cljs$core$IFn$_invoke$arity$1(d),"_",cljs.core.str.cljs$core$IFn$_invoke$arity$1(a)].join(""),weathergen.falcon.files.mission.xml.default$.call(null,b)))}}(a,d,e),cljs.core.range.call(null,
e)):cljs.core.mapv.call(null,function(a,d,e){return function(a){return weathergen.falcon.files.mission.xml.coerce.call(null,b,cljs.core.get.call(null,c,[cljs.core.str.cljs$core$IFn$_invoke$arity$1(d),cljs.core.str.cljs$core$IFn$_invoke$arity$1(a)].join("")))}}(a,d,e),e)};
weathergen.falcon.files.mission.xml.parse_field=function(a,b,c){return"string"===typeof a?(a=weathergen.falcon.files.mission.xml.coerce.call(null,b,cljs.core.get.call(null,c,a)),cljs.core.truth_(a)?a:weathergen.falcon.files.mission.xml.default$.call(null,b)):cljs.core.vector_QMARK_.call(null,a)?weathergen.falcon.files.mission.xml.parse_vector_field.call(null,a,b,c):null};weathergen.falcon.files.mission.xml.element_QMARK_=function(a){return cljs.core.map_QMARK_.call(null,a)};
weathergen.falcon.files.mission.xml.attrs=function(a){return(new cljs.core.Keyword(null,"attributes","attributes",-74013604)).cljs$core$IFn$_invoke$arity$1(a)};
weathergen.falcon.files.mission.xml.parse_elem=function(a,b){var c=null!=a&&(a.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===a.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,a):a,d=cljs.core.get.call(null,c,new cljs.core.Keyword(null,"fields","fields",-1932066230)),e=cljs.core.get.call(null,c,new cljs.core.Keyword(null,"missing","missing",362507769)),f=cljs.core.reduce.call(null,function(a,b,c,d){return function(a,b){return cljs.core.assoc.call(null,a,cljs.core.name.call(null,
(new cljs.core.Keyword(null,"tag","tag",-1290361223)).cljs$core$IFn$_invoke$arity$1(b)),cljs.core.reduce.call(null,cljs.core.str,(new cljs.core.Keyword(null,"content","content",15833224)).cljs$core$IFn$_invoke$arity$1(b)))}}(a,c,d,e),cljs.core.PersistentArrayMap.EMPTY,cljs.core.filter.call(null,weathergen.falcon.files.mission.xml.element_QMARK_,(new cljs.core.Keyword(null,"content","content",15833224)).cljs$core$IFn$_invoke$arity$1(b)));return cljs.core.reduce_kv.call(null,cljs.core.assoc_in,cljs.core.assoc.call(null,
cljs.core.reduce_kv.call(null,function(a,b,c,d,e){return function(a,b,c){var d=null!=c&&(c.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===c.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,c):c;c=cljs.core.get.call(null,d,new cljs.core.Keyword(null,"coersion","coersion",-1715479807));d=cljs.core.get.call(null,d,new cljs.core.Keyword(null,"path","path",-188191168));return cljs.core.assoc_in.call(null,a,d,weathergen.falcon.files.mission.xml.parse_field.call(null,
b,c,e))}}(a,c,d,e,f),cljs.core.PersistentArrayMap.EMPTY,d),new cljs.core.Keyword("weathergen.falcon.files.mission","index","weathergen.falcon.files.mission/index",-1989089649),weathergen.util.str__GT_long.call(null,(new cljs.core.Keyword(null,"Num","Num",609501061)).cljs$core$IFn$_invoke$arity$1(weathergen.falcon.files.mission.xml.attrs.call(null,b)))),e)};weathergen.falcon.files.mission.xml.parse_str=tubax.core.xml__GT_clj;
weathergen.falcon.files.mission.xml.parse=function(a,b){a=weathergen.falcon.files.mission.xml.parse_str.call(null,a);b=cljs.core.get.call(null,weathergen.falcon.files.mission.xml.mappings,b);return cljs.core.mapv.call(null,function(a,b){return function(a){return weathergen.falcon.files.mission.xml.parse_elem.call(null,b,a)}}(a,b),cljs.core.filter.call(null,weathergen.falcon.files.mission.xml.element_QMARK_,(new cljs.core.Keyword(null,"content","content",15833224)).cljs$core$IFn$_invoke$arity$1(a)))};var octet={buffer:{}};octet.buffer._STAR_byte_order_STAR_=new cljs.core.Keyword(null,"big-endian","big-endian",-1086482881);octet.buffer.IBufferShort=function(){};
octet.buffer.read_short=function(a,b){if(null!=a&&null!=a.octet$buffer$IBufferShort$read_short$arity$2)return a.octet$buffer$IBufferShort$read_short$arity$2(a,b);var c=octet.buffer.read_short[goog.typeOf(null==a?null:a)];if(null!=c)return c.call(null,a,b);c=octet.buffer.read_short._;if(null!=c)return c.call(null,a,b);throw cljs.core.missing_protocol.call(null,"IBufferShort.read-short",a);};
octet.buffer.write_short=function(a,b,c){if(null!=a&&null!=a.octet$buffer$IBufferShort$write_short$arity$3)return a.octet$buffer$IBufferShort$write_short$arity$3(a,b,c);var d=octet.buffer.write_short[goog.typeOf(null==a?null:a)];if(null!=d)return d.call(null,a,b,c);d=octet.buffer.write_short._;if(null!=d)return d.call(null,a,b,c);throw cljs.core.missing_protocol.call(null,"IBufferShort.write-short",a);};
octet.buffer.read_ushort=function(a,b){if(null!=a&&null!=a.octet$buffer$IBufferShort$read_ushort$arity$2)return a.octet$buffer$IBufferShort$read_ushort$arity$2(a,b);var c=octet.buffer.read_ushort[goog.typeOf(null==a?null:a)];if(null!=c)return c.call(null,a,b);c=octet.buffer.read_ushort._;if(null!=c)return c.call(null,a,b);throw cljs.core.missing_protocol.call(null,"IBufferShort.read-ushort",a);};
octet.buffer.write_ushort=function(a,b,c){if(null!=a&&null!=a.octet$buffer$IBufferShort$write_ushort$arity$3)return a.octet$buffer$IBufferShort$write_ushort$arity$3(a,b,c);var d=octet.buffer.write_ushort[goog.typeOf(null==a?null:a)];if(null!=d)return d.call(null,a,b,c);d=octet.buffer.write_ushort._;if(null!=d)return d.call(null,a,b,c);throw cljs.core.missing_protocol.call(null,"IBufferShort.write-ushort",a);};octet.buffer.IBufferInt=function(){};
octet.buffer.read_int=function(a,b){if(null!=a&&null!=a.octet$buffer$IBufferInt$read_int$arity$2)return a.octet$buffer$IBufferInt$read_int$arity$2(a,b);var c=octet.buffer.read_int[goog.typeOf(null==a?null:a)];if(null!=c)return c.call(null,a,b);c=octet.buffer.read_int._;if(null!=c)return c.call(null,a,b);throw cljs.core.missing_protocol.call(null,"IBufferInt.read-int",a);};
octet.buffer.write_int=function(a,b,c){if(null!=a&&null!=a.octet$buffer$IBufferInt$write_int$arity$3)return a.octet$buffer$IBufferInt$write_int$arity$3(a,b,c);var d=octet.buffer.write_int[goog.typeOf(null==a?null:a)];if(null!=d)return d.call(null,a,b,c);d=octet.buffer.write_int._;if(null!=d)return d.call(null,a,b,c);throw cljs.core.missing_protocol.call(null,"IBufferInt.write-int",a);};
octet.buffer.read_uint=function(a,b){if(null!=a&&null!=a.octet$buffer$IBufferInt$read_uint$arity$2)return a.octet$buffer$IBufferInt$read_uint$arity$2(a,b);var c=octet.buffer.read_uint[goog.typeOf(null==a?null:a)];if(null!=c)return c.call(null,a,b);c=octet.buffer.read_uint._;if(null!=c)return c.call(null,a,b);throw cljs.core.missing_protocol.call(null,"IBufferInt.read-uint",a);};
octet.buffer.write_uint=function(a,b,c){if(null!=a&&null!=a.octet$buffer$IBufferInt$write_uint$arity$3)return a.octet$buffer$IBufferInt$write_uint$arity$3(a,b,c);var d=octet.buffer.write_uint[goog.typeOf(null==a?null:a)];if(null!=d)return d.call(null,a,b,c);d=octet.buffer.write_uint._;if(null!=d)return d.call(null,a,b,c);throw cljs.core.missing_protocol.call(null,"IBufferInt.write-uint",a);};octet.buffer.IBufferLong=function(){};
octet.buffer.read_long=function(a,b){if(null!=a&&null!=a.octet$buffer$IBufferLong$read_long$arity$2)return a.octet$buffer$IBufferLong$read_long$arity$2(a,b);var c=octet.buffer.read_long[goog.typeOf(null==a?null:a)];if(null!=c)return c.call(null,a,b);c=octet.buffer.read_long._;if(null!=c)return c.call(null,a,b);throw cljs.core.missing_protocol.call(null,"IBufferLong.read-long",a);};
octet.buffer.write_long=function(a,b,c){if(null!=a&&null!=a.octet$buffer$IBufferLong$write_long$arity$3)return a.octet$buffer$IBufferLong$write_long$arity$3(a,b,c);var d=octet.buffer.write_long[goog.typeOf(null==a?null:a)];if(null!=d)return d.call(null,a,b,c);d=octet.buffer.write_long._;if(null!=d)return d.call(null,a,b,c);throw cljs.core.missing_protocol.call(null,"IBufferLong.write-long",a);};
octet.buffer.read_ulong=function(a,b){if(null!=a&&null!=a.octet$buffer$IBufferLong$read_ulong$arity$2)return a.octet$buffer$IBufferLong$read_ulong$arity$2(a,b);var c=octet.buffer.read_ulong[goog.typeOf(null==a?null:a)];if(null!=c)return c.call(null,a,b);c=octet.buffer.read_ulong._;if(null!=c)return c.call(null,a,b);throw cljs.core.missing_protocol.call(null,"IBufferLong.read-ulong",a);};
octet.buffer.write_ulong=function(a,b,c){if(null!=a&&null!=a.octet$buffer$IBufferLong$write_ulong$arity$3)return a.octet$buffer$IBufferLong$write_ulong$arity$3(a,b,c);var d=octet.buffer.write_ulong[goog.typeOf(null==a?null:a)];if(null!=d)return d.call(null,a,b,c);d=octet.buffer.write_ulong._;if(null!=d)return d.call(null,a,b,c);throw cljs.core.missing_protocol.call(null,"IBufferLong.write-ulong",a);};octet.buffer.IBufferFloat=function(){};
octet.buffer.read_float=function(a,b){if(null!=a&&null!=a.octet$buffer$IBufferFloat$read_float$arity$2)return a.octet$buffer$IBufferFloat$read_float$arity$2(a,b);var c=octet.buffer.read_float[goog.typeOf(null==a?null:a)];if(null!=c)return c.call(null,a,b);c=octet.buffer.read_float._;if(null!=c)return c.call(null,a,b);throw cljs.core.missing_protocol.call(null,"IBufferFloat.read-float",a);};
octet.buffer.write_float=function(a,b,c){if(null!=a&&null!=a.octet$buffer$IBufferFloat$write_float$arity$3)return a.octet$buffer$IBufferFloat$write_float$arity$3(a,b,c);var d=octet.buffer.write_float[goog.typeOf(null==a?null:a)];if(null!=d)return d.call(null,a,b,c);d=octet.buffer.write_float._;if(null!=d)return d.call(null,a,b,c);throw cljs.core.missing_protocol.call(null,"IBufferFloat.write-float",a);};octet.buffer.IBufferDouble=function(){};
octet.buffer.read_double=function(a,b){if(null!=a&&null!=a.octet$buffer$IBufferDouble$read_double$arity$2)return a.octet$buffer$IBufferDouble$read_double$arity$2(a,b);var c=octet.buffer.read_double[goog.typeOf(null==a?null:a)];if(null!=c)return c.call(null,a,b);c=octet.buffer.read_double._;if(null!=c)return c.call(null,a,b);throw cljs.core.missing_protocol.call(null,"IBufferDouble.read-double",a);};
octet.buffer.write_double=function(a,b,c){if(null!=a&&null!=a.octet$buffer$IBufferDouble$write_double$arity$3)return a.octet$buffer$IBufferDouble$write_double$arity$3(a,b,c);var d=octet.buffer.write_double[goog.typeOf(null==a?null:a)];if(null!=d)return d.call(null,a,b,c);d=octet.buffer.write_double._;if(null!=d)return d.call(null,a,b,c);throw cljs.core.missing_protocol.call(null,"IBufferDouble.write-double",a);};octet.buffer.IBufferByte=function(){};
octet.buffer.read_byte=function(a,b){if(null!=a&&null!=a.octet$buffer$IBufferByte$read_byte$arity$2)return a.octet$buffer$IBufferByte$read_byte$arity$2(a,b);var c=octet.buffer.read_byte[goog.typeOf(null==a?null:a)];if(null!=c)return c.call(null,a,b);c=octet.buffer.read_byte._;if(null!=c)return c.call(null,a,b);throw cljs.core.missing_protocol.call(null,"IBufferByte.read-byte",a);};
octet.buffer.write_byte=function(a,b,c){if(null!=a&&null!=a.octet$buffer$IBufferByte$write_byte$arity$3)return a.octet$buffer$IBufferByte$write_byte$arity$3(a,b,c);var d=octet.buffer.write_byte[goog.typeOf(null==a?null:a)];if(null!=d)return d.call(null,a,b,c);d=octet.buffer.write_byte._;if(null!=d)return d.call(null,a,b,c);throw cljs.core.missing_protocol.call(null,"IBufferByte.write-byte",a);};
octet.buffer.read_ubyte=function(a,b){if(null!=a&&null!=a.octet$buffer$IBufferByte$read_ubyte$arity$2)return a.octet$buffer$IBufferByte$read_ubyte$arity$2(a,b);var c=octet.buffer.read_ubyte[goog.typeOf(null==a?null:a)];if(null!=c)return c.call(null,a,b);c=octet.buffer.read_ubyte._;if(null!=c)return c.call(null,a,b);throw cljs.core.missing_protocol.call(null,"IBufferByte.read-ubyte",a);};
octet.buffer.write_ubyte=function(a,b,c){if(null!=a&&null!=a.octet$buffer$IBufferByte$write_ubyte$arity$3)return a.octet$buffer$IBufferByte$write_ubyte$arity$3(a,b,c);var d=octet.buffer.write_ubyte[goog.typeOf(null==a?null:a)];if(null!=d)return d.call(null,a,b,c);d=octet.buffer.write_ubyte._;if(null!=d)return d.call(null,a,b,c);throw cljs.core.missing_protocol.call(null,"IBufferByte.write-ubyte",a);};octet.buffer.IBufferBytes=function(){};
octet.buffer.read_bytes=function(a,b,c){if(null!=a&&null!=a.octet$buffer$IBufferBytes$read_bytes$arity$3)return a.octet$buffer$IBufferBytes$read_bytes$arity$3(a,b,c);var d=octet.buffer.read_bytes[goog.typeOf(null==a?null:a)];if(null!=d)return d.call(null,a,b,c);d=octet.buffer.read_bytes._;if(null!=d)return d.call(null,a,b,c);throw cljs.core.missing_protocol.call(null,"IBufferBytes.read-bytes",a);};
octet.buffer.write_bytes=function(a,b,c,d){if(null!=a&&null!=a.octet$buffer$IBufferBytes$write_bytes$arity$4)return a.octet$buffer$IBufferBytes$write_bytes$arity$4(a,b,c,d);var e=octet.buffer.write_bytes[goog.typeOf(null==a?null:a)];if(null!=e)return e.call(null,a,b,c,d);e=octet.buffer.write_bytes._;if(null!=e)return e.call(null,a,b,c,d);throw cljs.core.missing_protocol.call(null,"IBufferBytes.write-bytes",a);};octet.buffer.IBufferLimit=function(){};
octet.buffer.get_capacity=function(a){if(null!=a&&null!=a.octet$buffer$IBufferLimit$get_capacity$arity$1)return a.octet$buffer$IBufferLimit$get_capacity$arity$1(a);var b=octet.buffer.get_capacity[goog.typeOf(null==a?null:a)];if(null!=b)return b.call(null,a);b=octet.buffer.get_capacity._;if(null!=b)return b.call(null,a);throw cljs.core.missing_protocol.call(null,"IBufferLimit.get-capacity",a);};
octet.buffer.stream_operation=function(a,b,c){return cljs.core.reduce.call(null,function(b,c){var d=octet.buffer.get_capacity.call(null,c);return b>=d?b-d:cljs.core.reduced.call(null,a.call(null,c,b))},c,b)};cljs.core.PersistentVector.prototype.octet$buffer$IBufferShort$=cljs.core.PROTOCOL_SENTINEL;
cljs.core.PersistentVector.prototype.octet$buffer$IBufferShort$read_short$arity$2=function(a,b){if(!cljs.core.every_QMARK_.call(null,function(a){return function(a){return null!=a?cljs.core.PROTOCOL_SENTINEL===a.octet$buffer$IBufferShort$?!0:a.cljs$lang$protocol_mask$partition$?!1:cljs.core.native_satisfies_QMARK_.call(null,octet.buffer.IBufferShort,a):cljs.core.native_satisfies_QMARK_.call(null,octet.buffer.IBufferShort,a)}}(this),this))throw Error("Assert failed: (every? (fn* [p1__27240#] (satisfies? IBufferShort p1__27240#)) buff)");
return octet.buffer.stream_operation.call(null,octet.buffer.read_short,this,b)};
cljs.core.PersistentVector.prototype.octet$buffer$IBufferShort$write_short$arity$3=function(a,b,c){if(!cljs.core.every_QMARK_.call(null,function(a){return function(a){return null!=a?cljs.core.PROTOCOL_SENTINEL===a.octet$buffer$IBufferShort$?!0:a.cljs$lang$protocol_mask$partition$?!1:cljs.core.native_satisfies_QMARK_.call(null,octet.buffer.IBufferShort,a):cljs.core.native_satisfies_QMARK_.call(null,octet.buffer.IBufferShort,a)}}(this),this))throw Error("Assert failed: (every? (fn* [p1__27241#] (satisfies? IBufferShort p1__27241#)) buff)");
return octet.buffer.stream_operation.call(null,function(a){return function(a,b){return octet.buffer.write_short.call(null,a,b,c)}}(this),this,b)};
cljs.core.PersistentVector.prototype.octet$buffer$IBufferShort$read_ushort$arity$2=function(a,b){if(!cljs.core.every_QMARK_.call(null,function(a){return function(a){return null!=a?cljs.core.PROTOCOL_SENTINEL===a.octet$buffer$IBufferShort$?!0:a.cljs$lang$protocol_mask$partition$?!1:cljs.core.native_satisfies_QMARK_.call(null,octet.buffer.IBufferShort,a):cljs.core.native_satisfies_QMARK_.call(null,octet.buffer.IBufferShort,a)}}(this),this))throw Error("Assert failed: (every? (fn* [p1__27244#] (satisfies? IBufferShort p1__27244#)) buff)");
return octet.buffer.stream_operation.call(null,octet.buffer.read_ushort,this,b)};
cljs.core.PersistentVector.prototype.octet$buffer$IBufferShort$write_ushort$arity$3=function(a,b,c){if(!cljs.core.every_QMARK_.call(null,function(a){return function(a){return null!=a?cljs.core.PROTOCOL_SENTINEL===a.octet$buffer$IBufferShort$?!0:a.cljs$lang$protocol_mask$partition$?!1:cljs.core.native_satisfies_QMARK_.call(null,octet.buffer.IBufferShort,a):cljs.core.native_satisfies_QMARK_.call(null,octet.buffer.IBufferShort,a)}}(this),this))throw Error("Assert failed: (every? (fn* [p1__27245#] (satisfies? IBufferShort p1__27245#)) buff)");
return octet.buffer.stream_operation.call(null,function(a){return function(a,b){return octet.buffer.write_ushort.call(null,a,b,c)}}(this),this,b)};cljs.core.PersistentVector.prototype.octet$buffer$IBufferInt$=cljs.core.PROTOCOL_SENTINEL;
cljs.core.PersistentVector.prototype.octet$buffer$IBufferInt$read_int$arity$2=function(a,b){if(!cljs.core.every_QMARK_.call(null,function(a){return function(a){return null!=a?cljs.core.PROTOCOL_SENTINEL===a.octet$buffer$IBufferInt$?!0:a.cljs$lang$protocol_mask$partition$?!1:cljs.core.native_satisfies_QMARK_.call(null,octet.buffer.IBufferInt,a):cljs.core.native_satisfies_QMARK_.call(null,octet.buffer.IBufferInt,a)}}(this),this))throw Error("Assert failed: (every? (fn* [p1__27248#] (satisfies? IBufferInt p1__27248#)) buff)");
return octet.buffer.stream_operation.call(null,octet.buffer.read_int,this,b)};
cljs.core.PersistentVector.prototype.octet$buffer$IBufferInt$write_int$arity$3=function(a,b,c){if(!cljs.core.every_QMARK_.call(null,function(a){return function(a){return null!=a?cljs.core.PROTOCOL_SENTINEL===a.octet$buffer$IBufferInt$?!0:a.cljs$lang$protocol_mask$partition$?!1:cljs.core.native_satisfies_QMARK_.call(null,octet.buffer.IBufferInt,a):cljs.core.native_satisfies_QMARK_.call(null,octet.buffer.IBufferInt,a)}}(this),this))throw Error("Assert failed: (every? (fn* [p1__27249#] (satisfies? IBufferInt p1__27249#)) buff)");
return octet.buffer.stream_operation.call(null,function(a){return function(a,b){return octet.buffer.write_int.call(null,a,b,c)}}(this),this,b)};
cljs.core.PersistentVector.prototype.octet$buffer$IBufferInt$read_uint$arity$2=function(a,b){if(!cljs.core.every_QMARK_.call(null,function(a){return function(a){return null!=a?cljs.core.PROTOCOL_SENTINEL===a.octet$buffer$IBufferInt$?!0:a.cljs$lang$protocol_mask$partition$?!1:cljs.core.native_satisfies_QMARK_.call(null,octet.buffer.IBufferInt,a):cljs.core.native_satisfies_QMARK_.call(null,octet.buffer.IBufferInt,a)}}(this),this))throw Error("Assert failed: (every? (fn* [p1__27252#] (satisfies? IBufferInt p1__27252#)) buff)");
return octet.buffer.stream_operation.call(null,octet.buffer.read_uint,this,b)};
cljs.core.PersistentVector.prototype.octet$buffer$IBufferInt$write_uint$arity$3=function(a,b,c){if(!cljs.core.every_QMARK_.call(null,function(a){return function(a){return null!=a?cljs.core.PROTOCOL_SENTINEL===a.octet$buffer$IBufferInt$?!0:a.cljs$lang$protocol_mask$partition$?!1:cljs.core.native_satisfies_QMARK_.call(null,octet.buffer.IBufferInt,a):cljs.core.native_satisfies_QMARK_.call(null,octet.buffer.IBufferInt,a)}}(this),this))throw Error("Assert failed: (every? (fn* [p1__27253#] (satisfies? IBufferInt p1__27253#)) buff)");
return octet.buffer.stream_operation.call(null,function(a){return function(a,b){return octet.buffer.write_uint.call(null,a,b,c)}}(this),this,b)};cljs.core.PersistentVector.prototype.octet$buffer$IBufferLong$=cljs.core.PROTOCOL_SENTINEL;
cljs.core.PersistentVector.prototype.octet$buffer$IBufferLong$read_long$arity$2=function(a,b){if(!cljs.core.every_QMARK_.call(null,function(a){return function(a){return null!=a?cljs.core.PROTOCOL_SENTINEL===a.octet$buffer$IBufferLong$?!0:a.cljs$lang$protocol_mask$partition$?!1:cljs.core.native_satisfies_QMARK_.call(null,octet.buffer.IBufferLong,a):cljs.core.native_satisfies_QMARK_.call(null,octet.buffer.IBufferLong,a)}}(this),this))throw Error("Assert failed: (every? (fn* [p1__27256#] (satisfies? IBufferLong p1__27256#)) buff)");
return octet.buffer.stream_operation.call(null,octet.buffer.read_long,this,b)};
cljs.core.PersistentVector.prototype.octet$buffer$IBufferLong$write_long$arity$3=function(a,b,c){if(!cljs.core.every_QMARK_.call(null,function(a){return function(a){return null!=a?cljs.core.PROTOCOL_SENTINEL===a.octet$buffer$IBufferLong$?!0:a.cljs$lang$protocol_mask$partition$?!1:cljs.core.native_satisfies_QMARK_.call(null,octet.buffer.IBufferLong,a):cljs.core.native_satisfies_QMARK_.call(null,octet.buffer.IBufferLong,a)}}(this),this))throw Error("Assert failed: (every? (fn* [p1__27257#] (satisfies? IBufferLong p1__27257#)) buff)");
return octet.buffer.stream_operation.call(null,function(a){return function(a,b){return octet.buffer.write_long.call(null,a,b,c)}}(this),this,b)};
cljs.core.PersistentVector.prototype.octet$buffer$IBufferLong$read_ulong$arity$2=function(a,b){if(!cljs.core.every_QMARK_.call(null,function(a){return function(a){return null!=a?cljs.core.PROTOCOL_SENTINEL===a.octet$buffer$IBufferLong$?!0:a.cljs$lang$protocol_mask$partition$?!1:cljs.core.native_satisfies_QMARK_.call(null,octet.buffer.IBufferLong,a):cljs.core.native_satisfies_QMARK_.call(null,octet.buffer.IBufferLong,a)}}(this),this))throw Error("Assert failed: (every? (fn* [p1__27260#] (satisfies? IBufferLong p1__27260#)) buff)");
return octet.buffer.stream_operation.call(null,octet.buffer.read_ulong,this,b)};
cljs.core.PersistentVector.prototype.octet$buffer$IBufferLong$write_ulong$arity$3=function(a,b,c){if(!cljs.core.every_QMARK_.call(null,function(a){return function(a){return null!=a?cljs.core.PROTOCOL_SENTINEL===a.octet$buffer$IBufferLong$?!0:a.cljs$lang$protocol_mask$partition$?!1:cljs.core.native_satisfies_QMARK_.call(null,octet.buffer.IBufferLong,a):cljs.core.native_satisfies_QMARK_.call(null,octet.buffer.IBufferLong,a)}}(this),this))throw Error("Assert failed: (every? (fn* [p1__27261#] (satisfies? IBufferLong p1__27261#)) buff)");
return octet.buffer.stream_operation.call(null,function(a){return function(a,b){return octet.buffer.write_ulong.call(null,a,b,c)}}(this),this,b)};cljs.core.PersistentVector.prototype.octet$buffer$IBufferFloat$=cljs.core.PROTOCOL_SENTINEL;
cljs.core.PersistentVector.prototype.octet$buffer$IBufferFloat$read_float$arity$2=function(a,b){if(!cljs.core.every_QMARK_.call(null,function(a){return function(a){return null!=a?cljs.core.PROTOCOL_SENTINEL===a.octet$buffer$IBufferFloat$?!0:a.cljs$lang$protocol_mask$partition$?!1:cljs.core.native_satisfies_QMARK_.call(null,octet.buffer.IBufferFloat,a):cljs.core.native_satisfies_QMARK_.call(null,octet.buffer.IBufferFloat,a)}}(this),this))throw Error("Assert failed: (every? (fn* [p1__27264#] (satisfies? IBufferFloat p1__27264#)) buff)");
return octet.buffer.stream_operation.call(null,octet.buffer.read_float,this,b)};
cljs.core.PersistentVector.prototype.octet$buffer$IBufferFloat$write_float$arity$3=function(a,b,c){if(!cljs.core.every_QMARK_.call(null,function(a){return function(a){return null!=a?cljs.core.PROTOCOL_SENTINEL===a.octet$buffer$IBufferLong$?!0:a.cljs$lang$protocol_mask$partition$?!1:cljs.core.native_satisfies_QMARK_.call(null,octet.buffer.IBufferLong,a):cljs.core.native_satisfies_QMARK_.call(null,octet.buffer.IBufferLong,a)}}(this),this))throw Error("Assert failed: (every? (fn* [p1__27265#] (satisfies? IBufferLong p1__27265#)) buff)");
return octet.buffer.stream_operation.call(null,function(a){return function(a,b){return octet.buffer.write_float.call(null,a,b,c)}}(this),this,b)};cljs.core.PersistentVector.prototype.octet$buffer$IBufferDouble$=cljs.core.PROTOCOL_SENTINEL;
cljs.core.PersistentVector.prototype.octet$buffer$IBufferDouble$read_double$arity$2=function(a,b){if(!cljs.core.every_QMARK_.call(null,function(a){return function(a){return null!=a?cljs.core.PROTOCOL_SENTINEL===a.octet$buffer$IBufferDouble$?!0:a.cljs$lang$protocol_mask$partition$?!1:cljs.core.native_satisfies_QMARK_.call(null,octet.buffer.IBufferDouble,a):cljs.core.native_satisfies_QMARK_.call(null,octet.buffer.IBufferDouble,a)}}(this),this))throw Error("Assert failed: (every? (fn* [p1__27268#] (satisfies? IBufferDouble p1__27268#)) buff)");
return octet.buffer.stream_operation.call(null,octet.buffer.read_double,this,b)};
cljs.core.PersistentVector.prototype.octet$buffer$IBufferDouble$write_double$arity$3=function(a,b,c){if(!cljs.core.every_QMARK_.call(null,function(a){return function(a){return null!=a?cljs.core.PROTOCOL_SENTINEL===a.octet$buffer$IBufferDouble$?!0:a.cljs$lang$protocol_mask$partition$?!1:cljs.core.native_satisfies_QMARK_.call(null,octet.buffer.IBufferDouble,a):cljs.core.native_satisfies_QMARK_.call(null,octet.buffer.IBufferDouble,a)}}(this),this))throw Error("Assert failed: (every? (fn* [p1__27269#] (satisfies? IBufferDouble p1__27269#)) buff)");
return octet.buffer.stream_operation.call(null,function(a){return function(a,b){return octet.buffer.write_double.call(null,a,b,c)}}(this),this,b)};cljs.core.PersistentVector.prototype.octet$buffer$IBufferByte$=cljs.core.PROTOCOL_SENTINEL;
cljs.core.PersistentVector.prototype.octet$buffer$IBufferByte$read_byte$arity$2=function(a,b){if(!cljs.core.every_QMARK_.call(null,function(a){return function(a){return null!=a?cljs.core.PROTOCOL_SENTINEL===a.octet$buffer$IBufferByte$?!0:a.cljs$lang$protocol_mask$partition$?!1:cljs.core.native_satisfies_QMARK_.call(null,octet.buffer.IBufferByte,a):cljs.core.native_satisfies_QMARK_.call(null,octet.buffer.IBufferByte,a)}}(this),this))throw Error("Assert failed: (every? (fn* [p1__27272#] (satisfies? IBufferByte p1__27272#)) buff)");
return octet.buffer.stream_operation.call(null,octet.buffer.read_byte,this,b)};
cljs.core.PersistentVector.prototype.octet$buffer$IBufferByte$write_byte$arity$3=function(a,b,c){if(!cljs.core.every_QMARK_.call(null,function(a){return function(a){return null!=a?cljs.core.PROTOCOL_SENTINEL===a.octet$buffer$IBufferByte$?!0:a.cljs$lang$protocol_mask$partition$?!1:cljs.core.native_satisfies_QMARK_.call(null,octet.buffer.IBufferByte,a):cljs.core.native_satisfies_QMARK_.call(null,octet.buffer.IBufferByte,a)}}(this),this))throw Error("Assert failed: (every? (fn* [p1__27273#] (satisfies? IBufferByte p1__27273#)) buff)");
return octet.buffer.stream_operation.call(null,function(a){return function(a,b){return octet.buffer.write_byte.call(null,a,b,c)}}(this),this,b)};
cljs.core.PersistentVector.prototype.octet$buffer$IBufferByte$read_ubyte$arity$2=function(a,b){if(!cljs.core.every_QMARK_.call(null,function(a){return function(a){return null!=a?cljs.core.PROTOCOL_SENTINEL===a.octet$buffer$IBufferByte$?!0:a.cljs$lang$protocol_mask$partition$?!1:cljs.core.native_satisfies_QMARK_.call(null,octet.buffer.IBufferByte,a):cljs.core.native_satisfies_QMARK_.call(null,octet.buffer.IBufferByte,a)}}(this),this))throw Error("Assert failed: (every? (fn* [p1__27276#] (satisfies? IBufferByte p1__27276#)) buff)");
return octet.buffer.stream_operation.call(null,octet.buffer.read_ubyte,this,b)};
cljs.core.PersistentVector.prototype.octet$buffer$IBufferByte$write_ubyte$arity$3=function(a,b,c){if(!cljs.core.every_QMARK_.call(null,function(a){return function(a){return null!=a?cljs.core.PROTOCOL_SENTINEL===a.octet$buffer$IBufferByte$?!0:a.cljs$lang$protocol_mask$partition$?!1:cljs.core.native_satisfies_QMARK_.call(null,octet.buffer.IBufferByte,a):cljs.core.native_satisfies_QMARK_.call(null,octet.buffer.IBufferByte,a)}}(this),this))throw Error("Assert failed: (every? (fn* [p1__27277#] (satisfies? IBufferByte p1__27277#)) buff)");
return octet.buffer.stream_operation.call(null,function(a){return function(a,b){return octet.buffer.write_ubyte.call(null,a,b,c)}}(this),this,b)};cljs.core.PersistentVector.prototype.octet$buffer$IBufferBytes$=cljs.core.PROTOCOL_SENTINEL;
cljs.core.PersistentVector.prototype.octet$buffer$IBufferBytes$read_bytes$arity$3=function(a,b,c){if(!cljs.core.every_QMARK_.call(null,function(a){return function(a){return null!=a?cljs.core.PROTOCOL_SENTINEL===a.octet$buffer$IBufferBytes$?!0:a.cljs$lang$protocol_mask$partition$?!1:cljs.core.native_satisfies_QMARK_.call(null,octet.buffer.IBufferBytes,a):cljs.core.native_satisfies_QMARK_.call(null,octet.buffer.IBufferBytes,a)}}(this),this))throw Error("Assert failed: (every? (fn* [p1__27280#] (satisfies? IBufferBytes p1__27280#)) buff)");
return octet.buffer.stream_operation.call(null,function(a){return function(a,b){return octet.buffer.read_bytes.call(null,a,b,c)}}(this),this,b)};
cljs.core.PersistentVector.prototype.octet$buffer$IBufferBytes$write_bytes$arity$4=function(a,b,c,d){if(!cljs.core.every_QMARK_.call(null,function(a){return function(a){return null!=a?cljs.core.PROTOCOL_SENTINEL===a.octet$buffer$IBufferByte$?!0:a.cljs$lang$protocol_mask$partition$?!1:cljs.core.native_satisfies_QMARK_.call(null,octet.buffer.IBufferByte,a):cljs.core.native_satisfies_QMARK_.call(null,octet.buffer.IBufferByte,a)}}(this),this))throw Error("Assert failed: (every? (fn* [p1__27283#] (satisfies? IBufferByte p1__27283#)) buff)");
return octet.buffer.stream_operation.call(null,function(a){return function(a,b){return octet.buffer.write_bytes.call(null,a,b,c,d)}}(this),this,b)};cljs.core.PersistentVector.prototype.octet$buffer$IBufferLimit$=cljs.core.PROTOCOL_SENTINEL;cljs.core.PersistentVector.prototype.octet$buffer$IBufferLimit$get_capacity$arity$1=function(a){return cljs.core.reduce.call(null,function(a){return function(a,b){return a+octet.buffer.get_capacity.call(null,b)}}(this),0,this)};
DataView.prototype.octet$buffer$IBufferShort$=cljs.core.PROTOCOL_SENTINEL;DataView.prototype.octet$buffer$IBufferShort$read_short$arity$2=function(a,b){return this.getInt16(b,cljs.core._EQ_.call(null,octet.buffer._STAR_byte_order_STAR_,new cljs.core.Keyword(null,"little-endian","little-endian",1877303413)))};
DataView.prototype.octet$buffer$IBufferShort$write_short$arity$3=function(a,b,c){return this.setInt16(b,c,cljs.core._EQ_.call(null,octet.buffer._STAR_byte_order_STAR_,new cljs.core.Keyword(null,"little-endian","little-endian",1877303413)))};DataView.prototype.octet$buffer$IBufferShort$read_ushort$arity$2=function(a,b){return this.getUint16(b,cljs.core._EQ_.call(null,octet.buffer._STAR_byte_order_STAR_,new cljs.core.Keyword(null,"little-endian","little-endian",1877303413)))};
DataView.prototype.octet$buffer$IBufferShort$write_ushort$arity$3=function(a,b,c){return this.setUint16(b,c,cljs.core._EQ_.call(null,octet.buffer._STAR_byte_order_STAR_,new cljs.core.Keyword(null,"little-endian","little-endian",1877303413)))};DataView.prototype.octet$buffer$IBufferInt$=cljs.core.PROTOCOL_SENTINEL;
DataView.prototype.octet$buffer$IBufferInt$read_int$arity$2=function(a,b){return this.getInt32(b,cljs.core._EQ_.call(null,octet.buffer._STAR_byte_order_STAR_,new cljs.core.Keyword(null,"little-endian","little-endian",1877303413)))};DataView.prototype.octet$buffer$IBufferInt$write_int$arity$3=function(a,b,c){return this.setInt32(b,c,cljs.core._EQ_.call(null,octet.buffer._STAR_byte_order_STAR_,new cljs.core.Keyword(null,"little-endian","little-endian",1877303413)))};
DataView.prototype.octet$buffer$IBufferInt$read_uint$arity$2=function(a,b){return this.getUint32(b,cljs.core._EQ_.call(null,octet.buffer._STAR_byte_order_STAR_,new cljs.core.Keyword(null,"little-endian","little-endian",1877303413)))};DataView.prototype.octet$buffer$IBufferInt$write_uint$arity$3=function(a,b,c){return this.setUint32(b,c,cljs.core._EQ_.call(null,octet.buffer._STAR_byte_order_STAR_,new cljs.core.Keyword(null,"little-endian","little-endian",1877303413)))};
DataView.prototype.octet$buffer$IBufferFloat$=cljs.core.PROTOCOL_SENTINEL;DataView.prototype.octet$buffer$IBufferFloat$read_float$arity$2=function(a,b){return this.getFloat32(b,cljs.core._EQ_.call(null,octet.buffer._STAR_byte_order_STAR_,new cljs.core.Keyword(null,"little-endian","little-endian",1877303413)))};
DataView.prototype.octet$buffer$IBufferFloat$write_float$arity$3=function(a,b,c){return this.setFloat32(b,c,cljs.core._EQ_.call(null,octet.buffer._STAR_byte_order_STAR_,new cljs.core.Keyword(null,"little-endian","little-endian",1877303413)))};DataView.prototype.octet$buffer$IBufferDouble$=cljs.core.PROTOCOL_SENTINEL;
DataView.prototype.octet$buffer$IBufferDouble$read_double$arity$2=function(a,b){return this.getFloat64(b,cljs.core._EQ_.call(null,octet.buffer._STAR_byte_order_STAR_,new cljs.core.Keyword(null,"little-endian","little-endian",1877303413)))};DataView.prototype.octet$buffer$IBufferDouble$write_double$arity$3=function(a,b,c){return this.setFloat64(b,c,cljs.core._EQ_.call(null,octet.buffer._STAR_byte_order_STAR_,new cljs.core.Keyword(null,"little-endian","little-endian",1877303413)))};
DataView.prototype.octet$buffer$IBufferByte$=cljs.core.PROTOCOL_SENTINEL;DataView.prototype.octet$buffer$IBufferByte$read_byte$arity$2=function(a,b){return this.getInt8(b)};DataView.prototype.octet$buffer$IBufferByte$write_byte$arity$3=function(a,b,c){return this.setInt8(b,c)};DataView.prototype.octet$buffer$IBufferByte$read_ubyte$arity$2=function(a,b){return this.getUint8(b)};DataView.prototype.octet$buffer$IBufferByte$write_ubyte$arity$3=function(a,b,c){return this.setUint8(b,c)};
DataView.prototype.octet$buffer$IBufferBytes$=cljs.core.PROTOCOL_SENTINEL;DataView.prototype.octet$buffer$IBufferBytes$read_bytes$arity$3=function(a,b,c){return new Int8Array(this.buffer,this.byteOffset+b,c)};
DataView.prototype.octet$buffer$IBufferBytes$write_bytes$arity$4=function(a,b,c,d){a=cljs.core.seq.call(null,cljs.core.range.call(null,d.length));c=null;for(var e=0,f=0;;)if(f<e){var g=cljs.core._nth.call(null,c,f);this.setInt8(b+g,d[g]);f+=1}else if(a=cljs.core.seq.call(null,a))c=a,cljs.core.chunked_seq_QMARK_.call(null,c)?(a=cljs.core.chunk_first.call(null,c),e=cljs.core.chunk_rest.call(null,c),c=a,g=cljs.core.count.call(null,a),a=e,e=g):(g=cljs.core.first.call(null,c),this.setInt8(b+g,d[g]),a=
cljs.core.next.call(null,c),c=null,e=0),f=0;else return null};DataView.prototype.octet$buffer$IBufferLimit$=cljs.core.PROTOCOL_SENTINEL;DataView.prototype.octet$buffer$IBufferLimit$get_capacity$arity$1=function(a){return this.byteLength};
if("undefined"===typeof octet||"undefined"===typeof octet.buffer||"undefined"===typeof octet.buffer.allocate)octet.buffer.allocate=function(){var a=cljs.core.atom.call(null,cljs.core.PersistentArrayMap.EMPTY),b=cljs.core.atom.call(null,cljs.core.PersistentArrayMap.EMPTY),c=cljs.core.atom.call(null,cljs.core.PersistentArrayMap.EMPTY),d=cljs.core.atom.call(null,cljs.core.PersistentArrayMap.EMPTY),e=cljs.core.get.call(null,cljs.core.PersistentArrayMap.EMPTY,new cljs.core.Keyword(null,"hierarchy","hierarchy",
-1053470341),cljs.core.get_global_hierarchy.call(null));return new cljs.core.MultiFn(cljs.core.symbol.call(null,"octet.buffer","allocate"),function(a,b,c,d,e){return function(){var a=function(a,b){a=cljs.core.nth.call(null,b,0,null);b=null!=a&&(a.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===a.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,a):a;a=cljs.core.get.call(null,b,new cljs.core.Keyword(null,"type","type",1174270348),new cljs.core.Keyword(null,"heap",
"heap",1039710192));b=cljs.core.get.call(null,b,new cljs.core.Keyword(null,"impl","impl",1677848700),new cljs.core.Keyword(null,"es6","es6",-1791209081));return new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[a,b],null)},b=function(b,c){var d=null;if(1<arguments.length){d=0;for(var e=Array(arguments.length-1);d<e.length;)e[d]=arguments[d+1],++d;d=new cljs.core.IndexedSeq(e,0,null)}return a.call(this,b,d)};b.cljs$lang$maxFixedArity=1;b.cljs$lang$applyTo=function(b){var c=
cljs.core.first(b);b=cljs.core.rest(b);return a(c,b)};b.cljs$core$IFn$_invoke$arity$variadic=a;return b}()}(a,b,c,d,e),new cljs.core.Keyword(null,"default","default",-1987822328),e,a,b,c,d)}();
cljs.core._add_method.call(null,octet.buffer.allocate,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"heap","heap",1039710192),new cljs.core.Keyword(null,"es6","es6",-1791209081)],null),function(){var a=function(a,b){a=new ArrayBuffer(a);return new DataView(a)},b=function(b,d){var c=null;if(1<arguments.length){c=0;for(var f=Array(arguments.length-1);c<f.length;)f[c]=arguments[c+1],++c;c=new cljs.core.IndexedSeq(f,0,null)}return a.call(this,
b,c)};b.cljs$lang$maxFixedArity=1;b.cljs$lang$applyTo=function(b){var c=cljs.core.first(b);b=cljs.core.rest(b);return a(c,b)};b.cljs$core$IFn$_invoke$arity$variadic=a;return b}());weathergen.lzss={};weathergen.lzss.ring_buffer_size=4096;weathergen.lzss.break_even=2;
weathergen.lzss.expand=function(a,b,c,d){c=octet.buffer.allocate.call(null,d);var e=octet.buffer.allocate.call(null,weathergen.lzss.ring_buffer_size),f=b;b=0;for(var g=null,h=0;;){if(d<=h)return c;var k=cljs.core.mod.call(null,b,8);g=0===k?octet.buffer.read_byte.call(null,a,f):g;f=0===k?f+1:f;if(0!=(g&1<<k))k=octet.buffer.read_byte.call(null,a,f),octet.buffer.write_byte.call(null,c,h,k),octet.buffer.write_byte.call(null,e,cljs.core.mod.call(null,h+1,weathergen.lzss.ring_buffer_size),k),b+=1,h+=1,
f+=1;else{var l=octet.buffer.read_ubyte.call(null,a,f);k=octet.buffer.read_ubyte.call(null,a,f+1)+((l&15)<<8);l=weathergen.lzss.break_even+(l>>4);var m=d-h-1;m=l=l<m?l:m;for(var n=0;;)if(n<m){var p=octet.buffer.read_byte.call(null,e,cljs.core.mod.call(null,k+n,weathergen.lzss.ring_buffer_size));octet.buffer.write_byte.call(null,e,cljs.core.mod.call(null,h+n+1,weathergen.lzss.ring_buffer_size),p);octet.buffer.write_byte.call(null,c,h+n,p);n+=1}else break;b+=1;h+=l;f+=2}}};octet.util={};
var ret__4776__auto___27354=octet.util.defalias=function(a,b,c,d){return cljs.core.sequence.call(null,cljs.core.seq.call(null,cljs.core.concat.call(null,new cljs.core.List(null,new cljs.core.Symbol(null,"do","do",1686842252,null),null,1,null),new cljs.core.List(null,cljs.core.sequence.call(null,cljs.core.seq.call(null,cljs.core.concat.call(null,new cljs.core.List(null,new cljs.core.Symbol(null,"def","def",597100991,null),null,1,null),new cljs.core.List(null,c,null,1,null),new cljs.core.List(null,d,
null,1,null)))),null,1,null),new cljs.core.List(null,cljs.core.sequence.call(null,cljs.core.seq.call(null,cljs.core.concat.call(null,new cljs.core.List(null,new cljs.core.Symbol("cljs.core","alter-meta!","cljs.core/alter-meta!",574694262,null),null,1,null),new cljs.core.List(null,cljs.core.sequence.call(null,cljs.core.seq.call(null,cljs.core.concat.call(null,new cljs.core.List(null,new cljs.core.Symbol(null,"var","var",870848730,null),null,1,null),new cljs.core.List(null,c,null,1,null)))),null,1,
null),new cljs.core.List(null,new cljs.core.Symbol("cljs.core","merge","cljs.core/merge",-822184067,null),null,1,null),new cljs.core.List(null,cljs.core.sequence.call(null,cljs.core.seq.call(null,cljs.core.concat.call(null,new cljs.core.List(null,new cljs.core.Symbol("cljs.core","dissoc","cljs.core/dissoc",-432349815,null),null,1,null),new cljs.core.List(null,cljs.core.sequence.call(null,cljs.core.seq.call(null,cljs.core.concat.call(null,new cljs.core.List(null,new cljs.core.Symbol("cljs.core","meta",
"cljs.core/meta",-748218346,null),null,1,null),new cljs.core.List(null,cljs.core.sequence.call(null,cljs.core.seq.call(null,cljs.core.concat.call(null,new cljs.core.List(null,new cljs.core.Symbol(null,"var","var",870848730,null),null,1,null),new cljs.core.List(null,d,null,1,null)))),null,1,null)))),null,1,null),new cljs.core.List(null,new cljs.core.Keyword(null,"name","name",1843675177),null,1,null)))),null,1,null)))),null,1,null))))};octet.util.defalias.cljs$lang$macro=!0;
octet.util.assoc_ordered=function(a){for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;b=3<b.length?new cljs.core.IndexedSeq(b.slice(3),0,null):null;return octet.util.assoc_ordered.cljs$core$IFn$_invoke$arity$variadic(arguments[0],arguments[1],arguments[2],b)};
octet.util.assoc_ordered.cljs$core$IFn$_invoke$arity$variadic=function(a,b,c,d){for(;;)if(a=cljs.core.interleave.call(null,cljs.core.concat.call(null,cljs.core.keys.call(null,a),new cljs.core.List(null,b,null,1,null)),cljs.core.concat.call(null,cljs.core.vals.call(null,a),new cljs.core.List(null,c,null,1,null))),a=cljs.core.apply.call(null,cljs.core.array_map,a),cljs.core.truth_(d))if(cljs.core.next.call(null,d))b=cljs.core.first.call(null,d),c=cljs.core.second.call(null,d),d=cljs.core.nnext.call(null,
d);else throw cljs.core.ex_info.call(null,"assoc-ordered expects even number of arguments after map/vector, found odd number",cljs.core.PersistentArrayMap.EMPTY);else return a};octet.util.assoc_ordered.cljs$lang$maxFixedArity=3;
octet.util.assoc_ordered.cljs$lang$applyTo=function(a){var b=cljs.core.first.call(null,a),c=cljs.core.next.call(null,a);a=cljs.core.first.call(null,c);var d=cljs.core.next.call(null,c);c=cljs.core.first.call(null,d);d=cljs.core.next.call(null,d);return this.cljs$core$IFn$_invoke$arity$variadic(b,a,c,d)};octet.spec={};octet.spec.ISpec=function(){};octet.spec.read=function(a,b,c){if(null!=a&&null!=a.octet$spec$ISpec$read$arity$3)return a.octet$spec$ISpec$read$arity$3(a,b,c);var d=octet.spec.read[goog.typeOf(null==a?null:a)];if(null!=d)return d.call(null,a,b,c);d=octet.spec.read._;if(null!=d)return d.call(null,a,b,c);throw cljs.core.missing_protocol.call(null,"ISpec.read",a);};
octet.spec.write=function(a,b,c,d){if(null!=a&&null!=a.octet$spec$ISpec$write$arity$4)return a.octet$spec$ISpec$write$arity$4(a,b,c,d);var e=octet.spec.write[goog.typeOf(null==a?null:a)];if(null!=e)return e.call(null,a,b,c,d);e=octet.spec.write._;if(null!=e)return e.call(null,a,b,c,d);throw cljs.core.missing_protocol.call(null,"ISpec.write",a);};octet.spec.ISpecWithRef=function(){};
octet.spec.read_STAR_=function(a,b,c,d){if(null!=a&&null!=a.octet$spec$ISpecWithRef$read_STAR_$arity$4)return a.octet$spec$ISpecWithRef$read_STAR_$arity$4(a,b,c,d);var e=octet.spec.read_STAR_[goog.typeOf(null==a?null:a)];if(null!=e)return e.call(null,a,b,c,d);e=octet.spec.read_STAR_._;if(null!=e)return e.call(null,a,b,c,d);throw cljs.core.missing_protocol.call(null,"ISpecWithRef.read*",a);};
octet.spec.write_STAR_=function(a,b,c,d,e,f){if(null!=a&&null!=a.octet$spec$ISpecWithRef$write_STAR_$arity$6)return a.octet$spec$ISpecWithRef$write_STAR_$arity$6(a,b,c,d,e,f);var g=octet.spec.write_STAR_[goog.typeOf(null==a?null:a)];if(null!=g)return g.call(null,a,b,c,d,e,f);g=octet.spec.write_STAR_._;if(null!=g)return g.call(null,a,b,c,d,e,f);throw cljs.core.missing_protocol.call(null,"ISpecWithRef.write*",a);};octet.spec.ISpecSize=function(){};
octet.spec.size=function(a){if(null!=a&&null!=a.octet$spec$ISpecSize$size$arity$1)return a.octet$spec$ISpecSize$size$arity$1(a);var b=octet.spec.size[goog.typeOf(null==a?null:a)];if(null!=b)return b.call(null,a);b=octet.spec.size._;if(null!=b)return b.call(null,a);throw cljs.core.missing_protocol.call(null,"ISpecSize.size",a);};octet.spec.ISpecDynamicSize=function(){};
octet.spec.size_STAR_=function(a,b){if(null!=a&&null!=a.octet$spec$ISpecDynamicSize$size_STAR_$arity$2)return a.octet$spec$ISpecDynamicSize$size_STAR_$arity$2(a,b);var c=octet.spec.size_STAR_[goog.typeOf(null==a?null:a)];if(null!=c)return c.call(null,a,b);c=octet.spec.size_STAR_._;if(null!=c)return c.call(null,a,b);throw cljs.core.missing_protocol.call(null,"ISpecDynamicSize.size*",a);};
octet.spec.AssociativeSpec=function(a,b,c){this.data=a;this.dict=b;this.types=c;this.cljs$lang$protocol_mask$partition0$=2;this.cljs$lang$protocol_mask$partition1$=0};octet.spec.AssociativeSpec.prototype.cljs$core$ICounted$_count$arity$1=function(a){return cljs.core.count.call(null,this.types)};octet.spec.AssociativeSpec.prototype.octet$spec$ISpecSize$=cljs.core.PROTOCOL_SENTINEL;
octet.spec.AssociativeSpec.prototype.octet$spec$ISpecSize$size$arity$1=function(a){return cljs.core.reduce.call(null,function(a){return function(a,b){return a+octet.spec.size.call(null,b)}}(this),0,this.types)};octet.spec.AssociativeSpec.prototype.octet$spec$ISpecDynamicSize$=cljs.core.PROTOCOL_SENTINEL;
octet.spec.AssociativeSpec.prototype.octet$spec$ISpecDynamicSize$size_STAR_$arity$2=function(a,b){var c=this;return cljs.core.reduce.call(null,function(a){return function(a,b){var d=cljs.core.nth.call(null,b,0,null);b=cljs.core.nth.call(null,b,1,null);d=d.call(null,c.dict);return(null!=d?cljs.core.PROTOCOL_SENTINEL===d.octet$spec$ISpecSize$||(d.cljs$lang$protocol_mask$partition$?0:cljs.core.native_satisfies_QMARK_.call(null,octet.spec.ISpecSize,d)):cljs.core.native_satisfies_QMARK_.call(null,octet.spec.ISpecSize,
d))?a+octet.spec.size.call(null,d):a+octet.spec.size_STAR_.call(null,d,b)}}(this),0,cljs.core.into.call(null,cljs.core.PersistentVector.EMPTY,b))};octet.spec.AssociativeSpec.prototype.octet$spec$ISpec$=cljs.core.PROTOCOL_SENTINEL;
octet.spec.AssociativeSpec.prototype.octet$spec$ISpec$read$arity$3=function(a,b,c){a=c;for(var d=cljs.core.PersistentArrayMap.EMPTY,e=this.data;;){var f=cljs.core.first.call(null,e);if(cljs.core.truth_(f)){var g=f;f=cljs.core.nth.call(null,g,0,null);g=cljs.core.nth.call(null,g,1,null);var h=(null!=g?cljs.core.PROTOCOL_SENTINEL===g.octet$spec$ISpecWithRef$||(g.cljs$lang$protocol_mask$partition$?0:cljs.core.native_satisfies_QMARK_.call(null,octet.spec.ISpecWithRef,g)):cljs.core.native_satisfies_QMARK_.call(null,
octet.spec.ISpecWithRef,g))?octet.spec.read_STAR_.call(null,g,b,a,d):octet.spec.read.call(null,g,b,a);g=cljs.core.nth.call(null,h,0,null);h=cljs.core.nth.call(null,h,1,null);a+=g;d=octet.util.assoc_ordered.call(null,d,f,h);e=cljs.core.rest.call(null,e)}else return new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[a-c,d],null)}};
octet.spec.AssociativeSpec.prototype.octet$spec$ISpec$write$arity$4=function(a,b,c,d){var e=this;return cljs.core.reduce.call(null,function(a){return function(a,c){var f=cljs.core.nth.call(null,c,0,null);c=cljs.core.nth.call(null,c,1,null);f=cljs.core.get.call(null,d,f,null);f=(null!=c?cljs.core.PROTOCOL_SENTINEL===c.octet$spec$ISpecWithRef$||(c.cljs$lang$protocol_mask$partition$?0:cljs.core.native_satisfies_QMARK_.call(null,octet.spec.ISpecWithRef,c)):cljs.core.native_satisfies_QMARK_.call(null,
octet.spec.ISpecWithRef,c))?octet.spec.write_STAR_.call(null,c,b,a,f,e.dict,d):octet.spec.write.call(null,c,b,a,f);return a+f}}(this),c,e.data)-c};octet.spec.AssociativeSpec.getBasis=function(){return new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"data","data",1407862150,null),new cljs.core.Symbol(null,"dict","dict",10567054,null),new cljs.core.Symbol(null,"types","types",-2064405130,null)],null)};
octet.spec.AssociativeSpec.cljs$lang$type=!0;octet.spec.AssociativeSpec.cljs$lang$ctorStr="octet.spec/AssociativeSpec";octet.spec.AssociativeSpec.cljs$lang$ctorPrWriter=function(a,b,c){return cljs.core._write.call(null,b,"octet.spec/AssociativeSpec")};octet.spec.__GT_AssociativeSpec=function(a,b,c){return new octet.spec.AssociativeSpec(a,b,c)};octet.spec.IndexedSpec=function(a){this.types=a;this.cljs$lang$protocol_mask$partition0$=2;this.cljs$lang$protocol_mask$partition1$=0};
octet.spec.IndexedSpec.prototype.cljs$core$ICounted$_count$arity$1=function(a){return cljs.core.count.call(null,this.types)};octet.spec.IndexedSpec.prototype.octet$spec$ISpecSize$=cljs.core.PROTOCOL_SENTINEL;octet.spec.IndexedSpec.prototype.octet$spec$ISpecSize$size$arity$1=function(a){return cljs.core.reduce.call(null,function(a){return function(a,b){return a+octet.spec.size.call(null,b)}}(this),0,this.types)};octet.spec.IndexedSpec.prototype.octet$spec$ISpecDynamicSize$=cljs.core.PROTOCOL_SENTINEL;
octet.spec.IndexedSpec.prototype.octet$spec$ISpecDynamicSize$size_STAR_$arity$2=function(a,b){var c=this;return cljs.core.reduce.call(null,function(a){return function(a,b){var d=cljs.core.nth.call(null,b,0,null);b=cljs.core.nth.call(null,b,1,null);d=cljs.core.nth.call(null,c.types,d);return(null!=d?cljs.core.PROTOCOL_SENTINEL===d.octet$spec$ISpecSize$||(d.cljs$lang$protocol_mask$partition$?0:cljs.core.native_satisfies_QMARK_.call(null,octet.spec.ISpecSize,d)):cljs.core.native_satisfies_QMARK_.call(null,
octet.spec.ISpecSize,d))?a+octet.spec.size.call(null,d):a+octet.spec.size_STAR_.call(null,d,b)}}(this),0,cljs.core.map_indexed.call(null,cljs.core.vector,b))};octet.spec.IndexedSpec.prototype.octet$spec$ISpec$=cljs.core.PROTOCOL_SENTINEL;
octet.spec.IndexedSpec.prototype.octet$spec$ISpec$read$arity$3=function(a,b,c){a=c;for(var d=cljs.core.PersistentVector.EMPTY,e=this.types;;){var f=cljs.core.first.call(null,e);if(cljs.core.truth_(f)){var g=(null!=f?cljs.core.PROTOCOL_SENTINEL===f.octet$spec$ISpecWithRef$||(f.cljs$lang$protocol_mask$partition$?0:cljs.core.native_satisfies_QMARK_.call(null,octet.spec.ISpecWithRef,f)):cljs.core.native_satisfies_QMARK_.call(null,octet.spec.ISpecWithRef,f))?octet.spec.read_STAR_.call(null,f,b,a,d):octet.spec.read.call(null,
f,b,a);f=cljs.core.nth.call(null,g,0,null);g=cljs.core.nth.call(null,g,1,null);a+=f;d=cljs.core.conj.call(null,d,g);e=cljs.core.rest.call(null,e)}else return new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[a-c,d],null)}};
octet.spec.IndexedSpec.prototype.octet$spec$ISpec$write$arity$4=function(a,b,c,d){var e=this;a=cljs.core.map_indexed.call(null,cljs.core.vector,e.types);return cljs.core.reduce.call(null,function(a,c){return function(a,c){var f=cljs.core.nth.call(null,c,0,null);c=cljs.core.nth.call(null,c,1,null);f=cljs.core.nth.call(null,d,f,null);f=(null!=c?cljs.core.PROTOCOL_SENTINEL===c.octet$spec$ISpecWithRef$||(c.cljs$lang$protocol_mask$partition$?0:cljs.core.native_satisfies_QMARK_.call(null,octet.spec.ISpecWithRef,
c)):cljs.core.native_satisfies_QMARK_.call(null,octet.spec.ISpecWithRef,c))?octet.spec.write_STAR_.call(null,c,b,a,f,e.types,d):octet.spec.write.call(null,c,b,a,f);return a+f}}(a,this),c,a)-c};octet.spec.IndexedSpec.getBasis=function(){return new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"types","types",-2064405130,null)],null)};octet.spec.IndexedSpec.cljs$lang$type=!0;octet.spec.IndexedSpec.cljs$lang$ctorStr="octet.spec/IndexedSpec";
octet.spec.IndexedSpec.cljs$lang$ctorPrWriter=function(a,b,c){return cljs.core._write.call(null,b,"octet.spec/IndexedSpec")};octet.spec.__GT_IndexedSpec=function(a){return new octet.spec.IndexedSpec(a)};
octet.spec.spec_QMARK_=function(a){var b=null!=a?cljs.core.PROTOCOL_SENTINEL===a.octet$spec$ISpecWithRef$?!0:a.cljs$lang$protocol_mask$partition$?!1:cljs.core.native_satisfies_QMARK_.call(null,octet.spec.ISpecWithRef,a):cljs.core.native_satisfies_QMARK_.call(null,octet.spec.ISpecWithRef,a);return b?b:null!=a?cljs.core.PROTOCOL_SENTINEL===a.octet$spec$ISpec$?!0:a.cljs$lang$protocol_mask$partition$?!1:cljs.core.native_satisfies_QMARK_.call(null,octet.spec.ISpec,a):cljs.core.native_satisfies_QMARK_.call(null,
octet.spec.ISpec,a)};octet.spec.associative_spec=function(a){for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;b=0<b.length?new cljs.core.IndexedSeq(b.slice(0),0,null):null;return octet.spec.associative_spec.cljs$core$IFn$_invoke$arity$variadic(b)};
octet.spec.associative_spec.cljs$core$IFn$_invoke$arity$variadic=function(a){var b=cljs.core.mapv.call(null,cljs.core.vec,cljs.core.partition.call(null,2,a));a=cljs.core.apply.call(null,cljs.core.array_map,a);var c=cljs.core.map.call(null,cljs.core.second,b);return new octet.spec.AssociativeSpec(b,a,c)};octet.spec.associative_spec.cljs$lang$maxFixedArity=0;octet.spec.associative_spec.cljs$lang$applyTo=function(a){return this.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq.call(null,a))};
octet.spec.indexed_spec=function(a){for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;b=0<b.length?new cljs.core.IndexedSeq(b.slice(0),0,null):null;return octet.spec.indexed_spec.cljs$core$IFn$_invoke$arity$variadic(b)};octet.spec.indexed_spec.cljs$core$IFn$_invoke$arity$variadic=function(a){return new octet.spec.IndexedSpec(a)};octet.spec.indexed_spec.cljs$lang$maxFixedArity=0;
octet.spec.indexed_spec.cljs$lang$applyTo=function(a){return this.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq.call(null,a))};octet.spec.spec=function(a){for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;b=0<b.length?new cljs.core.IndexedSeq(b.slice(0),0,null):null;return octet.spec.spec.cljs$core$IFn$_invoke$arity$variadic(b)};
octet.spec.spec.cljs$core$IFn$_invoke$arity$variadic=function(a){var b=cljs.core.count.call(null,a);if(cljs.core.every_QMARK_.call(null,octet.spec.spec_QMARK_,a))return cljs.core.apply.call(null,octet.spec.indexed_spec,a);if(cljs.core.even_QMARK_.call(null,b)&&cljs.core.first.call(null,a)instanceof cljs.core.Keyword&&octet.spec.spec_QMARK_.call(null,cljs.core.second.call(null,a)))return cljs.core.apply.call(null,octet.spec.associative_spec,a);throw cljs.core.ex_info.call(null,"Invalid arguments",
cljs.core.PersistentArrayMap.EMPTY);};octet.spec.spec.cljs$lang$maxFixedArity=0;octet.spec.spec.cljs$lang$applyTo=function(a){return this.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq.call(null,a))};
octet.spec.repeat=function(a,b){if("undefined"===typeof octet||"undefined"===typeof octet.spec||"undefined"===typeof octet.spec.t_octet$spec27433)octet.spec.t_octet$spec27433=function(a,b,e){this.n=a;this.type=b;this.meta27434=e;this.cljs$lang$protocol_mask$partition0$=393216;this.cljs$lang$protocol_mask$partition1$=0},octet.spec.t_octet$spec27433.prototype.cljs$core$IWithMeta$_with_meta$arity$2=function(a,b){return new octet.spec.t_octet$spec27433(this.n,this.type,b)},octet.spec.t_octet$spec27433.prototype.cljs$core$IMeta$_meta$arity$1=
function(a){return this.meta27434},octet.spec.t_octet$spec27433.prototype.octet$spec$ISpecSize$=cljs.core.PROTOCOL_SENTINEL,octet.spec.t_octet$spec27433.prototype.octet$spec$ISpecSize$size$arity$1=function(a){return this.n*octet.spec.size.call(null,this.type)},octet.spec.t_octet$spec27433.prototype.octet$spec$ISpecDynamicSize$=cljs.core.PROTOCOL_SENTINEL,octet.spec.t_octet$spec27433.prototype.octet$spec$ISpecDynamicSize$size_STAR_$arity$2=function(a,b){var c=this;return cljs.core.reduce.call(null,
function(a){return function(a,b){cljs.core.nth.call(null,b,0,null);b=cljs.core.nth.call(null,b,1,null);return(null!=c.type?cljs.core.PROTOCOL_SENTINEL===c.type.octet$spec$ISpecSize$||(c.type.cljs$lang$protocol_mask$partition$?0:cljs.core.native_satisfies_QMARK_.call(null,octet.spec.ISpecSize,c.type)):cljs.core.native_satisfies_QMARK_.call(null,octet.spec.ISpecSize,c.type))?a+octet.spec.size.call(null,c.type):a+octet.spec.size_STAR_.call(null,c.type,b)}}(this),0,cljs.core.map_indexed.call(null,cljs.core.vector,
b))},octet.spec.t_octet$spec27433.prototype.octet$spec$ISpec$=cljs.core.PROTOCOL_SENTINEL,octet.spec.t_octet$spec27433.prototype.octet$spec$ISpec$read$arity$3=function(a,b,e){a=e;for(var c=cljs.core.PersistentVector.EMPTY,d=cljs.core.take.call(null,this.n,cljs.core.repeatedly.call(null,cljs.core.constantly.call(null,this.type)));;){var h=cljs.core.first.call(null,d);if(cljs.core.truth_(h)){var k=octet.spec.read.call(null,h,b,a);h=cljs.core.nth.call(null,k,0,null);k=cljs.core.nth.call(null,k,1,null);
a+=h;c=cljs.core.conj.call(null,c,k);d=cljs.core.rest.call(null,d)}else return new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[a-e,c],null)}},octet.spec.t_octet$spec27433.prototype.octet$spec$ISpec$write$arity$4=function(a,b,e,f){a=f;for(f=e;;){var c=cljs.core.first.call(null,a);if(cljs.core.truth_(c))c=octet.spec.write.call(null,this.type,b,f,c),a=cljs.core.rest.call(null,a),f+=c;else return f-e}},octet.spec.t_octet$spec27433.getBasis=function(){return new cljs.core.PersistentVector(null,
3,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"n","n",-2092305744,null),new cljs.core.Symbol(null,"type","type",-1480165421,null),new cljs.core.Symbol(null,"meta27434","meta27434",352217674,null)],null)},octet.spec.t_octet$spec27433.cljs$lang$type=!0,octet.spec.t_octet$spec27433.cljs$lang$ctorStr="octet.spec/t_octet$spec27433",octet.spec.t_octet$spec27433.cljs$lang$ctorPrWriter=function(a,b,e){return cljs.core._write.call(null,b,"octet.spec/t_octet$spec27433")},octet.spec.__GT_t_octet$spec27433=
function(a,b,e){return new octet.spec.t_octet$spec27433(a,b,e)};return new octet.spec.t_octet$spec27433(a,b,cljs.core.PersistentArrayMap.EMPTY)};
octet.spec.compose=function(a,b){if(!cljs.core.fn_QMARK_.call(null,a))throw Error("Assert failed: (fn? constructor)");if(!cljs.core.vector_QMARK_.call(null,b))throw Error("Assert failed: (vector? types)");var c=cljs.core.apply.call(null,octet.spec.spec,b);if("undefined"===typeof octet||"undefined"===typeof octet.spec||"undefined"===typeof octet.spec.t_octet$spec27452)octet.spec.t_octet$spec27452=function(a,b,c,g){this.constructor$=a;this.types=b;this.spec_SINGLEQUOTE_=c;this.meta27453=g;this.cljs$lang$protocol_mask$partition0$=
393216;this.cljs$lang$protocol_mask$partition1$=0},octet.spec.t_octet$spec27452.prototype.cljs$core$IWithMeta$_with_meta$arity$2=function(a){return function(a,b){return new octet.spec.t_octet$spec27452(this.constructor$,this.types,this.spec_SINGLEQUOTE_,b)}}(c),octet.spec.t_octet$spec27452.prototype.cljs$core$IMeta$_meta$arity$1=function(a){return function(a){return this.meta27453}}(c),octet.spec.t_octet$spec27452.prototype.octet$spec$ISpecSize$=cljs.core.PROTOCOL_SENTINEL,octet.spec.t_octet$spec27452.prototype.octet$spec$ISpecSize$size$arity$1=
function(a){return function(a){return octet.spec.size.call(null,this.spec_SINGLEQUOTE_)}}(c),octet.spec.t_octet$spec27452.prototype.octet$spec$ISpec$=cljs.core.PROTOCOL_SENTINEL,octet.spec.t_octet$spec27452.prototype.octet$spec$ISpec$read$arity$3=function(a){return function(a,b,c){b=octet.spec.read.call(null,this.spec_SINGLEQUOTE_,b,c);a=cljs.core.nth.call(null,b,0,null);b=cljs.core.nth.call(null,b,1,null);return new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[a,cljs.core.apply.call(null,
this.constructor$,b)],null)}}(c),octet.spec.t_octet$spec27452.prototype.octet$spec$ISpec$write$arity$4=function(a){return function(a,b,c,d){a=cljs.core.vec.call(null,cljs.core.vals.call(null,d));return octet.spec.write.call(null,this.spec_SINGLEQUOTE_,b,c,a)}}(c),octet.spec.t_octet$spec27452.getBasis=function(a){return function(){return new cljs.core.PersistentVector(null,4,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"constructor","constructor",-313397284,null),new cljs.core.Symbol(null,
"types","types",-2064405130,null),new cljs.core.Symbol(null,"spec'","spec'",-1719556456,null),new cljs.core.Symbol(null,"meta27453","meta27453",858132283,null)],null)}}(c),octet.spec.t_octet$spec27452.cljs$lang$type=!0,octet.spec.t_octet$spec27452.cljs$lang$ctorStr="octet.spec/t_octet$spec27452",octet.spec.t_octet$spec27452.cljs$lang$ctorPrWriter=function(a){return function(a,b,c){return cljs.core._write.call(null,b,"octet.spec/t_octet$spec27452")}}(c),octet.spec.__GT_t_octet$spec27452=function(a){return function(a,
b,c,d){return new octet.spec.t_octet$spec27452(a,b,c,d)}}(c);return new octet.spec.t_octet$spec27452(a,b,c,cljs.core.PersistentArrayMap.EMPTY)};octet.spec.string={};octet.spec.string.zeropad_count=function(a){return cljs.core.reduce.call(null,function(b){return function(c,d){return cljs.core._EQ_.call(null,a[d],b)?c+1:cljs.core.reduced.call(null,c)}}(0),0,cljs.core.reverse.call(null,cljs.core.range.call(null,cljs.core.count.call(null,a))))};
octet.spec.string.zeropad_BANG_=function(a,b){for(var c=cljs.core.seq.call(null,cljs.core.range.call(null,a.length)),d=null,e=0,f=0;;)if(f<e){var g=cljs.core._nth.call(null,d,f);g>b&&(a[g]=0);f+=1}else if(c=cljs.core.seq.call(null,c))d=c,cljs.core.chunked_seq_QMARK_.call(null,d)?(c=cljs.core.chunk_first.call(null,d),e=cljs.core.chunk_rest.call(null,d),d=c,g=cljs.core.count.call(null,c),c=e,e=g):(g=cljs.core.first.call(null,d),g>b&&(a[g]=0),c=cljs.core.next.call(null,d),d=null,e=0),f=0;else return null};
octet.spec.string.bytes__GT_string=function(a,b){a=a.subarray(0,b);a=new Uint8Array(a);return String.fromCharCode.apply(null,a)};
octet.spec.string.string__GT_bytes=function(a){for(var b=new ArrayBuffer(cljs.core.count.call(null,a)),c=new Uint8Array(b),d=cljs.core.seq.call(null,cljs.core.range.call(null,cljs.core.count.call(null,a))),e=null,f=0,g=0;;)if(g<f){var h=cljs.core._nth.call(null,e,g);c[h]=a.charCodeAt(h);g+=1}else if(d=cljs.core.seq.call(null,d))e=d,cljs.core.chunked_seq_QMARK_.call(null,e)?(d=cljs.core.chunk_first.call(null,e),g=cljs.core.chunk_rest.call(null,e),e=d,f=cljs.core.count.call(null,d),d=g):(d=cljs.core.first.call(null,
e),c[d]=a.charCodeAt(d),d=cljs.core.next.call(null,e),e=null,f=0),g=0;else break;return new Int8Array(b)};octet.spec.string.arraycopy=function(a,b,c){return cljs.core.reduce.call(null,function(c,e){return b[e]=a[e]},null,cljs.core.range.call(null,a.length))};octet.spec.string.byte_array=function(a){return new Int8Array(a)};Int8Array.prototype.cljs$core$ICounted$=cljs.core.PROTOCOL_SENTINEL;Int8Array.prototype.cljs$core$ICounted$_count$arity$1=function(a){return this.length};
octet.spec.string.string=function(a){if("undefined"===typeof octet||"undefined"===typeof octet.spec||"undefined"===typeof octet.spec.string||"undefined"===typeof octet.spec.string.t_octet$spec$string27501)octet.spec.string.t_octet$spec$string27501=function(a,c){this.size=a;this.meta27502=c;this.cljs$lang$protocol_mask$partition0$=393216;this.cljs$lang$protocol_mask$partition1$=0},octet.spec.string.t_octet$spec$string27501.prototype.cljs$core$IWithMeta$_with_meta$arity$2=function(a,c){return new octet.spec.string.t_octet$spec$string27501(this.size,
c)},octet.spec.string.t_octet$spec$string27501.prototype.cljs$core$IMeta$_meta$arity$1=function(a){return this.meta27502},octet.spec.string.t_octet$spec$string27501.prototype.octet$spec$ISpecSize$=cljs.core.PROTOCOL_SENTINEL,octet.spec.string.t_octet$spec$string27501.prototype.octet$spec$ISpecSize$size$arity$1=function(a){return this.size},octet.spec.string.t_octet$spec$string27501.prototype.octet$spec$ISpec$=cljs.core.PROTOCOL_SENTINEL,octet.spec.string.t_octet$spec$string27501.prototype.octet$spec$ISpec$read$arity$3=
function(a,c,d){a=octet.buffer.read_bytes.call(null,c,d,this.size);c=this.size-octet.spec.string.zeropad_count.call(null,a);a=octet.spec.string.bytes__GT_string.call(null,a,c);return new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[this.size,a],null)},octet.spec.string.t_octet$spec$string27501.prototype.octet$spec$ISpec$write$arity$4=function(a,c,d,e){a=octet.spec.string.string__GT_bytes.call(null,e);e=cljs.core.count.call(null,a);var b=octet.spec.string.byte_array.call(null,
this.size);e<this.size?octet.spec.string.arraycopy.call(null,a,b,e):octet.spec.string.arraycopy.call(null,a,b,this.size);e<this.size&&octet.spec.string.zeropad_BANG_.call(null,b,e);octet.buffer.write_bytes.call(null,c,d,this.size,b);return this.size},octet.spec.string.t_octet$spec$string27501.getBasis=function(){return new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"size","size",-1555742762,null),new cljs.core.Symbol(null,"meta27502","meta27502",
-956939249,null)],null)},octet.spec.string.t_octet$spec$string27501.cljs$lang$type=!0,octet.spec.string.t_octet$spec$string27501.cljs$lang$ctorStr="octet.spec.string/t_octet$spec$string27501",octet.spec.string.t_octet$spec$string27501.cljs$lang$ctorPrWriter=function(a,c,d){return cljs.core._write.call(null,c,"octet.spec.string/t_octet$spec$string27501")},octet.spec.string.__GT_t_octet$spec$string27501=function(a,c){return new octet.spec.string.t_octet$spec$string27501(a,c)};return new octet.spec.string.t_octet$spec$string27501(a,
cljs.core.PersistentArrayMap.EMPTY)};
octet.spec.string.string_STAR_=function(){if("undefined"===typeof octet||"undefined"===typeof octet.spec||"undefined"===typeof octet.spec.string||"undefined"===typeof octet.spec.string.t_octet$spec$string27504)octet.spec.string.t_octet$spec$string27504=function(a){this.meta27505=a;this.cljs$lang$protocol_mask$partition0$=393217;this.cljs$lang$protocol_mask$partition1$=0},octet.spec.string.t_octet$spec$string27504.prototype.cljs$core$IWithMeta$_with_meta$arity$2=function(a,b){return new octet.spec.string.t_octet$spec$string27504(b)},
octet.spec.string.t_octet$spec$string27504.prototype.cljs$core$IMeta$_meta$arity$1=function(a){return this.meta27505},octet.spec.string.t_octet$spec$string27504.prototype.call=function(a){return this},octet.spec.string.t_octet$spec$string27504.prototype.apply=function(a,b){return this.call.apply(this,[this].concat(cljs.core.aclone.call(null,b)))},octet.spec.string.t_octet$spec$string27504.prototype.cljs$core$IFn$_invoke$arity$0=function(){return this},octet.spec.string.t_octet$spec$string27504.prototype.octet$spec$ISpecDynamicSize$=
cljs.core.PROTOCOL_SENTINEL,octet.spec.string.t_octet$spec$string27504.prototype.octet$spec$ISpecDynamicSize$size_STAR_$arity$2=function(a,b){a=octet.spec.string.string__GT_bytes.call(null,b);return 4+cljs.core.count.call(null,a)},octet.spec.string.t_octet$spec$string27504.prototype.octet$spec$ISpec$=cljs.core.PROTOCOL_SENTINEL,octet.spec.string.t_octet$spec$string27504.prototype.octet$spec$ISpec$read$arity$3=function(a,b,c){a=octet.buffer.read_int.call(null,b,c);b=octet.buffer.read_bytes.call(null,
b,c+4,a);b=octet.spec.string.bytes__GT_string.call(null,b,a);return new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[a+4,b],null)},octet.spec.string.t_octet$spec$string27504.prototype.octet$spec$ISpec$write$arity$4=function(a,b,c,d){a=octet.spec.string.string__GT_bytes.call(null,d);d=cljs.core.count.call(null,a);octet.buffer.write_int.call(null,b,c,d);octet.buffer.write_bytes.call(null,b,c+4,d,a);return d+4},octet.spec.string.t_octet$spec$string27504.getBasis=function(){return new cljs.core.PersistentVector(null,
1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"meta27505","meta27505",-755153094,null)],null)},octet.spec.string.t_octet$spec$string27504.cljs$lang$type=!0,octet.spec.string.t_octet$spec$string27504.cljs$lang$ctorStr="octet.spec.string/t_octet$spec$string27504",octet.spec.string.t_octet$spec$string27504.cljs$lang$ctorPrWriter=function(a,b,c){return cljs.core._write.call(null,b,"octet.spec.string/t_octet$spec$string27504")},octet.spec.string.__GT_t_octet$spec$string27504=function(a){return new octet.spec.string.t_octet$spec$string27504(a)};
return new octet.spec.string.t_octet$spec$string27504(cljs.core.PersistentArrayMap.EMPTY)}();octet.spec.basic={};
octet.spec.basic.primitive_spec=function(a,b,c){if("undefined"===typeof octet||"undefined"===typeof octet.spec||"undefined"===typeof octet.spec.basic||"undefined"===typeof octet.spec.basic.t_octet$spec$basic27510)octet.spec.basic.t_octet$spec$basic27510=function(a,b,c,g){this.size=a;this.readfn=b;this.writefn=c;this.meta27511=g;this.cljs$lang$protocol_mask$partition0$=393217;this.cljs$lang$protocol_mask$partition1$=0},octet.spec.basic.t_octet$spec$basic27510.prototype.cljs$core$IWithMeta$_with_meta$arity$2=function(a,
b){return new octet.spec.basic.t_octet$spec$basic27510(this.size,this.readfn,this.writefn,b)},octet.spec.basic.t_octet$spec$basic27510.prototype.cljs$core$IMeta$_meta$arity$1=function(a){return this.meta27511},octet.spec.basic.t_octet$spec$basic27510.prototype.call=function(a){return this},octet.spec.basic.t_octet$spec$basic27510.prototype.apply=function(a,b){return this.call.apply(this,[this].concat(cljs.core.aclone.call(null,b)))},octet.spec.basic.t_octet$spec$basic27510.prototype.cljs$core$IFn$_invoke$arity$0=
function(){return this},octet.spec.basic.t_octet$spec$basic27510.prototype.octet$spec$ISpecSize$=cljs.core.PROTOCOL_SENTINEL,octet.spec.basic.t_octet$spec$basic27510.prototype.octet$spec$ISpecSize$size$arity$1=function(a){return this.size},octet.spec.basic.t_octet$spec$basic27510.prototype.octet$spec$ISpec$=cljs.core.PROTOCOL_SENTINEL,octet.spec.basic.t_octet$spec$basic27510.prototype.octet$spec$ISpec$read$arity$3=function(a,b,c){a=this.readfn.call(null,b,c);return new cljs.core.PersistentVector(null,
2,5,cljs.core.PersistentVector.EMPTY_NODE,[this.size,a],null)},octet.spec.basic.t_octet$spec$basic27510.prototype.octet$spec$ISpec$write$arity$4=function(a,b,c,g){null!=g&&this.writefn.call(null,b,c,g);return this.size},octet.spec.basic.t_octet$spec$basic27510.getBasis=function(){return new cljs.core.PersistentVector(null,4,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"size","size",-1555742762,null),new cljs.core.Symbol(null,"readfn","readfn",1394986672,null),new cljs.core.Symbol(null,
"writefn","writefn",1052701163,null),new cljs.core.Symbol(null,"meta27511","meta27511",343898540,null)],null)},octet.spec.basic.t_octet$spec$basic27510.cljs$lang$type=!0,octet.spec.basic.t_octet$spec$basic27510.cljs$lang$ctorStr="octet.spec.basic/t_octet$spec$basic27510",octet.spec.basic.t_octet$spec$basic27510.cljs$lang$ctorPrWriter=function(a,b,c){return cljs.core._write.call(null,b,"octet.spec.basic/t_octet$spec$basic27510")},octet.spec.basic.__GT_t_octet$spec$basic27510=function(a,b,c,g){return new octet.spec.basic.t_octet$spec$basic27510(a,
b,c,g)};return new octet.spec.basic.t_octet$spec$basic27510(a,b,c,cljs.core.PersistentArrayMap.EMPTY)};
octet.spec.basic.bool=function(){if("undefined"===typeof octet||"undefined"===typeof octet.spec||"undefined"===typeof octet.spec.basic||"undefined"===typeof octet.spec.basic.t_octet$spec$basic27516)octet.spec.basic.t_octet$spec$basic27516=function(a){this.meta27517=a;this.cljs$lang$protocol_mask$partition0$=393217;this.cljs$lang$protocol_mask$partition1$=0},octet.spec.basic.t_octet$spec$basic27516.prototype.cljs$core$IWithMeta$_with_meta$arity$2=function(a,b){return new octet.spec.basic.t_octet$spec$basic27516(b)},
octet.spec.basic.t_octet$spec$basic27516.prototype.cljs$core$IMeta$_meta$arity$1=function(a){return this.meta27517},octet.spec.basic.t_octet$spec$basic27516.prototype.call=function(a){return this},octet.spec.basic.t_octet$spec$basic27516.prototype.apply=function(a,b){return this.call.apply(this,[this].concat(cljs.core.aclone.call(null,b)))},octet.spec.basic.t_octet$spec$basic27516.prototype.cljs$core$IFn$_invoke$arity$0=function(){return this},octet.spec.basic.t_octet$spec$basic27516.prototype.octet$spec$ISpecSize$=
cljs.core.PROTOCOL_SENTINEL,octet.spec.basic.t_octet$spec$basic27516.prototype.octet$spec$ISpecSize$size$arity$1=function(a){return 1},octet.spec.basic.t_octet$spec$basic27516.prototype.octet$spec$ISpec$=cljs.core.PROTOCOL_SENTINEL,octet.spec.basic.t_octet$spec$basic27516.prototype.octet$spec$ISpec$read$arity$3=function(a,b,c){c=octet.buffer.read_byte.call(null,b,c);a=cljs.core.PersistentVector;b=cljs.core.PersistentVector.EMPTY_NODE;var d=cljs.core._EQ_;c=cljs.core.truth_(d.call(null,0,c))?!1:cljs.core.truth_(d.call(null,
1,c))?!0:null;return new a(null,2,5,b,[1,c],null)},octet.spec.basic.t_octet$spec$basic27516.prototype.octet$spec$ISpec$write$arity$4=function(a,b,c,d){a=cljs.core._EQ_;d=cljs.core.truth_(a.call(null,!0,d))?1:cljs.core.truth_(a.call(null,!1,d))?0:-1;octet.buffer.write_byte.call(null,b,c,d);return 1},octet.spec.basic.t_octet$spec$basic27516.getBasis=function(){return new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"meta27517","meta27517",622269238,
null)],null)},octet.spec.basic.t_octet$spec$basic27516.cljs$lang$type=!0,octet.spec.basic.t_octet$spec$basic27516.cljs$lang$ctorStr="octet.spec.basic/t_octet$spec$basic27516",octet.spec.basic.t_octet$spec$basic27516.cljs$lang$ctorPrWriter=function(a,b,c){return cljs.core._write.call(null,b,"octet.spec.basic/t_octet$spec$basic27516")},octet.spec.basic.__GT_t_octet$spec$basic27516=function(a){return new octet.spec.basic.t_octet$spec$basic27516(a)};return new octet.spec.basic.t_octet$spec$basic27516(cljs.core.PersistentArrayMap.EMPTY)}();
octet.spec.basic.byte$=octet.spec.basic.primitive_spec.call(null,1,octet.buffer.read_byte,octet.buffer.write_byte);octet.spec.basic.int16=octet.spec.basic.primitive_spec.call(null,2,octet.buffer.read_short,octet.buffer.write_short);octet.spec.basic.int32=octet.spec.basic.primitive_spec.call(null,4,octet.buffer.read_int,octet.buffer.write_int);octet.spec.basic.int64=octet.spec.basic.primitive_spec.call(null,8,octet.buffer.read_long,octet.buffer.write_long);
octet.spec.basic.float$=octet.spec.basic.primitive_spec.call(null,4,octet.buffer.read_float,octet.buffer.write_float);octet.spec.basic.double$=octet.spec.basic.primitive_spec.call(null,8,octet.buffer.read_double,octet.buffer.write_double);
octet.spec.basic.bytes=function(a){if("undefined"===typeof octet||"undefined"===typeof octet.spec||"undefined"===typeof octet.spec.basic||"undefined"===typeof octet.spec.basic.t_octet$spec$basic27526)octet.spec.basic.t_octet$spec$basic27526=function(a,c){this.size=a;this.meta27527=c;this.cljs$lang$protocol_mask$partition0$=393216;this.cljs$lang$protocol_mask$partition1$=0},octet.spec.basic.t_octet$spec$basic27526.prototype.cljs$core$IWithMeta$_with_meta$arity$2=function(a,c){return new octet.spec.basic.t_octet$spec$basic27526(this.size,
c)},octet.spec.basic.t_octet$spec$basic27526.prototype.cljs$core$IMeta$_meta$arity$1=function(a){return this.meta27527},octet.spec.basic.t_octet$spec$basic27526.prototype.octet$spec$ISpecSize$=cljs.core.PROTOCOL_SENTINEL,octet.spec.basic.t_octet$spec$basic27526.prototype.octet$spec$ISpecSize$size$arity$1=function(a){return this.size},octet.spec.basic.t_octet$spec$basic27526.prototype.octet$spec$ISpec$=cljs.core.PROTOCOL_SENTINEL,octet.spec.basic.t_octet$spec$basic27526.prototype.octet$spec$ISpec$read$arity$3=
function(a,c,d){return new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[this.size,octet.buffer.read_bytes.call(null,c,d,this.size)],null)},octet.spec.basic.t_octet$spec$basic27526.prototype.octet$spec$ISpec$write$arity$4=function(a,c,d,e){octet.buffer.write_bytes.call(null,c,d,this.size,e);return this.size},octet.spec.basic.t_octet$spec$basic27526.getBasis=function(){return new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[cljs.core.with_meta(new cljs.core.Symbol(null,
"size","size",-1555742762,null),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"tag","tag",-1290361223),new cljs.core.Symbol(null,"long","long",1469079434,null)],null)),new cljs.core.Symbol(null,"meta27527","meta27527",-1648243439,null)],null)},octet.spec.basic.t_octet$spec$basic27526.cljs$lang$type=!0,octet.spec.basic.t_octet$spec$basic27526.cljs$lang$ctorStr="octet.spec.basic/t_octet$spec$basic27526",octet.spec.basic.t_octet$spec$basic27526.cljs$lang$ctorPrWriter=function(a,
c,d){return cljs.core._write.call(null,c,"octet.spec.basic/t_octet$spec$basic27526")},octet.spec.basic.__GT_t_octet$spec$basic27526=function(a,c){return new octet.spec.basic.t_octet$spec$basic27526(a,c)};return new octet.spec.basic.t_octet$spec$basic27526(a,cljs.core.PersistentArrayMap.EMPTY)};octet.spec.basic.uint16=octet.spec.basic.primitive_spec.call(null,2,octet.buffer.read_ushort,octet.buffer.write_ushort);
octet.spec.basic.uint32=octet.spec.basic.primitive_spec.call(null,4,octet.buffer.read_uint,octet.buffer.write_uint);octet.spec.basic.ubyte=octet.spec.basic.primitive_spec.call(null,1,octet.buffer.read_ubyte,octet.buffer.write_ubyte);octet.spec.basic.uint64=octet.spec.basic.primitive_spec.call(null,8,octet.buffer.read_ulong,octet.buffer.write_ulong);octet.spec.reference={};
octet.spec.reference.ref_size=function(a,b){if(null!=a?cljs.core.PROTOCOL_SENTINEL===a.octet$spec$ISpecDynamicSize$||(a.cljs$lang$protocol_mask$partition$?0:cljs.core.native_satisfies_QMARK_.call(null,octet.spec.ISpecDynamicSize,a)):cljs.core.native_satisfies_QMARK_.call(null,octet.spec.ISpecDynamicSize,a))return octet.spec.size_STAR_.call(null,a,b);if(null!=a?cljs.core.PROTOCOL_SENTINEL===a.octet$spec$ISpecSize$||(a.cljs$lang$protocol_mask$partition$?0:cljs.core.native_satisfies_QMARK_.call(null,octet.spec.ISpecSize,
a)):cljs.core.native_satisfies_QMARK_.call(null,octet.spec.ISpecSize,a))return octet.spec.size.call(null,a);throw cljs.core.ex_info.call(null,"Unexpected type",new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"type","type",1174270348),a],null));};
octet.spec.reference.coerce_types=function(a){if(cljs.core.map_QMARK_.call(null,a))return a;if(cljs.core.seq_QMARK_.call(null,a)||cljs.core.vector_QMARK_.call(null,a))return cljs.core.apply.call(null,cljs.core.array_map,cljs.core.interleave.call(null,cljs.core.range.call(null),a));throw cljs.core.ex_info.call(null,"invalid type structure, not map, seq or vector",new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"type-structure","type-structure",-185390547),a],null));};
octet.spec.reference.ref_len_offset=function(a,b,c){return cljs.core.reduce_kv.call(null,function(b,e,f){return cljs.core._EQ_.call(null,a,e)?cljs.core.reduced.call(null,b):b+octet.spec.reference.ref_size.call(null,f,cljs.core.get.call(null,c,e))},0,b)};
octet.spec.reference.ref_write_length=function(a,b,c,d){if(octet.spec.basic.int16===a)return octet.buffer.write_short.call(null,b,c,d);if(octet.spec.basic.int32===a)return octet.buffer.write_int.call(null,b,c,d);if(octet.spec.basic.int64===a||octet.spec.basic.int64===a)return octet.buffer.write_long.call(null,b,c,d);if(octet.spec.basic.uint16===a)return octet.buffer.write_ushort.call(null,b,c,d);if(octet.spec.basic.uint32===a)return octet.buffer.write_uint.call(null,b,c,d);if(octet.spec.basic.uint64===
a)return octet.buffer.write_ulong.call(null,b,c,d);throw cljs.core.ex_info.call(null,"Invalid reference type: should be int16, int32, int64 and unsigned variants",cljs.core.PersistentArrayMap.EMPTY);};
octet.spec.reference.ref_write=function(a,b,c,d,e,f){d="string"===typeof d?octet.spec.string.string__GT_bytes.call(null,d):d;var g=cljs.core.count.call(null,d);e=octet.spec.reference.coerce_types.call(null,e);f=octet.spec.reference.ref_len_offset.call(null,a,e,f);a=cljs.core.get.call(null,e,a);octet.spec.reference.ref_write_length.call(null,a,b,f,g);octet.buffer.write_bytes.call(null,b,c,g,d);return g};
octet.spec.reference.ref_read=function(a,b,c,d){if(cljs.core.map_QMARK_.call(null,d))a=a.call(null,d);else if(cljs.core.seq_QMARK_.call(null,d)||cljs.core.vector_QMARK_.call(null,d))a=cljs.core.get.call(null,d,a);else throw cljs.core.ex_info.call(null,["bad ref-string/ref-bytes length reference  - ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(a)].join(""),new cljs.core.PersistentArrayMap(null,2,[new cljs.core.Keyword(null,"length-kw","length-kw",-865148983),a,new cljs.core.Keyword(null,"data-read",
"data-read",-960788784),d],null));b=octet.buffer.read_bytes.call(null,b,c,a);return new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[a,b],null)};
octet.spec.reference.ref_bytes=function(a){if("undefined"===typeof octet||"undefined"===typeof octet.spec||"undefined"===typeof octet.spec.reference||"undefined"===typeof octet.spec.reference.t_octet$spec$reference27533)octet.spec.reference.t_octet$spec$reference27533=function(a,c){this.ref_kw_or_index=a;this.meta27534=c;this.cljs$lang$protocol_mask$partition0$=393217;this.cljs$lang$protocol_mask$partition1$=0},octet.spec.reference.t_octet$spec$reference27533.prototype.cljs$core$IWithMeta$_with_meta$arity$2=
function(a,c){return new octet.spec.reference.t_octet$spec$reference27533(this.ref_kw_or_index,c)},octet.spec.reference.t_octet$spec$reference27533.prototype.cljs$core$IMeta$_meta$arity$1=function(a){return this.meta27534},octet.spec.reference.t_octet$spec$reference27533.prototype.call=function(a){return this},octet.spec.reference.t_octet$spec$reference27533.prototype.apply=function(a,c){return this.call.apply(this,[this].concat(cljs.core.aclone.call(null,c)))},octet.spec.reference.t_octet$spec$reference27533.prototype.cljs$core$IFn$_invoke$arity$0=
function(){return this},octet.spec.reference.t_octet$spec$reference27533.prototype.octet$spec$ISpecDynamicSize$=cljs.core.PROTOCOL_SENTINEL,octet.spec.reference.t_octet$spec$reference27533.prototype.octet$spec$ISpecDynamicSize$size_STAR_$arity$2=function(a,c){return cljs.core.count.call(null,c)},octet.spec.reference.t_octet$spec$reference27533.prototype.octet$spec$ISpecWithRef$=cljs.core.PROTOCOL_SENTINEL,octet.spec.reference.t_octet$spec$reference27533.prototype.octet$spec$ISpecWithRef$read_STAR_$arity$4=
function(a,c,d,e){return octet.spec.reference.ref_read.call(null,this.ref_kw_or_index,c,d,e)},octet.spec.reference.t_octet$spec$reference27533.prototype.octet$spec$ISpecWithRef$write_STAR_$arity$6=function(a,c,d,e,f,g){return octet.spec.reference.ref_write.call(null,this.ref_kw_or_index,c,d,e,f,g)},octet.spec.reference.t_octet$spec$reference27533.getBasis=function(){return new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"ref-kw-or-index","ref-kw-or-index",
184543845,null),new cljs.core.Symbol(null,"meta27534","meta27534",-288396127,null)],null)},octet.spec.reference.t_octet$spec$reference27533.cljs$lang$type=!0,octet.spec.reference.t_octet$spec$reference27533.cljs$lang$ctorStr="octet.spec.reference/t_octet$spec$reference27533",octet.spec.reference.t_octet$spec$reference27533.cljs$lang$ctorPrWriter=function(a,c,d){return cljs.core._write.call(null,c,"octet.spec.reference/t_octet$spec$reference27533")},octet.spec.reference.__GT_t_octet$spec$reference27533=
function(a,c){return new octet.spec.reference.t_octet$spec$reference27533(a,c)};return new octet.spec.reference.t_octet$spec$reference27533(a,cljs.core.PersistentArrayMap.EMPTY)};
octet.spec.reference.ref_string=function(a){if("undefined"===typeof octet||"undefined"===typeof octet.spec||"undefined"===typeof octet.spec.reference||"undefined"===typeof octet.spec.reference.t_octet$spec$reference27537)octet.spec.reference.t_octet$spec$reference27537=function(a,c){this.ref_kw_or_index=a;this.meta27538=c;this.cljs$lang$protocol_mask$partition0$=393217;this.cljs$lang$protocol_mask$partition1$=0},octet.spec.reference.t_octet$spec$reference27537.prototype.cljs$core$IWithMeta$_with_meta$arity$2=
function(a,c){return new octet.spec.reference.t_octet$spec$reference27537(this.ref_kw_or_index,c)},octet.spec.reference.t_octet$spec$reference27537.prototype.cljs$core$IMeta$_meta$arity$1=function(a){return this.meta27538},octet.spec.reference.t_octet$spec$reference27537.prototype.call=function(a){return this},octet.spec.reference.t_octet$spec$reference27537.prototype.apply=function(a,c){return this.call.apply(this,[this].concat(cljs.core.aclone.call(null,c)))},octet.spec.reference.t_octet$spec$reference27537.prototype.cljs$core$IFn$_invoke$arity$0=
function(){return this},octet.spec.reference.t_octet$spec$reference27537.prototype.octet$spec$ISpecDynamicSize$=cljs.core.PROTOCOL_SENTINEL,octet.spec.reference.t_octet$spec$reference27537.prototype.octet$spec$ISpecDynamicSize$size_STAR_$arity$2=function(a,c){a=octet.spec.string.string__GT_bytes.call(null,c);return cljs.core.count.call(null,a)},octet.spec.reference.t_octet$spec$reference27537.prototype.octet$spec$ISpecWithRef$=cljs.core.PROTOCOL_SENTINEL,octet.spec.reference.t_octet$spec$reference27537.prototype.octet$spec$ISpecWithRef$read_STAR_$arity$4=
function(a,c,d,e){c=octet.spec.reference.ref_read.call(null,this.ref_kw_or_index,c,d,e);a=cljs.core.nth.call(null,c,0,null);c=cljs.core.nth.call(null,c,1,null);return new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[a,octet.spec.string.bytes__GT_string.call(null,c,a)],null)},octet.spec.reference.t_octet$spec$reference27537.prototype.octet$spec$ISpecWithRef$write_STAR_$arity$6=function(a,c,d,e,f,g){return octet.spec.reference.ref_write.call(null,this.ref_kw_or_index,c,
d,e,f,g)},octet.spec.reference.t_octet$spec$reference27537.getBasis=function(){return new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"ref-kw-or-index","ref-kw-or-index",184543845,null),new cljs.core.Symbol(null,"meta27538","meta27538",1913477731,null)],null)},octet.spec.reference.t_octet$spec$reference27537.cljs$lang$type=!0,octet.spec.reference.t_octet$spec$reference27537.cljs$lang$ctorStr="octet.spec.reference/t_octet$spec$reference27537",
octet.spec.reference.t_octet$spec$reference27537.cljs$lang$ctorPrWriter=function(a,c,d){return cljs.core._write.call(null,c,"octet.spec.reference/t_octet$spec$reference27537")},octet.spec.reference.__GT_t_octet$spec$reference27537=function(a,c){return new octet.spec.reference.t_octet$spec$reference27537(a,c)};return new octet.spec.reference.t_octet$spec$reference27537(a,cljs.core.PersistentArrayMap.EMPTY)};octet.spec.collections={};
octet.spec.collections.vector_STAR_=function(a){if("undefined"===typeof octet||"undefined"===typeof octet.spec||"undefined"===typeof octet.spec.collections||"undefined"===typeof octet.spec.collections.t_octet$spec$collections27548)octet.spec.collections.t_octet$spec$collections27548=function(a,c){this.t=a;this.meta27549=c;this.cljs$lang$protocol_mask$partition0$=393216;this.cljs$lang$protocol_mask$partition1$=0},octet.spec.collections.t_octet$spec$collections27548.prototype.cljs$core$IWithMeta$_with_meta$arity$2=function(a,
c){return new octet.spec.collections.t_octet$spec$collections27548(this.t,c)},octet.spec.collections.t_octet$spec$collections27548.prototype.cljs$core$IMeta$_meta$arity$1=function(a){return this.meta27549},octet.spec.collections.t_octet$spec$collections27548.prototype.octet$spec$ISpecDynamicSize$=cljs.core.PROTOCOL_SENTINEL,octet.spec.collections.t_octet$spec$collections27548.prototype.octet$spec$ISpecDynamicSize$size_STAR_$arity$2=function(a,c){var b=this;return 4+cljs.core.reduce.call(null,function(a){return function(a,
c){return a+((null!=b.t?cljs.core.PROTOCOL_SENTINEL===b.t.octet$spec$ISpecDynamicSize$||(b.t.cljs$lang$protocol_mask$partition$?0:cljs.core.native_satisfies_QMARK_.call(null,octet.spec.ISpecDynamicSize,b.t)):cljs.core.native_satisfies_QMARK_.call(null,octet.spec.ISpecDynamicSize,b.t))?octet.spec.size_STAR_.call(null,b.t,c):octet.spec.size.call(null,b.t))}}(this),0,c)},octet.spec.collections.t_octet$spec$collections27548.prototype.octet$spec$ISpec$=cljs.core.PROTOCOL_SENTINEL,octet.spec.collections.t_octet$spec$collections27548.prototype.octet$spec$ISpec$read$arity$3=
function(a,c,d){a=octet.buffer.read_int.call(null,c,d);a=octet.spec.repeat.call(null,a,this.t);d=octet.spec.read.call(null,a,c,d+4);c=cljs.core.nth.call(null,d,0,null);d=cljs.core.nth.call(null,d,1,null);return new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[c+4,d],null)},octet.spec.collections.t_octet$spec$collections27548.prototype.octet$spec$ISpec$write$arity$4=function(a,c,d,e){a=cljs.core.count.call(null,e);var b=octet.spec.repeat.call(null,a,this.t);octet.buffer.write_int.call(null,
c,d,a);return 4+octet.spec.write.call(null,b,c,d+4,e)},octet.spec.collections.t_octet$spec$collections27548.getBasis=function(){return new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"t","t",242699008,null),new cljs.core.Symbol(null,"meta27549","meta27549",-275042907,null)],null)},octet.spec.collections.t_octet$spec$collections27548.cljs$lang$type=!0,octet.spec.collections.t_octet$spec$collections27548.cljs$lang$ctorStr="octet.spec.collections/t_octet$spec$collections27548",
octet.spec.collections.t_octet$spec$collections27548.cljs$lang$ctorPrWriter=function(a,c,d){return cljs.core._write.call(null,c,"octet.spec.collections/t_octet$spec$collections27548")},octet.spec.collections.__GT_t_octet$spec$collections27548=function(a,c){return new octet.spec.collections.t_octet$spec$collections27548(a,c)};return new octet.spec.collections.t_octet$spec$collections27548(a,cljs.core.PersistentArrayMap.EMPTY)};octet.core={};octet.core.compose=octet.spec.compose;
cljs.core.alter_meta_BANG_.call(null,new cljs.core.Var(function(){return octet.core.compose},new cljs.core.Symbol("octet.core","compose","octet.core/compose",1078009033,null),cljs.core.PersistentHashMap.fromArrays([new cljs.core.Keyword(null,"ns","ns",441598760),new cljs.core.Keyword(null,"name","name",1843675177),new cljs.core.Keyword(null,"file","file",-1269645878),new cljs.core.Keyword(null,"end-column","end-column",1425389514),new cljs.core.Keyword(null,"column","column",2078222095),new cljs.core.Keyword(null,
"line","line",212345235),new cljs.core.Keyword(null,"end-line","end-line",1837326455),new cljs.core.Keyword(null,"arglists","arglists",1661989754),new cljs.core.Keyword(null,"doc","doc",1913296891),new cljs.core.Keyword(null,"test","test",577538877)],[new cljs.core.Symbol(null,"octet.core","octet.core",-1016875348,null),new cljs.core.Symbol(null,"compose","compose",1144740903,null),"/Users/candera/.boot/cache/tmp/Users/candera/projects/vmt/5lm/8utry3/index.html.out/octet/core.cljc",23,1,38,38,cljs.core.List.EMPTY,
null,cljs.core.truth_(octet.core.compose)?octet.core.compose.cljs$lang$test:null])),cljs.core.merge,cljs.core.dissoc.call(null,cljs.core.meta.call(null,new cljs.core.Var(function(){return octet.spec.compose},new cljs.core.Symbol("octet.spec","compose","octet.spec/compose",1079534765,null),cljs.core.PersistentHashMap.fromArrays([new cljs.core.Keyword(null,"ns","ns",441598760),new cljs.core.Keyword(null,"name","name",1843675177),new cljs.core.Keyword(null,"file","file",-1269645878),new cljs.core.Keyword(null,
"end-column","end-column",1425389514),new cljs.core.Keyword(null,"column","column",2078222095),new cljs.core.Keyword(null,"line","line",212345235),new cljs.core.Keyword(null,"end-line","end-line",1837326455),new cljs.core.Keyword(null,"arglists","arglists",1661989754),new cljs.core.Keyword(null,"doc","doc",1913296891),new cljs.core.Keyword(null,"test","test",577538877)],[new cljs.core.Symbol(null,"octet.spec","octet.spec",-2043461903,null),new cljs.core.Symbol(null,"compose","compose",1144740903,
null),"/Users/candera/.boot/cache/tmp/Users/candera/projects/vmt/5lm/8utry3/index.html.out/octet/spec.cljc",14,1,268,268,cljs.core.list(new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"constructor","constructor",-313397284,null),new cljs.core.Symbol(null,"types","types",-2064405130,null)],null)),"Create a composed typespec with user defined\n  type constructor.\n\n  This allows define a typespec with automatic conversion\n  between user data type and serialized data without\n  defining yourself a datatype using low level constructions.\n\n  Let see an exameple for understand it better.\n\n  Imagine you are have this data type:\n\n      (defrecord Point [x y])\n\n  With help of `compose`, create a new spec\n  for your datatype:\n\n      (def point-spec (buf/compose -\x3ePoint [buf/int32 buf/int32]))\n\n  Now, you can use the previously defined datatype and typespec\n  for write into buffer:\n\n      (buf/write! buffer mypoint point-spec)\n      ;; \x3d\x3e 8\n\n  Or read from the buffer:\n\n      (buf/read buffer (point))\n      ;; \x3d\x3e #user.Point{:x 1, :y 2}\n  ",
cljs.core.truth_(octet.spec.compose)?octet.spec.compose.cljs$lang$test:null]))),new cljs.core.Keyword(null,"name","name",1843675177)));octet.core.spec=octet.spec.spec;
cljs.core.alter_meta_BANG_.call(null,new cljs.core.Var(function(){return octet.core.spec},new cljs.core.Symbol("octet.core","spec","octet.core/spec",1917158266,null),cljs.core.PersistentHashMap.fromArrays([new cljs.core.Keyword(null,"ns","ns",441598760),new cljs.core.Keyword(null,"name","name",1843675177),new cljs.core.Keyword(null,"file","file",-1269645878),new cljs.core.Keyword(null,"end-column","end-column",1425389514),new cljs.core.Keyword(null,"column","column",2078222095),new cljs.core.Keyword(null,
"line","line",212345235),new cljs.core.Keyword(null,"end-line","end-line",1837326455),new cljs.core.Keyword(null,"arglists","arglists",1661989754),new cljs.core.Keyword(null,"doc","doc",1913296891),new cljs.core.Keyword(null,"test","test",577538877)],[new cljs.core.Symbol(null,"octet.core","octet.core",-1016875348,null),new cljs.core.Symbol(null,"spec","spec",1988051928,null),"/Users/candera/.boot/cache/tmp/Users/candera/projects/vmt/5lm/8utry3/index.html.out/octet/core.cljc",20,1,39,39,cljs.core.List.EMPTY,
null,cljs.core.truth_(octet.core.spec)?octet.core.spec.cljs$lang$test:null])),cljs.core.merge,cljs.core.dissoc.call(null,cljs.core.meta.call(null,new cljs.core.Var(function(){return octet.spec.spec},new cljs.core.Symbol("octet.spec","spec","octet.spec/spec",1918520134,null),cljs.core.PersistentHashMap.fromArrays([new cljs.core.Keyword(null,"ns","ns",441598760),new cljs.core.Keyword(null,"name","name",1843675177),new cljs.core.Keyword(null,"file","file",-1269645878),new cljs.core.Keyword(null,"end-column",
"end-column",1425389514),new cljs.core.Keyword(null,"top-fn","top-fn",-2056129173),new cljs.core.Keyword(null,"column","column",2078222095),new cljs.core.Keyword(null,"line","line",212345235),new cljs.core.Keyword(null,"end-line","end-line",1837326455),new cljs.core.Keyword(null,"arglists","arglists",1661989754),new cljs.core.Keyword(null,"doc","doc",1913296891),new cljs.core.Keyword(null,"test","test",577538877)],[new cljs.core.Symbol(null,"octet.spec","octet.spec",-2043461903,null),new cljs.core.Symbol(null,
"spec","spec",1988051928,null),"/Users/candera/.boot/cache/tmp/Users/candera/projects/vmt/5lm/8utry3/index.html.out/octet/spec.cljc",11,new cljs.core.PersistentArrayMap(null,6,[new cljs.core.Keyword(null,"variadic?","variadic?",584179762),!0,new cljs.core.Keyword(null,"fixed-arity","fixed-arity",1586445869),0,new cljs.core.Keyword(null,"max-fixed-arity","max-fixed-arity",-690205543),0,new cljs.core.Keyword(null,"method-params","method-params",-980792179),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,
[cljs.core.list(new cljs.core.Symbol(null,"params","params",-1943919534,null))],null),new cljs.core.Keyword(null,"arglists","arglists",1661989754),cljs.core.list(new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"\x26","\x26",-2144855648,null),new cljs.core.Symbol(null,"params","params",-1943919534,null)],null)),new cljs.core.Keyword(null,"arglists-meta","arglists-meta",1944829838),cljs.core.list(null)],null),1,174,174,cljs.core.list(new cljs.core.PersistentVector(null,
2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"\x26","\x26",-2144855648,null),new cljs.core.Symbol(null,"params","params",-1943919534,null)],null)),"Polymorphic constructor for Spec instances.\n\n  Spec is a some kind of composition of arbitrary\n  number of types in associative or indexed data\n  structure.\n\n  Little example on how to create associative\n  composition:\n\n      (spec :field1 (long)\n            :field2 (string 20))\n\n  An other example on how to create indexed\n  composition that represents the same bytes\n  representation that previous one:\n\n      (spec (long) (string 20))\n\n  The main difference between the two reprensentation\n  is that if you read a buffer using an associative\n  spec, the result will be clojure hash-map, and if\n  indexed spec is used, the result will be clojure\n  vector containing the values.\n\n  The same rules applies for writing data into a\n  buffer.",
cljs.core.truth_(octet.spec.spec)?octet.spec.spec.cljs$lang$test:null]))),new cljs.core.Keyword(null,"name","name",1843675177)));octet.core.size=octet.spec.size;
cljs.core.alter_meta_BANG_.call(null,new cljs.core.Var(function(){return octet.core.size},new cljs.core.Symbol("octet.core","size","octet.core/size",-1485078672,null),cljs.core.PersistentHashMap.fromArrays([new cljs.core.Keyword(null,"ns","ns",441598760),new cljs.core.Keyword(null,"name","name",1843675177),new cljs.core.Keyword(null,"file","file",-1269645878),new cljs.core.Keyword(null,"end-column","end-column",1425389514),new cljs.core.Keyword(null,"column","column",2078222095),new cljs.core.Keyword(null,
"line","line",212345235),new cljs.core.Keyword(null,"end-line","end-line",1837326455),new cljs.core.Keyword(null,"arglists","arglists",1661989754),new cljs.core.Keyword(null,"doc","doc",1913296891),new cljs.core.Keyword(null,"test","test",577538877)],[new cljs.core.Symbol(null,"octet.core","octet.core",-1016875348,null),new cljs.core.Symbol(null,"size","size",-1555742762,null),"/Users/candera/.boot/cache/tmp/Users/candera/projects/vmt/5lm/8utry3/index.html.out/octet/core.cljc",20,1,40,40,cljs.core.List.EMPTY,
null,cljs.core.truth_(octet.core.size)?octet.core.size.cljs$lang$test:null])),cljs.core.merge,cljs.core.dissoc.call(null,cljs.core.meta.call(null,new cljs.core.Var(function(){return octet.spec.size},new cljs.core.Symbol("octet.spec","size","octet.spec/size",-1486698644,null),cljs.core.PersistentHashMap.fromArrays([new cljs.core.Keyword(null,"protocol","protocol",652470118),new cljs.core.Keyword(null,"ns","ns",441598760),new cljs.core.Keyword(null,"name","name",1843675177),new cljs.core.Keyword(null,
"file","file",-1269645878),new cljs.core.Keyword(null,"end-column","end-column",1425389514),new cljs.core.Keyword(null,"column","column",2078222095),new cljs.core.Keyword(null,"line","line",212345235),new cljs.core.Keyword(null,"end-line","end-line",1837326455),new cljs.core.Keyword(null,"arglists","arglists",1661989754),new cljs.core.Keyword(null,"doc","doc",1913296891),new cljs.core.Keyword(null,"test","test",577538877)],[new cljs.core.Symbol("octet.spec","ISpecSize","octet.spec/ISpecSize",-832549379,
null),new cljs.core.Symbol(null,"octet.spec","octet.spec",-2043461903,null),new cljs.core.Symbol(null,"size","size",-1555742762,null),"/Users/candera/.boot/cache/tmp/Users/candera/projects/vmt/5lm/8utry3/index.html.out/octet/spec.cljc",8,1,50,52,cljs.core.list(new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"_","_",-1201019570,null)],null)),"Calculate the size in bytes of the object.",cljs.core.truth_(octet.spec.size)?octet.spec.size.cljs$lang$test:
null]))),new cljs.core.Keyword(null,"name","name",1843675177)));octet.core.repeat=octet.spec.repeat;
cljs.core.alter_meta_BANG_.call(null,new cljs.core.Var(function(){return octet.core.repeat},new cljs.core.Symbol("octet.core","repeat","octet.core/repeat",-1621350948,null),cljs.core.PersistentHashMap.fromArrays([new cljs.core.Keyword(null,"ns","ns",441598760),new cljs.core.Keyword(null,"name","name",1843675177),new cljs.core.Keyword(null,"file","file",-1269645878),new cljs.core.Keyword(null,"end-column","end-column",1425389514),new cljs.core.Keyword(null,"column","column",2078222095),new cljs.core.Keyword(null,
"line","line",212345235),new cljs.core.Keyword(null,"end-line","end-line",1837326455),new cljs.core.Keyword(null,"arglists","arglists",1661989754),new cljs.core.Keyword(null,"doc","doc",1913296891),new cljs.core.Keyword(null,"test","test",577538877)],[new cljs.core.Symbol(null,"octet.core","octet.core",-1016875348,null),new cljs.core.Symbol(null,"repeat","repeat",-1821743682,null),"/Users/candera/.boot/cache/tmp/Users/candera/projects/vmt/5lm/8utry3/index.html.out/octet/core.cljc",22,1,41,41,cljs.core.List.EMPTY,
null,cljs.core.truth_(octet.core.repeat)?octet.core.repeat.cljs$lang$test:null])),cljs.core.merge,cljs.core.dissoc.call(null,cljs.core.meta.call(null,new cljs.core.Var(function(){return octet.spec.repeat},new cljs.core.Symbol("octet.spec","repeat","octet.spec/repeat",-1621788104,null),cljs.core.PersistentHashMap.fromArrays([new cljs.core.Keyword(null,"ns","ns",441598760),new cljs.core.Keyword(null,"name","name",1843675177),new cljs.core.Keyword(null,"file","file",-1269645878),new cljs.core.Keyword(null,
"end-column","end-column",1425389514),new cljs.core.Keyword(null,"column","column",2078222095),new cljs.core.Keyword(null,"line","line",212345235),new cljs.core.Keyword(null,"end-line","end-line",1837326455),new cljs.core.Keyword(null,"arglists","arglists",1661989754),new cljs.core.Keyword(null,"doc","doc",1913296891),new cljs.core.Keyword(null,"test","test",577538877)],[new cljs.core.Symbol(null,"octet.spec","octet.spec",-2043461903,null),new cljs.core.Symbol(null,"repeat","repeat",-1821743682,null),
"/Users/candera/.boot/cache/tmp/Users/candera/projects/vmt/5lm/8utry3/index.html.out/octet/spec.cljc",13,1,215,215,cljs.core.list(new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"n","n",-2092305744,null),new cljs.core.Symbol(null,"type","type",-1480165421,null)],null)),"Creare a composed typespec that repeats `n` times\n  a provided `type` spec.\n\n  As example, create a spec with help of `repeat`\n  function:\n\n      (def spec (buf/repeat 2 buf/int32))\n\n  Write data into buffer using previously defined\n  typespec:\n\n      (buf/write! yourbuffer [200 300] spec)\n      ;; \x3d\x3e 8\n\n  Or read data from your buffer using previously defined\n  typespec:\n\n      (buf/read yourbuffer spec)\n      ;; \x3d\x3e [200 300]\n  ",
cljs.core.truth_(octet.spec.repeat)?octet.spec.repeat.cljs$lang$test:null]))),new cljs.core.Keyword(null,"name","name",1843675177)));octet.core.string=octet.spec.string.string;
cljs.core.alter_meta_BANG_.call(null,new cljs.core.Var(function(){return octet.core.string},new cljs.core.Symbol("octet.core","string","octet.core/string",282642331,null),cljs.core.PersistentHashMap.fromArrays([new cljs.core.Keyword(null,"ns","ns",441598760),new cljs.core.Keyword(null,"name","name",1843675177),new cljs.core.Keyword(null,"file","file",-1269645878),new cljs.core.Keyword(null,"end-column","end-column",1425389514),new cljs.core.Keyword(null,"column","column",2078222095),new cljs.core.Keyword(null,
"line","line",212345235),new cljs.core.Keyword(null,"end-line","end-line",1837326455),new cljs.core.Keyword(null,"arglists","arglists",1661989754),new cljs.core.Keyword(null,"doc","doc",1913296891),new cljs.core.Keyword(null,"test","test",577538877)],[new cljs.core.Symbol(null,"octet.core","octet.core",-1016875348,null),new cljs.core.Symbol(null,"string","string",-349010059,null),"/Users/candera/.boot/cache/tmp/Users/candera/projects/vmt/5lm/8utry3/index.html.out/octet/core.cljc",22,1,42,42,cljs.core.List.EMPTY,
null,cljs.core.truth_(octet.core.string)?octet.core.string.cljs$lang$test:null])),cljs.core.merge,cljs.core.dissoc.call(null,cljs.core.meta.call(null,new cljs.core.Var(function(){return octet.spec.string.string},new cljs.core.Symbol("octet.spec.string","string","octet.spec.string/string",-744478864,null),cljs.core.PersistentHashMap.fromArrays([new cljs.core.Keyword(null,"ns","ns",441598760),new cljs.core.Keyword(null,"name","name",1843675177),new cljs.core.Keyword(null,"file","file",-1269645878),
new cljs.core.Keyword(null,"end-column","end-column",1425389514),new cljs.core.Keyword(null,"column","column",2078222095),new cljs.core.Keyword(null,"line","line",212345235),new cljs.core.Keyword(null,"end-line","end-line",1837326455),new cljs.core.Keyword(null,"arglists","arglists",1661989754),new cljs.core.Keyword(null,"doc","doc",1913296891),new cljs.core.Keyword(null,"test","test",577538877)],[new cljs.core.Symbol(null,"octet.spec.string","octet.spec.string",-1342839094,null),new cljs.core.Symbol(null,
"string","string",-349010059,null),"/Users/candera/.boot/cache/tmp/Users/candera/projects/vmt/5lm/8utry3/index.html.out/octet/spec/string.cljc",13,1,111,111,cljs.core.list(new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"size","size",-1555742762,null)],null)),"Fixed length string type spec constructor.",cljs.core.truth_(octet.spec.string.string)?octet.spec.string.string.cljs$lang$test:null]))),new cljs.core.Keyword(null,"name","name",1843675177)));
octet.core.string_STAR_=octet.spec.string.string_STAR_;
cljs.core.alter_meta_BANG_.call(null,new cljs.core.Var(function(){return octet.core.string_STAR_},new cljs.core.Symbol("octet.core","string*","octet.core/string*",1018579394,null),cljs.core.PersistentHashMap.fromArrays([new cljs.core.Keyword(null,"ns","ns",441598760),new cljs.core.Keyword(null,"name","name",1843675177),new cljs.core.Keyword(null,"file","file",-1269645878),new cljs.core.Keyword(null,"end-column","end-column",1425389514),new cljs.core.Keyword(null,"column","column",2078222095),new cljs.core.Keyword(null,
"line","line",212345235),new cljs.core.Keyword(null,"end-line","end-line",1837326455),new cljs.core.Keyword(null,"arglists","arglists",1661989754),new cljs.core.Keyword(null,"doc","doc",1913296891),new cljs.core.Keyword(null,"test","test",577538877)],[new cljs.core.Symbol(null,"octet.core","octet.core",-1016875348,null),new cljs.core.Symbol(null,"string*","string*",962333084,null),"/Users/candera/.boot/cache/tmp/Users/candera/projects/vmt/5lm/8utry3/index.html.out/octet/core.cljc",23,1,43,43,cljs.core.List.EMPTY,
null,cljs.core.truth_(octet.core.string_STAR_)?octet.core.string_STAR_.cljs$lang$test:null])),cljs.core.merge,cljs.core.dissoc.call(null,cljs.core.meta.call(null,new cljs.core.Var(function(){return octet.spec.string.string_STAR_},new cljs.core.Symbol("octet.spec.string","string*","octet.spec.string/string*",1898883481,null),cljs.core.PersistentHashMap.fromArrays([new cljs.core.Keyword(null,"ns","ns",441598760),new cljs.core.Keyword(null,"name","name",1843675177),new cljs.core.Keyword(null,"file",
"file",-1269645878),new cljs.core.Keyword(null,"end-column","end-column",1425389514),new cljs.core.Keyword(null,"column","column",2078222095),new cljs.core.Keyword(null,"line","line",212345235),new cljs.core.Keyword(null,"end-line","end-line",1837326455),new cljs.core.Keyword(null,"arglists","arglists",1661989754),new cljs.core.Keyword(null,"doc","doc",1913296891),new cljs.core.Keyword(null,"test","test",577538877)],[new cljs.core.Symbol(null,"octet.spec.string","octet.spec.string",-1342839094,null),
new cljs.core.Symbol(null,"string*","string*",962333084,null),"/Users/candera/.boot/cache/tmp/Users/candera/projects/vmt/5lm/8utry3/index.html.out/octet/spec/string.cljc",10,1,139,140,cljs.core.List.EMPTY,"Arbitrary length string type spec.",cljs.core.truth_(octet.spec.string.string_STAR_)?octet.spec.string.string_STAR_.cljs$lang$test:null]))),new cljs.core.Keyword(null,"name","name",1843675177)));octet.core.vector_STAR_=octet.spec.collections.vector_STAR_;
cljs.core.alter_meta_BANG_.call(null,new cljs.core.Var(function(){return octet.core.vector_STAR_},new cljs.core.Symbol("octet.core","vector*","octet.core/vector*",285978117,null),cljs.core.PersistentHashMap.fromArrays([new cljs.core.Keyword(null,"ns","ns",441598760),new cljs.core.Keyword(null,"name","name",1843675177),new cljs.core.Keyword(null,"file","file",-1269645878),new cljs.core.Keyword(null,"end-column","end-column",1425389514),new cljs.core.Keyword(null,"column","column",2078222095),new cljs.core.Keyword(null,
"line","line",212345235),new cljs.core.Keyword(null,"end-line","end-line",1837326455),new cljs.core.Keyword(null,"arglists","arglists",1661989754),new cljs.core.Keyword(null,"doc","doc",1913296891),new cljs.core.Keyword(null,"test","test",577538877)],[new cljs.core.Symbol(null,"octet.core","octet.core",-1016875348,null),new cljs.core.Symbol(null,"vector*","vector*",360017319,null),"/Users/candera/.boot/cache/tmp/Users/candera/projects/vmt/5lm/8utry3/index.html.out/octet/core.cljc",23,1,44,44,cljs.core.List.EMPTY,
null,cljs.core.truth_(octet.core.vector_STAR_)?octet.core.vector_STAR_.cljs$lang$test:null])),cljs.core.merge,cljs.core.dissoc.call(null,cljs.core.meta.call(null,new cljs.core.Var(function(){return octet.spec.collections.vector_STAR_},new cljs.core.Symbol("octet.spec.collections","vector*","octet.spec.collections/vector*",-1578931208,null),cljs.core.PersistentHashMap.fromArrays([new cljs.core.Keyword(null,"ns","ns",441598760),new cljs.core.Keyword(null,"name","name",1843675177),new cljs.core.Keyword(null,
"file","file",-1269645878),new cljs.core.Keyword(null,"end-column","end-column",1425389514),new cljs.core.Keyword(null,"column","column",2078222095),new cljs.core.Keyword(null,"line","line",212345235),new cljs.core.Keyword(null,"end-line","end-line",1837326455),new cljs.core.Keyword(null,"arglists","arglists",1661989754),new cljs.core.Keyword(null,"doc","doc",1913296891),new cljs.core.Keyword(null,"test","test",577538877)],[new cljs.core.Symbol(null,"octet.spec.collections","octet.spec.collections",
684568626,null),new cljs.core.Symbol(null,"vector*","vector*",360017319,null),"/Users/candera/.boot/cache/tmp/Users/candera/projects/vmt/5lm/8utry3/index.html.out/octet/spec/collections.cljc",14,1,29,29,cljs.core.list(new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"t","t",242699008,null)],null)),"Create a arbitrary length (dynamic) array like\n  typespec composition for `t` type.",cljs.core.truth_(octet.spec.collections.vector_STAR_)?octet.spec.collections.vector_STAR_.cljs$lang$test:
null]))),new cljs.core.Keyword(null,"name","name",1843675177)));octet.core.ref_string=octet.spec.reference.ref_string;
cljs.core.alter_meta_BANG_.call(null,new cljs.core.Var(function(){return octet.core.ref_string},new cljs.core.Symbol("octet.core","ref-string","octet.core/ref-string",-1369684620,null),cljs.core.PersistentHashMap.fromArrays([new cljs.core.Keyword(null,"ns","ns",441598760),new cljs.core.Keyword(null,"name","name",1843675177),new cljs.core.Keyword(null,"file","file",-1269645878),new cljs.core.Keyword(null,"end-column","end-column",1425389514),new cljs.core.Keyword(null,"column","column",2078222095),
new cljs.core.Keyword(null,"line","line",212345235),new cljs.core.Keyword(null,"end-line","end-line",1837326455),new cljs.core.Keyword(null,"arglists","arglists",1661989754),new cljs.core.Keyword(null,"doc","doc",1913296891),new cljs.core.Keyword(null,"test","test",577538877)],[new cljs.core.Symbol(null,"octet.core","octet.core",-1016875348,null),new cljs.core.Symbol(null,"ref-string","ref-string",-1837758826,null),"/Users/candera/.boot/cache/tmp/Users/candera/projects/vmt/5lm/8utry3/index.html.out/octet/core.cljc",
26,1,45,45,cljs.core.List.EMPTY,null,cljs.core.truth_(octet.core.ref_string)?octet.core.ref_string.cljs$lang$test:null])),cljs.core.merge,cljs.core.dissoc.call(null,cljs.core.meta.call(null,new cljs.core.Var(function(){return octet.spec.reference.ref_string},new cljs.core.Symbol("octet.spec.reference","ref-string","octet.spec.reference/ref-string",1186221055,null),cljs.core.PersistentHashMap.fromArrays([new cljs.core.Keyword(null,"ns","ns",441598760),new cljs.core.Keyword(null,"name","name",1843675177),
new cljs.core.Keyword(null,"file","file",-1269645878),new cljs.core.Keyword(null,"end-column","end-column",1425389514),new cljs.core.Keyword(null,"column","column",2078222095),new cljs.core.Keyword(null,"line","line",212345235),new cljs.core.Keyword(null,"end-line","end-line",1837326455),new cljs.core.Keyword(null,"arglists","arglists",1661989754),new cljs.core.Keyword(null,"doc","doc",1913296891),new cljs.core.Keyword(null,"test","test",577538877)],[new cljs.core.Symbol(null,"octet.spec.reference",
"octet.spec.reference",-614609684,null),new cljs.core.Symbol(null,"ref-string","ref-string",-1837758826,null),"/Users/candera/.boot/cache/tmp/Users/candera/projects/vmt/5lm/8utry3/index.html.out/octet/spec/reference.cljc",17,1,160,160,cljs.core.list(new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"ref-kw-or-index","ref-kw-or-index",184543845,null)],null)),"create a dynamic length string  where the length of the string is stored in another\n  spec within the containing indexed spec or associative spec. Example usages:\n  (spec (int16) (int16) (ref-string* 1))\n  (spec :a (int16) :b (int32) (ref-string* :b))\n  where the first example would store the length of the string in the second int16 and\n  the second example would store the length of the string in the int32 at key :b.",
cljs.core.truth_(octet.spec.reference.ref_string)?octet.spec.reference.ref_string.cljs$lang$test:null]))),new cljs.core.Keyword(null,"name","name",1843675177)));octet.core.ref_bytes=octet.spec.reference.ref_bytes;
cljs.core.alter_meta_BANG_.call(null,new cljs.core.Var(function(){return octet.core.ref_bytes},new cljs.core.Symbol("octet.core","ref-bytes","octet.core/ref-bytes",-1061317422,null),cljs.core.PersistentHashMap.fromArrays([new cljs.core.Keyword(null,"ns","ns",441598760),new cljs.core.Keyword(null,"name","name",1843675177),new cljs.core.Keyword(null,"file","file",-1269645878),new cljs.core.Keyword(null,"end-column","end-column",1425389514),new cljs.core.Keyword(null,"column","column",2078222095),new cljs.core.Keyword(null,
"line","line",212345235),new cljs.core.Keyword(null,"end-line","end-line",1837326455),new cljs.core.Keyword(null,"arglists","arglists",1661989754),new cljs.core.Keyword(null,"doc","doc",1913296891),new cljs.core.Keyword(null,"test","test",577538877)],[new cljs.core.Symbol(null,"octet.core","octet.core",-1016875348,null),new cljs.core.Symbol(null,"ref-bytes","ref-bytes",-1001663124,null),"/Users/candera/.boot/cache/tmp/Users/candera/projects/vmt/5lm/8utry3/index.html.out/octet/core.cljc",25,1,46,46,
cljs.core.List.EMPTY,null,cljs.core.truth_(octet.core.ref_bytes)?octet.core.ref_bytes.cljs$lang$test:null])),cljs.core.merge,cljs.core.dissoc.call(null,cljs.core.meta.call(null,new cljs.core.Var(function(){return octet.spec.reference.ref_bytes},new cljs.core.Symbol("octet.spec.reference","ref-bytes","octet.spec.reference/ref-bytes",-1743414693,null),cljs.core.PersistentHashMap.fromArrays([new cljs.core.Keyword(null,"ns","ns",441598760),new cljs.core.Keyword(null,"name","name",1843675177),new cljs.core.Keyword(null,
"file","file",-1269645878),new cljs.core.Keyword(null,"end-column","end-column",1425389514),new cljs.core.Keyword(null,"column","column",2078222095),new cljs.core.Keyword(null,"line","line",212345235),new cljs.core.Keyword(null,"end-line","end-line",1837326455),new cljs.core.Keyword(null,"arglists","arglists",1661989754),new cljs.core.Keyword(null,"doc","doc",1913296891),new cljs.core.Keyword(null,"test","test",577538877)],[new cljs.core.Symbol(null,"octet.spec.reference","octet.spec.reference",-614609684,
null),new cljs.core.Symbol(null,"ref-bytes","ref-bytes",-1001663124,null),"/Users/candera/.boot/cache/tmp/Users/candera/projects/vmt/5lm/8utry3/index.html.out/octet/spec/reference.cljc",16,1,133,133,cljs.core.list(new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"ref-kw-or-index","ref-kw-or-index",184543845,null)],null)),"create a dynamic length byte array where the length of the byte array is stored in another\n  spec within the containing indexed spec or associative spec. Example usages:\n  (spec (int16) (int16) (ref-bytes* 1))\n  (spec :a (int16) :b (int32) (ref-bytes* :b))\n  where the first example would store the length of the byte array in the second int16 and\n  the second example would store the length of the byte array in the int32 at key :b.",
cljs.core.truth_(octet.spec.reference.ref_bytes)?octet.spec.reference.ref_bytes.cljs$lang$test:null]))),new cljs.core.Keyword(null,"name","name",1843675177)));octet.core.int16=octet.spec.basic.int16;
cljs.core.alter_meta_BANG_.call(null,new cljs.core.Var(function(){return octet.core.int16},new cljs.core.Symbol("octet.core","int16","octet.core/int16",1387688550,null),cljs.core.PersistentHashMap.fromArrays([new cljs.core.Keyword(null,"ns","ns",441598760),new cljs.core.Keyword(null,"name","name",1843675177),new cljs.core.Keyword(null,"file","file",-1269645878),new cljs.core.Keyword(null,"end-column","end-column",1425389514),new cljs.core.Keyword(null,"column","column",2078222095),new cljs.core.Keyword(null,
"line","line",212345235),new cljs.core.Keyword(null,"end-line","end-line",1837326455),new cljs.core.Keyword(null,"arglists","arglists",1661989754),new cljs.core.Keyword(null,"doc","doc",1913296891),new cljs.core.Keyword(null,"test","test",577538877)],[new cljs.core.Symbol(null,"octet.core","octet.core",-1016875348,null),new cljs.core.Symbol(null,"int16","int16",1451766664,null),"/Users/candera/.boot/cache/tmp/Users/candera/projects/vmt/5lm/8utry3/index.html.out/octet/core.cljc",21,1,47,47,cljs.core.List.EMPTY,
null,cljs.core.truth_(octet.core.int16)?octet.core.int16.cljs$lang$test:null])),cljs.core.merge,cljs.core.dissoc.call(null,cljs.core.meta.call(null,new cljs.core.Var(function(){return octet.spec.basic.int16},new cljs.core.Symbol("octet.spec.basic","int16","octet.spec.basic/int16",818623938,null),cljs.core.PersistentHashMap.fromArrays([new cljs.core.Keyword(null,"ns","ns",441598760),new cljs.core.Keyword(null,"name","name",1843675177),new cljs.core.Keyword(null,"file","file",-1269645878),new cljs.core.Keyword(null,
"end-column","end-column",1425389514),new cljs.core.Keyword(null,"column","column",2078222095),new cljs.core.Keyword(null,"line","line",212345235),new cljs.core.Keyword(null,"end-line","end-line",1837326455),new cljs.core.Keyword(null,"arglists","arglists",1661989754),new cljs.core.Keyword(null,"doc","doc",1913296891),new cljs.core.Keyword(null,"test","test",577538877)],[new cljs.core.Symbol(null,"octet.spec.basic","octet.spec.basic",-546009827,null),new cljs.core.Symbol(null,"int16","int16",1451766664,
null),"/Users/candera/.boot/cache/tmp/Users/candera/projects/vmt/5lm/8utry3/index.html.out/octet/spec/basic.cljc",8,1,86,87,cljs.core.List.EMPTY,"Short type spec.",cljs.core.truth_(octet.spec.basic.int16)?octet.spec.basic.int16.cljs$lang$test:null]))),new cljs.core.Keyword(null,"name","name",1843675177)));octet.core.uint16=octet.spec.basic.uint16;
cljs.core.alter_meta_BANG_.call(null,new cljs.core.Var(function(){return octet.core.uint16},new cljs.core.Symbol("octet.core","uint16","octet.core/uint16",843142999,null),cljs.core.PersistentHashMap.fromArrays([new cljs.core.Keyword(null,"ns","ns",441598760),new cljs.core.Keyword(null,"name","name",1843675177),new cljs.core.Keyword(null,"file","file",-1269645878),new cljs.core.Keyword(null,"end-column","end-column",1425389514),new cljs.core.Keyword(null,"column","column",2078222095),new cljs.core.Keyword(null,
"line","line",212345235),new cljs.core.Keyword(null,"end-line","end-line",1837326455),new cljs.core.Keyword(null,"arglists","arglists",1661989754),new cljs.core.Keyword(null,"doc","doc",1913296891),new cljs.core.Keyword(null,"test","test",577538877)],[new cljs.core.Symbol(null,"octet.core","octet.core",-1016875348,null),new cljs.core.Symbol(null,"uint16","uint16",1051662325,null),"/Users/candera/.boot/cache/tmp/Users/candera/projects/vmt/5lm/8utry3/index.html.out/octet/core.cljc",22,1,48,48,cljs.core.List.EMPTY,
null,cljs.core.truth_(octet.core.uint16)?octet.core.uint16.cljs$lang$test:null])),cljs.core.merge,cljs.core.dissoc.call(null,cljs.core.meta.call(null,new cljs.core.Var(function(){return octet.spec.basic.uint16},new cljs.core.Symbol("octet.spec.basic","uint16","octet.spec.basic/uint16",-1871834573,null),cljs.core.PersistentHashMap.fromArrays([new cljs.core.Keyword(null,"ns","ns",441598760),new cljs.core.Keyword(null,"name","name",1843675177),new cljs.core.Keyword(null,"file","file",-1269645878),new cljs.core.Keyword(null,
"end-column","end-column",1425389514),new cljs.core.Keyword(null,"column","column",2078222095),new cljs.core.Keyword(null,"line","line",212345235),new cljs.core.Keyword(null,"end-line","end-line",1837326455),new cljs.core.Keyword(null,"arglists","arglists",1661989754),new cljs.core.Keyword(null,"doc","doc",1913296891),new cljs.core.Keyword(null,"test","test",577538877)],[new cljs.core.Symbol(null,"octet.spec.basic","octet.spec.basic",-546009827,null),new cljs.core.Symbol(null,"uint16","uint16",1051662325,
null),"/Users/candera/.boot/cache/tmp/Users/candera/projects/vmt/5lm/8utry3/index.html.out/octet/spec/basic.cljc",9,1,118,119,cljs.core.List.EMPTY,"Unsinged int16 type spec.",cljs.core.truth_(octet.spec.basic.uint16)?octet.spec.basic.uint16.cljs$lang$test:null]))),new cljs.core.Keyword(null,"name","name",1843675177)));octet.core.int32=octet.spec.basic.int32;
cljs.core.alter_meta_BANG_.call(null,new cljs.core.Var(function(){return octet.core.int32},new cljs.core.Symbol("octet.core","int32","octet.core/int32",-866048507,null),cljs.core.PersistentHashMap.fromArrays([new cljs.core.Keyword(null,"ns","ns",441598760),new cljs.core.Keyword(null,"name","name",1843675177),new cljs.core.Keyword(null,"file","file",-1269645878),new cljs.core.Keyword(null,"end-column","end-column",1425389514),new cljs.core.Keyword(null,"column","column",2078222095),new cljs.core.Keyword(null,
"line","line",212345235),new cljs.core.Keyword(null,"end-line","end-line",1837326455),new cljs.core.Keyword(null,"arglists","arglists",1661989754),new cljs.core.Keyword(null,"doc","doc",1913296891),new cljs.core.Keyword(null,"test","test",577538877)],[new cljs.core.Symbol(null,"octet.core","octet.core",-1016875348,null),new cljs.core.Symbol(null,"int32","int32",-935630873,null),"/Users/candera/.boot/cache/tmp/Users/candera/projects/vmt/5lm/8utry3/index.html.out/octet/core.cljc",21,1,49,49,cljs.core.List.EMPTY,
null,cljs.core.truth_(octet.core.int32)?octet.core.int32.cljs$lang$test:null])),cljs.core.merge,cljs.core.dissoc.call(null,cljs.core.meta.call(null,new cljs.core.Var(function(){return octet.spec.basic.int32},new cljs.core.Symbol("octet.spec.basic","int32","octet.spec.basic/int32",1853645145,null),cljs.core.PersistentHashMap.fromArrays([new cljs.core.Keyword(null,"ns","ns",441598760),new cljs.core.Keyword(null,"name","name",1843675177),new cljs.core.Keyword(null,"file","file",-1269645878),new cljs.core.Keyword(null,
"end-column","end-column",1425389514),new cljs.core.Keyword(null,"column","column",2078222095),new cljs.core.Keyword(null,"line","line",212345235),new cljs.core.Keyword(null,"end-line","end-line",1837326455),new cljs.core.Keyword(null,"arglists","arglists",1661989754),new cljs.core.Keyword(null,"doc","doc",1913296891),new cljs.core.Keyword(null,"test","test",577538877)],[new cljs.core.Symbol(null,"octet.spec.basic","octet.spec.basic",-546009827,null),new cljs.core.Symbol(null,"int32","int32",-935630873,
null),"/Users/candera/.boot/cache/tmp/Users/candera/projects/vmt/5lm/8utry3/index.html.out/octet/spec/basic.cljc",8,1,89,90,cljs.core.List.EMPTY,"Integer type spec.",cljs.core.truth_(octet.spec.basic.int32)?octet.spec.basic.int32.cljs$lang$test:null]))),new cljs.core.Keyword(null,"name","name",1843675177)));octet.core.uint32=octet.spec.basic.uint32;
cljs.core.alter_meta_BANG_.call(null,new cljs.core.Var(function(){return octet.core.uint32},new cljs.core.Symbol("octet.core","uint32","octet.core/uint32",1291324795,null),cljs.core.PersistentHashMap.fromArrays([new cljs.core.Keyword(null,"ns","ns",441598760),new cljs.core.Keyword(null,"name","name",1843675177),new cljs.core.Keyword(null,"file","file",-1269645878),new cljs.core.Keyword(null,"end-column","end-column",1425389514),new cljs.core.Keyword(null,"column","column",2078222095),new cljs.core.Keyword(null,
"line","line",212345235),new cljs.core.Keyword(null,"end-line","end-line",1837326455),new cljs.core.Keyword(null,"arglists","arglists",1661989754),new cljs.core.Keyword(null,"doc","doc",1913296891),new cljs.core.Keyword(null,"test","test",577538877)],[new cljs.core.Symbol(null,"octet.core","octet.core",-1016875348,null),new cljs.core.Symbol(null,"uint32","uint32",1221742041,null),"/Users/candera/.boot/cache/tmp/Users/candera/projects/vmt/5lm/8utry3/index.html.out/octet/core.cljc",22,1,50,50,cljs.core.List.EMPTY,
null,cljs.core.truth_(octet.core.uint32)?octet.core.uint32.cljs$lang$test:null])),cljs.core.merge,cljs.core.dissoc.call(null,cljs.core.meta.call(null,new cljs.core.Var(function(){return octet.spec.basic.uint32},new cljs.core.Symbol("octet.spec.basic","uint32","octet.spec.basic/uint32",-292206585,null),cljs.core.PersistentHashMap.fromArrays([new cljs.core.Keyword(null,"ns","ns",441598760),new cljs.core.Keyword(null,"name","name",1843675177),new cljs.core.Keyword(null,"file","file",-1269645878),new cljs.core.Keyword(null,
"end-column","end-column",1425389514),new cljs.core.Keyword(null,"column","column",2078222095),new cljs.core.Keyword(null,"line","line",212345235),new cljs.core.Keyword(null,"end-line","end-line",1837326455),new cljs.core.Keyword(null,"arglists","arglists",1661989754),new cljs.core.Keyword(null,"doc","doc",1913296891),new cljs.core.Keyword(null,"test","test",577538877)],[new cljs.core.Symbol(null,"octet.spec.basic","octet.spec.basic",-546009827,null),new cljs.core.Symbol(null,"uint32","uint32",1221742041,
null),"/Users/candera/.boot/cache/tmp/Users/candera/projects/vmt/5lm/8utry3/index.html.out/octet/spec/basic.cljc",9,1,121,122,cljs.core.List.EMPTY,"Unsinged int32 type spec.",cljs.core.truth_(octet.spec.basic.uint32)?octet.spec.basic.uint32.cljs$lang$test:null]))),new cljs.core.Keyword(null,"name","name",1843675177)));octet.core.int64=octet.spec.basic.int64;
cljs.core.alter_meta_BANG_.call(null,new cljs.core.Var(function(){return octet.core.int64},new cljs.core.Symbol("octet.core","int64","octet.core/int64",2068859343,null),cljs.core.PersistentHashMap.fromArrays([new cljs.core.Keyword(null,"ns","ns",441598760),new cljs.core.Keyword(null,"name","name",1843675177),new cljs.core.Keyword(null,"file","file",-1269645878),new cljs.core.Keyword(null,"end-column","end-column",1425389514),new cljs.core.Keyword(null,"column","column",2078222095),new cljs.core.Keyword(null,
"line","line",212345235),new cljs.core.Keyword(null,"end-line","end-line",1837326455),new cljs.core.Keyword(null,"arglists","arglists",1661989754),new cljs.core.Keyword(null,"doc","doc",1913296891),new cljs.core.Keyword(null,"test","test",577538877)],[new cljs.core.Symbol(null,"octet.core","octet.core",-1016875348,null),new cljs.core.Symbol(null,"int64","int64",2137688365,null),"/Users/candera/.boot/cache/tmp/Users/candera/projects/vmt/5lm/8utry3/index.html.out/octet/core.cljc",21,1,51,51,cljs.core.List.EMPTY,
null,cljs.core.truth_(octet.core.int64)?octet.core.int64.cljs$lang$test:null])),cljs.core.merge,cljs.core.dissoc.call(null,cljs.core.meta.call(null,new cljs.core.Var(function(){return octet.spec.basic.int64},new cljs.core.Symbol("octet.spec.basic","int64","octet.spec.basic/int64",497792875,null),cljs.core.PersistentHashMap.fromArrays([new cljs.core.Keyword(null,"ns","ns",441598760),new cljs.core.Keyword(null,"name","name",1843675177),new cljs.core.Keyword(null,"file","file",-1269645878),new cljs.core.Keyword(null,
"end-column","end-column",1425389514),new cljs.core.Keyword(null,"column","column",2078222095),new cljs.core.Keyword(null,"line","line",212345235),new cljs.core.Keyword(null,"end-line","end-line",1837326455),new cljs.core.Keyword(null,"arglists","arglists",1661989754),new cljs.core.Keyword(null,"doc","doc",1913296891),new cljs.core.Keyword(null,"test","test",577538877)],[new cljs.core.Symbol(null,"octet.spec.basic","octet.spec.basic",-546009827,null),new cljs.core.Symbol(null,"int64","int64",2137688365,
null),"/Users/candera/.boot/cache/tmp/Users/candera/projects/vmt/5lm/8utry3/index.html.out/octet/spec/basic.cljc",8,1,92,93,cljs.core.List.EMPTY,"Long type spec.",cljs.core.truth_(octet.spec.basic.int64)?octet.spec.basic.int64.cljs$lang$test:null]))),new cljs.core.Keyword(null,"name","name",1843675177)));octet.core.uint64=octet.spec.basic.uint64;
cljs.core.alter_meta_BANG_.call(null,new cljs.core.Var(function(){return octet.core.uint64},new cljs.core.Symbol("octet.core","uint64","octet.core/uint64",604099145,null),cljs.core.PersistentHashMap.fromArrays([new cljs.core.Keyword(null,"ns","ns",441598760),new cljs.core.Keyword(null,"name","name",1843675177),new cljs.core.Keyword(null,"file","file",-1269645878),new cljs.core.Keyword(null,"end-column","end-column",1425389514),new cljs.core.Keyword(null,"column","column",2078222095),new cljs.core.Keyword(null,
"line","line",212345235),new cljs.core.Keyword(null,"end-line","end-line",1837326455),new cljs.core.Keyword(null,"arglists","arglists",1661989754),new cljs.core.Keyword(null,"doc","doc",1913296891),new cljs.core.Keyword(null,"test","test",577538877)],[new cljs.core.Symbol(null,"octet.core","octet.core",-1016875348,null),new cljs.core.Symbol(null,"uint64","uint64",-664038417,null),"/Users/candera/.boot/cache/tmp/Users/candera/projects/vmt/5lm/8utry3/index.html.out/octet/core.cljc",22,1,52,52,cljs.core.List.EMPTY,
null,cljs.core.truth_(octet.core.uint64)?octet.core.uint64.cljs$lang$test:null])),cljs.core.merge,cljs.core.dissoc.call(null,cljs.core.meta.call(null,new cljs.core.Var(function(){return octet.spec.basic.uint64},new cljs.core.Symbol("octet.spec.basic","uint64","octet.spec.basic/uint64",1175754149,null),cljs.core.PersistentHashMap.fromArrays([new cljs.core.Keyword(null,"ns","ns",441598760),new cljs.core.Keyword(null,"name","name",1843675177),new cljs.core.Keyword(null,"file","file",-1269645878),new cljs.core.Keyword(null,
"end-column","end-column",1425389514),new cljs.core.Keyword(null,"column","column",2078222095),new cljs.core.Keyword(null,"line","line",212345235),new cljs.core.Keyword(null,"end-line","end-line",1837326455),new cljs.core.Keyword(null,"arglists","arglists",1661989754),new cljs.core.Keyword(null,"doc","doc",1913296891),new cljs.core.Keyword(null,"test","test",577538877)],[new cljs.core.Symbol(null,"octet.spec.basic","octet.spec.basic",-546009827,null),new cljs.core.Symbol(null,"uint64","uint64",-664038417,
null),"/Users/candera/.boot/cache/tmp/Users/candera/projects/vmt/5lm/8utry3/index.html.out/octet/spec/basic.cljc",9,1,127,128,cljs.core.List.EMPTY,"Unsinged int64 type spec.",cljs.core.truth_(octet.spec.basic.uint64)?octet.spec.basic.uint64.cljs$lang$test:null]))),new cljs.core.Keyword(null,"name","name",1843675177)));octet.core.float$=octet.spec.basic.float$;
cljs.core.alter_meta_BANG_.call(null,new cljs.core.Var(function(){return octet.core.float$},new cljs.core.Symbol("octet.core","float","octet.core/float",-420733527,null),cljs.core.PersistentHashMap.fromArrays([new cljs.core.Keyword(null,"ns","ns",441598760),new cljs.core.Keyword(null,"name","name",1843675177),new cljs.core.Keyword(null,"file","file",-1269645878),new cljs.core.Keyword(null,"end-column","end-column",1425389514),new cljs.core.Keyword(null,"column","column",2078222095),new cljs.core.Keyword(null,
"line","line",212345235),new cljs.core.Keyword(null,"end-line","end-line",1837326455),new cljs.core.Keyword(null,"arglists","arglists",1661989754),new cljs.core.Keyword(null,"doc","doc",1913296891),new cljs.core.Keyword(null,"test","test",577538877)],[new cljs.core.Symbol(null,"octet.core","octet.core",-1016875348,null),new cljs.core.Symbol(null,"float","float",-91857841,null),"/Users/candera/.boot/cache/tmp/Users/candera/projects/vmt/5lm/8utry3/index.html.out/octet/core.cljc",21,1,53,53,cljs.core.List.EMPTY,
null,cljs.core.truth_(octet.core.float$)?octet.core.float$.cljs$lang$test:null])),cljs.core.merge,cljs.core.dissoc.call(null,cljs.core.meta.call(null,new cljs.core.Var(function(){return octet.spec.basic.float$},new cljs.core.Symbol("octet.spec.basic","float","octet.spec.basic/float",-1732155899,null),cljs.core.PersistentHashMap.fromArrays([new cljs.core.Keyword(null,"ns","ns",441598760),new cljs.core.Keyword(null,"name","name",1843675177),new cljs.core.Keyword(null,"file","file",-1269645878),new cljs.core.Keyword(null,
"end-column","end-column",1425389514),new cljs.core.Keyword(null,"column","column",2078222095),new cljs.core.Keyword(null,"line","line",212345235),new cljs.core.Keyword(null,"end-line","end-line",1837326455),new cljs.core.Keyword(null,"arglists","arglists",1661989754),new cljs.core.Keyword(null,"doc","doc",1913296891),new cljs.core.Keyword(null,"test","test",577538877)],[new cljs.core.Symbol(null,"octet.spec.basic","octet.spec.basic",-546009827,null),new cljs.core.Symbol(null,"float","float",-91857841,
null),"/Users/candera/.boot/cache/tmp/Users/candera/projects/vmt/5lm/8utry3/index.html.out/octet/spec/basic.cljc",8,1,95,96,cljs.core.List.EMPTY,"Float type spec",cljs.core.truth_(octet.spec.basic.float$)?octet.spec.basic.float$.cljs$lang$test:null]))),new cljs.core.Keyword(null,"name","name",1843675177)));octet.core.double$=octet.spec.basic.double$;
cljs.core.alter_meta_BANG_.call(null,new cljs.core.Var(function(){return octet.core.double$},new cljs.core.Symbol("octet.core","double","octet.core/double",-1699212340,null),cljs.core.PersistentHashMap.fromArrays([new cljs.core.Keyword(null,"ns","ns",441598760),new cljs.core.Keyword(null,"name","name",1843675177),new cljs.core.Keyword(null,"file","file",-1269645878),new cljs.core.Keyword(null,"end-column","end-column",1425389514),new cljs.core.Keyword(null,"column","column",2078222095),new cljs.core.Keyword(null,
"line","line",212345235),new cljs.core.Keyword(null,"end-line","end-line",1837326455),new cljs.core.Keyword(null,"arglists","arglists",1661989754),new cljs.core.Keyword(null,"doc","doc",1913296891),new cljs.core.Keyword(null,"test","test",577538877)],[new cljs.core.Symbol(null,"octet.core","octet.core",-1016875348,null),new cljs.core.Symbol(null,"double","double",-1769548886,null),"/Users/candera/.boot/cache/tmp/Users/candera/projects/vmt/5lm/8utry3/index.html.out/octet/core.cljc",22,1,54,54,cljs.core.List.EMPTY,
null,cljs.core.truth_(octet.core.double$)?octet.core.double$.cljs$lang$test:null])),cljs.core.merge,cljs.core.dissoc.call(null,cljs.core.meta.call(null,new cljs.core.Var(function(){return octet.spec.basic.double$},new cljs.core.Symbol("octet.spec.basic","double","octet.spec.basic/double",-79308528,null),cljs.core.PersistentHashMap.fromArrays([new cljs.core.Keyword(null,"ns","ns",441598760),new cljs.core.Keyword(null,"name","name",1843675177),new cljs.core.Keyword(null,"file","file",-1269645878),new cljs.core.Keyword(null,
"end-column","end-column",1425389514),new cljs.core.Keyword(null,"column","column",2078222095),new cljs.core.Keyword(null,"line","line",212345235),new cljs.core.Keyword(null,"end-line","end-line",1837326455),new cljs.core.Keyword(null,"arglists","arglists",1661989754),new cljs.core.Keyword(null,"doc","doc",1913296891),new cljs.core.Keyword(null,"test","test",577538877)],[new cljs.core.Symbol(null,"octet.spec.basic","octet.spec.basic",-546009827,null),new cljs.core.Symbol(null,"double","double",-1769548886,
null),"/Users/candera/.boot/cache/tmp/Users/candera/projects/vmt/5lm/8utry3/index.html.out/octet/spec/basic.cljc",9,1,98,99,cljs.core.List.EMPTY,"Double type spec.",cljs.core.truth_(octet.spec.basic.double$)?octet.spec.basic.double$.cljs$lang$test:null]))),new cljs.core.Keyword(null,"name","name",1843675177)));octet.core.byte$=octet.spec.basic.byte$;
cljs.core.alter_meta_BANG_.call(null,new cljs.core.Var(function(){return octet.core.byte$},new cljs.core.Symbol("octet.core","byte","octet.core/byte",-1231004707,null),cljs.core.PersistentHashMap.fromArrays([new cljs.core.Keyword(null,"ns","ns",441598760),new cljs.core.Keyword(null,"name","name",1843675177),new cljs.core.Keyword(null,"file","file",-1269645878),new cljs.core.Keyword(null,"end-column","end-column",1425389514),new cljs.core.Keyword(null,"column","column",2078222095),new cljs.core.Keyword(null,
"line","line",212345235),new cljs.core.Keyword(null,"end-line","end-line",1837326455),new cljs.core.Keyword(null,"arglists","arglists",1661989754),new cljs.core.Keyword(null,"doc","doc",1913296891),new cljs.core.Keyword(null,"test","test",577538877)],[new cljs.core.Symbol(null,"octet.core","octet.core",-1016875348,null),new cljs.core.Symbol(null,"byte","byte",-1970660549,null),"/Users/candera/.boot/cache/tmp/Users/candera/projects/vmt/5lm/8utry3/index.html.out/octet/core.cljc",20,1,55,55,cljs.core.List.EMPTY,
null,cljs.core.truth_(octet.core.byte$)?octet.core.byte$.cljs$lang$test:null])),cljs.core.merge,cljs.core.dissoc.call(null,cljs.core.meta.call(null,new cljs.core.Var(function(){return octet.spec.basic.byte$},new cljs.core.Symbol("octet.spec.basic","byte","octet.spec.basic/byte",348855649,null),cljs.core.PersistentHashMap.fromArrays([new cljs.core.Keyword(null,"ns","ns",441598760),new cljs.core.Keyword(null,"name","name",1843675177),new cljs.core.Keyword(null,"file","file",-1269645878),new cljs.core.Keyword(null,
"end-column","end-column",1425389514),new cljs.core.Keyword(null,"column","column",2078222095),new cljs.core.Keyword(null,"line","line",212345235),new cljs.core.Keyword(null,"end-line","end-line",1837326455),new cljs.core.Keyword(null,"arglists","arglists",1661989754),new cljs.core.Keyword(null,"doc","doc",1913296891),new cljs.core.Keyword(null,"test","test",577538877)],[new cljs.core.Symbol(null,"octet.spec.basic","octet.spec.basic",-546009827,null),new cljs.core.Symbol(null,"byte","byte",-1970660549,
null),"/Users/candera/.boot/cache/tmp/Users/candera/projects/vmt/5lm/8utry3/index.html.out/octet/spec/basic.cljc",7,1,83,84,cljs.core.List.EMPTY,"Byte type spec.",cljs.core.truth_(octet.spec.basic.byte$)?octet.spec.basic.byte$.cljs$lang$test:null]))),new cljs.core.Keyword(null,"name","name",1843675177)));octet.core.ubyte=octet.spec.basic.ubyte;
cljs.core.alter_meta_BANG_.call(null,new cljs.core.Var(function(){return octet.core.ubyte},new cljs.core.Symbol("octet.core","ubyte","octet.core/ubyte",671839762,null),cljs.core.PersistentHashMap.fromArrays([new cljs.core.Keyword(null,"ns","ns",441598760),new cljs.core.Keyword(null,"name","name",1843675177),new cljs.core.Keyword(null,"file","file",-1269645878),new cljs.core.Keyword(null,"end-column","end-column",1425389514),new cljs.core.Keyword(null,"column","column",2078222095),new cljs.core.Keyword(null,
"line","line",212345235),new cljs.core.Keyword(null,"end-line","end-line",1837326455),new cljs.core.Keyword(null,"arglists","arglists",1661989754),new cljs.core.Keyword(null,"doc","doc",1913296891),new cljs.core.Keyword(null,"test","test",577538877)],[new cljs.core.Symbol(null,"octet.core","octet.core",-1016875348,null),new cljs.core.Symbol(null,"ubyte","ubyte",617690796,null),"/Users/candera/.boot/cache/tmp/Users/candera/projects/vmt/5lm/8utry3/index.html.out/octet/core.cljc",21,1,56,56,cljs.core.List.EMPTY,
null,cljs.core.truth_(octet.core.ubyte)?octet.core.ubyte.cljs$lang$test:null])),cljs.core.merge,cljs.core.dissoc.call(null,cljs.core.meta.call(null,new cljs.core.Var(function(){return octet.spec.basic.ubyte},new cljs.core.Symbol("octet.spec.basic","ubyte","octet.spec.basic/ubyte",-971624202,null),cljs.core.PersistentHashMap.fromArrays([new cljs.core.Keyword(null,"ns","ns",441598760),new cljs.core.Keyword(null,"name","name",1843675177),new cljs.core.Keyword(null,"file","file",-1269645878),new cljs.core.Keyword(null,
"end-column","end-column",1425389514),new cljs.core.Keyword(null,"column","column",2078222095),new cljs.core.Keyword(null,"line","line",212345235),new cljs.core.Keyword(null,"end-line","end-line",1837326455),new cljs.core.Keyword(null,"arglists","arglists",1661989754),new cljs.core.Keyword(null,"doc","doc",1913296891),new cljs.core.Keyword(null,"test","test",577538877)],[new cljs.core.Symbol(null,"octet.spec.basic","octet.spec.basic",-546009827,null),new cljs.core.Symbol(null,"ubyte","ubyte",617690796,
null),"/Users/candera/.boot/cache/tmp/Users/candera/projects/vmt/5lm/8utry3/index.html.out/octet/spec/basic.cljc",8,1,124,125,cljs.core.List.EMPTY,"Unsinged byte type spec.",cljs.core.truth_(octet.spec.basic.ubyte)?octet.spec.basic.ubyte.cljs$lang$test:null]))),new cljs.core.Keyword(null,"name","name",1843675177)));octet.core.bytes=octet.spec.basic.bytes;
cljs.core.alter_meta_BANG_.call(null,new cljs.core.Var(function(){return octet.core.bytes},new cljs.core.Symbol("octet.core","bytes","octet.core/bytes",-1545071715,null),cljs.core.PersistentHashMap.fromArrays([new cljs.core.Keyword(null,"ns","ns",441598760),new cljs.core.Keyword(null,"name","name",1843675177),new cljs.core.Keyword(null,"file","file",-1269645878),new cljs.core.Keyword(null,"end-column","end-column",1425389514),new cljs.core.Keyword(null,"column","column",2078222095),new cljs.core.Keyword(null,
"line","line",212345235),new cljs.core.Keyword(null,"end-line","end-line",1837326455),new cljs.core.Keyword(null,"arglists","arglists",1661989754),new cljs.core.Keyword(null,"doc","doc",1913296891),new cljs.core.Keyword(null,"test","test",577538877)],[new cljs.core.Symbol(null,"octet.core","octet.core",-1016875348,null),new cljs.core.Symbol(null,"bytes","bytes",-1478569089,null),"/Users/candera/.boot/cache/tmp/Users/candera/projects/vmt/5lm/8utry3/index.html.out/octet/core.cljc",21,1,57,57,cljs.core.List.EMPTY,
null,cljs.core.truth_(octet.core.bytes)?octet.core.bytes.cljs$lang$test:null])),cljs.core.merge,cljs.core.dissoc.call(null,cljs.core.meta.call(null,new cljs.core.Var(function(){return octet.spec.basic.bytes},new cljs.core.Symbol("octet.spec.basic","bytes","octet.spec.basic/bytes",-1054876359,null),cljs.core.PersistentHashMap.fromArrays([new cljs.core.Keyword(null,"ns","ns",441598760),new cljs.core.Keyword(null,"name","name",1843675177),new cljs.core.Keyword(null,"file","file",-1269645878),new cljs.core.Keyword(null,
"end-column","end-column",1425389514),new cljs.core.Keyword(null,"column","column",2078222095),new cljs.core.Keyword(null,"line","line",212345235),new cljs.core.Keyword(null,"end-line","end-line",1837326455),new cljs.core.Keyword(null,"arglists","arglists",1661989754),new cljs.core.Keyword(null,"doc","doc",1913296891),new cljs.core.Keyword(null,"test","test",577538877)],[new cljs.core.Symbol(null,"octet.spec.basic","octet.spec.basic",-546009827,null),new cljs.core.Symbol(null,"bytes","bytes",-1478569089,
null),"/Users/candera/.boot/cache/tmp/Users/candera/projects/vmt/5lm/8utry3/index.html.out/octet/spec/basic.cljc",12,1,101,101,cljs.core.list(new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[cljs.core.with_meta(new cljs.core.Symbol(null,"size","size",-1555742762,null),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"tag","tag",-1290361223),new cljs.core.Symbol(null,"long","long",1469079434,null)],null))],null)),"Fixed size byte array type spec constructor.",
cljs.core.truth_(octet.spec.basic.bytes)?octet.spec.basic.bytes.cljs$lang$test:null]))),new cljs.core.Keyword(null,"name","name",1843675177)));octet.core.bool=octet.spec.basic.bool;
cljs.core.alter_meta_BANG_.call(null,new cljs.core.Var(function(){return octet.core.bool},new cljs.core.Symbol("octet.core","bool","octet.core/bool",-1411798554,null),cljs.core.PersistentHashMap.fromArrays([new cljs.core.Keyword(null,"ns","ns",441598760),new cljs.core.Keyword(null,"name","name",1843675177),new cljs.core.Keyword(null,"file","file",-1269645878),new cljs.core.Keyword(null,"end-column","end-column",1425389514),new cljs.core.Keyword(null,"column","column",2078222095),new cljs.core.Keyword(null,
"line","line",212345235),new cljs.core.Keyword(null,"end-line","end-line",1837326455),new cljs.core.Keyword(null,"arglists","arglists",1661989754),new cljs.core.Keyword(null,"doc","doc",1913296891),new cljs.core.Keyword(null,"test","test",577538877)],[new cljs.core.Symbol(null,"octet.core","octet.core",-1016875348,null),new cljs.core.Symbol(null,"bool","bool",-1209800448,null),"/Users/candera/.boot/cache/tmp/Users/candera/projects/vmt/5lm/8utry3/index.html.out/octet/core.cljc",20,1,58,58,cljs.core.List.EMPTY,
null,cljs.core.truth_(octet.core.bool)?octet.core.bool.cljs$lang$test:null])),cljs.core.merge,cljs.core.dissoc.call(null,cljs.core.meta.call(null,new cljs.core.Var(function(){return octet.spec.basic.bool},new cljs.core.Symbol("octet.spec.basic","bool","octet.spec.basic/bool",1428349770,null),cljs.core.PersistentHashMap.fromArrays([new cljs.core.Keyword(null,"ns","ns",441598760),new cljs.core.Keyword(null,"name","name",1843675177),new cljs.core.Keyword(null,"file","file",-1269645878),new cljs.core.Keyword(null,
"end-column","end-column",1425389514),new cljs.core.Keyword(null,"column","column",2078222095),new cljs.core.Keyword(null,"line","line",212345235),new cljs.core.Keyword(null,"end-line","end-line",1837326455),new cljs.core.Keyword(null,"arglists","arglists",1661989754),new cljs.core.Keyword(null,"doc","doc",1913296891),new cljs.core.Keyword(null,"test","test",577538877)],[new cljs.core.Symbol(null,"octet.spec.basic","octet.spec.basic",-546009827,null),new cljs.core.Symbol(null,"bool","bool",-1209800448,
null),"/Users/candera/.boot/cache/tmp/Users/candera/projects/vmt/5lm/8utry3/index.html.out/octet/spec/basic.cljc",7,1,54,55,cljs.core.List.EMPTY,"Boolean type spec.",cljs.core.truth_(octet.spec.basic.bool)?octet.spec.basic.bool.cljs$lang$test:null]))),new cljs.core.Keyword(null,"name","name",1843675177)));octet.core.allocate=octet.buffer.allocate;
cljs.core.alter_meta_BANG_.call(null,new cljs.core.Var(function(){return octet.core.allocate},new cljs.core.Symbol("octet.core","allocate","octet.core/allocate",-2033980626,null),cljs.core.PersistentHashMap.fromArrays([new cljs.core.Keyword(null,"ns","ns",441598760),new cljs.core.Keyword(null,"name","name",1843675177),new cljs.core.Keyword(null,"file","file",-1269645878),new cljs.core.Keyword(null,"end-column","end-column",1425389514),new cljs.core.Keyword(null,"column","column",2078222095),new cljs.core.Keyword(null,
"line","line",212345235),new cljs.core.Keyword(null,"end-line","end-line",1837326455),new cljs.core.Keyword(null,"arglists","arglists",1661989754),new cljs.core.Keyword(null,"doc","doc",1913296891),new cljs.core.Keyword(null,"test","test",577538877)],[new cljs.core.Symbol(null,"octet.core","octet.core",-1016875348,null),new cljs.core.Symbol(null,"allocate","allocate",-1963381880,null),"/Users/candera/.boot/cache/tmp/Users/candera/projects/vmt/5lm/8utry3/index.html.out/octet/core.cljc",24,1,59,59,
cljs.core.List.EMPTY,null,cljs.core.truth_(octet.core.allocate)?octet.core.allocate.cljs$lang$test:null])),cljs.core.merge,cljs.core.dissoc.call(null,cljs.core.meta.call(null,new cljs.core.Var(function(){return octet.buffer.allocate},new cljs.core.Symbol("octet.buffer","allocate","octet.buffer/allocate",654203599,null),cljs.core.PersistentHashMap.fromArrays([new cljs.core.Keyword(null,"ns","ns",441598760),new cljs.core.Keyword(null,"name","name",1843675177),new cljs.core.Keyword(null,"file","file",
-1269645878),new cljs.core.Keyword(null,"end-column","end-column",1425389514),new cljs.core.Keyword(null,"column","column",2078222095),new cljs.core.Keyword(null,"line","line",212345235),new cljs.core.Keyword(null,"end-line","end-line",1837326455),new cljs.core.Keyword(null,"arglists","arglists",1661989754),new cljs.core.Keyword(null,"doc","doc",1913296891),new cljs.core.Keyword(null,"test","test",577538877)],[new cljs.core.Symbol(null,"octet.buffer","octet.buffer",-833729793,null),new cljs.core.Symbol(null,
"allocate","allocate",-1963381880,null),"/Users/candera/.boot/cache/tmp/Users/candera/projects/vmt/5lm/8utry3/index.html.out/octet/buffer.cljc",19,1,453,453,cljs.core.List.EMPTY,"Polymorphic function for allocate new bytebuffers.\n\n  It allows allocate using different implementation\n  of bytebuffers and different types of them.\n\n  As example, you may want allocate nio direct buffer of 4 bytes:\n\n      (allocate 4 {:type :direct :impl :nio})\n\n  The supported options pairs are:\n\n  - type: `:heap`, impl: `:nio` (default)\n  - type: `:direct`, impl: `:nio`\n  - type: `:heap`, impl: `:netty`\n  - type: `:direct`, impl: `:netty`\n  - impl: `:es6` (clojurescript) (default)\n\n  This function is defined as multimethod and you can\n  extend it with your own bytebuffer implementations\n  if you want or need it.",
cljs.core.truth_(octet.buffer.allocate)?octet.buffer.allocate.cljs$lang$test:null]))),new cljs.core.Keyword(null,"name","name",1843675177)));octet.core.get_capacity=octet.buffer.get_capacity;
cljs.core.alter_meta_BANG_.call(null,new cljs.core.Var(function(){return octet.core.get_capacity},new cljs.core.Symbol("octet.core","get-capacity","octet.core/get-capacity",386243367,null),cljs.core.PersistentHashMap.fromArrays([new cljs.core.Keyword(null,"ns","ns",441598760),new cljs.core.Keyword(null,"name","name",1843675177),new cljs.core.Keyword(null,"file","file",-1269645878),new cljs.core.Keyword(null,"end-column","end-column",1425389514),new cljs.core.Keyword(null,"column","column",2078222095),
new cljs.core.Keyword(null,"line","line",212345235),new cljs.core.Keyword(null,"end-line","end-line",1837326455),new cljs.core.Keyword(null,"arglists","arglists",1661989754),new cljs.core.Keyword(null,"doc","doc",1913296891),new cljs.core.Keyword(null,"test","test",577538877)],[new cljs.core.Symbol(null,"octet.core","octet.core",-1016875348,null),new cljs.core.Symbol(null,"get-capacity","get-capacity",460544833,null),"/Users/candera/.boot/cache/tmp/Users/candera/projects/vmt/5lm/8utry3/index.html.out/octet/core.cljc",
28,1,60,60,cljs.core.List.EMPTY,null,cljs.core.truth_(octet.core.get_capacity)?octet.core.get_capacity.cljs$lang$test:null])),cljs.core.merge,cljs.core.dissoc.call(null,cljs.core.meta.call(null,new cljs.core.Var(function(){return octet.buffer.get_capacity},new cljs.core.Symbol("octet.buffer","get-capacity","octet.buffer/get-capacity",-143512570,null),cljs.core.PersistentHashMap.fromArrays([new cljs.core.Keyword(null,"protocol","protocol",652470118),new cljs.core.Keyword(null,"ns","ns",441598760),
new cljs.core.Keyword(null,"name","name",1843675177),new cljs.core.Keyword(null,"file","file",-1269645878),new cljs.core.Keyword(null,"end-column","end-column",1425389514),new cljs.core.Keyword(null,"column","column",2078222095),new cljs.core.Keyword(null,"line","line",212345235),new cljs.core.Keyword(null,"end-line","end-line",1837326455),new cljs.core.Keyword(null,"arglists","arglists",1661989754),new cljs.core.Keyword(null,"doc","doc",1913296891),new cljs.core.Keyword(null,"test","test",577538877)],
[new cljs.core.Symbol("octet.buffer","IBufferLimit","octet.buffer/IBufferLimit",1292118535,null),new cljs.core.Symbol(null,"octet.buffer","octet.buffer",-833729793,null),new cljs.core.Symbol(null,"get-capacity","get-capacity",460544833,null),"/Users/candera/.boot/cache/tmp/Users/candera/projects/vmt/5lm/8utry3/index.html.out/octet/buffer.cljc",16,1,84,85,cljs.core.list(new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"_","_",-1201019570,null)],
null)),"Get the read/write capacity in bytes.",cljs.core.truth_(octet.buffer.get_capacity)?octet.buffer.get_capacity.cljs$lang$test:null]))),new cljs.core.Keyword(null,"name","name",1843675177)));octet.core.short$=octet.core.int16;
cljs.core.alter_meta_BANG_.call(null,new cljs.core.Var(function(){return octet.core.short$},new cljs.core.Symbol("octet.core","short","octet.core/short",-792112155,null),cljs.core.PersistentHashMap.fromArrays([new cljs.core.Keyword(null,"ns","ns",441598760),new cljs.core.Keyword(null,"name","name",1843675177),new cljs.core.Keyword(null,"file","file",-1269645878),new cljs.core.Keyword(null,"end-column","end-column",1425389514),new cljs.core.Keyword(null,"column","column",2078222095),new cljs.core.Keyword(null,
"line","line",212345235),new cljs.core.Keyword(null,"end-line","end-line",1837326455),new cljs.core.Keyword(null,"arglists","arglists",1661989754),new cljs.core.Keyword(null,"doc","doc",1913296891),new cljs.core.Keyword(null,"test","test",577538877)],[new cljs.core.Symbol(null,"octet.core","octet.core",-1016875348,null),new cljs.core.Symbol(null,"short","short",-725675253,null),"/Users/candera/.boot/cache/tmp/Users/candera/projects/vmt/5lm/8utry3/index.html.out/octet/core.cljc",21,1,61,61,cljs.core.List.EMPTY,
null,cljs.core.truth_(octet.core.short$)?octet.core.short$.cljs$lang$test:null])),cljs.core.merge,cljs.core.dissoc.call(null,cljs.core.meta.call(null,new cljs.core.Var(function(){return octet.core.int16},new cljs.core.Symbol("octet.core","int16","octet.core/int16",1387688550,null),cljs.core.PersistentHashMap.fromArrays([new cljs.core.Keyword(null,"ns","ns",441598760),new cljs.core.Keyword(null,"name","name",1843675177),new cljs.core.Keyword(null,"file","file",-1269645878),new cljs.core.Keyword(null,
"end-column","end-column",1425389514),new cljs.core.Keyword(null,"column","column",2078222095),new cljs.core.Keyword(null,"line","line",212345235),new cljs.core.Keyword(null,"end-line","end-line",1837326455),new cljs.core.Keyword(null,"arglists","arglists",1661989754),new cljs.core.Keyword(null,"doc","doc",1913296891),new cljs.core.Keyword(null,"test","test",577538877)],[new cljs.core.Symbol(null,"octet.core","octet.core",-1016875348,null),new cljs.core.Symbol(null,"int16","int16",1451766664,null),
"/Users/candera/.boot/cache/tmp/Users/candera/projects/vmt/5lm/8utry3/index.html.out/octet/core.cljc",21,1,47,47,cljs.core.List.EMPTY,null,cljs.core.truth_(octet.core.int16)?octet.core.int16.cljs$lang$test:null]))),new cljs.core.Keyword(null,"name","name",1843675177)));octet.core.integer=octet.core.int32;
cljs.core.alter_meta_BANG_.call(null,new cljs.core.Var(function(){return octet.core.integer},new cljs.core.Symbol("octet.core","integer","octet.core/integer",963343479,null),cljs.core.PersistentHashMap.fromArrays([new cljs.core.Keyword(null,"ns","ns",441598760),new cljs.core.Keyword(null,"name","name",1843675177),new cljs.core.Keyword(null,"file","file",-1269645878),new cljs.core.Keyword(null,"end-column","end-column",1425389514),new cljs.core.Keyword(null,"column","column",2078222095),new cljs.core.Keyword(null,
"line","line",212345235),new cljs.core.Keyword(null,"end-line","end-line",1837326455),new cljs.core.Keyword(null,"arglists","arglists",1661989754),new cljs.core.Keyword(null,"doc","doc",1913296891),new cljs.core.Keyword(null,"test","test",577538877)],[new cljs.core.Symbol(null,"octet.core","octet.core",-1016875348,null),new cljs.core.Symbol(null,"integer","integer",1035809817,null),"/Users/candera/.boot/cache/tmp/Users/candera/projects/vmt/5lm/8utry3/index.html.out/octet/core.cljc",23,1,62,62,cljs.core.List.EMPTY,
null,cljs.core.truth_(octet.core.integer)?octet.core.integer.cljs$lang$test:null])),cljs.core.merge,cljs.core.dissoc.call(null,cljs.core.meta.call(null,new cljs.core.Var(function(){return octet.core.int32},new cljs.core.Symbol("octet.core","int32","octet.core/int32",-866048507,null),cljs.core.PersistentHashMap.fromArrays([new cljs.core.Keyword(null,"ns","ns",441598760),new cljs.core.Keyword(null,"name","name",1843675177),new cljs.core.Keyword(null,"file","file",-1269645878),new cljs.core.Keyword(null,
"end-column","end-column",1425389514),new cljs.core.Keyword(null,"column","column",2078222095),new cljs.core.Keyword(null,"line","line",212345235),new cljs.core.Keyword(null,"end-line","end-line",1837326455),new cljs.core.Keyword(null,"arglists","arglists",1661989754),new cljs.core.Keyword(null,"doc","doc",1913296891),new cljs.core.Keyword(null,"test","test",577538877)],[new cljs.core.Symbol(null,"octet.core","octet.core",-1016875348,null),new cljs.core.Symbol(null,"int32","int32",-935630873,null),
"/Users/candera/.boot/cache/tmp/Users/candera/projects/vmt/5lm/8utry3/index.html.out/octet/core.cljc",21,1,49,49,cljs.core.List.EMPTY,null,cljs.core.truth_(octet.core.int32)?octet.core.int32.cljs$lang$test:null]))),new cljs.core.Keyword(null,"name","name",1843675177)));octet.core.long$=octet.core.int64;
cljs.core.alter_meta_BANG_.call(null,new cljs.core.Var(function(){return octet.core.long$},new cljs.core.Symbol("octet.core","long","octet.core/long",1382457132,null),cljs.core.PersistentHashMap.fromArrays([new cljs.core.Keyword(null,"ns","ns",441598760),new cljs.core.Keyword(null,"name","name",1843675177),new cljs.core.Keyword(null,"file","file",-1269645878),new cljs.core.Keyword(null,"end-column","end-column",1425389514),new cljs.core.Keyword(null,"column","column",2078222095),new cljs.core.Keyword(null,
"line","line",212345235),new cljs.core.Keyword(null,"end-line","end-line",1837326455),new cljs.core.Keyword(null,"arglists","arglists",1661989754),new cljs.core.Keyword(null,"doc","doc",1913296891),new cljs.core.Keyword(null,"test","test",577538877)],[new cljs.core.Symbol(null,"octet.core","octet.core",-1016875348,null),new cljs.core.Symbol(null,"long","long",1469079434,null),"/Users/candera/.boot/cache/tmp/Users/candera/projects/vmt/5lm/8utry3/index.html.out/octet/core.cljc",20,1,63,63,cljs.core.List.EMPTY,
null,cljs.core.truth_(octet.core.long$)?octet.core.long$.cljs$lang$test:null])),cljs.core.merge,cljs.core.dissoc.call(null,cljs.core.meta.call(null,new cljs.core.Var(function(){return octet.core.int64},new cljs.core.Symbol("octet.core","int64","octet.core/int64",2068859343,null),cljs.core.PersistentHashMap.fromArrays([new cljs.core.Keyword(null,"ns","ns",441598760),new cljs.core.Keyword(null,"name","name",1843675177),new cljs.core.Keyword(null,"file","file",-1269645878),new cljs.core.Keyword(null,
"end-column","end-column",1425389514),new cljs.core.Keyword(null,"column","column",2078222095),new cljs.core.Keyword(null,"line","line",212345235),new cljs.core.Keyword(null,"end-line","end-line",1837326455),new cljs.core.Keyword(null,"arglists","arglists",1661989754),new cljs.core.Keyword(null,"doc","doc",1913296891),new cljs.core.Keyword(null,"test","test",577538877)],[new cljs.core.Symbol(null,"octet.core","octet.core",-1016875348,null),new cljs.core.Symbol(null,"int64","int64",2137688365,null),
"/Users/candera/.boot/cache/tmp/Users/candera/projects/vmt/5lm/8utry3/index.html.out/octet/core.cljc",21,1,51,51,cljs.core.List.EMPTY,null,cljs.core.truth_(octet.core.int64)?octet.core.int64.cljs$lang$test:null]))),new cljs.core.Keyword(null,"name","name",1843675177)));
octet.core.write_BANG_=function(a){switch(arguments.length){case 3:return octet.core.write_BANG_.cljs$core$IFn$_invoke$arity$3(arguments[0],arguments[1],arguments[2]);case 4:return octet.core.write_BANG_.cljs$core$IFn$_invoke$arity$4(arguments[0],arguments[1],arguments[2],arguments[3]);default:throw Error(["Invalid arity: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(""));}};
octet.core.write_BANG_.cljs$core$IFn$_invoke$arity$3=function(a,b,c){return octet.core.write_BANG_.call(null,a,b,c,cljs.core.PersistentArrayMap.EMPTY)};
octet.core.write_BANG_.cljs$core$IFn$_invoke$arity$4=function(a,b,c,d){d=null!=d&&(d.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===d.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,d):d;d=cljs.core.get.call(null,d,new cljs.core.Keyword(null,"offset","offset",296498311),0);return octet.spec.write.call(null,c,a,d,b)};octet.core.write_BANG_.cljs$lang$maxFixedArity=4;
octet.core.read_STAR_=function(a){switch(arguments.length){case 2:return octet.core.read_STAR_.cljs$core$IFn$_invoke$arity$2(arguments[0],arguments[1]);case 3:return octet.core.read_STAR_.cljs$core$IFn$_invoke$arity$3(arguments[0],arguments[1],arguments[2]);default:throw Error(["Invalid arity: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(""));}};octet.core.read_STAR_.cljs$core$IFn$_invoke$arity$2=function(a,b){return octet.core.read_STAR_.call(null,a,b,cljs.core.PersistentArrayMap.EMPTY)};
octet.core.read_STAR_.cljs$core$IFn$_invoke$arity$3=function(a,b,c){c=null!=c&&(c.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===c.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,c):c;c=cljs.core.get.call(null,c,new cljs.core.Keyword(null,"offset","offset",296498311),0);return octet.spec.read.call(null,b,a,c)};octet.core.read_STAR_.cljs$lang$maxFixedArity=3;
octet.core.read=function(a){for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;b=0<b.length?new cljs.core.IndexedSeq(b.slice(0),0,null):null;return octet.core.read.cljs$core$IFn$_invoke$arity$variadic(b)};octet.core.read.cljs$core$IFn$_invoke$arity$variadic=function(a){return cljs.core.second.call(null,cljs.core.apply.call(null,octet.core.read_STAR_,a))};octet.core.read.cljs$lang$maxFixedArity=0;
octet.core.read.cljs$lang$applyTo=function(a){return this.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq.call(null,a))};octet.core.into=function(a){switch(arguments.length){case 2:return octet.core.into.cljs$core$IFn$_invoke$arity$2(arguments[0],arguments[1]);case 3:return octet.core.into.cljs$core$IFn$_invoke$arity$3(arguments[0],arguments[1],arguments[2]);default:throw Error(["Invalid arity: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(""));}};
octet.core.into.cljs$core$IFn$_invoke$arity$2=function(a,b){return octet.core.into.call(null,a,b,cljs.core.PersistentArrayMap.EMPTY)};octet.core.into.cljs$core$IFn$_invoke$arity$3=function(a,b,c){var d=octet.spec.size_STAR_.call(null,a,b);d=octet.buffer.allocate.call(null,d,c);octet.core.write_BANG_.call(null,d,b,a,c);return d};octet.core.into.cljs$lang$maxFixedArity=3;weathergen.falcon.files.all_errors=new cljs.core.Keyword(null,"default","default",-1987822328);
weathergen.falcon.files.read_trace=function(a,b){if("undefined"===typeof weathergen||"undefined"===typeof weathergen.falcon||"undefined"===typeof weathergen.falcon.files||"undefined"===typeof weathergen.falcon.files.t_weathergen$falcon$files27578)weathergen.falcon.files.t_weathergen$falcon$files27578=function(a,b,e){this.msg=a;this.spec=b;this.meta27579=e;this.cljs$lang$protocol_mask$partition0$=393216;this.cljs$lang$protocol_mask$partition1$=0},weathergen.falcon.files.t_weathergen$falcon$files27578.prototype.cljs$core$IWithMeta$_with_meta$arity$2=
function(a,b){return new weathergen.falcon.files.t_weathergen$falcon$files27578(this.msg,this.spec,b)},weathergen.falcon.files.t_weathergen$falcon$files27578.prototype.cljs$core$IMeta$_meta$arity$1=function(a){return this.meta27579},weathergen.falcon.files.t_weathergen$falcon$files27578.prototype.octet$spec$ISpec$=cljs.core.PROTOCOL_SENTINEL,weathergen.falcon.files.t_weathergen$falcon$files27578.prototype.octet$spec$ISpec$read$arity$3=function(a,b,e){var c=this;taoensso.timbre._log_BANG_.call(null,
taoensso.timbre._STAR_config_STAR_,new cljs.core.Keyword(null,"debug","debug",-1608172596),"weathergen.falcon.files",null,21,new cljs.core.Keyword(null,"p","p",151049309),new cljs.core.Keyword(null,"auto","auto",-566279492),new cljs.core.Delay(function(a){return function(){return new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[["start: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(c.msg),"@",cljs.core.str.cljs$core$IFn$_invoke$arity$1(e)].join("")],null)}}(this),null),
null,965077640);a=octet.spec.read.call(null,c.spec,b,e);taoensso.timbre._log_BANG_.call(null,taoensso.timbre._STAR_config_STAR_,new cljs.core.Keyword(null,"debug","debug",-1608172596),"weathergen.falcon.files",null,23,new cljs.core.Keyword(null,"p","p",151049309),new cljs.core.Keyword(null,"auto","auto",-566279492),new cljs.core.Delay(function(a,b){return function(){return new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[["end: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(c.msg)].join("")],
null)}}(a,this),null),null,760062436);try{return taoensso.timbre._log_BANG_.call(null,taoensso.timbre._STAR_config_STAR_,new cljs.core.Keyword(null,"debug","debug",-1608172596),"weathergen.falcon.files",null,24,new cljs.core.Keyword(null,"p","p",151049309),new cljs.core.Keyword(null,"auto","auto",-566279492),new cljs.core.Delay(function(a,b,c){return function(){return new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"result","result",-1239343558,
null),"\x3d\x3e",a],null)}}(a,a,this),null),null,1214500594),a}catch(g){if(g instanceof Error)throw b=g,taoensso.timbre._log_BANG_.call(null,taoensso.timbre._STAR_config_STAR_,new cljs.core.Keyword(null,"error","error",-978969032),"weathergen.falcon.files",null,24,new cljs.core.Keyword(null,"p","p",151049309),new cljs.core.Keyword(null,"auto","auto",-566279492),new cljs.core.Delay(function(a,b,c){return function(){return new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,
[a],null)}}(b,a,this),null),null,2061331116),b;throw g;}},weathergen.falcon.files.t_weathergen$falcon$files27578.getBasis=function(){return new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"msg","msg",254428083,null),new cljs.core.Symbol(null,"spec","spec",1988051928,null),new cljs.core.Symbol(null,"meta27579","meta27579",66643556,null)],null)},weathergen.falcon.files.t_weathergen$falcon$files27578.cljs$lang$type=!0,weathergen.falcon.files.t_weathergen$falcon$files27578.cljs$lang$ctorStr=
"weathergen.falcon.files/t_weathergen$falcon$files27578",weathergen.falcon.files.t_weathergen$falcon$files27578.cljs$lang$ctorPrWriter=function(a,b,e){return cljs.core._write.call(null,b,"weathergen.falcon.files/t_weathergen$falcon$files27578")},weathergen.falcon.files.__GT_t_weathergen$falcon$files27578=function(a,b,e){return new weathergen.falcon.files.t_weathergen$falcon$files27578(a,b,e)};return new weathergen.falcon.files.t_weathergen$falcon$files27578(a,b,cljs.core.PersistentArrayMap.EMPTY)};
weathergen.falcon.files.lstring=function(a){var b=octet.core.size.call(null,a);if("undefined"===typeof weathergen||"undefined"===typeof weathergen.falcon||"undefined"===typeof weathergen.falcon.files||"undefined"===typeof weathergen.falcon.files.t_weathergen$falcon$files27582)weathergen.falcon.files.t_weathergen$falcon$files27582=function(a,b,e){this.length_spec=a;this.len_size=b;this.meta27583=e;this.cljs$lang$protocol_mask$partition0$=393217;this.cljs$lang$protocol_mask$partition1$=0},weathergen.falcon.files.t_weathergen$falcon$files27582.prototype.cljs$core$IWithMeta$_with_meta$arity$2=
function(a){return function(a,b){return new weathergen.falcon.files.t_weathergen$falcon$files27582(this.length_spec,this.len_size,b)}}(b),weathergen.falcon.files.t_weathergen$falcon$files27582.prototype.cljs$core$IMeta$_meta$arity$1=function(a){return function(a){return this.meta27583}}(b),weathergen.falcon.files.t_weathergen$falcon$files27582.prototype.call=function(a){return function(a){return this}}(b),weathergen.falcon.files.t_weathergen$falcon$files27582.prototype.apply=function(a){return function(a,
b){return this.call.apply(this,[this].concat(cljs.core.aclone.call(null,b)))}}(b),weathergen.falcon.files.t_weathergen$falcon$files27582.prototype.cljs$core$IFn$_invoke$arity$0=function(a){return function(){return this}}(b),weathergen.falcon.files.t_weathergen$falcon$files27582.prototype.octet$spec$ISpecDynamicSize$=cljs.core.PROTOCOL_SENTINEL,weathergen.falcon.files.t_weathergen$falcon$files27582.prototype.octet$spec$ISpecDynamicSize$size_STAR_$arity$2=function(a){return function(a,b){a=octet.spec.string.string__GT_bytes.call(null,
b);return this.len_size+cljs.core.count.call(null,a)}}(b),weathergen.falcon.files.t_weathergen$falcon$files27582.prototype.octet$spec$ISpec$=cljs.core.PROTOCOL_SENTINEL,weathergen.falcon.files.t_weathergen$falcon$files27582.prototype.octet$spec$ISpec$read$arity$3=function(a){return function(a,b,c){a=octet.core.read.call(null,b,this.length_spec,new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"offset","offset",296498311),c],null));b=octet.buffer.read_bytes.call(null,b,c+this.len_size,
a);b=octet.spec.string.bytes__GT_string.call(null,b,a);return new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[a+this.len_size,b],null)}}(b),weathergen.falcon.files.t_weathergen$falcon$files27582.prototype.octet$spec$ISpec$write$arity$4=function(a){return function(a,b,c,g){a=octet.spec.string.string__GT_bytes.call(null,g);g=cljs.core.count.call(null,a);octet.core.write_BANG_.call(null,b,this.length_spec,c,g);octet.buffer.write_bytes.call(null,b,c+this.len_size,g,a);return g+
this.len_size}}(b),weathergen.falcon.files.t_weathergen$falcon$files27582.getBasis=function(a){return function(){return new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"length-spec","length-spec",-1802545726,null),new cljs.core.Symbol(null,"len-size","len-size",1194866842,null),new cljs.core.Symbol(null,"meta27583","meta27583",-726692906,null)],null)}}(b),weathergen.falcon.files.t_weathergen$falcon$files27582.cljs$lang$type=!0,weathergen.falcon.files.t_weathergen$falcon$files27582.cljs$lang$ctorStr=
"weathergen.falcon.files/t_weathergen$falcon$files27582",weathergen.falcon.files.t_weathergen$falcon$files27582.cljs$lang$ctorPrWriter=function(a){return function(a,b,c){return cljs.core._write.call(null,b,"weathergen.falcon.files/t_weathergen$falcon$files27582")}}(b),weathergen.falcon.files.__GT_t_weathergen$falcon$files27582=function(a){return function(a,b,c){return new weathergen.falcon.files.t_weathergen$falcon$files27582(a,b,c)}}(b);return new weathergen.falcon.files.t_weathergen$falcon$files27582(a,
b,cljs.core.PersistentArrayMap.EMPTY)};weathergen.falcon.files.remove_trailing_nulls=function(a){return cljs.core.subs.call(null,a,0,cljs.core.count.call(null,cljs.core.take_while.call(null,function(a){return 0!==a.charCodeAt()},a)))};
weathergen.falcon.files.fixed_string=function(a){var b=octet.core.string.call(null,a);if("undefined"===typeof weathergen||"undefined"===typeof weathergen.falcon||"undefined"===typeof weathergen.falcon.files||"undefined"===typeof weathergen.falcon.files.t_weathergen$falcon$files27587)weathergen.falcon.files.t_weathergen$falcon$files27587=function(a,b,e){this.size=a;this.spc=b;this.meta27588=e;this.cljs$lang$protocol_mask$partition0$=393216;this.cljs$lang$protocol_mask$partition1$=0},weathergen.falcon.files.t_weathergen$falcon$files27587.prototype.cljs$core$IWithMeta$_with_meta$arity$2=
function(a){return function(a,b){return new weathergen.falcon.files.t_weathergen$falcon$files27587(this.size,this.spc,b)}}(b),weathergen.falcon.files.t_weathergen$falcon$files27587.prototype.cljs$core$IMeta$_meta$arity$1=function(a){return function(a){return this.meta27588}}(b),weathergen.falcon.files.t_weathergen$falcon$files27587.prototype.octet$spec$ISpecSize$=cljs.core.PROTOCOL_SENTINEL,weathergen.falcon.files.t_weathergen$falcon$files27587.prototype.octet$spec$ISpecSize$size$arity$1=function(a){return function(a){return octet.core.size.call(null,
this.spc)}}(b),weathergen.falcon.files.t_weathergen$falcon$files27587.prototype.octet$spec$ISpec$=cljs.core.PROTOCOL_SENTINEL,weathergen.falcon.files.t_weathergen$falcon$files27587.prototype.octet$spec$ISpec$read$arity$3=function(a){return function(a,b,c){b=octet.core.read_STAR_.call(null,b,this.spc,new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"offset","offset",296498311),c],null));a=cljs.core.nth.call(null,b,0,null);b=cljs.core.nth.call(null,b,1,null);return new cljs.core.PersistentVector(null,
2,5,cljs.core.PersistentVector.EMPTY_NODE,[a,weathergen.falcon.files.remove_trailing_nulls.call(null,b)],null)}}(b),weathergen.falcon.files.t_weathergen$falcon$files27587.prototype.octet$spec$ISpec$write$arity$4=function(a){return function(a,b,c,g){return octet.core.write_BANG_.call(null,b,this.spc,g,new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"offset","offset",296498311),c],null))}}(b),weathergen.falcon.files.t_weathergen$falcon$files27587.getBasis=function(a){return function(){return new cljs.core.PersistentVector(null,
3,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"size","size",-1555742762,null),new cljs.core.Symbol(null,"spc","spc",-189939168,null),new cljs.core.Symbol(null,"meta27588","meta27588",-1239894604,null)],null)}}(b),weathergen.falcon.files.t_weathergen$falcon$files27587.cljs$lang$type=!0,weathergen.falcon.files.t_weathergen$falcon$files27587.cljs$lang$ctorStr="weathergen.falcon.files/t_weathergen$falcon$files27587",weathergen.falcon.files.t_weathergen$falcon$files27587.cljs$lang$ctorPrWriter=
function(a){return function(a,b,c){return cljs.core._write.call(null,b,"weathergen.falcon.files/t_weathergen$falcon$files27587")}}(b),weathergen.falcon.files.__GT_t_weathergen$falcon$files27587=function(a){return function(a,b,c){return new weathergen.falcon.files.t_weathergen$falcon$files27587(a,b,c)}}(b);return new weathergen.falcon.files.t_weathergen$falcon$files27587(a,b,cljs.core.PersistentArrayMap.EMPTY)};
weathergen.falcon.files.larray=function(a){for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;b=2<b.length?new cljs.core.IndexedSeq(b.slice(2),0,null):null;return weathergen.falcon.files.larray.cljs$core$IFn$_invoke$arity$variadic(arguments[0],arguments[1],b)};
weathergen.falcon.files.larray.cljs$core$IFn$_invoke$arity$variadic=function(a,b,c){var d=cljs.core.nth.call(null,c,0,null),e=null!=d&&(d.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===d.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,d):d,f=cljs.core.get.call(null,e,new cljs.core.Keyword(null,"limit","limit",-1355822363)),g=octet.core.size.call(null,a);if("undefined"===typeof weathergen||"undefined"===typeof weathergen.falcon||"undefined"===typeof weathergen.falcon.files||
"undefined"===typeof weathergen.falcon.files.t_weathergen$falcon$files27602)weathergen.falcon.files.t_weathergen$falcon$files27602=function(a,b,c,d,e,f,g,r,u){this.length_spec=a;this.item_spec=b;this.p__27596=c;this.vec__27597=d;this.map__27600=e;this.opts=f;this.limit=g;this.len_size=r;this.meta27603=u;this.cljs$lang$protocol_mask$partition0$=393217;this.cljs$lang$protocol_mask$partition1$=0},weathergen.falcon.files.t_weathergen$falcon$files27602.prototype.cljs$core$IWithMeta$_with_meta$arity$2=
function(a,b,c,d,e,f){return function(a,b){return new weathergen.falcon.files.t_weathergen$falcon$files27602(this.length_spec,this.item_spec,this.p__27596,this.vec__27597,this.map__27600,this.opts,this.limit,this.len_size,b)}}(g,c,d,e,e,f),weathergen.falcon.files.t_weathergen$falcon$files27602.prototype.cljs$core$IMeta$_meta$arity$1=function(a,b,c,d,e,f){return function(a){return this.meta27603}}(g,c,d,e,e,f),weathergen.falcon.files.t_weathergen$falcon$files27602.prototype.call=function(a,b,c,d,e,
f){return function(a){return this}}(g,c,d,e,e,f),weathergen.falcon.files.t_weathergen$falcon$files27602.prototype.apply=function(a,b,c,d,e,f){return function(a,b){return this.call.apply(this,[this].concat(cljs.core.aclone.call(null,b)))}}(g,c,d,e,e,f),weathergen.falcon.files.t_weathergen$falcon$files27602.prototype.cljs$core$IFn$_invoke$arity$0=function(a,b,c,d,e,f){return function(){return this}}(g,c,d,e,e,f),weathergen.falcon.files.t_weathergen$falcon$files27602.prototype.octet$spec$ISpecDynamicSize$=
cljs.core.PROTOCOL_SENTINEL,weathergen.falcon.files.t_weathergen$falcon$files27602.prototype.octet$spec$ISpecDynamicSize$size_STAR_$arity$2=function(a,b,c,d,e,f){return function(a,b){return this.len_size+octet.core.size.call(null,this.item_spec)*cljs.core.count.call(null,b)}}(g,c,d,e,e,f),weathergen.falcon.files.t_weathergen$falcon$files27602.prototype.octet$spec$ISpec$=cljs.core.PROTOCOL_SENTINEL,weathergen.falcon.files.t_weathergen$falcon$files27602.prototype.octet$spec$ISpec$read$arity$3=function(a,
b,c,d,e,f){return function(g,h,k){var l=this,m=this,n=octet.core.read.call(null,h,l.length_spec,new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"offset","offset",296498311),k],null));g=cljs.core.truth_(function(){var a=l.limit;return cljs.core.truth_(a)?l.limit<n:a}())?function(){taoensso.timbre._log_BANG_.call(null,taoensso.timbre._STAR_config_STAR_,new cljs.core.Keyword(null,"debug","debug",-1608172596),"weathergen.falcon.files",null,113,new cljs.core.Keyword(null,"p","p",151049309),
new cljs.core.Keyword(null,"auto","auto",-566279492),new cljs.core.Delay(function(a,b,c,d,e,f,g,h){return function(){return new cljs.core.PersistentVector(null,6,5,cljs.core.PersistentVector.EMPTY_NODE,["Limiting read in larray spec at",k,"to",l.limit,". Originally read value was",a],null)}}(n,m,a,b,c,d,e,f),null),null,608702760);return l.limit}():n;g=octet.core.read_STAR_.call(null,h,octet.core.repeat.call(null,g,l.item_spec),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"offset",
"offset",296498311),k+l.len_size],null));h=cljs.core.nth.call(null,g,0,null);g=cljs.core.nth.call(null,g,1,null);return new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[h+l.len_size,g],null)}}(g,c,d,e,e,f),weathergen.falcon.files.t_weathergen$falcon$files27602.prototype.octet$spec$ISpec$write$arity$4=function(a,b,c,d,e,f){return function(a,b,c,d){a=cljs.core.count.call(null,d);return octet.core.write_BANG_.call(null,b,a,this.length_spec,new cljs.core.PersistentArrayMap(null,
1,[new cljs.core.Keyword(null,"offset","offset",296498311),c],null))+octet.core.write_BANG_.call(null,b,d,octet.core.repeat.call(null,a,this.item_spec),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"offset","offset",296498311),c+this.len_size],null))}}(g,c,d,e,e,f),weathergen.falcon.files.t_weathergen$falcon$files27602.getBasis=function(a,b,c,d,e,f){return function(){return new cljs.core.PersistentVector(null,9,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,
"length-spec","length-spec",-1802545726,null),new cljs.core.Symbol(null,"item-spec","item-spec",1394678941,null),new cljs.core.Symbol(null,"p__27596","p__27596",-2067899394,null),new cljs.core.Symbol(null,"vec__27597","vec__27597",242448367,null),new cljs.core.Symbol(null,"map__27600","map__27600",-1032837075,null),new cljs.core.Symbol(null,"opts","opts",1795607228,null),new cljs.core.Symbol(null,"limit","limit",284709164,null),new cljs.core.Symbol(null,"len-size","len-size",1194866842,null),new cljs.core.Symbol(null,
"meta27603","meta27603",966505190,null)],null)}}(g,c,d,e,e,f),weathergen.falcon.files.t_weathergen$falcon$files27602.cljs$lang$type=!0,weathergen.falcon.files.t_weathergen$falcon$files27602.cljs$lang$ctorStr="weathergen.falcon.files/t_weathergen$falcon$files27602",weathergen.falcon.files.t_weathergen$falcon$files27602.cljs$lang$ctorPrWriter=function(a,b,c,d,e,f){return function(a,b,c){return cljs.core._write.call(null,b,"weathergen.falcon.files/t_weathergen$falcon$files27602")}}(g,c,d,e,e,f),weathergen.falcon.files.__GT_t_weathergen$falcon$files27602=
function(a,b,c,d,e,f){return function(a,b,c,d,e,f,g,h,k){return new weathergen.falcon.files.t_weathergen$falcon$files27602(a,b,c,d,e,f,g,h,k)}}(g,c,d,e,e,f);return new weathergen.falcon.files.t_weathergen$falcon$files27602(a,b,c,c,e,e,f,g,cljs.core.PersistentArrayMap.EMPTY)};weathergen.falcon.files.larray.cljs$lang$maxFixedArity=2;
weathergen.falcon.files.larray.cljs$lang$applyTo=function(a){var b=cljs.core.first.call(null,a),c=cljs.core.next.call(null,a);a=cljs.core.first.call(null,c);c=cljs.core.next.call(null,c);return this.cljs$core$IFn$_invoke$arity$variadic(b,a,c)};
weathergen.falcon.files.debug_spec=function(a){switch(arguments.length){case 1:return weathergen.falcon.files.debug_spec.cljs$core$IFn$_invoke$arity$1(arguments[0]);case 2:return weathergen.falcon.files.debug_spec.cljs$core$IFn$_invoke$arity$2(arguments[0],arguments[1]);default:throw Error(["Invalid arity: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(""));}};
weathergen.falcon.files.debug_spec.cljs$core$IFn$_invoke$arity$1=function(a){return weathergen.falcon.files.debug_spec.call(null,cljs.core.PersistentArrayMap.EMPTY,a)};
weathergen.falcon.files.debug_spec.cljs$core$IFn$_invoke$arity$2=function(a,b){var c=null!=a&&(a.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===a.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,a):a,d=cljs.core.get.call(null,c,new cljs.core.Keyword(null,"msg","msg",-1386103444)),e=cljs.core.get.call(null,c,new cljs.core.Keyword(null,"level","level",1290497552),new cljs.core.Keyword(null,"debug","debug",-1608172596));if("undefined"===typeof weathergen||"undefined"===
typeof weathergen.falcon||"undefined"===typeof weathergen.falcon.files||"undefined"===typeof weathergen.falcon.files.t_weathergen$falcon$files27617)weathergen.falcon.files.t_weathergen$falcon$files27617=function(a,b,c,d,e,m,n){this.p__27614=a;this.spec=b;this.map__27615=c;this.opts=d;this.msg=e;this.level=m;this.meta27618=n;this.cljs$lang$protocol_mask$partition0$=393217;this.cljs$lang$protocol_mask$partition1$=0},weathergen.falcon.files.t_weathergen$falcon$files27617.prototype.cljs$core$IWithMeta$_with_meta$arity$2=
function(a,b,c,d,e){return function(a,b){return new weathergen.falcon.files.t_weathergen$falcon$files27617(this.p__27614,this.spec,this.map__27615,this.opts,this.msg,this.level,b)}}(a,c,c,d,e),weathergen.falcon.files.t_weathergen$falcon$files27617.prototype.cljs$core$IMeta$_meta$arity$1=function(a,b,c,d,e){return function(a){return this.meta27618}}(a,c,c,d,e),weathergen.falcon.files.t_weathergen$falcon$files27617.prototype.call=function(a,b,c,d,e){return function(a){return cljs.core._invoke.call(null,
this.spec)}}(a,c,c,d,e),weathergen.falcon.files.t_weathergen$falcon$files27617.prototype.apply=function(a,b,c,d,e){return function(a,b){return this.call.apply(this,[this].concat(cljs.core.aclone.call(null,b)))}}(a,c,c,d,e),weathergen.falcon.files.t_weathergen$falcon$files27617.prototype.cljs$core$IFn$_invoke$arity$0=function(a,b,c,d,e){return function(){return cljs.core._invoke.call(null,this.spec)}}(a,c,c,d,e),weathergen.falcon.files.t_weathergen$falcon$files27617.prototype.octet$spec$ISpecDynamicSize$=
cljs.core.PROTOCOL_SENTINEL,weathergen.falcon.files.t_weathergen$falcon$files27617.prototype.octet$spec$ISpecDynamicSize$size_STAR_$arity$2=function(a,b,c,d,e){return function(a,b){return octet.spec.size_STAR_.call(null,this.spec,b)}}(a,c,c,d,e),weathergen.falcon.files.t_weathergen$falcon$files27617.prototype.octet$spec$ISpec$=cljs.core.PROTOCOL_SENTINEL,weathergen.falcon.files.t_weathergen$falcon$files27617.prototype.octet$spec$ISpec$read$arity$3=function(a,b,c,d,e){return function(f,g,h){var k=
this;cljs.core.not_EQ_.call(null,k.level,new cljs.core.Keyword(null,"off","off",606440789))&&taoensso.timbre._log_BANG_.call(null,taoensso.timbre._STAR_config_STAR_,k.level,"weathergen.falcon.files",null,149,new cljs.core.Keyword(null,"p","p",151049309),new cljs.core.Keyword(null,"auto","auto",-566279492),new cljs.core.Delay(function(a,b,c,d,e,f){return function(){var a=cljs.core.PersistentVector,b=cljs.core.PersistentVector.EMPTY_NODE;var c=k.msg;c=cljs.core.truth_(c)?c:"debug-spec/read";return new a(null,
2,5,b,[c,h],null)}}(this,a,b,c,d,e),null),null,-1951103277);return octet.spec.read.call(null,k.spec,g,h)}}(a,c,c,d,e),weathergen.falcon.files.t_weathergen$falcon$files27617.prototype.octet$spec$ISpec$write$arity$4=function(a,b,c,d,e){return function(a,b,c,d){return octet.spec.write.call(null,this.spec,b,c,d)}}(a,c,c,d,e),weathergen.falcon.files.t_weathergen$falcon$files27617.getBasis=function(a,b,c,d,e){return function(){return new cljs.core.PersistentVector(null,7,5,cljs.core.PersistentVector.EMPTY_NODE,
[new cljs.core.Symbol(null,"p__27614","p__27614",615124080,null),new cljs.core.Symbol(null,"spec","spec",1988051928,null),new cljs.core.Symbol(null,"map__27615","map__27615",1380052394,null),new cljs.core.Symbol(null,"opts","opts",1795607228,null),new cljs.core.Symbol(null,"msg","msg",254428083,null),new cljs.core.Symbol(null,"level","level",-1363938217,null),new cljs.core.Symbol(null,"meta27618","meta27618",-261815034,null)],null)}}(a,c,c,d,e),weathergen.falcon.files.t_weathergen$falcon$files27617.cljs$lang$type=
!0,weathergen.falcon.files.t_weathergen$falcon$files27617.cljs$lang$ctorStr="weathergen.falcon.files/t_weathergen$falcon$files27617",weathergen.falcon.files.t_weathergen$falcon$files27617.cljs$lang$ctorPrWriter=function(a,b,c,d,e){return function(a,b,c){return cljs.core._write.call(null,b,"weathergen.falcon.files/t_weathergen$falcon$files27617")}}(a,c,c,d,e),weathergen.falcon.files.__GT_t_weathergen$falcon$files27617=function(a,b,c,d,e){return function(a,b,c,d,e,f,g){return new weathergen.falcon.files.t_weathergen$falcon$files27617(a,
b,c,d,e,f,g)}}(a,c,c,d,e);return new weathergen.falcon.files.t_weathergen$falcon$files27617(a,b,c,c,d,e,cljs.core.PersistentArrayMap.EMPTY)};weathergen.falcon.files.debug_spec.cljs$lang$maxFixedArity=2;
weathergen.falcon.files.enum$=function(a,b){if("undefined"===typeof weathergen||"undefined"===typeof weathergen.falcon||"undefined"===typeof weathergen.falcon.files||"undefined"===typeof weathergen.falcon.files.t_weathergen$falcon$files27622)weathergen.falcon.files.t_weathergen$falcon$files27622=function(a,b,e){this.item_spec=a;this.m=b;this.meta27623=e;this.cljs$lang$protocol_mask$partition0$=393216;this.cljs$lang$protocol_mask$partition1$=0},weathergen.falcon.files.t_weathergen$falcon$files27622.prototype.cljs$core$IWithMeta$_with_meta$arity$2=
function(a,b){return new weathergen.falcon.files.t_weathergen$falcon$files27622(this.item_spec,this.m,b)},weathergen.falcon.files.t_weathergen$falcon$files27622.prototype.cljs$core$IMeta$_meta$arity$1=function(a){return this.meta27623},weathergen.falcon.files.t_weathergen$falcon$files27622.prototype.octet$spec$ISpecSize$=cljs.core.PROTOCOL_SENTINEL,weathergen.falcon.files.t_weathergen$falcon$files27622.prototype.octet$spec$ISpecSize$size$arity$1=function(a){return octet.core.size.call(null,this.item_spec)},
weathergen.falcon.files.t_weathergen$falcon$files27622.prototype.octet$spec$ISpec$=cljs.core.PROTOCOL_SENTINEL,weathergen.falcon.files.t_weathergen$falcon$files27622.prototype.octet$spec$ISpec$read$arity$3=function(a,b,e){b=octet.core.read_STAR_.call(null,b,this.item_spec,new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"offset","offset",296498311),e],null));a=cljs.core.nth.call(null,b,0,null);b=cljs.core.nth.call(null,b,1,null);return new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,
[a,this.m.call(null,b,b)],null)},weathergen.falcon.files.t_weathergen$falcon$files27622.getBasis=function(){return new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"item-spec","item-spec",1394678941,null),new cljs.core.Symbol(null,"m","m",-1021758608,null),new cljs.core.Symbol(null,"meta27623","meta27623",-1449108134,null)],null)},weathergen.falcon.files.t_weathergen$falcon$files27622.cljs$lang$type=!0,weathergen.falcon.files.t_weathergen$falcon$files27622.cljs$lang$ctorStr=
"weathergen.falcon.files/t_weathergen$falcon$files27622",weathergen.falcon.files.t_weathergen$falcon$files27622.cljs$lang$ctorPrWriter=function(a,b,e){return cljs.core._write.call(null,b,"weathergen.falcon.files/t_weathergen$falcon$files27622")},weathergen.falcon.files.__GT_t_weathergen$falcon$files27622=function(a,b,e){return new weathergen.falcon.files.t_weathergen$falcon$files27622(a,b,e)};return new weathergen.falcon.files.t_weathergen$falcon$files27622(a,b,cljs.core.PersistentArrayMap.EMPTY)};
weathergen.falcon.files.bitflags=function(a,b){if("undefined"===typeof weathergen||"undefined"===typeof weathergen.falcon||"undefined"===typeof weathergen.falcon.files||"undefined"===typeof weathergen.falcon.files.t_weathergen$falcon$files27628)weathergen.falcon.files.t_weathergen$falcon$files27628=function(a,b,e){this.item_spec=a;this.m=b;this.meta27629=e;this.cljs$lang$protocol_mask$partition0$=393216;this.cljs$lang$protocol_mask$partition1$=0},weathergen.falcon.files.t_weathergen$falcon$files27628.prototype.cljs$core$IWithMeta$_with_meta$arity$2=
function(a,b){return new weathergen.falcon.files.t_weathergen$falcon$files27628(this.item_spec,this.m,b)},weathergen.falcon.files.t_weathergen$falcon$files27628.prototype.cljs$core$IMeta$_meta$arity$1=function(a){return this.meta27629},weathergen.falcon.files.t_weathergen$falcon$files27628.prototype.octet$spec$ISpec$=cljs.core.PROTOCOL_SENTINEL,weathergen.falcon.files.t_weathergen$falcon$files27628.prototype.octet$spec$ISpec$read$arity$3=function(a,b,e){var c=this,d=this,h=octet.core.read_STAR_.call(null,
b,c.item_spec,new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"offset","offset",296498311),e],null)),k=cljs.core.nth.call(null,h,0,null),l=cljs.core.nth.call(null,h,1,null);return new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[k,cljs.core.into.call(null,cljs.core.PersistentHashSet.createAsIfByAssoc([l]),cljs.core.remove.call(null,cljs.core.nil_QMARK_,function(){return function(a,b,c,d){return function t(e){return new cljs.core.LazySeq(null,function(a,
b,c,d){return function(){for(;;){var a=cljs.core.seq.call(null,e);if(a){if(cljs.core.chunked_seq_QMARK_.call(null,a)){var b=cljs.core.chunk_first.call(null,a),d=cljs.core.count.call(null,b),f=cljs.core.chunk_buffer.call(null,d);a:for(var g=0;;)if(g<d){var h=cljs.core._nth.call(null,b,g),k=cljs.core.nth.call(null,h,0,null);h=cljs.core.nth.call(null,h,1,null);cljs.core.chunk_append.call(null,f,weathergen.util.has_flag_QMARK_.call(null,c,h)?k:null);g+=1}else{b=!0;break a}return b?cljs.core.chunk_cons.call(null,
cljs.core.chunk.call(null,f),t.call(null,cljs.core.chunk_rest.call(null,a))):cljs.core.chunk_cons.call(null,cljs.core.chunk.call(null,f),null)}b=cljs.core.first.call(null,a);f=cljs.core.nth.call(null,b,0,null);b=cljs.core.nth.call(null,b,1,null);return cljs.core.cons.call(null,weathergen.util.has_flag_QMARK_.call(null,c,b)?f:null,t.call(null,cljs.core.rest.call(null,a)))}return null}}}(a,b,c,d),null,null)}}(h,k,l,d).call(null,c.m)}()))],null)},weathergen.falcon.files.t_weathergen$falcon$files27628.getBasis=
function(){return new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"item-spec","item-spec",1394678941,null),new cljs.core.Symbol(null,"m","m",-1021758608,null),new cljs.core.Symbol(null,"meta27629","meta27629",-1506138386,null)],null)},weathergen.falcon.files.t_weathergen$falcon$files27628.cljs$lang$type=!0,weathergen.falcon.files.t_weathergen$falcon$files27628.cljs$lang$ctorStr="weathergen.falcon.files/t_weathergen$falcon$files27628",weathergen.falcon.files.t_weathergen$falcon$files27628.cljs$lang$ctorPrWriter=
function(a,b,e){return cljs.core._write.call(null,b,"weathergen.falcon.files/t_weathergen$falcon$files27628")},weathergen.falcon.files.__GT_t_weathergen$falcon$files27628=function(a,b,e){return new weathergen.falcon.files.t_weathergen$falcon$files27628(a,b,e)};return new weathergen.falcon.files.t_weathergen$falcon$files27628(a,b,cljs.core.PersistentArrayMap.EMPTY)};
weathergen.falcon.files.constant=function(a){if("undefined"===typeof weathergen||"undefined"===typeof weathergen.falcon||"undefined"===typeof weathergen.falcon.files||"undefined"===typeof weathergen.falcon.files.t_weathergen$falcon$files27645)weathergen.falcon.files.t_weathergen$falcon$files27645=function(a,c){this.val=a;this.meta27646=c;this.cljs$lang$protocol_mask$partition0$=393216;this.cljs$lang$protocol_mask$partition1$=0},weathergen.falcon.files.t_weathergen$falcon$files27645.prototype.cljs$core$IWithMeta$_with_meta$arity$2=
function(a,c){return new weathergen.falcon.files.t_weathergen$falcon$files27645(this.val,c)},weathergen.falcon.files.t_weathergen$falcon$files27645.prototype.cljs$core$IMeta$_meta$arity$1=function(a){return this.meta27646},weathergen.falcon.files.t_weathergen$falcon$files27645.prototype.octet$spec$ISpec$=cljs.core.PROTOCOL_SENTINEL,weathergen.falcon.files.t_weathergen$falcon$files27645.prototype.octet$spec$ISpec$read$arity$3=function(a,c,d){return new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,
[0,this.val],null)},weathergen.falcon.files.t_weathergen$falcon$files27645.prototype.octet$spec$ISpec$write$arity$4=function(a,c,d,e){return null},weathergen.falcon.files.t_weathergen$falcon$files27645.getBasis=function(){return new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"val","val",1769233139,null),new cljs.core.Symbol(null,"meta27646","meta27646",1616463861,null)],null)},weathergen.falcon.files.t_weathergen$falcon$files27645.cljs$lang$type=
!0,weathergen.falcon.files.t_weathergen$falcon$files27645.cljs$lang$ctorStr="weathergen.falcon.files/t_weathergen$falcon$files27645",weathergen.falcon.files.t_weathergen$falcon$files27645.cljs$lang$ctorPrWriter=function(a,c,d){return cljs.core._write.call(null,c,"weathergen.falcon.files/t_weathergen$falcon$files27645")},weathergen.falcon.files.__GT_t_weathergen$falcon$files27645=function(a,c){return new weathergen.falcon.files.t_weathergen$falcon$files27645(a,c)};return new weathergen.falcon.files.t_weathergen$falcon$files27645(a,
cljs.core.PersistentArrayMap.EMPTY)};weathergen.falcon.files.read__GT_=function(a){for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;b=2<b.length?new cljs.core.IndexedSeq(b.slice(2),0,null):null;return weathergen.falcon.files.read__GT_.cljs$core$IFn$_invoke$arity$variadic(arguments[0],arguments[1],b)};
weathergen.falcon.files.read__GT_.cljs$core$IFn$_invoke$arity$variadic=function(a,b,c){var d=cljs.core.PersistentArrayMap.EMPTY,e=cljs.core.seq.call(null,c);cljs.core.first.call(null,e);cljs.core.next.call(null,e);for(e=0;;){var f=cljs.core.seq.call(null,c);c=cljs.core.first.call(null,f);f=cljs.core.next.call(null,f);var g=c;c=f;if(cljs.core.not.call(null,g))return new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[e,d],null);g=octet.core.read_STAR_.call(null,a,g.call(null,
d),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"offset","offset",296498311),b+e],null));f=cljs.core.nth.call(null,g,0,null);g=cljs.core.nth.call(null,g,1,null);e+=f;d=cljs.core.merge.call(null,d,g)}};weathergen.falcon.files.read__GT_.cljs$lang$maxFixedArity=2;
weathergen.falcon.files.read__GT_.cljs$lang$applyTo=function(a){var b=cljs.core.first.call(null,a),c=cljs.core.next.call(null,a);a=cljs.core.first.call(null,c);c=cljs.core.next.call(null,c);return this.cljs$core$IFn$_invoke$arity$variadic(b,a,c)};
weathergen.falcon.files.spec_if=function(a,b,c,d,e,f){if("undefined"===typeof weathergen||"undefined"===typeof weathergen.falcon||"undefined"===typeof weathergen.falcon.files||"undefined"===typeof weathergen.falcon.files.t_weathergen$falcon$files27676)weathergen.falcon.files.t_weathergen$falcon$files27676=function(a,b,c,d,e,f,p){this.flag_key=a;this.flag_spec=b;this.flag_pred=c;this.branch_key=d;this.true_spec=e;this.false_spec=f;this.meta27677=p;this.cljs$lang$protocol_mask$partition0$=393216;this.cljs$lang$protocol_mask$partition1$=
0},weathergen.falcon.files.t_weathergen$falcon$files27676.prototype.cljs$core$IWithMeta$_with_meta$arity$2=function(a,b){return new weathergen.falcon.files.t_weathergen$falcon$files27676(this.flag_key,this.flag_spec,this.flag_pred,this.branch_key,this.true_spec,this.false_spec,b)},weathergen.falcon.files.t_weathergen$falcon$files27676.prototype.cljs$core$IMeta$_meta$arity$1=function(a){return this.meta27677},weathergen.falcon.files.t_weathergen$falcon$files27676.prototype.octet$spec$ISpec$=cljs.core.PROTOCOL_SENTINEL,
weathergen.falcon.files.t_weathergen$falcon$files27676.prototype.octet$spec$ISpec$read$arity$3=function(a,b,c){var d=octet.core.read_STAR_.call(null,b,this.flag_spec,new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"offset","offset",296498311),c],null));a=cljs.core.nth.call(null,d,0,null);d=cljs.core.nth.call(null,d,1,null);c=octet.core.read_STAR_.call(null,b,cljs.core.truth_(this.flag_pred.call(null,d))?this.true_spec:this.false_spec,new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,
"offset","offset",296498311),c+a],null));b=cljs.core.nth.call(null,c,0,null);c=cljs.core.nth.call(null,c,1,null);return new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[a+b,cljs.core.PersistentHashMap.fromArrays([this.flag_key,this.branch_key],[d,c])],null)},weathergen.falcon.files.t_weathergen$falcon$files27676.getBasis=function(){return new cljs.core.PersistentVector(null,7,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"flag-key","flag-key",-1036087809,
null),new cljs.core.Symbol(null,"flag-spec","flag-spec",-648358532,null),new cljs.core.Symbol(null,"flag-pred","flag-pred",-548885820,null),new cljs.core.Symbol(null,"branch-key","branch-key",1453905826,null),new cljs.core.Symbol(null,"true-spec","true-spec",-704610023,null),new cljs.core.Symbol(null,"false-spec","false-spec",432945414,null),new cljs.core.Symbol(null,"meta27677","meta27677",-1423874968,null)],null)},weathergen.falcon.files.t_weathergen$falcon$files27676.cljs$lang$type=!0,weathergen.falcon.files.t_weathergen$falcon$files27676.cljs$lang$ctorStr=
"weathergen.falcon.files/t_weathergen$falcon$files27676",weathergen.falcon.files.t_weathergen$falcon$files27676.cljs$lang$ctorPrWriter=function(a,b,c){return cljs.core._write.call(null,b,"weathergen.falcon.files/t_weathergen$falcon$files27676")},weathergen.falcon.files.__GT_t_weathergen$falcon$files27676=function(a,b,c,d,e,f,p){return new weathergen.falcon.files.t_weathergen$falcon$files27676(a,b,c,d,e,f,p)};return new weathergen.falcon.files.t_weathergen$falcon$files27676(a,b,c,d,e,f,cljs.core.PersistentArrayMap.EMPTY)};weathergen.interop={};weathergen.interop.node={};weathergen.interop.node.path={};var G__27706_27707=require("path");weathergen.interop.node.path.join=G__27706_27707.join;weathergen.interop.node.path.dirname=G__27706_27707.dirname;weathergen.interop.node.path.basename=G__27706_27707.basename;weathergen.interop.node.path.extname=G__27706_27707.extname;weathergen.interop.node.path.isAbsolute=G__27706_27707.isAbsolute;weathergen.filesystem={};weathergen.filesystem.fs_lib=require("fs");weathergen.filesystem.os_lib=require("os");weathergen.filesystem.win32_QMARK_=cljs.core._EQ_.call(null,weathergen.filesystem.os_lib.platform(),"win32");
weathergen.filesystem.case_desensitize=function(a){return weathergen.filesystem.win32_QMARK_?a:cljs.core.reduce.call(null,function(a,c){var b=null==a?null:weathergen.filesystem.fs_lib.readdirSync(a);b=null==b?null:cljs.core.filter.call(null,function(a,b){return function(a){return cljs.core._EQ_.call(null,clojure.string.lower_case.call(null,a),clojure.string.lower_case.call(null,c))}}(a,b),b);b=null==b?null:cljs.core.first.call(null,b);return null==b?null:weathergen.interop.node.path.join.call(null,
a,b)},"/",cljs.core.remove.call(null,cljs.core.empty_QMARK_,clojure.string.split.call(null,a,/\//)))};weathergen.filesystem.normalize=function(a){return clojure.string.replace.call(null,a,"\\","/")};weathergen.filesystem.exists_QMARK_=function(a){a=weathergen.filesystem.case_desensitize.call(null,weathergen.filesystem.normalize.call(null,a));return cljs.core.truth_(a)?weathergen.filesystem.fs_lib.existsSync(a):null};
weathergen.filesystem.path_combine=function(a){switch(arguments.length){case 2:return weathergen.filesystem.path_combine.cljs$core$IFn$_invoke$arity$2(arguments[0],arguments[1]);default:for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;b=new cljs.core.IndexedSeq(b.slice(2),0,null);return weathergen.filesystem.path_combine.cljs$core$IFn$_invoke$arity$variadic(arguments[0],arguments[1],b)}};
weathergen.filesystem.path_combine.cljs$core$IFn$_invoke$arity$2=function(a,b){return cljs.core.truth_(weathergen.interop.node.path.isAbsolute.call(null,weathergen.filesystem.normalize.call(null,b)))?weathergen.filesystem.normalize.call(null,b):weathergen.interop.node.path.join.call(null,weathergen.filesystem.normalize.call(null,a),weathergen.filesystem.normalize.call(null,b))};
weathergen.filesystem.path_combine.cljs$core$IFn$_invoke$arity$variadic=function(a,b,c){return cljs.core.apply.call(null,weathergen.filesystem.path_combine,weathergen.filesystem.path_combine.call(null,a,b),c)};weathergen.filesystem.path_combine.cljs$lang$applyTo=function(a){var b=cljs.core.first.call(null,a),c=cljs.core.next.call(null,a);a=cljs.core.first.call(null,c);c=cljs.core.next.call(null,c);return this.cljs$core$IFn$_invoke$arity$variadic(b,a,c)};
weathergen.filesystem.path_combine.cljs$lang$maxFixedArity=2;weathergen.filesystem.parent=function(a){var b=weathergen.interop.node.path.dirname.call(null,weathergen.filesystem.normalize.call(null,a));return cljs.core._EQ_.call(null,b,a)?null:b};
weathergen.filesystem.basename=function(a){switch(arguments.length){case 1:return weathergen.filesystem.basename.cljs$core$IFn$_invoke$arity$1(arguments[0]);case 2:return weathergen.filesystem.basename.cljs$core$IFn$_invoke$arity$2(arguments[0],arguments[1]);default:throw Error(["Invalid arity: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(""));}};weathergen.filesystem.basename.cljs$core$IFn$_invoke$arity$1=function(a){return weathergen.filesystem.basename.call(null,a,cljs.core.PersistentArrayMap.EMPTY)};
weathergen.filesystem.basename.cljs$core$IFn$_invoke$arity$2=function(a,b){b=null!=b&&(b.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===b.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,b):b;b=cljs.core.get.call(null,b,new cljs.core.Keyword(null,"omit-extension?","omit-extension?",-1855127967));a=weathergen.interop.node.path.basename.call(null,a);if(cljs.core.not.call(null,b))return a;b=weathergen.interop.node.path.extname.call(null,a);return cljs.core.subs.call(null,
a,0,cljs.core.count.call(null,a)-cljs.core.count.call(null,b))};weathergen.filesystem.basename.cljs$lang$maxFixedArity=2;weathergen.filesystem.extension=function(a){return cljs.core.subs.call(null,weathergen.interop.node.path.extname.call(null,a),1)};
weathergen.filesystem.file_buf=function(a){try{var b=weathergen.filesystem.case_desensitize.call(null,weathergen.filesystem.normalize.call(null,a)),c=weathergen.filesystem.fs_lib.readFileSync(b),d=c.buffer;new DataView(d);return new DataView(d,c.byteOffset,c.byteLength)}catch(e){throw b=e,taoensso.timbre._log_BANG_.call(null,taoensso.timbre._STAR_config_STAR_,new cljs.core.Keyword(null,"error","error",-978969032),"weathergen.filesystem",null,102,new cljs.core.Keyword(null,"p","p",151049309),new cljs.core.Keyword(null,
"auto","auto",-566279492),new cljs.core.Delay(function(b){return function(){return new cljs.core.PersistentVector(null,4,5,cljs.core.PersistentVector.EMPTY_NODE,[b,"Failed to open file",new cljs.core.Keyword(null,"path","path",-188191168),a],null)}}(b),null),null,1762362489),cljs.core.ex_info.call(null,["Failed to open file ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(a)].join(""),new cljs.core.PersistentArrayMap(null,2,[new cljs.core.Keyword(null,"reason","reason",-2070751759),new cljs.core.Keyword(null,
"file-open-failed","file-open-failed",-571385612),new cljs.core.Keyword(null,"path","path",-188191168),a],null));}};weathergen.filesystem.file_buffer=function(a){return weathergen.filesystem.fs_lib.readFileSync(weathergen.filesystem.case_desensitize.call(null,weathergen.filesystem.normalize.call(null,a)))};weathergen.filesystem.file_text=function(a){return weathergen.filesystem.fs_lib.readFileSync(weathergen.filesystem.case_desensitize.call(null,weathergen.filesystem.normalize.call(null,a))).toString()};
weathergen.filesystem.identical_QMARK_=function(a,b){var c=weathergen.filesystem.exists_QMARK_.call(null,a);return cljs.core.truth_(c)&&(c=weathergen.filesystem.exists_QMARK_.call(null,b),cljs.core.truth_(c))?(a=weathergen.filesystem.fs_lib.statSync(weathergen.filesystem.normalize.call(null,a)),b=weathergen.filesystem.fs_lib.statSync(weathergen.filesystem.normalize.call(null,b)),cljs.core._EQ_.call(null,a.ino,b.ino)):c};
weathergen.filesystem.ancestor_QMARK_=function(a,b){if(weathergen.filesystem.win32_QMARK_){a=weathergen.filesystem.normalize.call(null,a);var c=weathergen.filesystem.normalize.call(null,b),d=weathergen.filesystem.parent.call(null,c);return cljs.core.truth_(function(){if(cljs.core.truth_(d)){if(cljs.core.truth_(c)){var a=weathergen.filesystem.exists_QMARK_.call(null,d);return cljs.core.truth_(a)?weathergen.filesystem.exists_QMARK_.call(null,c):a}return c}return d}())?(b=weathergen.filesystem.identical_QMARK_.call(null,
d,a),cljs.core.truth_(b)?b:weathergen.filesystem.ancestor_QMARK_.call(null,a,d)):null}return clojure.string.starts_with_QMARK_.call(null,clojure.string.lower_case.call(null,b),clojure.string.lower_case.call(null,a))};
weathergen.filesystem.mkdir=function(a,b){var c=weathergen.filesystem.parent.call(null,a);cljs.core.truth_(cljs.core.truth_(b)?cljs.core.not.call(null,weathergen.filesystem.exists_QMARK_.call(null,c)):b)&&weathergen.filesystem.mkdir.call(null,c,!0);return cljs.core.not.call(null,weathergen.filesystem.exists_QMARK_.call(null,a))?weathergen.filesystem.fs_lib.mkdirSync(a):null};
weathergen.filesystem.save_data=function(a,b){weathergen.filesystem.mkdir.call(null,weathergen.filesystem.parent.call(null,a),!0);return weathergen.filesystem.fs_lib.writeFileSync(a,b)};weathergen.filesystem.save_data_async=function(a,b){weathergen.filesystem.mkdir.call(null,weathergen.filesystem.parent.call(null,a),!0);return weathergen.filesystem.fs_lib.writeFile(a,b,function(b){return cljs.core.truth_(b)?console.error("save-data-async error",a,b):null})};
weathergen.filesystem.stat=function(a){a=weathergen.filesystem.fs_lib.statSync(a);return new cljs.core.PersistentArrayMap(null,2,[new cljs.core.Keyword(null,"size","size",1098693007),a.size,new cljs.core.Keyword(null,"modified","modified",-2134587826),a.mtime.valueOf()],null)};
weathergen.filesystem.ls=function(a){for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;b=1<b.length?new cljs.core.IndexedSeq(b.slice(1),0,null):null;return weathergen.filesystem.ls.cljs$core$IFn$_invoke$arity$variadic(arguments[0],b)};weathergen.filesystem.ls.cljs$core$IFn$_invoke$arity$variadic=function(a,b){cljs.core.nth.call(null,b,0,null);return weathergen.filesystem.fs_lib.readdirSync(a)};weathergen.filesystem.ls.cljs$lang$maxFixedArity=1;
weathergen.filesystem.ls.cljs$lang$applyTo=function(a){var b=cljs.core.first.call(null,a);a=cljs.core.next.call(null,a);return this.cljs$core$IFn$_invoke$arity$variadic(b,a)};weathergen.falcon.files.images={};
weathergen.falcon.files.images.read_index=cljs.core.memoize.call(null,function(a){var b=octet.core.spec.call(null,new cljs.core.Keyword(null,"type","type",1174270348),octet.core.int32,new cljs.core.Keyword(null,"id","id",-1388402092),octet.core.string.call(null,32)),c=octet.core.spec.call(null,new cljs.core.Keyword(null,"flags","flags",1775418075),octet.core.int32,new cljs.core.Keyword(null,"center","center",-748944368),octet.core.repeat.call(null,2,octet.core.int16),new cljs.core.Keyword(null,"size",
"size",1098693007),octet.core.repeat.call(null,2,octet.core.int16),new cljs.core.Keyword(null,"image-offset","image-offset",-1802347612),octet.core.int32,new cljs.core.Keyword(null,"palette-size","palette-size",-995698822),octet.core.int32,new cljs.core.Keyword(null,"palette-offset","palette-offset",1376573573),octet.core.int32),d=octet.core.spec.call(null,new cljs.core.Keyword(null,"flags","flags",1775418075),octet.core.int32,new cljs.core.Keyword(null,"channels","channels",1132759174),octet.core.int16,
new cljs.core.Keyword(null,"sound-type","sound-type",-1070198063),octet.core.int16,new cljs.core.Keyword(null,"offset","offset",296498311),octet.core.int32,new cljs.core.Keyword(null,"header-size","header-size",-111873897),octet.core.int32),e=octet.core.spec.call(null,new cljs.core.Keyword(null,"offset","offset",296498311),octet.core.int32,new cljs.core.Keyword(null,"size","size",1098693007),octet.core.int32),f=octet.core.spec.call(null,new cljs.core.Keyword(null,"size","size",1098693007),octet.core.int32,
new cljs.core.Keyword(null,"version","version",425292698),octet.core.int32);a=weathergen.filesystem.file_buf.call(null,a);var g=octet.buffer._STAR_byte_order_STAR_,h=new cljs.core.Keyword(null,"little-endian","little-endian",1877303413);octet.buffer._STAR_byte_order_STAR_=h;try{for(var k=octet.core.read.call(null,a,f),l=null!=k&&(k.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===k.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,k):k,m=cljs.core.get.call(null,l,
new cljs.core.Keyword(null,"size","size",1098693007)),n=octet.core.size.call(null,f),p=cljs.core.PersistentVector.EMPTY;;)if(0<m-n){var q=octet.core.read_STAR_.call(null,a,b,new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"offset","offset",296498311),n],null)),r=cljs.core.nth.call(null,q,0,null),u=cljs.core.nth.call(null,q,1,null);f=n+r;var t=octet.core.read_STAR_.call(null,a,function(){var a=cljs.core._EQ_,b=(new cljs.core.Keyword(null,"type","type",1174270348)).cljs$core$IFn$_invoke$arity$1(u);
if(cljs.core.truth_(a.call(null,weathergen.falcon.constants._RSC_IS_IMAGE_,b)))return c;if(cljs.core.truth_(a.call(null,weathergen.falcon.constants._RSC_IS_SOUND_,b)))return d;if(cljs.core.truth_(a.call(null,weathergen.falcon.constants._RSC_IS_FLAT_,b)))return e;throw Error(["No matching clause: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(b)].join(""));}(),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"offset","offset",296498311),f],null)),v=cljs.core.nth.call(null,t,0,null),
w=cljs.core.nth.call(null,t,1,null);f+=v;var x=cljs.core.conj.call(null,p,cljs.core.into.call(null,u,w));n=f;p=x}else return p}finally{octet.buffer._STAR_byte_order_STAR_=g}});
weathergen.falcon.files.images.palette=function(a,b){var c=null!=b&&(b.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===b.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,b):b;b=cljs.core.get.call(null,c,new cljs.core.Keyword(null,"palette-size","palette-size",-995698822));c=cljs.core.get.call(null,c,new cljs.core.Keyword(null,"palette-offset","palette-offset",1376573573));var d=octet.buffer._STAR_byte_order_STAR_,e=new cljs.core.Keyword(null,"little-endian","little-endian",
1877303413);octet.buffer._STAR_byte_order_STAR_=e;try{return octet.core.read.call(null,a,octet.core.repeat.call(null,b,octet.core.uint16),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"offset","offset",296498311),c+8],null))}finally{octet.buffer._STAR_byte_order_STAR_=d}};
weathergen.falcon.files.images.read_image=function(a,b,c){b=null!=b&&(b.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===b.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,b):b;cljs.core.get.call(null,b,new cljs.core.Keyword(null,"resource","resource",251898836));cljs.core.get.call(null,b,new cljs.core.Keyword(null,"image-id","image-id",-988480565));a=cljs.core.get.call(null,b,new cljs.core.Keyword(null,"base","base",185279322));var d=cljs.core.get.call(null,b,new cljs.core.Keyword(null,
"image-data","image-data",-377483758));a=weathergen.filesystem.file_buf.call(null,[cljs.core.str.cljs$core$IFn$_invoke$arity$1(a),".rsc"].join(""));b=weathergen.falcon.files.images.palette.call(null,a,d);var e=null!=d&&(d.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===d.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,d):d;cljs.core.get.call(null,e,new cljs.core.Keyword(null,"palette-size","palette-size",-995698822));cljs.core.get.call(null,e,new cljs.core.Keyword(null,
"palette-offset","palette-offset",1376573573));cljs.core.get.call(null,e,new cljs.core.Keyword(null,"center","center",-748944368));var f=cljs.core.get.call(null,e,new cljs.core.Keyword(null,"image-offset","image-offset",-1802347612)),g=cljs.core.get.call(null,e,new cljs.core.Keyword(null,"size","size",1098693007));e=weathergen.util.has_flag_QMARK_.call(null,(new cljs.core.Keyword(null,"flags","flags",1775418075)).cljs$core$IFn$_invoke$arity$1(d),weathergen.falcon.constants._RSC_8_BIT_);var h=weathergen.util.has_flag_QMARK_.call(null,
(new cljs.core.Keyword(null,"flags","flags",1775418075)).cljs$core$IFn$_invoke$arity$1(d),weathergen.falcon.constants._RSC_USECOLORKEY_),k=cljs.core.nth.call(null,g,0,null),l=cljs.core.nth.call(null,g,1,null);if(!cljs.core._EQ_.call(null,(new cljs.core.Keyword(null,"type","type",1174270348)).cljs$core$IFn$_invoke$arity$1(d),weathergen.falcon.constants._RSC_IS_IMAGE_))throw cljs.core.ex_info.call(null,"Not an image",new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"reason","reason",
-2070751759),new cljs.core.Keyword("weathergen.falcon.files.images","not-an-image","weathergen.falcon.files.images/not-an-image",-961229360)],null));if(!e&&!weathergen.util.has_flag_QMARK_.call(null,(new cljs.core.Keyword(null,"flags","flags",1775418075)).cljs$core$IFn$_invoke$arity$1(d),weathergen.falcon.constants._RSC_16_BIT_))throw cljs.core.ex_info.call(null,"Image is neither 8-bit nor 16-bit",new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"reason","reason",-2070751759),new cljs.core.Keyword("weathergen.falcon.files.images",
"bit-size-unknown","weathergen.falcon.files.images/bit-size-unknown",1319239173)],null));c=c.call(null,k,l);d=null!=c&&(c.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===c.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,c):c;c=cljs.core.get.call(null,d,new cljs.core.Keyword(null,"set-pixel!","set-pixel!",1287500897));d=cljs.core.get.call(null,d,new cljs.core.Keyword(null,"finalize","finalize",-1152897571));g=e?1:2;var m=e?octet.buffer.read_ubyte:octet.buffer.read_ushort,
n=octet.buffer._STAR_byte_order_STAR_,p=new cljs.core.Keyword(null,"little-endian","little-endian",1877303413);octet.buffer._STAR_byte_order_STAR_=p;try{var q=cljs.core.seq.call(null,cljs.core.range.call(null,l));l=null;for(var r=p=0;;)if(r<p){for(var u=cljs.core._nth.call(null,l,r),t=cljs.core.seq.call(null,cljs.core.range.call(null,k)),v=null,w=0,x=0;;)if(x<w){var y=cljs.core._nth.call(null,v,x),z=m.call(null,a,8+f+g*(y+u*k)),B=e?cljs.core.nth.call(null,b,z):z,C=B>>10&31,A=B>>5&31,D=B&31,F=(((((h?
e?0===z:cljs.core._EQ_.call(null,new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,[31,0,31],null),new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,[C,A,D],null)):h)?0:255)<<8)+8*D<<8)+8*A<<8)+8*C;c.call(null,y,u,F);x+=1}else{var E=cljs.core.seq.call(null,t);if(E){C=E;if(cljs.core.chunked_seq_QMARK_.call(null,C)){var G=cljs.core.chunk_first.call(null,C),J=cljs.core.chunk_rest.call(null,C);C=G;var M=cljs.core.count.call(null,G);t=J;v=C;w=M}else{var L=
cljs.core.first.call(null,C),K=m.call(null,a,8+f+g*(L+u*k)),I=e?cljs.core.nth.call(null,b,K):K;A=I>>10&31;D=I>>5&31;var H=I&31,O=(((((h?e?0===K:cljs.core._EQ_.call(null,new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,[31,0,31],null),new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,[A,D,H],null)):h)?0:255)<<8)+8*H<<8)+8*D<<8)+8*A;c.call(null,L,u,O);t=cljs.core.next.call(null,C);v=null;w=0}x=0}else break}r+=1}else{var P=cljs.core.seq.call(null,
q);if(P){v=P;if(cljs.core.chunked_seq_QMARK_.call(null,v)){var N=cljs.core.chunk_first.call(null,v),Q=cljs.core.chunk_rest.call(null,v);v=N;var R=cljs.core.count.call(null,N);q=Q;l=v;p=R}else{var S=cljs.core.first.call(null,v),T=cljs.core.seq.call(null,cljs.core.range.call(null,k));w=null;for(C=x=0;;)if(C<x){var U=cljs.core._nth.call(null,w,C),W=m.call(null,a,8+f+g*(U+S*k)),V=e?cljs.core.nth.call(null,b,W):W;A=V>>10&31;D=V>>5&31;H=V&31;var X=(((((h?e?0===W:cljs.core._EQ_.call(null,new cljs.core.PersistentVector(null,
3,5,cljs.core.PersistentVector.EMPTY_NODE,[31,0,31],null),new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,[A,D,H],null)):h)?0:255)<<8)+8*H<<8)+8*D<<8)+8*A;c.call(null,U,S,X);C+=1}else{var Y=cljs.core.seq.call(null,T);if(Y){A=Y;if(cljs.core.chunked_seq_QMARK_.call(null,A)){var aa=cljs.core.chunk_first.call(null,A),ba=cljs.core.chunk_rest.call(null,A);A=aa;var Z=cljs.core.count.call(null,aa);T=ba;w=A;x=Z}else{var ca=cljs.core.first.call(null,A),ea=m.call(null,a,8+f+g*(ca+
S*k)),ha=e?cljs.core.nth.call(null,b,ea):ea;D=ha>>10&31;H=ha>>5&31;var fa=ha&31,ka=(((((h?e?0===ea:cljs.core._EQ_.call(null,new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,[31,0,31],null),new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,[D,H,fa],null)):h)?0:255)<<8)+8*fa<<8)+8*H<<8)+8*D;c.call(null,ca,S,ka);T=cljs.core.next.call(null,A);w=null;x=0}C=0}else break}q=cljs.core.next.call(null,v);l=null;p=0}r=0}else break}}finally{octet.buffer._STAR_byte_order_STAR_=
n}return d.call(null)};
weathergen.falcon.files.images.cache_key=function(a){var b=null!=a&&(a.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===a.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,a):a;a=cljs.core.get.call(null,b,new cljs.core.Keyword(null,"resource","resource",251898836));var c=cljs.core.get.call(null,b,new cljs.core.Keyword(null,"image-id","image-id",-988480565)),d=cljs.core.get.call(null,b,new cljs.core.Keyword(null,"art-dir","art-dir",67381390)),e=cljs.core.get.call(null,
b,new cljs.core.Keyword(null,"idx-size","idx-size",893862481)),f=cljs.core.get.call(null,b,new cljs.core.Keyword(null,"idx-modified","idx-modified",-1917929304)),g=cljs.core.get.call(null,b,new cljs.core.Keyword(null,"rsc-size","rsc-size",-568560687));b=cljs.core.get.call(null,b,new cljs.core.Keyword(null,"rsc-modified","rsc-modified",-250537226));return[cljs.core.str.cljs$core$IFn$_invoke$arity$1(d),"/",cljs.core.str.cljs$core$IFn$_invoke$arity$1(a),"/",cljs.core.str.cljs$core$IFn$_invoke$arity$1(c),
"/",cljs.core.str.cljs$core$IFn$_invoke$arity$1(e),"-",cljs.core.str.cljs$core$IFn$_invoke$arity$1(f),"-",cljs.core.str.cljs$core$IFn$_invoke$arity$1(g),"-",cljs.core.str.cljs$core$IFn$_invoke$arity$1(b)].join("")};
weathergen.falcon.files.images.make_descriptor=function(a,b,c){var d=(new cljs.core.Keyword(null,"data-dir","data-dir",2038801936)).cljs$core$IFn$_invoke$arity$1((new cljs.core.Keyword(null,"installation","installation",943147954)).cljs$core$IFn$_invoke$arity$1(a)),e=(new cljs.core.Keyword(null,"art-dir","art-dir",67381390)).cljs$core$IFn$_invoke$arity$1((new cljs.core.Keyword(null,"theater","theater",258922071)).cljs$core$IFn$_invoke$arity$1(a)),f=(new cljs.core.Keyword(null,"art-dir","art-dir",
67381390)).cljs$core$IFn$_invoke$arity$1((new cljs.core.Keyword(null,"installation","installation",943147954)).cljs$core$IFn$_invoke$arity$1(a)),g=weathergen.filesystem.path_combine.call(null,d,e,b),h=weathergen.filesystem.path_combine.call(null,d,f,b),k=weathergen.filesystem.exists_QMARK_.call(null,[cljs.core.str.cljs$core$IFn$_invoke$arity$1(g),".idx"].join("")),l=cljs.core.truth_(k)?e:f,m=weathergen.filesystem.path_combine.call(null,d,cljs.core.truth_(k)?g:h),n=[cljs.core.str.cljs$core$IFn$_invoke$arity$1(m),
".idx"].join(""),p=[cljs.core.str.cljs$core$IFn$_invoke$arity$1(m),".rsc"].join(""),q=weathergen.filesystem.stat.call(null,n),r=weathergen.filesystem.stat.call(null,p);a=(new cljs.core.Keyword(null,"data-dir","data-dir",2038801936)).cljs$core$IFn$_invoke$arity$1((new cljs.core.Keyword(null,"installation","installation",943147954)).cljs$core$IFn$_invoke$arity$1(a));var u=weathergen.falcon.files.images.read_index.call(null,n),t=cljs.core.first.call(null,cljs.core.filter.call(null,function(a,b,d,e,f,
g,h,k,l,m,n,p,q,r){return function(a){return cljs.core._EQ_.call(null,c,(new cljs.core.Keyword(null,"id","id",-1388402092)).cljs$core$IFn$_invoke$arity$1(a))}}(d,e,f,g,h,k,l,m,n,p,q,r,a,u),u));return cljs.core.not.call(null,t)?(taoensso.timbre._log_BANG_.call(null,taoensso.timbre._STAR_config_STAR_,new cljs.core.Keyword(null,"warn","warn",-436710552),"weathergen.falcon.files.images",null,173,new cljs.core.Keyword(null,"p","p",151049309),new cljs.core.Keyword(null,"auto","auto",-566279492),new cljs.core.Delay(function(a,
d,e,f,g,h,k,l,m,n,p,q,r,t,u){return function(){return new cljs.core.PersistentVector(null,5,5,cljs.core.PersistentVector.EMPTY_NODE,["Couldn't find an image with that ID",new cljs.core.Keyword(null,"resource","resource",251898836),b,new cljs.core.Keyword(null,"image-id","image-id",-988480565),c],null)}}(d,e,f,g,h,k,l,m,n,p,q,r,a,u,t),null),null,-782082623),null):cljs.core.PersistentHashMap.fromArrays([new cljs.core.Keyword(null,"idx-modified","idx-modified",-1917929304),new cljs.core.Keyword(null,
"image-id","image-id",-988480565),new cljs.core.Keyword(null,"art-dir","art-dir",67381390),new cljs.core.Keyword(null,"idx-size","idx-size",893862481),new cljs.core.Keyword(null,"rsc-size","rsc-size",-568560687),new cljs.core.Keyword(null,"image-data","image-data",-377483758),new cljs.core.Keyword(null,"resource","resource",251898836),new cljs.core.Keyword(null,"rsc-modified","rsc-modified",-250537226),new cljs.core.Keyword(null,"base","base",185279322)],[(new cljs.core.Keyword(null,"modified","modified",
-2134587826)).cljs$core$IFn$_invoke$arity$1(q),c,l,(new cljs.core.Keyword(null,"size","size",1098693007)).cljs$core$IFn$_invoke$arity$1(q),(new cljs.core.Keyword(null,"size","size",1098693007)).cljs$core$IFn$_invoke$arity$1(r),t,b,(new cljs.core.Keyword(null,"modified","modified",-2134587826)).cljs$core$IFn$_invoke$arity$1(r),m])};weathergen.database={};weathergen.database.kuriles={};
weathergen.database.kuriles.theater_info=new cljs.core.PersistentArrayMap(null,4,[new cljs.core.Keyword(null,"owners","owners",1019390468),new cljs.core.PersistentArrayMap(null,8,[0,"XX",1,"US",2,"Japan",3,"ROK",4,"DPRK",5,"PRC",6,"CIS",7,"Gorn"],null),new cljs.core.Keyword(null,"size","size",1098693007),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[1024,1024],null),new cljs.core.Keyword(null,"mapping","mapping",-1242405430),new cljs.core.PersistentArrayMap(null,4,
[new cljs.core.Keyword(null,"left","left",-399115937),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[51,11.75],null),new cljs.core.Keyword(null,"top","top",-1856271961),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[137,0],null),new cljs.core.Keyword(null,"bottom","bottom",-1550509018),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[41,59.95],null),new cljs.core.Keyword(null,"top-right","top-right",284698505),
new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[151,40.475],null)],null),new cljs.core.Keyword(null,"objectives","objectives",933939509),cljs.core.PersistentVector.fromArray([new cljs.core.PersistentArrayMap(null,6,[new cljs.core.Keyword(null,"x","x",2099068185),424,new cljs.core.Keyword(null,"y","y",-1757859776),920,new cljs.core.Keyword(null,"owner","owner",-392611939),6,new cljs.core.Keyword(null,"name","name",1843675177),"Zonalnoye Airport",new cljs.core.Keyword(null,
"type","type",1174270348),"Airbase",new cljs.core.Keyword(null,"id","id",-1388402092),4],null),new cljs.core.PersistentArrayMap(null,6,[new cljs.core.Keyword(null,"x","x",2099068185),174,new cljs.core.Keyword(null,"y","y",-1757859776),990,new cljs.core.Keyword(null,"owner","owner",-392611939),6,new cljs.core.Keyword(null,"name","name",1843675177),"Tsimmermanovka Airport",new cljs.core.Keyword(null,"type","type",1174270348),"Airbase",new cljs.core.Keyword(null,"id","id",-1388402092),5],null),new cljs.core.PersistentArrayMap(null,
6,[new cljs.core.Keyword(null,"x","x",2099068185),422,new cljs.core.Keyword(null,"y","y",-1757859776),864,new cljs.core.Keyword(null,"owner","owner",-392611939),6,new cljs.core.Keyword(null,"name","name",1843675177),"Onor Airport",new cljs.core.Keyword(null,"type","type",1174270348),"Airbase",new cljs.core.Keyword(null,"id","id",-1388402092),6],null),new cljs.core.PersistentArrayMap(null,6,[new cljs.core.Keyword(null,"x","x",2099068185),454,new cljs.core.Keyword(null,"y","y",-1757859776),841,new cljs.core.Keyword(null,
"owner","owner",-392611939),6,new cljs.core.Keyword(null,"name","name",1843675177),"Pervomaysk Zhitnitsa Airport",new cljs.core.Keyword(null,"type","type",1174270348),"Airbase",new cljs.core.Keyword(null,"id","id",-1388402092),7],null),new cljs.core.PersistentArrayMap(null,6,[new cljs.core.Keyword(null,"x","x",2099068185),465,new cljs.core.Keyword(null,"y","y",-1757859776),772,new cljs.core.Keyword(null,"owner","owner",-392611939),6,new cljs.core.Keyword(null,"name","name",1843675177),"Poronaysk Northeast Airport",
new cljs.core.Keyword(null,"type","type",1174270348),"Airbase",new cljs.core.Keyword(null,"id","id",-1388402092),9],null),new cljs.core.PersistentArrayMap(null,6,[new cljs.core.Keyword(null,"x","x",2099068185),1012,new cljs.core.Keyword(null,"y","y",-1757859776),422,new cljs.core.Keyword(null,"owner","owner",-392611939),6,new cljs.core.Keyword(null,"name","name",1843675177),"Urup Airport",new cljs.core.Keyword(null,"type","type",1174270348),"Airbase",new cljs.core.Keyword(null,"id","id",-1388402092),
10],null),new cljs.core.PersistentArrayMap(null,6,[new cljs.core.Keyword(null,"x","x",2099068185),430,new cljs.core.Keyword(null,"y","y",-1757859776),778,new cljs.core.Keyword(null,"owner","owner",-392611939),6,new cljs.core.Keyword(null,"name","name",1843675177),"Matrosovo Airbase",new cljs.core.Keyword(null,"type","type",1174270348),"Airbase",new cljs.core.Keyword(null,"id","id",-1388402092),11],null),new cljs.core.PersistentArrayMap(null,6,[new cljs.core.Keyword(null,"x","x",2099068185),24,new cljs.core.Keyword(null,
"y","y",-1757859776),913,new cljs.core.Keyword(null,"owner","owner",-392611939),6,new cljs.core.Keyword(null,"name","name",1843675177),"Dzyomgi",new cljs.core.Keyword(null,"type","type",1174270348),"Airbase",new cljs.core.Keyword(null,"id","id",-1388402092),14],null),new cljs.core.PersistentArrayMap(null,6,[new cljs.core.Keyword(null,"x","x",2099068185),9,new cljs.core.Keyword(null,"y","y",-1757859776),890,new cljs.core.Keyword(null,"owner","owner",-392611939),6,new cljs.core.Keyword(null,"name",
"name",1843675177),"Komsomolsk-on-Amur",new cljs.core.Keyword(null,"type","type",1174270348),"Airbase",new cljs.core.Keyword(null,"id","id",-1388402092),15],null),new cljs.core.PersistentArrayMap(null,6,[new cljs.core.Keyword(null,"x","x",2099068185),240,new cljs.core.Keyword(null,"y","y",-1757859776),759,new cljs.core.Keyword(null,"owner","owner",-392611939),6,new cljs.core.Keyword(null,"name","name",1843675177),"Kamenny Ruchey Naval AB",new cljs.core.Keyword(null,"type","type",1174270348),"Airbase",
new cljs.core.Keyword(null,"id","id",-1388402092),16],null),new cljs.core.PersistentArrayMap(null,6,[new cljs.core.Keyword(null,"x","x",2099068185),232,new cljs.core.Keyword(null,"y","y",-1757859776),737,new cljs.core.Keyword(null,"owner","owner",-392611939),6,new cljs.core.Keyword(null,"name","name",1843675177),"Vanino Airport",new cljs.core.Keyword(null,"type","type",1174270348),"Airbase",new cljs.core.Keyword(null,"id","id",-1388402092),17],null),new cljs.core.PersistentArrayMap(null,6,[new cljs.core.Keyword(null,
"x","x",2099068185),244,new cljs.core.Keyword(null,"y","y",-1757859776),730,new cljs.core.Keyword(null,"owner","owner",-392611939),6,new cljs.core.Keyword(null,"name","name",1843675177),"Sovetskaya Gavan Airport",new cljs.core.Keyword(null,"type","type",1174270348),"Airbase",new cljs.core.Keyword(null,"id","id",-1388402092),18],null),new cljs.core.PersistentArrayMap(null,6,[new cljs.core.Keyword(null,"x","x",2099068185),222,new cljs.core.Keyword(null,"y","y",-1757859776),724,new cljs.core.Keyword(null,
"owner","owner",-392611939),6,new cljs.core.Keyword(null,"name","name",1843675177),"Maygatka Airport",new cljs.core.Keyword(null,"type","type",1174270348),"Airbase",new cljs.core.Keyword(null,"id","id",-1388402092),19],null),new cljs.core.PersistentArrayMap(null,6,[new cljs.core.Keyword(null,"x","x",2099068185),3,new cljs.core.Keyword(null,"y","y",-1757859776),810,new cljs.core.Keyword(null,"owner","owner",-392611939),6,new cljs.core.Keyword(null,"name","name",1843675177),"Dzhonka Airport",new cljs.core.Keyword(null,
"type","type",1174270348),"Airbase",new cljs.core.Keyword(null,"id","id",-1388402092),20],null),new cljs.core.PersistentArrayMap(null,6,[new cljs.core.Keyword(null,"x","x",2099068185),849,new cljs.core.Keyword(null,"y","y",-1757859776),316,new cljs.core.Keyword(null,"owner","owner",-392611939),6,new cljs.core.Keyword(null,"name","name",1843675177),"Vetrovoye Airbase",new cljs.core.Keyword(null,"type","type",1174270348),"Airbase",new cljs.core.Keyword(null,"id","id",-1388402092),21],null),new cljs.core.PersistentArrayMap(null,
6,[new cljs.core.Keyword(null,"x","x",2099068185),6,new cljs.core.Keyword(null,"y","y",-1757859776),768,new cljs.core.Keyword(null,"owner","owner",-392611939),6,new cljs.core.Keyword(null,"name","name",1843675177),"Manoma",new cljs.core.Keyword(null,"type","type",1174270348),"Airbase",new cljs.core.Keyword(null,"id","id",-1388402092),22],null),new cljs.core.PersistentArrayMap(null,6,[new cljs.core.Keyword(null,"x","x",2099068185),7,new cljs.core.Keyword(null,"y","y",-1757859776),757,new cljs.core.Keyword(null,
"owner","owner",-392611939),6,new cljs.core.Keyword(null,"name","name",1843675177),"Chuin Airport",new cljs.core.Keyword(null,"type","type",1174270348),"Airbase",new cljs.core.Keyword(null,"id","id",-1388402092),23],null),new cljs.core.PersistentArrayMap(null,6,[new cljs.core.Keyword(null,"x","x",2099068185),419,new cljs.core.Keyword(null,"y","y",-1757859776),542,new cljs.core.Keyword(null,"owner","owner",-392611939),6,new cljs.core.Keyword(null,"name","name",1843675177),"Dolinsk-Sokol Airbase",new cljs.core.Keyword(null,
"type","type",1174270348),"Airbase",new cljs.core.Keyword(null,"id","id",-1388402092),24],null),new cljs.core.PersistentArrayMap(null,6,[new cljs.core.Keyword(null,"x","x",2099068185),363,new cljs.core.Keyword(null,"y","y",-1757859776),544,new cljs.core.Keyword(null,"owner","owner",-392611939),6,new cljs.core.Keyword(null,"name","name",1843675177),"Kostromskoye Airport",new cljs.core.Keyword(null,"type","type",1174270348),"Airbase",new cljs.core.Keyword(null,"id","id",-1388402092),25],null),new cljs.core.PersistentArrayMap(null,
6,[new cljs.core.Keyword(null,"x","x",2099068185),795,new cljs.core.Keyword(null,"y","y",-1757859776),280,new cljs.core.Keyword(null,"owner","owner",-392611939),6,new cljs.core.Keyword(null,"name","name",1843675177),"Burevestnik Airport",new cljs.core.Keyword(null,"type","type",1174270348),"Airbase",new cljs.core.Keyword(null,"id","id",-1388402092),26],null),new cljs.core.PersistentArrayMap(null,6,[new cljs.core.Keyword(null,"x","x",2099068185),448,new cljs.core.Keyword(null,"y","y",-1757859776),
471,new cljs.core.Keyword(null,"owner","owner",-392611939),6,new cljs.core.Keyword(null,"name","name",1843675177),"Ozerskiy Airport",new cljs.core.Keyword(null,"type","type",1174270348),"Airbase",new cljs.core.Keyword(null,"id","id",-1388402092),28],null),new cljs.core.PersistentArrayMap(null,6,[new cljs.core.Keyword(null,"x","x",2099068185),426,new cljs.core.Keyword(null,"y","y",-1757859776),480,new cljs.core.Keyword(null,"owner","owner",-392611939),6,new cljs.core.Keyword(null,"name","name",1843675177),
"Novaya Airport",new cljs.core.Keyword(null,"type","type",1174270348),"Airbase",new cljs.core.Keyword(null,"id","id",-1388402092),29],null),new cljs.core.PersistentArrayMap(null,6,[new cljs.core.Keyword(null,"x","x",2099068185),110,new cljs.core.Keyword(null,"y","y",-1757859776),531,new cljs.core.Keyword(null,"owner","owner",-392611939),6,new cljs.core.Keyword(null,"name","name",1843675177),"Samarga Airport",new cljs.core.Keyword(null,"type","type",1174270348),"Airbase",new cljs.core.Keyword(null,
"id","id",-1388402092),30],null),new cljs.core.PersistentArrayMap(null,6,[new cljs.core.Keyword(null,"x","x",2099068185),298,new cljs.core.Keyword(null,"y","y",-1757859776),79,new cljs.core.Keyword(null,"owner","owner",-392611939),2,new cljs.core.Keyword(null,"name","name",1843675177),"Okadama Airport",new cljs.core.Keyword(null,"type","type",1174270348),"Airbase",new cljs.core.Keyword(null,"id","id",-1388402092),159],null),new cljs.core.PersistentArrayMap(null,6,[new cljs.core.Keyword(null,"x","x",
2099068185),450,new cljs.core.Keyword(null,"y","y",-1757859776),51,new cljs.core.Keyword(null,"owner","owner",-392611939),2,new cljs.core.Keyword(null,"name","name",1843675177),"Tokachi-Obihiro Airport",new cljs.core.Keyword(null,"type","type",1174270348),"Airbase",new cljs.core.Keyword(null,"id","id",-1388402092),160],null),new cljs.core.PersistentArrayMap(null,6,[new cljs.core.Keyword(null,"x","x",2099068185),385,new cljs.core.Keyword(null,"y","y",-1757859776),145,new cljs.core.Keyword(null,"owner",
"owner",-392611939),2,new cljs.core.Keyword(null,"name","name",1843675177),"Asahikawa Airport",new cljs.core.Keyword(null,"type","type",1174270348),"Airbase",new cljs.core.Keyword(null,"id","id",-1388402092),161],null),new cljs.core.PersistentArrayMap(null,6,[new cljs.core.Keyword(null,"x","x",2099068185),528,new cljs.core.Keyword(null,"y","y",-1757859776),73,new cljs.core.Keyword(null,"owner","owner",-392611939),2,new cljs.core.Keyword(null,"name","name",1843675177),"Kushiro Airport",new cljs.core.Keyword(null,
"type","type",1174270348),"Airbase",new cljs.core.Keyword(null,"id","id",-1388402092),162],null),new cljs.core.PersistentArrayMap(null,6,[new cljs.core.Keyword(null,"x","x",2099068185),587,new cljs.core.Keyword(null,"y","y",-1757859776),132,new cljs.core.Keyword(null,"owner","owner",-392611939),2,new cljs.core.Keyword(null,"name","name",1843675177),"Nakashibetsu Airport",new cljs.core.Keyword(null,"type","type",1174270348),"Airbase",new cljs.core.Keyword(null,"id","id",-1388402092),164],null),new cljs.core.PersistentArrayMap(null,
6,[new cljs.core.Keyword(null,"x","x",2099068185),528,new cljs.core.Keyword(null,"y","y",-1757859776),163,new cljs.core.Keyword(null,"owner","owner",-392611939),2,new cljs.core.Keyword(null,"name","name",1843675177),"Memanbetsu Airbase",new cljs.core.Keyword(null,"type","type",1174270348),"Airbase",new cljs.core.Keyword(null,"id","id",-1388402092),166],null),new cljs.core.PersistentArrayMap(null,6,[new cljs.core.Keyword(null,"x","x",2099068185),468,new cljs.core.Keyword(null,"y","y",-1757859776),
205,new cljs.core.Keyword(null,"owner","owner",-392611939),2,new cljs.core.Keyword(null,"name","name",1843675177),"Monbetsu Airbase",new cljs.core.Keyword(null,"type","type",1174270348),"Airbase",new cljs.core.Keyword(null,"id","id",-1388402092),167],null),new cljs.core.PersistentArrayMap(null,6,[new cljs.core.Keyword(null,"x","x",2099068185),341,new cljs.core.Keyword(null,"y","y",-1757859776),325,new cljs.core.Keyword(null,"owner","owner",-392611939),6,new cljs.core.Keyword(null,"name","name",1843675177),
"Wakkanai Air Station",new cljs.core.Keyword(null,"type","type",1174270348),"Airbase",new cljs.core.Keyword(null,"id","id",-1388402092),169],null),new cljs.core.PersistentArrayMap(null,6,[new cljs.core.Keyword(null,"x","x",2099068185),293,new cljs.core.Keyword(null,"y","y",-1757859776),313,new cljs.core.Keyword(null,"owner","owner",-392611939),6,new cljs.core.Keyword(null,"name","name",1843675177),"Rishiri Airport",new cljs.core.Keyword(null,"type","type",1174270348),"Airbase",new cljs.core.Keyword(null,
"id","id",-1388402092),170],null),new cljs.core.PersistentArrayMap(null,6,[new cljs.core.Keyword(null,"x","x",2099068185),327,new cljs.core.Keyword(null,"y","y",-1757859776),44,new cljs.core.Keyword(null,"owner","owner",-392611939),2,new cljs.core.Keyword(null,"name","name",1843675177),"New Chitose Airport",new cljs.core.Keyword(null,"type","type",1174270348),"Airbase",new cljs.core.Keyword(null,"id","id",-1388402092),158],null),new cljs.core.PersistentArrayMap(null,6,[new cljs.core.Keyword(null,
"x","x",2099068185),414,new cljs.core.Keyword(null,"y","y",-1757859776),499,new cljs.core.Keyword(null,"owner","owner",-392611939),6,new cljs.core.Keyword(null,"name","name",1843675177),"Yuzhno-Sakhalinsk Airport",new cljs.core.Keyword(null,"type","type",1174270348),"Airbase",new cljs.core.Keyword(null,"id","id",-1388402092),27],null)],!0)],null);weathergen.database.balkans={};
weathergen.database.balkans.theater_info=new cljs.core.PersistentArrayMap(null,4,[new cljs.core.Keyword(null,"owners","owners",1019390468),new cljs.core.PersistentArrayMap(null,8,[0,"Greece",1,"Slovenia",2,"NATO",3,"Bosnia",4,"Albania",5,"Hungary",6,"FRY",7,"Croatia"],null),new cljs.core.Keyword(null,"size","size",1098693007),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[1024,1024],null),new cljs.core.Keyword(null,"mapping","mapping",-1242405430),new cljs.core.PersistentArrayMap(null,
4,[new cljs.core.Keyword(null,"left","left",-399115937),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[11,0],null),new cljs.core.Keyword(null,"top","top",-1856271961),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[45,49.25],null),new cljs.core.Keyword(null,"bottom","bottom",-1550509018),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[36,37.3],null),new cljs.core.Keyword(null,"top-right","top-right",284698505),
new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[24,11.67],null)],null),new cljs.core.Keyword(null,"objectives","objectives",933939509),cljs.core.PersistentVector.fromArray([new cljs.core.PersistentArrayMap(null,5,[new cljs.core.Keyword(null,"x","x",2099068185),162,new cljs.core.Keyword(null,"y","y",-1757859776),962,new cljs.core.Keyword(null,"owner","owner",-392611939),"NATO",new cljs.core.Keyword(null,"name","name",1843675177),"Aviano Airbase",new cljs.core.Keyword(null,
"type","type",1174270348),"Airbase"],null),new cljs.core.PersistentArrayMap(null,5,[new cljs.core.Keyword(null,"x","x",2099068185),51,new cljs.core.Keyword(null,"y","y",-1757859776),948,new cljs.core.Keyword(null,"owner","owner",-392611939),"NATO",new cljs.core.Keyword(null,"name","name",1843675177),"Asiago Airport",new cljs.core.Keyword(null,"type","type",1174270348),"Airbase"],null),new cljs.core.PersistentArrayMap(null,5,[new cljs.core.Keyword(null,"x","x",2099068185),299,new cljs.core.Keyword(null,
"y","y",-1757859776),845,new cljs.core.Keyword(null,"owner","owner",-392611939),"Croatia",new cljs.core.Keyword(null,"name","name",1843675177),"Pula Airport",new cljs.core.Keyword(null,"type","type",1174270348),"Airbase"],null),new cljs.core.PersistentArrayMap(null,5,[new cljs.core.Keyword(null,"x","x",2099068185),266,new cljs.core.Keyword(null,"y","y",-1757859776),903,new cljs.core.Keyword(null,"owner","owner",-392611939),"Croatia",new cljs.core.Keyword(null,"name","name",1843675177),"Portoroz Airport",
new cljs.core.Keyword(null,"type","type",1174270348),"Airbase"],null),new cljs.core.PersistentArrayMap(null,5,[new cljs.core.Keyword(null,"x","x",2099068185),520,new cljs.core.Keyword(null,"y","y",-1757859776),933,new cljs.core.Keyword(null,"owner","owner",-392611939),"FRY",new cljs.core.Keyword(null,"name","name",1843675177),"Zagreb Airport",new cljs.core.Keyword(null,"type","type",1174270348),"Airbase"],null),new cljs.core.PersistentArrayMap(null,5,[new cljs.core.Keyword(null,"x","x",2099068185),
792,new cljs.core.Keyword(null,"y","y",-1757859776),589,new cljs.core.Keyword(null,"owner","owner",-392611939),"FRY",new cljs.core.Keyword(null,"name","name",1843675177),"Tivat Airport",new cljs.core.Keyword(null,"type","type",1174270348),"Airbase"],null),new cljs.core.PersistentArrayMap(null,5,[new cljs.core.Keyword(null,"x","x",2099068185),1015,new cljs.core.Keyword(null,"y","y",-1757859776),834,new cljs.core.Keyword(null,"owner","owner",-392611939),"FRY",new cljs.core.Keyword(null,"name","name",
1843675177),"Kovin Airbase",new cljs.core.Keyword(null,"type","type",1174270348),"Airbase"],null),new cljs.core.PersistentArrayMap(null,5,[new cljs.core.Keyword(null,"x","x",2099068185),656,new cljs.core.Keyword(null,"y","y",-1757859776),397,new cljs.core.Keyword(null,"owner","owner",-392611939),"NATO",new cljs.core.Keyword(null,"name","name",1843675177),"Grottaglie Airbase",new cljs.core.Keyword(null,"type","type",1174270348),"Airbase"],null),new cljs.core.PersistentArrayMap(null,5,[new cljs.core.Keyword(null,
"x","x",2099068185),570,new cljs.core.Keyword(null,"y","y",-1757859776),390,new cljs.core.Keyword(null,"owner","owner",-392611939),"NATO",new cljs.core.Keyword(null,"name","name",1843675177),"Matera Airport",new cljs.core.Keyword(null,"type","type",1174270348),"Airbase"],null),new cljs.core.PersistentArrayMap(null,5,[new cljs.core.Keyword(null,"x","x",2099068185),154,new cljs.core.Keyword(null,"y","y",-1757859776),664,new cljs.core.Keyword(null,"owner","owner",-392611939),"NATO",new cljs.core.Keyword(null,
"name","name",1843675177),"Perugia Airport",new cljs.core.Keyword(null,"type","type",1174270348),"Airbase"],null),new cljs.core.PersistentArrayMap(null,5,[new cljs.core.Keyword(null,"x","x",2099068185),57,new cljs.core.Keyword(null,"y","y",-1757859776),918,new cljs.core.Keyword(null,"owner","owner",-392611939),"NATO",new cljs.core.Keyword(null,"name","name",1843675177),"Vicenza Airport",new cljs.core.Keyword(null,"type","type",1174270348),"Airbase"],null),new cljs.core.PersistentArrayMap(null,5,[new cljs.core.Keyword(null,
"x","x",2099068185),124,new cljs.core.Keyword(null,"y","y",-1757859776),793,new cljs.core.Keyword(null,"owner","owner",-392611939),"NATO",new cljs.core.Keyword(null,"name","name",1843675177),"Ravenna Airport",new cljs.core.Keyword(null,"type","type",1174270348),"Airbase"],null),new cljs.core.PersistentArrayMap(null,5,[new cljs.core.Keyword(null,"x","x",2099068185),790,new cljs.core.Keyword(null,"y","y",-1757859776),803,new cljs.core.Keyword(null,"owner","owner",-392611939),"FRY",new cljs.core.Keyword(null,
"name","name",1843675177),"Tuzla Airport",new cljs.core.Keyword(null,"type","type",1174270348),"Airbase"],null),new cljs.core.PersistentArrayMap(null,5,[new cljs.core.Keyword(null,"x","x",2099068185),754,new cljs.core.Keyword(null,"y","y",-1757859776),737,new cljs.core.Keyword(null,"owner","owner",-392611939),"FRY",new cljs.core.Keyword(null,"name","name",1843675177),"Sarajevo International",new cljs.core.Keyword(null,"type","type",1174270348),"Airbase"],null),new cljs.core.PersistentArrayMap(null,
5,[new cljs.core.Keyword(null,"x","x",2099068185),712,new cljs.core.Keyword(null,"y","y",-1757859776),412,new cljs.core.Keyword(null,"owner","owner",-392611939),"NATO",new cljs.core.Keyword(null,"name","name",1843675177),"Brindisi-Casale Airport",new cljs.core.Keyword(null,"type","type",1174270348),"Airbase"],null),new cljs.core.PersistentArrayMap(null,5,[new cljs.core.Keyword(null,"x","x",2099068185),11,new cljs.core.Keyword(null,"y","y",-1757859776),962,new cljs.core.Keyword(null,"owner","owner",
-392611939),"NATO",new cljs.core.Keyword(null,"name","name",1843675177),"Mattarello Airport",new cljs.core.Keyword(null,"type","type",1174270348),"Airbase"],null),new cljs.core.PersistentArrayMap(null,5,[new cljs.core.Keyword(null,"x","x",2099068185),419,new cljs.core.Keyword(null,"y","y",-1757859776),1009,new cljs.core.Keyword(null,"owner","owner",-392611939),"Slovenia",new cljs.core.Keyword(null,"name","name",1843675177),"Slovenj Gradec Airport",new cljs.core.Keyword(null,"type","type",1174270348),
"Airbase"],null),new cljs.core.PersistentArrayMap(null,5,[new cljs.core.Keyword(null,"x","x",2099068185),551,new cljs.core.Keyword(null,"y","y",-1757859776),988,new cljs.core.Keyword(null,"owner","owner",-392611939),"Croatia",new cljs.core.Keyword(null,"name","name",1843675177),"Varazdin Airport",new cljs.core.Keyword(null,"type","type",1174270348),"Airbase"],null),new cljs.core.PersistentArrayMap(null,5,[new cljs.core.Keyword(null,"x","x",2099068185),598,new cljs.core.Keyword(null,"y","y",-1757859776),
946,new cljs.core.Keyword(null,"owner","owner",-392611939),"FRY",new cljs.core.Keyword(null,"name","name",1843675177),"Bjelovar Airstrip",new cljs.core.Keyword(null,"type","type",1174270348),"Airstrip"],null),new cljs.core.PersistentArrayMap(null,5,[new cljs.core.Keyword(null,"x","x",2099068185),885,new cljs.core.Keyword(null,"y","y",-1757859776),837,new cljs.core.Keyword(null,"owner","owner",-392611939),"FRY",new cljs.core.Keyword(null,"name","name",1843675177),"Sabac  Airstrip",new cljs.core.Keyword(null,
"type","type",1174270348),"Airstrip"],null),new cljs.core.PersistentArrayMap(null,5,[new cljs.core.Keyword(null,"x","x",2099068185),862,new cljs.core.Keyword(null,"y","y",-1757859776),407,new cljs.core.Keyword(null,"owner","owner",-392611939),"Albania",new cljs.core.Keyword(null,"name","name",1843675177),"Mifol Airport",new cljs.core.Keyword(null,"type","type",1174270348),"Airbase"],null),new cljs.core.PersistentArrayMap(null,5,[new cljs.core.Keyword(null,"x","x",2099068185),1001,new cljs.core.Keyword(null,
"y","y",-1757859776),233,new cljs.core.Keyword(null,"owner","owner",-392611939),"Greece",new cljs.core.Keyword(null,"name","name",1843675177),"Preveza Airport",new cljs.core.Keyword(null,"type","type",1174270348),"Airbase"],null),new cljs.core.PersistentArrayMap(null,5,[new cljs.core.Keyword(null,"x","x",2099068185),1010,new cljs.core.Keyword(null,"y","y",-1757859776),115,new cljs.core.Keyword(null,"owner","owner",-392611939),"Greece",new cljs.core.Keyword(null,"name","name",1843675177),"Dionisios Solomos Airport",
new cljs.core.Keyword(null,"type","type",1174270348),"Airbase"],null),new cljs.core.PersistentArrayMap(null,5,[new cljs.core.Keyword(null,"x","x",2099068185),706,new cljs.core.Keyword(null,"y","y",-1757859776),1001,new cljs.core.Keyword(null,"owner","owner",-392611939),"Hungary",new cljs.core.Keyword(null,"name","name",1843675177),"Taszar Airbase",new cljs.core.Keyword(null,"type","type",1174270348),"Airbase"],null),new cljs.core.PersistentArrayMap(null,5,[new cljs.core.Keyword(null,"x","x",2099068185),
794,new cljs.core.Keyword(null,"y","y",-1757859776),989,new cljs.core.Keyword(null,"owner","owner",-392611939),"Hungary",new cljs.core.Keyword(null,"name","name",1843675177),"Ocseny Airport",new cljs.core.Keyword(null,"type","type",1174270348),"Airbase"],null),new cljs.core.PersistentArrayMap(null,5,[new cljs.core.Keyword(null,"x","x",2099068185),950,new cljs.core.Keyword(null,"y","y",-1757859776),427,new cljs.core.Keyword(null,"owner","owner",-392611939),"Albania",new cljs.core.Keyword(null,"name",
"name",1843675177),"Berat Airstrip",new cljs.core.Keyword(null,"type","type",1174270348),"Airstrip"],null),new cljs.core.PersistentArrayMap(null,5,[new cljs.core.Keyword(null,"x","x",2099068185),7,new cljs.core.Keyword(null,"y","y",-1757859776),629,new cljs.core.Keyword(null,"owner","owner",-392611939),"NATO",new cljs.core.Keyword(null,"name","name",1843675177),"Grosseto Airport",new cljs.core.Keyword(null,"type","type",1174270348),"Airbase"],null),new cljs.core.PersistentArrayMap(null,5,[new cljs.core.Keyword(null,
"x","x",2099068185),26,new cljs.core.Keyword(null,"y","y",-1757859776),676,new cljs.core.Keyword(null,"owner","owner",-392611939),"NATO",new cljs.core.Keyword(null,"name","name",1843675177),"Ampugnano Airport",new cljs.core.Keyword(null,"type","type",1174270348),"Airbase"],null),new cljs.core.PersistentArrayMap(null,5,[new cljs.core.Keyword(null,"x","x",2099068185),486,new cljs.core.Keyword(null,"y","y",-1757859776),813,new cljs.core.Keyword(null,"owner","owner",-392611939),"FRY",new cljs.core.Keyword(null,
"name","name",1843675177),"Udbina Airport",new cljs.core.Keyword(null,"type","type",1174270348),"Airbase"],null),new cljs.core.PersistentArrayMap(null,5,[new cljs.core.Keyword(null,"x","x",2099068185),447,new cljs.core.Keyword(null,"y","y",-1757859776),765,new cljs.core.Keyword(null,"owner","owner",-392611939),"FRY",new cljs.core.Keyword(null,"name","name",1843675177),"Zemunik Airport",new cljs.core.Keyword(null,"type","type",1174270348),"Airbase"],null),new cljs.core.PersistentArrayMap(null,5,[new cljs.core.Keyword(null,
"x","x",2099068185),701,new cljs.core.Keyword(null,"y","y",-1757859776),679,new cljs.core.Keyword(null,"owner","owner",-392611939),"FRY",new cljs.core.Keyword(null,"name","name",1843675177),"Mostar Airport",new cljs.core.Keyword(null,"type","type",1174270348),"Airbase"],null),new cljs.core.PersistentArrayMap(null,5,[new cljs.core.Keyword(null,"x","x",2099068185),542,new cljs.core.Keyword(null,"y","y",-1757859776),708,new cljs.core.Keyword(null,"owner","owner",-392611939),"FRY",new cljs.core.Keyword(null,
"name","name",1843675177),"Split Airport",new cljs.core.Keyword(null,"type","type",1174270348),"Airbase"],null),new cljs.core.PersistentArrayMap(null,5,[new cljs.core.Keyword(null,"x","x",2099068185),890,new cljs.core.Keyword(null,"y","y",-1757859776),741,new cljs.core.Keyword(null,"owner","owner",-392611939),"FRY",new cljs.core.Keyword(null,"name","name",1843675177),"Lepa Glava Airport",new cljs.core.Keyword(null,"type","type",1174270348),"Airbase"],null),new cljs.core.PersistentArrayMap(null,5,
[new cljs.core.Keyword(null,"x","x",2099068185),955,new cljs.core.Keyword(null,"y","y",-1757859776),840,new cljs.core.Keyword(null,"owner","owner",-392611939),"FRY",new cljs.core.Keyword(null,"name","name",1843675177),"Beograd Airport",new cljs.core.Keyword(null,"type","type",1174270348),"Airbase"],null),new cljs.core.PersistentArrayMap(null,5,[new cljs.core.Keyword(null,"x","x",2099068185),947,new cljs.core.Keyword(null,"y","y",-1757859776),850,new cljs.core.Keyword(null,"owner","owner",-392611939),
"FRY",new cljs.core.Keyword(null,"name","name",1843675177),"Batajnica Airport",new cljs.core.Keyword(null,"type","type",1174270348),"Airbase"],null),new cljs.core.PersistentArrayMap(null,5,[new cljs.core.Keyword(null,"x","x",2099068185),982,new cljs.core.Keyword(null,"y","y",-1757859776),736,new cljs.core.Keyword(null,"owner","owner",-392611939),"FRY",new cljs.core.Keyword(null,"name","name",1843675177),"Kraljevo Airbase",new cljs.core.Keyword(null,"type","type",1174270348),"Airbase"],null),new cljs.core.PersistentArrayMap(null,
5,[new cljs.core.Keyword(null,"x","x",2099068185),926,new cljs.core.Keyword(null,"y","y",-1757859776),678,new cljs.core.Keyword(null,"owner","owner",-392611939),"FRY",new cljs.core.Keyword(null,"name","name",1843675177),"Sjenica Airport",new cljs.core.Keyword(null,"type","type",1174270348),"Airbase"],null),new cljs.core.PersistentArrayMap(null,5,[new cljs.core.Keyword(null,"x","x",2099068185),907,new cljs.core.Keyword(null,"y","y",-1757859776),629,new cljs.core.Keyword(null,"owner","owner",-392611939),
"FRY",new cljs.core.Keyword(null,"name","name",1843675177),"Ivangrad Airbase",new cljs.core.Keyword(null,"type","type",1174270348),"Airbase"],null),new cljs.core.PersistentArrayMap(null,5,[new cljs.core.Keyword(null,"x","x",2099068185),846,new cljs.core.Keyword(null,"y","y",-1757859776),585,new cljs.core.Keyword(null,"owner","owner",-392611939),"FRY",new cljs.core.Keyword(null,"name","name",1843675177),"Podgorica Airbase",new cljs.core.Keyword(null,"type","type",1174270348),"Airbase"],null),new cljs.core.PersistentArrayMap(null,
5,[new cljs.core.Keyword(null,"x","x",2099068185),749,new cljs.core.Keyword(null,"y","y",-1757859776),606,new cljs.core.Keyword(null,"owner","owner",-392611939),"FRY",new cljs.core.Keyword(null,"name","name",1843675177),"Dubrovnic International",new cljs.core.Keyword(null,"type","type",1174270348),"Airbase"],null),new cljs.core.PersistentArrayMap(null,5,[new cljs.core.Keyword(null,"x","x",2099068185),135,new cljs.core.Keyword(null,"y","y",-1757859776),778,new cljs.core.Keyword(null,"owner","owner",
-392611939),"NATO",new cljs.core.Keyword(null,"name","name",1843675177),"Cervia Airbase",new cljs.core.Keyword(null,"type","type",1174270348),"Airbase"],null),new cljs.core.PersistentArrayMap(null,5,[new cljs.core.Keyword(null,"x","x",2099068185),488,new cljs.core.Keyword(null,"y","y",-1757859776),842,new cljs.core.Keyword(null,"owner","owner",-392611939),"FRY",new cljs.core.Keyword(null,"name","name",1843675177),"Bihac Airport",new cljs.core.Keyword(null,"type","type",1174270348),"Airbase"],null),
new cljs.core.PersistentArrayMap(null,5,[new cljs.core.Keyword(null,"x","x",2099068185),28,new cljs.core.Keyword(null,"y","y",-1757859776),810,new cljs.core.Keyword(null,"owner","owner",-392611939),"NATO",new cljs.core.Keyword(null,"name","name",1843675177),"Bologna Airbase",new cljs.core.Keyword(null,"type","type",1174270348),"Airbase"],null),new cljs.core.PersistentArrayMap(null,5,[new cljs.core.Keyword(null,"x","x",2099068185),227,new cljs.core.Keyword(null,"y","y",-1757859776),517,new cljs.core.Keyword(null,
"owner","owner",-392611939),"NATO",new cljs.core.Keyword(null,"name","name",1843675177),"Frosinone Airfield",new cljs.core.Keyword(null,"type","type",1174270348),"Airbase"],null),new cljs.core.PersistentArrayMap(null,5,[new cljs.core.Keyword(null,"x","x",2099068185),208,new cljs.core.Keyword(null,"y","y",-1757859776),957,new cljs.core.Keyword(null,"owner","owner",-392611939),"NATO",new cljs.core.Keyword(null,"name","name",1843675177),"Rivolto Airport",new cljs.core.Keyword(null,"type","type",1174270348),
"Airbase"],null),new cljs.core.PersistentArrayMap(null,5,[new cljs.core.Keyword(null,"x","x",2099068185),335,new cljs.core.Keyword(null,"y","y",-1757859776),440,new cljs.core.Keyword(null,"owner","owner",-392611939),"NATO",new cljs.core.Keyword(null,"name","name",1843675177),"Capodichino Airport",new cljs.core.Keyword(null,"type","type",1174270348),"Airbase"],null),new cljs.core.PersistentArrayMap(null,5,[new cljs.core.Keyword(null,"x","x",2099068185),81,new cljs.core.Keyword(null,"y","y",-1757859776),
900,new cljs.core.Keyword(null,"owner","owner",-392611939),"NATO",new cljs.core.Keyword(null,"name","name",1843675177),"Padova Airport",new cljs.core.Keyword(null,"type","type",1174270348),"Airbase"],null),new cljs.core.PersistentArrayMap(null,5,[new cljs.core.Keyword(null,"x","x",2099068185),253,new cljs.core.Keyword(null,"y","y",-1757859776),942,new cljs.core.Keyword(null,"owner","owner",-392611939),"NATO",new cljs.core.Keyword(null,"name","name",1843675177),"Ronchi dei legionari AP",new cljs.core.Keyword(null,
"type","type",1174270348),"Airbase"],null),new cljs.core.PersistentArrayMap(null,5,[new cljs.core.Keyword(null,"x","x",2099068185),314,new cljs.core.Keyword(null,"y","y",-1757859776),455,new cljs.core.Keyword(null,"owner","owner",-392611939),"NATO",new cljs.core.Keyword(null,"name","name",1843675177),"Grazzanise Airport",new cljs.core.Keyword(null,"type","type",1174270348),"Airbase"],null),new cljs.core.PersistentArrayMap(null,5,[new cljs.core.Keyword(null,"x","x",2099068185),702,new cljs.core.Keyword(null,
"y","y",-1757859776),390,new cljs.core.Keyword(null,"owner","owner",-392611939),"NATO",new cljs.core.Keyword(null,"name","name",1843675177),"San Pancrazio Airport",new cljs.core.Keyword(null,"type","type",1174270348),"Airbase"],null),new cljs.core.PersistentArrayMap(null,5,[new cljs.core.Keyword(null,"x","x",2099068185),324,new cljs.core.Keyword(null,"y","y",-1757859776),593,new cljs.core.Keyword(null,"owner","owner",-392611939),"NATO",new cljs.core.Keyword(null,"name","name",1843675177),"Pescara Airport",
new cljs.core.Keyword(null,"type","type",1174270348),"Airbase"],null),new cljs.core.PersistentArrayMap(null,5,[new cljs.core.Keyword(null,"x","x",2099068185),731,new cljs.core.Keyword(null,"y","y",-1757859776),370,new cljs.core.Keyword(null,"owner","owner",-392611939),"NATO",new cljs.core.Keyword(null,"name","name",1843675177),"Lecce Airbase",new cljs.core.Keyword(null,"type","type",1174270348),"Airbase"],null),new cljs.core.PersistentArrayMap(null,5,[new cljs.core.Keyword(null,"x","x",2099068185),
120,new cljs.core.Keyword(null,"y","y",-1757859776),923,new cljs.core.Keyword(null,"owner","owner",-392611939),"NATO",new cljs.core.Keyword(null,"name","name",1843675177),"S.Angelo Airport",new cljs.core.Keyword(null,"type","type",1174270348),"Airbase"],null),new cljs.core.PersistentArrayMap(null,5,[new cljs.core.Keyword(null,"x","x",2099068185),360,new cljs.core.Keyword(null,"y","y",-1757859776),891,new cljs.core.Keyword(null,"owner","owner",-392611939),"Croatia",new cljs.core.Keyword(null,"name",
"name",1843675177),"Rijeka Airport",new cljs.core.Keyword(null,"type","type",1174270348),"Airbase"],null),new cljs.core.PersistentArrayMap(null,5,[new cljs.core.Keyword(null,"x","x",2099068185),462,new cljs.core.Keyword(null,"y","y",-1757859776),950,new cljs.core.Keyword(null,"owner","owner",-392611939),"Slovenia",new cljs.core.Keyword(null,"name","name",1843675177),"Cerklje Ob Krki Airport",new cljs.core.Keyword(null,"type","type",1174270348),"Airbase"],null),new cljs.core.PersistentArrayMap(null,
5,[new cljs.core.Keyword(null,"x","x",2099068185),643,new cljs.core.Keyword(null,"y","y",-1757859776),851,new cljs.core.Keyword(null,"owner","owner",-392611939),"FRY",new cljs.core.Keyword(null,"name","name",1843675177),"Banja Luka Airport",new cljs.core.Keyword(null,"type","type",1174270348),"Airbase"],null),new cljs.core.PersistentArrayMap(null,5,[new cljs.core.Keyword(null,"x","x",2099068185),164,new cljs.core.Keyword(null,"y","y",-1757859776),755,new cljs.core.Keyword(null,"owner","owner",-392611939),
"NATO",new cljs.core.Keyword(null,"name","name",1843675177),"Rimini Airport",new cljs.core.Keyword(null,"type","type",1174270348),"Airbase"],null),new cljs.core.PersistentArrayMap(null,5,[new cljs.core.Keyword(null,"x","x",2099068185),607,new cljs.core.Keyword(null,"y","y",-1757859776),424,new cljs.core.Keyword(null,"owner","owner",-392611939),"NATO",new cljs.core.Keyword(null,"name","name",1843675177),"Gioia del colle Airbase",new cljs.core.Keyword(null,"type","type",1174270348),"Airbase"],null),
new cljs.core.PersistentArrayMap(null,5,[new cljs.core.Keyword(null,"x","x",2099068185),484,new cljs.core.Keyword(null,"y","y",-1757859776),501,new cljs.core.Keyword(null,"owner","owner",-392611939),"NATO",new cljs.core.Keyword(null,"name","name",1843675177),"Amendola Airport",new cljs.core.Keyword(null,"type","type",1174270348),"Airbase"],null),new cljs.core.PersistentArrayMap(null,5,[new cljs.core.Keyword(null,"x","x",2099068185),464,new cljs.core.Keyword(null,"y","y",-1757859776),492,new cljs.core.Keyword(null,
"owner","owner",-392611939),"NATO",new cljs.core.Keyword(null,"name","name",1843675177),"Gino Lisa Airport",new cljs.core.Keyword(null,"type","type",1174270348),"Airbase"],null),new cljs.core.PersistentArrayMap(null,5,[new cljs.core.Keyword(null,"x","x",2099068185),109,new cljs.core.Keyword(null,"y","y",-1757859776),929,new cljs.core.Keyword(null,"owner","owner",-392611939),"NATO",new cljs.core.Keyword(null,"name","name",1843675177),"Istrana Airport",new cljs.core.Keyword(null,"type","type",1174270348),
"Airbase"],null),new cljs.core.PersistentArrayMap(null,5,[new cljs.core.Keyword(null,"x","x",2099068185),779,new cljs.core.Keyword(null,"y","y",-1757859776),853,new cljs.core.Keyword(null,"owner","owner",-392611939),"FRY",new cljs.core.Keyword(null,"name","name",1843675177),"Brcko Airstrip",new cljs.core.Keyword(null,"type","type",1174270348),"Airstrip"],null),new cljs.core.PersistentArrayMap(null,5,[new cljs.core.Keyword(null,"x","x",2099068185),108,new cljs.core.Keyword(null,"y","y",-1757859776),
775,new cljs.core.Keyword(null,"owner","owner",-392611939),"NATO",new cljs.core.Keyword(null,"name","name",1843675177),"Forli Airbase",new cljs.core.Keyword(null,"type","type",1174270348),"Airbase"],null),new cljs.core.PersistentArrayMap(null,5,[new cljs.core.Keyword(null,"x","x",2099068185),139,new cljs.core.Keyword(null,"y","y",-1757859776),910,new cljs.core.Keyword(null,"owner","owner",-392611939),"NATO",new cljs.core.Keyword(null,"name","name",1843675177),"Tessera Airport",new cljs.core.Keyword(null,
"type","type",1174270348),"Airbase"],null),new cljs.core.PersistentArrayMap(null,5,[new cljs.core.Keyword(null,"x","x",2099068185),480,new cljs.core.Keyword(null,"y","y",-1757859776),1008,new cljs.core.Keyword(null,"owner","owner",-392611939),"Slovenia",new cljs.core.Keyword(null,"name","name",1843675177),"Maribor Airport",new cljs.core.Keyword(null,"type","type",1174270348),"Airbase"],null),new cljs.core.PersistentArrayMap(null,5,[new cljs.core.Keyword(null,"x","x",2099068185),30,new cljs.core.Keyword(null,
"y","y",-1757859776),1004,new cljs.core.Keyword(null,"owner","owner",-392611939),"NATO",new cljs.core.Keyword(null,"name","name",1843675177),"Bolzano Airport",new cljs.core.Keyword(null,"type","type",1174270348),"Airbase"],null),new cljs.core.PersistentArrayMap(null,5,[new cljs.core.Keyword(null,"x","x",2099068185),354,new cljs.core.Keyword(null,"y","y",-1757859776),982,new cljs.core.Keyword(null,"owner","owner",-392611939),"Slovenia",new cljs.core.Keyword(null,"name","name",1843675177),"Ljubljana Airport",
new cljs.core.Keyword(null,"type","type",1174270348),"Airbase"],null),new cljs.core.PersistentArrayMap(null,5,[new cljs.core.Keyword(null,"x","x",2099068185),366,new cljs.core.Keyword(null,"y","y",-1757859776),934,new cljs.core.Keyword(null,"owner","owner",-392611939),"Slovenia",new cljs.core.Keyword(null,"name","name",1843675177),"Bloska Polica Airstrip",new cljs.core.Keyword(null,"type","type",1174270348),"Airstrip"],null),new cljs.core.PersistentArrayMap(null,5,[new cljs.core.Keyword(null,"x",
"x",2099068185),445,new cljs.core.Keyword(null,"y","y",-1757859776),945,new cljs.core.Keyword(null,"owner","owner",-392611939),"Slovenia",new cljs.core.Keyword(null,"name","name",1843675177),"Cerklje Airstrip",new cljs.core.Keyword(null,"type","type",1174270348),"Airstrip"],null),new cljs.core.PersistentArrayMap(null,5,[new cljs.core.Keyword(null,"x","x",2099068185),471,new cljs.core.Keyword(null,"y","y",-1757859776),898,new cljs.core.Keyword(null,"owner","owner",-392611939),"Croatia",new cljs.core.Keyword(null,
"name","name",1843675177),"Karlovac Airstrip",new cljs.core.Keyword(null,"type","type",1174270348),"Airstrip"],null),new cljs.core.PersistentArrayMap(null,5,[new cljs.core.Keyword(null,"x","x",2099068185),708,new cljs.core.Keyword(null,"y","y",-1757859776),874,new cljs.core.Keyword(null,"owner","owner",-392611939),"FRY",new cljs.core.Keyword(null,"name","name",1843675177),"Slavonski Brod Airstrip",new cljs.core.Keyword(null,"type","type",1174270348),"Airstrip"],null),new cljs.core.PersistentArrayMap(null,
5,[new cljs.core.Keyword(null,"x","x",2099068185),826,new cljs.core.Keyword(null,"y","y",-1757859776),709,new cljs.core.Keyword(null,"owner","owner",-392611939),"FRY",new cljs.core.Keyword(null,"name","name",1843675177),"Gorazde Airstrip",new cljs.core.Keyword(null,"type","type",1174270348),"Airstrip"],null),new cljs.core.PersistentArrayMap(null,5,[new cljs.core.Keyword(null,"x","x",2099068185),836,new cljs.core.Keyword(null,"y","y",-1757859776),602,new cljs.core.Keyword(null,"owner","owner",-392611939),
"FRY",new cljs.core.Keyword(null,"name","name",1843675177),"Danilovgrad Airstrip",new cljs.core.Keyword(null,"type","type",1174270348),"Airstrip"],null),new cljs.core.PersistentArrayMap(null,5,[new cljs.core.Keyword(null,"x","x",2099068185),757,new cljs.core.Keyword(null,"y","y",-1757859776),628,new cljs.core.Keyword(null,"owner","owner",-392611939),"FRY",new cljs.core.Keyword(null,"name","name",1843675177),"Trebenije Airstrip",new cljs.core.Keyword(null,"type","type",1174270348),"Airstrip"],null),
new cljs.core.PersistentArrayMap(null,5,[new cljs.core.Keyword(null,"x","x",2099068185),965,new cljs.core.Keyword(null,"y","y",-1757859776),553,new cljs.core.Keyword(null,"owner","owner",-392611939),"Albania",new cljs.core.Keyword(null,"name","name",1843675177),"Kukes Airbase",new cljs.core.Keyword(null,"type","type",1174270348),"Airbase"],null),new cljs.core.PersistentArrayMap(null,5,[new cljs.core.Keyword(null,"x","x",2099068185),998,new cljs.core.Keyword(null,"y","y",-1757859776),410,new cljs.core.Keyword(null,
"owner","owner",-392611939),"Albania",new cljs.core.Keyword(null,"name","name",1843675177),"Korce Northwest Airbase",new cljs.core.Keyword(null,"type","type",1174270348),"Airbase"],null),new cljs.core.PersistentArrayMap(null,5,[new cljs.core.Keyword(null,"x","x",2099068185),937,new cljs.core.Keyword(null,"y","y",-1757859776),351,new cljs.core.Keyword(null,"owner","owner",-392611939),"Albania",new cljs.core.Keyword(null,"name","name",1843675177),"Gjirokaster Airport",new cljs.core.Keyword(null,"type",
"type",1174270348),"Airbase"],null),new cljs.core.PersistentArrayMap(null,5,[new cljs.core.Keyword(null,"x","x",2099068185),973,new cljs.core.Keyword(null,"y","y",-1757859776),154,new cljs.core.Keyword(null,"owner","owner",-392611939),"Greece",new cljs.core.Keyword(null,"name","name",1843675177),"Kefallinia Airport",new cljs.core.Keyword(null,"type","type",1174270348),"Airbase"],null),new cljs.core.PersistentArrayMap(null,5,[new cljs.core.Keyword(null,"x","x",2099068185),612,new cljs.core.Keyword(null,
"y","y",-1757859776),1002,new cljs.core.Keyword(null,"owner","owner",-392611939),"Hungary",new cljs.core.Keyword(null,"name","name",1843675177),"Nagykanizsa Airport",new cljs.core.Keyword(null,"type","type",1174270348),"Airbase"],null),new cljs.core.PersistentArrayMap(null,5,[new cljs.core.Keyword(null,"x","x",2099068185),739,new cljs.core.Keyword(null,"y","y",-1757859776),962,new cljs.core.Keyword(null,"owner","owner",-392611939),"Hungary",new cljs.core.Keyword(null,"name","name",1843675177),"Pecs East Airport",
new cljs.core.Keyword(null,"type","type",1174270348),"Airbase"],null),new cljs.core.PersistentArrayMap(null,5,[new cljs.core.Keyword(null,"x","x",2099068185),778,new cljs.core.Keyword(null,"y","y",-1757859776),952,new cljs.core.Keyword(null,"owner","owner",-392611939),"Hungary",new cljs.core.Keyword(null,"name","name",1843675177),"Satorhely Airbase",new cljs.core.Keyword(null,"type","type",1174270348),"Airbase"],null),new cljs.core.PersistentArrayMap(null,5,[new cljs.core.Keyword(null,"x","x",2099068185),
932,new cljs.core.Keyword(null,"y","y",-1757859776),982,new cljs.core.Keyword(null,"owner","owner",-392611939),"Hungary",new cljs.core.Keyword(null,"name","name",1843675177),"Szeged Airport",new cljs.core.Keyword(null,"type","type",1174270348),"Airbase"],null),new cljs.core.PersistentArrayMap(null,5,[new cljs.core.Keyword(null,"x","x",2099068185),898,new cljs.core.Keyword(null,"y","y",-1757859776),481,new cljs.core.Keyword(null,"owner","owner",-392611939),"Albania",new cljs.core.Keyword(null,"name",
"name",1843675177),"Tirane International",new cljs.core.Keyword(null,"type","type",1174270348),"Airbase"],null),new cljs.core.PersistentArrayMap(null,5,[new cljs.core.Keyword(null,"x","x",2099068185),888,new cljs.core.Keyword(null,"y","y",-1757859776),448,new cljs.core.Keyword(null,"owner","owner",-392611939),"Albania",new cljs.core.Keyword(null,"name","name",1843675177),"Lushnje Airstrip",new cljs.core.Keyword(null,"type","type",1174270348),"Airstrip"],null),new cljs.core.PersistentArrayMap(null,
5,[new cljs.core.Keyword(null,"x","x",2099068185),826,new cljs.core.Keyword(null,"y","y",-1757859776),932,new cljs.core.Keyword(null,"owner","owner",-392611939),"FRY",new cljs.core.Keyword(null,"name","name",1843675177),"Sombor Airport",new cljs.core.Keyword(null,"type","type",1174270348),"Airbase"],null),new cljs.core.PersistentArrayMap(null,5,[new cljs.core.Keyword(null,"x","x",2099068185),798,new cljs.core.Keyword(null,"y","y",-1757859776),904,new cljs.core.Keyword(null,"owner","owner",-392611939),
"FRY",new cljs.core.Keyword(null,"name","name",1843675177),"Osijek Airport",new cljs.core.Keyword(null,"type","type",1174270348),"Airbase"],null),new cljs.core.PersistentArrayMap(null,5,[new cljs.core.Keyword(null,"x","x",2099068185),997,new cljs.core.Keyword(null,"y","y",-1757859776),465,new cljs.core.Keyword(null,"owner","owner",-392611939),"FRY",new cljs.core.Keyword(null,"name","name",1843675177),"Ohrid Airport",new cljs.core.Keyword(null,"type","type",1174270348),"Airbase"],null),new cljs.core.PersistentArrayMap(null,
5,[new cljs.core.Keyword(null,"x","x",2099068185),589,new cljs.core.Keyword(null,"y","y",-1757859776),460,new cljs.core.Keyword(null,"owner","owner",-392611939),"NATO",new cljs.core.Keyword(null,"name","name",1843675177),"Bari Airport",new cljs.core.Keyword(null,"type","type",1174270348),"Airbase"],null),new cljs.core.PersistentArrayMap(null,5,[new cljs.core.Keyword(null,"x","x",2099068185),243,new cljs.core.Keyword(null,"y","y",-1757859776),712,new cljs.core.Keyword(null,"owner","owner",-392611939),
"NATO",new cljs.core.Keyword(null,"name","name",1843675177),"Falconara Airport",new cljs.core.Keyword(null,"type","type",1174270348),"Airbase"],null),new cljs.core.PersistentArrayMap(null,5,[new cljs.core.Keyword(null,"x","x",2099068185),19,new cljs.core.Keyword(null,"y","y",-1757859776),736,new cljs.core.Keyword(null,"owner","owner",-392611939),"NATO",new cljs.core.Keyword(null,"name","name",1843675177),"Peretola Airport",new cljs.core.Keyword(null,"type","type",1174270348),"Airbase"],null),new cljs.core.PersistentArrayMap(null,
5,[new cljs.core.Keyword(null,"x","x",2099068185),193,new cljs.core.Keyword(null,"y","y",-1757859776),502,new cljs.core.Keyword(null,"owner","owner",-392611939),"NATO",new cljs.core.Keyword(null,"name","name",1843675177),"Latina Airport",new cljs.core.Keyword(null,"type","type",1174270348),"Airbase"],null),new cljs.core.PersistentArrayMap(null,5,[new cljs.core.Keyword(null,"x","x",2099068185),907,new cljs.core.Keyword(null,"y","y",-1757859776),425,new cljs.core.Keyword(null,"owner","owner",-392611939),
"Albania",new cljs.core.Keyword(null,"name","name",1843675177),"Berat Airbase",new cljs.core.Keyword(null,"type","type",1174270348),"Airbase"],null),new cljs.core.PersistentArrayMap(null,5,[new cljs.core.Keyword(null,"x","x",2099068185),882,new cljs.core.Keyword(null,"y","y",-1757859776),539,new cljs.core.Keyword(null,"owner","owner",-392611939),"Albania",new cljs.core.Keyword(null,"name","name",1843675177),"Gramsh Airport",new cljs.core.Keyword(null,"type","type",1174270348),"Airbase"],null),new cljs.core.PersistentArrayMap(null,
5,[new cljs.core.Keyword(null,"x","x",2099068185),876,new cljs.core.Keyword(null,"y","y",-1757859776),555,new cljs.core.Keyword(null,"owner","owner",-392611939),"Albania",new cljs.core.Keyword(null,"name","name",1843675177),"Shkoder Airbase",new cljs.core.Keyword(null,"type","type",1174270348),"Airbase"],null),new cljs.core.PersistentArrayMap(null,5,[new cljs.core.Keyword(null,"x","x",2099068185),1004,new cljs.core.Keyword(null,"y","y",-1757859776),310,new cljs.core.Keyword(null,"owner","owner",-392611939),
"Greece",new cljs.core.Keyword(null,"name","name",1843675177),"Ioannina Airport",new cljs.core.Keyword(null,"type","type",1174270348),"Airbase"],null),new cljs.core.PersistentArrayMap(null,5,[new cljs.core.Keyword(null,"x","x",2099068185),893,new cljs.core.Keyword(null,"y","y",-1757859776),491,new cljs.core.Keyword(null,"owner","owner",-392611939),"Albania",new cljs.core.Keyword(null,"name","name",1843675177),"Tirane Rinas Airport",new cljs.core.Keyword(null,"type","type",1174270348),"Airbase"],null),
new cljs.core.PersistentArrayMap(null,5,[new cljs.core.Keyword(null,"x","x",2099068185),924,new cljs.core.Keyword(null,"y","y",-1757859776),450,new cljs.core.Keyword(null,"owner","owner",-392611939),"Albania",new cljs.core.Keyword(null,"name","name",1843675177),"Elbasan Airbase",new cljs.core.Keyword(null,"type","type",1174270348),"Airbase"],null),new cljs.core.PersistentArrayMap(null,5,[new cljs.core.Keyword(null,"x","x",2099068185),127,new cljs.core.Keyword(null,"y","y",-1757859776),528,new cljs.core.Keyword(null,
"owner","owner",-392611939),"NATO",new cljs.core.Keyword(null,"name","name",1843675177),"Fiumicino Airport",new cljs.core.Keyword(null,"type","type",1174270348),"Airbase"],null),new cljs.core.PersistentArrayMap(null,5,[new cljs.core.Keyword(null,"x","x",2099068185),154,new cljs.core.Keyword(null,"y","y",-1757859776),131,new cljs.core.Keyword(null,"owner","owner",-392611939),"NATO",new cljs.core.Keyword(null,"name","name",1843675177),"Birgi Airport",new cljs.core.Keyword(null,"type","type",1174270348),
"Airbase"],null),new cljs.core.PersistentArrayMap(null,5,[new cljs.core.Keyword(null,"x","x",2099068185),411,new cljs.core.Keyword(null,"y","y",-1757859776),90,new cljs.core.Keyword(null,"owner","owner",-392611939),"NATO",new cljs.core.Keyword(null,"name","name",1843675177),"Catania Airbase",new cljs.core.Keyword(null,"type","type",1174270348),"Airbase"],null),new cljs.core.PersistentArrayMap(null,5,[new cljs.core.Keyword(null,"x","x",2099068185),476,new cljs.core.Keyword(null,"y","y",-1757859776),
143,new cljs.core.Keyword(null,"owner","owner",-392611939),"NATO",new cljs.core.Keyword(null,"name","name",1843675177),"Reggio Calabria Airport",new cljs.core.Keyword(null,"type","type",1174270348),"Airbase"],null),new cljs.core.PersistentArrayMap(null,5,[new cljs.core.Keyword(null,"x","x",2099068185),151,new cljs.core.Keyword(null,"y","y",-1757859776),514,new cljs.core.Keyword(null,"owner","owner",-392611939),"NATO",new cljs.core.Keyword(null,"name","name",1843675177),"Pratica di Mare Airport",new cljs.core.Keyword(null,
"type","type",1174270348),"Airbase"],null),new cljs.core.PersistentArrayMap(null,5,[new cljs.core.Keyword(null,"x","x",2099068185),163,new cljs.core.Keyword(null,"y","y",-1757859776),530,new cljs.core.Keyword(null,"owner","owner",-392611939),"NATO",new cljs.core.Keyword(null,"name","name",1843675177),"Ciampino Airport",new cljs.core.Keyword(null,"type","type",1174270348),"Airbase"],null),new cljs.core.PersistentArrayMap(null,5,[new cljs.core.Keyword(null,"x","x",2099068185),398,new cljs.core.Keyword(null,
"y","y",-1757859776),77,new cljs.core.Keyword(null,"owner","owner",-392611939),"NATO",new cljs.core.Keyword(null,"name","name",1843675177),"Sigonella Airport",new cljs.core.Keyword(null,"type","type",1174270348),"Airbase"],null),new cljs.core.PersistentArrayMap(null,5,[new cljs.core.Keyword(null,"x","x",2099068185),215,new cljs.core.Keyword(null,"y","y",-1757859776),158,new cljs.core.Keyword(null,"owner","owner",-392611939),"NATO",new cljs.core.Keyword(null,"name","name",1843675177),"Palermo Airport",
new cljs.core.Keyword(null,"type","type",1174270348),"Airbase"],null),new cljs.core.PersistentArrayMap(null,5,[new cljs.core.Keyword(null,"x","x",2099068185),539,new cljs.core.Keyword(null,"y","y",-1757859776),234,new cljs.core.Keyword(null,"owner","owner",-392611939),"NATO",new cljs.core.Keyword(null,"name","name",1843675177),"Lamezia Terme Airport",new cljs.core.Keyword(null,"type","type",1174270348),"Airbase"],null),new cljs.core.PersistentArrayMap(null,5,[new cljs.core.Keyword(null,"x","x",2099068185),
622,new cljs.core.Keyword(null,"y","y",-1757859776),241,new cljs.core.Keyword(null,"owner","owner",-392611939),"NATO",new cljs.core.Keyword(null,"name","name",1843675177),"Crotone Airport",new cljs.core.Keyword(null,"type","type",1174270348),"Airbase"],null),new cljs.core.PersistentArrayMap(null,5,[new cljs.core.Keyword(null,"x","x",2099068185),430,new cljs.core.Keyword(null,"y","y",-1757859776),777,new cljs.core.Keyword(null,"owner","owner",-392611939),"FRY",new cljs.core.Keyword(null,"name","name",
1843675177),"Zadar",new cljs.core.Keyword(null,"type","type",1174270348),"Airstrip"],null),new cljs.core.PersistentArrayMap(null,5,[new cljs.core.Keyword(null,"x","x",2099068185),178,new cljs.core.Keyword(null,"y","y",-1757859776),550,new cljs.core.Keyword(null,"owner","owner",-392611939),"NATO",new cljs.core.Keyword(null,"name","name",1843675177),"Guidogna",new cljs.core.Keyword(null,"type","type",1174270348),"Airbase"],null),new cljs.core.PersistentArrayMap(null,5,[new cljs.core.Keyword(null,"x",
"x",2099068185),98,new cljs.core.Keyword(null,"y","y",-1757859776),19,new cljs.core.Keyword(null,"owner","owner",-392611939),"NATO",new cljs.core.Keyword(null,"name","name",1843675177),"Pantelleria Airport",new cljs.core.Keyword(null,"type","type",1174270348),"Airbase"],null),new cljs.core.PersistentArrayMap(null,5,[new cljs.core.Keyword(null,"x","x",2099068185),157,new cljs.core.Keyword(null,"y","y",-1757859776),545,new cljs.core.Keyword(null,"owner","owner",-392611939),"NATO",new cljs.core.Keyword(null,
"name","name",1843675177),"Roma",new cljs.core.Keyword(null,"type","type",1174270348),"Airbase"],null)],!0)],null);weathergen.database.korea={};
weathergen.database.korea.theater_info=new cljs.core.PersistentArrayMap(null,4,[new cljs.core.Keyword(null,"owners","owners",1019390468),new cljs.core.PersistentArrayMap(null,8,[0,"XX",1,"US",2,"ROK",3,"Japan",4,"CIS",5,"PRC",6,"DPRK",7,"Gorn"],null),new cljs.core.Keyword(null,"size","size",1098693007),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[1024,1024],null),new cljs.core.Keyword(null,"mapping","mapping",-1242405430),new cljs.core.PersistentArrayMap(null,4,[new cljs.core.Keyword(null,
"left","left",-399115937),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[123,0],null),new cljs.core.Keyword(null,"top","top",-1856271961),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[43,3],null),new cljs.core.Keyword(null,"bottom","bottom",-1550509018),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[33,50],null),new cljs.core.Keyword(null,"top-right","top-right",284698505),new cljs.core.PersistentVector(null,
2,5,cljs.core.PersistentVector.EMPTY_NODE,[135,35],null)],null),new cljs.core.Keyword(null,"objectives","objectives",933939509),cljs.core.PersistentVector.fromArray([new cljs.core.PersistentArrayMap(null,6,[new cljs.core.Keyword(null,"x","x",2099068185),398,new cljs.core.Keyword(null,"y","y",-1757859776),236,new cljs.core.Keyword(null,"owner","owner",-392611939),2,new cljs.core.Keyword(null,"name","name",1843675177),"Kunsan Airbase",new cljs.core.Keyword(null,"type","type",1174270348),"Airbase",new cljs.core.Keyword(null,
"id","id",-1388402092),2663],null),new cljs.core.PersistentArrayMap(null,6,[new cljs.core.Keyword(null,"x","x",2099068185),254,new cljs.core.Keyword(null,"y","y",-1757859776),926,new cljs.core.Keyword(null,"owner","owner",-392611939),5,new cljs.core.Keyword(null,"name","name",1843675177),"Liuhe Airbase",new cljs.core.Keyword(null,"type","type",1174270348),"Airbase",new cljs.core.Keyword(null,"id","id",-1388402092),2611],null),new cljs.core.PersistentArrayMap(null,6,[new cljs.core.Keyword(null,"x",
"x",2099068185),51,new cljs.core.Keyword(null,"y","y",-1757859776),899,new cljs.core.Keyword(null,"owner","owner",-392611939),5,new cljs.core.Keyword(null,"name","name",1843675177),"Shenyang Airbase",new cljs.core.Keyword(null,"type","type",1174270348),"Airbase",new cljs.core.Keyword(null,"id","id",-1388402092),2608],null),new cljs.core.PersistentArrayMap(null,6,[new cljs.core.Keyword(null,"x","x",2099068185),896,new cljs.core.Keyword(null,"y","y",-1757859776),1019,new cljs.core.Keyword(null,"owner",
"owner",-392611939),4,new cljs.core.Keyword(null,"name","name",1843675177),"Nachodka Airbase",new cljs.core.Keyword(null,"type","type",1174270348),"Airbase",new cljs.core.Keyword(null,"id","id",-1388402092),2604],null),new cljs.core.PersistentArrayMap(null,6,[new cljs.core.Keyword(null,"x","x",2099068185),908,new cljs.core.Keyword(null,"y","y",-1757859776),90,new cljs.core.Keyword(null,"owner","owner",-392611939),1,new cljs.core.Keyword(null,"name","name",1843675177),"Kadena Airbase",new cljs.core.Keyword(null,
"type","type",1174270348),"Airbase",new cljs.core.Keyword(null,"id","id",-1388402092),52],null),new cljs.core.PersistentArrayMap(null,6,[new cljs.core.Keyword(null,"x","x",2099068185),680,new cljs.core.Keyword(null,"y","y",-1757859776),155,new cljs.core.Keyword(null,"owner","owner",-392611939),2,new cljs.core.Keyword(null,"name","name",1843675177),"Pusan Airbase",new cljs.core.Keyword(null,"type","type",1174270348),"Airbase",new cljs.core.Keyword(null,"id","id",-1388402092),2396],null),new cljs.core.PersistentArrayMap(null,
6,[new cljs.core.Keyword(null,"x","x",2099068185),577,new cljs.core.Keyword(null,"y","y",-1757859776),767,new cljs.core.Keyword(null,"owner","owner",-392611939),6,new cljs.core.Keyword(null,"name","name",1843675177),"Hwangsuwon Airbase",new cljs.core.Keyword(null,"type","type",1174270348),"Airbase",new cljs.core.Keyword(null,"id","id",-1388402092),1824],null),new cljs.core.PersistentArrayMap(null,6,[new cljs.core.Keyword(null,"x","x",2099068185),623,new cljs.core.Keyword(null,"y","y",-1757859776),
474,new cljs.core.Keyword(null,"owner","owner",-392611939),2,new cljs.core.Keyword(null,"name","name",1843675177),"Sokcho",new cljs.core.Keyword(null,"type","type",1174270348),"Airbase",new cljs.core.Keyword(null,"id","id",-1388402092),1570],null),new cljs.core.PersistentArrayMap(null,6,[new cljs.core.Keyword(null,"x","x",2099068185),415,new cljs.core.Keyword(null,"y","y",-1757859776),331,new cljs.core.Keyword(null,"owner","owner",-392611939),2,new cljs.core.Keyword(null,"name","name",1843675177),
"R110 Airstrip",new cljs.core.Keyword(null,"type","type",1174270348),"Airstrip",new cljs.core.Keyword(null,"id","id",-1388402092),1397],null),new cljs.core.PersistentArrayMap(null,6,[new cljs.core.Keyword(null,"x","x",2099068185),386,new cljs.core.Keyword(null,"y","y",-1757859776),317,new cljs.core.Keyword(null,"owner","owner",-392611939),2,new cljs.core.Keyword(null,"name","name",1843675177),"Seosan Airbase",new cljs.core.Keyword(null,"type","type",1174270348),"Airbase",new cljs.core.Keyword(null,
"id","id",-1388402092),1396],null),new cljs.core.PersistentArrayMap(null,6,[new cljs.core.Keyword(null,"x","x",2099068185),499,new cljs.core.Keyword(null,"y","y",-1757859776),309,new cljs.core.Keyword(null,"owner","owner",-392611939),2,new cljs.core.Keyword(null,"name","name",1843675177),"Chongwon Airfield",new cljs.core.Keyword(null,"type","type",1174270348),"Airstrip",new cljs.core.Keyword(null,"id","id",-1388402092),1394],null),new cljs.core.PersistentArrayMap(null,6,[new cljs.core.Keyword(null,
"x","x",2099068185),475,new cljs.core.Keyword(null,"y","y",-1757859776),309,new cljs.core.Keyword(null,"owner","owner",-392611939),2,new cljs.core.Keyword(null,"name","name",1843675177),"R505 Airstrip",new cljs.core.Keyword(null,"type","type",1174270348),"Airstrip",new cljs.core.Keyword(null,"id","id",-1388402092),1393],null),new cljs.core.PersistentArrayMap(null,6,[new cljs.core.Keyword(null,"x","x",2099068185),450,new cljs.core.Keyword(null,"y","y",-1757859776),347,new cljs.core.Keyword(null,"owner",
"owner",-392611939),2,new cljs.core.Keyword(null,"name","name",1843675177),"Pyeongtaeg Airbase",new cljs.core.Keyword(null,"type","type",1174270348),"Airbase",new cljs.core.Keyword(null,"id","id",-1388402092),1392],null),new cljs.core.PersistentArrayMap(null,6,[new cljs.core.Keyword(null,"x","x",2099068185),459,new cljs.core.Keyword(null,"y","y",-1757859776),341,new cljs.core.Keyword(null,"owner","owner",-392611939),2,new cljs.core.Keyword(null,"name","name",1843675177),"Songwhan Highway Strip",new cljs.core.Keyword(null,
"type","type",1174270348),"Airstrip",new cljs.core.Keyword(null,"id","id",-1388402092),1391],null),new cljs.core.PersistentArrayMap(null,6,[new cljs.core.Keyword(null,"x","x",2099068185),573,new cljs.core.Keyword(null,"y","y",-1757859776),317,new cljs.core.Keyword(null,"owner","owner",-392611939),2,new cljs.core.Keyword(null,"name","name",1843675177),"R601 Airstrip",new cljs.core.Keyword(null,"type","type",1174270348),"Airstrip",new cljs.core.Keyword(null,"id","id",-1388402092),1389],null),new cljs.core.PersistentArrayMap(null,
6,[new cljs.core.Keyword(null,"x","x",2099068185),580,new cljs.core.Keyword(null,"y","y",-1757859776),263,new cljs.core.Keyword(null,"owner","owner",-392611939),2,new cljs.core.Keyword(null,"name","name",1843675177),"Kumi Highway Strip",new cljs.core.Keyword(null,"type","type",1174270348),"Airstrip",new cljs.core.Keyword(null,"id","id",-1388402092),1388],null),new cljs.core.PersistentArrayMap(null,6,[new cljs.core.Keyword(null,"x","x",2099068185),594,new cljs.core.Keyword(null,"y","y",-1757859776),
317,new cljs.core.Keyword(null,"owner","owner",-392611939),2,new cljs.core.Keyword(null,"name","name",1843675177),"Yechon Airbase",new cljs.core.Keyword(null,"type","type",1174270348),"Airbase",new cljs.core.Keyword(null,"id","id",-1388402092),1387],null),new cljs.core.PersistentArrayMap(null,6,[new cljs.core.Keyword(null,"x","x",2099068185),616,new cljs.core.Keyword(null,"y","y",-1757859776),335,new cljs.core.Keyword(null,"owner","owner",-392611939),2,new cljs.core.Keyword(null,"name","name",1843675177),
"Yongju Highway Strip",new cljs.core.Keyword(null,"type","type",1174270348),"Airstrip",new cljs.core.Keyword(null,"id","id",-1388402092),1386],null),new cljs.core.PersistentArrayMap(null,6,[new cljs.core.Keyword(null,"x","x",2099068185),546,new cljs.core.Keyword(null,"y","y",-1757859776),350,new cljs.core.Keyword(null,"owner","owner",-392611939),2,new cljs.core.Keyword(null,"name","name",1843675177),"Choongwon Airbase",new cljs.core.Keyword(null,"type","type",1174270348),"Airbase",new cljs.core.Keyword(null,
"id","id",-1388402092),1385],null),new cljs.core.PersistentArrayMap(null,6,[new cljs.core.Keyword(null,"x","x",2099068185),657,new cljs.core.Keyword(null,"y","y",-1757859776),439,new cljs.core.Keyword(null,"owner","owner",-392611939),2,new cljs.core.Keyword(null,"name","name",1843675177),"Kangnung Airbase",new cljs.core.Keyword(null,"type","type",1174270348),"Airbase",new cljs.core.Keyword(null,"id","id",-1388402092),1384],null),new cljs.core.PersistentArrayMap(null,6,[new cljs.core.Keyword(null,
"x","x",2099068185),579,new cljs.core.Keyword(null,"y","y",-1757859776),371,new cljs.core.Keyword(null,"owner","owner",-392611939),2,new cljs.core.Keyword(null,"name","name",1843675177),"R605 Airstrip",new cljs.core.Keyword(null,"type","type",1174270348),"Airstrip",new cljs.core.Keyword(null,"id","id",-1388402092),1383],null),new cljs.core.PersistentArrayMap(null,6,[new cljs.core.Keyword(null,"x","x",2099068185),547,new cljs.core.Keyword(null,"y","y",-1757859776),429,new cljs.core.Keyword(null,"owner",
"owner",-392611939),2,new cljs.core.Keyword(null,"name","name",1843675177),"R419 Airstrip",new cljs.core.Keyword(null,"type","type",1174270348),"Airstrip",new cljs.core.Keyword(null,"id","id",-1388402092),1382],null),new cljs.core.PersistentArrayMap(null,6,[new cljs.core.Keyword(null,"x","x",2099068185),448,new cljs.core.Keyword(null,"y","y",-1757859776),449,new cljs.core.Keyword(null,"owner","owner",-392611939),2,new cljs.core.Keyword(null,"name","name",1843675177),"R222 Airstrip",new cljs.core.Keyword(null,
"type","type",1174270348),"Airstrip",new cljs.core.Keyword(null,"id","id",-1388402092),1381],null),new cljs.core.PersistentArrayMap(null,6,[new cljs.core.Keyword(null,"x","x",2099068185),466,new cljs.core.Keyword(null,"y","y",-1757859776),459,new cljs.core.Keyword(null,"owner","owner",-392611939),2,new cljs.core.Keyword(null,"name","name",1843675177),"R217 Airstrip",new cljs.core.Keyword(null,"type","type",1174270348),"Airstrip",new cljs.core.Keyword(null,"id","id",-1388402092),1380],null),new cljs.core.PersistentArrayMap(null,
6,[new cljs.core.Keyword(null,"x","x",2099068185),522,new cljs.core.Keyword(null,"y","y",-1757859776),451,new cljs.core.Keyword(null,"owner","owner",-392611939),2,new cljs.core.Keyword(null,"name","name",1843675177),"Chuncheon Airstrip",new cljs.core.Keyword(null,"type","type",1174270348),"Airstrip",new cljs.core.Keyword(null,"id","id",-1388402092),1379],null),new cljs.core.PersistentArrayMap(null,6,[new cljs.core.Keyword(null,"x","x",2099068185),445,new cljs.core.Keyword(null,"y","y",-1757859776),
469,new cljs.core.Keyword(null,"owner","owner",-392611939),2,new cljs.core.Keyword(null,"name","name",1843675177),"R218 Airstrip",new cljs.core.Keyword(null,"type","type",1174270348),"Airstrip",new cljs.core.Keyword(null,"id","id",-1388402092),1377],null),new cljs.core.PersistentArrayMap(null,6,[new cljs.core.Keyword(null,"x","x",2099068185),434,new cljs.core.Keyword(null,"y","y",-1757859776),470,new cljs.core.Keyword(null,"owner","owner",-392611939),2,new cljs.core.Keyword(null,"name","name",1843675177),
"Mandumi Airstrip",new cljs.core.Keyword(null,"type","type",1174270348),"Airbase",new cljs.core.Keyword(null,"id","id",-1388402092),1376],null),new cljs.core.PersistentArrayMap(null,6,[new cljs.core.Keyword(null,"x","x",2099068185),424,new cljs.core.Keyword(null,"y","y",-1757859776),431,new cljs.core.Keyword(null,"owner","owner",-392611939),2,new cljs.core.Keyword(null,"name","name",1843675177),"R113 Highway Strip",new cljs.core.Keyword(null,"type","type",1174270348),"Airstrip",new cljs.core.Keyword(null,
"id","id",-1388402092),1375],null),new cljs.core.PersistentArrayMap(null,6,[new cljs.core.Keyword(null,"x","x",2099068185),454,new cljs.core.Keyword(null,"y","y",-1757859776),387,new cljs.core.Keyword(null,"owner","owner",-392611939),2,new cljs.core.Keyword(null,"name","name",1843675177),"Singal Highway Strip",new cljs.core.Keyword(null,"type","type",1174270348),"Airstrip",new cljs.core.Keyword(null,"id","id",-1388402092),1374],null),new cljs.core.PersistentArrayMap(null,6,[new cljs.core.Keyword(null,
"x","x",2099068185),394,new cljs.core.Keyword(null,"y","y",-1757859776),437,new cljs.core.Keyword(null,"owner","owner",-392611939),2,new cljs.core.Keyword(null,"name","name",1843675177),"R107 Airstrip",new cljs.core.Keyword(null,"type","type",1174270348),"Airstrip",new cljs.core.Keyword(null,"id","id",-1388402092),1373],null),new cljs.core.PersistentArrayMap(null,6,[new cljs.core.Keyword(null,"x","x",2099068185),316,new cljs.core.Keyword(null,"y","y",-1757859776),467,new cljs.core.Keyword(null,"owner",
"owner",-392611939),6,new cljs.core.Keyword(null,"name","name",1843675177),"Haeju Airbase",new cljs.core.Keyword(null,"type","type",1174270348),"Airbase",new cljs.core.Keyword(null,"id","id",-1388402092),1372],null),new cljs.core.PersistentArrayMap(null,6,[new cljs.core.Keyword(null,"x","x",2099068185),265,new cljs.core.Keyword(null,"y","y",-1757859776),461,new cljs.core.Keyword(null,"owner","owner",-392611939),6,new cljs.core.Keyword(null,"name","name",1843675177),"Ongjin Airbase",new cljs.core.Keyword(null,
"type","type",1174270348),"Airbase",new cljs.core.Keyword(null,"id","id",-1388402092),1371],null),new cljs.core.PersistentArrayMap(null,6,[new cljs.core.Keyword(null,"x","x",2099068185),249,new cljs.core.Keyword(null,"y","y",-1757859776),479,new cljs.core.Keyword(null,"owner","owner",-392611939),6,new cljs.core.Keyword(null,"name","name",1843675177),"Taetan Airbase",new cljs.core.Keyword(null,"type","type",1174270348),"Airbase",new cljs.core.Keyword(null,"id","id",-1388402092),1370],null),new cljs.core.PersistentArrayMap(null,
6,[new cljs.core.Keyword(null,"x","x",2099068185),236,new cljs.core.Keyword(null,"y","y",-1757859776),493,new cljs.core.Keyword(null,"owner","owner",-392611939),6,new cljs.core.Keyword(null,"name","name",1843675177),"Changyon Highway Strip",new cljs.core.Keyword(null,"type","type",1174270348),"Airstrip",new cljs.core.Keyword(null,"id","id",-1388402092),1369],null),new cljs.core.PersistentArrayMap(null,6,[new cljs.core.Keyword(null,"x","x",2099068185),216,new cljs.core.Keyword(null,"y","y",-1757859776),
512,new cljs.core.Keyword(null,"owner","owner",-392611939),6,new cljs.core.Keyword(null,"name","name",1843675177),"Kwail Airbase",new cljs.core.Keyword(null,"type","type",1174270348),"Airbase",new cljs.core.Keyword(null,"id","id",-1388402092),1368],null),new cljs.core.PersistentArrayMap(null,6,[new cljs.core.Keyword(null,"x","x",2099068185),238,new cljs.core.Keyword(null,"y","y",-1757859776),569,new cljs.core.Keyword(null,"owner","owner",-392611939),6,new cljs.core.Keyword(null,"name","name",1843675177),
"Onch'on Airbase",new cljs.core.Keyword(null,"type","type",1174270348),"Airbase",new cljs.core.Keyword(null,"id","id",-1388402092),1367],null),new cljs.core.PersistentArrayMap(null,6,[new cljs.core.Keyword(null,"x","x",2099068185),332,new cljs.core.Keyword(null,"y","y",-1757859776),561,new cljs.core.Keyword(null,"owner","owner",-392611939),6,new cljs.core.Keyword(null,"name","name",1843675177),"Sangwon Highway Strip",new cljs.core.Keyword(null,"type","type",1174270348),"Airstrip",new cljs.core.Keyword(null,
"id","id",-1388402092),1366],null),new cljs.core.PersistentArrayMap(null,6,[new cljs.core.Keyword(null,"x","x",2099068185),360,new cljs.core.Keyword(null,"y","y",-1757859776),493,new cljs.core.Keyword(null,"owner","owner",-392611939),6,new cljs.core.Keyword(null,"name","name",1843675177),"Nuch'on-ni Highway Strip",new cljs.core.Keyword(null,"type","type",1174270348),"Airstrip",new cljs.core.Keyword(null,"id","id",-1388402092),1364],null),new cljs.core.PersistentArrayMap(null,6,[new cljs.core.Keyword(null,
"x","x",2099068185),393,new cljs.core.Keyword(null,"y","y",-1757859776),551,new cljs.core.Keyword(null,"owner","owner",-392611939),6,new cljs.core.Keyword(null,"name","name",1843675177),"Koksan Airbase",new cljs.core.Keyword(null,"type","type",1174270348),"Airbase",new cljs.core.Keyword(null,"id","id",-1388402092),1363],null),new cljs.core.PersistentArrayMap(null,6,[new cljs.core.Keyword(null,"x","x",2099068185),398,new cljs.core.Keyword(null,"y","y",-1757859776),551,new cljs.core.Keyword(null,"owner",
"owner",-392611939),6,new cljs.core.Keyword(null,"name","name",1843675177),"Koksan Highway Strip",new cljs.core.Keyword(null,"type","type",1174270348),"Airstrip",new cljs.core.Keyword(null,"id","id",-1388402092),1362],null),new cljs.core.PersistentArrayMap(null,6,[new cljs.core.Keyword(null,"x","x",2099068185),512,new cljs.core.Keyword(null,"y","y",-1757859776),550,new cljs.core.Keyword(null,"owner","owner",-392611939),6,new cljs.core.Keyword(null,"name","name",1843675177),"Hoeyang SE Highway Strip",
new cljs.core.Keyword(null,"type","type",1174270348),"Airstrip",new cljs.core.Keyword(null,"id","id",-1388402092),1361],null),new cljs.core.PersistentArrayMap(null,6,[new cljs.core.Keyword(null,"x","x",2099068185),488,new cljs.core.Keyword(null,"y","y",-1757859776),539,new cljs.core.Keyword(null,"owner","owner",-392611939),6,new cljs.core.Keyword(null,"name","name",1843675177),"Hyon-Ni Airbase",new cljs.core.Keyword(null,"type","type",1174270348),"Airbase",new cljs.core.Keyword(null,"id","id",-1388402092),
1360],null),new cljs.core.PersistentArrayMap(null,6,[new cljs.core.Keyword(null,"x","x",2099068185),416,new cljs.core.Keyword(null,"y","y",-1757859776),502,new cljs.core.Keyword(null,"owner","owner",-392611939),6,new cljs.core.Keyword(null,"name","name",1843675177),"Taebukpo-ri Airstrip",new cljs.core.Keyword(null,"type","type",1174270348),"Airstrip",new cljs.core.Keyword(null,"id","id",-1388402092),1357],null),new cljs.core.PersistentArrayMap(null,6,[new cljs.core.Keyword(null,"x","x",2099068185),
536,new cljs.core.Keyword(null,"y","y",-1757859776),559,new cljs.core.Keyword(null,"owner","owner",-392611939),6,new cljs.core.Keyword(null,"name","name",1843675177),"Kojo Highway Strip",new cljs.core.Keyword(null,"type","type",1174270348),"Airstrip",new cljs.core.Keyword(null,"id","id",-1388402092),1353],null),new cljs.core.PersistentArrayMap(null,6,[new cljs.core.Keyword(null,"x","x",2099068185),742,new cljs.core.Keyword(null,"y","y",-1757859776),882,new cljs.core.Keyword(null,"owner","owner",-392611939),
6,new cljs.core.Keyword(null,"name","name",1843675177),"Sugam-ni Airstrip",new cljs.core.Keyword(null,"type","type",1174270348),"Airstrip",new cljs.core.Keyword(null,"id","id",-1388402092),1352],null),new cljs.core.PersistentArrayMap(null,6,[new cljs.core.Keyword(null,"x","x",2099068185),733,new cljs.core.Keyword(null,"y","y",-1757859776),863,new cljs.core.Keyword(null,"owner","owner",-392611939),6,new cljs.core.Keyword(null,"name","name",1843675177),"Kyongsong Chuul Airstrip",new cljs.core.Keyword(null,
"type","type",1174270348),"Airstrip",new cljs.core.Keyword(null,"id","id",-1388402092),1351],null),new cljs.core.PersistentArrayMap(null,6,[new cljs.core.Keyword(null,"x","x",2099068185),644,new cljs.core.Keyword(null,"y","y",-1757859776),732,new cljs.core.Keyword(null,"owner","owner",-392611939),6,new cljs.core.Keyword(null,"name","name",1843675177),"Tangch'on Highway Strip",new cljs.core.Keyword(null,"type","type",1174270348),"Airstrip",new cljs.core.Keyword(null,"id","id",-1388402092),1350],null),
new cljs.core.PersistentArrayMap(null,6,[new cljs.core.Keyword(null,"x","x",2099068185),630,new cljs.core.Keyword(null,"y","y",-1757859776),731,new cljs.core.Keyword(null,"owner","owner",-392611939),6,new cljs.core.Keyword(null,"name","name",1843675177),"Iwon Airbase",new cljs.core.Keyword(null,"type","type",1174270348),"Airbase",new cljs.core.Keyword(null,"id","id",-1388402092),1349],null),new cljs.core.PersistentArrayMap(null,6,[new cljs.core.Keyword(null,"x","x",2099068185),476,new cljs.core.Keyword(null,
"y","y",-1757859776),635,new cljs.core.Keyword(null,"owner","owner",-392611939),6,new cljs.core.Keyword(null,"name","name",1843675177),"Yonghung Highway Strip",new cljs.core.Keyword(null,"type","type",1174270348),"Airstrip",new cljs.core.Keyword(null,"id","id",-1388402092),1348],null),new cljs.core.PersistentArrayMap(null,6,[new cljs.core.Keyword(null,"x","x",2099068185),496,new cljs.core.Keyword(null,"y","y",-1757859776),598,new cljs.core.Keyword(null,"owner","owner",-392611939),6,new cljs.core.Keyword(null,
"name","name",1843675177),"Wonsan Airbase",new cljs.core.Keyword(null,"type","type",1174270348),"Airbase",new cljs.core.Keyword(null,"id","id",-1388402092),1347],null),new cljs.core.PersistentArrayMap(null,6,[new cljs.core.Keyword(null,"x","x",2099068185),474,new cljs.core.Keyword(null,"y","y",-1757859776),610,new cljs.core.Keyword(null,"owner","owner",-392611939),6,new cljs.core.Keyword(null,"name","name",1843675177),"Okpyong-Ni Airstrip",new cljs.core.Keyword(null,"type","type",1174270348),"Airstrip",
new cljs.core.Keyword(null,"id","id",-1388402092),1346],null),new cljs.core.PersistentArrayMap(null,6,[new cljs.core.Keyword(null,"x","x",2099068185),494,new cljs.core.Keyword(null,"y","y",-1757859776),662,new cljs.core.Keyword(null,"owner","owner",-392611939),6,new cljs.core.Keyword(null,"name","name",1843675177),"Sondok Airbase",new cljs.core.Keyword(null,"type","type",1174270348),"Airbase",new cljs.core.Keyword(null,"id","id",-1388402092),1342],null),new cljs.core.PersistentArrayMap(null,6,[new cljs.core.Keyword(null,
"x","x",2099068185),510,new cljs.core.Keyword(null,"y","y",-1757859776),692,new cljs.core.Keyword(null,"owner","owner",-392611939),6,new cljs.core.Keyword(null,"name","name",1843675177),"Toksan Airbase",new cljs.core.Keyword(null,"type","type",1174270348),"Airbase",new cljs.core.Keyword(null,"id","id",-1388402092),1341],null),new cljs.core.PersistentArrayMap(null,6,[new cljs.core.Keyword(null,"x","x",2099068185),315,new cljs.core.Keyword(null,"y","y",-1757859776),581,new cljs.core.Keyword(null,"owner",
"owner",-392611939),6,new cljs.core.Keyword(null,"name","name",1843675177),"Mirim Airbase",new cljs.core.Keyword(null,"type","type",1174270348),"Airbase",new cljs.core.Keyword(null,"id","id",-1388402092),1340],null),new cljs.core.PersistentArrayMap(null,6,[new cljs.core.Keyword(null,"x","x",2099068185),318,new cljs.core.Keyword(null,"y","y",-1757859776),623,new cljs.core.Keyword(null,"owner","owner",-392611939),6,new cljs.core.Keyword(null,"name","name",1843675177),"Sunch'on Airbase",new cljs.core.Keyword(null,
"type","type",1174270348),"Airbase",new cljs.core.Keyword(null,"id","id",-1388402092),1339],null),new cljs.core.PersistentArrayMap(null,6,[new cljs.core.Keyword(null,"x","x",2099068185),309,new cljs.core.Keyword(null,"y","y",-1757859776),669,new cljs.core.Keyword(null,"owner","owner",-392611939),6,new cljs.core.Keyword(null,"name","name",1843675177),"Yongbyon Airstrip",new cljs.core.Keyword(null,"type","type",1174270348),"Airstrip",new cljs.core.Keyword(null,"id","id",-1388402092),1338],null),new cljs.core.PersistentArrayMap(null,
6,[new cljs.core.Keyword(null,"x","x",2099068185),316,new cljs.core.Keyword(null,"y","y",-1757859776),662,new cljs.core.Keyword(null,"owner","owner",-392611939),6,new cljs.core.Keyword(null,"name","name",1843675177),"Kaech'on Airbase",new cljs.core.Keyword(null,"type","type",1174270348),"Airbase",new cljs.core.Keyword(null,"id","id",-1388402092),1337],null),new cljs.core.PersistentArrayMap(null,6,[new cljs.core.Keyword(null,"x","x",2099068185),271,new cljs.core.Keyword(null,"y","y",-1757859776),681,
new cljs.core.Keyword(null,"owner","owner",-392611939),6,new cljs.core.Keyword(null,"name","name",1843675177),"T'aech'on Airbase",new cljs.core.Keyword(null,"type","type",1174270348),"Airbase",new cljs.core.Keyword(null,"id","id",-1388402092),1336],null),new cljs.core.PersistentArrayMap(null,6,[new cljs.core.Keyword(null,"x","x",2099068185),236,new cljs.core.Keyword(null,"y","y",-1757859776),678,new cljs.core.Keyword(null,"owner","owner",-392611939),6,new cljs.core.Keyword(null,"name","name",1843675177),
"Panghyon Airstrip",new cljs.core.Keyword(null,"type","type",1174270348),"Airstrip",new cljs.core.Keyword(null,"id","id",-1388402092),1335],null),new cljs.core.PersistentArrayMap(null,6,[new cljs.core.Keyword(null,"x","x",2099068185),234,new cljs.core.Keyword(null,"y","y",-1757859776),655,new cljs.core.Keyword(null,"owner","owner",-392611939),6,new cljs.core.Keyword(null,"name","name",1843675177),"Kwaksan Airstrip",new cljs.core.Keyword(null,"type","type",1174270348),"Airstrip",new cljs.core.Keyword(null,
"id","id",-1388402092),1334],null),new cljs.core.PersistentArrayMap(null,6,[new cljs.core.Keyword(null,"x","x",2099068185),198,new cljs.core.Keyword(null,"y","y",-1757859776),662,new cljs.core.Keyword(null,"owner","owner",-392611939),6,new cljs.core.Keyword(null,"name","name",1843675177),"Sonch'on Airstrip",new cljs.core.Keyword(null,"type","type",1174270348),"Airstrip",new cljs.core.Keyword(null,"id","id",-1388402092),1333],null),new cljs.core.PersistentArrayMap(null,6,[new cljs.core.Keyword(null,
"x","x",2099068185),624,new cljs.core.Keyword(null,"y","y",-1757859776),236,new cljs.core.Keyword(null,"owner","owner",-392611939),2,new cljs.core.Keyword(null,"name","name",1843675177),"Taegu Airbase",new cljs.core.Keyword(null,"type","type",1174270348),"Airbase",new cljs.core.Keyword(null,"id","id",-1388402092),1326],null),new cljs.core.PersistentArrayMap(null,6,[new cljs.core.Keyword(null,"x","x",2099068185),424,new cljs.core.Keyword(null,"y","y",-1757859776),152,new cljs.core.Keyword(null,"owner",
"owner",-392611939),2,new cljs.core.Keyword(null,"name","name",1843675177),"Kwangju Airbase",new cljs.core.Keyword(null,"type","type",1174270348),"Airbase",new cljs.core.Keyword(null,"id","id",-1388402092),1315],null),new cljs.core.PersistentArrayMap(null,6,[new cljs.core.Keyword(null,"x","x",2099068185),498,new cljs.core.Keyword(null,"y","y",-1757859776),329,new cljs.core.Keyword(null,"owner","owner",-392611939),2,new cljs.core.Keyword(null,"name","name",1843675177),"Chongju Airbase",new cljs.core.Keyword(null,
"type","type",1174270348),"Airbase",new cljs.core.Keyword(null,"id","id",-1388402092),1312],null),new cljs.core.PersistentArrayMap(null,6,[new cljs.core.Keyword(null,"x","x",2099068185),549,new cljs.core.Keyword(null,"y","y",-1757859776),402,new cljs.core.Keyword(null,"owner","owner",-392611939),2,new cljs.core.Keyword(null,"name","name",1843675177),"Hoengsong",new cljs.core.Keyword(null,"type","type",1174270348),"Airbase",new cljs.core.Keyword(null,"id","id",-1388402092),1310],null),new cljs.core.PersistentArrayMap(null,
6,[new cljs.core.Keyword(null,"x","x",2099068185),242,new cljs.core.Keyword(null,"y","y",-1757859776),683,new cljs.core.Keyword(null,"owner","owner",-392611939),6,new cljs.core.Keyword(null,"name","name",1843675177),"Panghyon Airbase",new cljs.core.Keyword(null,"type","type",1174270348),"Airbase",new cljs.core.Keyword(null,"id","id",-1388402092),1188],null),new cljs.core.PersistentArrayMap(null,6,[new cljs.core.Keyword(null,"x","x",2099068185),290,new cljs.core.Keyword(null,"y","y",-1757859776),603,
new cljs.core.Keyword(null,"owner","owner",-392611939),6,new cljs.core.Keyword(null,"name","name",1843675177),"Sunan Airbase",new cljs.core.Keyword(null,"type","type",1174270348),"Airbase",new cljs.core.Keyword(null,"id","id",-1388402092),1099],null),new cljs.core.PersistentArrayMap(null,6,[new cljs.core.Keyword(null,"x","x",2099068185),452,new cljs.core.Keyword(null,"y","y",-1757859776),401,new cljs.core.Keyword(null,"owner","owner",-392611939),2,new cljs.core.Keyword(null,"name","name",1843675177),
"Seoul Airbase",new cljs.core.Keyword(null,"type","type",1174270348),"Airbase",new cljs.core.Keyword(null,"id","id",-1388402092),1056],null),new cljs.core.PersistentArrayMap(null,6,[new cljs.core.Keyword(null,"x","x",2099068185),415,new cljs.core.Keyword(null,"y","y",-1757859776),418,new cljs.core.Keyword(null,"owner","owner",-392611939),2,new cljs.core.Keyword(null,"name","name",1843675177),"Kimpo Airbase",new cljs.core.Keyword(null,"type","type",1174270348),"Airbase",new cljs.core.Keyword(null,
"id","id",-1388402092),1055],null),new cljs.core.PersistentArrayMap(null,6,[new cljs.core.Keyword(null,"x","x",2099068185),324,new cljs.core.Keyword(null,"y","y",-1757859776),496,new cljs.core.Keyword(null,"owner","owner",-392611939),6,new cljs.core.Keyword(null,"name","name",1843675177),"Ayang-Ni Highway Strip",new cljs.core.Keyword(null,"type","type",1174270348),"Airstrip",new cljs.core.Keyword(null,"id","id",-1388402092),833],null),new cljs.core.PersistentArrayMap(null,6,[new cljs.core.Keyword(null,
"x","x",2099068185),307,new cljs.core.Keyword(null,"y","y",-1757859776),543,new cljs.core.Keyword(null,"owner","owner",-392611939),6,new cljs.core.Keyword(null,"name","name",1843675177),"Hwangju Airbase",new cljs.core.Keyword(null,"type","type",1174270348),"Airbase",new cljs.core.Keyword(null,"id","id",-1388402092),832],null),new cljs.core.PersistentArrayMap(null,6,[new cljs.core.Keyword(null,"x","x",2099068185),439,new cljs.core.Keyword(null,"y","y",-1757859776),380,new cljs.core.Keyword(null,"owner",
"owner",-392611939),2,new cljs.core.Keyword(null,"name","name",1843675177),"Suwon Airbase",new cljs.core.Keyword(null,"type","type",1174270348),"Airbase",new cljs.core.Keyword(null,"id","id",-1388402092),830],null),new cljs.core.PersistentArrayMap(null,6,[new cljs.core.Keyword(null,"x","x",2099068185),445,new cljs.core.Keyword(null,"y","y",-1757859776),358,new cljs.core.Keyword(null,"owner","owner",-392611939),2,new cljs.core.Keyword(null,"name","name",1843675177),"Osan Airbase",new cljs.core.Keyword(null,
"type","type",1174270348),"Airbase",new cljs.core.Keyword(null,"id","id",-1388402092),828],null),new cljs.core.PersistentArrayMap(null,6,[new cljs.core.Keyword(null,"x","x",2099068185),543,new cljs.core.Keyword(null,"y","y",-1757859776),563,new cljs.core.Keyword(null,"owner","owner",-392611939),6,new cljs.core.Keyword(null,"name","name",1843675177),"Kuum-ni Airbase",new cljs.core.Keyword(null,"type","type",1174270348),"Airbase",new cljs.core.Keyword(null,"id","id",-1388402092),791],null),new cljs.core.PersistentArrayMap(null,
6,[new cljs.core.Keyword(null,"x","x",2099068185),734,new cljs.core.Keyword(null,"y","y",-1757859776),848,new cljs.core.Keyword(null,"owner","owner",-392611939),6,new cljs.core.Keyword(null,"name","name",1843675177),"Orang Airbase",new cljs.core.Keyword(null,"type","type",1174270348),"Airbase",new cljs.core.Keyword(null,"id","id",-1388402092),444],null),new cljs.core.PersistentArrayMap(null,6,[new cljs.core.Keyword(null,"x","x",2099068185),698,new cljs.core.Keyword(null,"y","y",-1757859776),795,new cljs.core.Keyword(null,
"owner","owner",-392611939),6,new cljs.core.Keyword(null,"name","name",1843675177),"Kilchu Highway Strip",new cljs.core.Keyword(null,"type","type",1174270348),"Airstrip",new cljs.core.Keyword(null,"id","id",-1388402092),439],null),new cljs.core.PersistentArrayMap(null,6,[new cljs.core.Keyword(null,"x","x",2099068185),654,new cljs.core.Keyword(null,"y","y",-1757859776),152,new cljs.core.Keyword(null,"owner","owner",-392611939),2,new cljs.core.Keyword(null,"name","name",1843675177),"Kimhae International",
new cljs.core.Keyword(null,"type","type",1174270348),"Airbase",new cljs.core.Keyword(null,"id","id",-1388402092),144],null),new cljs.core.PersistentArrayMap(null,6,[new cljs.core.Keyword(null,"x","x",2099068185),702,new cljs.core.Keyword(null,"y","y",-1757859776),245,new cljs.core.Keyword(null,"owner","owner",-392611939),2,new cljs.core.Keyword(null,"name","name",1843675177),"Pohang Airbase",new cljs.core.Keyword(null,"type","type",1174270348),"Airbase",new cljs.core.Keyword(null,"id","id",-1388402092),
73],null),new cljs.core.PersistentArrayMap(null,6,[new cljs.core.Keyword(null,"x","x",2099068185),561,new cljs.core.Keyword(null,"y","y",-1757859776),143,new cljs.core.Keyword(null,"owner","owner",-392611939),2,new cljs.core.Keyword(null,"name","name",1843675177),"Sachon Airbase",new cljs.core.Keyword(null,"type","type",1174270348),"Airbase",new cljs.core.Keyword(null,"id","id",-1388402092),72],null),new cljs.core.PersistentArrayMap(null,6,[new cljs.core.Keyword(null,"x","x",2099068185),320,new cljs.core.Keyword(null,
"y","y",-1757859776),644,new cljs.core.Keyword(null,"owner","owner",-392611939),6,new cljs.core.Keyword(null,"name","name",1843675177),"Pukch'ang-up Airbase",new cljs.core.Keyword(null,"type","type",1174270348),"Airbase",new cljs.core.Keyword(null,"id","id",-1388402092),71],null),new cljs.core.PersistentArrayMap(null,6,[new cljs.core.Keyword(null,"x","x",2099068185),171,new cljs.core.Keyword(null,"y","y",-1757859776),713,new cljs.core.Keyword(null,"owner","owner",-392611939),6,new cljs.core.Keyword(null,
"name","name",1843675177),"Uiju Airbase",new cljs.core.Keyword(null,"type","type",1174270348),"Airbase",new cljs.core.Keyword(null,"id","id",-1388402092),70],null),new cljs.core.PersistentArrayMap(null,6,[new cljs.core.Keyword(null,"x","x",2099068185),472,new cljs.core.Keyword(null,"y","y",-1757859776),731,new cljs.core.Keyword(null,"owner","owner",-392611939),6,new cljs.core.Keyword(null,"name","name",1843675177),"Changjin Airbase",new cljs.core.Keyword(null,"type","type",1174270348),"Airbase",new cljs.core.Keyword(null,
"id","id",-1388402092),69],null),new cljs.core.PersistentArrayMap(null,6,[new cljs.core.Keyword(null,"x","x",2099068185),597,new cljs.core.Keyword(null,"y","y",-1757859776),899,new cljs.core.Keyword(null,"owner","owner",-392611939),6,new cljs.core.Keyword(null,"name","name",1843675177),"Samjiyon-up Airbase",new cljs.core.Keyword(null,"type","type",1174270348),"Airbase",new cljs.core.Keyword(null,"id","id",-1388402092),68],null),new cljs.core.PersistentArrayMap(null,6,[new cljs.core.Keyword(null,"x",
"x",2099068185),372,new cljs.core.Keyword(null,"y","y",-1757859776),818,new cljs.core.Keyword(null,"owner","owner",-392611939),6,new cljs.core.Keyword(null,"name","name",1843675177),"Manp'o Airbase",new cljs.core.Keyword(null,"type","type",1174270348),"Airbase",new cljs.core.Keyword(null,"id","id",-1388402092),67],null),new cljs.core.PersistentArrayMap(null,6,[new cljs.core.Keyword(null,"x","x",2099068185),410,new cljs.core.Keyword(null,"y","y",-1757859776),404,new cljs.core.Keyword(null,"owner",
"owner",-392611939),2,new cljs.core.Keyword(null,"name","name",1843675177),"East Incheon Airstrip",new cljs.core.Keyword(null,"type","type",1174270348),"Airstrip",new cljs.core.Keyword(null,"id","id",-1388402092),66],null),new cljs.core.PersistentArrayMap(null,6,[new cljs.core.Keyword(null,"x","x",2099068185),290,new cljs.core.Keyword(null,"y","y",-1757859776),509,new cljs.core.Keyword(null,"owner","owner",-392611939),6,new cljs.core.Keyword(null,"name","name",1843675177),"Ok-Tong Airstrip",new cljs.core.Keyword(null,
"type","type",1174270348),"Airstrip",new cljs.core.Keyword(null,"id","id",-1388402092),65],null),new cljs.core.PersistentArrayMap(null,6,[new cljs.core.Keyword(null,"x","x",2099068185),308,new cljs.core.Keyword(null,"y","y",-1757859776),522,new cljs.core.Keyword(null,"owner","owner",-392611939),6,new cljs.core.Keyword(null,"name","name",1843675177),"Pongsan Airstrip",new cljs.core.Keyword(null,"type","type",1174270348),"Airstrip",new cljs.core.Keyword(null,"id","id",-1388402092),64],null),new cljs.core.PersistentArrayMap(null,
6,[new cljs.core.Keyword(null,"x","x",2099068185),380,new cljs.core.Keyword(null,"y","y",-1757859776),509,new cljs.core.Keyword(null,"owner","owner",-392611939),6,new cljs.core.Keyword(null,"name","name",1843675177),"P'yongsan Airstrip",new cljs.core.Keyword(null,"type","type",1174270348),"Airstrip",new cljs.core.Keyword(null,"id","id",-1388402092),63],null),new cljs.core.PersistentArrayMap(null,6,[new cljs.core.Keyword(null,"x","x",2099068185),384,new cljs.core.Keyword(null,"y","y",-1757859776),
489,new cljs.core.Keyword(null,"owner","owner",-392611939),6,new cljs.core.Keyword(null,"name","name",1843675177),"Kumch'on Airstrip",new cljs.core.Keyword(null,"type","type",1174270348),"Airstrip",new cljs.core.Keyword(null,"id","id",-1388402092),62],null),new cljs.core.PersistentArrayMap(null,6,[new cljs.core.Keyword(null,"x","x",2099068185),422,new cljs.core.Keyword(null,"y","y",-1757859776),530,new cljs.core.Keyword(null,"owner","owner",-392611939),6,new cljs.core.Keyword(null,"name","name",1843675177),
"Ich'on Airstrip",new cljs.core.Keyword(null,"type","type",1174270348),"Airstrip",new cljs.core.Keyword(null,"id","id",-1388402092),61],null),new cljs.core.PersistentArrayMap(null,6,[new cljs.core.Keyword(null,"x","x",2099068185),532,new cljs.core.Keyword(null,"y","y",-1757859776),553,new cljs.core.Keyword(null,"owner","owner",-392611939),6,new cljs.core.Keyword(null,"name","name",1843675177),"Kongse-dong Airstrip",new cljs.core.Keyword(null,"type","type",1174270348),"Airstrip",new cljs.core.Keyword(null,
"id","id",-1388402092),60],null)],!0)],null);weathergen.database.israel={};
weathergen.database.israel.theater_info=new cljs.core.PersistentArrayMap(null,4,[new cljs.core.Keyword(null,"owners","owners",1019390468),new cljs.core.PersistentArrayMap(null,8,[0,"Hezbollah",1,"NATO",2,"Israel",3,"PA",4,"Jordan",5,"Syria",6,"Egypt",7,"Saudi Arabia"],null),new cljs.core.Keyword(null,"size","size",1098693007),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[1024,1024],null),new cljs.core.Keyword(null,"mapping","mapping",-1242405430),new cljs.core.PersistentArrayMap(null,
4,[new cljs.core.Keyword(null,"left","left",-399115937),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[29,33.64],null),new cljs.core.Keyword(null,"top","top",-1856271961),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[34,49.2],null),new cljs.core.Keyword(null,"bottom","bottom",-1550509018),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[25,37.39],null),new cljs.core.Keyword(null,"top-right","top-right",
284698505),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[40,45.64],null)],null),new cljs.core.Keyword(null,"objectives","objectives",933939509),cljs.core.PersistentVector.fromArray([new cljs.core.PersistentArrayMap(null,5,[new cljs.core.Keyword(null,"x","x",2099068185),809,new cljs.core.Keyword(null,"y","y",-1757859776),296,new cljs.core.Keyword(null,"owner","owner",-392611939),"Saudi Arabia",new cljs.core.Keyword(null,"name","name",1843675177),"Qalibha",new cljs.core.Keyword(null,
"type","type",1174270348),"Airstrip"],null),new cljs.core.PersistentArrayMap(null,5,[new cljs.core.Keyword(null,"x","x",2099068185),630,new cljs.core.Keyword(null,"y","y",-1757859776),391,new cljs.core.Keyword(null,"owner","owner",-392611939),"Saudi Arabia",new cljs.core.Keyword(null,"name","name",1843675177),"Al Bir",new cljs.core.Keyword(null,"type","type",1174270348),"Airstrip"],null),new cljs.core.PersistentArrayMap(null,5,[new cljs.core.Keyword(null,"x","x",2099068185),553,new cljs.core.Keyword(null,
"y","y",-1757859776),487,new cljs.core.Keyword(null,"owner","owner",-392611939),"Jordan",new cljs.core.Keyword(null,"name","name",1843675177),"Al Quwayhra",new cljs.core.Keyword(null,"type","type",1174270348),"Airstrip"],null),new cljs.core.PersistentArrayMap(null,5,[new cljs.core.Keyword(null,"x","x",2099068185),631,new cljs.core.Keyword(null,"y","y",-1757859776),632,new cljs.core.Keyword(null,"owner","owner",-392611939),"Jordan",new cljs.core.Keyword(null,"name","name",1843675177),"Al Qantranah",
new cljs.core.Keyword(null,"type","type",1174270348),"Airstrip"],null),new cljs.core.PersistentArrayMap(null,5,[new cljs.core.Keyword(null,"x","x",2099068185),712,new cljs.core.Keyword(null,"y","y",-1757859776),681,new cljs.core.Keyword(null,"owner","owner",-392611939),"Jordan",new cljs.core.Keyword(null,"name","name",1843675177),"Al Gadhaf",new cljs.core.Keyword(null,"type","type",1174270348),"Airstrip"],null),new cljs.core.PersistentArrayMap(null,5,[new cljs.core.Keyword(null,"x","x",2099068185),
630,new cljs.core.Keyword(null,"y","y",-1757859776),692,new cljs.core.Keyword(null,"owner","owner",-392611939),"Jordan",new cljs.core.Keyword(null,"name","name",1843675177),"Highway H",new cljs.core.Keyword(null,"type","type",1174270348),"Airstrip"],null),new cljs.core.PersistentArrayMap(null,5,[new cljs.core.Keyword(null,"x","x",2099068185),650,new cljs.core.Keyword(null,"y","y",-1757859776),717,new cljs.core.Keyword(null,"owner","owner",-392611939),"Jordan",new cljs.core.Keyword(null,"name","name",
1843675177),"Azraq",new cljs.core.Keyword(null,"type","type",1174270348),"Airstrip"],null),new cljs.core.PersistentArrayMap(null,5,[new cljs.core.Keyword(null,"x","x",2099068185),921,new cljs.core.Keyword(null,"y","y",-1757859776),795,new cljs.core.Keyword(null,"owner","owner",-392611939),"Jordan",new cljs.core.Keyword(null,"name","name",1843675177),"Wadi El Murbha",new cljs.core.Keyword(null,"type","type",1174270348),"Airstrip"],null),new cljs.core.PersistentArrayMap(null,5,[new cljs.core.Keyword(null,
"x","x",2099068185),950,new cljs.core.Keyword(null,"y","y",-1757859776),812,new cljs.core.Keyword(null,"owner","owner",-392611939),"Saudi Arabia",new cljs.core.Keyword(null,"name","name",1843675177),"H 3",new cljs.core.Keyword(null,"type","type",1174270348),"Airstrip"],null),new cljs.core.PersistentArrayMap(null,5,[new cljs.core.Keyword(null,"x","x",2099068185),682,new cljs.core.Keyword(null,"y","y",-1757859776),987,new cljs.core.Keyword(null,"owner","owner",-392611939),"Syria",new cljs.core.Keyword(null,
"name","name",1843675177),"Al Qusayr",new cljs.core.Keyword(null,"type","type",1174270348),"Airbase"],null),new cljs.core.PersistentArrayMap(null,5,[new cljs.core.Keyword(null,"x","x",2099068185),586,new cljs.core.Keyword(null,"y","y",-1757859776),940,new cljs.core.Keyword(null,"owner","owner",-392611939),"Syria",new cljs.core.Keyword(null,"name","name",1843675177),"Alat",new cljs.core.Keyword(null,"type","type",1174270348),"Airbase"],null),new cljs.core.PersistentArrayMap(null,5,[new cljs.core.Keyword(null,
"x","x",2099068185),699,new cljs.core.Keyword(null,"y","y",-1757859776),925,new cljs.core.Keyword(null,"owner","owner",-392611939),"Syria",new cljs.core.Keyword(null,"name","name",1843675177),"An Nasariyah",new cljs.core.Keyword(null,"type","type",1174270348),"Airbase"],null),new cljs.core.PersistentArrayMap(null,5,[new cljs.core.Keyword(null,"x","x",2099068185),561,new cljs.core.Keyword(null,"y","y",-1757859776),902,new cljs.core.Keyword(null,"owner","owner",-392611939),"Syria",new cljs.core.Keyword(null,
"name","name",1843675177),"Rafic Hariri Intl",new cljs.core.Keyword(null,"type","type",1174270348),"Airbase"],null),new cljs.core.PersistentArrayMap(null,5,[new cljs.core.Keyword(null,"x","x",2099068185),502,new cljs.core.Keyword(null,"y","y",-1757859776),714,new cljs.core.Keyword(null,"owner","owner",-392611939),"Israel",new cljs.core.Keyword(null,"name","name",1843675177),"Ben Gurion",new cljs.core.Keyword(null,"type","type",1174270348),"Airbase"],null),new cljs.core.PersistentArrayMap(null,5,[new cljs.core.Keyword(null,
"x","x",2099068185),445,new cljs.core.Keyword(null,"y","y",-1757859776),641,new cljs.core.Keyword(null,"owner","owner",-392611939),"PA",new cljs.core.Keyword(null,"name","name",1843675177),"Yasser Arafat Intl",new cljs.core.Keyword(null,"type","type",1174270348),"Airbase"],null),new cljs.core.PersistentArrayMap(null,5,[new cljs.core.Keyword(null,"x","x",2099068185),663,new cljs.core.Keyword(null,"y","y",-1757859776),861,new cljs.core.Keyword(null,"owner","owner",-392611939),"Syria",new cljs.core.Keyword(null,
"name","name",1843675177),"Damascus INT",new cljs.core.Keyword(null,"type","type",1174270348),"Airbase"],null),new cljs.core.PersistentArrayMap(null,5,[new cljs.core.Keyword(null,"x","x",2099068185),692,new cljs.core.Keyword(null,"y","y",-1757859776),892,new cljs.core.Keyword(null,"owner","owner",-392611939),"Syria",new cljs.core.Keyword(null,"name","name",1843675177),"Dumyar",new cljs.core.Keyword(null,"type","type",1174270348),"Airbase"],null),new cljs.core.PersistentArrayMap(null,5,[new cljs.core.Keyword(null,
"x","x",2099068185),738,new cljs.core.Keyword(null,"y","y",-1757859776),644,new cljs.core.Keyword(null,"owner","owner",-392611939),"Saudi Arabia",new cljs.core.Keyword(null,"name","name",1843675177),"Guriat",new cljs.core.Keyword(null,"type","type",1174270348),"Airbase"],null),new cljs.core.PersistentArrayMap(null,5,[new cljs.core.Keyword(null,"x","x",2099068185),984,new cljs.core.Keyword(null,"y","y",-1757859776),828,new cljs.core.Keyword(null,"owner","owner",-392611939),"Saudi Arabia",new cljs.core.Keyword(null,
"name","name",1843675177),"H 3 North West",new cljs.core.Keyword(null,"type","type",1174270348),"Airbase"],null),new cljs.core.PersistentArrayMap(null,5,[new cljs.core.Keyword(null,"x","x",2099068185),986,new cljs.core.Keyword(null,"y","y",-1757859776),791,new cljs.core.Keyword(null,"owner","owner",-392611939),"Saudi Arabia",new cljs.core.Keyword(null,"name","name",1843675177),"H 3 South",new cljs.core.Keyword(null,"type","type",1174270348),"Airbase"],null),new cljs.core.PersistentArrayMap(null,5,
[new cljs.core.Keyword(null,"x","x",2099068185),839,new cljs.core.Keyword(null,"y","y",-1757859776),778,new cljs.core.Keyword(null,"owner","owner",-392611939),"Jordan",new cljs.core.Keyword(null,"name","name",1843675177),"H 4",new cljs.core.Keyword(null,"type","type",1174270348),"Airbase"],null),new cljs.core.PersistentArrayMap(null,5,[new cljs.core.Keyword(null,"x","x",2099068185),473,new cljs.core.Keyword(null,"y","y",-1757859776),637,new cljs.core.Keyword(null,"owner","owner",-392611939),"Israel",
new cljs.core.Keyword(null,"name","name",1843675177),"Hatzerim",new cljs.core.Keyword(null,"type","type",1174270348),"Airbase"],null),new cljs.core.PersistentArrayMap(null,5,[new cljs.core.Keyword(null,"x","x",2099068185),487,new cljs.core.Keyword(null,"y","y",-1757859776),685,new cljs.core.Keyword(null,"owner","owner",-392611939),"Israel",new cljs.core.Keyword(null,"name","name",1843675177),"Hatzor",new cljs.core.Keyword(null,"type","type",1174270348),"Airbase"],null),new cljs.core.PersistentArrayMap(null,
5,[new cljs.core.Keyword(null,"x","x",2099068185),659,new cljs.core.Keyword(null,"y","y",-1757859776),824,new cljs.core.Keyword(null,"owner","owner",-392611939),"Syria",new cljs.core.Keyword(null,"name","name",1843675177),"Kalhalhak",new cljs.core.Keyword(null,"type","type",1174270348),"Airbase"],null),new cljs.core.PersistentArrayMap(null,5,[new cljs.core.Keyword(null,"x","x",2099068185),619,new cljs.core.Keyword(null,"y","y",-1757859776),706,new cljs.core.Keyword(null,"owner","owner",-392611939),
"Jordan",new cljs.core.Keyword(null,"name","name",1843675177),"King Abdullha Ben",new cljs.core.Keyword(null,"type","type",1174270348),"Airbase"],null),new cljs.core.PersistentArrayMap(null,5,[new cljs.core.Keyword(null,"x","x",2099068185),633,new cljs.core.Keyword(null,"y","y",-1757859776),553,new cljs.core.Keyword(null,"owner","owner",-392611939),"Jordan",new cljs.core.Keyword(null,"name","name",1843675177),"King Faisal",new cljs.core.Keyword(null,"type","type",1174270348),"Airbase"],null),new cljs.core.PersistentArrayMap(null,
5,[new cljs.core.Keyword(null,"x","x",2099068185),643,new cljs.core.Keyword(null,"y","y",-1757859776),760,new cljs.core.Keyword(null,"owner","owner",-392611939),"Jordan",new cljs.core.Keyword(null,"name","name",1843675177),"King Hussein",new cljs.core.Keyword(null,"type","type",1174270348),"Airbase"],null),new cljs.core.PersistentArrayMap(null,5,[new cljs.core.Keyword(null,"x","x",2099068185),662,new cljs.core.Keyword(null,"y","y",-1757859776),875,new cljs.core.Keyword(null,"owner","owner",-392611939),
"Syria",new cljs.core.Keyword(null,"name","name",1843675177),"Mezze",new cljs.core.Keyword(null,"type","type",1174270348),"Airbase"],null),new cljs.core.PersistentArrayMap(null,5,[new cljs.core.Keyword(null,"x","x",2099068185),506,new cljs.core.Keyword(null,"y","y",-1757859776),494,new cljs.core.Keyword(null,"owner","owner",-392611939),"Israel",new cljs.core.Keyword(null,"name","name",1843675177),"Ovda",new cljs.core.Keyword(null,"type","type",1174270348),"Airbase"],null),new cljs.core.PersistentArrayMap(null,
5,[new cljs.core.Keyword(null,"x","x",2099068185),851,new cljs.core.Keyword(null,"y","y",-1757859776),990,new cljs.core.Keyword(null,"owner","owner",-392611939),"Syria",new cljs.core.Keyword(null,"name","name",1843675177),"Palmyr",new cljs.core.Keyword(null,"type","type",1174270348),"Airbase"],null),new cljs.core.PersistentArrayMap(null,5,[new cljs.core.Keyword(null,"x","x",2099068185),730,new cljs.core.Keyword(null,"y","y",-1757859776),729,new cljs.core.Keyword(null,"owner","owner",-392611939),"Jordan",
new cljs.core.Keyword(null,"name","name",1843675177),"Prince Hassan",new cljs.core.Keyword(null,"type","type",1174270348),"Airbase"],null),new cljs.core.PersistentArrayMap(null,5,[new cljs.core.Keyword(null,"x","x",2099068185),614,new cljs.core.Keyword(null,"y","y",-1757859776),701,new cljs.core.Keyword(null,"owner","owner",-392611939),"Jordan",new cljs.core.Keyword(null,"name","name",1843675177),"Queen Alia INT",new cljs.core.Keyword(null,"type","type",1174270348),"Airbase"],null),new cljs.core.PersistentArrayMap(null,
5,[new cljs.core.Keyword(null,"x","x",2099068185),532,new cljs.core.Keyword(null,"y","y",-1757859776),782,new cljs.core.Keyword(null,"owner","owner",-392611939),"Israel",new cljs.core.Keyword(null,"name","name",1843675177),"Ramat David",new cljs.core.Keyword(null,"type","type",1174270348),"Airbase"],null),new cljs.core.PersistentArrayMap(null,5,[new cljs.core.Keyword(null,"x","x",2099068185),609,new cljs.core.Keyword(null,"y","y",-1757859776),897,new cljs.core.Keyword(null,"owner","owner",-392611939),
"Syria",new cljs.core.Keyword(null,"name","name",1843675177),"Riyaq",new cljs.core.Keyword(null,"type","type",1174270348),"Airbase"],null),new cljs.core.PersistentArrayMap(null,5,[new cljs.core.Keyword(null,"x","x",2099068185),490,new cljs.core.Keyword(null,"y","y",-1757859776),730,new cljs.core.Keyword(null,"owner","owner",-392611939),"Israel",new cljs.core.Keyword(null,"name","name",1843675177),"Sde Dov",new cljs.core.Keyword(null,"type","type",1174270348),"Airbase"],null),new cljs.core.PersistentArrayMap(null,
5,[new cljs.core.Keyword(null,"x","x",2099068185),717,new cljs.core.Keyword(null,"y","y",-1757859776),963,new cljs.core.Keyword(null,"owner","owner",-392611939),"Syria",new cljs.core.Keyword(null,"name","name",1843675177),"Shayrat",new cljs.core.Keyword(null,"type","type",1174270348),"Airbase"],null),new cljs.core.PersistentArrayMap(null,5,[new cljs.core.Keyword(null,"x","x",2099068185),685,new cljs.core.Keyword(null,"y","y",-1757859776),345,new cljs.core.Keyword(null,"owner","owner",-392611939),
"Saudi Arabia",new cljs.core.Keyword(null,"name","name",1843675177),"Prince Sultan Bin Abdulaziz",new cljs.core.Keyword(null,"type","type",1174270348),"Airbase"],null),new cljs.core.PersistentArrayMap(null,5,[new cljs.core.Keyword(null,"x","x",2099068185),485,new cljs.core.Keyword(null,"y","y",-1757859776),694,new cljs.core.Keyword(null,"owner","owner",-392611939),"Israel",new cljs.core.Keyword(null,"name","name",1843675177),"Tel Nof",new cljs.core.Keyword(null,"type","type",1174270348),"Airbase"],
null),new cljs.core.PersistentArrayMap(null,5,[new cljs.core.Keyword(null,"x","x",2099068185),774,new cljs.core.Keyword(null,"y","y",-1757859776),971,new cljs.core.Keyword(null,"owner","owner",-392611939),"Syria",new cljs.core.Keyword(null,"name","name",1843675177),"Tiyas",new cljs.core.Keyword(null,"type","type",1174270348),"Airbase"],null),new cljs.core.PersistentArrayMap(null,5,[new cljs.core.Keyword(null,"x","x",2099068185),886,new cljs.core.Keyword(null,"y","y",-1757859776),675,new cljs.core.Keyword(null,
"owner","owner",-392611939),"Saudi Arabia",new cljs.core.Keyword(null,"name","name",1843675177),"Turaif",new cljs.core.Keyword(null,"type","type",1174270348),"Airbase"],null),new cljs.core.PersistentArrayMap(null,5,[new cljs.core.Keyword(null,"x","x",2099068185),670,new cljs.core.Keyword(null,"y","y",-1757859776),126,new cljs.core.Keyword(null,"owner","owner",-392611939),"Saudi Arabia",new cljs.core.Keyword(null,"name","name",1843675177),"Wejh",new cljs.core.Keyword(null,"type","type",1174270348),
"Airbase"],null),new cljs.core.PersistentArrayMap(null,5,[new cljs.core.Keyword(null,"x","x",2099068185),581,new cljs.core.Keyword(null,"y","y",-1757859776),947,new cljs.core.Keyword(null,"owner","owner",-392611939),"Syria",new cljs.core.Keyword(null,"name","name",1843675177),"Wujah Al Hajar",new cljs.core.Keyword(null,"type","type",1174270348),"Airbase"],null),new cljs.core.PersistentArrayMap(null,5,[new cljs.core.Keyword(null,"x","x",2099068185),328,new cljs.core.Keyword(null,"y","y",-1757859776),
392,new cljs.core.Keyword(null,"owner","owner",-392611939),"Egypt",new cljs.core.Keyword(null,"name","name",1843675177),"Abu Rudies",new cljs.core.Keyword(null,"type","type",1174270348),"Airbase"],null),new cljs.core.PersistentArrayMap(null,5,[new cljs.core.Keyword(null,"x","x",2099068185),146,new cljs.core.Keyword(null,"y","y",-1757859776),622,new cljs.core.Keyword(null,"owner","owner",-392611939),"Egypt",new cljs.core.Keyword(null,"name","name",1843675177),"Al Mansurha",new cljs.core.Keyword(null,
"type","type",1174270348),"Airbase"],null),new cljs.core.PersistentArrayMap(null,5,[new cljs.core.Keyword(null,"x","x",2099068185),200,new cljs.core.Keyword(null,"y","y",-1757859776),617,new cljs.core.Keyword(null,"owner","owner",-392611939),"Egypt",new cljs.core.Keyword(null,"name","name",1843675177),"Al Manzilah",new cljs.core.Keyword(null,"type","type",1174270348),"Airbase"],null),new cljs.core.PersistentArrayMap(null,5,[new cljs.core.Keyword(null,"x","x",2099068185),94,new cljs.core.Keyword(null,
"y","y",-1757859776),311,new cljs.core.Keyword(null,"owner","owner",-392611939),"Egypt",new cljs.core.Keyword(null,"name","name",1843675177),"Al Minya",new cljs.core.Keyword(null,"type","type",1174270348),"Airbase"],null),new cljs.core.PersistentArrayMap(null,5,[new cljs.core.Keyword(null,"x","x",2099068185),66,new cljs.core.Keyword(null,"y","y",-1757859776),617,new cljs.core.Keyword(null,"owner","owner",-392611939),"Egypt",new cljs.core.Keyword(null,"name","name",1843675177),"Al Rhamaniya",new cljs.core.Keyword(null,
"type","type",1174270348),"Airbase"],null),new cljs.core.PersistentArrayMap(null,5,[new cljs.core.Keyword(null,"x","x",2099068185),167,new cljs.core.Keyword(null,"y","y",-1757859776),573,new cljs.core.Keyword(null,"owner","owner",-392611939),"Egypt",new cljs.core.Keyword(null,"name","name",1843675177),"Al Zaqaziq",new cljs.core.Keyword(null,"type","type",1174270348),"Airbase"],null),new cljs.core.PersistentArrayMap(null,5,[new cljs.core.Keyword(null,"x","x",2099068185),219,new cljs.core.Keyword(null,
"y","y",-1757859776),570,new cljs.core.Keyword(null,"owner","owner",-392611939),"Egypt",new cljs.core.Keyword(null,"name","name",1843675177),"Alismaylia",new cljs.core.Keyword(null,"type","type",1174270348),"Airbase"],null),new cljs.core.PersistentArrayMap(null,5,[new cljs.core.Keyword(null,"x","x",2099068185),216,new cljs.core.Keyword(null,"y","y",-1757859776),604,new cljs.core.Keyword(null,"owner","owner",-392611939),"Egypt",new cljs.core.Keyword(null,"name","name",1843675177),"As Salihiya",new cljs.core.Keyword(null,
"type","type",1174270348),"Airbase"],null),new cljs.core.PersistentArrayMap(null,5,[new cljs.core.Keyword(null,"x","x",2099068185),99,new cljs.core.Keyword(null,"y","y",-1757859776),213,new cljs.core.Keyword(null,"owner","owner",-392611939),"Egypt",new cljs.core.Keyword(null,"name","name",1843675177),"Aysut",new cljs.core.Keyword(null,"type","type",1174270348),"Airbase"],null),new cljs.core.PersistentArrayMap(null,5,[new cljs.core.Keyword(null,"x","x",2099068185),262,new cljs.core.Keyword(null,"y",
"y",-1757859776),617,new cljs.core.Keyword(null,"owner","owner",-392611939),"Egypt",new cljs.core.Keyword(null,"name","name",1843675177),"Baluza",new cljs.core.Keyword(null,"type","type",1174270348),"Airbase"],null),new cljs.core.PersistentArrayMap(null,5,[new cljs.core.Keyword(null,"x","x",2099068185),101,new cljs.core.Keyword(null,"y","y",-1757859776),442,new cljs.core.Keyword(null,"owner","owner",-392611939),"Egypt",new cljs.core.Keyword(null,"name","name",1843675177),"Ben Suef",new cljs.core.Keyword(null,
"type","type",1174270348),"Airbase"],null),new cljs.core.PersistentArrayMap(null,5,[new cljs.core.Keyword(null,"x","x",2099068185),173,new cljs.core.Keyword(null,"y","y",-1757859776),549,new cljs.core.Keyword(null,"owner","owner",-392611939),"Egypt",new cljs.core.Keyword(null,"name","name",1843675177),"Bilbays 2",new cljs.core.Keyword(null,"type","type",1174270348),"Airbase"],null),new cljs.core.PersistentArrayMap(null,5,[new cljs.core.Keyword(null,"x","x",2099068185),321,new cljs.core.Keyword(null,
"y","y",-1757859776),549,new cljs.core.Keyword(null,"owner","owner",-392611939),"Egypt",new cljs.core.Keyword(null,"name","name",1843675177),"Bir Gifgafa",new cljs.core.Keyword(null,"type","type",1174270348),"Airbase"],null),new cljs.core.PersistentArrayMap(null,5,[new cljs.core.Keyword(null,"x","x",2099068185),98,new cljs.core.Keyword(null,"y","y",-1757859776),604,new cljs.core.Keyword(null,"owner","owner",-392611939),"Egypt",new cljs.core.Keyword(null,"name","name",1843675177),"Tanta",new cljs.core.Keyword(null,
"type","type",1174270348),"Airbase"],null),new cljs.core.PersistentArrayMap(null,5,[new cljs.core.Keyword(null,"x","x",2099068185),130,new cljs.core.Keyword(null,"y","y",-1757859776),514,new cljs.core.Keyword(null,"owner","owner",-392611939),"Egypt",new cljs.core.Keyword(null,"name","name",1843675177),"Cairo Almaza",new cljs.core.Keyword(null,"type","type",1174270348),"Airbase"],null),new cljs.core.PersistentArrayMap(null,5,[new cljs.core.Keyword(null,"x","x",2099068185),89,new cljs.core.Keyword(null,
"y","y",-1757859776),519,new cljs.core.Keyword(null,"owner","owner",-392611939),"Egypt",new cljs.core.Keyword(null,"name","name",1843675177),"Cairo West",new cljs.core.Keyword(null,"type","type",1174270348),"Airbase"],null),new cljs.core.PersistentArrayMap(null,5,[new cljs.core.Keyword(null,"x","x",2099068185),388,new cljs.core.Keyword(null,"y","y",-1757859776),616,new cljs.core.Keyword(null,"owner","owner",-392611939),"Egypt",new cljs.core.Keyword(null,"name","name",1843675177),"El Arish",new cljs.core.Keyword(null,
"type","type",1174270348),"Airbase"],null),new cljs.core.PersistentArrayMap(null,5,[new cljs.core.Keyword(null,"x","x",2099068185),379,new cljs.core.Keyword(null,"y","y",-1757859776),330,new cljs.core.Keyword(null,"owner","owner",-392611939),"Egypt",new cljs.core.Keyword(null,"name","name",1843675177),"El Tor",new cljs.core.Keyword(null,"type","type",1174270348),"Airbase"],null),new cljs.core.PersistentArrayMap(null,5,[new cljs.core.Keyword(null,"x","x",2099068185),122,new cljs.core.Keyword(null,
"y","y",-1757859776),523,new cljs.core.Keyword(null,"owner","owner",-392611939),"Egypt",new cljs.core.Keyword(null,"name","name",1843675177),"Embaba",new cljs.core.Keyword(null,"type","type",1174270348),"Airbase"],null),new cljs.core.PersistentArrayMap(null,5,[new cljs.core.Keyword(null,"x","x",2099068185),57,new cljs.core.Keyword(null,"y","y",-1757859776),567,new cljs.core.Keyword(null,"owner","owner",-392611939),"Egypt",new cljs.core.Keyword(null,"name","name",1843675177),"Gebel El Basur",new cljs.core.Keyword(null,
"type","type",1174270348),"Airbase"],null),new cljs.core.PersistentArrayMap(null,5,[new cljs.core.Keyword(null,"x","x",2099068185),142,new cljs.core.Keyword(null,"y","y",-1757859776),489,new cljs.core.Keyword(null,"owner","owner",-392611939),"Egypt",new cljs.core.Keyword(null,"name","name",1843675177),"Hulwan",new cljs.core.Keyword(null,"type","type",1174270348),"Airbase"],null),new cljs.core.PersistentArrayMap(null,5,[new cljs.core.Keyword(null,"x","x",2099068185),156,new cljs.core.Keyword(null,
"y","y",-1757859776),548,new cljs.core.Keyword(null,"owner","owner",-392611939),"Egypt",new cljs.core.Keyword(null,"name","name",1843675177),"Inshas",new cljs.core.Keyword(null,"type","type",1174270348),"Airbase"],null),new cljs.core.PersistentArrayMap(null,5,[new cljs.core.Keyword(null,"x","x",2099068185),27,new cljs.core.Keyword(null,"y","y",-1757859776),606,new cljs.core.Keyword(null,"owner","owner",-392611939),"Egypt",new cljs.core.Keyword(null,"name","name",1843675177),"Jinkalis New",new cljs.core.Keyword(null,
"type","type",1174270348),"Airbase"],null),new cljs.core.PersistentArrayMap(null,5,[new cljs.core.Keyword(null,"x","x",2099068185),247,new cljs.core.Keyword(null,"y","y",-1757859776),534,new cljs.core.Keyword(null,"owner","owner",-392611939),"Egypt",new cljs.core.Keyword(null,"name","name",1843675177),"Kirban",new cljs.core.Keyword(null,"type","type",1174270348),"Airbase"],null),new cljs.core.PersistentArrayMap(null,5,[new cljs.core.Keyword(null,"x","x",2099068185),86,new cljs.core.Keyword(null,"y",
"y",-1757859776),474,new cljs.core.Keyword(null,"owner","owner",-392611939),"Egypt",new cljs.core.Keyword(null,"name","name",1843675177),"Kom Awashim",new cljs.core.Keyword(null,"type","type",1174270348),"Airbase"],null),new cljs.core.PersistentArrayMap(null,5,[new cljs.core.Keyword(null,"x","x",2099068185),275,new cljs.core.Keyword(null,"y","y",-1757859776),57,new cljs.core.Keyword(null,"owner","owner",-392611939),"Egypt",new cljs.core.Keyword(null,"name","name",1843675177),"Luxur",new cljs.core.Keyword(null,
"type","type",1174270348),"Airbase"],null),new cljs.core.PersistentArrayMap(null,5,[new cljs.core.Keyword(null,"x","x",2099068185),225,new cljs.core.Keyword(null,"y","y",-1757859776),628,new cljs.core.Keyword(null,"owner","owner",-392611939),"Egypt",new cljs.core.Keyword(null,"name","name",1843675177),"Port Said",new cljs.core.Keyword(null,"type","type",1174270348),"Airbase"],null),new cljs.core.PersistentArrayMap(null,5,[new cljs.core.Keyword(null,"x","x",2099068185),363,new cljs.core.Keyword(null,
"y","y",-1757859776),293,new cljs.core.Keyword(null,"owner","owner",-392611939),"Egypt",new cljs.core.Keyword(null,"name","name",1843675177),"Ras Jimsha New",new cljs.core.Keyword(null,"type","type",1174270348),"Airbase"],null),new cljs.core.PersistentArrayMap(null,5,[new cljs.core.Keyword(null,"x","x",2099068185),443,new cljs.core.Keyword(null,"y","y",-1757859776),311,new cljs.core.Keyword(null,"owner","owner",-392611939),"Egypt",new cljs.core.Keyword(null,"name","name",1843675177),"Ras Nasrani",
new cljs.core.Keyword(null,"type","type",1174270348),"Airbase"],null),new cljs.core.PersistentArrayMap(null,5,[new cljs.core.Keyword(null,"x","x",2099068185),327,new cljs.core.Keyword(null,"y","y",-1757859776),327,new cljs.core.Keyword(null,"owner","owner",-392611939),"Egypt",new cljs.core.Keyword(null,"name","name",1843675177),"Ras Shukhayar New",new cljs.core.Keyword(null,"type","type",1174270348),"Airbase"],null),new cljs.core.PersistentArrayMap(null,5,[new cljs.core.Keyword(null,"x","x",2099068185),
278,new cljs.core.Keyword(null,"y","y",-1757859776),471,new cljs.core.Keyword(null,"owner","owner",-392611939),"Egypt",new cljs.core.Keyword(null,"name","name",1843675177),"Ras Sudr",new cljs.core.Keyword(null,"type","type",1174270348),"Airbase"],null),new cljs.core.PersistentArrayMap(null,5,[new cljs.core.Keyword(null,"x","x",2099068185),182,new cljs.core.Keyword(null,"y","y",-1757859776),521,new cljs.core.Keyword(null,"owner","owner",-392611939),"Egypt",new cljs.core.Keyword(null,"name","name",
1843675177),"Wadi Al Jandali",new cljs.core.Keyword(null,"type","type",1174270348),"Airbase"],null),new cljs.core.PersistentArrayMap(null,5,[new cljs.core.Keyword(null,"x","x",2099068185),209,new cljs.core.Keyword(null,"y","y",-1757859776),570,new cljs.core.Keyword(null,"owner","owner",-392611939),"Egypt",new cljs.core.Keyword(null,"name","name",1843675177),"Abu Suwayr",new cljs.core.Keyword(null,"type","type",1174270348),"Airbase"],null),new cljs.core.PersistentArrayMap(null,5,[new cljs.core.Keyword(null,
"x","x",2099068185),511,new cljs.core.Keyword(null,"y","y",-1757859776),470,new cljs.core.Keyword(null,"owner","owner",-392611939),"Jordan",new cljs.core.Keyword(null,"name","name",1843675177),"Aqaba INT",new cljs.core.Keyword(null,"type","type",1174270348),"Airbase"],null),new cljs.core.PersistentArrayMap(null,5,[new cljs.core.Keyword(null,"x","x",2099068185),167,new cljs.core.Keyword(null,"y","y",-1757859776),547,new cljs.core.Keyword(null,"owner","owner",-392611939),"Egypt",new cljs.core.Keyword(null,
"name","name",1843675177),"Bilbays",new cljs.core.Keyword(null,"type","type",1174270348),"Airbase"],null),new cljs.core.PersistentArrayMap(null,5,[new cljs.core.Keyword(null,"x","x",2099068185),343,new cljs.core.Keyword(null,"y","y",-1757859776),537,new cljs.core.Keyword(null,"owner","owner",-392611939),"Egypt",new cljs.core.Keyword(null,"name","name",1843675177),"Bir Hassana",new cljs.core.Keyword(null,"type","type",1174270348),"Airbase"],null),new cljs.core.PersistentArrayMap(null,5,[new cljs.core.Keyword(null,
"x","x",2099068185),154,new cljs.core.Keyword(null,"y","y",-1757859776),518,new cljs.core.Keyword(null,"owner","owner",-392611939),"Egypt",new cljs.core.Keyword(null,"name","name",1843675177),"Cairo INT",new cljs.core.Keyword(null,"type","type",1174270348),"Airbase"],null),new cljs.core.PersistentArrayMap(null,5,[new cljs.core.Keyword(null,"x","x",2099068185),233,new cljs.core.Keyword(null,"y","y",-1757859776),548,new cljs.core.Keyword(null,"owner","owner",-392611939),"Egypt",new cljs.core.Keyword(null,
"name","name",1843675177),"Faid",new cljs.core.Keyword(null,"type","type",1174270348),"Airbase"],null),new cljs.core.PersistentArrayMap(null,5,[new cljs.core.Keyword(null,"x","x",2099068185),1002,new cljs.core.Keyword(null,"y","y",-1757859776),805,new cljs.core.Keyword(null,"owner","owner",-392611939),"Saudi Arabia",new cljs.core.Keyword(null,"name","name",1843675177),"H 3",new cljs.core.Keyword(null,"type","type",1174270348),"Airbase"],null),new cljs.core.PersistentArrayMap(null,5,[new cljs.core.Keyword(null,
"x","x",2099068185),386,new cljs.core.Keyword(null,"y","y",-1757859776),217,new cljs.core.Keyword(null,"owner","owner",-392611939),"Egypt",new cljs.core.Keyword(null,"name","name",1843675177),"Hurghada",new cljs.core.Keyword(null,"type","type",1174270348),"Airbase"],null),new cljs.core.PersistentArrayMap(null,5,[new cljs.core.Keyword(null,"x","x",2099068185),662,new cljs.core.Keyword(null,"y","y",-1757859776),852,new cljs.core.Keyword(null,"owner","owner",-392611939),"Syria",new cljs.core.Keyword(null,
"name","name",1843675177),"Marj Ruhayyil",new cljs.core.Keyword(null,"type","type",1174270348),"Airbase"],null),new cljs.core.PersistentArrayMap(null,5,[new cljs.core.Keyword(null,"x","x",2099068185),55,new cljs.core.Keyword(null,"y","y",-1757859776),54,new cljs.core.Keyword(null,"owner","owner",-392611939),"Egypt",new cljs.core.Keyword(null,"name","name",1843675177),"New Valley",new cljs.core.Keyword(null,"type","type",1174270348),"Airbase"],null),new cljs.core.PersistentArrayMap(null,5,[new cljs.core.Keyword(null,
"x","x",2099068185),114,new cljs.core.Keyword(null,"y","y",-1757859776),565,new cljs.core.Keyword(null,"owner","owner",-392611939),"Egypt",new cljs.core.Keyword(null,"name","name",1843675177),"Quaswyina",new cljs.core.Keyword(null,"type","type",1174270348),"Airbase"],null),new cljs.core.PersistentArrayMap(null,5,[new cljs.core.Keyword(null,"x","x",2099068185),934,new cljs.core.Keyword(null,"y","y",-1757859776),763,new cljs.core.Keyword(null,"owner","owner",-392611939),"Saudi Arabia",new cljs.core.Keyword(null,
"name","name",1843675177),"Ruwayshid",new cljs.core.Keyword(null,"type","type",1174270348),"Airbase"],null),new cljs.core.PersistentArrayMap(null,5,[new cljs.core.Keyword(null,"x","x",2099068185),748,new cljs.core.Keyword(null,"y","y",-1757859776),888,new cljs.core.Keyword(null,"owner","owner",-392611939),"Syria",new cljs.core.Keyword(null,"name","name",1843675177),"Sayqal",new cljs.core.Keyword(null,"type","type",1174270348),"Airbase"],null),new cljs.core.PersistentArrayMap(null,5,[new cljs.core.Keyword(null,
"x","x",2099068185),691,new cljs.core.Keyword(null,"y","y",-1757859776),693,new cljs.core.Keyword(null,"owner","owner",-392611939),"Jordan",new cljs.core.Keyword(null,"name","name",1843675177),"Shaheed Mwaffaq",new cljs.core.Keyword(null,"type","type",1174270348),"Airbase"],null),new cljs.core.PersistentArrayMap(null,5,[new cljs.core.Keyword(null,"x","x",2099068185),313,new cljs.core.Keyword(null,"y","y",-1757859776),153,new cljs.core.Keyword(null,"owner","owner",-392611939),"Egypt",new cljs.core.Keyword(null,
"name","name",1843675177),"Wadi Abu Shifat",new cljs.core.Keyword(null,"type","type",1174270348),"Airbase"],null),new cljs.core.PersistentArrayMap(null,5,[new cljs.core.Keyword(null,"x","x",2099068185),426,new cljs.core.Keyword(null,"y","y",-1757859776),620,new cljs.core.Keyword(null,"owner","owner",-392611939),"Egypt",new cljs.core.Keyword(null,"name","name",1843675177),"El Gora",new cljs.core.Keyword(null,"type","type",1174270348),"Airbase"],null),new cljs.core.PersistentArrayMap(null,5,[new cljs.core.Keyword(null,
"x","x",2099068185),421,new cljs.core.Keyword(null,"y","y",-1757859776),375,new cljs.core.Keyword(null,"owner","owner",-392611939),"Egypt",new cljs.core.Keyword(null,"name","name",1843675177),"St Cathrine",new cljs.core.Keyword(null,"type","type",1174270348),"Airbase"],null),new cljs.core.PersistentArrayMap(null,5,[new cljs.core.Keyword(null,"x","x",2099068185),522,new cljs.core.Keyword(null,"y","y",-1757859776),634,new cljs.core.Keyword(null,"owner","owner",-392611939),"Israel",new cljs.core.Keyword(null,
"name","name",1843675177),"Nevatim",new cljs.core.Keyword(null,"type","type",1174270348),"Airbase"],null),new cljs.core.PersistentArrayMap(null,5,[new cljs.core.Keyword(null,"x","x",2099068185),478,new cljs.core.Keyword(null,"y","y",-1757859776),705,new cljs.core.Keyword(null,"owner","owner",-392611939),"Israel",new cljs.core.Keyword(null,"name","name",1843675177),"Palmachim",new cljs.core.Keyword(null,"type","type",1174270348),"Airbase"],null),new cljs.core.PersistentArrayMap(null,5,[new cljs.core.Keyword(null,
"x","x",2099068185),475,new cljs.core.Keyword(null,"y","y",-1757859776),589,new cljs.core.Keyword(null,"owner","owner",-392611939),"Israel",new cljs.core.Keyword(null,"name","name",1843675177),"Ramon",new cljs.core.Keyword(null,"type","type",1174270348),"Airbase"],null),new cljs.core.PersistentArrayMap(null,5,[new cljs.core.Keyword(null,"x","x",2099068185),533,new cljs.core.Keyword(null,"y","y",-1757859776),775,new cljs.core.Keyword(null,"owner","owner",-392611939),"Israel",new cljs.core.Keyword(null,
"name","name",1843675177),"Megiddo",new cljs.core.Keyword(null,"type","type",1174270348),"Airstrip"],null),new cljs.core.PersistentArrayMap(null,5,[new cljs.core.Keyword(null,"x","x",2099068185),506,new cljs.core.Keyword(null,"y","y",-1757859776),469,new cljs.core.Keyword(null,"owner","owner",-392611939),"Israel",new cljs.core.Keyword(null,"name","name",1843675177),"Eilat",new cljs.core.Keyword(null,"type","type",1174270348),"Airbase"],null),new cljs.core.PersistentArrayMap(null,5,[new cljs.core.Keyword(null,
"x","x",2099068185),648,new cljs.core.Keyword(null,"y","y",-1757859776),794,new cljs.core.Keyword(null,"owner","owner",-392611939),"Syria",new cljs.core.Keyword(null,"name","name",1843675177),"As Suwayda West",new cljs.core.Keyword(null,"type","type",1174270348),"Airbase"],null),new cljs.core.PersistentArrayMap(null,5,[new cljs.core.Keyword(null,"x","x",2099068185),305,new cljs.core.Keyword(null,"y","y",-1757859776),982,new cljs.core.Keyword(null,"owner","owner",-392611939),"NATO",new cljs.core.Keyword(null,
"name","name",1843675177),"Akrotiri",new cljs.core.Keyword(null,"type","type",1174270348),"Airbase"],null),new cljs.core.PersistentArrayMap(null,5,[new cljs.core.Keyword(null,"x","x",2099068185),573,new cljs.core.Keyword(null,"y","y",-1757859776),822,new cljs.core.Keyword(null,"owner","owner",-392611939),"Israel",new cljs.core.Keyword(null,"name","name",1843675177),"Rosh Pina",new cljs.core.Keyword(null,"type","type",1174270348),"Airstrip"],null)],!0)],null);weathergen.database.theater_info=new cljs.core.PersistentArrayMap(null,4,[new cljs.core.Keyword(null,"korea","korea",-1788137114),weathergen.database.korea.theater_info,new cljs.core.Keyword(null,"balkans","balkans",-514308101),weathergen.database.balkans.theater_info,new cljs.core.Keyword(null,"israel","israel",893888780),weathergen.database.israel.theater_info,new cljs.core.Keyword(null,"kuriles","kuriles",1501726930),weathergen.database.kuriles.theater_info],null);
weathergen.database.airbases=function(a){return cljs.core.filter.call(null,function(a){return(new cljs.core.PersistentHashSet(null,new cljs.core.PersistentArrayMap(null,2,["Airstrip",null,"Airbase",null],null),null)).call(null,(new cljs.core.Keyword(null,"type","type",1174270348)).cljs$core$IFn$_invoke$arity$1(a))},(new cljs.core.Keyword(null,"objectives","objectives",933939509)).cljs$core$IFn$_invoke$arity$1(cljs.core.get.call(null,weathergen.database.theater_info,a,cljs.core.PersistentArrayMap.EMPTY)))};weathergen.math={};weathergen.math.low_bits=function(a,b){return a&(1<<b)-1};weathergen.math.high_bits=function(a,b){return a>>32-b};weathergen.math.bit_rotate_right=function(a,b){return weathergen.math.high_bits.call(null,a,32-b)+(weathergen.math.low_bits.call(null,a,b)<<32-b)};weathergen.math.bit_rotate_left=function(a,b){return weathergen.math.high_bits.call(null,a,b)+(weathergen.math.low_bits.call(null,a,32-b)<<b)};weathergen.math.frac=function(a){return a-cljs.core.long$.call(null,a)};
weathergen.math.whole=cljs.core.long$;weathergen.math.clamp=function(a,b,c){return c<a?a:b<c?b:c};weathergen.math.mean=function(a,b){return(a+b)/2};weathergen.math.interpolate=function(a,b,c){return(1-c)*a+c*b};weathergen.math.vector_interpolate=function(a,b,c,d,e){c=function(a){return function(b,c){return(1-a)*b+a*c}}((c-d)/(e-d));return cljs.core.mapv.call(null,c,a,b)};
weathergen.math.vector_add=function(a){for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;b=0<b.length?new cljs.core.IndexedSeq(b.slice(0),0,null):null;return weathergen.math.vector_add.cljs$core$IFn$_invoke$arity$variadic(b)};weathergen.math.vector_add.cljs$core$IFn$_invoke$arity$variadic=function(a){return cljs.core.apply.call(null,cljs.core.mapv,cljs.core._PLUS_,a)};weathergen.math.vector_add.cljs$lang$maxFixedArity=0;
weathergen.math.vector_add.cljs$lang$applyTo=function(a){return this.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq.call(null,a))};weathergen.math.vector_subtract=function(a){for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;b=0<b.length?new cljs.core.IndexedSeq(b.slice(0),0,null):null;return weathergen.math.vector_subtract.cljs$core$IFn$_invoke$arity$variadic(b)};
weathergen.math.vector_subtract.cljs$core$IFn$_invoke$arity$variadic=function(a){return cljs.core.apply.call(null,cljs.core.mapv,cljs.core._,a)};weathergen.math.vector_subtract.cljs$lang$maxFixedArity=0;weathergen.math.vector_subtract.cljs$lang$applyTo=function(a){return this.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq.call(null,a))};weathergen.math.vector_scale=function(a,b){return cljs.core.mapv.call(null,function(b){return a*b},b)};
weathergen.math.vector_clamp=function(a,b,c){var d=cljs.core.nth.call(null,a,0,null);a=cljs.core.nth.call(null,a,1,null);var e=cljs.core.nth.call(null,b,0,null);b=cljs.core.nth.call(null,b,1,null);var f=cljs.core.nth.call(null,c,0,null);c=cljs.core.nth.call(null,c,1,null);return new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[weathergen.math.clamp.call(null,e,f,d),weathergen.math.clamp.call(null,b,c,a)],null)};
weathergen.math.scramble=function(a){switch(arguments.length){case 1:return weathergen.math.scramble.cljs$core$IFn$_invoke$arity$1(arguments[0]);case 2:return weathergen.math.scramble.cljs$core$IFn$_invoke$arity$2(arguments[0],arguments[1]);default:throw Error(["Invalid arity: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(""));}};weathergen.math.scramble.cljs$core$IFn$_invoke$arity$1=function(a){return weathergen.math.scramble.call(null,a,1)};
weathergen.math.scramble.cljs$core$IFn$_invoke$arity$2=function(a,b){return weathergen.math.frac.call(null,1E5*Math.abs(Math.sin(a*b)))};weathergen.math.scramble.cljs$lang$maxFixedArity=2;
weathergen.math.discrete_noise_field=function(a){switch(arguments.length){case 2:return weathergen.math.discrete_noise_field.cljs$core$IFn$_invoke$arity$2(arguments[0],arguments[1]);case 3:return weathergen.math.discrete_noise_field.cljs$core$IFn$_invoke$arity$3(arguments[0],arguments[1],arguments[2]);default:throw Error(["Invalid arity: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(""));}};
weathergen.math.discrete_noise_field.cljs$core$IFn$_invoke$arity$2=function(a,b){return weathergen.math.discrete_noise_field.call(null,a,b,1)};weathergen.math.discrete_noise_field.cljs$core$IFn$_invoke$arity$3=function(a,b,c){return weathergen.math.scramble.call(null,65521*a+b,c)};weathergen.math.discrete_noise_field.cljs$lang$maxFixedArity=3;
weathergen.math.continuous_noise_field=function(a){switch(arguments.length){case 2:return weathergen.math.continuous_noise_field.cljs$core$IFn$_invoke$arity$2(arguments[0],arguments[1]);case 3:return weathergen.math.continuous_noise_field.cljs$core$IFn$_invoke$arity$3(arguments[0],arguments[1],arguments[2]);default:throw Error(["Invalid arity: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(""));}};
weathergen.math.continuous_noise_field.cljs$core$IFn$_invoke$arity$2=function(a,b){return weathergen.math.continuous_noise_field.call(null,a,b,1)};
weathergen.math.continuous_noise_field.cljs$core$IFn$_invoke$arity$3=function(a,b,c){var d=cljs.core.mod.call(null,weathergen.math.frac.call(null,a),1),e=cljs.core.mod.call(null,weathergen.math.frac.call(null,b),1);a=Math.floor(a);b=Math.floor(b);return weathergen.math.interpolate.call(null,weathergen.math.interpolate.call(null,weathergen.math.discrete_noise_field.call(null,a,b,c),weathergen.math.discrete_noise_field.call(null,a+1,b,c),d),weathergen.math.interpolate.call(null,weathergen.math.discrete_noise_field.call(null,
a,b+1,c),weathergen.math.discrete_noise_field.call(null,a+1,b+1,c),d),e)};weathergen.math.continuous_noise_field.cljs$lang$maxFixedArity=3;
weathergen.math.fractal_field=function(a){switch(arguments.length){case 3:return weathergen.math.fractal_field.cljs$core$IFn$_invoke$arity$3(arguments[0],arguments[1],arguments[2]);case 5:return weathergen.math.fractal_field.cljs$core$IFn$_invoke$arity$5(arguments[0],arguments[1],arguments[2],arguments[3],arguments[4]);default:throw Error(["Invalid arity: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(""));}};
weathergen.math.fractal_field.cljs$core$IFn$_invoke$arity$3=function(a,b,c){return weathergen.math.fractal_field.call(null,a,b,c,1,1)};weathergen.math.fractal_field.cljs$core$IFn$_invoke$arity$5=function(a,b,c,d,e){for(var f=0,g=c;;){if(g<e)return f;f+=weathergen.math.continuous_noise_field.call(null,a/g,b/g,d)*(g/c/2);g/=2}};weathergen.math.fractal_field.cljs$lang$maxFixedArity=5;
weathergen.math.magnitude=function(a){var b=cljs.core.nth.call(null,a,0,null);a=cljs.core.nth.call(null,a,1,null);return Math.sqrt(b*b+a*a)};weathergen.math.heading=function(a){var b=cljs.core.nth.call(null,a,0,null);a=cljs.core.nth.call(null,a,1,null);return cljs.core.mod.call(null,180*Math.atan2(b,a)/Math.PI,360)};
weathergen.math.gradient=function(a){switch(arguments.length){case 4:return weathergen.math.gradient.cljs$core$IFn$_invoke$arity$4(arguments[0],arguments[1],arguments[2],arguments[3]);case 5:return weathergen.math.gradient.cljs$core$IFn$_invoke$arity$5(arguments[0],arguments[1],arguments[2],arguments[3],arguments[4]);default:throw Error(["Invalid arity: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(""));}};
weathergen.math.gradient.cljs$core$IFn$_invoke$arity$4=function(a,b,c,d){return weathergen.math.gradient.call(null,a,b,c,d,c.call(null,a,b))};weathergen.math.gradient.cljs$core$IFn$_invoke$arity$5=function(a,b,c,d,e){var f=c.call(null,a+d,b);a=c.call(null,a,b+d);return new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[(f-e)/d,(a-e)/d],null)};weathergen.math.gradient.cljs$lang$maxFixedArity=5;weathergen.math.nearest=function(a,b){return Math.round(a/b)*b};
weathergen.math.scale=function(a,b){return cljs.core.mapv.call(null,function(b){return a*b},b)};weathergen.math.deg__GT_rad=function(a){return a*Math.PI/180};weathergen.math.rad__GT_deg=function(a){return 180*a/Math.PI};
weathergen.math.rotate=function(a,b){var c=cljs.core.nth.call(null,b,0,null);b=cljs.core.nth.call(null,b,1,null);var d=weathergen.math.deg__GT_rad.call(null,-a);a=Math.cos(d);d=Math.sin(d);return new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[c*a-b*d,c*d+b*a],null)};weathergen.math.normalize=function(a){var b=weathergen.math.magnitude.call(null,a);return 0===b?a:cljs.core.mapv.call(null,function(a){return function(b){return b/a}}(b),a)};
weathergen.math.distribute=function(a,b,c,d,e){a=2*a-1;e=Math.pow(Math.abs(a),e);return 0>a?(1-e)*(c-b)+b:e*(d-c)+c};weathergen.math.reject_tails=function(a,b){return weathergen.math.clamp.call(null,-1,1,1/(1-a)*(b-.5)*2)/2+.5};weathergen.coordinates={};weathergen.coordinates.ft_per_nm=6076.12;weathergen.coordinates.ft_per_km=3280.84;weathergen.coordinates.ft_per_m=weathergen.coordinates.ft_per_km/1E3;weathergen.coordinates.nm_per_km=weathergen.coordinates.ft_per_km/weathergen.coordinates.ft_per_nm;weathergen.coordinates.nm_per_map=1024*weathergen.coordinates.ft_per_km/weathergen.coordinates.ft_per_nm;
weathergen.coordinates.nm_per_map2=function(a){return(new cljs.core.Keyword(null,"theater-size-x","theater-size-x",1642493141)).cljs$core$IFn$_invoke$arity$1((new cljs.core.Keyword(null,"campaign-info","campaign-info",1158908966)).cljs$core$IFn$_invoke$arity$1(a))*weathergen.coordinates.ft_per_km/weathergen.coordinates.ft_per_nm};weathergen.coordinates.nm__GT_ft=function(a){return a*weathergen.coordinates.ft_per_nm};weathergen.coordinates.m__GT_ft=function(a){return a*weathergen.coordinates.ft_per_m};
weathergen.coordinates.fgrid__GT_nm=function(a){return a*weathergen.coordinates.nm_per_km};weathergen.coordinates.km__GT_nm=weathergen.coordinates.fgrid__GT_nm;weathergen.coordinates.ft__GT_nm=function(a){return a/weathergen.coordinates.ft_per_nm};weathergen.coordinates.m__GT_nm=function(a){return weathergen.coordinates.km__GT_nm.call(null,a/1E3)};weathergen.coordinates.dm__GT_deg=function(a){var b=cljs.core.nth.call(null,a,0,null);a=cljs.core.nth.call(null,a,1,null);return b+a/60};
weathergen.coordinates.lat_long__GT_grid=function(a,b,c){var d=cljs.core.nth.call(null,a,0,null);a=cljs.core.nth.call(null,a,1,null);var e=cljs.core.nth.call(null,c,0,null);c=cljs.core.nth.call(null,c,1,null);b=cljs.core.get_in.call(null,weathergen.database.theater_info,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[b,new cljs.core.Keyword(null,"mapping","mapping",-1242405430)],null));var f=null!=b&&(b.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===
b.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,b):b;b=cljs.core.get.call(null,f,new cljs.core.Keyword(null,"left","left",-399115937));var g=cljs.core.get.call(null,f,new cljs.core.Keyword(null,"top","top",-1856271961)),h=cljs.core.get.call(null,f,new cljs.core.Keyword(null,"bottom","bottom",-1550509018));f=cljs.core.get.call(null,f,new cljs.core.Keyword(null,"top-right","top-right",284698505));f=cljs.core.map.call(null,weathergen.coordinates.dm__GT_deg,new cljs.core.PersistentVector(null,
6,5,cljs.core.PersistentVector.EMPTY_NODE,[b,g,h,f,e,c],null));e=cljs.core.nth.call(null,f,0,null);c=cljs.core.nth.call(null,f,1,null);b=cljs.core.nth.call(null,f,2,null);g=cljs.core.nth.call(null,f,3,null);h=cljs.core.nth.call(null,f,4,null);f=cljs.core.nth.call(null,f,5,null);var k=weathergen.math.deg__GT_rad.call(null,c),l=weathergen.math.deg__GT_rad.call(null,h);return new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[(f-e)/(g-e)/Math.cos(k)*Math.cos(l)*d,(h-c)/(b-
c)*a],null)};
weathergen.coordinates.airbase_coordinates=function(a,b,c){var d=cljs.core.nth.call(null,a,0,null),e=cljs.core.nth.call(null,a,1,null);a=cljs.core.first.call(null,cljs.core.filter.call(null,function(a,b,d){return function(a){return cljs.core._EQ_.call(null,(new cljs.core.Keyword(null,"name","name",1843675177)).cljs$core$IFn$_invoke$arity$1(a),c)}}(a,d,e),weathergen.database.airbases.call(null,b)));var f=null!=a&&(a.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===a.cljs$core$ISeq$)?
cljs.core.apply.call(null,cljs.core.hash_map,a):a;a=cljs.core.get.call(null,f,new cljs.core.Keyword(null,"x","x",2099068185));f=cljs.core.get.call(null,f,new cljs.core.Keyword(null,"y","y",-1757859776));if(cljs.core.truth_(cljs.core.truth_(a)?f:a)){var g=(new cljs.core.Keyword(null,"size","size",1098693007)).cljs$core$IFn$_invoke$arity$1(b.call(null,weathergen.database.theater_info));b=cljs.core.nth.call(null,g,0,null);g=cljs.core.nth.call(null,g,1,null);return new cljs.core.PersistentVector(null,
2,5,cljs.core.PersistentVector.EMPTY_NODE,[a/b*d|0,e-1-(f/g*e|0)],null)}return null};weathergen.coordinates.ffeet__GT_weather=function(a,b,c){var d=cljs.core.nth.call(null,a,0,null);a=cljs.core.nth.call(null,a,1,null);return new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[weathergen.coordinates.ft__GT_nm.call(null,c)/weathergen.coordinates.nm_per_map*a,d-weathergen.coordinates.ft__GT_nm.call(null,b)/weathergen.coordinates.nm_per_map*d],null)};
weathergen.coordinates.ffeet__GT_weather2=function(a,b,c){return new cljs.core.PersistentArrayMap(null,2,[new cljs.core.Keyword(null,"y","y",-1757859776),weathergen.coordinates.ft__GT_nm.call(null,c)/weathergen.coordinates.nm_per_map2.call(null,a)*59,new cljs.core.Keyword(null,"x","x",2099068185),59-weathergen.coordinates.ft__GT_nm.call(null,b)/weathergen.coordinates.nm_per_map2.call(null,a)*59],null)};
weathergen.coordinates.acmi__GT_weather=function(a,b,c){return new cljs.core.PersistentArrayMap(null,2,[new cljs.core.Keyword(null,"x","x",2099068185),weathergen.coordinates.m__GT_nm.call(null,b)/weathergen.coordinates.nm_per_map2.call(null,a)*59,new cljs.core.Keyword(null,"y","y",-1757859776),59-weathergen.coordinates.m__GT_nm.call(null,c)/weathergen.coordinates.nm_per_map2.call(null,a)*59],null)};
weathergen.coordinates.weather__GT_fgrid=function(a,b){var c=null!=b&&(b.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===b.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,b):b;b=cljs.core.get.call(null,c,new cljs.core.Keyword(null,"x","x",2099068185));c=cljs.core.get.call(null,c,new cljs.core.Keyword(null,"y","y",-1757859776));return new cljs.core.PersistentArrayMap(null,2,[new cljs.core.Keyword(null,"x","x",2099068185),b/59*(new cljs.core.Keyword(null,"theater-size-x",
"theater-size-x",1642493141)).cljs$core$IFn$_invoke$arity$1((new cljs.core.Keyword(null,"campaign-info","campaign-info",1158908966)).cljs$core$IFn$_invoke$arity$1(a)),new cljs.core.Keyword(null,"y","y",-1757859776),(1-c/59)*(new cljs.core.Keyword(null,"theater-size-y","theater-size-y",-1863614166)).cljs$core$IFn$_invoke$arity$1((new cljs.core.Keyword(null,"campaign-info","campaign-info",1158908966)).cljs$core$IFn$_invoke$arity$1(a))],null)};
weathergen.coordinates.weather__GT_nm=function(a,b){return b/59*(new cljs.core.Keyword(null,"theater-size-x","theater-size-x",1642493141)).cljs$core$IFn$_invoke$arity$1((new cljs.core.Keyword(null,"campaign-info","campaign-info",1158908966)).cljs$core$IFn$_invoke$arity$1(a))*weathergen.coordinates.nm_per_km};
weathergen.coordinates.nm__GT_weather=function(a,b){return b/weathergen.coordinates.nm_per_km/(new cljs.core.Keyword(null,"theater-size-x","theater-size-x",1642493141)).cljs$core$IFn$_invoke$arity$1((new cljs.core.Keyword(null,"campaign-info","campaign-info",1158908966)).cljs$core$IFn$_invoke$arity$1(a))*59};
weathergen.coordinates.fgrid__GT_weather=function(a,b,c){return new cljs.core.PersistentArrayMap(null,2,[new cljs.core.Keyword(null,"x","x",2099068185),b/(new cljs.core.Keyword(null,"theater-size-x","theater-size-x",1642493141)).cljs$core$IFn$_invoke$arity$1((new cljs.core.Keyword(null,"campaign-info","campaign-info",1158908966)).cljs$core$IFn$_invoke$arity$1(a))*59,new cljs.core.Keyword(null,"y","y",-1757859776),59*(1-c/(new cljs.core.Keyword(null,"theater-size-y","theater-size-y",-1863614166)).cljs$core$IFn$_invoke$arity$1((new cljs.core.Keyword(null,
"campaign-info","campaign-info",1158908966)).cljs$core$IFn$_invoke$arity$1(a)))],null)};
weathergen.coordinates.weather__GT_bullseye=function(a,b){var c=null!=b&&(b.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===b.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,b):b;cljs.core.get.call(null,c,new cljs.core.Keyword(null,"x","x",2099068185));cljs.core.get.call(null,c,new cljs.core.Keyword(null,"y","y",-1757859776));if(cljs.core.truth_(a)){b=null!=a&&(a.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===a.cljs$core$ISeq$)?cljs.core.apply.call(null,
cljs.core.hash_map,a):a;b=cljs.core.get.call(null,b,new cljs.core.Keyword(null,"campaign-info","campaign-info",1158908966));var d=null!=b&&(b.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===b.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,b):b;b=cljs.core.get.call(null,d,new cljs.core.Keyword(null,"bullseye-x","bullseye-x",-1698783852));d=cljs.core.get.call(null,d,new cljs.core.Keyword(null,"bullseye-y","bullseye-y",904460818));a=weathergen.coordinates.weather__GT_fgrid.call(null,
a,c);c=null!=a&&(a.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===a.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,a):a;a=cljs.core.get.call(null,c,new cljs.core.Keyword(null,"x","x",2099068185));c=cljs.core.get.call(null,c,new cljs.core.Keyword(null,"y","y",-1757859776));b=new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[a-b,c-d],null);return new cljs.core.PersistentArrayMap(null,2,[new cljs.core.Keyword(null,"heading","heading",
-1312171873),weathergen.math.heading.call(null,b),new cljs.core.Keyword(null,"distance","distance",-1671893894),weathergen.math.magnitude.call(null,b)*weathergen.coordinates.nm_per_km],null)}return null};weathergen.progress={};weathergen.progress._STAR_reporter_STAR_=null;weathergen.progress._STAR_current_step_STAR_=null;weathergen.progress.Reporter=function(){};
weathergen.progress._start_step=function(a,b,c){if(null!=a&&null!=a.weathergen$progress$Reporter$_start_step$arity$3)return a.weathergen$progress$Reporter$_start_step$arity$3(a,b,c);var d=weathergen.progress._start_step[goog.typeOf(null==a?null:a)];if(null!=d)return d.call(null,a,b,c);d=weathergen.progress._start_step._;if(null!=d)return d.call(null,a,b,c);throw cljs.core.missing_protocol.call(null,"Reporter.-start-step",a);};weathergen.progress.Step=function(){};
weathergen.progress._succeeded=function(a){if(null!=a&&null!=a.weathergen$progress$Step$_succeeded$arity$1)return a.weathergen$progress$Step$_succeeded$arity$1(a);var b=weathergen.progress._succeeded[goog.typeOf(null==a?null:a)];if(null!=b)return b.call(null,a);b=weathergen.progress._succeeded._;if(null!=b)return b.call(null,a);throw cljs.core.missing_protocol.call(null,"Step.-succeeded",a);};
weathergen.progress._warn=function(a,b){if(null!=a&&null!=a.weathergen$progress$Step$_warn$arity$2)return a.weathergen$progress$Step$_warn$arity$2(a,b);var c=weathergen.progress._warn[goog.typeOf(null==a?null:a)];if(null!=c)return c.call(null,a,b);c=weathergen.progress._warn._;if(null!=c)return c.call(null,a,b);throw cljs.core.missing_protocol.call(null,"Step.-warn",a);};
weathergen.progress._failed=function(a,b){if(null!=a&&null!=a.weathergen$progress$Step$_failed$arity$2)return a.weathergen$progress$Step$_failed$arity$2(a,b);var c=weathergen.progress._failed[goog.typeOf(null==a?null:a)];if(null!=c)return c.call(null,a,b);c=weathergen.progress._failed._;if(null!=c)return c.call(null,a,b);throw cljs.core.missing_protocol.call(null,"Step.-failed",a);};
weathergen.progress._id=function(a){if(null!=a&&null!=a.weathergen$progress$Step$_id$arity$1)return a.weathergen$progress$Step$_id$arity$1(a);var b=weathergen.progress._id[goog.typeOf(null==a?null:a)];if(null!=b)return b.call(null,a);b=weathergen.progress._id._;if(null!=b)return b.call(null,a);throw cljs.core.missing_protocol.call(null,"Step.-id",a);};
weathergen.progress.report=function(a){return cljs.core.truth_(weathergen.progress._STAR_reporter_STAR_)?weathergen.progress._STAR_reporter_STAR_.call(null,a):null};
weathergen.progress.start_step=function(a,b){return cljs.core.truth_(weathergen.progress._STAR_reporter_STAR_)?(taoensso.timbre._log_BANG_.call(null,taoensso.timbre._STAR_config_STAR_,new cljs.core.Keyword(null,"info","info",-317069002),"weathergen.progress",null,38,new cljs.core.Keyword(null,"p","p",151049309),new cljs.core.Keyword(null,"auto","auto",-566279492),new cljs.core.Delay(function(){return new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,["Starting ",a],null)},
null),null,-1668750334),weathergen.progress._start_step.call(null,weathergen.progress._STAR_reporter_STAR_,a,b)):null};weathergen.progress.step_succeeded=function(a){switch(arguments.length){case 0:return weathergen.progress.step_succeeded.cljs$core$IFn$_invoke$arity$0();case 1:return weathergen.progress.step_succeeded.cljs$core$IFn$_invoke$arity$1(arguments[0]);default:throw Error(["Invalid arity: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(""));}};
weathergen.progress.step_succeeded.cljs$core$IFn$_invoke$arity$0=function(){return weathergen.progress.step_succeeded.call(null,weathergen.progress._STAR_current_step_STAR_)};
weathergen.progress.step_succeeded.cljs$core$IFn$_invoke$arity$1=function(a){return cljs.core.truth_(a)?(taoensso.timbre._log_BANG_.call(null,taoensso.timbre._STAR_config_STAR_,new cljs.core.Keyword(null,"info","info",-317069002),"weathergen.progress",null,47,new cljs.core.Keyword(null,"p","p",151049309),new cljs.core.Keyword(null,"auto","auto",-566279492),new cljs.core.Delay(function(){return new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,["Step Succeeded"],null)},
null),null,562939723),weathergen.progress._succeeded.call(null,a)):null};weathergen.progress.step_succeeded.cljs$lang$maxFixedArity=1;
weathergen.progress.step_warn=function(a){switch(arguments.length){case 1:return weathergen.progress.step_warn.cljs$core$IFn$_invoke$arity$1(arguments[0]);case 2:return weathergen.progress.step_warn.cljs$core$IFn$_invoke$arity$2(arguments[0],arguments[1]);default:throw Error(["Invalid arity: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(""));}};
weathergen.progress.step_warn.cljs$core$IFn$_invoke$arity$1=function(a){return weathergen.progress.step_warn.call(null,weathergen.progress._STAR_current_step_STAR_,a)};
weathergen.progress.step_warn.cljs$core$IFn$_invoke$arity$2=function(a,b){return cljs.core.truth_(a)?(taoensso.timbre._log_BANG_.call(null,taoensso.timbre._STAR_config_STAR_,new cljs.core.Keyword(null,"warn","warn",-436710552),"weathergen.progress",null,56,new cljs.core.Keyword(null,"p","p",151049309),new cljs.core.Keyword(null,"auto","auto",-566279492),new cljs.core.Delay(function(){return new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,["Step warning",b],null)},null),
null,-340394417),weathergen.progress._warn.call(null,a,b)):null};weathergen.progress.step_warn.cljs$lang$maxFixedArity=2;weathergen.progress.step_failed=function(a){switch(arguments.length){case 1:return weathergen.progress.step_failed.cljs$core$IFn$_invoke$arity$1(arguments[0]);case 2:return weathergen.progress.step_failed.cljs$core$IFn$_invoke$arity$2(arguments[0],arguments[1]);default:throw Error(["Invalid arity: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(""));}};
weathergen.progress.step_failed.cljs$core$IFn$_invoke$arity$1=function(a){return weathergen.progress.step_failed.call(null,weathergen.progress._STAR_current_step_STAR_,a)};
weathergen.progress.step_failed.cljs$core$IFn$_invoke$arity$2=function(a,b){return cljs.core.truth_(a)?(taoensso.timbre._log_BANG_.call(null,taoensso.timbre._STAR_config_STAR_,new cljs.core.Keyword(null,"error","error",-978969032),"weathergen.progress",null,65,new cljs.core.Keyword(null,"p","p",151049309),new cljs.core.Keyword(null,"auto","auto",-566279492),new cljs.core.Delay(function(){return new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,["Step error",b],null)},null),
null,270841425),weathergen.progress._failed.call(null,a,b)):null};weathergen.progress.step_failed.cljs$lang$maxFixedArity=2;
weathergen.progress.with_step=function(a,b){a=weathergen.progress.start_step.call(null,a,weathergen.progress._STAR_current_step_STAR_);var c=weathergen.progress._STAR_current_step_STAR_;weathergen.progress._STAR_current_step_STAR_=a;try{try{var d=b.call(null);weathergen.progress.step_succeeded.call(null);return d}catch(f){var e=f;console.error("Caught error","propagated?",cljs.core._EQ_.call(null,(new cljs.core.Keyword(null,"type","type",1174270348)).cljs$core$IFn$_invoke$arity$1(cljs.core.ex_data.call(null,
e)),new cljs.core.Keyword("weathergen.progress","propagated-error","weathergen.progress/propagated-error",1931683700)),":x",e,":data",cljs.core.ex_data.call(null,e));weathergen.progress.step_failed.call(null,function(){var a=cljs.core.ex_data.call(null,e),b=null!=a&&(a.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===a.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,a):a;a=cljs.core.get.call(null,b,new cljs.core.Keyword(null,"type","type",1174270348));b=cljs.core.get.call(null,
b,new cljs.core.Keyword(null,"omit-stack-trace?","omit-stack-trace?",1080142229));return cljs.core._EQ_.call(null,a,new cljs.core.Keyword("weathergen.progress","propagated-error","weathergen.progress/propagated-error",1931683700))?null:cljs.core.truth_(b)?e.message:e.stack}());throw cljs.core.ex_info.call(null,"Propagated error",new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"type","type",1174270348),new cljs.core.Keyword("weathergen.progress","propagated-error","weathergen.progress/propagated-error",
1931683700)],null),e);}}finally{weathergen.progress._STAR_current_step_STAR_=c}};clojure.walk={};
clojure.walk.walk=function(a,b,c){return cljs.core.list_QMARK_.call(null,c)?b.call(null,cljs.core.apply.call(null,cljs.core.list,cljs.core.map.call(null,a,c))):cljs.core.map_entry_QMARK_.call(null,c)?b.call(null,new cljs.core.MapEntry(a.call(null,cljs.core.key.call(null,c)),a.call(null,cljs.core.val.call(null,c)),null)):cljs.core.seq_QMARK_.call(null,c)?b.call(null,cljs.core.doall.call(null,cljs.core.map.call(null,a,c))):cljs.core.record_QMARK_.call(null,c)?b.call(null,cljs.core.reduce.call(null,function(b,
c){return cljs.core.conj.call(null,b,a.call(null,c))},c,c)):cljs.core.coll_QMARK_.call(null,c)?b.call(null,cljs.core.into.call(null,cljs.core.empty.call(null,c),cljs.core.map.call(null,a,c))):b.call(null,c)};clojure.walk.postwalk=function(a,b){return clojure.walk.walk.call(null,cljs.core.partial.call(null,clojure.walk.postwalk,a),a,b)};clojure.walk.prewalk=function(a,b){return clojure.walk.walk.call(null,cljs.core.partial.call(null,clojure.walk.prewalk,a),cljs.core.identity,a.call(null,b))};
clojure.walk.keywordize_keys=function(a){return clojure.walk.postwalk.call(null,function(a){return function(b){return cljs.core.map_QMARK_.call(null,b)?cljs.core.into.call(null,cljs.core.PersistentArrayMap.EMPTY,cljs.core.map.call(null,a,b)):b}}(function(a){var b=cljs.core.nth.call(null,a,0,null);a=cljs.core.nth.call(null,a,1,null);return"string"===typeof b?new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[cljs.core.keyword.call(null,b),a],null):new cljs.core.PersistentVector(null,
2,5,cljs.core.PersistentVector.EMPTY_NODE,[b,a],null)}),a)};
clojure.walk.stringify_keys=function(a){return clojure.walk.postwalk.call(null,function(a){return function(b){return cljs.core.map_QMARK_.call(null,b)?cljs.core.into.call(null,cljs.core.PersistentArrayMap.EMPTY,cljs.core.map.call(null,a,b)):b}}(function(a){var b=cljs.core.nth.call(null,a,0,null);a=cljs.core.nth.call(null,a,1,null);return b instanceof cljs.core.Keyword?new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[cljs.core.name.call(null,b),a],null):new cljs.core.PersistentVector(null,
2,5,cljs.core.PersistentVector.EMPTY_NODE,[b,a],null)}),a)};clojure.walk.prewalk_replace=function(a,b){return clojure.walk.prewalk.call(null,function(b){return cljs.core.contains_QMARK_.call(null,a,b)?a.call(null,b):b},b)};clojure.walk.postwalk_replace=function(a,b){return clojure.walk.postwalk.call(null,function(b){return cljs.core.contains_QMARK_.call(null,a,b)?a.call(null,b):b},b)};cljs.spec={};cljs.spec.gen={};cljs.spec.gen.alpha={};cljs.spec.gen.alpha.LazyVar=function(a,b){this.f=a;this.cached=b;this.cljs$lang$protocol_mask$partition0$=32768;this.cljs$lang$protocol_mask$partition1$=0};cljs.spec.gen.alpha.LazyVar.prototype.cljs$core$IDeref$_deref$arity$1=function(a){if(null!=this.cached)return this.cached;a=this.f.call(null);null!=a&&(this.cached=a);return a};
cljs.spec.gen.alpha.LazyVar.getBasis=function(){return new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"f","f",43394975,null),cljs.core.with_meta(new cljs.core.Symbol(null,"cached","cached",-1216707864,null),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"mutable","mutable",875778266),!0],null))],null)};cljs.spec.gen.alpha.LazyVar.cljs$lang$type=!0;cljs.spec.gen.alpha.LazyVar.cljs$lang$ctorStr="cljs.spec.gen.alpha/LazyVar";
cljs.spec.gen.alpha.LazyVar.cljs$lang$ctorPrWriter=function(a,b,c){return cljs.core._write.call(null,b,"cljs.spec.gen.alpha/LazyVar")};cljs.spec.gen.alpha.__GT_LazyVar=function(a,b){return new cljs.spec.gen.alpha.LazyVar(a,b)};
cljs.spec.gen.alpha.quick_check_ref=new cljs.spec.gen.alpha.LazyVar(function(){if("undefined"!==typeof clojure&&"undefined"!==typeof clojure.test&&"undefined"!==typeof clojure.test.check&&"undefined"!==typeof clojure.test.check.quick_check)return clojure.test.check.quick_check;throw Error(["Var ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(new cljs.core.Symbol("clojure.test.check","quick-check","clojure.test.check/quick-check",-810344251,null))," does not exist, ",cljs.core.namespace.call(null,new cljs.core.Symbol("clojure.test.check",
"quick-check","clojure.test.check/quick-check",-810344251,null))," never required"].join(""));},null);cljs.spec.gen.alpha.quick_check=function(a){for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;b=0<b.length?new cljs.core.IndexedSeq(b.slice(0),0,null):null;return cljs.spec.gen.alpha.quick_check.cljs$core$IFn$_invoke$arity$variadic(b)};
cljs.spec.gen.alpha.quick_check.cljs$core$IFn$_invoke$arity$variadic=function(a){return cljs.core.apply.call(null,cljs.core.deref.call(null,cljs.spec.gen.alpha.quick_check_ref),a)};cljs.spec.gen.alpha.quick_check.cljs$lang$maxFixedArity=0;cljs.spec.gen.alpha.quick_check.cljs$lang$applyTo=function(a){return this.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq.call(null,a))};
cljs.spec.gen.alpha.for_all_STAR__ref=new cljs.spec.gen.alpha.LazyVar(function(){if("undefined"!==typeof clojure&&"undefined"!==typeof clojure.test&&"undefined"!==typeof clojure.test.check&&"undefined"!==typeof clojure.test.check.properties&&"undefined"!==typeof clojure.test.check.properties.for_all_STAR_)return clojure.test.check.properties.for_all_STAR_;throw Error(["Var ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(new cljs.core.Symbol("clojure.test.check.properties","for-all*","clojure.test.check.properties/for-all*",
67088845,null))," does not exist, ",cljs.core.namespace.call(null,new cljs.core.Symbol("clojure.test.check.properties","for-all*","clojure.test.check.properties/for-all*",67088845,null))," never required"].join(""));},null);cljs.spec.gen.alpha.for_all_STAR_=function(a){for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;b=0<b.length?new cljs.core.IndexedSeq(b.slice(0),0,null):null;return cljs.spec.gen.alpha.for_all_STAR_.cljs$core$IFn$_invoke$arity$variadic(b)};
cljs.spec.gen.alpha.for_all_STAR_.cljs$core$IFn$_invoke$arity$variadic=function(a){return cljs.core.apply.call(null,cljs.core.deref.call(null,cljs.spec.gen.alpha.for_all_STAR__ref),a)};cljs.spec.gen.alpha.for_all_STAR_.cljs$lang$maxFixedArity=0;cljs.spec.gen.alpha.for_all_STAR_.cljs$lang$applyTo=function(a){return this.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq.call(null,a))};
var g_QMARK__28085=new cljs.spec.gen.alpha.LazyVar(function(){if("undefined"!==typeof clojure&&"undefined"!==typeof clojure.test&&"undefined"!==typeof clojure.test.check&&"undefined"!==typeof clojure.test.check.generators&&"undefined"!==typeof clojure.test.check.generators.generator_QMARK_)return clojure.test.check.generators.generator_QMARK_;throw Error(["Var ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(new cljs.core.Symbol("clojure.test.check.generators","generator?","clojure.test.check.generators/generator?",
-1378210460,null))," does not exist, ",cljs.core.namespace.call(null,new cljs.core.Symbol("clojure.test.check.generators","generator?","clojure.test.check.generators/generator?",-1378210460,null))," never required"].join(""));},null),g_28086=new cljs.spec.gen.alpha.LazyVar(function(a){return function(){if("undefined"!==typeof clojure&&"undefined"!==typeof clojure.test&&"undefined"!==typeof clojure.test.check&&"undefined"!==typeof clojure.test.check.generators&&"undefined"!==typeof clojure.test.check.generators.generate)return clojure.test.check.generators.generate;
throw Error(["Var ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(new cljs.core.Symbol("clojure.test.check.generators","generate","clojure.test.check.generators/generate",-690390711,null))," does not exist, ",cljs.core.namespace.call(null,new cljs.core.Symbol("clojure.test.check.generators","generate","clojure.test.check.generators/generate",-690390711,null))," never required"].join(""));}}(g_QMARK__28085),null),mkg_28087=new cljs.spec.gen.alpha.LazyVar(function(a,b){return function(){if("undefined"!==
typeof clojure&&"undefined"!==typeof clojure.test&&"undefined"!==typeof clojure.test.check&&"undefined"!==typeof clojure.test.check.generators&&"undefined"!==typeof clojure.test.check.generators.__GT_Generator)return clojure.test.check.generators.__GT_Generator;throw Error(["Var ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(new cljs.core.Symbol("clojure.test.check.generators","-\x3eGenerator","clojure.test.check.generators/-\x3eGenerator",-1179475051,null))," does not exist, ",cljs.core.namespace.call(null,
new cljs.core.Symbol("clojure.test.check.generators","-\x3eGenerator","clojure.test.check.generators/-\x3eGenerator",-1179475051,null))," never required"].join(""));}}(g_QMARK__28085,g_28086),null);cljs.spec.gen.alpha.generator_QMARK_=function(a,b,c){return function(b){return cljs.core.deref.call(null,a).call(null,b)}}(g_QMARK__28085,g_28086,mkg_28087);cljs.spec.gen.alpha.generator=function(a,b,c){return function(a){return cljs.core.deref.call(null,c).call(null,a)}}(g_QMARK__28085,g_28086,mkg_28087);
cljs.spec.gen.alpha.generate=function(a,b,c){return function(a){return cljs.core.deref.call(null,b).call(null,a)}}(g_QMARK__28085,g_28086,mkg_28087);cljs.spec.gen.alpha.delay_impl=function(a){return cljs.spec.gen.alpha.generator.call(null,function(b,c){return(new cljs.core.Keyword(null,"gen","gen",142575302)).cljs$core$IFn$_invoke$arity$1(cljs.core.deref.call(null,a)).call(null,b,c)})};
var g__28049__auto___28108=new cljs.spec.gen.alpha.LazyVar(function(){if("undefined"!==typeof clojure&&"undefined"!==typeof clojure.test&&"undefined"!==typeof clojure.test.check&&"undefined"!==typeof clojure.test.check.generators&&"undefined"!==typeof clojure.test.check.generators.hash_map)return clojure.test.check.generators.hash_map;throw Error(["Var ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(new cljs.core.Symbol("clojure.test.check.generators","hash-map","clojure.test.check.generators/hash-map",
1961346626,null))," does not exist, ",cljs.core.namespace.call(null,new cljs.core.Symbol("clojure.test.check.generators","hash-map","clojure.test.check.generators/hash-map",1961346626,null))," never required"].join(""));},null);cljs.spec.gen.alpha.hash_map=function(a){return function(a){for(var b=[],d=arguments.length,e=0;;)if(e<d)b.push(arguments[e]),e+=1;else break;b=0<b.length?new cljs.core.IndexedSeq(b.slice(0),0,null):null;return cljs.spec.gen.alpha.hash_map.cljs$core$IFn$_invoke$arity$variadic(b)}}(g__28049__auto___28108);
cljs.spec.gen.alpha.hash_map.cljs$core$IFn$_invoke$arity$variadic=function(a){return function(b){return cljs.core.apply.call(null,cljs.core.deref.call(null,a),b)}}(g__28049__auto___28108);cljs.spec.gen.alpha.hash_map.cljs$lang$maxFixedArity=0;cljs.spec.gen.alpha.hash_map.cljs$lang$applyTo=function(a){return function(a){return this.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq.call(null,a))}}(g__28049__auto___28108);
var g__28049__auto___28112=new cljs.spec.gen.alpha.LazyVar(function(){if("undefined"!==typeof clojure&&"undefined"!==typeof clojure.test&&"undefined"!==typeof clojure.test.check&&"undefined"!==typeof clojure.test.check.generators&&"undefined"!==typeof clojure.test.check.generators.list)return clojure.test.check.generators.list;throw Error(["Var ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(new cljs.core.Symbol("clojure.test.check.generators","list","clojure.test.check.generators/list",506971058,null)),
" does not exist, ",cljs.core.namespace.call(null,new cljs.core.Symbol("clojure.test.check.generators","list","clojure.test.check.generators/list",506971058,null))," never required"].join(""));},null);cljs.spec.gen.alpha.list=function(a){return function(a){for(var b=[],d=arguments.length,e=0;;)if(e<d)b.push(arguments[e]),e+=1;else break;b=0<b.length?new cljs.core.IndexedSeq(b.slice(0),0,null):null;return cljs.spec.gen.alpha.list.cljs$core$IFn$_invoke$arity$variadic(b)}}(g__28049__auto___28112);
cljs.spec.gen.alpha.list.cljs$core$IFn$_invoke$arity$variadic=function(a){return function(b){return cljs.core.apply.call(null,cljs.core.deref.call(null,a),b)}}(g__28049__auto___28112);cljs.spec.gen.alpha.list.cljs$lang$maxFixedArity=0;cljs.spec.gen.alpha.list.cljs$lang$applyTo=function(a){return function(a){return this.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq.call(null,a))}}(g__28049__auto___28112);
var g__28049__auto___28116=new cljs.spec.gen.alpha.LazyVar(function(){if("undefined"!==typeof clojure&&"undefined"!==typeof clojure.test&&"undefined"!==typeof clojure.test.check&&"undefined"!==typeof clojure.test.check.generators&&"undefined"!==typeof clojure.test.check.generators.map)return clojure.test.check.generators.map;throw Error(["Var ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(new cljs.core.Symbol("clojure.test.check.generators","map","clojure.test.check.generators/map",45738796,null)),
" does not exist, ",cljs.core.namespace.call(null,new cljs.core.Symbol("clojure.test.check.generators","map","clojure.test.check.generators/map",45738796,null))," never required"].join(""));},null);cljs.spec.gen.alpha.map=function(a){return function(a){for(var b=[],d=arguments.length,e=0;;)if(e<d)b.push(arguments[e]),e+=1;else break;b=0<b.length?new cljs.core.IndexedSeq(b.slice(0),0,null):null;return cljs.spec.gen.alpha.map.cljs$core$IFn$_invoke$arity$variadic(b)}}(g__28049__auto___28116);
cljs.spec.gen.alpha.map.cljs$core$IFn$_invoke$arity$variadic=function(a){return function(b){return cljs.core.apply.call(null,cljs.core.deref.call(null,a),b)}}(g__28049__auto___28116);cljs.spec.gen.alpha.map.cljs$lang$maxFixedArity=0;cljs.spec.gen.alpha.map.cljs$lang$applyTo=function(a){return function(a){return this.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq.call(null,a))}}(g__28049__auto___28116);
var g__28049__auto___28120=new cljs.spec.gen.alpha.LazyVar(function(){if("undefined"!==typeof clojure&&"undefined"!==typeof clojure.test&&"undefined"!==typeof clojure.test.check&&"undefined"!==typeof clojure.test.check.generators&&"undefined"!==typeof clojure.test.check.generators.not_empty)return clojure.test.check.generators.not_empty;throw Error(["Var ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(new cljs.core.Symbol("clojure.test.check.generators","not-empty","clojure.test.check.generators/not-empty",
-876211682,null))," does not exist, ",cljs.core.namespace.call(null,new cljs.core.Symbol("clojure.test.check.generators","not-empty","clojure.test.check.generators/not-empty",-876211682,null))," never required"].join(""));},null);cljs.spec.gen.alpha.not_empty=function(a){return function(a){for(var b=[],d=arguments.length,e=0;;)if(e<d)b.push(arguments[e]),e+=1;else break;b=0<b.length?new cljs.core.IndexedSeq(b.slice(0),0,null):null;return cljs.spec.gen.alpha.not_empty.cljs$core$IFn$_invoke$arity$variadic(b)}}(g__28049__auto___28120);
cljs.spec.gen.alpha.not_empty.cljs$core$IFn$_invoke$arity$variadic=function(a){return function(b){return cljs.core.apply.call(null,cljs.core.deref.call(null,a),b)}}(g__28049__auto___28120);cljs.spec.gen.alpha.not_empty.cljs$lang$maxFixedArity=0;cljs.spec.gen.alpha.not_empty.cljs$lang$applyTo=function(a){return function(a){return this.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq.call(null,a))}}(g__28049__auto___28120);
var g__28049__auto___28124=new cljs.spec.gen.alpha.LazyVar(function(){if("undefined"!==typeof clojure&&"undefined"!==typeof clojure.test&&"undefined"!==typeof clojure.test.check&&"undefined"!==typeof clojure.test.check.generators&&"undefined"!==typeof clojure.test.check.generators.set)return clojure.test.check.generators.set;throw Error(["Var ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(new cljs.core.Symbol("clojure.test.check.generators","set","clojure.test.check.generators/set",-1027639543,null)),
" does not exist, ",cljs.core.namespace.call(null,new cljs.core.Symbol("clojure.test.check.generators","set","clojure.test.check.generators/set",-1027639543,null))," never required"].join(""));},null);cljs.spec.gen.alpha.set=function(a){return function(a){for(var b=[],d=arguments.length,e=0;;)if(e<d)b.push(arguments[e]),e+=1;else break;b=0<b.length?new cljs.core.IndexedSeq(b.slice(0),0,null):null;return cljs.spec.gen.alpha.set.cljs$core$IFn$_invoke$arity$variadic(b)}}(g__28049__auto___28124);
cljs.spec.gen.alpha.set.cljs$core$IFn$_invoke$arity$variadic=function(a){return function(b){return cljs.core.apply.call(null,cljs.core.deref.call(null,a),b)}}(g__28049__auto___28124);cljs.spec.gen.alpha.set.cljs$lang$maxFixedArity=0;cljs.spec.gen.alpha.set.cljs$lang$applyTo=function(a){return function(a){return this.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq.call(null,a))}}(g__28049__auto___28124);
var g__28049__auto___28128=new cljs.spec.gen.alpha.LazyVar(function(){if("undefined"!==typeof clojure&&"undefined"!==typeof clojure.test&&"undefined"!==typeof clojure.test.check&&"undefined"!==typeof clojure.test.check.generators&&"undefined"!==typeof clojure.test.check.generators.vector)return clojure.test.check.generators.vector;throw Error(["Var ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(new cljs.core.Symbol("clojure.test.check.generators","vector","clojure.test.check.generators/vector",1081775325,
null))," does not exist, ",cljs.core.namespace.call(null,new cljs.core.Symbol("clojure.test.check.generators","vector","clojure.test.check.generators/vector",1081775325,null))," never required"].join(""));},null);cljs.spec.gen.alpha.vector=function(a){return function(a){for(var b=[],d=arguments.length,e=0;;)if(e<d)b.push(arguments[e]),e+=1;else break;b=0<b.length?new cljs.core.IndexedSeq(b.slice(0),0,null):null;return cljs.spec.gen.alpha.vector.cljs$core$IFn$_invoke$arity$variadic(b)}}(g__28049__auto___28128);
cljs.spec.gen.alpha.vector.cljs$core$IFn$_invoke$arity$variadic=function(a){return function(b){return cljs.core.apply.call(null,cljs.core.deref.call(null,a),b)}}(g__28049__auto___28128);cljs.spec.gen.alpha.vector.cljs$lang$maxFixedArity=0;cljs.spec.gen.alpha.vector.cljs$lang$applyTo=function(a){return function(a){return this.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq.call(null,a))}}(g__28049__auto___28128);
var g__28049__auto___28132=new cljs.spec.gen.alpha.LazyVar(function(){if("undefined"!==typeof clojure&&"undefined"!==typeof clojure.test&&"undefined"!==typeof clojure.test.check&&"undefined"!==typeof clojure.test.check.generators&&"undefined"!==typeof clojure.test.check.generators.vector_distinct)return clojure.test.check.generators.vector_distinct;throw Error(["Var ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(new cljs.core.Symbol("clojure.test.check.generators","vector-distinct","clojure.test.check.generators/vector-distinct",
1656877834,null))," does not exist, ",cljs.core.namespace.call(null,new cljs.core.Symbol("clojure.test.check.generators","vector-distinct","clojure.test.check.generators/vector-distinct",1656877834,null))," never required"].join(""));},null);cljs.spec.gen.alpha.vector_distinct=function(a){return function(a){for(var b=[],d=arguments.length,e=0;;)if(e<d)b.push(arguments[e]),e+=1;else break;b=0<b.length?new cljs.core.IndexedSeq(b.slice(0),0,null):null;return cljs.spec.gen.alpha.vector_distinct.cljs$core$IFn$_invoke$arity$variadic(b)}}(g__28049__auto___28132);
cljs.spec.gen.alpha.vector_distinct.cljs$core$IFn$_invoke$arity$variadic=function(a){return function(b){return cljs.core.apply.call(null,cljs.core.deref.call(null,a),b)}}(g__28049__auto___28132);cljs.spec.gen.alpha.vector_distinct.cljs$lang$maxFixedArity=0;cljs.spec.gen.alpha.vector_distinct.cljs$lang$applyTo=function(a){return function(a){return this.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq.call(null,a))}}(g__28049__auto___28132);
var g__28049__auto___28136=new cljs.spec.gen.alpha.LazyVar(function(){if("undefined"!==typeof clojure&&"undefined"!==typeof clojure.test&&"undefined"!==typeof clojure.test.check&&"undefined"!==typeof clojure.test.check.generators&&"undefined"!==typeof clojure.test.check.generators.fmap)return clojure.test.check.generators.fmap;throw Error(["Var ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(new cljs.core.Symbol("clojure.test.check.generators","fmap","clojure.test.check.generators/fmap",1957997092,
null))," does not exist, ",cljs.core.namespace.call(null,new cljs.core.Symbol("clojure.test.check.generators","fmap","clojure.test.check.generators/fmap",1957997092,null))," never required"].join(""));},null);cljs.spec.gen.alpha.fmap=function(a){return function(a){for(var b=[],d=arguments.length,e=0;;)if(e<d)b.push(arguments[e]),e+=1;else break;b=0<b.length?new cljs.core.IndexedSeq(b.slice(0),0,null):null;return cljs.spec.gen.alpha.fmap.cljs$core$IFn$_invoke$arity$variadic(b)}}(g__28049__auto___28136);
cljs.spec.gen.alpha.fmap.cljs$core$IFn$_invoke$arity$variadic=function(a){return function(b){return cljs.core.apply.call(null,cljs.core.deref.call(null,a),b)}}(g__28049__auto___28136);cljs.spec.gen.alpha.fmap.cljs$lang$maxFixedArity=0;cljs.spec.gen.alpha.fmap.cljs$lang$applyTo=function(a){return function(a){return this.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq.call(null,a))}}(g__28049__auto___28136);
var g__28049__auto___28140=new cljs.spec.gen.alpha.LazyVar(function(){if("undefined"!==typeof clojure&&"undefined"!==typeof clojure.test&&"undefined"!==typeof clojure.test.check&&"undefined"!==typeof clojure.test.check.generators&&"undefined"!==typeof clojure.test.check.generators.elements)return clojure.test.check.generators.elements;throw Error(["Var ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(new cljs.core.Symbol("clojure.test.check.generators","elements","clojure.test.check.generators/elements",
438991326,null))," does not exist, ",cljs.core.namespace.call(null,new cljs.core.Symbol("clojure.test.check.generators","elements","clojure.test.check.generators/elements",438991326,null))," never required"].join(""));},null);cljs.spec.gen.alpha.elements=function(a){return function(a){for(var b=[],d=arguments.length,e=0;;)if(e<d)b.push(arguments[e]),e+=1;else break;b=0<b.length?new cljs.core.IndexedSeq(b.slice(0),0,null):null;return cljs.spec.gen.alpha.elements.cljs$core$IFn$_invoke$arity$variadic(b)}}(g__28049__auto___28140);
cljs.spec.gen.alpha.elements.cljs$core$IFn$_invoke$arity$variadic=function(a){return function(b){return cljs.core.apply.call(null,cljs.core.deref.call(null,a),b)}}(g__28049__auto___28140);cljs.spec.gen.alpha.elements.cljs$lang$maxFixedArity=0;cljs.spec.gen.alpha.elements.cljs$lang$applyTo=function(a){return function(a){return this.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq.call(null,a))}}(g__28049__auto___28140);
var g__28049__auto___28144=new cljs.spec.gen.alpha.LazyVar(function(){if("undefined"!==typeof clojure&&"undefined"!==typeof clojure.test&&"undefined"!==typeof clojure.test.check&&"undefined"!==typeof clojure.test.check.generators&&"undefined"!==typeof clojure.test.check.generators.bind)return clojure.test.check.generators.bind;throw Error(["Var ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(new cljs.core.Symbol("clojure.test.check.generators","bind","clojure.test.check.generators/bind",-361313906,
null))," does not exist, ",cljs.core.namespace.call(null,new cljs.core.Symbol("clojure.test.check.generators","bind","clojure.test.check.generators/bind",-361313906,null))," never required"].join(""));},null);cljs.spec.gen.alpha.bind=function(a){return function(a){for(var b=[],d=arguments.length,e=0;;)if(e<d)b.push(arguments[e]),e+=1;else break;b=0<b.length?new cljs.core.IndexedSeq(b.slice(0),0,null):null;return cljs.spec.gen.alpha.bind.cljs$core$IFn$_invoke$arity$variadic(b)}}(g__28049__auto___28144);
cljs.spec.gen.alpha.bind.cljs$core$IFn$_invoke$arity$variadic=function(a){return function(b){return cljs.core.apply.call(null,cljs.core.deref.call(null,a),b)}}(g__28049__auto___28144);cljs.spec.gen.alpha.bind.cljs$lang$maxFixedArity=0;cljs.spec.gen.alpha.bind.cljs$lang$applyTo=function(a){return function(a){return this.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq.call(null,a))}}(g__28049__auto___28144);
var g__28049__auto___28148=new cljs.spec.gen.alpha.LazyVar(function(){if("undefined"!==typeof clojure&&"undefined"!==typeof clojure.test&&"undefined"!==typeof clojure.test.check&&"undefined"!==typeof clojure.test.check.generators&&"undefined"!==typeof clojure.test.check.generators.choose)return clojure.test.check.generators.choose;throw Error(["Var ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(new cljs.core.Symbol("clojure.test.check.generators","choose","clojure.test.check.generators/choose",909997832,
null))," does not exist, ",cljs.core.namespace.call(null,new cljs.core.Symbol("clojure.test.check.generators","choose","clojure.test.check.generators/choose",909997832,null))," never required"].join(""));},null);cljs.spec.gen.alpha.choose=function(a){return function(a){for(var b=[],d=arguments.length,e=0;;)if(e<d)b.push(arguments[e]),e+=1;else break;b=0<b.length?new cljs.core.IndexedSeq(b.slice(0),0,null):null;return cljs.spec.gen.alpha.choose.cljs$core$IFn$_invoke$arity$variadic(b)}}(g__28049__auto___28148);
cljs.spec.gen.alpha.choose.cljs$core$IFn$_invoke$arity$variadic=function(a){return function(b){return cljs.core.apply.call(null,cljs.core.deref.call(null,a),b)}}(g__28049__auto___28148);cljs.spec.gen.alpha.choose.cljs$lang$maxFixedArity=0;cljs.spec.gen.alpha.choose.cljs$lang$applyTo=function(a){return function(a){return this.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq.call(null,a))}}(g__28049__auto___28148);
var g__28049__auto___28152=new cljs.spec.gen.alpha.LazyVar(function(){if("undefined"!==typeof clojure&&"undefined"!==typeof clojure.test&&"undefined"!==typeof clojure.test.check&&"undefined"!==typeof clojure.test.check.generators&&"undefined"!==typeof clojure.test.check.generators.one_of)return clojure.test.check.generators.one_of;throw Error(["Var ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(new cljs.core.Symbol("clojure.test.check.generators","one-of","clojure.test.check.generators/one-of",-183339191,
null))," does not exist, ",cljs.core.namespace.call(null,new cljs.core.Symbol("clojure.test.check.generators","one-of","clojure.test.check.generators/one-of",-183339191,null))," never required"].join(""));},null);cljs.spec.gen.alpha.one_of=function(a){return function(a){for(var b=[],d=arguments.length,e=0;;)if(e<d)b.push(arguments[e]),e+=1;else break;b=0<b.length?new cljs.core.IndexedSeq(b.slice(0),0,null):null;return cljs.spec.gen.alpha.one_of.cljs$core$IFn$_invoke$arity$variadic(b)}}(g__28049__auto___28152);
cljs.spec.gen.alpha.one_of.cljs$core$IFn$_invoke$arity$variadic=function(a){return function(b){return cljs.core.apply.call(null,cljs.core.deref.call(null,a),b)}}(g__28049__auto___28152);cljs.spec.gen.alpha.one_of.cljs$lang$maxFixedArity=0;cljs.spec.gen.alpha.one_of.cljs$lang$applyTo=function(a){return function(a){return this.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq.call(null,a))}}(g__28049__auto___28152);
var g__28049__auto___28156=new cljs.spec.gen.alpha.LazyVar(function(){if("undefined"!==typeof clojure&&"undefined"!==typeof clojure.test&&"undefined"!==typeof clojure.test.check&&"undefined"!==typeof clojure.test.check.generators&&"undefined"!==typeof clojure.test.check.generators.such_that)return clojure.test.check.generators.such_that;throw Error(["Var ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(new cljs.core.Symbol("clojure.test.check.generators","such-that","clojure.test.check.generators/such-that",
-1754178732,null))," does not exist, ",cljs.core.namespace.call(null,new cljs.core.Symbol("clojure.test.check.generators","such-that","clojure.test.check.generators/such-that",-1754178732,null))," never required"].join(""));},null);cljs.spec.gen.alpha.such_that=function(a){return function(a){for(var b=[],d=arguments.length,e=0;;)if(e<d)b.push(arguments[e]),e+=1;else break;b=0<b.length?new cljs.core.IndexedSeq(b.slice(0),0,null):null;return cljs.spec.gen.alpha.such_that.cljs$core$IFn$_invoke$arity$variadic(b)}}(g__28049__auto___28156);
cljs.spec.gen.alpha.such_that.cljs$core$IFn$_invoke$arity$variadic=function(a){return function(b){return cljs.core.apply.call(null,cljs.core.deref.call(null,a),b)}}(g__28049__auto___28156);cljs.spec.gen.alpha.such_that.cljs$lang$maxFixedArity=0;cljs.spec.gen.alpha.such_that.cljs$lang$applyTo=function(a){return function(a){return this.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq.call(null,a))}}(g__28049__auto___28156);
var g__28049__auto___28160=new cljs.spec.gen.alpha.LazyVar(function(){if("undefined"!==typeof clojure&&"undefined"!==typeof clojure.test&&"undefined"!==typeof clojure.test.check&&"undefined"!==typeof clojure.test.check.generators&&"undefined"!==typeof clojure.test.check.generators.tuple)return clojure.test.check.generators.tuple;throw Error(["Var ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(new cljs.core.Symbol("clojure.test.check.generators","tuple","clojure.test.check.generators/tuple",-143711557,
null))," does not exist, ",cljs.core.namespace.call(null,new cljs.core.Symbol("clojure.test.check.generators","tuple","clojure.test.check.generators/tuple",-143711557,null))," never required"].join(""));},null);cljs.spec.gen.alpha.tuple=function(a){return function(a){for(var b=[],d=arguments.length,e=0;;)if(e<d)b.push(arguments[e]),e+=1;else break;b=0<b.length?new cljs.core.IndexedSeq(b.slice(0),0,null):null;return cljs.spec.gen.alpha.tuple.cljs$core$IFn$_invoke$arity$variadic(b)}}(g__28049__auto___28160);
cljs.spec.gen.alpha.tuple.cljs$core$IFn$_invoke$arity$variadic=function(a){return function(b){return cljs.core.apply.call(null,cljs.core.deref.call(null,a),b)}}(g__28049__auto___28160);cljs.spec.gen.alpha.tuple.cljs$lang$maxFixedArity=0;cljs.spec.gen.alpha.tuple.cljs$lang$applyTo=function(a){return function(a){return this.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq.call(null,a))}}(g__28049__auto___28160);
var g__28049__auto___28164=new cljs.spec.gen.alpha.LazyVar(function(){if("undefined"!==typeof clojure&&"undefined"!==typeof clojure.test&&"undefined"!==typeof clojure.test.check&&"undefined"!==typeof clojure.test.check.generators&&"undefined"!==typeof clojure.test.check.generators.sample)return clojure.test.check.generators.sample;throw Error(["Var ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(new cljs.core.Symbol("clojure.test.check.generators","sample","clojure.test.check.generators/sample",-382944992,
null))," does not exist, ",cljs.core.namespace.call(null,new cljs.core.Symbol("clojure.test.check.generators","sample","clojure.test.check.generators/sample",-382944992,null))," never required"].join(""));},null);cljs.spec.gen.alpha.sample=function(a){return function(a){for(var b=[],d=arguments.length,e=0;;)if(e<d)b.push(arguments[e]),e+=1;else break;b=0<b.length?new cljs.core.IndexedSeq(b.slice(0),0,null):null;return cljs.spec.gen.alpha.sample.cljs$core$IFn$_invoke$arity$variadic(b)}}(g__28049__auto___28164);
cljs.spec.gen.alpha.sample.cljs$core$IFn$_invoke$arity$variadic=function(a){return function(b){return cljs.core.apply.call(null,cljs.core.deref.call(null,a),b)}}(g__28049__auto___28164);cljs.spec.gen.alpha.sample.cljs$lang$maxFixedArity=0;cljs.spec.gen.alpha.sample.cljs$lang$applyTo=function(a){return function(a){return this.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq.call(null,a))}}(g__28049__auto___28164);
var g__28049__auto___28168=new cljs.spec.gen.alpha.LazyVar(function(){if("undefined"!==typeof clojure&&"undefined"!==typeof clojure.test&&"undefined"!==typeof clojure.test.check&&"undefined"!==typeof clojure.test.check.generators&&"undefined"!==typeof clojure.test.check.generators.return$)return clojure.test.check.generators.return$;throw Error(["Var ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(new cljs.core.Symbol("clojure.test.check.generators","return","clojure.test.check.generators/return",1744522038,
null))," does not exist, ",cljs.core.namespace.call(null,new cljs.core.Symbol("clojure.test.check.generators","return","clojure.test.check.generators/return",1744522038,null))," never required"].join(""));},null);cljs.spec.gen.alpha.return$=function(a){return function(a){for(var b=[],d=arguments.length,e=0;;)if(e<d)b.push(arguments[e]),e+=1;else break;b=0<b.length?new cljs.core.IndexedSeq(b.slice(0),0,null):null;return cljs.spec.gen.alpha.return$.cljs$core$IFn$_invoke$arity$variadic(b)}}(g__28049__auto___28168);
cljs.spec.gen.alpha.return$.cljs$core$IFn$_invoke$arity$variadic=function(a){return function(b){return cljs.core.apply.call(null,cljs.core.deref.call(null,a),b)}}(g__28049__auto___28168);cljs.spec.gen.alpha.return$.cljs$lang$maxFixedArity=0;cljs.spec.gen.alpha.return$.cljs$lang$applyTo=function(a){return function(a){return this.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq.call(null,a))}}(g__28049__auto___28168);
var g__28049__auto___28172=new cljs.spec.gen.alpha.LazyVar(function(){if("undefined"!==typeof clojure&&"undefined"!==typeof clojure.test&&"undefined"!==typeof clojure.test.check&&"undefined"!==typeof clojure.test.check.generators&&"undefined"!==typeof clojure.test.check.generators.large_integer_STAR_)return clojure.test.check.generators.large_integer_STAR_;throw Error(["Var ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(new cljs.core.Symbol("clojure.test.check.generators","large-integer*","clojure.test.check.generators/large-integer*",
-437830670,null))," does not exist, ",cljs.core.namespace.call(null,new cljs.core.Symbol("clojure.test.check.generators","large-integer*","clojure.test.check.generators/large-integer*",-437830670,null))," never required"].join(""));},null);cljs.spec.gen.alpha.large_integer_STAR_=function(a){return function(a){for(var b=[],d=arguments.length,e=0;;)if(e<d)b.push(arguments[e]),e+=1;else break;b=0<b.length?new cljs.core.IndexedSeq(b.slice(0),0,null):null;return cljs.spec.gen.alpha.large_integer_STAR_.cljs$core$IFn$_invoke$arity$variadic(b)}}(g__28049__auto___28172);
cljs.spec.gen.alpha.large_integer_STAR_.cljs$core$IFn$_invoke$arity$variadic=function(a){return function(b){return cljs.core.apply.call(null,cljs.core.deref.call(null,a),b)}}(g__28049__auto___28172);cljs.spec.gen.alpha.large_integer_STAR_.cljs$lang$maxFixedArity=0;cljs.spec.gen.alpha.large_integer_STAR_.cljs$lang$applyTo=function(a){return function(a){return this.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq.call(null,a))}}(g__28049__auto___28172);
var g__28049__auto___28176=new cljs.spec.gen.alpha.LazyVar(function(){if("undefined"!==typeof clojure&&"undefined"!==typeof clojure.test&&"undefined"!==typeof clojure.test.check&&"undefined"!==typeof clojure.test.check.generators&&"undefined"!==typeof clojure.test.check.generators.double_STAR_)return clojure.test.check.generators.double_STAR_;throw Error(["Var ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(new cljs.core.Symbol("clojure.test.check.generators","double*","clojure.test.check.generators/double*",
841542265,null))," does not exist, ",cljs.core.namespace.call(null,new cljs.core.Symbol("clojure.test.check.generators","double*","clojure.test.check.generators/double*",841542265,null))," never required"].join(""));},null);cljs.spec.gen.alpha.double_STAR_=function(a){return function(a){for(var b=[],d=arguments.length,e=0;;)if(e<d)b.push(arguments[e]),e+=1;else break;b=0<b.length?new cljs.core.IndexedSeq(b.slice(0),0,null):null;return cljs.spec.gen.alpha.double_STAR_.cljs$core$IFn$_invoke$arity$variadic(b)}}(g__28049__auto___28176);
cljs.spec.gen.alpha.double_STAR_.cljs$core$IFn$_invoke$arity$variadic=function(a){return function(b){return cljs.core.apply.call(null,cljs.core.deref.call(null,a),b)}}(g__28049__auto___28176);cljs.spec.gen.alpha.double_STAR_.cljs$lang$maxFixedArity=0;cljs.spec.gen.alpha.double_STAR_.cljs$lang$applyTo=function(a){return function(a){return this.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq.call(null,a))}}(g__28049__auto___28176);
var g__28049__auto___28180=new cljs.spec.gen.alpha.LazyVar(function(){if("undefined"!==typeof clojure&&"undefined"!==typeof clojure.test&&"undefined"!==typeof clojure.test.check&&"undefined"!==typeof clojure.test.check.generators&&"undefined"!==typeof clojure.test.check.generators.frequency)return clojure.test.check.generators.frequency;throw Error(["Var ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(new cljs.core.Symbol("clojure.test.check.generators","frequency","clojure.test.check.generators/frequency",
2090703177,null))," does not exist, ",cljs.core.namespace.call(null,new cljs.core.Symbol("clojure.test.check.generators","frequency","clojure.test.check.generators/frequency",2090703177,null))," never required"].join(""));},null);cljs.spec.gen.alpha.frequency=function(a){return function(a){for(var b=[],d=arguments.length,e=0;;)if(e<d)b.push(arguments[e]),e+=1;else break;b=0<b.length?new cljs.core.IndexedSeq(b.slice(0),0,null):null;return cljs.spec.gen.alpha.frequency.cljs$core$IFn$_invoke$arity$variadic(b)}}(g__28049__auto___28180);
cljs.spec.gen.alpha.frequency.cljs$core$IFn$_invoke$arity$variadic=function(a){return function(b){return cljs.core.apply.call(null,cljs.core.deref.call(null,a),b)}}(g__28049__auto___28180);cljs.spec.gen.alpha.frequency.cljs$lang$maxFixedArity=0;cljs.spec.gen.alpha.frequency.cljs$lang$applyTo=function(a){return function(a){return this.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq.call(null,a))}}(g__28049__auto___28180);
var g__28049__auto___28184=new cljs.spec.gen.alpha.LazyVar(function(){if("undefined"!==typeof clojure&&"undefined"!==typeof clojure.test&&"undefined"!==typeof clojure.test.check&&"undefined"!==typeof clojure.test.check.generators&&"undefined"!==typeof clojure.test.check.generators.shuffle)return clojure.test.check.generators.shuffle;throw Error(["Var ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(new cljs.core.Symbol("clojure.test.check.generators","shuffle","clojure.test.check.generators/shuffle",
1032401055,null))," does not exist, ",cljs.core.namespace.call(null,new cljs.core.Symbol("clojure.test.check.generators","shuffle","clojure.test.check.generators/shuffle",1032401055,null))," never required"].join(""));},null);cljs.spec.gen.alpha.shuffle=function(a){return function(a){for(var b=[],d=arguments.length,e=0;;)if(e<d)b.push(arguments[e]),e+=1;else break;b=0<b.length?new cljs.core.IndexedSeq(b.slice(0),0,null):null;return cljs.spec.gen.alpha.shuffle.cljs$core$IFn$_invoke$arity$variadic(b)}}(g__28049__auto___28184);
cljs.spec.gen.alpha.shuffle.cljs$core$IFn$_invoke$arity$variadic=function(a){return function(b){return cljs.core.apply.call(null,cljs.core.deref.call(null,a),b)}}(g__28049__auto___28184);cljs.spec.gen.alpha.shuffle.cljs$lang$maxFixedArity=0;cljs.spec.gen.alpha.shuffle.cljs$lang$applyTo=function(a){return function(a){return this.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq.call(null,a))}}(g__28049__auto___28184);
var g__28062__auto___28209=new cljs.spec.gen.alpha.LazyVar(function(){if("undefined"!==typeof clojure&&"undefined"!==typeof clojure.test&&"undefined"!==typeof clojure.test.check&&"undefined"!==typeof clojure.test.check.generators&&"undefined"!==typeof clojure.test.check.generators.any)return clojure.test.check.generators.any;throw Error(["Var ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(new cljs.core.Symbol("clojure.test.check.generators","any","clojure.test.check.generators/any",1883743710,null)),
" does not exist, ",cljs.core.namespace.call(null,new cljs.core.Symbol("clojure.test.check.generators","any","clojure.test.check.generators/any",1883743710,null))," never required"].join(""));},null);cljs.spec.gen.alpha.any=function(a){return function(a){for(var b=[],d=arguments.length,e=0;;)if(e<d)b.push(arguments[e]),e+=1;else break;b=0<b.length?new cljs.core.IndexedSeq(b.slice(0),0,null):null;return cljs.spec.gen.alpha.any.cljs$core$IFn$_invoke$arity$variadic(b)}}(g__28062__auto___28209);
cljs.spec.gen.alpha.any.cljs$core$IFn$_invoke$arity$variadic=function(a){return function(b){return cljs.core.deref.call(null,a)}}(g__28062__auto___28209);cljs.spec.gen.alpha.any.cljs$lang$maxFixedArity=0;cljs.spec.gen.alpha.any.cljs$lang$applyTo=function(a){return function(a){return this.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq.call(null,a))}}(g__28062__auto___28209);
var g__28062__auto___28213=new cljs.spec.gen.alpha.LazyVar(function(){if("undefined"!==typeof clojure&&"undefined"!==typeof clojure.test&&"undefined"!==typeof clojure.test.check&&"undefined"!==typeof clojure.test.check.generators&&"undefined"!==typeof clojure.test.check.generators.any_printable)return clojure.test.check.generators.any_printable;throw Error(["Var ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(new cljs.core.Symbol("clojure.test.check.generators","any-printable","clojure.test.check.generators/any-printable",
-1570493991,null))," does not exist, ",cljs.core.namespace.call(null,new cljs.core.Symbol("clojure.test.check.generators","any-printable","clojure.test.check.generators/any-printable",-1570493991,null))," never required"].join(""));},null);cljs.spec.gen.alpha.any_printable=function(a){return function(a){for(var b=[],d=arguments.length,e=0;;)if(e<d)b.push(arguments[e]),e+=1;else break;b=0<b.length?new cljs.core.IndexedSeq(b.slice(0),0,null):null;return cljs.spec.gen.alpha.any_printable.cljs$core$IFn$_invoke$arity$variadic(b)}}(g__28062__auto___28213);
cljs.spec.gen.alpha.any_printable.cljs$core$IFn$_invoke$arity$variadic=function(a){return function(b){return cljs.core.deref.call(null,a)}}(g__28062__auto___28213);cljs.spec.gen.alpha.any_printable.cljs$lang$maxFixedArity=0;cljs.spec.gen.alpha.any_printable.cljs$lang$applyTo=function(a){return function(a){return this.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq.call(null,a))}}(g__28062__auto___28213);
var g__28062__auto___28217=new cljs.spec.gen.alpha.LazyVar(function(){if("undefined"!==typeof clojure&&"undefined"!==typeof clojure.test&&"undefined"!==typeof clojure.test.check&&"undefined"!==typeof clojure.test.check.generators&&"undefined"!==typeof clojure.test.check.generators.boolean$)return clojure.test.check.generators.boolean$;throw Error(["Var ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(new cljs.core.Symbol("clojure.test.check.generators","boolean","clojure.test.check.generators/boolean",
1586992347,null))," does not exist, ",cljs.core.namespace.call(null,new cljs.core.Symbol("clojure.test.check.generators","boolean","clojure.test.check.generators/boolean",1586992347,null))," never required"].join(""));},null);cljs.spec.gen.alpha.boolean$=function(a){return function(a){for(var b=[],d=arguments.length,e=0;;)if(e<d)b.push(arguments[e]),e+=1;else break;b=0<b.length?new cljs.core.IndexedSeq(b.slice(0),0,null):null;return cljs.spec.gen.alpha.boolean$.cljs$core$IFn$_invoke$arity$variadic(b)}}(g__28062__auto___28217);
cljs.spec.gen.alpha.boolean$.cljs$core$IFn$_invoke$arity$variadic=function(a){return function(b){return cljs.core.deref.call(null,a)}}(g__28062__auto___28217);cljs.spec.gen.alpha.boolean$.cljs$lang$maxFixedArity=0;cljs.spec.gen.alpha.boolean$.cljs$lang$applyTo=function(a){return function(a){return this.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq.call(null,a))}}(g__28062__auto___28217);
var g__28062__auto___28221=new cljs.spec.gen.alpha.LazyVar(function(){if("undefined"!==typeof clojure&&"undefined"!==typeof clojure.test&&"undefined"!==typeof clojure.test.check&&"undefined"!==typeof clojure.test.check.generators&&"undefined"!==typeof clojure.test.check.generators.char$)return clojure.test.check.generators.char$;throw Error(["Var ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(new cljs.core.Symbol("clojure.test.check.generators","char","clojure.test.check.generators/char",-1426343459,
null))," does not exist, ",cljs.core.namespace.call(null,new cljs.core.Symbol("clojure.test.check.generators","char","clojure.test.check.generators/char",-1426343459,null))," never required"].join(""));},null);cljs.spec.gen.alpha.char$=function(a){return function(a){for(var b=[],d=arguments.length,e=0;;)if(e<d)b.push(arguments[e]),e+=1;else break;b=0<b.length?new cljs.core.IndexedSeq(b.slice(0),0,null):null;return cljs.spec.gen.alpha.char$.cljs$core$IFn$_invoke$arity$variadic(b)}}(g__28062__auto___28221);
cljs.spec.gen.alpha.char$.cljs$core$IFn$_invoke$arity$variadic=function(a){return function(b){return cljs.core.deref.call(null,a)}}(g__28062__auto___28221);cljs.spec.gen.alpha.char$.cljs$lang$maxFixedArity=0;cljs.spec.gen.alpha.char$.cljs$lang$applyTo=function(a){return function(a){return this.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq.call(null,a))}}(g__28062__auto___28221);
var g__28062__auto___28225=new cljs.spec.gen.alpha.LazyVar(function(){if("undefined"!==typeof clojure&&"undefined"!==typeof clojure.test&&"undefined"!==typeof clojure.test.check&&"undefined"!==typeof clojure.test.check.generators&&"undefined"!==typeof clojure.test.check.generators.char_alpha)return clojure.test.check.generators.char_alpha;throw Error(["Var ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(new cljs.core.Symbol("clojure.test.check.generators","char-alpha","clojure.test.check.generators/char-alpha",
615785796,null))," does not exist, ",cljs.core.namespace.call(null,new cljs.core.Symbol("clojure.test.check.generators","char-alpha","clojure.test.check.generators/char-alpha",615785796,null))," never required"].join(""));},null);cljs.spec.gen.alpha.char_alpha=function(a){return function(a){for(var b=[],d=arguments.length,e=0;;)if(e<d)b.push(arguments[e]),e+=1;else break;b=0<b.length?new cljs.core.IndexedSeq(b.slice(0),0,null):null;return cljs.spec.gen.alpha.char_alpha.cljs$core$IFn$_invoke$arity$variadic(b)}}(g__28062__auto___28225);
cljs.spec.gen.alpha.char_alpha.cljs$core$IFn$_invoke$arity$variadic=function(a){return function(b){return cljs.core.deref.call(null,a)}}(g__28062__auto___28225);cljs.spec.gen.alpha.char_alpha.cljs$lang$maxFixedArity=0;cljs.spec.gen.alpha.char_alpha.cljs$lang$applyTo=function(a){return function(a){return this.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq.call(null,a))}}(g__28062__auto___28225);
var g__28062__auto___28229=new cljs.spec.gen.alpha.LazyVar(function(){if("undefined"!==typeof clojure&&"undefined"!==typeof clojure.test&&"undefined"!==typeof clojure.test.check&&"undefined"!==typeof clojure.test.check.generators&&"undefined"!==typeof clojure.test.check.generators.char_alphanumeric)return clojure.test.check.generators.char_alphanumeric;throw Error(["Var ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(new cljs.core.Symbol("clojure.test.check.generators","char-alphanumeric","clojure.test.check.generators/char-alphanumeric",
1383091431,null))," does not exist, ",cljs.core.namespace.call(null,new cljs.core.Symbol("clojure.test.check.generators","char-alphanumeric","clojure.test.check.generators/char-alphanumeric",1383091431,null))," never required"].join(""));},null);cljs.spec.gen.alpha.char_alphanumeric=function(a){return function(a){for(var b=[],d=arguments.length,e=0;;)if(e<d)b.push(arguments[e]),e+=1;else break;b=0<b.length?new cljs.core.IndexedSeq(b.slice(0),0,null):null;return cljs.spec.gen.alpha.char_alphanumeric.cljs$core$IFn$_invoke$arity$variadic(b)}}(g__28062__auto___28229);
cljs.spec.gen.alpha.char_alphanumeric.cljs$core$IFn$_invoke$arity$variadic=function(a){return function(b){return cljs.core.deref.call(null,a)}}(g__28062__auto___28229);cljs.spec.gen.alpha.char_alphanumeric.cljs$lang$maxFixedArity=0;cljs.spec.gen.alpha.char_alphanumeric.cljs$lang$applyTo=function(a){return function(a){return this.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq.call(null,a))}}(g__28062__auto___28229);
var g__28062__auto___28233=new cljs.spec.gen.alpha.LazyVar(function(){if("undefined"!==typeof clojure&&"undefined"!==typeof clojure.test&&"undefined"!==typeof clojure.test.check&&"undefined"!==typeof clojure.test.check.generators&&"undefined"!==typeof clojure.test.check.generators.char_ascii)return clojure.test.check.generators.char_ascii;throw Error(["Var ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(new cljs.core.Symbol("clojure.test.check.generators","char-ascii","clojure.test.check.generators/char-ascii",
-899908538,null))," does not exist, ",cljs.core.namespace.call(null,new cljs.core.Symbol("clojure.test.check.generators","char-ascii","clojure.test.check.generators/char-ascii",-899908538,null))," never required"].join(""));},null);cljs.spec.gen.alpha.char_ascii=function(a){return function(a){for(var b=[],d=arguments.length,e=0;;)if(e<d)b.push(arguments[e]),e+=1;else break;b=0<b.length?new cljs.core.IndexedSeq(b.slice(0),0,null):null;return cljs.spec.gen.alpha.char_ascii.cljs$core$IFn$_invoke$arity$variadic(b)}}(g__28062__auto___28233);
cljs.spec.gen.alpha.char_ascii.cljs$core$IFn$_invoke$arity$variadic=function(a){return function(b){return cljs.core.deref.call(null,a)}}(g__28062__auto___28233);cljs.spec.gen.alpha.char_ascii.cljs$lang$maxFixedArity=0;cljs.spec.gen.alpha.char_ascii.cljs$lang$applyTo=function(a){return function(a){return this.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq.call(null,a))}}(g__28062__auto___28233);
var g__28062__auto___28237=new cljs.spec.gen.alpha.LazyVar(function(){if("undefined"!==typeof clojure&&"undefined"!==typeof clojure.test&&"undefined"!==typeof clojure.test.check&&"undefined"!==typeof clojure.test.check.generators&&"undefined"!==typeof clojure.test.check.generators.double$)return clojure.test.check.generators.double$;throw Error(["Var ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(new cljs.core.Symbol("clojure.test.check.generators","double","clojure.test.check.generators/double",668331090,
null))," does not exist, ",cljs.core.namespace.call(null,new cljs.core.Symbol("clojure.test.check.generators","double","clojure.test.check.generators/double",668331090,null))," never required"].join(""));},null);cljs.spec.gen.alpha.double$=function(a){return function(a){for(var b=[],d=arguments.length,e=0;;)if(e<d)b.push(arguments[e]),e+=1;else break;b=0<b.length?new cljs.core.IndexedSeq(b.slice(0),0,null):null;return cljs.spec.gen.alpha.double$.cljs$core$IFn$_invoke$arity$variadic(b)}}(g__28062__auto___28237);
cljs.spec.gen.alpha.double$.cljs$core$IFn$_invoke$arity$variadic=function(a){return function(b){return cljs.core.deref.call(null,a)}}(g__28062__auto___28237);cljs.spec.gen.alpha.double$.cljs$lang$maxFixedArity=0;cljs.spec.gen.alpha.double$.cljs$lang$applyTo=function(a){return function(a){return this.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq.call(null,a))}}(g__28062__auto___28237);
var g__28062__auto___28241=new cljs.spec.gen.alpha.LazyVar(function(){if("undefined"!==typeof clojure&&"undefined"!==typeof clojure.test&&"undefined"!==typeof clojure.test.check&&"undefined"!==typeof clojure.test.check.generators&&"undefined"!==typeof clojure.test.check.generators.int$)return clojure.test.check.generators.int$;throw Error(["Var ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(new cljs.core.Symbol("clojure.test.check.generators","int","clojure.test.check.generators/int",1756228469,null)),
" does not exist, ",cljs.core.namespace.call(null,new cljs.core.Symbol("clojure.test.check.generators","int","clojure.test.check.generators/int",1756228469,null))," never required"].join(""));},null);cljs.spec.gen.alpha.int$=function(a){return function(a){for(var b=[],d=arguments.length,e=0;;)if(e<d)b.push(arguments[e]),e+=1;else break;b=0<b.length?new cljs.core.IndexedSeq(b.slice(0),0,null):null;return cljs.spec.gen.alpha.int$.cljs$core$IFn$_invoke$arity$variadic(b)}}(g__28062__auto___28241);
cljs.spec.gen.alpha.int$.cljs$core$IFn$_invoke$arity$variadic=function(a){return function(b){return cljs.core.deref.call(null,a)}}(g__28062__auto___28241);cljs.spec.gen.alpha.int$.cljs$lang$maxFixedArity=0;cljs.spec.gen.alpha.int$.cljs$lang$applyTo=function(a){return function(a){return this.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq.call(null,a))}}(g__28062__auto___28241);
var g__28062__auto___28245=new cljs.spec.gen.alpha.LazyVar(function(){if("undefined"!==typeof clojure&&"undefined"!==typeof clojure.test&&"undefined"!==typeof clojure.test.check&&"undefined"!==typeof clojure.test.check.generators&&"undefined"!==typeof clojure.test.check.generators.keyword)return clojure.test.check.generators.keyword;throw Error(["Var ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(new cljs.core.Symbol("clojure.test.check.generators","keyword","clojure.test.check.generators/keyword",
24530530,null))," does not exist, ",cljs.core.namespace.call(null,new cljs.core.Symbol("clojure.test.check.generators","keyword","clojure.test.check.generators/keyword",24530530,null))," never required"].join(""));},null);cljs.spec.gen.alpha.keyword=function(a){return function(a){for(var b=[],d=arguments.length,e=0;;)if(e<d)b.push(arguments[e]),e+=1;else break;b=0<b.length?new cljs.core.IndexedSeq(b.slice(0),0,null):null;return cljs.spec.gen.alpha.keyword.cljs$core$IFn$_invoke$arity$variadic(b)}}(g__28062__auto___28245);
cljs.spec.gen.alpha.keyword.cljs$core$IFn$_invoke$arity$variadic=function(a){return function(b){return cljs.core.deref.call(null,a)}}(g__28062__auto___28245);cljs.spec.gen.alpha.keyword.cljs$lang$maxFixedArity=0;cljs.spec.gen.alpha.keyword.cljs$lang$applyTo=function(a){return function(a){return this.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq.call(null,a))}}(g__28062__auto___28245);
var g__28062__auto___28249=new cljs.spec.gen.alpha.LazyVar(function(){if("undefined"!==typeof clojure&&"undefined"!==typeof clojure.test&&"undefined"!==typeof clojure.test.check&&"undefined"!==typeof clojure.test.check.generators&&"undefined"!==typeof clojure.test.check.generators.keyword_ns)return clojure.test.check.generators.keyword_ns;throw Error(["Var ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(new cljs.core.Symbol("clojure.test.check.generators","keyword-ns","clojure.test.check.generators/keyword-ns",
-1492628482,null))," does not exist, ",cljs.core.namespace.call(null,new cljs.core.Symbol("clojure.test.check.generators","keyword-ns","clojure.test.check.generators/keyword-ns",-1492628482,null))," never required"].join(""));},null);cljs.spec.gen.alpha.keyword_ns=function(a){return function(a){for(var b=[],d=arguments.length,e=0;;)if(e<d)b.push(arguments[e]),e+=1;else break;b=0<b.length?new cljs.core.IndexedSeq(b.slice(0),0,null):null;return cljs.spec.gen.alpha.keyword_ns.cljs$core$IFn$_invoke$arity$variadic(b)}}(g__28062__auto___28249);
cljs.spec.gen.alpha.keyword_ns.cljs$core$IFn$_invoke$arity$variadic=function(a){return function(b){return cljs.core.deref.call(null,a)}}(g__28062__auto___28249);cljs.spec.gen.alpha.keyword_ns.cljs$lang$maxFixedArity=0;cljs.spec.gen.alpha.keyword_ns.cljs$lang$applyTo=function(a){return function(a){return this.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq.call(null,a))}}(g__28062__auto___28249);
var g__28062__auto___28253=new cljs.spec.gen.alpha.LazyVar(function(){if("undefined"!==typeof clojure&&"undefined"!==typeof clojure.test&&"undefined"!==typeof clojure.test.check&&"undefined"!==typeof clojure.test.check.generators&&"undefined"!==typeof clojure.test.check.generators.large_integer)return clojure.test.check.generators.large_integer;throw Error(["Var ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(new cljs.core.Symbol("clojure.test.check.generators","large-integer","clojure.test.check.generators/large-integer",
-865967138,null))," does not exist, ",cljs.core.namespace.call(null,new cljs.core.Symbol("clojure.test.check.generators","large-integer","clojure.test.check.generators/large-integer",-865967138,null))," never required"].join(""));},null);cljs.spec.gen.alpha.large_integer=function(a){return function(a){for(var b=[],d=arguments.length,e=0;;)if(e<d)b.push(arguments[e]),e+=1;else break;b=0<b.length?new cljs.core.IndexedSeq(b.slice(0),0,null):null;return cljs.spec.gen.alpha.large_integer.cljs$core$IFn$_invoke$arity$variadic(b)}}(g__28062__auto___28253);
cljs.spec.gen.alpha.large_integer.cljs$core$IFn$_invoke$arity$variadic=function(a){return function(b){return cljs.core.deref.call(null,a)}}(g__28062__auto___28253);cljs.spec.gen.alpha.large_integer.cljs$lang$maxFixedArity=0;cljs.spec.gen.alpha.large_integer.cljs$lang$applyTo=function(a){return function(a){return this.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq.call(null,a))}}(g__28062__auto___28253);
var g__28062__auto___28257=new cljs.spec.gen.alpha.LazyVar(function(){if("undefined"!==typeof clojure&&"undefined"!==typeof clojure.test&&"undefined"!==typeof clojure.test.check&&"undefined"!==typeof clojure.test.check.generators&&"undefined"!==typeof clojure.test.check.generators.ratio)return clojure.test.check.generators.ratio;throw Error(["Var ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(new cljs.core.Symbol("clojure.test.check.generators","ratio","clojure.test.check.generators/ratio",1540966915,
null))," does not exist, ",cljs.core.namespace.call(null,new cljs.core.Symbol("clojure.test.check.generators","ratio","clojure.test.check.generators/ratio",1540966915,null))," never required"].join(""));},null);cljs.spec.gen.alpha.ratio=function(a){return function(a){for(var b=[],d=arguments.length,e=0;;)if(e<d)b.push(arguments[e]),e+=1;else break;b=0<b.length?new cljs.core.IndexedSeq(b.slice(0),0,null):null;return cljs.spec.gen.alpha.ratio.cljs$core$IFn$_invoke$arity$variadic(b)}}(g__28062__auto___28257);
cljs.spec.gen.alpha.ratio.cljs$core$IFn$_invoke$arity$variadic=function(a){return function(b){return cljs.core.deref.call(null,a)}}(g__28062__auto___28257);cljs.spec.gen.alpha.ratio.cljs$lang$maxFixedArity=0;cljs.spec.gen.alpha.ratio.cljs$lang$applyTo=function(a){return function(a){return this.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq.call(null,a))}}(g__28062__auto___28257);
var g__28062__auto___28261=new cljs.spec.gen.alpha.LazyVar(function(){if("undefined"!==typeof clojure&&"undefined"!==typeof clojure.test&&"undefined"!==typeof clojure.test.check&&"undefined"!==typeof clojure.test.check.generators&&"undefined"!==typeof clojure.test.check.generators.simple_type)return clojure.test.check.generators.simple_type;throw Error(["Var ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(new cljs.core.Symbol("clojure.test.check.generators","simple-type","clojure.test.check.generators/simple-type",
892572284,null))," does not exist, ",cljs.core.namespace.call(null,new cljs.core.Symbol("clojure.test.check.generators","simple-type","clojure.test.check.generators/simple-type",892572284,null))," never required"].join(""));},null);cljs.spec.gen.alpha.simple_type=function(a){return function(a){for(var b=[],d=arguments.length,e=0;;)if(e<d)b.push(arguments[e]),e+=1;else break;b=0<b.length?new cljs.core.IndexedSeq(b.slice(0),0,null):null;return cljs.spec.gen.alpha.simple_type.cljs$core$IFn$_invoke$arity$variadic(b)}}(g__28062__auto___28261);
cljs.spec.gen.alpha.simple_type.cljs$core$IFn$_invoke$arity$variadic=function(a){return function(b){return cljs.core.deref.call(null,a)}}(g__28062__auto___28261);cljs.spec.gen.alpha.simple_type.cljs$lang$maxFixedArity=0;cljs.spec.gen.alpha.simple_type.cljs$lang$applyTo=function(a){return function(a){return this.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq.call(null,a))}}(g__28062__auto___28261);
var g__28062__auto___28265=new cljs.spec.gen.alpha.LazyVar(function(){if("undefined"!==typeof clojure&&"undefined"!==typeof clojure.test&&"undefined"!==typeof clojure.test.check&&"undefined"!==typeof clojure.test.check.generators&&"undefined"!==typeof clojure.test.check.generators.simple_type_printable)return clojure.test.check.generators.simple_type_printable;throw Error(["Var ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(new cljs.core.Symbol("clojure.test.check.generators","simple-type-printable",
"clojure.test.check.generators/simple-type-printable",-58489962,null))," does not exist, ",cljs.core.namespace.call(null,new cljs.core.Symbol("clojure.test.check.generators","simple-type-printable","clojure.test.check.generators/simple-type-printable",-58489962,null))," never required"].join(""));},null);
cljs.spec.gen.alpha.simple_type_printable=function(a){return function(a){for(var b=[],d=arguments.length,e=0;;)if(e<d)b.push(arguments[e]),e+=1;else break;b=0<b.length?new cljs.core.IndexedSeq(b.slice(0),0,null):null;return cljs.spec.gen.alpha.simple_type_printable.cljs$core$IFn$_invoke$arity$variadic(b)}}(g__28062__auto___28265);cljs.spec.gen.alpha.simple_type_printable.cljs$core$IFn$_invoke$arity$variadic=function(a){return function(b){return cljs.core.deref.call(null,a)}}(g__28062__auto___28265);
cljs.spec.gen.alpha.simple_type_printable.cljs$lang$maxFixedArity=0;cljs.spec.gen.alpha.simple_type_printable.cljs$lang$applyTo=function(a){return function(a){return this.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq.call(null,a))}}(g__28062__auto___28265);
var g__28062__auto___28269=new cljs.spec.gen.alpha.LazyVar(function(){if("undefined"!==typeof clojure&&"undefined"!==typeof clojure.test&&"undefined"!==typeof clojure.test.check&&"undefined"!==typeof clojure.test.check.generators&&"undefined"!==typeof clojure.test.check.generators.string)return clojure.test.check.generators.string;throw Error(["Var ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(new cljs.core.Symbol("clojure.test.check.generators","string","clojure.test.check.generators/string",-1704750979,
null))," does not exist, ",cljs.core.namespace.call(null,new cljs.core.Symbol("clojure.test.check.generators","string","clojure.test.check.generators/string",-1704750979,null))," never required"].join(""));},null);cljs.spec.gen.alpha.string=function(a){return function(a){for(var b=[],d=arguments.length,e=0;;)if(e<d)b.push(arguments[e]),e+=1;else break;b=0<b.length?new cljs.core.IndexedSeq(b.slice(0),0,null):null;return cljs.spec.gen.alpha.string.cljs$core$IFn$_invoke$arity$variadic(b)}}(g__28062__auto___28269);
cljs.spec.gen.alpha.string.cljs$core$IFn$_invoke$arity$variadic=function(a){return function(b){return cljs.core.deref.call(null,a)}}(g__28062__auto___28269);cljs.spec.gen.alpha.string.cljs$lang$maxFixedArity=0;cljs.spec.gen.alpha.string.cljs$lang$applyTo=function(a){return function(a){return this.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq.call(null,a))}}(g__28062__auto___28269);
var g__28062__auto___28273=new cljs.spec.gen.alpha.LazyVar(function(){if("undefined"!==typeof clojure&&"undefined"!==typeof clojure.test&&"undefined"!==typeof clojure.test.check&&"undefined"!==typeof clojure.test.check.generators&&"undefined"!==typeof clojure.test.check.generators.string_ascii)return clojure.test.check.generators.string_ascii;throw Error(["Var ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(new cljs.core.Symbol("clojure.test.check.generators","string-ascii","clojure.test.check.generators/string-ascii",
-2009877640,null))," does not exist, ",cljs.core.namespace.call(null,new cljs.core.Symbol("clojure.test.check.generators","string-ascii","clojure.test.check.generators/string-ascii",-2009877640,null))," never required"].join(""));},null);cljs.spec.gen.alpha.string_ascii=function(a){return function(a){for(var b=[],d=arguments.length,e=0;;)if(e<d)b.push(arguments[e]),e+=1;else break;b=0<b.length?new cljs.core.IndexedSeq(b.slice(0),0,null):null;return cljs.spec.gen.alpha.string_ascii.cljs$core$IFn$_invoke$arity$variadic(b)}}(g__28062__auto___28273);
cljs.spec.gen.alpha.string_ascii.cljs$core$IFn$_invoke$arity$variadic=function(a){return function(b){return cljs.core.deref.call(null,a)}}(g__28062__auto___28273);cljs.spec.gen.alpha.string_ascii.cljs$lang$maxFixedArity=0;cljs.spec.gen.alpha.string_ascii.cljs$lang$applyTo=function(a){return function(a){return this.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq.call(null,a))}}(g__28062__auto___28273);
var g__28062__auto___28277=new cljs.spec.gen.alpha.LazyVar(function(){if("undefined"!==typeof clojure&&"undefined"!==typeof clojure.test&&"undefined"!==typeof clojure.test.check&&"undefined"!==typeof clojure.test.check.generators&&"undefined"!==typeof clojure.test.check.generators.string_alphanumeric)return clojure.test.check.generators.string_alphanumeric;throw Error(["Var ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(new cljs.core.Symbol("clojure.test.check.generators","string-alphanumeric","clojure.test.check.generators/string-alphanumeric",
836374939,null))," does not exist, ",cljs.core.namespace.call(null,new cljs.core.Symbol("clojure.test.check.generators","string-alphanumeric","clojure.test.check.generators/string-alphanumeric",836374939,null))," never required"].join(""));},null);cljs.spec.gen.alpha.string_alphanumeric=function(a){return function(a){for(var b=[],d=arguments.length,e=0;;)if(e<d)b.push(arguments[e]),e+=1;else break;b=0<b.length?new cljs.core.IndexedSeq(b.slice(0),0,null):null;return cljs.spec.gen.alpha.string_alphanumeric.cljs$core$IFn$_invoke$arity$variadic(b)}}(g__28062__auto___28277);
cljs.spec.gen.alpha.string_alphanumeric.cljs$core$IFn$_invoke$arity$variadic=function(a){return function(b){return cljs.core.deref.call(null,a)}}(g__28062__auto___28277);cljs.spec.gen.alpha.string_alphanumeric.cljs$lang$maxFixedArity=0;cljs.spec.gen.alpha.string_alphanumeric.cljs$lang$applyTo=function(a){return function(a){return this.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq.call(null,a))}}(g__28062__auto___28277);
var g__28062__auto___28281=new cljs.spec.gen.alpha.LazyVar(function(){if("undefined"!==typeof clojure&&"undefined"!==typeof clojure.test&&"undefined"!==typeof clojure.test.check&&"undefined"!==typeof clojure.test.check.generators&&"undefined"!==typeof clojure.test.check.generators.symbol)return clojure.test.check.generators.symbol;throw Error(["Var ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(new cljs.core.Symbol("clojure.test.check.generators","symbol","clojure.test.check.generators/symbol",-1305461065,
null))," does not exist, ",cljs.core.namespace.call(null,new cljs.core.Symbol("clojure.test.check.generators","symbol","clojure.test.check.generators/symbol",-1305461065,null))," never required"].join(""));},null);cljs.spec.gen.alpha.symbol=function(a){return function(a){for(var b=[],d=arguments.length,e=0;;)if(e<d)b.push(arguments[e]),e+=1;else break;b=0<b.length?new cljs.core.IndexedSeq(b.slice(0),0,null):null;return cljs.spec.gen.alpha.symbol.cljs$core$IFn$_invoke$arity$variadic(b)}}(g__28062__auto___28281);
cljs.spec.gen.alpha.symbol.cljs$core$IFn$_invoke$arity$variadic=function(a){return function(b){return cljs.core.deref.call(null,a)}}(g__28062__auto___28281);cljs.spec.gen.alpha.symbol.cljs$lang$maxFixedArity=0;cljs.spec.gen.alpha.symbol.cljs$lang$applyTo=function(a){return function(a){return this.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq.call(null,a))}}(g__28062__auto___28281);
var g__28062__auto___28285=new cljs.spec.gen.alpha.LazyVar(function(){if("undefined"!==typeof clojure&&"undefined"!==typeof clojure.test&&"undefined"!==typeof clojure.test.check&&"undefined"!==typeof clojure.test.check.generators&&"undefined"!==typeof clojure.test.check.generators.symbol_ns)return clojure.test.check.generators.symbol_ns;throw Error(["Var ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(new cljs.core.Symbol("clojure.test.check.generators","symbol-ns","clojure.test.check.generators/symbol-ns",
-862629490,null))," does not exist, ",cljs.core.namespace.call(null,new cljs.core.Symbol("clojure.test.check.generators","symbol-ns","clojure.test.check.generators/symbol-ns",-862629490,null))," never required"].join(""));},null);cljs.spec.gen.alpha.symbol_ns=function(a){return function(a){for(var b=[],d=arguments.length,e=0;;)if(e<d)b.push(arguments[e]),e+=1;else break;b=0<b.length?new cljs.core.IndexedSeq(b.slice(0),0,null):null;return cljs.spec.gen.alpha.symbol_ns.cljs$core$IFn$_invoke$arity$variadic(b)}}(g__28062__auto___28285);
cljs.spec.gen.alpha.symbol_ns.cljs$core$IFn$_invoke$arity$variadic=function(a){return function(b){return cljs.core.deref.call(null,a)}}(g__28062__auto___28285);cljs.spec.gen.alpha.symbol_ns.cljs$lang$maxFixedArity=0;cljs.spec.gen.alpha.symbol_ns.cljs$lang$applyTo=function(a){return function(a){return this.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq.call(null,a))}}(g__28062__auto___28285);
var g__28062__auto___28289=new cljs.spec.gen.alpha.LazyVar(function(){if("undefined"!==typeof clojure&&"undefined"!==typeof clojure.test&&"undefined"!==typeof clojure.test.check&&"undefined"!==typeof clojure.test.check.generators&&"undefined"!==typeof clojure.test.check.generators.uuid)return clojure.test.check.generators.uuid;throw Error(["Var ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(new cljs.core.Symbol("clojure.test.check.generators","uuid","clojure.test.check.generators/uuid",1589373144,
null))," does not exist, ",cljs.core.namespace.call(null,new cljs.core.Symbol("clojure.test.check.generators","uuid","clojure.test.check.generators/uuid",1589373144,null))," never required"].join(""));},null);cljs.spec.gen.alpha.uuid=function(a){return function(a){for(var b=[],d=arguments.length,e=0;;)if(e<d)b.push(arguments[e]),e+=1;else break;b=0<b.length?new cljs.core.IndexedSeq(b.slice(0),0,null):null;return cljs.spec.gen.alpha.uuid.cljs$core$IFn$_invoke$arity$variadic(b)}}(g__28062__auto___28289);
cljs.spec.gen.alpha.uuid.cljs$core$IFn$_invoke$arity$variadic=function(a){return function(b){return cljs.core.deref.call(null,a)}}(g__28062__auto___28289);cljs.spec.gen.alpha.uuid.cljs$lang$maxFixedArity=0;cljs.spec.gen.alpha.uuid.cljs$lang$applyTo=function(a){return function(a){return this.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq.call(null,a))}}(g__28062__auto___28289);
cljs.spec.gen.alpha.cat=function(a){for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;b=0<b.length?new cljs.core.IndexedSeq(b.slice(0),0,null):null;return cljs.spec.gen.alpha.cat.cljs$core$IFn$_invoke$arity$variadic(b)};cljs.spec.gen.alpha.cat.cljs$core$IFn$_invoke$arity$variadic=function(a){return cljs.spec.gen.alpha.fmap.call(null,function(a){return cljs.core.apply.call(null,cljs.core.concat,a)},cljs.core.apply.call(null,cljs.spec.gen.alpha.tuple,a))};
cljs.spec.gen.alpha.cat.cljs$lang$maxFixedArity=0;cljs.spec.gen.alpha.cat.cljs$lang$applyTo=function(a){return this.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq.call(null,a))};cljs.spec.gen.alpha.qualified_QMARK_=function(a){return null!=cljs.core.namespace.call(null,a)};
cljs.spec.gen.alpha.gen_builtins=new cljs.core.Delay(function(){var a=cljs.spec.gen.alpha.simple_type_printable.call(null);return cljs.core.PersistentHashMap.fromArrays([cljs.core.qualified_keyword_QMARK_,cljs.core.seq_QMARK_,cljs.core.vector_QMARK_,cljs.core.any_QMARK_,cljs.core.boolean_QMARK_,cljs.core.char_QMARK_,cljs.core.some_QMARK_,cljs.core.inst_QMARK_,cljs.core.simple_symbol_QMARK_,cljs.core.sequential_QMARK_,cljs.core.float_QMARK_,cljs.core.set_QMARK_,cljs.core.map_QMARK_,cljs.core.empty_QMARK_,
cljs.core.string_QMARK_,cljs.core.uri_QMARK_,cljs.core.double_QMARK_,cljs.core.int_QMARK_,cljs.core.associative_QMARK_,cljs.core.keyword_QMARK_,cljs.core.indexed_QMARK_,cljs.core.zero_QMARK_,cljs.core.simple_keyword_QMARK_,cljs.core.neg_int_QMARK_,cljs.core.nil_QMARK_,cljs.core.ident_QMARK_,cljs.core.qualified_ident_QMARK_,cljs.core.true_QMARK_,cljs.core.integer_QMARK_,cljs.core.nat_int_QMARK_,cljs.core.pos_int_QMARK_,cljs.core.uuid_QMARK_,cljs.core.false_QMARK_,cljs.core.list_QMARK_,cljs.core.simple_ident_QMARK_,
cljs.core.number_QMARK_,cljs.core.qualified_symbol_QMARK_,cljs.core.seqable_QMARK_,cljs.core.symbol_QMARK_,cljs.core.coll_QMARK_],[cljs.spec.gen.alpha.such_that.call(null,cljs.spec.gen.alpha.qualified_QMARK_,cljs.spec.gen.alpha.keyword_ns.call(null)),cljs.spec.gen.alpha.list.call(null,a),cljs.spec.gen.alpha.vector.call(null,a),cljs.spec.gen.alpha.one_of.call(null,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[cljs.spec.gen.alpha.return$.call(null,null),cljs.spec.gen.alpha.any_printable.call(null)],
null)),cljs.spec.gen.alpha.boolean$.call(null),cljs.spec.gen.alpha.char$.call(null),cljs.spec.gen.alpha.such_that.call(null,cljs.core.some_QMARK_,cljs.spec.gen.alpha.any_printable.call(null)),cljs.spec.gen.alpha.fmap.call(null,function(a){return function(a){return new Date(a)}}(a),cljs.spec.gen.alpha.large_integer.call(null)),cljs.spec.gen.alpha.symbol.call(null),cljs.spec.gen.alpha.one_of.call(null,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[cljs.spec.gen.alpha.list.call(null,
a),cljs.spec.gen.alpha.vector.call(null,a)],null)),cljs.spec.gen.alpha.double$.call(null),cljs.spec.gen.alpha.set.call(null,a),cljs.spec.gen.alpha.map.call(null,a,a),cljs.spec.gen.alpha.elements.call(null,new cljs.core.PersistentVector(null,5,5,cljs.core.PersistentVector.EMPTY_NODE,[null,cljs.core.List.EMPTY,cljs.core.PersistentVector.EMPTY,cljs.core.PersistentArrayMap.EMPTY,cljs.core.PersistentHashSet.EMPTY],null)),cljs.spec.gen.alpha.string_alphanumeric.call(null),cljs.spec.gen.alpha.fmap.call(null,
function(a){return function(a){return new goog.Uri(["http://",cljs.core.str.cljs$core$IFn$_invoke$arity$1(a),".com"].join(""))}}(a),cljs.spec.gen.alpha.uuid.call(null)),cljs.spec.gen.alpha.double$.call(null),cljs.spec.gen.alpha.large_integer.call(null),cljs.spec.gen.alpha.one_of.call(null,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[cljs.spec.gen.alpha.map.call(null,a,a),cljs.spec.gen.alpha.vector.call(null,a)],null)),cljs.spec.gen.alpha.keyword_ns.call(null),cljs.spec.gen.alpha.vector.call(null,
a),cljs.spec.gen.alpha.return$.call(null,0),cljs.spec.gen.alpha.keyword.call(null),cljs.spec.gen.alpha.large_integer_STAR_.call(null,new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"max","max",61366548),-1],null)),cljs.spec.gen.alpha.return$.call(null,null),cljs.spec.gen.alpha.one_of.call(null,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[cljs.spec.gen.alpha.keyword_ns.call(null),cljs.spec.gen.alpha.symbol_ns.call(null)],null)),cljs.spec.gen.alpha.such_that.call(null,
cljs.spec.gen.alpha.qualified_QMARK_,cljs.spec.gen.alpha.one_of.call(null,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[cljs.spec.gen.alpha.keyword_ns.call(null),cljs.spec.gen.alpha.symbol_ns.call(null)],null))),cljs.spec.gen.alpha.return$.call(null,!0),cljs.spec.gen.alpha.large_integer.call(null),cljs.spec.gen.alpha.large_integer_STAR_.call(null,new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"min","min",444991522),0],null)),cljs.spec.gen.alpha.large_integer_STAR_.call(null,
new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"min","min",444991522),1],null)),cljs.spec.gen.alpha.uuid.call(null),cljs.spec.gen.alpha.return$.call(null,!1),cljs.spec.gen.alpha.list.call(null,a),cljs.spec.gen.alpha.one_of.call(null,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[cljs.spec.gen.alpha.keyword.call(null),cljs.spec.gen.alpha.symbol.call(null)],null)),cljs.spec.gen.alpha.one_of.call(null,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,
[cljs.spec.gen.alpha.large_integer.call(null),cljs.spec.gen.alpha.double$.call(null)],null)),cljs.spec.gen.alpha.such_that.call(null,cljs.spec.gen.alpha.qualified_QMARK_,cljs.spec.gen.alpha.symbol_ns.call(null)),cljs.spec.gen.alpha.one_of.call(null,new cljs.core.PersistentVector(null,6,5,cljs.core.PersistentVector.EMPTY_NODE,[cljs.spec.gen.alpha.return$.call(null,null),cljs.spec.gen.alpha.list.call(null,a),cljs.spec.gen.alpha.vector.call(null,a),cljs.spec.gen.alpha.map.call(null,a,a),cljs.spec.gen.alpha.set.call(null,
a),cljs.spec.gen.alpha.string_alphanumeric.call(null)],null)),cljs.spec.gen.alpha.symbol_ns.call(null),cljs.spec.gen.alpha.one_of.call(null,new cljs.core.PersistentVector(null,4,5,cljs.core.PersistentVector.EMPTY_NODE,[cljs.spec.gen.alpha.map.call(null,a,a),cljs.spec.gen.alpha.list.call(null,a),cljs.spec.gen.alpha.vector.call(null,a),cljs.spec.gen.alpha.set.call(null,a)],null))])},null);
cljs.spec.gen.alpha.gen_for_pred=function(a){return cljs.core.set_QMARK_.call(null,a)?cljs.spec.gen.alpha.elements.call(null,a):cljs.core.get.call(null,cljs.core.deref.call(null,cljs.spec.gen.alpha.gen_builtins),a)};cljs.spec.alpha={};cljs.spec.alpha.MAX_INT=9007199254740991;cljs.spec.alpha._STAR_recursion_limit_STAR_=4;cljs.spec.alpha._STAR_fspec_iterations_STAR_=21;cljs.spec.alpha._STAR_coll_check_limit_STAR_=101;cljs.spec.alpha._STAR_coll_error_limit_STAR_=20;cljs.spec.alpha.Spec=function(){};
cljs.spec.alpha.conform_STAR_=function(a,b){if(null!=a&&null!=a.cljs$spec$alpha$Spec$conform_STAR_$arity$2)return a.cljs$spec$alpha$Spec$conform_STAR_$arity$2(a,b);var c=cljs.spec.alpha.conform_STAR_[goog.typeOf(null==a?null:a)];if(null!=c)return c.call(null,a,b);c=cljs.spec.alpha.conform_STAR_._;if(null!=c)return c.call(null,a,b);throw cljs.core.missing_protocol.call(null,"Spec.conform*",a);};
cljs.spec.alpha.unform_STAR_=function(a,b){if(null!=a&&null!=a.cljs$spec$alpha$Spec$unform_STAR_$arity$2)return a.cljs$spec$alpha$Spec$unform_STAR_$arity$2(a,b);var c=cljs.spec.alpha.unform_STAR_[goog.typeOf(null==a?null:a)];if(null!=c)return c.call(null,a,b);c=cljs.spec.alpha.unform_STAR_._;if(null!=c)return c.call(null,a,b);throw cljs.core.missing_protocol.call(null,"Spec.unform*",a);};
cljs.spec.alpha.explain_STAR_=function(a,b,c,d,e){if(null!=a&&null!=a.cljs$spec$alpha$Spec$explain_STAR_$arity$5)return a.cljs$spec$alpha$Spec$explain_STAR_$arity$5(a,b,c,d,e);var f=cljs.spec.alpha.explain_STAR_[goog.typeOf(null==a?null:a)];if(null!=f)return f.call(null,a,b,c,d,e);f=cljs.spec.alpha.explain_STAR_._;if(null!=f)return f.call(null,a,b,c,d,e);throw cljs.core.missing_protocol.call(null,"Spec.explain*",a);};
cljs.spec.alpha.gen_STAR_=function(a,b,c,d){if(null!=a&&null!=a.cljs$spec$alpha$Spec$gen_STAR_$arity$4)return a.cljs$spec$alpha$Spec$gen_STAR_$arity$4(a,b,c,d);var e=cljs.spec.alpha.gen_STAR_[goog.typeOf(null==a?null:a)];if(null!=e)return e.call(null,a,b,c,d);e=cljs.spec.alpha.gen_STAR_._;if(null!=e)return e.call(null,a,b,c,d);throw cljs.core.missing_protocol.call(null,"Spec.gen*",a);};
cljs.spec.alpha.with_gen_STAR_=function(a,b){if(null!=a&&null!=a.cljs$spec$alpha$Spec$with_gen_STAR_$arity$2)return a.cljs$spec$alpha$Spec$with_gen_STAR_$arity$2(a,b);var c=cljs.spec.alpha.with_gen_STAR_[goog.typeOf(null==a?null:a)];if(null!=c)return c.call(null,a,b);c=cljs.spec.alpha.with_gen_STAR_._;if(null!=c)return c.call(null,a,b);throw cljs.core.missing_protocol.call(null,"Spec.with-gen*",a);};
cljs.spec.alpha.describe_STAR_=function(a){if(null!=a&&null!=a.cljs$spec$alpha$Spec$describe_STAR_$arity$1)return a.cljs$spec$alpha$Spec$describe_STAR_$arity$1(a);var b=cljs.spec.alpha.describe_STAR_[goog.typeOf(null==a?null:a)];if(null!=b)return b.call(null,a);b=cljs.spec.alpha.describe_STAR_._;if(null!=b)return b.call(null,a);throw cljs.core.missing_protocol.call(null,"Spec.describe*",a);};
if("undefined"===typeof cljs||"undefined"===typeof cljs.spec||"undefined"===typeof cljs.spec.alpha||"undefined"===typeof cljs.spec.alpha.registry_ref)cljs.spec.alpha.registry_ref=cljs.core.atom.call(null,cljs.core.PersistentArrayMap.EMPTY);cljs.spec.alpha.deep_resolve=function(a,b){for(;;)if(cljs.core.ident_QMARK_.call(null,b))b=cljs.core.get.call(null,a,b);else return b};
cljs.spec.alpha.reg_resolve=function(a){if(cljs.core.ident_QMARK_.call(null,a)){var b=cljs.core.deref.call(null,cljs.spec.alpha.registry_ref);a=cljs.core.get.call(null,b,a);return cljs.core.ident_QMARK_.call(null,a)?cljs.spec.alpha.deep_resolve.call(null,b,a):a}return a};
cljs.spec.alpha.reg_resolve_BANG_=function(a){if(cljs.core.ident_QMARK_.call(null,a)){var b=cljs.spec.alpha.reg_resolve.call(null,a);if(cljs.core.truth_(b))return b;throw Error(["Unable to resolve spec: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(a)].join(""));}return a};cljs.spec.alpha.spec_QMARK_=function(a){return null!=a&&cljs.core.PROTOCOL_SENTINEL===a.cljs$spec$alpha$Spec$?a:null};
cljs.spec.alpha.regex_QMARK_=function(a){var b=(new cljs.core.Keyword("cljs.spec.alpha","op","cljs.spec.alpha/op",-1269055252)).cljs$core$IFn$_invoke$arity$1(a);return cljs.core.truth_(b)?a:b};
cljs.spec.alpha.with_name=function(a,b){return cljs.core.ident_QMARK_.call(null,a)?a:cljs.core.truth_(cljs.spec.alpha.regex_QMARK_.call(null,a))?cljs.core.assoc.call(null,a,new cljs.core.Keyword("cljs.spec.alpha","name","cljs.spec.alpha/name",205233570),b):null!=a&&(a.cljs$lang$protocol_mask$partition0$&131072||cljs.core.PROTOCOL_SENTINEL===a.cljs$core$IMeta$)?cljs.core.with_meta.call(null,a,cljs.core.assoc.call(null,cljs.core.meta.call(null,a),new cljs.core.Keyword("cljs.spec.alpha","name","cljs.spec.alpha/name",
205233570),b)):null};
cljs.spec.alpha.spec_name=function(a){return cljs.core.ident_QMARK_.call(null,a)?a:cljs.core.truth_(cljs.spec.alpha.regex_QMARK_.call(null,a))?(new cljs.core.Keyword("cljs.spec.alpha","name","cljs.spec.alpha/name",205233570)).cljs$core$IFn$_invoke$arity$1(a):null!=a&&(a.cljs$lang$protocol_mask$partition0$&131072||cljs.core.PROTOCOL_SENTINEL===a.cljs$core$IMeta$)?(new cljs.core.Keyword("cljs.spec.alpha","name","cljs.spec.alpha/name",205233570)).cljs$core$IFn$_invoke$arity$1(cljs.core.meta.call(null,a)):
null};
cljs.spec.alpha.maybe_spec=function(a){var b=function(){var b=(b=cljs.core.ident_QMARK_.call(null,a))?cljs.spec.alpha.reg_resolve.call(null,a):b;if(cljs.core.truth_(b))return b;b=cljs.spec.alpha.spec_QMARK_.call(null,a);if(cljs.core.truth_(b))return b;b=cljs.spec.alpha.regex_QMARK_.call(null,a);return cljs.core.truth_(b)?b:null}();return cljs.core.truth_(cljs.spec.alpha.regex_QMARK_.call(null,b))?cljs.spec.alpha.with_name.call(null,cljs.spec.alpha.regex_spec_impl.call(null,b,null),cljs.spec.alpha.spec_name.call(null,b)):
b};cljs.spec.alpha.the_spec=function(a){var b=cljs.spec.alpha.maybe_spec.call(null,a);if(cljs.core.truth_(b))return b;if(cljs.core.ident_QMARK_.call(null,a))throw Error(["Unable to resolve spec: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(a)].join(""));return null};
cljs.spec.alpha.fn_sym=function(a){if(clojure.string.blank_QMARK_.call(null,a))return null;a=cljs.core.map.call(null,cljs.core.demunge,clojure.string.split.call(null,a,"$"));if(2<=cljs.core.count.call(null,a)&&cljs.core.every_QMARK_.call(null,function(a){return function(a){return!clojure.string.blank_QMARK_.call(null,a)}}(a),a)){var b=cljs.core.juxt.call(null,cljs.core.butlast,cljs.core.last).call(null,a);a=cljs.core.nth.call(null,b,0,null);b=cljs.core.nth.call(null,b,1,null);return cljs.core.symbol.call(null,
[cljs.core.str.cljs$core$IFn$_invoke$arity$1(clojure.string.join.call(null,".",a)),"/",cljs.core.str.cljs$core$IFn$_invoke$arity$1(b)].join(""))}return null};cljs.spec.alpha.Specize=function(){};
cljs.spec.alpha.specize_STAR_=function(a){switch(arguments.length){case 1:return cljs.spec.alpha.specize_STAR_.cljs$core$IFn$_invoke$arity$1(arguments[0]);case 2:return cljs.spec.alpha.specize_STAR_.cljs$core$IFn$_invoke$arity$2(arguments[0],arguments[1]);default:throw Error(["Invalid arity: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(""));}};
cljs.spec.alpha.specize_STAR_.cljs$core$IFn$_invoke$arity$1=function(a){if(null!=a&&null!=a.cljs$spec$alpha$Specize$specize_STAR_$arity$1)return a.cljs$spec$alpha$Specize$specize_STAR_$arity$1(a);var b=cljs.spec.alpha.specize_STAR_[goog.typeOf(null==a?null:a)];if(null!=b)return b.call(null,a);b=cljs.spec.alpha.specize_STAR_._;if(null!=b)return b.call(null,a);throw cljs.core.missing_protocol.call(null,"Specize.specize*",a);};
cljs.spec.alpha.specize_STAR_.cljs$core$IFn$_invoke$arity$2=function(a,b){if(null!=a&&null!=a.cljs$spec$alpha$Specize$specize_STAR_$arity$2)return a.cljs$spec$alpha$Specize$specize_STAR_$arity$2(a,b);var c=cljs.spec.alpha.specize_STAR_[goog.typeOf(null==a?null:a)];if(null!=c)return c.call(null,a,b);c=cljs.spec.alpha.specize_STAR_._;if(null!=c)return c.call(null,a,b);throw cljs.core.missing_protocol.call(null,"Specize.specize*",a);};cljs.spec.alpha.specize_STAR_.cljs$lang$maxFixedArity=2;
cljs.core.Keyword.prototype.cljs$spec$alpha$Specize$=cljs.core.PROTOCOL_SENTINEL;cljs.core.Keyword.prototype.cljs$spec$alpha$Specize$specize_STAR_$arity$1=function(a){return cljs.spec.alpha.specize_STAR_.call(null,cljs.spec.alpha.reg_resolve_BANG_.call(null,this))};cljs.core.Keyword.prototype.cljs$spec$alpha$Specize$specize_STAR_$arity$2=function(a,b){return cljs.spec.alpha.specize_STAR_.call(null,cljs.spec.alpha.reg_resolve_BANG_.call(null,this))};
cljs.core.Symbol.prototype.cljs$spec$alpha$Specize$=cljs.core.PROTOCOL_SENTINEL;cljs.core.Symbol.prototype.cljs$spec$alpha$Specize$specize_STAR_$arity$1=function(a){return cljs.spec.alpha.specize_STAR_.call(null,cljs.spec.alpha.reg_resolve_BANG_.call(null,this))};cljs.core.Symbol.prototype.cljs$spec$alpha$Specize$specize_STAR_$arity$2=function(a,b){return cljs.spec.alpha.specize_STAR_.call(null,cljs.spec.alpha.reg_resolve_BANG_.call(null,this))};
cljs.core.PersistentHashSet.prototype.cljs$spec$alpha$Specize$=cljs.core.PROTOCOL_SENTINEL;cljs.core.PersistentHashSet.prototype.cljs$spec$alpha$Specize$specize_STAR_$arity$1=function(a){return cljs.spec.alpha.spec_impl.call(null,this,this,null,null)};cljs.core.PersistentHashSet.prototype.cljs$spec$alpha$Specize$specize_STAR_$arity$2=function(a,b){return cljs.spec.alpha.spec_impl.call(null,b,this,null,null)};cljs.core.PersistentTreeSet.prototype.cljs$spec$alpha$Specize$=cljs.core.PROTOCOL_SENTINEL;
cljs.core.PersistentTreeSet.prototype.cljs$spec$alpha$Specize$specize_STAR_$arity$1=function(a){return cljs.spec.alpha.spec_impl.call(null,this,this,null,null)};cljs.core.PersistentTreeSet.prototype.cljs$spec$alpha$Specize$specize_STAR_$arity$2=function(a,b){return cljs.spec.alpha.spec_impl.call(null,b,this,null,null)};goog.object.set(cljs.spec.alpha.Specize,"_",!0);
goog.object.set(cljs.spec.alpha.specize_STAR_,"_",function(){var a=null,b=function(a){var b=(b=cljs.core.fn_QMARK_.call(null,a))?cljs.spec.alpha.fn_sym.call(null,a.name):b;return cljs.core.truth_(b)?cljs.spec.alpha.spec_impl.call(null,b,a,null,null):cljs.spec.alpha.spec_impl.call(null,new cljs.core.Keyword("cljs.spec.alpha","unknown","cljs.spec.alpha/unknown",651034818),a,null,null)},c=function(a,b){return cljs.spec.alpha.spec_impl.call(null,b,a,null,null)};a=function(a,e){switch(arguments.length){case 1:return b.call(this,
a);case 2:return c.call(this,a,e)}throw Error("Invalid arity: "+arguments.length);};a.cljs$core$IFn$_invoke$arity$1=b;a.cljs$core$IFn$_invoke$arity$2=c;return a}());
cljs.spec.alpha.specize=function(a){switch(arguments.length){case 1:return cljs.spec.alpha.specize.cljs$core$IFn$_invoke$arity$1(arguments[0]);case 2:return cljs.spec.alpha.specize.cljs$core$IFn$_invoke$arity$2(arguments[0],arguments[1]);default:throw Error(["Invalid arity: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(""));}};
cljs.spec.alpha.specize.cljs$core$IFn$_invoke$arity$1=function(a){var b=cljs.spec.alpha.spec_QMARK_.call(null,a);return cljs.core.truth_(b)?b:cljs.spec.alpha.specize_STAR_.call(null,a)};cljs.spec.alpha.specize.cljs$core$IFn$_invoke$arity$2=function(a,b){var c=cljs.spec.alpha.spec_QMARK_.call(null,a);return cljs.core.truth_(c)?c:cljs.spec.alpha.specize_STAR_.call(null,a,b)};cljs.spec.alpha.specize.cljs$lang$maxFixedArity=2;
cljs.spec.alpha.invalid_QMARK_=function(a){return cljs.core.keyword_identical_QMARK_.call(null,new cljs.core.Keyword("cljs.spec.alpha","invalid","cljs.spec.alpha/invalid",-1220295119),a)};cljs.spec.alpha.conform=function(a,b){return cljs.spec.alpha.conform_STAR_.call(null,cljs.spec.alpha.specize.call(null,a),b)};cljs.spec.alpha.unform=function(a,b){return cljs.spec.alpha.unform_STAR_.call(null,cljs.spec.alpha.specize.call(null,a),b)};
cljs.spec.alpha.form=function(a){return cljs.spec.alpha.describe_STAR_.call(null,cljs.spec.alpha.specize.call(null,a))};
cljs.spec.alpha.abbrev=function(a){return cljs.core.seq_QMARK_.call(null,a)?clojure.walk.postwalk.call(null,function(a){return cljs.core.truth_(function(){var b=a instanceof cljs.core.Symbol;return b?cljs.core.namespace.call(null,a):b}())?cljs.core.symbol.call(null,cljs.core.name.call(null,a)):cljs.core.seq_QMARK_.call(null,a)&&cljs.core._EQ_.call(null,new cljs.core.Symbol(null,"fn","fn",465265323,null),cljs.core.first.call(null,a))&&cljs.core._EQ_.call(null,new cljs.core.PersistentVector(null,1,
5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"%","%",-950237169,null)],null),cljs.core.second.call(null,a))?cljs.core.last.call(null,a):a},a):cljs.core.truth_(function(){var b=a instanceof cljs.core.Symbol;return b?cljs.core.namespace.call(null,a):b}())?cljs.core.symbol.call(null,cljs.core.name.call(null,a)):a};cljs.spec.alpha.describe=function(a){return cljs.spec.alpha.abbrev.call(null,cljs.spec.alpha.form.call(null,a))};
cljs.spec.alpha.with_gen=function(a,b){a=cljs.spec.alpha.reg_resolve.call(null,a);return cljs.core.truth_(cljs.spec.alpha.regex_QMARK_.call(null,a))?cljs.core.assoc.call(null,a,new cljs.core.Keyword("cljs.spec.alpha","gfn","cljs.spec.alpha/gfn",-593120375),b):cljs.spec.alpha.with_gen_STAR_.call(null,cljs.spec.alpha.specize.call(null,a),b)};
cljs.spec.alpha.explain_data_STAR_=function(a,b,c,d,e){b=cljs.spec.alpha.explain_STAR_.call(null,cljs.spec.alpha.specize.call(null,a),b,c,d,e);return cljs.core.truth_(b)?cljs.core.empty_QMARK_.call(null,b)?null:new cljs.core.PersistentArrayMap(null,3,[new cljs.core.Keyword("cljs.spec.alpha","problems","cljs.spec.alpha/problems",447400814),b,new cljs.core.Keyword("cljs.spec.alpha","spec","cljs.spec.alpha/spec",1947137578),a,new cljs.core.Keyword("cljs.spec.alpha","value","cljs.spec.alpha/value",1974786274),
e],null):null};cljs.spec.alpha.explain_data=function(a,b){return cljs.spec.alpha.explain_data_STAR_.call(null,a,cljs.core.PersistentVector.EMPTY,function(){var b=cljs.spec.alpha.spec_name.call(null,a);return cljs.core.truth_(b)?new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[b],null):cljs.core.PersistentVector.EMPTY}(),cljs.core.PersistentVector.EMPTY,b)};
cljs.spec.alpha.explain_printer=function(a){if(cljs.core.truth_(a)){var b=cljs.core.sort_by.call(null,function(a){return-cljs.core.count.call(null,(new cljs.core.Keyword(null,"path","path",-188191168)).cljs$core$IFn$_invoke$arity$1(a))},cljs.core.sort_by.call(null,function(a){return-cljs.core.count.call(null,(new cljs.core.Keyword(null,"in","in",-1531184865)).cljs$core$IFn$_invoke$arity$1(a))},(new cljs.core.Keyword("cljs.spec.alpha","problems","cljs.spec.alpha/problems",447400814)).cljs$core$IFn$_invoke$arity$1(a)));
return cljs.core.print.call(null,function(){var a=new goog.string.StringBuffer,d=cljs.core._STAR_print_newline_STAR_,e=cljs.core._STAR_print_fn_STAR_,f=function(a,b,c,d,e){return function(a){return d.append(a)}}(d,e,!0,a,b);cljs.core._STAR_print_newline_STAR_=!0;cljs.core._STAR_print_fn_STAR_=f;try{var g=cljs.core.seq.call(null,b);f=null;for(var h=0,k=0;;)if(k<h){var l=cljs.core._nth.call(null,f,k),m=null!=l&&(l.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===l.cljs$core$ISeq$)?
cljs.core.apply.call(null,cljs.core.hash_map,l):l,n=m,p=cljs.core.get.call(null,m,new cljs.core.Keyword(null,"path","path",-188191168)),q=cljs.core.get.call(null,m,new cljs.core.Keyword(null,"pred","pred",1927423397)),r=cljs.core.get.call(null,m,new cljs.core.Keyword(null,"val","val",128701612)),u=cljs.core.get.call(null,m,new cljs.core.Keyword(null,"reason","reason",-2070751759)),t=cljs.core.get.call(null,m,new cljs.core.Keyword(null,"via","via",-1904457336)),v=cljs.core.get.call(null,m,new cljs.core.Keyword(null,
"in","in",-1531184865));cljs.core.pr.call(null,r);cljs.core.print.call(null," - failed: ");cljs.core.truth_(u)?cljs.core.print.call(null,u):cljs.core.pr.call(null,cljs.spec.alpha.abbrev.call(null,q));cljs.core.empty_QMARK_.call(null,v)||cljs.core.print.call(null,[" in: ",cljs.core.pr_str.call(null,v)].join(""));cljs.core.empty_QMARK_.call(null,p)||cljs.core.print.call(null,[" at: ",cljs.core.pr_str.call(null,p)].join(""));cljs.core.empty_QMARK_.call(null,t)||cljs.core.print.call(null,[" spec: ",cljs.core.pr_str.call(null,
cljs.core.last.call(null,t))].join(""));var w=cljs.core.seq.call(null,n);n=null;for(var x=0,y=0;;)if(y<x){var z=cljs.core._nth.call(null,n,y),B=cljs.core.nth.call(null,z,0,null),C=cljs.core.nth.call(null,z,1,null);cljs.core.truth_((new cljs.core.PersistentHashSet(null,new cljs.core.PersistentArrayMap(null,6,[new cljs.core.Keyword(null,"path","path",-188191168),null,new cljs.core.Keyword(null,"pred","pred",1927423397),null,new cljs.core.Keyword(null,"via","via",-1904457336),null,new cljs.core.Keyword(null,
"val","val",128701612),null,new cljs.core.Keyword(null,"reason","reason",-2070751759),null,new cljs.core.Keyword(null,"in","in",-1531184865),null],null),null)).call(null,B))||(cljs.core.print.call(null,"\n\t",cljs.core.pr_str.call(null,B)," "),cljs.core.pr.call(null,C));y+=1}else{var A=cljs.core.seq.call(null,w);if(A){var D=A;if(cljs.core.chunked_seq_QMARK_.call(null,D)){var F=cljs.core.chunk_first.call(null,D),E=cljs.core.chunk_rest.call(null,D);D=F;var G=cljs.core.count.call(null,F);w=E;n=D;x=G}else{var J=
cljs.core.first.call(null,D),M=cljs.core.nth.call(null,J,0,null),L=cljs.core.nth.call(null,J,1,null);cljs.core.truth_((new cljs.core.PersistentHashSet(null,new cljs.core.PersistentArrayMap(null,6,[new cljs.core.Keyword(null,"path","path",-188191168),null,new cljs.core.Keyword(null,"pred","pred",1927423397),null,new cljs.core.Keyword(null,"via","via",-1904457336),null,new cljs.core.Keyword(null,"val","val",128701612),null,new cljs.core.Keyword(null,"reason","reason",-2070751759),null,new cljs.core.Keyword(null,
"in","in",-1531184865),null],null),null)).call(null,M))||(cljs.core.print.call(null,"\n\t",cljs.core.pr_str.call(null,M)," "),cljs.core.pr.call(null,L));w=cljs.core.next.call(null,D);n=null;x=0}y=0}else break}cljs.core.newline.call(null);k+=1}else{var K=cljs.core.seq.call(null,g);if(K){n=K;if(cljs.core.chunked_seq_QMARK_.call(null,n)){var I=cljs.core.chunk_first.call(null,n),H=cljs.core.chunk_rest.call(null,n);n=I;var O=cljs.core.count.call(null,I);g=H;f=n;h=O}else{var P=cljs.core.first.call(null,
n),N=null!=P&&(P.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===P.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,P):P;x=N;var Q=cljs.core.get.call(null,N,new cljs.core.Keyword(null,"path","path",-188191168)),R=cljs.core.get.call(null,N,new cljs.core.Keyword(null,"pred","pred",1927423397)),S=cljs.core.get.call(null,N,new cljs.core.Keyword(null,"val","val",128701612)),T=cljs.core.get.call(null,N,new cljs.core.Keyword(null,"reason","reason",-2070751759)),U=cljs.core.get.call(null,
N,new cljs.core.Keyword(null,"via","via",-1904457336)),W=cljs.core.get.call(null,N,new cljs.core.Keyword(null,"in","in",-1531184865));cljs.core.pr.call(null,S);cljs.core.print.call(null," - failed: ");cljs.core.truth_(T)?cljs.core.print.call(null,T):cljs.core.pr.call(null,cljs.spec.alpha.abbrev.call(null,R));cljs.core.empty_QMARK_.call(null,W)||cljs.core.print.call(null,[" in: ",cljs.core.pr_str.call(null,W)].join(""));cljs.core.empty_QMARK_.call(null,Q)||cljs.core.print.call(null,[" at: ",cljs.core.pr_str.call(null,
Q)].join(""));cljs.core.empty_QMARK_.call(null,U)||cljs.core.print.call(null,[" spec: ",cljs.core.pr_str.call(null,cljs.core.last.call(null,U))].join(""));var V=cljs.core.seq.call(null,x);x=null;for(D=y=0;;)if(D<y){var X=cljs.core._nth.call(null,x,D),Y=cljs.core.nth.call(null,X,0,null),aa=cljs.core.nth.call(null,X,1,null);cljs.core.truth_((new cljs.core.PersistentHashSet(null,new cljs.core.PersistentArrayMap(null,6,[new cljs.core.Keyword(null,"path","path",-188191168),null,new cljs.core.Keyword(null,
"pred","pred",1927423397),null,new cljs.core.Keyword(null,"via","via",-1904457336),null,new cljs.core.Keyword(null,"val","val",128701612),null,new cljs.core.Keyword(null,"reason","reason",-2070751759),null,new cljs.core.Keyword(null,"in","in",-1531184865),null],null),null)).call(null,Y))||(cljs.core.print.call(null,"\n\t",cljs.core.pr_str.call(null,Y)," "),cljs.core.pr.call(null,aa));D+=1}else{var ba=cljs.core.seq.call(null,V);if(ba){var Z=ba;if(cljs.core.chunked_seq_QMARK_.call(null,Z)){var ca=cljs.core.chunk_first.call(null,
Z),ea=cljs.core.chunk_rest.call(null,Z);Z=ca;var ha=cljs.core.count.call(null,ca);V=ea;x=Z;y=ha}else{var fa=cljs.core.first.call(null,Z),ka=cljs.core.nth.call(null,fa,0,null),ia=cljs.core.nth.call(null,fa,1,null);cljs.core.truth_((new cljs.core.PersistentHashSet(null,new cljs.core.PersistentArrayMap(null,6,[new cljs.core.Keyword(null,"path","path",-188191168),null,new cljs.core.Keyword(null,"pred","pred",1927423397),null,new cljs.core.Keyword(null,"via","via",-1904457336),null,new cljs.core.Keyword(null,
"val","val",128701612),null,new cljs.core.Keyword(null,"reason","reason",-2070751759),null,new cljs.core.Keyword(null,"in","in",-1531184865),null],null),null)).call(null,ka))||(cljs.core.print.call(null,"\n\t",cljs.core.pr_str.call(null,ka)," "),cljs.core.pr.call(null,ia));V=cljs.core.next.call(null,Z);x=null;y=0}D=0}else break}cljs.core.newline.call(null);g=cljs.core.next.call(null,n);f=null;h=0}k=0}else break}}finally{cljs.core._STAR_print_fn_STAR_=e,cljs.core._STAR_print_newline_STAR_=d}return cljs.core.str.cljs$core$IFn$_invoke$arity$1(a)}())}return cljs.core.println.call(null,
"Success!")};cljs.spec.alpha._STAR_explain_out_STAR_=cljs.spec.alpha.explain_printer;cljs.spec.alpha.explain_out=function(a){return cljs.spec.alpha._STAR_explain_out_STAR_.call(null,a)};cljs.spec.alpha.explain=function(a,b){return cljs.spec.alpha.explain_out.call(null,cljs.spec.alpha.explain_data.call(null,a,b))};
cljs.spec.alpha.explain_str=function(a,b){var c=new goog.string.StringBuffer,d=cljs.core._STAR_print_newline_STAR_,e=cljs.core._STAR_print_fn_STAR_,f=function(a,b,c,d){return function(a){return d.append(a)}}(d,e,!0,c);cljs.core._STAR_print_newline_STAR_=!0;cljs.core._STAR_print_fn_STAR_=f;try{cljs.spec.alpha.explain.call(null,a,b)}finally{cljs.core._STAR_print_fn_STAR_=e,cljs.core._STAR_print_newline_STAR_=d}return cljs.core.str.cljs$core$IFn$_invoke$arity$1(c)};
cljs.spec.alpha.gensub=function(a,b,c,d,e){var f=cljs.spec.alpha.specize.call(null,a);a=function(){var a=function(){var a=function(){var a=cljs.core.get.call(null,b,function(){var a=cljs.spec.alpha.spec_name.call(null,f);return cljs.core.truth_(a)?a:f}());return cljs.core.truth_(a)?a:cljs.core.get.call(null,b,c)}();return cljs.core.truth_(a)?a.call(null):null}();return cljs.core.truth_(a)?a:cljs.spec.alpha.gen_STAR_.call(null,f,b,c,d)}();if(cljs.core.truth_(a))return cljs.spec.gen.alpha.such_that.call(null,
function(a,b,c){return function(a){return cljs.spec.alpha.valid_QMARK_.call(null,c,a)}}(a,a,f),a,100);throw Error(["Unable to construct gen at: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(c)," for: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.spec.alpha.abbrev.call(null,e))].join(""));};
cljs.spec.alpha.gen=function(a){switch(arguments.length){case 1:return cljs.spec.alpha.gen.cljs$core$IFn$_invoke$arity$1(arguments[0]);case 2:return cljs.spec.alpha.gen.cljs$core$IFn$_invoke$arity$2(arguments[0],arguments[1]);default:throw Error(["Invalid arity: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(""));}};cljs.spec.alpha.gen.cljs$core$IFn$_invoke$arity$1=function(a){return cljs.spec.alpha.gen.call(null,a,null)};
cljs.spec.alpha.gen.cljs$core$IFn$_invoke$arity$2=function(a,b){return cljs.spec.alpha.gensub.call(null,a,b,cljs.core.PersistentVector.EMPTY,new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword("cljs.spec.alpha","recursion-limit","cljs.spec.alpha/recursion-limit",601284994),cljs.spec.alpha._STAR_recursion_limit_STAR_],null),a)};cljs.spec.alpha.gen.cljs$lang$maxFixedArity=2;
cljs.spec.alpha.def_impl=function(a,b,c){if(!cljs.core.truth_(function(){var b=cljs.core.ident_QMARK_.call(null,a);return b?cljs.core.namespace.call(null,a):b}()))throw Error("Assert failed: k must be namespaced keyword or resolveable symbol\n(c/and (ident? k) (namespace k))");null==c?cljs.core.swap_BANG_.call(null,cljs.spec.alpha.registry_ref,cljs.core.dissoc,a):(b=cljs.core.truth_(function(){var a=cljs.spec.alpha.spec_QMARK_.call(null,c);if(cljs.core.truth_(a))return a;a=cljs.spec.alpha.regex_QMARK_.call(null,
c);return cljs.core.truth_(a)?a:cljs.core.get.call(null,cljs.core.deref.call(null,cljs.spec.alpha.registry_ref),c)}())?c:cljs.spec.alpha.spec_impl.call(null,b,c,null,null),cljs.core.swap_BANG_.call(null,cljs.spec.alpha.registry_ref,cljs.core.assoc,a,cljs.spec.alpha.with_name.call(null,b,a)));return a};cljs.spec.alpha.registry=function(){return cljs.core.deref.call(null,cljs.spec.alpha.registry_ref)};cljs.spec.alpha.__GT_sym=function(a){return cljs.core.var_QMARK_.call(null,a)?a.sym:a};
cljs.spec.alpha.get_spec=function(a){return cljs.core.get.call(null,cljs.spec.alpha.registry.call(null),a instanceof cljs.core.Keyword?a:cljs.spec.alpha.__GT_sym.call(null,a))};
cljs.spec.alpha.macroexpand_check=function(a,b){var c=cljs.spec.alpha.get_spec.call(null,a),d=(new cljs.core.Keyword(null,"args","args",1315556576)).cljs$core$IFn$_invoke$arity$1(c);if(cljs.core.truth_(d)&&cljs.spec.alpha.invalid_QMARK_.call(null,cljs.spec.alpha.conform.call(null,d,b)))throw b=cljs.core.assoc.call(null,cljs.spec.alpha.explain_data_STAR_.call(null,d,cljs.core.PersistentVector.EMPTY,function(){var a=cljs.spec.alpha.spec_name.call(null,d);return cljs.core.truth_(a)?new cljs.core.PersistentVector(null,
1,5,cljs.core.PersistentVector.EMPTY_NODE,[a],null):cljs.core.PersistentVector.EMPTY}(),cljs.core.PersistentVector.EMPTY,b),new cljs.core.Keyword("cljs.spec.alpha","args","cljs.spec.alpha/args",1870769783),b),cljs.core.ex_info.call(null,["Call to ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.spec.alpha.__GT_sym.call(null,a))," did not conform to spec."].join(""),b);return null};
cljs.spec.alpha.recur_limit_QMARK_=function(a,b,c,d){return cljs.core.get.call(null,a,b)>(new cljs.core.Keyword("cljs.spec.alpha","recursion-limit","cljs.spec.alpha/recursion-limit",601284994)).cljs$core$IFn$_invoke$arity$1(a)&&cljs.core.contains_QMARK_.call(null,cljs.core.set.call(null,c),d)};cljs.spec.alpha.inck=function(a,b){return cljs.core.assoc.call(null,a,b,function(){var c=cljs.core.get.call(null,a,b);return cljs.core.truth_(c)?c:0}()+1)};
cljs.spec.alpha.dt=function(a){switch(arguments.length){case 3:return cljs.spec.alpha.dt.cljs$core$IFn$_invoke$arity$3(arguments[0],arguments[1],arguments[2]);case 4:return cljs.spec.alpha.dt.cljs$core$IFn$_invoke$arity$4(arguments[0],arguments[1],arguments[2],arguments[3]);default:throw Error(["Invalid arity: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(""));}};cljs.spec.alpha.dt.cljs$core$IFn$_invoke$arity$3=function(a,b,c){return cljs.spec.alpha.dt.call(null,a,b,c,null)};
cljs.spec.alpha.dt.cljs$core$IFn$_invoke$arity$4=function(a,b,c,d){if(cljs.core.truth_(a)){var e=cljs.spec.alpha.the_spec.call(null,a);if(cljs.core.truth_(e))return cljs.spec.alpha.conform.call(null,e,b);if(cljs.core.ifn_QMARK_.call(null,a))return cljs.core.truth_(d)?a.call(null,b):cljs.core.truth_(a.call(null,b))?b:new cljs.core.Keyword("cljs.spec.alpha","invalid","cljs.spec.alpha/invalid",-1220295119);throw Error([cljs.core.pr_str.call(null,c)," is not a fn, expected predicate fn"].join(""));}return b};
cljs.spec.alpha.dt.cljs$lang$maxFixedArity=4;cljs.spec.alpha.valid_QMARK_=function(a){switch(arguments.length){case 2:return cljs.spec.alpha.valid_QMARK_.cljs$core$IFn$_invoke$arity$2(arguments[0],arguments[1]);case 3:return cljs.spec.alpha.valid_QMARK_.cljs$core$IFn$_invoke$arity$3(arguments[0],arguments[1],arguments[2]);default:throw Error(["Invalid arity: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(""));}};
cljs.spec.alpha.valid_QMARK_.cljs$core$IFn$_invoke$arity$2=function(a,b){a=cljs.spec.alpha.specize.call(null,a);return!cljs.spec.alpha.invalid_QMARK_.call(null,cljs.spec.alpha.conform_STAR_.call(null,a,b))};cljs.spec.alpha.valid_QMARK_.cljs$core$IFn$_invoke$arity$3=function(a,b,c){a=cljs.spec.alpha.specize.call(null,a,c);return!cljs.spec.alpha.invalid_QMARK_.call(null,cljs.spec.alpha.conform_STAR_.call(null,a,b))};cljs.spec.alpha.valid_QMARK_.cljs$lang$maxFixedArity=3;
cljs.spec.alpha.pvalid_QMARK_=function(a){switch(arguments.length){case 2:return cljs.spec.alpha.pvalid_QMARK_.cljs$core$IFn$_invoke$arity$2(arguments[0],arguments[1]);case 3:return cljs.spec.alpha.pvalid_QMARK_.cljs$core$IFn$_invoke$arity$3(arguments[0],arguments[1],arguments[2]);default:throw Error(["Invalid arity: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(""));}};
cljs.spec.alpha.pvalid_QMARK_.cljs$core$IFn$_invoke$arity$2=function(a,b){return!cljs.spec.alpha.invalid_QMARK_.call(null,cljs.spec.alpha.dt.call(null,a,b,new cljs.core.Keyword("cljs.spec.alpha","unknown","cljs.spec.alpha/unknown",651034818)))};cljs.spec.alpha.pvalid_QMARK_.cljs$core$IFn$_invoke$arity$3=function(a,b,c){return!cljs.spec.alpha.invalid_QMARK_.call(null,cljs.spec.alpha.dt.call(null,a,b,c))};cljs.spec.alpha.pvalid_QMARK_.cljs$lang$maxFixedArity=3;
cljs.spec.alpha.explain_1=function(a,b,c,d,e,f){var g=cljs.spec.alpha.maybe_spec.call(null,b);return cljs.core.truth_(cljs.spec.alpha.spec_QMARK_.call(null,g))?cljs.spec.alpha.explain_STAR_.call(null,g,c,function(){var a=cljs.spec.alpha.spec_name.call(null,g);return cljs.core.truth_(a)?cljs.core.conj.call(null,d,a):d}(),e,f):new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.PersistentArrayMap(null,5,[new cljs.core.Keyword(null,"path","path",-188191168),c,
new cljs.core.Keyword(null,"pred","pred",1927423397),a,new cljs.core.Keyword(null,"val","val",128701612),f,new cljs.core.Keyword(null,"via","via",-1904457336),d,new cljs.core.Keyword(null,"in","in",-1531184865),e],null)],null)};
cljs.spec.alpha.k_gen=function(a){return a instanceof cljs.core.Keyword?cljs.spec.gen.alpha.return$.call(null,a):cljs.core._EQ_.call(null,new cljs.core.Symbol(null,"or","or",1876275696,null),cljs.core.first.call(null,a))?cljs.spec.alpha.or_k_gen.call(null,1,cljs.core.rest.call(null,a)):cljs.core._EQ_.call(null,new cljs.core.Symbol(null,"and","and",668631710,null),cljs.core.first.call(null,a))?cljs.spec.alpha.and_k_gen.call(null,cljs.core.rest.call(null,a)):null};
cljs.spec.alpha.or_k_gen=function(a){switch(arguments.length){case 1:return cljs.spec.alpha.or_k_gen.cljs$core$IFn$_invoke$arity$1(arguments[0]);case 2:return cljs.spec.alpha.or_k_gen.cljs$core$IFn$_invoke$arity$2(arguments[0],arguments[1]);default:throw Error(["Invalid arity: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(""));}};cljs.spec.alpha.or_k_gen.cljs$core$IFn$_invoke$arity$1=function(a){return cljs.spec.alpha.or_k_gen.call(null,0,a)};
cljs.spec.alpha.or_k_gen.cljs$core$IFn$_invoke$arity$2=function(a,b){return cljs.spec.gen.alpha.bind.call(null,cljs.spec.gen.alpha.tuple.call(null,cljs.spec.gen.alpha.choose.call(null,a,cljs.core.count.call(null,b)),cljs.spec.gen.alpha.shuffle.call(null,cljs.core.map.call(null,cljs.spec.alpha.k_gen,b))),function(a){var b=cljs.core.nth.call(null,a,0,null);a=cljs.core.nth.call(null,a,1,null);return cljs.core.apply.call(null,cljs.spec.gen.alpha.tuple,cljs.core.take.call(null,b,a))})};
cljs.spec.alpha.or_k_gen.cljs$lang$maxFixedArity=2;cljs.spec.alpha.and_k_gen=function(a){return cljs.core.apply.call(null,cljs.spec.gen.alpha.tuple,cljs.core.map.call(null,cljs.spec.alpha.k_gen,a))};
cljs.spec.alpha.map_spec_impl=function(a){var b=null!=a&&(a.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===a.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,a):a,c=cljs.core.get.call(null,b,new cljs.core.Keyword(null,"opt","opt",-794706369)),d=cljs.core.get.call(null,b,new cljs.core.Keyword(null,"req-un","req-un",1074571008)),e=cljs.core.get.call(null,b,new cljs.core.Keyword(null,"opt-un","opt-un",883442496)),f=cljs.core.get.call(null,b,new cljs.core.Keyword(null,
"gfn","gfn",791517474)),g=cljs.core.get.call(null,b,new cljs.core.Keyword(null,"pred-exprs","pred-exprs",1792271395)),h=cljs.core.get.call(null,b,new cljs.core.Keyword(null,"keys-pred","keys-pred",858984739)),k=cljs.core.get.call(null,b,new cljs.core.Keyword(null,"opt-keys","opt-keys",1262688261)),l=cljs.core.get.call(null,b,new cljs.core.Keyword(null,"req-specs","req-specs",553962313)),m=cljs.core.get.call(null,b,new cljs.core.Keyword(null,"req","req",-326448303)),n=cljs.core.get.call(null,b,new cljs.core.Keyword(null,
"req-keys","req-keys",514319221)),p=cljs.core.get.call(null,b,new cljs.core.Keyword(null,"opt-specs","opt-specs",-384905450)),q=cljs.core.get.call(null,b,new cljs.core.Keyword(null,"pred-forms","pred-forms",172611832)),r=cljs.core.zipmap.call(null,cljs.core.concat.call(null,n,k),cljs.core.concat.call(null,l,p)),u=function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t){return function(b){var c=a.call(null,b);return cljs.core.truth_(c)?c:b}}(r,a,b,b,c,d,e,f,g,h,k,l,m,n,p,q),t=cljs.core.random_uuid.call(null);if("undefined"===
typeof cljs||"undefined"===typeof cljs.spec||"undefined"===typeof cljs.spec.alpha||"undefined"===typeof cljs.spec.alpha.t_cljs$spec$alpha28796)cljs.spec.alpha.t_cljs$spec$alpha28796=function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,H,O){this.keys__GT_specnames=a;this.opt=b;this.req_un=c;this.opt_un=d;this.gfn=e;this.pred_exprs=f;this.keys_pred=g;this.argm=h;this.opt_keys=k;this.req_specs=l;this.req=m;this.p__28793=n;this.id=p;this.req_keys=q;this.opt_specs=r;this.map__28794=t;this.k__GT_s=u;this.pred_forms=
H;this.meta28797=O;this.cljs$lang$protocol_mask$partition0$=393216;this.cljs$lang$protocol_mask$partition1$=0},cljs.spec.alpha.t_cljs$spec$alpha28796.prototype.cljs$core$IWithMeta$_with_meta$arity$2=function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,H){return function(a,b){return new cljs.spec.alpha.t_cljs$spec$alpha28796(this.keys__GT_specnames,this.opt,this.req_un,this.opt_un,this.gfn,this.pred_exprs,this.keys_pred,this.argm,this.opt_keys,this.req_specs,this.req,this.p__28793,this.id,this.req_keys,this.opt_specs,
this.map__28794,this.k__GT_s,this.pred_forms,b)}}(r,u,t,a,b,b,c,d,e,f,g,h,k,l,m,n,p,q),cljs.spec.alpha.t_cljs$spec$alpha28796.prototype.cljs$core$IMeta$_meta$arity$1=function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,H){return function(a){return this.meta28797}}(r,u,t,a,b,b,c,d,e,f,g,h,k,l,m,n,p,q),cljs.spec.alpha.t_cljs$spec$alpha28796.prototype.cljs$spec$alpha$Specize$=cljs.core.PROTOCOL_SENTINEL,cljs.spec.alpha.t_cljs$spec$alpha28796.prototype.cljs$spec$alpha$Specize$specize_STAR_$arity$1=function(a,b,
c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,H){return function(a){return this}}(r,u,t,a,b,b,c,d,e,f,g,h,k,l,m,n,p,q),cljs.spec.alpha.t_cljs$spec$alpha28796.prototype.cljs$spec$alpha$Specize$specize_STAR_$arity$2=function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,H){return function(a,b){return this}}(r,u,t,a,b,b,c,d,e,f,g,h,k,l,m,n,p,q),cljs.spec.alpha.t_cljs$spec$alpha28796.prototype.cljs$spec$alpha$Spec$=cljs.core.PROTOCOL_SENTINEL,cljs.spec.alpha.t_cljs$spec$alpha28796.prototype.cljs$spec$alpha$Spec$conform_STAR_$arity$2=
function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,H){return function(a,b){if(cljs.core.truth_(this.keys_pred.call(null,b))){a=cljs.spec.alpha.registry.call(null);var c=cljs.core.seq.call(null,b),d=cljs.core.first.call(null,c);cljs.core.next.call(null,c);cljs.core.nth.call(null,d,0,null);cljs.core.nth.call(null,d,1,null);for(d=c=b;;){b=c;var e=cljs.core.seq.call(null,d);c=cljs.core.first.call(null,e);var f=cljs.core.next.call(null,e);e=c;c=cljs.core.nth.call(null,e,0,null);e=cljs.core.nth.call(null,e,1,null);
if(cljs.core.truth_(d))if(d=this.keys__GT_specnames.call(null,c),d=cljs.core.get.call(null,a,d),cljs.core.truth_(d)){d=cljs.spec.alpha.conform.call(null,d,e);if(cljs.spec.alpha.invalid_QMARK_.call(null,d))return new cljs.core.Keyword("cljs.spec.alpha","invalid","cljs.spec.alpha/invalid",-1220295119);b=d===e?b:cljs.core.assoc.call(null,b,c,d);d=f;c=b}else d=f,c=b;else return b}}else return new cljs.core.Keyword("cljs.spec.alpha","invalid","cljs.spec.alpha/invalid",-1220295119)}}(r,u,t,a,b,b,c,d,e,
f,g,h,k,l,m,n,p,q),cljs.spec.alpha.t_cljs$spec$alpha28796.prototype.cljs$spec$alpha$Spec$unform_STAR_$arity$2=function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,H){return function(a,b){a=cljs.spec.alpha.registry.call(null);var c=cljs.core.keys.call(null,b),d=cljs.core.seq.call(null,c);cljs.core.first.call(null,d);cljs.core.next.call(null,d);for(d=b;;){var e=cljs.core.seq.call(null,c),f=cljs.core.first.call(null,e);e=cljs.core.next.call(null,e);if(cljs.core.truth_(c))if(cljs.core.contains_QMARK_.call(null,
a,this.keys__GT_specnames.call(null,f))){c=cljs.core.get.call(null,b,f);var g=cljs.spec.alpha.unform.call(null,this.keys__GT_specnames.call(null,f),c);d=c===g?d:cljs.core.assoc.call(null,d,f,g);c=e}else c=e;else return d}}}(r,u,t,a,b,b,c,d,e,f,g,h,k,l,m,n,p,q),cljs.spec.alpha.t_cljs$spec$alpha28796.prototype.cljs$spec$alpha$Spec$explain_STAR_$arity$5=function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,H){return function(v,w,z,x,y){var A=this,C=this;if(cljs.core.map_QMARK_.call(null,y)){var B=cljs.spec.alpha.registry.call(null);
return cljs.core.apply.call(null,cljs.core.concat,function(){var v=cljs.core.seq.call(null,cljs.core.keep.call(null,cljs.core.identity,cljs.core.map.call(null,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,z){return function(a,b){return cljs.core.truth_(a.call(null,y))?null:b}}(B,C,a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,H),A.pred_exprs,A.pred_forms)));return v?cljs.core.map.call(null,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,A,C,B,E){return function(a){return cljs.core.identity.call(null,new cljs.core.PersistentArrayMap(null,
5,[new cljs.core.Keyword(null,"path","path",-188191168),w,new cljs.core.Keyword(null,"pred","pred",1927423397),a,new cljs.core.Keyword(null,"val","val",128701612),y,new cljs.core.Keyword(null,"via","via",-1904457336),z,new cljs.core.Keyword(null,"in","in",-1531184865),x],null))}}(v,v,B,C,a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,H),v):null}(),cljs.core.map.call(null,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,y,C){return function(b){var c=cljs.core.nth.call(null,b,0,null);b=cljs.core.nth.call(null,b,1,null);
return!cljs.core.contains_QMARK_.call(null,a,A.keys__GT_specnames.call(null,c))||cljs.spec.alpha.pvalid_QMARK_.call(null,A.keys__GT_specnames.call(null,c),b,c)?null:cljs.spec.alpha.explain_1.call(null,A.keys__GT_specnames.call(null,c),A.keys__GT_specnames.call(null,c),cljs.core.conj.call(null,w,c),z,cljs.core.conj.call(null,x,c),b)}}(B,C,a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,H),cljs.core.seq.call(null,y)))}return new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.PersistentArrayMap(null,
5,[new cljs.core.Keyword(null,"path","path",-188191168),w,new cljs.core.Keyword(null,"pred","pred",1927423397),new cljs.core.Symbol("cljs.core","map?","cljs.core/map?",-1390345523,null),new cljs.core.Keyword(null,"val","val",128701612),y,new cljs.core.Keyword(null,"via","via",-1904457336),z,new cljs.core.Keyword(null,"in","in",-1531184865),x],null)],null)}}(r,u,t,a,b,b,c,d,e,f,g,h,k,l,m,n,p,q),cljs.spec.alpha.t_cljs$spec$alpha28796.prototype.cljs$spec$alpha$Spec$gen_STAR_$arity$4=function(a,b,c,d,
e,f,g,h,k,l,m,n,p,q,r,t,u,H){return function(v,w,z,x){var y=this;if(cljs.core.truth_(y.gfn))return y.gfn.call(null);v=cljs.spec.alpha.inck.call(null,x,y.id);x=function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,x,y){return function(b,c){return new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[b,cljs.spec.alpha.gensub.call(null,c,w,cljs.core.conj.call(null,z,b),a,b)],null)}}(v,this,a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,H);var A=function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,x,A,C){return function(B,
E){return cljs.spec.alpha.recur_limit_QMARK_.call(null,a,y.id,z,B)?null:new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[B,cljs.spec.gen.alpha.delay_impl.call(null,new cljs.core.Delay(function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,x,y,A){return function(){return cljs.spec.alpha.gensub.call(null,E,w,cljs.core.conj.call(null,z,B),a,B)}}(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,x,A,C),null))],null)}}(v,x,this,a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,H),C=cljs.core.map.call(null,x,y.req_keys,
y.req_specs),B=cljs.core.remove.call(null,cljs.core.nil_QMARK_,cljs.core.map.call(null,A,y.opt_keys,y.opt_specs));return cljs.core.every_QMARK_.call(null,cljs.core.identity,cljs.core.concat.call(null,cljs.core.map.call(null,cljs.core.second,C),cljs.core.map.call(null,cljs.core.second,B)))?cljs.spec.gen.alpha.bind.call(null,cljs.spec.gen.alpha.tuple.call(null,cljs.spec.alpha.and_k_gen.call(null,y.req),cljs.spec.alpha.or_k_gen.call(null,y.opt),cljs.spec.alpha.and_k_gen.call(null,y.req_un),cljs.spec.alpha.or_k_gen.call(null,
y.opt_un)),function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,z,x,y,A,C){return function(B){var E=cljs.core.nth.call(null,B,0,null),D=cljs.core.nth.call(null,B,1,null),F=cljs.core.nth.call(null,B,2,null),G=cljs.core.nth.call(null,B,3,null),I=cljs.core.flatten.call(null,cljs.core.concat.call(null,E,D)),H=cljs.core.map.call(null,cljs.core.comp.call(null,cljs.core.keyword,cljs.core.name),cljs.core.flatten.call(null,cljs.core.concat.call(null,F,G)));return cljs.core.apply.call(null,cljs.spec.gen.alpha.hash_map,
cljs.core.apply.call(null,cljs.core.concat,cljs.core.filter.call(null,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,z,x,y,A,B,C,E,D,F,G,I,H){return function(c){return cljs.core.set.call(null,cljs.core.concat.call(null,a,b)).call(null,cljs.core.first.call(null,c))}}(I,H,B,E,D,F,G,a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,z,x,y,A,C),cljs.core.into.call(null,d,e))))}}(v,x,A,C,B,this,a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,H)):null}}(r,u,t,a,b,b,c,d,e,f,g,h,k,l,m,n,p,q),cljs.spec.alpha.t_cljs$spec$alpha28796.prototype.cljs$spec$alpha$Spec$with_gen_STAR_$arity$2=
function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,H){return function(a,b){return cljs.spec.alpha.map_spec_impl.call(null,cljs.core.assoc.call(null,this.argm,new cljs.core.Keyword(null,"gfn","gfn",791517474),b))}}(r,u,t,a,b,b,c,d,e,f,g,h,k,l,m,n,p,q),cljs.spec.alpha.t_cljs$spec$alpha28796.prototype.cljs$spec$alpha$Spec$describe_STAR_$arity$1=function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,H){return function(a){var b=this;return cljs.core.cons.call(null,new cljs.core.Symbol("cljs.spec.alpha","keys","cljs.spec.alpha/keys",
1109346032,null),function(){var a=cljs.core.PersistentVector.EMPTY;a=cljs.core.truth_(b.req)?cljs.core.conj.call(null,a,new cljs.core.Keyword(null,"req","req",-326448303),b.req):a;a=cljs.core.truth_(b.opt)?cljs.core.conj.call(null,a,new cljs.core.Keyword(null,"opt","opt",-794706369),b.opt):a;a=cljs.core.truth_(b.req_un)?cljs.core.conj.call(null,a,new cljs.core.Keyword(null,"req-un","req-un",1074571008),b.req_un):a;return cljs.core.truth_(b.opt_un)?cljs.core.conj.call(null,a,new cljs.core.Keyword(null,
"opt-un","opt-un",883442496),b.opt_un):a}())}}(r,u,t,a,b,b,c,d,e,f,g,h,k,l,m,n,p,q),cljs.spec.alpha.t_cljs$spec$alpha28796.getBasis=function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,H){return function(){return new cljs.core.PersistentVector(null,19,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"keys-\x3especnames","keys-\x3especnames",1791294693,null),new cljs.core.Symbol(null,"opt","opt",845825158,null),new cljs.core.Symbol(null,"req-un","req-un",-1579864761,null),new cljs.core.Symbol(null,
"opt-un","opt-un",-1770993273,null),new cljs.core.Symbol(null,"gfn","gfn",-1862918295,null),new cljs.core.Symbol(null,"pred-exprs","pred-exprs",-862164374,null),new cljs.core.Symbol(null,"keys-pred","keys-pred",-1795451030,null),new cljs.core.Symbol(null,"argm","argm",-181546357,null),new cljs.core.Symbol(null,"opt-keys","opt-keys",-1391747508,null),new cljs.core.Symbol(null,"req-specs","req-specs",-2100473456,null),new cljs.core.Symbol(null,"req","req",1314083224,null),new cljs.core.Symbol(null,
"p__28793","p__28793",-1212039239,null),new cljs.core.Symbol(null,"id","id",252129435,null),new cljs.core.Symbol(null,"req-keys","req-keys",-2140116548,null),new cljs.core.Symbol(null,"opt-specs","opt-specs",1255626077,null),new cljs.core.Symbol(null,"map__28794","map__28794",-1940690626,null),new cljs.core.Symbol(null,"k-\x3es","k-\x3es",-1685112801,null),new cljs.core.Symbol(null,"pred-forms","pred-forms",1813143359,null),new cljs.core.Symbol(null,"meta28797","meta28797",-1897791375,null)],null)}}(r,
u,t,a,b,b,c,d,e,f,g,h,k,l,m,n,p,q),cljs.spec.alpha.t_cljs$spec$alpha28796.cljs$lang$type=!0,cljs.spec.alpha.t_cljs$spec$alpha28796.cljs$lang$ctorStr="cljs.spec.alpha/t_cljs$spec$alpha28796",cljs.spec.alpha.t_cljs$spec$alpha28796.cljs$lang$ctorPrWriter=function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,H){return function(a,b,c){return cljs.core._write.call(null,b,"cljs.spec.alpha/t_cljs$spec$alpha28796")}}(r,u,t,a,b,b,c,d,e,f,g,h,k,l,m,n,p,q),cljs.spec.alpha.__GT_t_cljs$spec$alpha28796=function(a,b,c,d,e,
f,g,h,k,l,m,n,p,q,r,t,u,H){return function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w){return new cljs.spec.alpha.t_cljs$spec$alpha28796(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w)}}(r,u,t,a,b,b,c,d,e,f,g,h,k,l,m,n,p,q);return new cljs.spec.alpha.t_cljs$spec$alpha28796(u,c,d,e,f,g,h,b,k,l,m,a,t,n,p,b,r,q,cljs.core.PersistentArrayMap.EMPTY)};
cljs.spec.alpha.spec_impl=function(a){switch(arguments.length){case 4:return cljs.spec.alpha.spec_impl.cljs$core$IFn$_invoke$arity$4(arguments[0],arguments[1],arguments[2],arguments[3]);case 5:return cljs.spec.alpha.spec_impl.cljs$core$IFn$_invoke$arity$5(arguments[0],arguments[1],arguments[2],arguments[3],arguments[4]);default:throw Error(["Invalid arity: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(""));}};
cljs.spec.alpha.spec_impl.cljs$core$IFn$_invoke$arity$4=function(a,b,c,d){return cljs.spec.alpha.spec_impl.call(null,a,b,c,d,null)};
cljs.spec.alpha.spec_impl.cljs$core$IFn$_invoke$arity$5=function(a,b,c,d,e){if(cljs.core.truth_(cljs.spec.alpha.spec_QMARK_.call(null,b)))return cljs.core.truth_(c)?cljs.spec.alpha.with_gen.call(null,b,c):b;if(cljs.core.truth_(cljs.spec.alpha.regex_QMARK_.call(null,b)))return cljs.spec.alpha.regex_spec_impl.call(null,b,c);if(cljs.core.ident_QMARK_.call(null,b))return a=cljs.spec.alpha.the_spec.call(null,b),cljs.core.truth_(c)?cljs.spec.alpha.with_gen.call(null,a,c):a;if("undefined"===typeof cljs||
"undefined"===typeof cljs.spec||"undefined"===typeof cljs.spec.alpha||"undefined"===typeof cljs.spec.alpha.t_cljs$spec$alpha28852)cljs.spec.alpha.t_cljs$spec$alpha28852=function(a,b,c,d,e,m){this.form=a;this.pred=b;this.gfn=c;this.cpred_QMARK_=d;this.unc=e;this.meta28853=m;this.cljs$lang$protocol_mask$partition0$=393216;this.cljs$lang$protocol_mask$partition1$=0},cljs.spec.alpha.t_cljs$spec$alpha28852.prototype.cljs$core$IWithMeta$_with_meta$arity$2=function(a,b){return new cljs.spec.alpha.t_cljs$spec$alpha28852(this.form,
this.pred,this.gfn,this.cpred_QMARK_,this.unc,b)},cljs.spec.alpha.t_cljs$spec$alpha28852.prototype.cljs$core$IMeta$_meta$arity$1=function(a){return this.meta28853},cljs.spec.alpha.t_cljs$spec$alpha28852.prototype.cljs$spec$alpha$Specize$=cljs.core.PROTOCOL_SENTINEL,cljs.spec.alpha.t_cljs$spec$alpha28852.prototype.cljs$spec$alpha$Specize$specize_STAR_$arity$1=function(a){return this},cljs.spec.alpha.t_cljs$spec$alpha28852.prototype.cljs$spec$alpha$Specize$specize_STAR_$arity$2=function(a,b){return this},
cljs.spec.alpha.t_cljs$spec$alpha28852.prototype.cljs$spec$alpha$Spec$=cljs.core.PROTOCOL_SENTINEL,cljs.spec.alpha.t_cljs$spec$alpha28852.prototype.cljs$spec$alpha$Spec$conform_STAR_$arity$2=function(a,b){a=this.pred.call(null,b);return cljs.core.truth_(this.cpred_QMARK_)?a:cljs.core.truth_(a)?b:new cljs.core.Keyword("cljs.spec.alpha","invalid","cljs.spec.alpha/invalid",-1220295119)},cljs.spec.alpha.t_cljs$spec$alpha28852.prototype.cljs$spec$alpha$Spec$unform_STAR_$arity$2=function(a,b){if(cljs.core.truth_(this.cpred_QMARK_)){if(cljs.core.truth_(this.unc))return this.unc.call(null,
b);throw Error("no unform fn for conformer");}return b},cljs.spec.alpha.t_cljs$spec$alpha28852.prototype.cljs$spec$alpha$Spec$explain_STAR_$arity$5=function(a,b,c,d,e){return cljs.spec.alpha.invalid_QMARK_.call(null,cljs.spec.alpha.dt.call(null,this.pred,e,this.form,this.cpred_QMARK_))?new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.PersistentArrayMap(null,5,[new cljs.core.Keyword(null,"path","path",-188191168),b,new cljs.core.Keyword(null,"pred","pred",
1927423397),this.form,new cljs.core.Keyword(null,"val","val",128701612),e,new cljs.core.Keyword(null,"via","via",-1904457336),c,new cljs.core.Keyword(null,"in","in",-1531184865),d],null)],null):null},cljs.spec.alpha.t_cljs$spec$alpha28852.prototype.cljs$spec$alpha$Spec$gen_STAR_$arity$4=function(a,b,c,d){return cljs.core.truth_(this.gfn)?this.gfn.call(null):cljs.spec.gen.alpha.gen_for_pred.call(null,this.pred)},cljs.spec.alpha.t_cljs$spec$alpha28852.prototype.cljs$spec$alpha$Spec$with_gen_STAR_$arity$2=
function(a,b){return cljs.spec.alpha.spec_impl.call(null,this.form,this.pred,b,this.cpred_QMARK_,this.unc)},cljs.spec.alpha.t_cljs$spec$alpha28852.prototype.cljs$spec$alpha$Spec$describe_STAR_$arity$1=function(a){return this.form},cljs.spec.alpha.t_cljs$spec$alpha28852.getBasis=function(){return new cljs.core.PersistentVector(null,6,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"form","form",16469056,null),new cljs.core.Symbol(null,"pred","pred",-727012372,null),new cljs.core.Symbol(null,
"gfn","gfn",-1862918295,null),new cljs.core.Symbol(null,"cpred?","cpred?",35589515,null),new cljs.core.Symbol(null,"unc","unc",-465250751,null),new cljs.core.Symbol(null,"meta28853","meta28853",-58403362,null)],null)},cljs.spec.alpha.t_cljs$spec$alpha28852.cljs$lang$type=!0,cljs.spec.alpha.t_cljs$spec$alpha28852.cljs$lang$ctorStr="cljs.spec.alpha/t_cljs$spec$alpha28852",cljs.spec.alpha.t_cljs$spec$alpha28852.cljs$lang$ctorPrWriter=function(a,b,c){return cljs.core._write.call(null,b,"cljs.spec.alpha/t_cljs$spec$alpha28852")},
cljs.spec.alpha.__GT_t_cljs$spec$alpha28852=function(a,b,c,d,e,m){return new cljs.spec.alpha.t_cljs$spec$alpha28852(a,b,c,d,e,m)};return new cljs.spec.alpha.t_cljs$spec$alpha28852(a,b,c,d,e,cljs.core.PersistentArrayMap.EMPTY)};cljs.spec.alpha.spec_impl.cljs$lang$maxFixedArity=5;
cljs.spec.alpha.multi_spec_impl=function(a){switch(arguments.length){case 3:return cljs.spec.alpha.multi_spec_impl.cljs$core$IFn$_invoke$arity$3(arguments[0],arguments[1],arguments[2]);case 4:return cljs.spec.alpha.multi_spec_impl.cljs$core$IFn$_invoke$arity$4(arguments[0],arguments[1],arguments[2],arguments[3]);default:throw Error(["Invalid arity: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(""));}};
cljs.spec.alpha.multi_spec_impl.cljs$core$IFn$_invoke$arity$3=function(a,b,c){return cljs.spec.alpha.multi_spec_impl.call(null,a,b,c,null)};
cljs.spec.alpha.multi_spec_impl.cljs$core$IFn$_invoke$arity$4=function(a,b,c,d){var e=cljs.core.random_uuid.call(null),f=function(a){return function(a){var c=cljs.core.deref.call(null,b),d=cljs.core._get_method.call(null,c,cljs.core._dispatch_fn.call(null,c).call(null,a));return cljs.core.truth_(d)?c.call(null,a):d}}(e),g=function(a,c){return function(a){return cljs.core._dispatch_fn.call(null,cljs.core.deref.call(null,b)).call(null,a)}}(e,f),h=c instanceof cljs.core.Keyword?function(a,b,d){return function(a,
b){return cljs.core.assoc.call(null,a,c,b)}}(e,f,g):c;if("undefined"===typeof cljs||"undefined"===typeof cljs.spec||"undefined"===typeof cljs.spec.alpha||"undefined"===typeof cljs.spec.alpha.t_cljs$spec$alpha28863)cljs.spec.alpha.t_cljs$spec$alpha28863=function(a,b,c,d,e,f,g,h,t){this.form=a;this.mmvar=b;this.retag=c;this.gfn=d;this.id=e;this.predx=f;this.dval=g;this.tag=h;this.meta28864=t;this.cljs$lang$protocol_mask$partition0$=393216;this.cljs$lang$protocol_mask$partition1$=0},cljs.spec.alpha.t_cljs$spec$alpha28863.prototype.cljs$core$IWithMeta$_with_meta$arity$2=
function(a,b,c,d){return function(a,b){return new cljs.spec.alpha.t_cljs$spec$alpha28863(this.form,this.mmvar,this.retag,this.gfn,this.id,this.predx,this.dval,this.tag,b)}}(e,f,g,h),cljs.spec.alpha.t_cljs$spec$alpha28863.prototype.cljs$core$IMeta$_meta$arity$1=function(a,b,c,d){return function(a){return this.meta28864}}(e,f,g,h),cljs.spec.alpha.t_cljs$spec$alpha28863.prototype.cljs$spec$alpha$Specize$=cljs.core.PROTOCOL_SENTINEL,cljs.spec.alpha.t_cljs$spec$alpha28863.prototype.cljs$spec$alpha$Specize$specize_STAR_$arity$1=
function(a,b,c,d){return function(a){return this}}(e,f,g,h),cljs.spec.alpha.t_cljs$spec$alpha28863.prototype.cljs$spec$alpha$Specize$specize_STAR_$arity$2=function(a,b,c,d){return function(a,b){return this}}(e,f,g,h),cljs.spec.alpha.t_cljs$spec$alpha28863.prototype.cljs$spec$alpha$Spec$=cljs.core.PROTOCOL_SENTINEL,cljs.spec.alpha.t_cljs$spec$alpha28863.prototype.cljs$spec$alpha$Spec$conform_STAR_$arity$2=function(a,b,c,d){return function(a,b){a=this.predx.call(null,b);return cljs.core.truth_(a)?cljs.spec.alpha.dt.call(null,
a,b,this.form):new cljs.core.Keyword("cljs.spec.alpha","invalid","cljs.spec.alpha/invalid",-1220295119)}}(e,f,g,h),cljs.spec.alpha.t_cljs$spec$alpha28863.prototype.cljs$spec$alpha$Spec$unform_STAR_$arity$2=function(a,b,c,d){return function(a,b){a=this.predx.call(null,b);if(cljs.core.truth_(a))return cljs.spec.alpha.unform.call(null,a,b);throw Error(["No method of: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(this.form)," for dispatch value: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(this.dval.call(null,
b))].join(""));}}(e,f,g,h),cljs.spec.alpha.t_cljs$spec$alpha28863.prototype.cljs$spec$alpha$Spec$explain_STAR_$arity$5=function(a,b,c,d){return function(a,b,c,d,e){a=this.dval.call(null,e);b=cljs.core.conj.call(null,b,a);a=this.predx.call(null,e);return cljs.core.truth_(a)?cljs.spec.alpha.explain_1.call(null,this.form,a,b,c,d,e):new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.PersistentArrayMap(null,6,[new cljs.core.Keyword(null,"path","path",-188191168),
b,new cljs.core.Keyword(null,"pred","pred",1927423397),this.form,new cljs.core.Keyword(null,"val","val",128701612),e,new cljs.core.Keyword(null,"reason","reason",-2070751759),"no method",new cljs.core.Keyword(null,"via","via",-1904457336),c,new cljs.core.Keyword(null,"in","in",-1531184865),d],null)],null)}}(e,f,g,h),cljs.spec.alpha.t_cljs$spec$alpha28863.prototype.cljs$spec$alpha$Spec$gen_STAR_$arity$4=function(a,b,c,d){return function(e,f,g,h){var k=this;if(cljs.core.truth_(k.gfn))return k.gfn.call(null);
e=function(a,b,c,d,e){return function(l){var m=cljs.core.nth.call(null,l,0,null),n=cljs.core.nth.call(null,l,1,null),p=n.call(null,null),q=cljs.spec.alpha.inck.call(null,h,k.id);return cljs.spec.alpha.recur_limit_QMARK_.call(null,q,k.id,g,m)?null:cljs.spec.gen.alpha.delay_impl.call(null,new cljs.core.Delay(function(a,b,c,d,e,h,l,m,n,p){return function(){return cljs.spec.gen.alpha.fmap.call(null,function(a,b,c,d,e,f,g,h,l,m){return function(a){return k.tag.call(null,a,d)}}(a,b,c,d,e,h,l,m,n,p),cljs.spec.alpha.gensub.call(null,
b,f,cljs.core.conj.call(null,g,d),a,new cljs.core.List(null,new cljs.core.Symbol(null,"method","method",1696235119,null),new cljs.core.List(null,k.form,new cljs.core.List(null,d,null,1,null),2,null),3,null)))}}(q,p,l,m,n,a,b,c,d,e),null))}}(this,a,b,c,d);e=cljs.core.remove.call(null,cljs.core.nil_QMARK_,cljs.core.map.call(null,e,cljs.core.remove.call(null,function(a,b,c,d,e,f){return function(a){a=cljs.core.nth.call(null,a,0,null);return cljs.spec.alpha.invalid_QMARK_.call(null,a)}}(e,this,a,b,c,
d),cljs.core.methods$.call(null,cljs.core.deref.call(null,k.mmvar)))));return cljs.core.every_QMARK_.call(null,cljs.core.identity,e)?cljs.spec.gen.alpha.one_of.call(null,e):null}}(e,f,g,h),cljs.spec.alpha.t_cljs$spec$alpha28863.prototype.cljs$spec$alpha$Spec$with_gen_STAR_$arity$2=function(a,b,c,d){return function(a,b){return cljs.spec.alpha.multi_spec_impl.call(null,this.form,this.mmvar,this.retag,b)}}(e,f,g,h),cljs.spec.alpha.t_cljs$spec$alpha28863.prototype.cljs$spec$alpha$Spec$describe_STAR_$arity$1=
function(a,b,c,d){return function(a){return cljs.core.sequence.call(null,cljs.core.seq.call(null,cljs.core.concat.call(null,new cljs.core.List(null,new cljs.core.Symbol("cljs.spec.alpha","multi-spec","cljs.spec.alpha/multi-spec",175821274,null),null,1,null),new cljs.core.List(null,this.form,null,1,null),new cljs.core.List(null,this.retag,null,1,null))))}}(e,f,g,h),cljs.spec.alpha.t_cljs$spec$alpha28863.getBasis=function(a,b,c,d){return function(){return new cljs.core.PersistentVector(null,9,5,cljs.core.PersistentVector.EMPTY_NODE,
[new cljs.core.Symbol(null,"form","form",16469056,null),new cljs.core.Symbol(null,"mmvar","mmvar",-1714325675,null),new cljs.core.Symbol(null,"retag","retag",528972725,null),new cljs.core.Symbol(null,"gfn","gfn",-1862918295,null),new cljs.core.Symbol(null,"id","id",252129435,null),new cljs.core.Symbol(null,"predx","predx",2063470948,null),new cljs.core.Symbol(null,"dval","dval",835211877,null),new cljs.core.Symbol(null,"tag","tag",350170304,null),new cljs.core.Symbol(null,"meta28864","meta28864",
349581926,null)],null)}}(e,f,g,h),cljs.spec.alpha.t_cljs$spec$alpha28863.cljs$lang$type=!0,cljs.spec.alpha.t_cljs$spec$alpha28863.cljs$lang$ctorStr="cljs.spec.alpha/t_cljs$spec$alpha28863",cljs.spec.alpha.t_cljs$spec$alpha28863.cljs$lang$ctorPrWriter=function(a,b,c,d){return function(a,b,c){return cljs.core._write.call(null,b,"cljs.spec.alpha/t_cljs$spec$alpha28863")}}(e,f,g,h),cljs.spec.alpha.__GT_t_cljs$spec$alpha28863=function(a,b,c,d){return function(a,b,c,d,e,f,g,h,k){return new cljs.spec.alpha.t_cljs$spec$alpha28863(a,
b,c,d,e,f,g,h,k)}}(e,f,g,h);return new cljs.spec.alpha.t_cljs$spec$alpha28863(a,b,c,d,e,f,g,h,cljs.core.PersistentArrayMap.EMPTY)};cljs.spec.alpha.multi_spec_impl.cljs$lang$maxFixedArity=4;
cljs.spec.alpha.tuple_impl=function(a){switch(arguments.length){case 2:return cljs.spec.alpha.tuple_impl.cljs$core$IFn$_invoke$arity$2(arguments[0],arguments[1]);case 3:return cljs.spec.alpha.tuple_impl.cljs$core$IFn$_invoke$arity$3(arguments[0],arguments[1],arguments[2]);default:throw Error(["Invalid arity: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(""));}};
cljs.spec.alpha.tuple_impl.cljs$core$IFn$_invoke$arity$2=function(a,b){return cljs.spec.alpha.tuple_impl.call(null,a,b,null)};
cljs.spec.alpha.tuple_impl.cljs$core$IFn$_invoke$arity$3=function(a,b,c){var d=new cljs.core.Delay(function(){return cljs.core.mapv.call(null,cljs.spec.alpha.specize,b,a)},null),e=cljs.core.count.call(null,b);if("undefined"===typeof cljs||"undefined"===typeof cljs.spec||"undefined"===typeof cljs.spec.alpha||"undefined"===typeof cljs.spec.alpha.t_cljs$spec$alpha28877)cljs.spec.alpha.t_cljs$spec$alpha28877=function(a,b,c,d,e,m){this.forms=a;this.preds=b;this.gfn=c;this.specs=d;this.cnt=e;this.meta28878=
m;this.cljs$lang$protocol_mask$partition0$=393216;this.cljs$lang$protocol_mask$partition1$=0},cljs.spec.alpha.t_cljs$spec$alpha28877.prototype.cljs$core$IWithMeta$_with_meta$arity$2=function(a,b){return function(a,b){return new cljs.spec.alpha.t_cljs$spec$alpha28877(this.forms,this.preds,this.gfn,this.specs,this.cnt,b)}}(d,e),cljs.spec.alpha.t_cljs$spec$alpha28877.prototype.cljs$core$IMeta$_meta$arity$1=function(a,b){return function(a){return this.meta28878}}(d,e),cljs.spec.alpha.t_cljs$spec$alpha28877.prototype.cljs$spec$alpha$Specize$=
cljs.core.PROTOCOL_SENTINEL,cljs.spec.alpha.t_cljs$spec$alpha28877.prototype.cljs$spec$alpha$Specize$specize_STAR_$arity$1=function(a,b){return function(a){return this}}(d,e),cljs.spec.alpha.t_cljs$spec$alpha28877.prototype.cljs$spec$alpha$Specize$specize_STAR_$arity$2=function(a,b){return function(a,b){return this}}(d,e),cljs.spec.alpha.t_cljs$spec$alpha28877.prototype.cljs$spec$alpha$Spec$=cljs.core.PROTOCOL_SENTINEL,cljs.spec.alpha.t_cljs$spec$alpha28877.prototype.cljs$spec$alpha$Spec$conform_STAR_$arity$2=
function(a,b){return function(a,b){a=cljs.core.deref.call(null,this.specs);if(cljs.core.vector_QMARK_.call(null,b)&&cljs.core._EQ_.call(null,cljs.core.count.call(null,b),this.cnt))for(var c=b,d=0;;){if(cljs.core._EQ_.call(null,d,this.cnt))return c;var e=b.call(null,d),f=cljs.spec.alpha.conform_STAR_.call(null,a.call(null,d),e);if(cljs.spec.alpha.invalid_QMARK_.call(null,f))return new cljs.core.Keyword("cljs.spec.alpha","invalid","cljs.spec.alpha/invalid",-1220295119);c=f===e?c:cljs.core.assoc.call(null,
c,d,f);d+=1}else return new cljs.core.Keyword("cljs.spec.alpha","invalid","cljs.spec.alpha/invalid",-1220295119)}}(d,e),cljs.spec.alpha.t_cljs$spec$alpha28877.prototype.cljs$spec$alpha$Spec$unform_STAR_$arity$2=function(a,b){return function(a,b){if(!cljs.core.vector_QMARK_.call(null,b)||!cljs.core._EQ_.call(null,cljs.core.count.call(null,b),cljs.core.count.call(null,this.preds)))throw Error("Assert failed: (c/and (vector? x) (\x3d (count x) (count preds)))");a=b;for(var c=0;;){if(cljs.core._EQ_.call(null,
c,cljs.core.count.call(null,b)))return a;var d=b.call(null,c),e=cljs.spec.alpha.unform.call(null,this.preds.call(null,c),d);a=d===e?a:cljs.core.assoc.call(null,a,c,e);c+=1}}}(d,e),cljs.spec.alpha.t_cljs$spec$alpha28877.prototype.cljs$spec$alpha$Spec$explain_STAR_$arity$5=function(a,b){return function(c,d,e,f,g){return cljs.core.vector_QMARK_.call(null,g)?cljs.core.not_EQ_.call(null,cljs.core.count.call(null,g),cljs.core.count.call(null,this.preds))?new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,
[new cljs.core.PersistentArrayMap(null,5,[new cljs.core.Keyword(null,"path","path",-188191168),d,new cljs.core.Keyword(null,"pred","pred",1927423397),cljs.core.sequence.call(null,cljs.core.seq.call(null,cljs.core.concat.call(null,new cljs.core.List(null,new cljs.core.Symbol("cljs.core","\x3d","cljs.core/\x3d",-1891498332,null),null,1,null),new cljs.core.List(null,cljs.core.sequence.call(null,cljs.core.seq.call(null,cljs.core.concat.call(null,new cljs.core.List(null,new cljs.core.Symbol("cljs.core",
"count","cljs.core/count",-921270233,null),null,1,null),new cljs.core.List(null,new cljs.core.Symbol(null,"%","%",-950237169,null),null,1,null)))),null,1,null),new cljs.core.List(null,cljs.core.count.call(null,this.preds),null,1,null)))),new cljs.core.Keyword(null,"val","val",128701612),g,new cljs.core.Keyword(null,"via","via",-1904457336),e,new cljs.core.Keyword(null,"in","in",-1531184865),f],null)],null):cljs.core.apply.call(null,cljs.core.concat,cljs.core.map.call(null,function(a,b,c){return function(a,
b,c){var h=g.call(null,a);return cljs.spec.alpha.pvalid_QMARK_.call(null,c,h)?null:cljs.spec.alpha.explain_1.call(null,b,c,cljs.core.conj.call(null,d,a),e,cljs.core.conj.call(null,f,a),h)}}(this,a,b),cljs.core.range.call(null,cljs.core.count.call(null,this.preds)),this.forms,this.preds)):new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.PersistentArrayMap(null,5,[new cljs.core.Keyword(null,"path","path",-188191168),d,new cljs.core.Keyword(null,"pred","pred",
1927423397),new cljs.core.Symbol("cljs.core","vector?","cljs.core/vector?",-1550392028,null),new cljs.core.Keyword(null,"val","val",128701612),g,new cljs.core.Keyword(null,"via","via",-1904457336),e,new cljs.core.Keyword(null,"in","in",-1531184865),f],null)],null)}}(d,e),cljs.spec.alpha.t_cljs$spec$alpha28877.prototype.cljs$spec$alpha$Spec$gen_STAR_$arity$4=function(a,b){return function(c,d,e,f){if(cljs.core.truth_(this.gfn))return this.gfn.call(null);c=function(a,b,c){return function(a,b,c){return cljs.spec.alpha.gensub.call(null,
b,d,cljs.core.conj.call(null,e,a),f,c)}}(this,a,b);c=cljs.core.map.call(null,c,cljs.core.range.call(null,cljs.core.count.call(null,this.preds)),this.preds,this.forms);return cljs.core.every_QMARK_.call(null,cljs.core.identity,c)?cljs.core.apply.call(null,cljs.spec.gen.alpha.tuple,c):null}}(d,e),cljs.spec.alpha.t_cljs$spec$alpha28877.prototype.cljs$spec$alpha$Spec$with_gen_STAR_$arity$2=function(a,b){return function(a,b){return cljs.spec.alpha.tuple_impl.call(null,this.forms,this.preds,b)}}(d,e),cljs.spec.alpha.t_cljs$spec$alpha28877.prototype.cljs$spec$alpha$Spec$describe_STAR_$arity$1=
function(a,b){return function(a){return cljs.core.sequence.call(null,cljs.core.seq.call(null,cljs.core.concat.call(null,new cljs.core.List(null,new cljs.core.Symbol("cljs.spec.alpha","tuple","cljs.spec.alpha/tuple",-415901908,null),null,1,null),this.forms)))}}(d,e),cljs.spec.alpha.t_cljs$spec$alpha28877.getBasis=function(a,b){return function(){return new cljs.core.PersistentVector(null,6,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"forms","forms",-608443419,null),new cljs.core.Symbol(null,
"preds","preds",150921777,null),new cljs.core.Symbol(null,"gfn","gfn",-1862918295,null),new cljs.core.Symbol(null,"specs","specs",-1227865028,null),new cljs.core.Symbol(null,"cnt","cnt",1924510325,null),new cljs.core.Symbol(null,"meta28878","meta28878",-711323693,null)],null)}}(d,e),cljs.spec.alpha.t_cljs$spec$alpha28877.cljs$lang$type=!0,cljs.spec.alpha.t_cljs$spec$alpha28877.cljs$lang$ctorStr="cljs.spec.alpha/t_cljs$spec$alpha28877",cljs.spec.alpha.t_cljs$spec$alpha28877.cljs$lang$ctorPrWriter=
function(a,b){return function(a,b,c){return cljs.core._write.call(null,b,"cljs.spec.alpha/t_cljs$spec$alpha28877")}}(d,e),cljs.spec.alpha.__GT_t_cljs$spec$alpha28877=function(a,b){return function(a,b,c,d,e,f){return new cljs.spec.alpha.t_cljs$spec$alpha28877(a,b,c,d,e,f)}}(d,e);return new cljs.spec.alpha.t_cljs$spec$alpha28877(a,b,c,d,e,cljs.core.PersistentArrayMap.EMPTY)};cljs.spec.alpha.tuple_impl.cljs$lang$maxFixedArity=3;
cljs.spec.alpha.tagged_ret=function(a,b){return new cljs.core.MapEntry(a,b,null)};
cljs.spec.alpha.or_spec_impl=function(a,b,c,d){var e=cljs.core.random_uuid.call(null),f=cljs.core.zipmap.call(null,a,c),g=new cljs.core.Delay(function(a,d){return function(){return cljs.core.mapv.call(null,cljs.spec.alpha.specize,c,b)}}(e,f),null),h=function(){var b=cljs.core.count.call(null,c);switch(b){case 2:return function(b,c,d,e){return function(b){var c=cljs.core.deref.call(null,e),d=cljs.spec.alpha.conform_STAR_.call(null,c.call(null,0),b);return cljs.spec.alpha.invalid_QMARK_.call(null,d)?
(b=cljs.spec.alpha.conform_STAR_.call(null,c.call(null,1),b),cljs.spec.alpha.invalid_QMARK_.call(null,b)?new cljs.core.Keyword("cljs.spec.alpha","invalid","cljs.spec.alpha/invalid",-1220295119):cljs.spec.alpha.tagged_ret.call(null,a.call(null,1),b)):cljs.spec.alpha.tagged_ret.call(null,a.call(null,0),d)}}(b,e,f,g);case 3:return function(b,c,d,e){return function(b){var c=cljs.core.deref.call(null,e),d=cljs.spec.alpha.conform_STAR_.call(null,c.call(null,0),b);return cljs.spec.alpha.invalid_QMARK_.call(null,
d)?(d=cljs.spec.alpha.conform_STAR_.call(null,c.call(null,1),b),cljs.spec.alpha.invalid_QMARK_.call(null,d)?(b=cljs.spec.alpha.conform_STAR_.call(null,c.call(null,2),b),cljs.spec.alpha.invalid_QMARK_.call(null,b)?new cljs.core.Keyword("cljs.spec.alpha","invalid","cljs.spec.alpha/invalid",-1220295119):cljs.spec.alpha.tagged_ret.call(null,a.call(null,2),b)):cljs.spec.alpha.tagged_ret.call(null,a.call(null,1),d)):cljs.spec.alpha.tagged_ret.call(null,a.call(null,0),d)}}(b,e,f,g);default:return function(b,
c,d,e){return function(b){for(var c=cljs.core.deref.call(null,e),d=0;;)if(d<cljs.core.count.call(null,c)){var f=c.call(null,d);f=cljs.spec.alpha.conform_STAR_.call(null,f,b);if(cljs.spec.alpha.invalid_QMARK_.call(null,f))d+=1;else return cljs.spec.alpha.tagged_ret.call(null,a.call(null,d),f)}else return new cljs.core.Keyword("cljs.spec.alpha","invalid","cljs.spec.alpha/invalid",-1220295119)}}(b,e,f,g)}}();if("undefined"===typeof cljs||"undefined"===typeof cljs.spec||"undefined"===typeof cljs.spec.alpha||
"undefined"===typeof cljs.spec.alpha.t_cljs$spec$alpha28886)cljs.spec.alpha.t_cljs$spec$alpha28886=function(a,b,c,d,e,f,g,h,t){this.keys=a;this.forms=b;this.preds=c;this.gfn=d;this.id=e;this.kps=f;this.specs=g;this.cform=h;this.meta28887=t;this.cljs$lang$protocol_mask$partition0$=393216;this.cljs$lang$protocol_mask$partition1$=0},cljs.spec.alpha.t_cljs$spec$alpha28886.prototype.cljs$core$IWithMeta$_with_meta$arity$2=function(a,b,c,d){return function(a,b){return new cljs.spec.alpha.t_cljs$spec$alpha28886(this.keys,
this.forms,this.preds,this.gfn,this.id,this.kps,this.specs,this.cform,b)}}(e,f,g,h),cljs.spec.alpha.t_cljs$spec$alpha28886.prototype.cljs$core$IMeta$_meta$arity$1=function(a,b,c,d){return function(a){return this.meta28887}}(e,f,g,h),cljs.spec.alpha.t_cljs$spec$alpha28886.prototype.cljs$spec$alpha$Specize$=cljs.core.PROTOCOL_SENTINEL,cljs.spec.alpha.t_cljs$spec$alpha28886.prototype.cljs$spec$alpha$Specize$specize_STAR_$arity$1=function(a,b,c,d){return function(a){return this}}(e,f,g,h),cljs.spec.alpha.t_cljs$spec$alpha28886.prototype.cljs$spec$alpha$Specize$specize_STAR_$arity$2=
function(a,b,c,d){return function(a,b){return this}}(e,f,g,h),cljs.spec.alpha.t_cljs$spec$alpha28886.prototype.cljs$spec$alpha$Spec$=cljs.core.PROTOCOL_SENTINEL,cljs.spec.alpha.t_cljs$spec$alpha28886.prototype.cljs$spec$alpha$Spec$conform_STAR_$arity$2=function(a,b,c,d){return function(a,b){return this.cform.call(null,b)}}(e,f,g,h),cljs.spec.alpha.t_cljs$spec$alpha28886.prototype.cljs$spec$alpha$Spec$unform_STAR_$arity$2=function(a,b,c,d){return function(a,b){a=cljs.core.nth.call(null,b,0,null);b=
cljs.core.nth.call(null,b,1,null);return cljs.spec.alpha.unform.call(null,this.kps.call(null,a),b)}}(e,f,g,h),cljs.spec.alpha.t_cljs$spec$alpha28886.prototype.cljs$spec$alpha$Spec$explain_STAR_$arity$5=function(a,b,c,d){return function(e,f,g,h,k){return cljs.spec.alpha.pvalid_QMARK_.call(null,this,k)?null:cljs.core.apply.call(null,cljs.core.concat,cljs.core.map.call(null,function(a,b,c,d,e){return function(a,b,c){return cljs.spec.alpha.pvalid_QMARK_.call(null,c,k)?null:cljs.spec.alpha.explain_1.call(null,
b,c,cljs.core.conj.call(null,f,a),g,h,k)}}(this,a,b,c,d),this.keys,this.forms,this.preds))}}(e,f,g,h),cljs.spec.alpha.t_cljs$spec$alpha28886.prototype.cljs$spec$alpha$Spec$gen_STAR_$arity$4=function(a,b,c,d){return function(e,f,g,h){var k=this;if(cljs.core.truth_(k.gfn))return k.gfn.call(null);e=function(a,b,c,d,e){return function(l,m,n){var p=cljs.spec.alpha.inck.call(null,h,k.id);return cljs.spec.alpha.recur_limit_QMARK_.call(null,p,k.id,g,l)?null:cljs.spec.gen.alpha.delay_impl.call(null,new cljs.core.Delay(function(a,
b,c,d,e,h){return function(){return cljs.spec.alpha.gensub.call(null,m,f,cljs.core.conj.call(null,g,l),a,n)}}(p,a,b,c,d,e),null))}}(this,a,b,c,d);e=cljs.core.remove.call(null,cljs.core.nil_QMARK_,cljs.core.map.call(null,e,k.keys,k.preds,k.forms));return cljs.core.empty_QMARK_.call(null,e)?null:cljs.spec.gen.alpha.one_of.call(null,e)}}(e,f,g,h),cljs.spec.alpha.t_cljs$spec$alpha28886.prototype.cljs$spec$alpha$Spec$with_gen_STAR_$arity$2=function(a,b,c,d){return function(a,b){return cljs.spec.alpha.or_spec_impl.call(null,
this.keys,this.forms,this.preds,b)}}(e,f,g,h),cljs.spec.alpha.t_cljs$spec$alpha28886.prototype.cljs$spec$alpha$Spec$describe_STAR_$arity$1=function(a,b,c,d){return function(a){return cljs.core.sequence.call(null,cljs.core.seq.call(null,cljs.core.concat.call(null,new cljs.core.List(null,new cljs.core.Symbol("cljs.spec.alpha","or","cljs.spec.alpha/or",-831679639,null),null,1,null),cljs.core.mapcat.call(null,cljs.core.vector,this.keys,this.forms))))}}(e,f,g,h),cljs.spec.alpha.t_cljs$spec$alpha28886.getBasis=
function(a,b,c,d){return function(){return new cljs.core.PersistentVector(null,9,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"keys","keys",-1586012071,null),new cljs.core.Symbol(null,"forms","forms",-608443419,null),new cljs.core.Symbol(null,"preds","preds",150921777,null),new cljs.core.Symbol(null,"gfn","gfn",-1862918295,null),new cljs.core.Symbol(null,"id","id",252129435,null),new cljs.core.Symbol(null,"kps","kps",-1157342767,null),new cljs.core.Symbol(null,"specs","specs",
-1227865028,null),new cljs.core.Symbol(null,"cform","cform",1319506748,null),new cljs.core.Symbol(null,"meta28887","meta28887",453552593,null)],null)}}(e,f,g,h),cljs.spec.alpha.t_cljs$spec$alpha28886.cljs$lang$type=!0,cljs.spec.alpha.t_cljs$spec$alpha28886.cljs$lang$ctorStr="cljs.spec.alpha/t_cljs$spec$alpha28886",cljs.spec.alpha.t_cljs$spec$alpha28886.cljs$lang$ctorPrWriter=function(a,b,c,d){return function(a,b,c){return cljs.core._write.call(null,b,"cljs.spec.alpha/t_cljs$spec$alpha28886")}}(e,
f,g,h),cljs.spec.alpha.__GT_t_cljs$spec$alpha28886=function(a,b,c,d){return function(a,b,c,d,e,f,g,h,k){return new cljs.spec.alpha.t_cljs$spec$alpha28886(a,b,c,d,e,f,g,h,k)}}(e,f,g,h);return new cljs.spec.alpha.t_cljs$spec$alpha28886(a,b,c,d,e,f,g,h,cljs.core.PersistentArrayMap.EMPTY)};
cljs.spec.alpha.and_preds=function(a,b,c){var d=cljs.core.seq.call(null,b);cljs.core.first.call(null,d);cljs.core.next.call(null,d);d=cljs.core.seq.call(null,c);cljs.core.first.call(null,d);cljs.core.next.call(null,d);for(d=c;;){c=a;b=cljs.core.seq.call(null,b);a=cljs.core.first.call(null,b);b=cljs.core.next.call(null,b);var e=cljs.core.seq.call(null,d);d=cljs.core.first.call(null,e);e=cljs.core.next.call(null,e);var f=d;d=e;if(cljs.core.truth_(a)){c=cljs.spec.alpha.dt.call(null,a,c,f);if(cljs.spec.alpha.invalid_QMARK_.call(null,
c))return new cljs.core.Keyword("cljs.spec.alpha","invalid","cljs.spec.alpha/invalid",-1220295119);a=c}else return c}};
cljs.spec.alpha.explain_pred_list=function(a,b,c,d,e,f){var g=cljs.core.seq.call(null,a);cljs.core.first.call(null,g);cljs.core.next.call(null,g);g=cljs.core.seq.call(null,b);cljs.core.first.call(null,g);cljs.core.next.call(null,g);for(g=b;;){b=f;a=cljs.core.seq.call(null,a);f=cljs.core.first.call(null,a);a=cljs.core.next.call(null,a);var h=cljs.core.seq.call(null,g);g=cljs.core.first.call(null,h);var k=cljs.core.next.call(null,h);h=g;if(cljs.core.truth_(h)){g=cljs.spec.alpha.dt.call(null,h,b,f);
if(cljs.spec.alpha.invalid_QMARK_.call(null,g))return cljs.spec.alpha.explain_1.call(null,f,h,c,d,e,b);b=a;h=k;f=g;a=b;g=h}else return null}};
cljs.spec.alpha.and_spec_impl=function(a,b,c){var d=new cljs.core.Delay(function(){return cljs.core.mapv.call(null,cljs.spec.alpha.specize,b,a)},null),e=function(){var a=cljs.core.count.call(null,b);switch(a){case 2:return function(a,b){return function(a){var c=cljs.core.deref.call(null,b);a=cljs.spec.alpha.conform_STAR_.call(null,c.call(null,0),a);return cljs.spec.alpha.invalid_QMARK_.call(null,a)?new cljs.core.Keyword("cljs.spec.alpha","invalid","cljs.spec.alpha/invalid",-1220295119):cljs.spec.alpha.conform_STAR_.call(null,
c.call(null,1),a)}}(a,d);case 3:return function(a,b){return function(a){var c=cljs.core.deref.call(null,b);a=cljs.spec.alpha.conform_STAR_.call(null,c.call(null,0),a);if(cljs.spec.alpha.invalid_QMARK_.call(null,a))return new cljs.core.Keyword("cljs.spec.alpha","invalid","cljs.spec.alpha/invalid",-1220295119);a=cljs.spec.alpha.conform_STAR_.call(null,c.call(null,1),a);return cljs.spec.alpha.invalid_QMARK_.call(null,a)?new cljs.core.Keyword("cljs.spec.alpha","invalid","cljs.spec.alpha/invalid",-1220295119):
cljs.spec.alpha.conform_STAR_.call(null,c.call(null,2),a)}}(a,d);default:return function(a,b){return function(a){for(var c=cljs.core.deref.call(null,b),d=0;;)if(d<cljs.core.count.call(null,c)){a=cljs.spec.alpha.conform_STAR_.call(null,c.call(null,d),a);if(cljs.spec.alpha.invalid_QMARK_.call(null,a))return new cljs.core.Keyword("cljs.spec.alpha","invalid","cljs.spec.alpha/invalid",-1220295119);d+=1}else return a}}(a,d)}}();if("undefined"===typeof cljs||"undefined"===typeof cljs.spec||"undefined"===
typeof cljs.spec.alpha||"undefined"===typeof cljs.spec.alpha.t_cljs$spec$alpha28944)cljs.spec.alpha.t_cljs$spec$alpha28944=function(a,b,c,d,e,m){this.forms=a;this.preds=b;this.gfn=c;this.specs=d;this.cform=e;this.meta28945=m;this.cljs$lang$protocol_mask$partition0$=393216;this.cljs$lang$protocol_mask$partition1$=0},cljs.spec.alpha.t_cljs$spec$alpha28944.prototype.cljs$core$IWithMeta$_with_meta$arity$2=function(a,b){return function(a,b){return new cljs.spec.alpha.t_cljs$spec$alpha28944(this.forms,
this.preds,this.gfn,this.specs,this.cform,b)}}(d,e),cljs.spec.alpha.t_cljs$spec$alpha28944.prototype.cljs$core$IMeta$_meta$arity$1=function(a,b){return function(a){return this.meta28945}}(d,e),cljs.spec.alpha.t_cljs$spec$alpha28944.prototype.cljs$spec$alpha$Specize$=cljs.core.PROTOCOL_SENTINEL,cljs.spec.alpha.t_cljs$spec$alpha28944.prototype.cljs$spec$alpha$Specize$specize_STAR_$arity$1=function(a,b){return function(a){return this}}(d,e),cljs.spec.alpha.t_cljs$spec$alpha28944.prototype.cljs$spec$alpha$Specize$specize_STAR_$arity$2=
function(a,b){return function(a,b){return this}}(d,e),cljs.spec.alpha.t_cljs$spec$alpha28944.prototype.cljs$spec$alpha$Spec$=cljs.core.PROTOCOL_SENTINEL,cljs.spec.alpha.t_cljs$spec$alpha28944.prototype.cljs$spec$alpha$Spec$conform_STAR_$arity$2=function(a,b){return function(a,b){return this.cform.call(null,b)}}(d,e),cljs.spec.alpha.t_cljs$spec$alpha28944.prototype.cljs$spec$alpha$Spec$unform_STAR_$arity$2=function(a,b){return function(c,d){return cljs.core.reduce.call(null,function(a,b,c){return function(a,
b){return cljs.spec.alpha.unform.call(null,b,a)}}(this,a,b),d,cljs.core.reverse.call(null,this.preds))}}(d,e),cljs.spec.alpha.t_cljs$spec$alpha28944.prototype.cljs$spec$alpha$Spec$explain_STAR_$arity$5=function(a,b){return function(a,b,c,d,e){return cljs.spec.alpha.explain_pred_list.call(null,this.forms,this.preds,b,c,d,e)}}(d,e),cljs.spec.alpha.t_cljs$spec$alpha28944.prototype.cljs$spec$alpha$Spec$gen_STAR_$arity$4=function(a,b){return function(a,b,c,d){return cljs.core.truth_(this.gfn)?this.gfn.call(null):
cljs.spec.alpha.gensub.call(null,cljs.core.first.call(null,this.preds),b,c,d,cljs.core.first.call(null,this.forms))}}(d,e),cljs.spec.alpha.t_cljs$spec$alpha28944.prototype.cljs$spec$alpha$Spec$with_gen_STAR_$arity$2=function(a,b){return function(a,b){return cljs.spec.alpha.and_spec_impl.call(null,this.forms,this.preds,b)}}(d,e),cljs.spec.alpha.t_cljs$spec$alpha28944.prototype.cljs$spec$alpha$Spec$describe_STAR_$arity$1=function(a,b){return function(a){return cljs.core.sequence.call(null,cljs.core.seq.call(null,
cljs.core.concat.call(null,new cljs.core.List(null,new cljs.core.Symbol("cljs.spec.alpha","and","cljs.spec.alpha/and",-2060279705,null),null,1,null),this.forms)))}}(d,e),cljs.spec.alpha.t_cljs$spec$alpha28944.getBasis=function(a,b){return function(){return new cljs.core.PersistentVector(null,6,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"forms","forms",-608443419,null),new cljs.core.Symbol(null,"preds","preds",150921777,null),new cljs.core.Symbol(null,"gfn","gfn",-1862918295,
null),new cljs.core.Symbol(null,"specs","specs",-1227865028,null),new cljs.core.Symbol(null,"cform","cform",1319506748,null),new cljs.core.Symbol(null,"meta28945","meta28945",-575746082,null)],null)}}(d,e),cljs.spec.alpha.t_cljs$spec$alpha28944.cljs$lang$type=!0,cljs.spec.alpha.t_cljs$spec$alpha28944.cljs$lang$ctorStr="cljs.spec.alpha/t_cljs$spec$alpha28944",cljs.spec.alpha.t_cljs$spec$alpha28944.cljs$lang$ctorPrWriter=function(a,b){return function(a,b,c){return cljs.core._write.call(null,b,"cljs.spec.alpha/t_cljs$spec$alpha28944")}}(d,
e),cljs.spec.alpha.__GT_t_cljs$spec$alpha28944=function(a,b){return function(a,b,c,d,e,f){return new cljs.spec.alpha.t_cljs$spec$alpha28944(a,b,c,d,e,f)}}(d,e);return new cljs.spec.alpha.t_cljs$spec$alpha28944(a,b,c,d,e,cljs.core.PersistentArrayMap.EMPTY)};
cljs.spec.alpha.coll_prob=function(a,b,c,d,e,f,g,h,k,l){b=cljs.core.truth_(b)?b:cljs.core.coll_QMARK_;c=cljs.core.truth_(c)?c:new cljs.core.Symbol("cljs.core","coll?","cljs.core/coll?",1208130522,null);return cljs.spec.alpha.pvalid_QMARK_.call(null,b,a)?cljs.core.truth_(cljs.core.truth_(e)?cljs.core.not_EQ_.call(null,e,cljs.core.bounded_count.call(null,e,a)):e)?new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.PersistentArrayMap(null,5,[new cljs.core.Keyword(null,
"path","path",-188191168),h,new cljs.core.Keyword(null,"pred","pred",1927423397),cljs.core.sequence.call(null,cljs.core.seq.call(null,cljs.core.concat.call(null,new cljs.core.List(null,new cljs.core.Symbol("cljs.core","\x3d","cljs.core/\x3d",-1891498332,null),null,1,null),new cljs.core.List(null,e,null,1,null),new cljs.core.List(null,cljs.core.sequence.call(null,cljs.core.seq.call(null,cljs.core.concat.call(null,new cljs.core.List(null,new cljs.core.Symbol("cljs.core","count","cljs.core/count",-921270233,
null),null,1,null),new cljs.core.List(null,new cljs.core.Symbol(null,"%","%",-950237169,null),null,1,null)))),null,1,null)))),new cljs.core.Keyword(null,"val","val",128701612),a,new cljs.core.Keyword(null,"via","via",-1904457336),k,new cljs.core.Keyword(null,"in","in",-1531184865),l],null)],null):cljs.core.truth_(function(){var b=cljs.core.truth_(f)?f:g;return cljs.core.truth_(b)?!((cljs.core.truth_(f)?f:0)<=cljs.core.bounded_count.call(null,cljs.core.truth_(g)?g+1:f,a)&&cljs.core.bounded_count.call(null,
cljs.core.truth_(g)?g+1:f,a)<=(cljs.core.truth_(g)?g:9007199254740991)):b}())?new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.PersistentArrayMap(null,5,[new cljs.core.Keyword(null,"path","path",-188191168),h,new cljs.core.Keyword(null,"pred","pred",1927423397),cljs.core.sequence.call(null,cljs.core.seq.call(null,cljs.core.concat.call(null,new cljs.core.List(null,new cljs.core.Symbol("cljs.core","\x3c\x3d","cljs.core/\x3c\x3d",1677001748,null),null,1,null),
new cljs.core.List(null,cljs.core.truth_(f)?f:0,null,1,null),new cljs.core.List(null,cljs.core.sequence.call(null,cljs.core.seq.call(null,cljs.core.concat.call(null,new cljs.core.List(null,new cljs.core.Symbol("cljs.core","count","cljs.core/count",-921270233,null),null,1,null),new cljs.core.List(null,new cljs.core.Symbol(null,"%","%",-950237169,null),null,1,null)))),null,1,null),new cljs.core.List(null,cljs.core.truth_(g)?g:9007199254740991,null,1,null)))),new cljs.core.Keyword(null,"val","val",128701612),
a,new cljs.core.Keyword(null,"via","via",-1904457336),k,new cljs.core.Keyword(null,"in","in",-1531184865),l],null)],null):cljs.core.truth_(cljs.core.truth_(d)?!cljs.core.empty_QMARK_.call(null,a)&&cljs.core.not.call(null,cljs.core.apply.call(null,cljs.core.distinct_QMARK_,a)):d)?new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.PersistentArrayMap(null,5,[new cljs.core.Keyword(null,"path","path",-188191168),h,new cljs.core.Keyword(null,"pred","pred",1927423397),
new cljs.core.Symbol(null,"distinct?","distinct?",-1684357959,null),new cljs.core.Keyword(null,"val","val",128701612),a,new cljs.core.Keyword(null,"via","via",-1904457336),k,new cljs.core.Keyword(null,"in","in",-1531184865),l],null)],null):null:cljs.spec.alpha.explain_1.call(null,c,b,h,k,l,a)};
cljs.spec.alpha.merge_spec_impl=function(a,b,c){if("undefined"===typeof cljs||"undefined"===typeof cljs.spec||"undefined"===typeof cljs.spec.alpha||"undefined"===typeof cljs.spec.alpha.t_cljs$spec$alpha28958)cljs.spec.alpha.t_cljs$spec$alpha28958=function(a,b,c,g){this.forms=a;this.preds=b;this.gfn=c;this.meta28959=g;this.cljs$lang$protocol_mask$partition0$=393216;this.cljs$lang$protocol_mask$partition1$=0},cljs.spec.alpha.t_cljs$spec$alpha28958.prototype.cljs$core$IWithMeta$_with_meta$arity$2=function(a,
b){return new cljs.spec.alpha.t_cljs$spec$alpha28958(this.forms,this.preds,this.gfn,b)},cljs.spec.alpha.t_cljs$spec$alpha28958.prototype.cljs$core$IMeta$_meta$arity$1=function(a){return this.meta28959},cljs.spec.alpha.t_cljs$spec$alpha28958.prototype.cljs$spec$alpha$Specize$=cljs.core.PROTOCOL_SENTINEL,cljs.spec.alpha.t_cljs$spec$alpha28958.prototype.cljs$spec$alpha$Specize$specize_STAR_$arity$1=function(a){return this},cljs.spec.alpha.t_cljs$spec$alpha28958.prototype.cljs$spec$alpha$Specize$specize_STAR_$arity$2=
function(a,b){return this},cljs.spec.alpha.t_cljs$spec$alpha28958.prototype.cljs$spec$alpha$Spec$=cljs.core.PROTOCOL_SENTINEL,cljs.spec.alpha.t_cljs$spec$alpha28958.prototype.cljs$spec$alpha$Spec$conform_STAR_$arity$2=function(a,b){a=cljs.core.map.call(null,function(a){return function(a,c){return cljs.spec.alpha.dt.call(null,a,b,c)}}(this),this.preds,this.forms);return cljs.core.truth_(cljs.core.some.call(null,cljs.spec.alpha.invalid_QMARK_,a))?new cljs.core.Keyword("cljs.spec.alpha","invalid","cljs.spec.alpha/invalid",
-1220295119):cljs.core.apply.call(null,cljs.core.merge,a)},cljs.spec.alpha.t_cljs$spec$alpha28958.prototype.cljs$spec$alpha$Spec$unform_STAR_$arity$2=function(a,b){return cljs.core.apply.call(null,cljs.core.merge,cljs.core.map.call(null,function(a){return function(a){return cljs.spec.alpha.unform.call(null,a,b)}}(this),cljs.core.reverse.call(null,this.preds)))},cljs.spec.alpha.t_cljs$spec$alpha28958.prototype.cljs$spec$alpha$Spec$explain_STAR_$arity$5=function(a,b,c,g,h){return cljs.core.apply.call(null,
cljs.core.concat,cljs.core.map.call(null,function(a){return function(a,d){return cljs.spec.alpha.explain_1.call(null,a,d,b,c,g,h)}}(this),this.forms,this.preds))},cljs.spec.alpha.t_cljs$spec$alpha28958.prototype.cljs$spec$alpha$Spec$gen_STAR_$arity$4=function(a,b,c,g){return cljs.core.truth_(this.gfn)?this.gfn.call(null):cljs.spec.gen.alpha.fmap.call(null,function(a){return function(a){return cljs.core.apply.call(null,cljs.core.merge,a)}}(this),cljs.core.apply.call(null,cljs.spec.gen.alpha.tuple,
cljs.core.map.call(null,function(a){return function(a,d){return cljs.spec.alpha.gensub.call(null,a,b,c,g,d)}}(this),this.preds,this.forms)))},cljs.spec.alpha.t_cljs$spec$alpha28958.prototype.cljs$spec$alpha$Spec$with_gen_STAR_$arity$2=function(a,b){return cljs.spec.alpha.merge_spec_impl.call(null,this.forms,this.preds,b)},cljs.spec.alpha.t_cljs$spec$alpha28958.prototype.cljs$spec$alpha$Spec$describe_STAR_$arity$1=function(a){return cljs.core.sequence.call(null,cljs.core.seq.call(null,cljs.core.concat.call(null,
new cljs.core.List(null,new cljs.core.Symbol("cljs.spec.alpha","merge","cljs.spec.alpha/merge",1420080689,null),null,1,null),this.forms)))},cljs.spec.alpha.t_cljs$spec$alpha28958.getBasis=function(){return new cljs.core.PersistentVector(null,4,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"forms","forms",-608443419,null),new cljs.core.Symbol(null,"preds","preds",150921777,null),new cljs.core.Symbol(null,"gfn","gfn",-1862918295,null),new cljs.core.Symbol(null,"meta28959","meta28959",
1798839820,null)],null)},cljs.spec.alpha.t_cljs$spec$alpha28958.cljs$lang$type=!0,cljs.spec.alpha.t_cljs$spec$alpha28958.cljs$lang$ctorStr="cljs.spec.alpha/t_cljs$spec$alpha28958",cljs.spec.alpha.t_cljs$spec$alpha28958.cljs$lang$ctorPrWriter=function(a,b,c){return cljs.core._write.call(null,b,"cljs.spec.alpha/t_cljs$spec$alpha28958")},cljs.spec.alpha.__GT_t_cljs$spec$alpha28958=function(a,b,c,g){return new cljs.spec.alpha.t_cljs$spec$alpha28958(a,b,c,g)};return new cljs.spec.alpha.t_cljs$spec$alpha28958(a,
b,c,cljs.core.PersistentArrayMap.EMPTY)};
cljs.spec.alpha.empty_coll=new cljs.core.PersistentArrayMap(null,4,[new cljs.core.Symbol("cljs.core","vector?","cljs.core/vector?",-1550392028,null),cljs.core.PersistentVector.EMPTY,new cljs.core.Symbol("cljs.core","set?","cljs.core/set?",-1176684971,null),cljs.core.PersistentHashSet.EMPTY,new cljs.core.Symbol("cljs.core","list?","cljs.core/list?",-684796618,null),cljs.core.List.EMPTY,new cljs.core.Symbol("cljs.core","map?","cljs.core/map?",-1390345523,null),cljs.core.PersistentArrayMap.EMPTY],null);
cljs.spec.alpha.every_impl=function(a){switch(arguments.length){case 3:return cljs.spec.alpha.every_impl.cljs$core$IFn$_invoke$arity$3(arguments[0],arguments[1],arguments[2]);case 4:return cljs.spec.alpha.every_impl.cljs$core$IFn$_invoke$arity$4(arguments[0],arguments[1],arguments[2],arguments[3]);default:throw Error(["Invalid arity: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(""));}};
cljs.spec.alpha.every_impl.cljs$core$IFn$_invoke$arity$3=function(a,b,c){return cljs.spec.alpha.every_impl.call(null,a,b,c,null)};
cljs.spec.alpha.every_impl.cljs$core$IFn$_invoke$arity$4=function(a,b,c,d){var e=null!=c&&(c.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===c.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,c):c,f=cljs.core.get.call(null,e,new cljs.core.Keyword(null,"max-count","max-count",1539185305)),g=cljs.core.get.call(null,e,new cljs.core.Keyword("cljs.spec.alpha","kind-form","cljs.spec.alpha/kind-form",-1047104697)),h=cljs.core.get.call(null,e,new cljs.core.Keyword(null,
"gen-max","gen-max",-793680445),20),k=cljs.core.get.call(null,e,new cljs.core.Keyword("cljs.spec.alpha","cpred","cljs.spec.alpha/cpred",-693471218)),l=cljs.core.get.call(null,e,new cljs.core.Keyword(null,"conform-keys","conform-keys",-1800041814)),m=cljs.core.get.call(null,e,new cljs.core.Keyword("cljs.spec.alpha","describe","cljs.spec.alpha/describe",1883026911)),n=cljs.core.get.call(null,e,new cljs.core.Keyword(null,"distinct","distinct",-1788879121)),p=cljs.core.get.call(null,e,new cljs.core.Keyword("cljs.spec.alpha",
"kfn","cljs.spec.alpha/kfn",672643897)),q=cljs.core.get.call(null,e,new cljs.core.Keyword(null,"count","count",2139924085)),r=cljs.core.get.call(null,e,new cljs.core.Keyword(null,"min-count","min-count",1594709013)),u=cljs.core.get.call(null,e,new cljs.core.Keyword(null,"kind","kind",-717265803)),t=cljs.core.get.call(null,e,new cljs.core.Keyword("cljs.spec.alpha","conform-all","cljs.spec.alpha/conform-all",45201917)),v=cljs.core.get.call(null,e,new cljs.core.Keyword(null,"into","into",-150836029)),
w=cljs.core.truth_(v)?cljs.core.empty.call(null,v):cljs.core.get.call(null,cljs.spec.alpha.empty_coll,g),x=new cljs.core.Delay(function(a,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v){return function(){return cljs.spec.alpha.specize.call(null,b)}}(w,c,e,e,f,g,h,k,l,m,n,p,q,r,u,t,v),null),y=function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v){return function(a){return cljs.spec.alpha.valid_QMARK_.call(null,cljs.core.deref.call(null,b),a)}}(w,x,c,e,e,f,g,h,k,l,m,n,p,q,r,u,t,v),z=function(){return cljs.core.truth_(p)?p:
function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,z){return function(a,b){return a}}(p,w,x,y,c,e,e,f,g,h,k,l,m,n,p,q,r,u,t,v)}(),B=function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,z){return function(a,b,c,d){return cljs.core.conj.call(null,a,d)}}(w,x,y,z,c,e,e,f,g,h,k,l,m,n,p,q,r,u,t,v),C=function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,z,x){return function(y){return cljs.core.vector_QMARK_.call(null,y)&&(cljs.core.not.call(null,x)||cljs.core.vector_QMARK_.call(null,x))?new cljs.core.PersistentVector(null,
3,5,cljs.core.PersistentVector.EMPTY_NODE,[cljs.core.identity,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,z,x){return function(a,b,c,d){return c===d?a:cljs.core.assoc.call(null,a,b,d)}}(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,z,x),cljs.core.identity],null):cljs.core.truth_(function(){var a=cljs.core.map_QMARK_.call(null,y);return a?(a=cljs.core.truth_(w)?cljs.core.not.call(null,x):w,cljs.core.truth_(a)?a:cljs.core.map_QMARK_.call(null,x)):a}())?new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,
[cljs.core.truth_(p)?cljs.core.empty:cljs.core.identity,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,z,x){return function(a,b,c,d){return c===d&&cljs.core.not.call(null,p)?a:cljs.core.assoc.call(null,a,cljs.core.nth.call(null,cljs.core.truth_(p)?d:c,0),cljs.core.nth.call(null,d,1))}}(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,z,x),cljs.core.identity],null):cljs.core.list_QMARK_.call(null,x)||cljs.core.seq_QMARK_.call(null,x)||cljs.core.not.call(null,x)&&(cljs.core.list_QMARK_.call(null,y)||cljs.core.seq_QMARK_.call(null,
y))?new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,[cljs.core.empty,e,cljs.core.reverse],null):new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,[function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,z,x){return function(a){return cljs.core.empty.call(null,cljs.core.truth_(x)?x:a)}}(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,z,x),e,cljs.core.identity],null)}}(w,x,y,z,B,c,e,e,f,g,h,k,l,m,n,p,q,r,u,t,v);if("undefined"===typeof cljs||"undefined"===typeof cljs.spec||
"undefined"===typeof cljs.spec.alpha||"undefined"===typeof cljs.spec.alpha.t_cljs$spec$alpha28970)cljs.spec.alpha.t_cljs$spec$alpha28970=function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,z,x,y,B,C,ba){this.form=a;this.max_count=b;this.map__28968=c;this.check_QMARK_=d;this.p__28967=e;this.gfn=f;this.gen_max=g;this.pred=h;this.cpred=k;this.conform_keys=l;this.kind_form=m;this.addcv=n;this.cfns=p;this.describe_form=q;this.distinct=r;this.spec=t;this.kfn=u;this.gen_into=v;this.count=w;this.min_count=z;this.opts=
x;this.kind=y;this.conform_all=B;this.conform_into=C;this.meta28971=ba;this.cljs$lang$protocol_mask$partition0$=393216;this.cljs$lang$protocol_mask$partition1$=0},cljs.spec.alpha.t_cljs$spec$alpha28970.prototype.cljs$core$IWithMeta$_with_meta$arity$2=function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,z,x,y){return function(a,b){return new cljs.spec.alpha.t_cljs$spec$alpha28970(this.form,this.max_count,this.map__28968,this.check_QMARK_,this.p__28967,this.gfn,this.gen_max,this.pred,this.cpred,this.conform_keys,
this.kind_form,this.addcv,this.cfns,this.describe_form,this.distinct,this.spec,this.kfn,this.gen_into,this.count,this.min_count,this.opts,this.kind,this.conform_all,this.conform_into,b)}}(w,x,y,z,B,C,c,e,e,f,g,h,k,l,m,n,p,q,r,u,t,v),cljs.spec.alpha.t_cljs$spec$alpha28970.prototype.cljs$core$IMeta$_meta$arity$1=function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,z,x,y){return function(a){return this.meta28971}}(w,x,y,z,B,C,c,e,e,f,g,h,k,l,m,n,p,q,r,u,t,v),cljs.spec.alpha.t_cljs$spec$alpha28970.prototype.cljs$spec$alpha$Specize$=
cljs.core.PROTOCOL_SENTINEL,cljs.spec.alpha.t_cljs$spec$alpha28970.prototype.cljs$spec$alpha$Specize$specize_STAR_$arity$1=function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,z,x,y){return function(a){return this}}(w,x,y,z,B,C,c,e,e,f,g,h,k,l,m,n,p,q,r,u,t,v),cljs.spec.alpha.t_cljs$spec$alpha28970.prototype.cljs$spec$alpha$Specize$specize_STAR_$arity$2=function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,z,x,y){return function(a,b){return this}}(w,x,y,z,B,C,c,e,e,f,g,h,k,l,m,n,p,q,r,u,t,v),cljs.spec.alpha.t_cljs$spec$alpha28970.prototype.cljs$spec$alpha$Spec$=
cljs.core.PROTOCOL_SENTINEL,cljs.spec.alpha.t_cljs$spec$alpha28970.prototype.cljs$spec$alpha$Spec$conform_STAR_$arity$2=function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,z,x,y){return function(a,b){a=cljs.core.deref.call(null,this.spec);if(cljs.core.not.call(null,this.cpred.call(null,b)))return new cljs.core.Keyword("cljs.spec.alpha","invalid","cljs.spec.alpha/invalid",-1220295119);if(cljs.core.truth_(this.conform_all)){var c=this.cfns.call(null,b),d=cljs.core.nth.call(null,c,0,null),e=cljs.core.nth.call(null,
c,1,null);c=cljs.core.nth.call(null,c,2,null);var f=d.call(null,b);d=0;var g=cljs.core.seq.call(null,b);b=cljs.core.seq.call(null,g);cljs.core.first.call(null,b);cljs.core.next.call(null,b);for(b=f;;){var h=g;f=cljs.core.seq.call(null,h);g=cljs.core.first.call(null,f);f=cljs.core.next.call(null,f);if(h){h=cljs.spec.alpha.conform_STAR_.call(null,a,g);if(cljs.spec.alpha.invalid_QMARK_.call(null,h))return new cljs.core.Keyword("cljs.spec.alpha","invalid","cljs.spec.alpha/invalid",-1220295119);b=e.call(null,
b,d,g,h);d+=1;g=f}else return c.call(null,b)}}else if(cljs.core.indexed_QMARK_.call(null,b))for(e=cljs.core.long$.call(null,cljs.core.count.call(null,b)/cljs.spec.alpha._STAR_coll_check_limit_STAR_),e=1>e?1:e,d=0;;){if(d>=cljs.core.count.call(null,b))return b;if(cljs.spec.alpha.valid_QMARK_.call(null,a,cljs.core.nth.call(null,b,d)))d+=e;else return new cljs.core.Keyword("cljs.spec.alpha","invalid","cljs.spec.alpha/invalid",-1220295119)}else for(e=cljs.spec.alpha._STAR_coll_check_limit_STAR_,d=0,c=
cljs.core.seq.call(null,b),g=cljs.core.seq.call(null,c),cljs.core.first.call(null,g),cljs.core.next.call(null,g);;){f=cljs.core.seq.call(null,c);g=cljs.core.first.call(null,f);f=cljs.core.next.call(null,f);h=c;if(null==h||cljs.core._EQ_.call(null,d,e))return b;if(cljs.spec.alpha.valid_QMARK_.call(null,a,g))c=f,d+=1;else return new cljs.core.Keyword("cljs.spec.alpha","invalid","cljs.spec.alpha/invalid",-1220295119)}}}(w,x,y,z,B,C,c,e,e,f,g,h,k,l,m,n,p,q,r,u,t,v),cljs.spec.alpha.t_cljs$spec$alpha28970.prototype.cljs$spec$alpha$Spec$unform_STAR_$arity$2=
function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,z,x,y){return function(a,b){if(cljs.core.truth_(this.conform_all)){a=cljs.core.deref.call(null,this.spec);var c=this.cfns.call(null,b),d=cljs.core.nth.call(null,c,0,null),e=cljs.core.nth.call(null,c,1,null);c=cljs.core.nth.call(null,c,2,null);d=d.call(null,b);var f=cljs.core.seq.call(null,b),g=cljs.core.seq.call(null,f);cljs.core.first.call(null,g);cljs.core.next.call(null,g);for(g=0;;){var h=cljs.core.seq.call(null,f);f=cljs.core.first.call(null,h);
h=cljs.core.next.call(null,h);var k=f;f=h;if(g>=cljs.core.count.call(null,b))return c.call(null,d);d=e.call(null,d,g,k,cljs.spec.alpha.unform_STAR_.call(null,a,k));g+=1}}else return b}}(w,x,y,z,B,C,c,e,e,f,g,h,k,l,m,n,p,q,r,u,t,v),cljs.spec.alpha.t_cljs$spec$alpha28970.prototype.cljs$spec$alpha$Spec$explain_STAR_$arity$5=function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,z,x,y){return function(A,B,C,E,D){var F=this;A=cljs.spec.alpha.coll_prob.call(null,D,F.kind,F.kind_form,F.distinct,F.count,F.min_count,
F.max_count,B,C,E);return cljs.core.truth_(A)?A:cljs.core.apply.call(null,cljs.core.concat,(cljs.core.truth_(F.conform_all)?cljs.core.identity:cljs.core.partial.call(null,cljs.core.take,cljs.spec.alpha._STAR_coll_error_limit_STAR_)).call(null,cljs.core.keep.call(null,cljs.core.identity,cljs.core.map.call(null,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,z,x,y,A,D){return function(a,b){a=F.kfn.call(null,a,b);return cljs.core.truth_(F.check_QMARK_.call(null,b))?null:cljs.spec.alpha.explain_1.call(null,
F.form,F.pred,B,C,cljs.core.conj.call(null,E,a),b)}}(A,this,a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,z,x,y),cljs.core.range.call(null),D))))}}(w,x,y,z,B,C,c,e,e,f,g,h,k,l,m,n,p,q,r,u,t,v),cljs.spec.alpha.t_cljs$spec$alpha28970.prototype.cljs$spec$alpha$Spec$gen_STAR_$arity$4=function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,z,x,y){return function(A,B,C,E){var D=this;if(cljs.core.truth_(D.gfn))return D.gfn.call(null);A=cljs.spec.alpha.gensub.call(null,D.pred,B,C,E,D.form);return cljs.spec.gen.alpha.bind.call(null,
cljs.core.truth_(D.gen_into)?cljs.spec.gen.alpha.return$.call(null,D.gen_into):cljs.core.truth_(D.kind)?cljs.spec.gen.alpha.fmap.call(null,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,z,x,y,A,B){return function(a){return cljs.core.empty_QMARK_.call(null,a)?a:cljs.core.empty.call(null,a)}}(A,this,a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,z,x,y),cljs.spec.alpha.gensub.call(null,D.kind,B,C,E,D.form)):cljs.spec.gen.alpha.return$.call(null,cljs.core.PersistentVector.EMPTY),function(a,b,c,d,e,f,g,h,k,l,m,
n,p,q,r,t,u,v,w,z,x,y,A,B){return function(C){return cljs.spec.gen.alpha.fmap.call(null,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,z,x,y,A,B){return function(a){return cljs.core.vector_QMARK_.call(null,C)?a:cljs.core.into.call(null,C,a)}}(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,z,x,y,A,B),cljs.core.truth_(D.distinct)?cljs.core.truth_(D.count)?cljs.spec.gen.alpha.vector_distinct.call(null,a,new cljs.core.PersistentArrayMap(null,2,[new cljs.core.Keyword(null,"num-elements","num-elements",1960422107),
D.count,new cljs.core.Keyword(null,"max-tries","max-tries",-1824441792),100],null)):cljs.spec.gen.alpha.vector_distinct.call(null,a,new cljs.core.PersistentArrayMap(null,3,[new cljs.core.Keyword(null,"min-elements","min-elements",949370780),function(){var a=D.min_count;return cljs.core.truth_(a)?a:0}(),new cljs.core.Keyword(null,"max-elements","max-elements",433034073),function(){var a=D.max_count;if(cljs.core.truth_(a))return a;a=D.gen_max;var b=D.min_count;b=cljs.core.truth_(b)?b:0;b*=2;return a>
b?a:b}(),new cljs.core.Keyword(null,"max-tries","max-tries",-1824441792),100],null)):cljs.core.truth_(D.count)?cljs.spec.gen.alpha.vector.call(null,a,D.count):cljs.core.truth_(function(){var a=D.min_count;return cljs.core.truth_(a)?a:D.max_count}())?cljs.spec.gen.alpha.vector.call(null,a,function(){var a=D.min_count;return cljs.core.truth_(a)?a:0}(),function(){var a=D.max_count;if(cljs.core.truth_(a))return a;a=D.gen_max;var b=D.min_count;b=cljs.core.truth_(b)?b:0;b*=2;return a>b?a:b}()):cljs.spec.gen.alpha.vector.call(null,
a,0,D.gen_max))}}(A,this,a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,z,x,y))}}(w,x,y,z,B,C,c,e,e,f,g,h,k,l,m,n,p,q,r,u,t,v),cljs.spec.alpha.t_cljs$spec$alpha28970.prototype.cljs$spec$alpha$Spec$with_gen_STAR_$arity$2=function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,z,x,y){return function(a,b){return cljs.spec.alpha.every_impl.call(null,this.form,this.pred,this.opts,b)}}(w,x,y,z,B,C,c,e,e,f,g,h,k,l,m,n,p,q,r,u,t,v),cljs.spec.alpha.t_cljs$spec$alpha28970.prototype.cljs$spec$alpha$Spec$describe_STAR_$arity$1=
function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,z,x,y){return function(a){a=this.describe_form;return cljs.core.truth_(a)?a:cljs.core.sequence.call(null,cljs.core.seq.call(null,cljs.core.concat.call(null,new cljs.core.List(null,new cljs.core.Symbol("cljs.spec.alpha","every","cljs.spec.alpha/every",123912744,null),null,1,null),new cljs.core.List(null,this.form,null,1,null),cljs.core.mapcat.call(null,cljs.core.identity,this.opts))))}}(w,x,y,z,B,C,c,e,e,f,g,h,k,l,m,n,p,q,r,u,t,v),cljs.spec.alpha.t_cljs$spec$alpha28970.getBasis=
function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,z,x,y){return function(){return new cljs.core.PersistentVector(null,25,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"form","form",16469056,null),new cljs.core.Symbol(null,"max-count","max-count",-1115250464,null),new cljs.core.Symbol(null,"map__28968","map__28968",-1438292604,null),new cljs.core.Symbol(null,"check?","check?",409539557,null),new cljs.core.Symbol(null,"p__28967","p__28967",-37960887,null),new cljs.core.Symbol(null,
"gfn","gfn",-1862918295,null),new cljs.core.Symbol(null,"gen-max","gen-max",846851082,null),new cljs.core.Symbol(null,"pred","pred",-727012372,null),new cljs.core.Symbol(null,"cpred","cpred",-540353554,null),new cljs.core.Symbol(null,"conform-keys","conform-keys",-159510287,null),new cljs.core.Symbol(null,"kind-form","kind-form",1155997457,null),new cljs.core.Symbol(null,"addcv","addcv",-1552991247,null),new cljs.core.Symbol(null,"cfns","cfns",1335482066,null),new cljs.core.Symbol(null,"describe-form",
"describe-form",-1410156588,null),new cljs.core.Symbol(null,"distinct","distinct",-148347594,null),new cljs.core.Symbol(null,"spec","spec",1988051928,null),new cljs.core.Symbol(null,"kfn","kfn",729311001,null),new cljs.core.Symbol(null,"gen-into","gen-into",592640985,null),new cljs.core.Symbol(null,"count","count",-514511684,null),new cljs.core.Symbol(null,"min-count","min-count",-1059726756,null),new cljs.core.Symbol(null,"opts","opts",1795607228,null),new cljs.core.Symbol(null,"kind","kind",923265724,
null),new cljs.core.Symbol(null,"conform-all","conform-all",-980179459,null),new cljs.core.Symbol(null,"conform-into","conform-into",-1039113729,null),new cljs.core.Symbol(null,"meta28971","meta28971",167577354,null)],null)}}(w,x,y,z,B,C,c,e,e,f,g,h,k,l,m,n,p,q,r,u,t,v),cljs.spec.alpha.t_cljs$spec$alpha28970.cljs$lang$type=!0,cljs.spec.alpha.t_cljs$spec$alpha28970.cljs$lang$ctorStr="cljs.spec.alpha/t_cljs$spec$alpha28970",cljs.spec.alpha.t_cljs$spec$alpha28970.cljs$lang$ctorPrWriter=function(a,b,
c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,z,x,y){return function(a,b,c){return cljs.core._write.call(null,b,"cljs.spec.alpha/t_cljs$spec$alpha28970")}}(w,x,y,z,B,C,c,e,e,f,g,h,k,l,m,n,p,q,r,u,t,v),cljs.spec.alpha.__GT_t_cljs$spec$alpha28970=function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,z,x,y){return function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,z,x,y,A,B,C){return new cljs.spec.alpha.t_cljs$spec$alpha28970(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,z,x,y,A,B,C)}}(w,x,y,z,B,C,c,e,e,f,g,h,k,l,m,n,p,q,r,u,t,v);
return new cljs.spec.alpha.t_cljs$spec$alpha28970(a,f,e,y,c,d,h,b,k,l,g,B,C,m,n,x,z,w,q,r,e,u,t,v,cljs.core.PersistentArrayMap.EMPTY)};cljs.spec.alpha.every_impl.cljs$lang$maxFixedArity=4;cljs.spec.alpha.accept=function(a){return new cljs.core.PersistentArrayMap(null,2,[new cljs.core.Keyword("cljs.spec.alpha","op","cljs.spec.alpha/op",-1269055252),new cljs.core.Keyword("cljs.spec.alpha","accept","cljs.spec.alpha/accept",370988198),new cljs.core.Keyword(null,"ret","ret",-468222814),a],null)};
cljs.spec.alpha.accept_QMARK_=function(a){a=null!=a&&(a.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===a.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,a):a;a=cljs.core.get.call(null,a,new cljs.core.Keyword("cljs.spec.alpha","op","cljs.spec.alpha/op",-1269055252));return cljs.core._EQ_.call(null,new cljs.core.Keyword("cljs.spec.alpha","accept","cljs.spec.alpha/accept",370988198),a)};
cljs.spec.alpha.pcat_STAR_=function(a){var b=null!=a&&(a.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===a.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,a):a,c=cljs.core.get.call(null,b,new cljs.core.Keyword(null,"ps","ps",292358046));a=cljs.core.seq.call(null,c);var d=cljs.core.first.call(null,a);a=cljs.core.next.call(null,a);var e=cljs.core.get.call(null,b,new cljs.core.Keyword(null,"ks","ks",1900203942)),f=cljs.core.seq.call(null,e),g=cljs.core.first.call(null,
f);f=cljs.core.next.call(null,f);var h=cljs.core.get.call(null,b,new cljs.core.Keyword(null,"forms","forms",2045992350)),k=cljs.core.seq.call(null,h);cljs.core.first.call(null,k);k=cljs.core.next.call(null,k);var l=cljs.core.get.call(null,b,new cljs.core.Keyword(null,"ret","ret",-468222814));b=cljs.core.get.call(null,b,new cljs.core.Keyword(null,"rep+","rep+",-281382396));return cljs.core.every_QMARK_.call(null,cljs.core.identity,c)?cljs.spec.alpha.accept_QMARK_.call(null,d)?(c=(new cljs.core.Keyword(null,
"ret","ret",-468222814)).cljs$core$IFn$_invoke$arity$1(d),c=cljs.core.conj.call(null,l,cljs.core.truth_(e)?cljs.core.PersistentArrayMap.createAsIfByAssoc([g,c]):c),a?cljs.spec.alpha.pcat_STAR_.call(null,new cljs.core.PersistentArrayMap(null,4,[new cljs.core.Keyword(null,"ps","ps",292358046),a,new cljs.core.Keyword(null,"ks","ks",1900203942),f,new cljs.core.Keyword(null,"forms","forms",2045992350),k,new cljs.core.Keyword(null,"ret","ret",-468222814),c],null)):cljs.spec.alpha.accept.call(null,c)):new cljs.core.PersistentArrayMap(null,
6,[new cljs.core.Keyword("cljs.spec.alpha","op","cljs.spec.alpha/op",-1269055252),new cljs.core.Keyword("cljs.spec.alpha","pcat","cljs.spec.alpha/pcat",26406623),new cljs.core.Keyword(null,"ps","ps",292358046),c,new cljs.core.Keyword(null,"ret","ret",-468222814),l,new cljs.core.Keyword(null,"ks","ks",1900203942),e,new cljs.core.Keyword(null,"forms","forms",2045992350),h,new cljs.core.Keyword(null,"rep+","rep+",-281382396),b],null):null};
cljs.spec.alpha.pcat=function(a){for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;b=0<b.length?new cljs.core.IndexedSeq(b.slice(0),0,null):null;return cljs.spec.alpha.pcat.cljs$core$IFn$_invoke$arity$variadic(b)};
cljs.spec.alpha.pcat.cljs$core$IFn$_invoke$arity$variadic=function(a){return cljs.spec.alpha.pcat_STAR_.call(null,new cljs.core.PersistentArrayMap(null,2,[new cljs.core.Keyword(null,"ps","ps",292358046),a,new cljs.core.Keyword(null,"ret","ret",-468222814),cljs.core.PersistentVector.EMPTY],null))};cljs.spec.alpha.pcat.cljs$lang$maxFixedArity=0;cljs.spec.alpha.pcat.cljs$lang$applyTo=function(a){return this.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq.call(null,a))};
cljs.spec.alpha.cat_impl=function(a,b,c){return cljs.spec.alpha.pcat_STAR_.call(null,new cljs.core.PersistentArrayMap(null,4,[new cljs.core.Keyword(null,"ks","ks",1900203942),a,new cljs.core.Keyword(null,"ps","ps",292358046),b,new cljs.core.Keyword(null,"forms","forms",2045992350),c,new cljs.core.Keyword(null,"ret","ret",-468222814),cljs.core.PersistentArrayMap.EMPTY],null))};
cljs.spec.alpha.rep_STAR_=function(a,b,c,d,e){return cljs.core.truth_(a)?(d=new cljs.core.PersistentArrayMap(null,5,[new cljs.core.Keyword("cljs.spec.alpha","op","cljs.spec.alpha/op",-1269055252),new cljs.core.Keyword("cljs.spec.alpha","rep","cljs.spec.alpha/rep",1483217317),new cljs.core.Keyword(null,"p2","p2",905500641),b,new cljs.core.Keyword(null,"splice","splice",449588165),d,new cljs.core.Keyword(null,"forms","forms",2045992350),e,new cljs.core.Keyword(null,"id","id",-1388402092),cljs.core.random_uuid.call(null)],
null),cljs.spec.alpha.accept_QMARK_.call(null,a)?cljs.core.assoc.call(null,d,new cljs.core.Keyword(null,"p1","p1",-936759954),b,new cljs.core.Keyword(null,"ret","ret",-468222814),cljs.core.conj.call(null,c,(new cljs.core.Keyword(null,"ret","ret",-468222814)).cljs$core$IFn$_invoke$arity$1(a))):cljs.core.assoc.call(null,d,new cljs.core.Keyword(null,"p1","p1",-936759954),a,new cljs.core.Keyword(null,"ret","ret",-468222814),c)):null};
cljs.spec.alpha.rep_impl=function(a,b){return cljs.spec.alpha.rep_STAR_.call(null,b,b,cljs.core.PersistentVector.EMPTY,!1,a)};
cljs.spec.alpha.rep_PLUS_impl=function(a,b){return cljs.spec.alpha.pcat_STAR_.call(null,new cljs.core.PersistentArrayMap(null,4,[new cljs.core.Keyword(null,"ps","ps",292358046),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[b,cljs.spec.alpha.rep_STAR_.call(null,b,b,cljs.core.PersistentVector.EMPTY,!0,a)],null),new cljs.core.Keyword(null,"forms","forms",2045992350),cljs.core.vec.call(null,cljs.core.sequence.call(null,cljs.core.seq.call(null,cljs.core.concat.call(null,
new cljs.core.List(null,a,null,1,null),new cljs.core.List(null,cljs.core.sequence.call(null,cljs.core.seq.call(null,cljs.core.concat.call(null,new cljs.core.List(null,new cljs.core.Symbol("cljs.spec.alpha","*","cljs.spec.alpha/*",-1238084288,null),null,1,null),new cljs.core.List(null,a,null,1,null)))),null,1,null))))),new cljs.core.Keyword(null,"ret","ret",-468222814),cljs.core.PersistentVector.EMPTY,new cljs.core.Keyword(null,"rep+","rep+",-281382396),a],null))};
cljs.spec.alpha.amp_impl=function(a,b,c,d){return new cljs.core.PersistentArrayMap(null,5,[new cljs.core.Keyword("cljs.spec.alpha","op","cljs.spec.alpha/op",-1269055252),new cljs.core.Keyword("cljs.spec.alpha","amp","cljs.spec.alpha/amp",831147508),new cljs.core.Keyword(null,"p1","p1",-936759954),a,new cljs.core.Keyword(null,"amp","amp",271690571),b,new cljs.core.Keyword(null,"ps","ps",292358046),c,new cljs.core.Keyword(null,"forms","forms",2045992350),d],null)};
cljs.spec.alpha.filter_alt=function(a,b,c,d){return cljs.core.truth_(cljs.core.truth_(b)?b:c)?(a=cljs.core.filter.call(null,function(a){return d.call(null,cljs.core.first.call(null,a))},cljs.core.map.call(null,cljs.core.vector,a,function(){var a=cljs.core.seq.call(null,b);return a?a:cljs.core.repeat.call(null,null)}(),function(){var a=cljs.core.seq.call(null,c);return a?a:cljs.core.repeat.call(null,null)}())),new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,[cljs.core.seq.call(null,
cljs.core.map.call(null,cljs.core.first,a)),cljs.core.truth_(b)?cljs.core.seq.call(null,cljs.core.map.call(null,cljs.core.second,a)):null,cljs.core.truth_(c)?cljs.core.seq.call(null,cljs.core.map.call(null,function(a){return function(a){return cljs.core.nth.call(null,a,2)}}(a),a)):null],null)):new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,[cljs.core.seq.call(null,cljs.core.filter.call(null,d,a)),b,c],null)};
cljs.spec.alpha.alt_STAR_=function(a,b,c){var d=cljs.spec.alpha.filter_alt.call(null,a,b,c,cljs.core.identity);b=cljs.core.nth.call(null,d,0,null);c=cljs.core.seq.call(null,b);a=cljs.core.first.call(null,c);c=cljs.core.next.call(null,c);var e=cljs.core.nth.call(null,d,1,null),f=cljs.core.nth.call(null,e,0,null);d=cljs.core.nth.call(null,d,2,null);return cljs.core.truth_(b)?(b=new cljs.core.PersistentArrayMap(null,4,[new cljs.core.Keyword("cljs.spec.alpha","op","cljs.spec.alpha/op",-1269055252),new cljs.core.Keyword("cljs.spec.alpha",
"alt","cljs.spec.alpha/alt",523685437),new cljs.core.Keyword(null,"ps","ps",292358046),b,new cljs.core.Keyword(null,"ks","ks",1900203942),e,new cljs.core.Keyword(null,"forms","forms",2045992350),d],null),null==c?cljs.core.truth_(f)?cljs.spec.alpha.accept_QMARK_.call(null,a)?cljs.spec.alpha.accept.call(null,cljs.spec.alpha.tagged_ret.call(null,f,(new cljs.core.Keyword(null,"ret","ret",-468222814)).cljs$core$IFn$_invoke$arity$1(a))):b:a:b):null};
cljs.spec.alpha.alts=function(a){for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;b=0<b.length?new cljs.core.IndexedSeq(b.slice(0),0,null):null;return cljs.spec.alpha.alts.cljs$core$IFn$_invoke$arity$variadic(b)};cljs.spec.alpha.alts.cljs$core$IFn$_invoke$arity$variadic=function(a){return cljs.spec.alpha.alt_STAR_.call(null,a,null,null)};cljs.spec.alpha.alts.cljs$lang$maxFixedArity=0;
cljs.spec.alpha.alts.cljs$lang$applyTo=function(a){return this.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq.call(null,a))};cljs.spec.alpha.alt2=function(a,b){return cljs.core.truth_(cljs.core.truth_(a)?b:a)?cljs.spec.alpha.alts.call(null,a,b):cljs.core.truth_(a)?a:b};cljs.spec.alpha.alt_impl=function(a,b,c){return cljs.core.assoc.call(null,cljs.spec.alpha.alt_STAR_.call(null,b,a,c),new cljs.core.Keyword(null,"id","id",-1388402092),cljs.core.random_uuid.call(null))};
cljs.spec.alpha.maybe_impl=function(a,b){return cljs.core.assoc.call(null,cljs.spec.alpha.alt_STAR_.call(null,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[a,cljs.spec.alpha.accept.call(null,new cljs.core.Keyword("cljs.spec.alpha","nil","cljs.spec.alpha/nil",1733813950))],null),null,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[b,new cljs.core.Keyword("cljs.spec.alpha","nil","cljs.spec.alpha/nil",1733813950)],null)),new cljs.core.Keyword(null,
"maybe","maybe",-314397560),b)};
cljs.spec.alpha.noret_QMARK_=function(a,b){var c=cljs.core._EQ_.call(null,b,new cljs.core.Keyword("cljs.spec.alpha","nil","cljs.spec.alpha/nil",1733813950));if(c)return c;a=(new cljs.core.PersistentHashSet(null,new cljs.core.PersistentArrayMap(null,2,[new cljs.core.Keyword("cljs.spec.alpha","rep","cljs.spec.alpha/rep",1483217317),null,new cljs.core.Keyword("cljs.spec.alpha","pcat","cljs.spec.alpha/pcat",26406623),null],null),null)).call(null,(new cljs.core.Keyword("cljs.spec.alpha","op","cljs.spec.alpha/op",
-1269055252)).cljs$core$IFn$_invoke$arity$1(cljs.spec.alpha.reg_resolve_BANG_.call(null,a)));b=cljs.core.truth_(a)?cljs.core.empty_QMARK_.call(null,b):a;return cljs.core.truth_(b)?b:null};
cljs.spec.alpha.accept_nil_QMARK_=function(a){a=cljs.spec.alpha.reg_resolve_BANG_.call(null,a);var b=null!=a&&(a.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===a.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,a):a,c=cljs.core.get.call(null,b,new cljs.core.Keyword("cljs.spec.alpha","op","cljs.spec.alpha/op",-1269055252)),d=cljs.core.get.call(null,b,new cljs.core.Keyword(null,"ps","ps",292358046));a=cljs.core.get.call(null,b,new cljs.core.Keyword(null,"p1","p1",
-936759954));var e=cljs.core.get.call(null,b,new cljs.core.Keyword(null,"p2","p2",905500641));b=cljs.core.get.call(null,b,new cljs.core.Keyword(null,"forms","forms",2045992350));if(cljs.core._EQ_.call(null,new cljs.core.Keyword("cljs.spec.alpha","accept","cljs.spec.alpha/accept",370988198),c))return!0;if(cljs.core._EQ_.call(null,null,c))return null;if(cljs.core._EQ_.call(null,new cljs.core.Keyword("cljs.spec.alpha","amp","cljs.spec.alpha/amp",831147508),c))return c=cljs.spec.alpha.accept_nil_QMARK_.call(null,
a),cljs.core.truth_(c)?(a=cljs.spec.alpha.and_preds.call(null,cljs.spec.alpha.preturn.call(null,a),d,cljs.core.next.call(null,b)),!cljs.spec.alpha.invalid_QMARK_.call(null,a)):c;if(cljs.core._EQ_.call(null,new cljs.core.Keyword("cljs.spec.alpha","rep","cljs.spec.alpha/rep",1483217317),c))return(d=a===e)?d:cljs.spec.alpha.accept_nil_QMARK_.call(null,a);if(cljs.core._EQ_.call(null,new cljs.core.Keyword("cljs.spec.alpha","pcat","cljs.spec.alpha/pcat",26406623),c))return cljs.core.every_QMARK_.call(null,
cljs.spec.alpha.accept_nil_QMARK_,d);if(cljs.core._EQ_.call(null,new cljs.core.Keyword("cljs.spec.alpha","alt","cljs.spec.alpha/alt",523685437),c))return cljs.core.some.call(null,cljs.spec.alpha.accept_nil_QMARK_,d);throw Error(["No matching clause: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(c)].join(""));};
cljs.spec.alpha.preturn=function(a){a=cljs.spec.alpha.reg_resolve_BANG_.call(null,a);var b=null!=a&&(a.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===a.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,a):a;a=cljs.core.get.call(null,b,new cljs.core.Keyword(null,"ps","ps",292358046));var c=cljs.core.seq.call(null,a),d=cljs.core.first.call(null,c);cljs.core.next.call(null,c);var e=cljs.core.get.call(null,b,new cljs.core.Keyword(null,"ks","ks",1900203942)),f=cljs.core.nth.call(null,
e,0,null),g=cljs.core.get.call(null,b,new cljs.core.Keyword("cljs.spec.alpha","op","cljs.spec.alpha/op",-1269055252));c=cljs.core.get.call(null,b,new cljs.core.Keyword(null,"p1","p1",-936759954));var h=cljs.core.get.call(null,b,new cljs.core.Keyword(null,"ret","ret",-468222814));b=cljs.core.get.call(null,b,new cljs.core.Keyword(null,"forms","forms",2045992350));if(cljs.core._EQ_.call(null,new cljs.core.Keyword("cljs.spec.alpha","accept","cljs.spec.alpha/accept",370988198),g))return h;if(cljs.core._EQ_.call(null,
null,g))return null;if(cljs.core._EQ_.call(null,new cljs.core.Keyword("cljs.spec.alpha","amp","cljs.spec.alpha/amp",831147508),g))return d=cljs.spec.alpha.preturn.call(null,c),cljs.core.truth_(cljs.spec.alpha.noret_QMARK_.call(null,c,d))?new cljs.core.Keyword("cljs.spec.alpha","nil","cljs.spec.alpha/nil",1733813950):cljs.spec.alpha.and_preds.call(null,d,a,b);if(cljs.core._EQ_.call(null,new cljs.core.Keyword("cljs.spec.alpha","rep","cljs.spec.alpha/rep",1483217317),g))return cljs.spec.alpha.add_ret.call(null,
c,h,f);if(cljs.core._EQ_.call(null,new cljs.core.Keyword("cljs.spec.alpha","pcat","cljs.spec.alpha/pcat",26406623),g))return cljs.spec.alpha.add_ret.call(null,d,h,f);if(cljs.core._EQ_.call(null,new cljs.core.Keyword("cljs.spec.alpha","alt","cljs.spec.alpha/alt",523685437),g))return d=cljs.spec.alpha.filter_alt.call(null,a,e,b,cljs.spec.alpha.accept_nil_QMARK_),a=cljs.core.nth.call(null,d,0,null),a=cljs.core.nth.call(null,a,0,null),d=cljs.core.nth.call(null,d,1,null),d=cljs.core.nth.call(null,d,0,
null),a=null==a?new cljs.core.Keyword("cljs.spec.alpha","nil","cljs.spec.alpha/nil",1733813950):cljs.spec.alpha.preturn.call(null,a),cljs.core.truth_(d)?cljs.spec.alpha.tagged_ret.call(null,d,a):a;throw Error(["No matching clause: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(g)].join(""));};
cljs.spec.alpha.op_unform=function(a,b){var c=cljs.spec.alpha.reg_resolve_BANG_.call(null,a),d=null!=c&&(c.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===c.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,c):c,e=cljs.core.get.call(null,d,new cljs.core.Keyword(null,"ps","ps",292358046)),f=cljs.core.seq.call(null,e),g=cljs.core.first.call(null,f),h=cljs.core.next.call(null,f),k=cljs.core.get.call(null,d,new cljs.core.Keyword(null,"ks","ks",1900203942)),l=cljs.core.nth.call(null,
k,0,null),m=cljs.core.get.call(null,d,new cljs.core.Keyword("cljs.spec.alpha","op","cljs.spec.alpha/op",-1269055252)),n=cljs.core.get.call(null,d,new cljs.core.Keyword(null,"p1","p1",-936759954)),p=cljs.core.get.call(null,d,new cljs.core.Keyword(null,"ret","ret",-468222814)),q=cljs.core.get.call(null,d,new cljs.core.Keyword(null,"forms","forms",2045992350)),r=cljs.core.get.call(null,d,new cljs.core.Keyword(null,"rep+","rep+",-281382396)),u=cljs.core.get.call(null,d,new cljs.core.Keyword(null,"maybe",
"maybe",-314397560));a=cljs.core.zipmap.call(null,k,e);if(cljs.core._EQ_.call(null,new cljs.core.Keyword("cljs.spec.alpha","accept","cljs.spec.alpha/accept",370988198),m))return new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[p],null);if(cljs.core._EQ_.call(null,null,m))return new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[cljs.spec.alpha.unform.call(null,d,b)],null);if(cljs.core._EQ_.call(null,new cljs.core.Keyword("cljs.spec.alpha",
"amp","cljs.spec.alpha/amp",831147508),m))return a=cljs.core.reduce.call(null,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,K,I,H,O,P){return function(a,b){return cljs.spec.alpha.unform.call(null,b,a)}}(m,c,d,d,e,f,g,h,g,h,e,k,l,k,m,n,p,q,r,u,a),b,cljs.core.reverse.call(null,e)),cljs.spec.alpha.op_unform.call(null,n,a);if(cljs.core._EQ_.call(null,new cljs.core.Keyword("cljs.spec.alpha","rep","cljs.spec.alpha/rep",1483217317),m))return cljs.core.mapcat.call(null,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,
K,I,H,O,P){return function(a){return cljs.spec.alpha.op_unform.call(null,u,a)}}(m,c,d,d,e,f,g,h,g,h,e,k,l,k,m,n,p,q,r,u,a),b);if(cljs.core._EQ_.call(null,new cljs.core.Keyword("cljs.spec.alpha","pcat","cljs.spec.alpha/pcat",26406623),m))return cljs.core.truth_(r)?cljs.core.mapcat.call(null,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,K,I,H,O,P){return function(a){return cljs.spec.alpha.op_unform.call(null,k,a)}}(m,c,d,d,e,f,g,h,g,h,e,k,l,k,m,n,p,q,r,u,a),b):cljs.core.mapcat.call(null,function(a,c,d,e,
f,g,h,k,l,m,n,p,q,r,u,L,K,I,H,O,P){return function(a){return cljs.core.contains_QMARK_.call(null,b,a)?cljs.spec.alpha.op_unform.call(null,P.call(null,a),cljs.core.get.call(null,b,a)):null}}(m,c,d,d,e,f,g,h,g,h,e,k,l,k,m,n,p,q,r,u,a),k);if(cljs.core._EQ_.call(null,new cljs.core.Keyword("cljs.spec.alpha","alt","cljs.spec.alpha/alt",523685437),m)){if(cljs.core.truth_(u))return new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[cljs.spec.alpha.unform.call(null,g,b)],null);
n=cljs.core.nth.call(null,b,0,null);c=cljs.core.nth.call(null,b,1,null);return cljs.spec.alpha.op_unform.call(null,a.call(null,n),c)}throw Error(["No matching clause: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(m)].join(""));};
cljs.spec.alpha.add_ret=function(a,b,c){var d=cljs.spec.alpha.reg_resolve_BANG_.call(null,a);a=null!=d&&(d.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===d.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,d):d;var e=cljs.core.get.call(null,a,new cljs.core.Keyword("cljs.spec.alpha","op","cljs.spec.alpha/op",-1269055252)),f=cljs.core.get.call(null,a,new cljs.core.Keyword(null,"ps","ps",292358046)),g=cljs.core.get.call(null,a,new cljs.core.Keyword(null,"splice","splice",
449588165));d=function(a,d,e,f,g,p){return function(){var a=cljs.spec.alpha.preturn.call(null,e);return cljs.core.empty_QMARK_.call(null,a)?b:(cljs.core.truth_(p)?cljs.core.into:cljs.core.conj).call(null,b,cljs.core.truth_(c)?cljs.core.PersistentArrayMap.createAsIfByAssoc([c,a]):a)}}(d,a,a,e,f,g);if(cljs.core._EQ_.call(null,null,e))return b;if(cljs.core._EQ_.call(null,new cljs.core.Keyword("cljs.spec.alpha","alt","cljs.spec.alpha/alt",523685437),e)||cljs.core._EQ_.call(null,new cljs.core.Keyword("cljs.spec.alpha",
"accept","cljs.spec.alpha/accept",370988198),e)||cljs.core._EQ_.call(null,new cljs.core.Keyword("cljs.spec.alpha","amp","cljs.spec.alpha/amp",831147508),e))return a=cljs.spec.alpha.preturn.call(null,a),cljs.core._EQ_.call(null,a,new cljs.core.Keyword("cljs.spec.alpha","nil","cljs.spec.alpha/nil",1733813950))?b:cljs.core.conj.call(null,b,cljs.core.truth_(c)?cljs.core.PersistentArrayMap.createAsIfByAssoc([c,a]):a);if(cljs.core._EQ_.call(null,new cljs.core.Keyword("cljs.spec.alpha","rep","cljs.spec.alpha/rep",
1483217317),e)||cljs.core._EQ_.call(null,new cljs.core.Keyword("cljs.spec.alpha","pcat","cljs.spec.alpha/pcat",26406623),e))return d.call(null);throw Error(["No matching clause: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(e)].join(""));};
cljs.spec.alpha.deriv=function(a,b){var c=cljs.spec.alpha.reg_resolve_BANG_.call(null,a),d=null!=c&&(c.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===c.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,c):c;a=cljs.core.get.call(null,d,new cljs.core.Keyword(null,"forms","forms",2045992350));var e=cljs.core.get.call(null,d,new cljs.core.Keyword(null,"p2","p2",905500641)),f=cljs.core.get.call(null,d,new cljs.core.Keyword(null,"ps","ps",292358046)),g=cljs.core.seq.call(null,
f),h=cljs.core.first.call(null,g),k=cljs.core.next.call(null,g),l=cljs.core.get.call(null,d,new cljs.core.Keyword(null,"ret","ret",-468222814)),m=cljs.core.get.call(null,d,new cljs.core.Keyword("cljs.spec.alpha","op","cljs.spec.alpha/op",-1269055252)),n=cljs.core.get.call(null,d,new cljs.core.Keyword(null,"splice","splice",449588165)),p=cljs.core.get.call(null,d,new cljs.core.Keyword(null,"ks","ks",1900203942)),q=cljs.core.seq.call(null,p),r=cljs.core.first.call(null,q),u=cljs.core.next.call(null,
q),t=cljs.core.get.call(null,d,new cljs.core.Keyword(null,"amp","amp",271690571)),v=cljs.core.get.call(null,d,new cljs.core.Keyword(null,"p1","p1",-936759954));if(cljs.core.truth_(d)){if(cljs.core._EQ_.call(null,new cljs.core.Keyword("cljs.spec.alpha","accept","cljs.spec.alpha/accept",370988198),m))return null;if(cljs.core._EQ_.call(null,null,m))return a=cljs.spec.alpha.dt.call(null,d,b,d),cljs.spec.alpha.invalid_QMARK_.call(null,a)?null:cljs.spec.alpha.accept.call(null,a);if(cljs.core._EQ_.call(null,
new cljs.core.Keyword("cljs.spec.alpha","amp","cljs.spec.alpha/amp",831147508),m))return c=cljs.spec.alpha.deriv.call(null,v,b),cljs.core.truth_(c)?cljs.core._EQ_.call(null,new cljs.core.Keyword("cljs.spec.alpha","accept","cljs.spec.alpha/accept",370988198),(new cljs.core.Keyword("cljs.spec.alpha","op","cljs.spec.alpha/op",-1269055252)).cljs$core$IFn$_invoke$arity$1(c))?(a=cljs.spec.alpha.and_preds.call(null,cljs.spec.alpha.preturn.call(null,c),f,cljs.core.next.call(null,a)),cljs.spec.alpha.invalid_QMARK_.call(null,
a)?null:cljs.spec.alpha.accept.call(null,a)):cljs.spec.alpha.amp_impl.call(null,c,t,f,a):null;if(cljs.core._EQ_.call(null,new cljs.core.Keyword("cljs.spec.alpha","pcat","cljs.spec.alpha/pcat",26406623),m))return cljs.spec.alpha.alt2.call(null,cljs.spec.alpha.pcat_STAR_.call(null,new cljs.core.PersistentArrayMap(null,4,[new cljs.core.Keyword(null,"ps","ps",292358046),cljs.core.cons.call(null,cljs.spec.alpha.deriv.call(null,h,b),k),new cljs.core.Keyword(null,"ks","ks",1900203942),p,new cljs.core.Keyword(null,
"forms","forms",2045992350),a,new cljs.core.Keyword(null,"ret","ret",-468222814),l],null)),cljs.core.truth_(cljs.spec.alpha.accept_nil_QMARK_.call(null,h))?cljs.spec.alpha.deriv.call(null,cljs.spec.alpha.pcat_STAR_.call(null,new cljs.core.PersistentArrayMap(null,4,[new cljs.core.Keyword(null,"ps","ps",292358046),k,new cljs.core.Keyword(null,"ks","ks",1900203942),u,new cljs.core.Keyword(null,"forms","forms",2045992350),cljs.core.next.call(null,a),new cljs.core.Keyword(null,"ret","ret",-468222814),
cljs.spec.alpha.add_ret.call(null,h,l,r)],null)),b):null);if(cljs.core._EQ_.call(null,new cljs.core.Keyword("cljs.spec.alpha","alt","cljs.spec.alpha/alt",523685437),m))return cljs.spec.alpha.alt_STAR_.call(null,cljs.core.map.call(null,function(a,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,O,P,N,Q,R,S,T,U){return function(a){return cljs.spec.alpha.deriv.call(null,a,b)}}(m,c,d,d,a,e,f,g,h,k,h,k,f,l,m,n,p,q,r,u,r,u,p,t,v),f),p,a);if(cljs.core._EQ_.call(null,new cljs.core.Keyword("cljs.spec.alpha","rep","cljs.spec.alpha/rep",
1483217317),m))return cljs.spec.alpha.alt2.call(null,cljs.spec.alpha.rep_STAR_.call(null,cljs.spec.alpha.deriv.call(null,v,b),e,l,n,a),cljs.core.truth_(cljs.spec.alpha.accept_nil_QMARK_.call(null,v))?cljs.spec.alpha.deriv.call(null,cljs.spec.alpha.rep_STAR_.call(null,e,e,cljs.spec.alpha.add_ret.call(null,v,l,null),n,a),b):null);throw Error(["No matching clause: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(m)].join(""));}return null};
cljs.spec.alpha.op_describe=function(a){a=cljs.spec.alpha.reg_resolve_BANG_.call(null,a);a=null!=a&&(a.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===a.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,a):a;cljs.core.get.call(null,a,new cljs.core.Keyword(null,"ps","ps",292358046));var b=cljs.core.get.call(null,a,new cljs.core.Keyword(null,"forms","forms",2045992350)),c=cljs.core.get.call(null,a,new cljs.core.Keyword(null,"rep+","rep+",-281382396)),d=cljs.core.get.call(null,
a,new cljs.core.Keyword("cljs.spec.alpha","op","cljs.spec.alpha/op",-1269055252)),e=cljs.core.get.call(null,a,new cljs.core.Keyword(null,"splice","splice",449588165)),f=cljs.core.get.call(null,a,new cljs.core.Keyword(null,"ks","ks",1900203942)),g=cljs.core.get.call(null,a,new cljs.core.Keyword(null,"maybe","maybe",-314397560)),h=cljs.core.get.call(null,a,new cljs.core.Keyword(null,"amp","amp",271690571));cljs.core.get.call(null,a,new cljs.core.Keyword(null,"p1","p1",-936759954));if(cljs.core.truth_(a)){if(cljs.core._EQ_.call(null,
new cljs.core.Keyword("cljs.spec.alpha","accept","cljs.spec.alpha/accept",370988198),d))return null;if(cljs.core._EQ_.call(null,null,d))return a;if(cljs.core._EQ_.call(null,new cljs.core.Keyword("cljs.spec.alpha","amp","cljs.spec.alpha/amp",831147508),d))return cljs.core.list_STAR_.call(null,new cljs.core.Symbol("cljs.spec.alpha","\x26","cljs.spec.alpha/\x26",1635809823,null),h,b);if(cljs.core._EQ_.call(null,new cljs.core.Keyword("cljs.spec.alpha","pcat","cljs.spec.alpha/pcat",26406623),d))return cljs.core.truth_(c)?
new cljs.core.List(null,new cljs.core.Symbol("cljs.spec.alpha","+","cljs.spec.alpha/+",2101263265,null),new cljs.core.List(null,c,null,1,null),2,null):cljs.core.cons.call(null,new cljs.core.Symbol("cljs.spec.alpha","cat","cljs.spec.alpha/cat",-1471398329,null),cljs.core.mapcat.call(null,cljs.core.vector,function(){var a=cljs.core.seq.call(null,f);return a?a:cljs.core.repeat.call(null,new cljs.core.Keyword(null,"_","_",1453416199))}(),b));if(cljs.core._EQ_.call(null,new cljs.core.Keyword("cljs.spec.alpha",
"alt","cljs.spec.alpha/alt",523685437),d))return cljs.core.truth_(g)?new cljs.core.List(null,new cljs.core.Symbol("cljs.spec.alpha","?","cljs.spec.alpha/?",1605136319,null),new cljs.core.List(null,g,null,1,null),2,null):cljs.core.cons.call(null,new cljs.core.Symbol("cljs.spec.alpha","alt","cljs.spec.alpha/alt",-2130750332,null),cljs.core.mapcat.call(null,cljs.core.vector,f,b));if(cljs.core._EQ_.call(null,new cljs.core.Keyword("cljs.spec.alpha","rep","cljs.spec.alpha/rep",1483217317),d))return new cljs.core.List(null,
cljs.core.truth_(e)?new cljs.core.Symbol("cljs.spec.alpha","+","cljs.spec.alpha/+",2101263265,null):new cljs.core.Symbol("cljs.spec.alpha","*","cljs.spec.alpha/*",-1238084288,null),new cljs.core.List(null,b,null,1,null),2,null);throw Error(["No matching clause: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(d)].join(""));}return null};
cljs.spec.alpha.op_explain=function(a,b,c,d,e,f){var g=cljs.core.nth.call(null,f,0,null),h=cljs.spec.alpha.reg_resolve_BANG_.call(null,b),k=null!=h&&(h.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===h.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,h):h,l=cljs.core.get.call(null,k,new cljs.core.Keyword("cljs.spec.alpha","op","cljs.spec.alpha/op",-1269055252)),m=cljs.core.get.call(null,k,new cljs.core.Keyword(null,"ps","ps",292358046)),n=cljs.core.get.call(null,
k,new cljs.core.Keyword(null,"ks","ks",1900203942)),p=cljs.core.get.call(null,k,new cljs.core.Keyword(null,"forms","forms",2045992350)),q=cljs.core.get.call(null,k,new cljs.core.Keyword(null,"splice","splice",449588165)),r=cljs.core.get.call(null,k,new cljs.core.Keyword(null,"p1","p1",-936759954)),u=cljs.core.get.call(null,k,new cljs.core.Keyword(null,"p2","p2",905500641));b=function(){var a=cljs.spec.alpha.spec_name.call(null,k);return cljs.core.truth_(a)?cljs.core.conj.call(null,d,a):d}();var t=
function(a,b,c,d,f,g,h,k,l,m,n,p,q,r){return function(a,b){return new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.PersistentArrayMap(null,6,[new cljs.core.Keyword(null,"path","path",-188191168),a,new cljs.core.Keyword(null,"reason","reason",-2070751759),"Insufficient input",new cljs.core.Keyword(null,"pred","pred",1927423397),b,new cljs.core.Keyword(null,"val","val",128701612),cljs.core.List.EMPTY,new cljs.core.Keyword(null,"via","via",-1904457336),r,new cljs.core.Keyword(null,
"in","in",-1531184865),e],null)],null)}}(f,g,f,h,k,k,l,m,n,p,q,r,u,b);if(cljs.core.truth_(k)){if(cljs.core._EQ_.call(null,new cljs.core.Keyword("cljs.spec.alpha","accept","cljs.spec.alpha/accept",370988198),l))return null;if(cljs.core._EQ_.call(null,null,l))return cljs.core.empty_QMARK_.call(null,f)?t.call(null,c,a):cljs.spec.alpha.explain_1.call(null,a,k,c,b,e,g);if(cljs.core._EQ_.call(null,new cljs.core.Keyword("cljs.spec.alpha","amp","cljs.spec.alpha/amp",831147508),l)){if(cljs.core.empty_QMARK_.call(null,
f))return cljs.core.truth_(cljs.spec.alpha.accept_nil_QMARK_.call(null,r))?cljs.spec.alpha.explain_pred_list.call(null,p,m,c,b,e,cljs.spec.alpha.preturn.call(null,r)):t.call(null,c,(new cljs.core.Keyword(null,"amp","amp",271690571)).cljs$core$IFn$_invoke$arity$1(k));t=cljs.spec.alpha.deriv.call(null,r,g);return cljs.core.truth_(t)?cljs.spec.alpha.explain_pred_list.call(null,p,m,c,b,e,cljs.spec.alpha.preturn.call(null,t)):cljs.spec.alpha.op_explain.call(null,(new cljs.core.Keyword(null,"amp","amp",
271690571)).cljs$core$IFn$_invoke$arity$1(k),r,c,b,e,f)}if(cljs.core._EQ_.call(null,new cljs.core.Keyword("cljs.spec.alpha","pcat","cljs.spec.alpha/pcat",26406623),l))return a=cljs.core.map.call(null,cljs.core.vector,m,function(){var a=cljs.core.seq.call(null,n);return a?a:cljs.core.repeat.call(null,null)}(),function(){var a=cljs.core.seq.call(null,p);return a?a:cljs.core.repeat.call(null,null)}()),r=cljs.core._EQ_.call(null,1,cljs.core.count.call(null,a))?cljs.core.first.call(null,a):cljs.core.first.call(null,
cljs.core.remove.call(null,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u){return function(a){a=cljs.core.nth.call(null,a,0,null);return cljs.spec.alpha.accept_nil_QMARK_.call(null,a)}}(a,l,f,g,f,h,k,k,l,m,n,p,q,r,u,b,t),a)),g=cljs.core.nth.call(null,r,0,null),m=cljs.core.nth.call(null,r,1,null),r=cljs.core.nth.call(null,r,2,null),m=cljs.core.truth_(m)?cljs.core.conj.call(null,c,m):c,r=cljs.core.truth_(r)?r:cljs.spec.alpha.op_describe.call(null,g),cljs.core.empty_QMARK_.call(null,f)&&cljs.core.not.call(null,
g)?t.call(null,m,r):cljs.spec.alpha.op_explain.call(null,r,g,m,b,e,f);if(cljs.core._EQ_.call(null,new cljs.core.Keyword("cljs.spec.alpha","alt","cljs.spec.alpha/alt",523685437),l))return cljs.core.empty_QMARK_.call(null,f)?t.call(null,c,cljs.spec.alpha.op_describe.call(null,k)):cljs.core.apply.call(null,cljs.core.concat,cljs.core.map.call(null,function(a,b,d,f,g,h,k,l,m,n,p,q,r,t,u,K){return function(a,b,d){return cljs.spec.alpha.op_explain.call(null,cljs.core.truth_(b)?b:cljs.spec.alpha.op_describe.call(null,
d),d,cljs.core.truth_(a)?cljs.core.conj.call(null,c,a):c,u,e,f)}}(l,f,g,f,h,k,k,l,m,n,p,q,r,u,b,t),function(){var a=cljs.core.seq.call(null,n);return a?a:cljs.core.repeat.call(null,null)}(),function(){var a=cljs.core.seq.call(null,p);return a?a:cljs.core.repeat.call(null,null)}(),m));if(cljs.core._EQ_.call(null,new cljs.core.Keyword("cljs.spec.alpha","rep","cljs.spec.alpha/rep",1483217317),l))return cljs.spec.alpha.op_explain.call(null,r===u?p:cljs.spec.alpha.op_describe.call(null,r),r,c,b,e,f);throw Error(["No matching clause: ",
cljs.core.str.cljs$core$IFn$_invoke$arity$1(l)].join(""));}return null};
cljs.spec.alpha.re_gen=function(a,b,c,d,e){a=cljs.spec.alpha.reg_resolve_BANG_.call(null,a);var f=null!=a&&(a.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===a.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,a):a,g=cljs.core.get.call(null,f,new cljs.core.Keyword(null,"ps","ps",292358046)),h=cljs.core.get.call(null,f,new cljs.core.Keyword(null,"forms","forms",2045992350)),k=cljs.core.get.call(null,f,new cljs.core.Keyword(null,"p2","p2",905500641)),l=cljs.core.get.call(null,
f,new cljs.core.Keyword(null,"ret","ret",-468222814)),m=cljs.core.get.call(null,f,new cljs.core.Keyword("cljs.spec.alpha","gfn","cljs.spec.alpha/gfn",-593120375)),n=cljs.core.get.call(null,f,new cljs.core.Keyword("cljs.spec.alpha","op","cljs.spec.alpha/op",-1269055252)),p=cljs.core.get.call(null,f,new cljs.core.Keyword(null,"splice","splice",449588165)),q=cljs.core.get.call(null,f,new cljs.core.Keyword(null,"ks","ks",1900203942)),r=cljs.core.get.call(null,f,new cljs.core.Keyword(null,"p1","p1",-936759954)),
u=cljs.core.get.call(null,f,new cljs.core.Keyword(null,"id","id",-1388402092));d=cljs.core.truth_(u)?cljs.spec.alpha.inck.call(null,d,u):d;var t=function(a,d,e,f,g,h,k,l,m,n,p,q,r,t){return function(u,v,w){var z=function(a,d,e,f,g,h,k,l,m,n,p,q,r,t){return function(u,v,w){return cljs.core.truth_(cljs.core.truth_(t)?cljs.core.truth_(r)?cljs.core.truth_(v)?cljs.spec.alpha.recur_limit_QMARK_.call(null,t,r,c,v):v:r:t)?null:cljs.core.truth_(r)?cljs.spec.gen.alpha.delay_impl.call(null,new cljs.core.Delay(function(a,
d,e,f,g,h,k,l,m,n,p,q,r,t){return function(){return cljs.spec.alpha.re_gen.call(null,u,b,cljs.core.truth_(v)?cljs.core.conj.call(null,c,v):c,t,cljs.core.truth_(w)?w:u)}}(a,d,e,f,g,h,k,l,m,n,p,q,r,t),null)):cljs.spec.alpha.re_gen.call(null,u,b,cljs.core.truth_(v)?cljs.core.conj.call(null,c,v):c,t,cljs.core.truth_(w)?w:u)}}(a,d,e,f,g,h,k,l,m,n,p,q,r,t);return cljs.core.map.call(null,z,u,function(){var a=cljs.core.seq.call(null,v);return a?a:cljs.core.repeat.call(null,null)}(),function(){var a=cljs.core.seq.call(null,
w);return a?a:cljs.core.repeat.call(null,null)}())}}(a,f,f,g,h,k,l,m,n,p,q,r,u,d),v=function(){var a=cljs.core.get.call(null,b,c);return cljs.core.truth_(a)?cljs.core._EQ_.call(null,new cljs.core.Keyword(null,"accept","accept",1874130431),n)?cljs.spec.gen.alpha.fmap.call(null,cljs.core.vector,a):cljs.core._EQ_.call(null,null,n)?cljs.spec.gen.alpha.fmap.call(null,cljs.core.vector,a):a:null}();if(cljs.core.truth_(v))return v;var w=cljs.core.truth_(m)?m.call(null):null;if(cljs.core.truth_(w))return w;
if(cljs.core.truth_(f)){if(cljs.core._EQ_.call(null,new cljs.core.Keyword("cljs.spec.alpha","accept","cljs.spec.alpha/accept",370988198),n))return cljs.core._EQ_.call(null,l,new cljs.core.Keyword("cljs.spec.alpha","nil","cljs.spec.alpha/nil",1733813950))?cljs.spec.gen.alpha.return$.call(null,cljs.core.PersistentVector.EMPTY):cljs.spec.gen.alpha.return$.call(null,new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[l],null));if(cljs.core._EQ_.call(null,null,n))return e=cljs.spec.alpha.gensub.call(null,
f,b,c,d,e),cljs.core.truth_(e)?cljs.spec.gen.alpha.fmap.call(null,cljs.core.vector,e):null;if(cljs.core._EQ_.call(null,new cljs.core.Keyword("cljs.spec.alpha","amp","cljs.spec.alpha/amp",831147508),n))return cljs.spec.alpha.re_gen.call(null,r,b,c,d,cljs.spec.alpha.op_describe.call(null,r));if(cljs.core._EQ_.call(null,new cljs.core.Keyword("cljs.spec.alpha","pcat","cljs.spec.alpha/pcat",26406623),n))return a=t.call(null,g,q,h),cljs.core.every_QMARK_.call(null,cljs.core.identity,a)?cljs.core.apply.call(null,
cljs.spec.gen.alpha.cat,a):null;if(cljs.core._EQ_.call(null,new cljs.core.Keyword("cljs.spec.alpha","alt","cljs.spec.alpha/alt",523685437),n))return a=cljs.core.remove.call(null,cljs.core.nil_QMARK_,t.call(null,g,q,h)),cljs.core.empty_QMARK_.call(null,a)?null:cljs.spec.gen.alpha.one_of.call(null,a);if(cljs.core._EQ_.call(null,new cljs.core.Keyword("cljs.spec.alpha","rep","cljs.spec.alpha/rep",1483217317),n)){if(cljs.spec.alpha.recur_limit_QMARK_.call(null,d,u,new cljs.core.PersistentVector(null,1,
5,cljs.core.PersistentVector.EMPTY_NODE,[u],null),u))return cljs.spec.gen.alpha.return$.call(null,cljs.core.PersistentVector.EMPTY);e=cljs.spec.alpha.re_gen.call(null,k,b,c,d,h);if(cljs.core.truth_(e)){var x=e;return cljs.spec.gen.alpha.fmap.call(null,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x){return function(a){return cljs.core.apply.call(null,cljs.core.concat,a)}}(x,e,n,w,v,a,f,f,g,h,k,l,m,n,p,q,r,u,d,t),cljs.spec.gen.alpha.vector.call(null,x))}return null}throw Error(["No matching clause: ",
cljs.core.str.cljs$core$IFn$_invoke$arity$1(n)].join(""));}return null};
cljs.spec.alpha.re_conform=function(a,b){for(;;){var c=cljs.core.seq.call(null,b),d=cljs.core.first.call(null,c);c=cljs.core.next.call(null,c);if(cljs.core.empty_QMARK_.call(null,b))return cljs.core.truth_(cljs.spec.alpha.accept_nil_QMARK_.call(null,a))?(a=cljs.spec.alpha.preturn.call(null,a),cljs.core._EQ_.call(null,a,new cljs.core.Keyword("cljs.spec.alpha","nil","cljs.spec.alpha/nil",1733813950))?null:a):new cljs.core.Keyword("cljs.spec.alpha","invalid","cljs.spec.alpha/invalid",-1220295119);a=
cljs.spec.alpha.deriv.call(null,a,d);if(cljs.core.truth_(a))b=c;else return new cljs.core.Keyword("cljs.spec.alpha","invalid","cljs.spec.alpha/invalid",-1220295119)}};
cljs.spec.alpha.re_explain=function(a,b,c,d,e){var f=cljs.core.seq.call(null,e);cljs.core.first.call(null,f);cljs.core.next.call(null,f);f=d;var g=e;for(e=0;;){var h=cljs.core.seq.call(null,g),k=cljs.core.first.call(null,h);h=cljs.core.next.call(null,h);if(cljs.core.empty_QMARK_.call(null,g))return cljs.core.truth_(cljs.spec.alpha.accept_nil_QMARK_.call(null,f))?null:cljs.spec.alpha.op_explain.call(null,cljs.spec.alpha.op_describe.call(null,f),f,a,b,c,null);k=cljs.spec.alpha.deriv.call(null,f,k);
if(cljs.core.truth_(k))g=h,e+=1,f=k;else{if(cljs.spec.alpha.accept_QMARK_.call(null,f))return cljs.core._EQ_.call(null,(new cljs.core.Keyword("cljs.spec.alpha","op","cljs.spec.alpha/op",-1269055252)).cljs$core$IFn$_invoke$arity$1(f),new cljs.core.Keyword("cljs.spec.alpha","pcat","cljs.spec.alpha/pcat",26406623))?cljs.spec.alpha.op_explain.call(null,cljs.spec.alpha.op_describe.call(null,f),f,a,b,cljs.core.conj.call(null,c,e),cljs.core.seq.call(null,g)):new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,
[new cljs.core.PersistentArrayMap(null,6,[new cljs.core.Keyword(null,"path","path",-188191168),a,new cljs.core.Keyword(null,"reason","reason",-2070751759),"Extra input",new cljs.core.Keyword(null,"pred","pred",1927423397),cljs.spec.alpha.op_describe.call(null,d),new cljs.core.Keyword(null,"val","val",128701612),g,new cljs.core.Keyword(null,"via","via",-1904457336),b,new cljs.core.Keyword(null,"in","in",-1531184865),cljs.core.conj.call(null,c,e)],null)],null);d=cljs.spec.alpha.op_explain.call(null,
cljs.spec.alpha.op_describe.call(null,f),f,a,b,cljs.core.conj.call(null,c,e),cljs.core.seq.call(null,g));return cljs.core.truth_(d)?d:new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.PersistentArrayMap(null,6,[new cljs.core.Keyword(null,"path","path",-188191168),a,new cljs.core.Keyword(null,"reason","reason",-2070751759),"Extra input",new cljs.core.Keyword(null,"pred","pred",1927423397),cljs.spec.alpha.op_describe.call(null,f),new cljs.core.Keyword(null,
"val","val",128701612),g,new cljs.core.Keyword(null,"via","via",-1904457336),b,new cljs.core.Keyword(null,"in","in",-1531184865),cljs.core.conj.call(null,c,e)],null)],null)}}};
cljs.spec.alpha.regex_spec_impl=function(a,b){if("undefined"===typeof cljs||"undefined"===typeof cljs.spec||"undefined"===typeof cljs.spec.alpha||"undefined"===typeof cljs.spec.alpha.t_cljs$spec$alpha29144)cljs.spec.alpha.t_cljs$spec$alpha29144=function(a,b,e){this.re=a;this.gfn=b;this.meta29145=e;this.cljs$lang$protocol_mask$partition0$=393216;this.cljs$lang$protocol_mask$partition1$=0},cljs.spec.alpha.t_cljs$spec$alpha29144.prototype.cljs$core$IWithMeta$_with_meta$arity$2=function(a,b){return new cljs.spec.alpha.t_cljs$spec$alpha29144(this.re,
this.gfn,b)},cljs.spec.alpha.t_cljs$spec$alpha29144.prototype.cljs$core$IMeta$_meta$arity$1=function(a){return this.meta29145},cljs.spec.alpha.t_cljs$spec$alpha29144.prototype.cljs$spec$alpha$Specize$=cljs.core.PROTOCOL_SENTINEL,cljs.spec.alpha.t_cljs$spec$alpha29144.prototype.cljs$spec$alpha$Specize$specize_STAR_$arity$1=function(a){return this},cljs.spec.alpha.t_cljs$spec$alpha29144.prototype.cljs$spec$alpha$Specize$specize_STAR_$arity$2=function(a,b){return this},cljs.spec.alpha.t_cljs$spec$alpha29144.prototype.cljs$spec$alpha$Spec$=
cljs.core.PROTOCOL_SENTINEL,cljs.spec.alpha.t_cljs$spec$alpha29144.prototype.cljs$spec$alpha$Spec$conform_STAR_$arity$2=function(a,b){return null==b||cljs.core.sequential_QMARK_.call(null,b)?cljs.spec.alpha.re_conform.call(null,this.re,cljs.core.seq.call(null,b)):new cljs.core.Keyword("cljs.spec.alpha","invalid","cljs.spec.alpha/invalid",-1220295119)},cljs.spec.alpha.t_cljs$spec$alpha29144.prototype.cljs$spec$alpha$Spec$unform_STAR_$arity$2=function(a,b){return cljs.spec.alpha.op_unform.call(null,
this.re,b)},cljs.spec.alpha.t_cljs$spec$alpha29144.prototype.cljs$spec$alpha$Spec$explain_STAR_$arity$5=function(a,b,e,f,g){return null==g||cljs.core.sequential_QMARK_.call(null,g)?cljs.spec.alpha.re_explain.call(null,b,e,f,this.re,cljs.core.seq.call(null,g)):new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.PersistentArrayMap(null,5,[new cljs.core.Keyword(null,"path","path",-188191168),b,new cljs.core.Keyword(null,"pred","pred",1927423397),cljs.core.sequence.call(null,
cljs.core.seq.call(null,cljs.core.concat.call(null,new cljs.core.List(null,new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),null,1,null),new cljs.core.List(null,cljs.core.vec.call(null,cljs.core.sequence.call(null,cljs.core.seq.call(null,cljs.core.concat.call(null,new cljs.core.List(null,new cljs.core.Symbol(null,"%","%",-950237169,null),null,1,null))))),null,1,null),new cljs.core.List(null,cljs.core.sequence.call(null,cljs.core.seq.call(null,cljs.core.concat.call(null,new cljs.core.List(null,
new cljs.core.Symbol("cljs.core","or","cljs.core/or",1201033885,null),null,1,null),new cljs.core.List(null,cljs.core.sequence.call(null,cljs.core.seq.call(null,cljs.core.concat.call(null,new cljs.core.List(null,new cljs.core.Symbol("cljs.core","nil?","cljs.core/nil?",945071861,null),null,1,null),new cljs.core.List(null,new cljs.core.Symbol(null,"%","%",-950237169,null),null,1,null)))),null,1,null),new cljs.core.List(null,cljs.core.sequence.call(null,cljs.core.seq.call(null,cljs.core.concat.call(null,
new cljs.core.List(null,new cljs.core.Symbol("cljs.core","sequential?","cljs.core/sequential?",1777854658,null),null,1,null),new cljs.core.List(null,new cljs.core.Symbol(null,"%","%",-950237169,null),null,1,null)))),null,1,null)))),null,1,null)))),new cljs.core.Keyword(null,"val","val",128701612),g,new cljs.core.Keyword(null,"via","via",-1904457336),e,new cljs.core.Keyword(null,"in","in",-1531184865),f],null)],null)},cljs.spec.alpha.t_cljs$spec$alpha29144.prototype.cljs$spec$alpha$Spec$gen_STAR_$arity$4=
function(a,b,e,f){return cljs.core.truth_(this.gfn)?this.gfn.call(null):cljs.spec.alpha.re_gen.call(null,this.re,b,e,f,cljs.spec.alpha.op_describe.call(null,this.re))},cljs.spec.alpha.t_cljs$spec$alpha29144.prototype.cljs$spec$alpha$Spec$with_gen_STAR_$arity$2=function(a,b){return cljs.spec.alpha.regex_spec_impl.call(null,this.re,b)},cljs.spec.alpha.t_cljs$spec$alpha29144.prototype.cljs$spec$alpha$Spec$describe_STAR_$arity$1=function(a){return cljs.spec.alpha.op_describe.call(null,this.re)},cljs.spec.alpha.t_cljs$spec$alpha29144.getBasis=
function(){return new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"re","re",1869207729,null),new cljs.core.Symbol(null,"gfn","gfn",-1862918295,null),new cljs.core.Symbol(null,"meta29145","meta29145",-1152565117,null)],null)},cljs.spec.alpha.t_cljs$spec$alpha29144.cljs$lang$type=!0,cljs.spec.alpha.t_cljs$spec$alpha29144.cljs$lang$ctorStr="cljs.spec.alpha/t_cljs$spec$alpha29144",cljs.spec.alpha.t_cljs$spec$alpha29144.cljs$lang$ctorPrWriter=function(a,
b,e){return cljs.core._write.call(null,b,"cljs.spec.alpha/t_cljs$spec$alpha29144")},cljs.spec.alpha.__GT_t_cljs$spec$alpha29144=function(a,b,e){return new cljs.spec.alpha.t_cljs$spec$alpha29144(a,b,e)};return new cljs.spec.alpha.t_cljs$spec$alpha29144(a,b,cljs.core.PersistentArrayMap.EMPTY)};
cljs.spec.alpha.call_valid_QMARK_=function(a,b,c){var d=cljs.spec.alpha.conform.call(null,(new cljs.core.Keyword(null,"args","args",1315556576)).cljs$core$IFn$_invoke$arity$1(b),c);if(cljs.spec.alpha.invalid_QMARK_.call(null,d))return null;a=cljs.core.apply.call(null,a,c);a=cljs.spec.alpha.conform.call(null,(new cljs.core.Keyword(null,"ret","ret",-468222814)).cljs$core$IFn$_invoke$arity$1(b),a);return(c=!cljs.spec.alpha.invalid_QMARK_.call(null,a))?cljs.core.truth_((new cljs.core.Keyword(null,"fn",
"fn",-1175266204)).cljs$core$IFn$_invoke$arity$1(b))?cljs.spec.alpha.pvalid_QMARK_.call(null,(new cljs.core.Keyword(null,"fn","fn",-1175266204)).cljs$core$IFn$_invoke$arity$1(b),new cljs.core.PersistentArrayMap(null,2,[new cljs.core.Keyword(null,"args","args",1315556576),d,new cljs.core.Keyword(null,"ret","ret",-468222814),a],null)):!0:c};
cljs.spec.alpha.validate_fn=function(a,b,c){var d=cljs.spec.alpha.gen.call(null,(new cljs.core.Keyword(null,"args","args",1315556576)).cljs$core$IFn$_invoke$arity$1(b));d=cljs.spec.gen.alpha.for_all_STAR_.call(null,new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[d],null),function(c){return function(c){return cljs.spec.alpha.call_valid_QMARK_.call(null,a,b,c)}}(d));c=cljs.spec.gen.alpha.quick_check.call(null,c,d);c=(new cljs.core.Keyword(null,"smallest","smallest",-152623883)).cljs$core$IFn$_invoke$arity$1((new cljs.core.Keyword(null,
"shrunk","shrunk",-2041664412)).cljs$core$IFn$_invoke$arity$1(c));return cljs.core.truth_(c)?cljs.core.nth.call(null,c,0,null):a};
cljs.spec.alpha.fspec_impl=function(a,b,c,d,e,f,g){var h=new cljs.core.PersistentArrayMap(null,3,[new cljs.core.Keyword(null,"args","args",1315556576),a,new cljs.core.Keyword(null,"ret","ret",-468222814),c,new cljs.core.Keyword(null,"fn","fn",-1175266204),e],null);if("undefined"===typeof cljs||"undefined"===typeof cljs.spec||"undefined"===typeof cljs.spec.alpha||"undefined"===typeof cljs.spec.alpha.t_cljs$spec$alpha29151)cljs.spec.alpha.t_cljs$spec$alpha29151=function(a,b,c,d,e,f,g,h,t){this.argspec=
a;this.aform=b;this.retspec=c;this.rform=d;this.fnspec=e;this.fform=f;this.gfn=g;this.specs=h;this.meta29152=t;this.cljs$lang$protocol_mask$partition0$=393472;this.cljs$lang$protocol_mask$partition1$=0},cljs.spec.alpha.t_cljs$spec$alpha29151.prototype.cljs$core$IWithMeta$_with_meta$arity$2=function(a){return function(a,b){return new cljs.spec.alpha.t_cljs$spec$alpha29151(this.argspec,this.aform,this.retspec,this.rform,this.fnspec,this.fform,this.gfn,this.specs,b)}}(h),cljs.spec.alpha.t_cljs$spec$alpha29151.prototype.cljs$core$IMeta$_meta$arity$1=
function(a){return function(a){return this.meta29152}}(h),cljs.spec.alpha.t_cljs$spec$alpha29151.prototype.cljs$core$ILookup$_lookup$arity$2=function(a){return function(a,b){return cljs.core.get.call(null,this.specs,b)}}(h),cljs.spec.alpha.t_cljs$spec$alpha29151.prototype.cljs$core$ILookup$_lookup$arity$3=function(a){return function(a,b,c){return cljs.core.get.call(null,this.specs,b,c)}}(h),cljs.spec.alpha.t_cljs$spec$alpha29151.prototype.cljs$spec$alpha$Specize$=cljs.core.PROTOCOL_SENTINEL,cljs.spec.alpha.t_cljs$spec$alpha29151.prototype.cljs$spec$alpha$Specize$specize_STAR_$arity$1=
function(a){return function(a){return this}}(h),cljs.spec.alpha.t_cljs$spec$alpha29151.prototype.cljs$spec$alpha$Specize$specize_STAR_$arity$2=function(a){return function(a,b){return this}}(h),cljs.spec.alpha.t_cljs$spec$alpha29151.prototype.cljs$spec$alpha$Spec$=cljs.core.PROTOCOL_SENTINEL,cljs.spec.alpha.t_cljs$spec$alpha29151.prototype.cljs$spec$alpha$Spec$conform_STAR_$arity$2=function(a){return function(a,b){return cljs.core.ifn_QMARK_.call(null,b)?b===cljs.spec.alpha.validate_fn.call(null,b,
this.specs,cljs.spec.alpha._STAR_fspec_iterations_STAR_)?b:new cljs.core.Keyword("cljs.spec.alpha","invalid","cljs.spec.alpha/invalid",-1220295119):new cljs.core.Keyword("cljs.spec.alpha","invalid","cljs.spec.alpha/invalid",-1220295119)}}(h),cljs.spec.alpha.t_cljs$spec$alpha29151.prototype.cljs$spec$alpha$Spec$unform_STAR_$arity$2=function(a){return function(a,b){return b}}(h),cljs.spec.alpha.t_cljs$spec$alpha29151.prototype.cljs$spec$alpha$Spec$explain_STAR_$arity$5=function(a){return function(a,
b,c,d,e){if(cljs.core.ifn_QMARK_.call(null,e)){a=cljs.spec.alpha.validate_fn.call(null,e,this.specs,100);if(e===a)return null;try{var f=cljs.core.apply.call(null,e,a)}catch(u){if(u instanceof Error)f=u;else throw u;}if(f instanceof Error)return new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.PersistentArrayMap(null,6,[new cljs.core.Keyword(null,"path","path",-188191168),b,new cljs.core.Keyword(null,"pred","pred",1927423397),cljs.core.list(new cljs.core.Symbol(null,
"apply","apply",-1334050276,null),new cljs.core.Symbol(null,"fn","fn",465265323,null)),new cljs.core.Keyword(null,"val","val",128701612),a,new cljs.core.Keyword(null,"reason","reason",-2070751759),f.message,new cljs.core.Keyword(null,"via","via",-1904457336),c,new cljs.core.Keyword(null,"in","in",-1531184865),d],null)],null);e=cljs.spec.alpha.dt.call(null,this.retspec,f,this.rform);return cljs.spec.alpha.invalid_QMARK_.call(null,e)?cljs.spec.alpha.explain_1.call(null,this.rform,this.retspec,cljs.core.conj.call(null,
b,new cljs.core.Keyword(null,"ret","ret",-468222814)),c,d,f):cljs.core.truth_(this.fnspec)?(f=cljs.spec.alpha.conform.call(null,this.argspec,a),cljs.spec.alpha.explain_1.call(null,this.fform,this.fnspec,cljs.core.conj.call(null,b,new cljs.core.Keyword(null,"fn","fn",-1175266204)),c,d,new cljs.core.PersistentArrayMap(null,2,[new cljs.core.Keyword(null,"args","args",1315556576),f,new cljs.core.Keyword(null,"ret","ret",-468222814),e],null))):null}return new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,
[new cljs.core.PersistentArrayMap(null,5,[new cljs.core.Keyword(null,"path","path",-188191168),b,new cljs.core.Keyword(null,"pred","pred",1927423397),new cljs.core.Symbol(null,"ifn?","ifn?",-2106461064,null),new cljs.core.Keyword(null,"val","val",128701612),e,new cljs.core.Keyword(null,"via","via",-1904457336),c,new cljs.core.Keyword(null,"in","in",-1531184865),d],null)],null)}}(h),cljs.spec.alpha.t_cljs$spec$alpha29151.prototype.cljs$spec$alpha$Spec$gen_STAR_$arity$4=function(a){return function(b,
c,d,e){var f=this;return cljs.core.truth_(f.gfn)?f.gfn.call(null):cljs.spec.gen.alpha.return$.call(null,function(a,b){return function(){var d=function(d){if(!cljs.spec.alpha.pvalid_QMARK_.call(null,f.argspec,d))throw Error(["Assert failed: ",function(){var c=new goog.string.StringBuffer,e=cljs.core._STAR_print_newline_STAR_,g=cljs.core._STAR_print_fn_STAR_,h=function(a,b,c,d,e,f){return function(a){return d.append(a)}}(e,g,!0,c,a,b);cljs.core._STAR_print_newline_STAR_=!0;cljs.core._STAR_print_fn_STAR_=
h;try{cljs.spec.alpha.explain.call(null,f.argspec,d)}finally{cljs.core._STAR_print_fn_STAR_=g,cljs.core._STAR_print_newline_STAR_=e}return cljs.core.str.cljs$core$IFn$_invoke$arity$1(c)}(),"\n(pvalid? argspec args)"].join(""));return cljs.spec.gen.alpha.generate.call(null,cljs.spec.alpha.gen.call(null,f.retspec,c))},e=function(a){var b=null;if(0<arguments.length){b=0;for(var c=Array(arguments.length-0);b<c.length;)c[b]=arguments[b+0],++b;b=new cljs.core.IndexedSeq(c,0,null)}return d.call(this,b)};
e.cljs$lang$maxFixedArity=0;e.cljs$lang$applyTo=function(a){a=cljs.core.seq(a);return d(a)};e.cljs$core$IFn$_invoke$arity$variadic=d;return e}()}(this,a))}}(h),cljs.spec.alpha.t_cljs$spec$alpha29151.prototype.cljs$spec$alpha$Spec$with_gen_STAR_$arity$2=function(a){return function(a,b){return cljs.spec.alpha.fspec_impl.call(null,this.argspec,this.aform,this.retspec,this.rform,this.fnspec,this.fform,b)}}(h),cljs.spec.alpha.t_cljs$spec$alpha29151.prototype.cljs$spec$alpha$Spec$describe_STAR_$arity$1=
function(a){return function(a){return cljs.core.sequence.call(null,cljs.core.seq.call(null,cljs.core.concat.call(null,new cljs.core.List(null,new cljs.core.Symbol("cljs.spec.alpha","fspec","cljs.spec.alpha/fspec",-1289128341,null),null,1,null),new cljs.core.List(null,new cljs.core.Keyword(null,"args","args",1315556576),null,1,null),new cljs.core.List(null,this.aform,null,1,null),new cljs.core.List(null,new cljs.core.Keyword(null,"ret","ret",-468222814),null,1,null),new cljs.core.List(null,this.rform,
null,1,null),new cljs.core.List(null,new cljs.core.Keyword(null,"fn","fn",-1175266204),null,1,null),new cljs.core.List(null,this.fform,null,1,null))))}}(h),cljs.spec.alpha.t_cljs$spec$alpha29151.getBasis=function(a){return function(){return new cljs.core.PersistentVector(null,9,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"argspec","argspec",-1207762746,null),new cljs.core.Symbol(null,"aform","aform",531303525,null),new cljs.core.Symbol(null,"retspec","retspec",-920025354,null),
new cljs.core.Symbol(null,"rform","rform",-1420499912,null),new cljs.core.Symbol(null,"fnspec","fnspec",-1865712406,null),new cljs.core.Symbol(null,"fform","fform",-176049972,null),new cljs.core.Symbol(null,"gfn","gfn",-1862918295,null),new cljs.core.Symbol(null,"specs","specs",-1227865028,null),new cljs.core.Symbol(null,"meta29152","meta29152",-899265906,null)],null)}}(h),cljs.spec.alpha.t_cljs$spec$alpha29151.cljs$lang$type=!0,cljs.spec.alpha.t_cljs$spec$alpha29151.cljs$lang$ctorStr="cljs.spec.alpha/t_cljs$spec$alpha29151",
cljs.spec.alpha.t_cljs$spec$alpha29151.cljs$lang$ctorPrWriter=function(a){return function(a,b,c){return cljs.core._write.call(null,b,"cljs.spec.alpha/t_cljs$spec$alpha29151")}}(h),cljs.spec.alpha.__GT_t_cljs$spec$alpha29151=function(a){return function(a,b,c,d,e,f,g,h,k){return new cljs.spec.alpha.t_cljs$spec$alpha29151(a,b,c,d,e,f,g,h,k)}}(h);return new cljs.spec.alpha.t_cljs$spec$alpha29151(a,b,c,d,e,f,g,h,cljs.core.PersistentArrayMap.EMPTY)};
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("cljs.spec.alpha","kvs-\x3emap","cljs.spec.alpha/kvs-\x3emap",579713455),cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha","conformer","cljs.spec.alpha/conformer",2140085535,null),cljs.core.list(new cljs.core.Symbol(null,"fn*","fn*",-752876845,null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"p1__29170#","p1__29170#",-1519393753,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core",
"zipmap","cljs.core/zipmap",-1902130674,null),cljs.core.list(new cljs.core.Symbol("cljs.core","map","cljs.core/map",-338988913,null),new cljs.core.Keyword("cljs.spec.alpha","k","cljs.spec.alpha/k",-1602615178),new cljs.core.Symbol(null,"p1__29170#","p1__29170#",-1519393753,null)),cljs.core.list(new cljs.core.Symbol("cljs.core","map","cljs.core/map",-338988913,null),new cljs.core.Keyword("cljs.spec.alpha","v","cljs.spec.alpha/v",552625740),new cljs.core.Symbol(null,"p1__29170#","p1__29170#",-1519393753,
null)))),cljs.core.list(new cljs.core.Symbol(null,"fn*","fn*",-752876845,null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"p1__29171#","p1__29171#",2047347672,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core","map","cljs.core/map",-338988913,null),cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.PersistentVector(null,
2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"k","k",-505765866,null),new cljs.core.Symbol(null,"v","v",1661996586,null)],null)],null),new cljs.core.PersistentArrayMap(null,2,[new cljs.core.Keyword("cljs.spec.alpha","k","cljs.spec.alpha/k",-1602615178),new cljs.core.Symbol(null,"k","k",-505765866,null),new cljs.core.Keyword("cljs.spec.alpha","v","cljs.spec.alpha/v",552625740),new cljs.core.Symbol(null,"v","v",1661996586,null)],null)),new cljs.core.Symbol(null,"p1__29171#",
"p1__29171#",2047347672,null)))),cljs.spec.alpha.spec_impl.call(null,cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha","conformer","cljs.spec.alpha/conformer",2140085535,null),cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"%","%",-950237169,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core","zipmap","cljs.core/zipmap",-1902130674,null),cljs.core.list(new cljs.core.Symbol("cljs.core",
"map","cljs.core/map",-338988913,null),new cljs.core.Keyword("cljs.spec.alpha","k","cljs.spec.alpha/k",-1602615178),new cljs.core.Symbol(null,"%","%",-950237169,null)),cljs.core.list(new cljs.core.Symbol("cljs.core","map","cljs.core/map",-338988913,null),new cljs.core.Keyword("cljs.spec.alpha","v","cljs.spec.alpha/v",552625740),new cljs.core.Symbol(null,"%","%",-950237169,null)))),cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null,
1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"%","%",-950237169,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core","map","cljs.core/map",-338988913,null),cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"k","k",-505765866,null),new cljs.core.Symbol(null,
"v","v",1661996586,null)],null)],null),new cljs.core.PersistentArrayMap(null,2,[new cljs.core.Keyword("cljs.spec.alpha","k","cljs.spec.alpha/k",-1602615178),new cljs.core.Symbol(null,"k","k",-505765866,null),new cljs.core.Keyword("cljs.spec.alpha","v","cljs.spec.alpha/v",552625740),new cljs.core.Symbol(null,"v","v",1661996586,null)],null)),new cljs.core.Symbol(null,"%","%",-950237169,null)))),function(a){return cljs.core.zipmap.call(null,cljs.core.map.call(null,new cljs.core.Keyword("cljs.spec.alpha",
"k","cljs.spec.alpha/k",-1602615178),a),cljs.core.map.call(null,new cljs.core.Keyword("cljs.spec.alpha","v","cljs.spec.alpha/v",552625740),a))},null,!0,function(a){return cljs.core.map.call(null,function(a){var b=cljs.core.nth.call(null,a,0,null);a=cljs.core.nth.call(null,a,1,null);return new cljs.core.PersistentArrayMap(null,2,[new cljs.core.Keyword("cljs.spec.alpha","k","cljs.spec.alpha/k",-1602615178),b,new cljs.core.Keyword("cljs.spec.alpha","v","cljs.spec.alpha/v",552625740),a],null)},a)}));
cljs.spec.alpha.nonconforming=function(a){var b=new cljs.core.Delay(function(){return cljs.spec.alpha.specize.call(null,a)},null);if("undefined"===typeof cljs||"undefined"===typeof cljs.spec||"undefined"===typeof cljs.spec.alpha||"undefined"===typeof cljs.spec.alpha.t_cljs$spec$alpha29176)cljs.spec.alpha.t_cljs$spec$alpha29176=function(a,b){this.spec=a;this.meta29177=b;this.cljs$lang$protocol_mask$partition0$=393216;this.cljs$lang$protocol_mask$partition1$=0},cljs.spec.alpha.t_cljs$spec$alpha29176.prototype.cljs$core$IWithMeta$_with_meta$arity$2=
function(a){return function(a,b){return new cljs.spec.alpha.t_cljs$spec$alpha29176(this.spec,b)}}(b),cljs.spec.alpha.t_cljs$spec$alpha29176.prototype.cljs$core$IMeta$_meta$arity$1=function(a){return function(a){return this.meta29177}}(b),cljs.spec.alpha.t_cljs$spec$alpha29176.prototype.cljs$spec$alpha$Specize$=cljs.core.PROTOCOL_SENTINEL,cljs.spec.alpha.t_cljs$spec$alpha29176.prototype.cljs$spec$alpha$Specize$specize_STAR_$arity$1=function(a){return function(a){return this}}(b),cljs.spec.alpha.t_cljs$spec$alpha29176.prototype.cljs$spec$alpha$Specize$specize_STAR_$arity$2=
function(a){return function(a,b){return this}}(b),cljs.spec.alpha.t_cljs$spec$alpha29176.prototype.cljs$spec$alpha$Spec$=cljs.core.PROTOCOL_SENTINEL,cljs.spec.alpha.t_cljs$spec$alpha29176.prototype.cljs$spec$alpha$Spec$conform_STAR_$arity$2=function(a){return function(a,b){a=cljs.spec.alpha.conform_STAR_.call(null,cljs.core.deref.call(null,this.spec),b);return cljs.spec.alpha.invalid_QMARK_.call(null,a)?new cljs.core.Keyword("cljs.spec.alpha","invalid","cljs.spec.alpha/invalid",-1220295119):b}}(b),
cljs.spec.alpha.t_cljs$spec$alpha29176.prototype.cljs$spec$alpha$Spec$unform_STAR_$arity$2=function(a){return function(a,b){return cljs.spec.alpha.unform_STAR_.call(null,cljs.core.deref.call(null,this.spec),b)}}(b),cljs.spec.alpha.t_cljs$spec$alpha29176.prototype.cljs$spec$alpha$Spec$explain_STAR_$arity$5=function(a){return function(a,b,c,g,h){return cljs.spec.alpha.explain_STAR_.call(null,cljs.core.deref.call(null,this.spec),b,c,g,h)}}(b),cljs.spec.alpha.t_cljs$spec$alpha29176.prototype.cljs$spec$alpha$Spec$gen_STAR_$arity$4=
function(a){return function(a,b,c,g){return cljs.spec.alpha.gen_STAR_.call(null,cljs.core.deref.call(null,this.spec),b,c,g)}}(b),cljs.spec.alpha.t_cljs$spec$alpha29176.prototype.cljs$spec$alpha$Spec$with_gen_STAR_$arity$2=function(a){return function(a,b){return cljs.spec.alpha.nonconforming.call(null,cljs.spec.alpha.with_gen_STAR_.call(null,cljs.core.deref.call(null,this.spec),b))}}(b),cljs.spec.alpha.t_cljs$spec$alpha29176.prototype.cljs$spec$alpha$Spec$describe_STAR_$arity$1=function(a){return function(a){return cljs.core.sequence.call(null,
cljs.core.seq.call(null,cljs.core.concat.call(null,new cljs.core.List(null,new cljs.core.Symbol("cljs.spec.alpha","nonconforming","cljs.spec.alpha/nonconforming",-1009218508,null),null,1,null),new cljs.core.List(null,cljs.spec.alpha.describe_STAR_.call(null,cljs.core.deref.call(null,this.spec)),null,1,null))))}}(b),cljs.spec.alpha.t_cljs$spec$alpha29176.getBasis=function(a){return function(){return new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,
"spec","spec",1988051928,null),new cljs.core.Symbol(null,"meta29177","meta29177",-1772555369,null)],null)}}(b),cljs.spec.alpha.t_cljs$spec$alpha29176.cljs$lang$type=!0,cljs.spec.alpha.t_cljs$spec$alpha29176.cljs$lang$ctorStr="cljs.spec.alpha/t_cljs$spec$alpha29176",cljs.spec.alpha.t_cljs$spec$alpha29176.cljs$lang$ctorPrWriter=function(a){return function(a,b,c){return cljs.core._write.call(null,b,"cljs.spec.alpha/t_cljs$spec$alpha29176")}}(b),cljs.spec.alpha.__GT_t_cljs$spec$alpha29176=function(a){return function(a,
b){return new cljs.spec.alpha.t_cljs$spec$alpha29176(a,b)}}(b);return new cljs.spec.alpha.t_cljs$spec$alpha29176(b,cljs.core.PersistentArrayMap.EMPTY)};
cljs.spec.alpha.nilable_impl=function(a,b,c){var d=new cljs.core.Delay(function(){return cljs.spec.alpha.specize.call(null,b,a)},null);if("undefined"===typeof cljs||"undefined"===typeof cljs.spec||"undefined"===typeof cljs.spec.alpha||"undefined"===typeof cljs.spec.alpha.t_cljs$spec$alpha29179)cljs.spec.alpha.t_cljs$spec$alpha29179=function(a,b,c,d,k){this.form=a;this.pred=b;this.gfn=c;this.spec=d;this.meta29180=k;this.cljs$lang$protocol_mask$partition0$=393216;this.cljs$lang$protocol_mask$partition1$=
0},cljs.spec.alpha.t_cljs$spec$alpha29179.prototype.cljs$core$IWithMeta$_with_meta$arity$2=function(a){return function(a,b){return new cljs.spec.alpha.t_cljs$spec$alpha29179(this.form,this.pred,this.gfn,this.spec,b)}}(d),cljs.spec.alpha.t_cljs$spec$alpha29179.prototype.cljs$core$IMeta$_meta$arity$1=function(a){return function(a){return this.meta29180}}(d),cljs.spec.alpha.t_cljs$spec$alpha29179.prototype.cljs$spec$alpha$Specize$=cljs.core.PROTOCOL_SENTINEL,cljs.spec.alpha.t_cljs$spec$alpha29179.prototype.cljs$spec$alpha$Specize$specize_STAR_$arity$1=
function(a){return function(a){return this}}(d),cljs.spec.alpha.t_cljs$spec$alpha29179.prototype.cljs$spec$alpha$Specize$specize_STAR_$arity$2=function(a){return function(a,b){return this}}(d),cljs.spec.alpha.t_cljs$spec$alpha29179.prototype.cljs$spec$alpha$Spec$=cljs.core.PROTOCOL_SENTINEL,cljs.spec.alpha.t_cljs$spec$alpha29179.prototype.cljs$spec$alpha$Spec$conform_STAR_$arity$2=function(a){return function(a,b){return null==b?null:cljs.spec.alpha.conform_STAR_.call(null,cljs.core.deref.call(null,
this.spec),b)}}(d),cljs.spec.alpha.t_cljs$spec$alpha29179.prototype.cljs$spec$alpha$Spec$unform_STAR_$arity$2=function(a){return function(a,b){return null==b?null:cljs.spec.alpha.unform_STAR_.call(null,cljs.core.deref.call(null,this.spec),b)}}(d),cljs.spec.alpha.t_cljs$spec$alpha29179.prototype.cljs$spec$alpha$Spec$explain_STAR_$arity$5=function(a){return function(a,b,c,d,e){return cljs.spec.alpha.pvalid_QMARK_.call(null,cljs.core.deref.call(null,this.spec),e)||null==e?null:cljs.core.conj.call(null,
cljs.spec.alpha.explain_1.call(null,this.form,this.pred,cljs.core.conj.call(null,b,new cljs.core.Keyword("cljs.spec.alpha","pred","cljs.spec.alpha/pred",-798342594)),c,d,e),new cljs.core.PersistentArrayMap(null,5,[new cljs.core.Keyword(null,"path","path",-188191168),cljs.core.conj.call(null,b,new cljs.core.Keyword("cljs.spec.alpha","nil","cljs.spec.alpha/nil",1733813950)),new cljs.core.Keyword(null,"pred","pred",1927423397),new cljs.core.Symbol(null,"nil?","nil?",1612038930,null),new cljs.core.Keyword(null,
"val","val",128701612),e,new cljs.core.Keyword(null,"via","via",-1904457336),c,new cljs.core.Keyword(null,"in","in",-1531184865),d],null))}}(d),cljs.spec.alpha.t_cljs$spec$alpha29179.prototype.cljs$spec$alpha$Spec$gen_STAR_$arity$4=function(a){return function(b,c,d,e){var f=this;return cljs.core.truth_(f.gfn)?f.gfn.call(null):cljs.spec.gen.alpha.frequency.call(null,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,
[1,cljs.spec.gen.alpha.delay_impl.call(null,new cljs.core.Delay(function(a,b){return function(){return cljs.spec.gen.alpha.return$.call(null,null)}}(this,a),null))],null),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[9,cljs.spec.gen.alpha.delay_impl.call(null,new cljs.core.Delay(function(a,b){return function(){return cljs.spec.alpha.gensub.call(null,f.pred,c,cljs.core.conj.call(null,d,new cljs.core.Keyword("cljs.spec.alpha","pred","cljs.spec.alpha/pred",-798342594)),
e,f.form)}}(this,a),null))],null)],null))}}(d),cljs.spec.alpha.t_cljs$spec$alpha29179.prototype.cljs$spec$alpha$Spec$with_gen_STAR_$arity$2=function(a){return function(a,b){return cljs.spec.alpha.nilable_impl.call(null,this.form,this.pred,b)}}(d),cljs.spec.alpha.t_cljs$spec$alpha29179.prototype.cljs$spec$alpha$Spec$describe_STAR_$arity$1=function(a){return function(a){return cljs.core.sequence.call(null,cljs.core.seq.call(null,cljs.core.concat.call(null,new cljs.core.List(null,new cljs.core.Symbol("cljs.spec.alpha",
"nilable","cljs.spec.alpha/nilable",1628308748,null),null,1,null),new cljs.core.List(null,this.form,null,1,null))))}}(d),cljs.spec.alpha.t_cljs$spec$alpha29179.getBasis=function(a){return function(){return new cljs.core.PersistentVector(null,5,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"form","form",16469056,null),new cljs.core.Symbol(null,"pred","pred",-727012372,null),new cljs.core.Symbol(null,"gfn","gfn",-1862918295,null),new cljs.core.Symbol(null,"spec","spec",1988051928,
null),new cljs.core.Symbol(null,"meta29180","meta29180",2013276251,null)],null)}}(d),cljs.spec.alpha.t_cljs$spec$alpha29179.cljs$lang$type=!0,cljs.spec.alpha.t_cljs$spec$alpha29179.cljs$lang$ctorStr="cljs.spec.alpha/t_cljs$spec$alpha29179",cljs.spec.alpha.t_cljs$spec$alpha29179.cljs$lang$ctorPrWriter=function(a){return function(a,b,c){return cljs.core._write.call(null,b,"cljs.spec.alpha/t_cljs$spec$alpha29179")}}(d),cljs.spec.alpha.__GT_t_cljs$spec$alpha29179=function(a){return function(a,b,c,d,e){return new cljs.spec.alpha.t_cljs$spec$alpha29179(a,
b,c,d,e)}}(d);return new cljs.spec.alpha.t_cljs$spec$alpha29179(a,b,c,d,cljs.core.PersistentArrayMap.EMPTY)};
cljs.spec.alpha.exercise=function(a){switch(arguments.length){case 1:return cljs.spec.alpha.exercise.cljs$core$IFn$_invoke$arity$1(arguments[0]);case 2:return cljs.spec.alpha.exercise.cljs$core$IFn$_invoke$arity$2(arguments[0],arguments[1]);case 3:return cljs.spec.alpha.exercise.cljs$core$IFn$_invoke$arity$3(arguments[0],arguments[1],arguments[2]);default:throw Error(["Invalid arity: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(""));}};
cljs.spec.alpha.exercise.cljs$core$IFn$_invoke$arity$1=function(a){return cljs.spec.alpha.exercise.call(null,a,10)};cljs.spec.alpha.exercise.cljs$core$IFn$_invoke$arity$2=function(a,b){return cljs.spec.alpha.exercise.call(null,a,b,null)};
cljs.spec.alpha.exercise.cljs$core$IFn$_invoke$arity$3=function(a,b,c){return cljs.core.map.call(null,function(b){return new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[b,cljs.spec.alpha.conform.call(null,a,b)],null)},cljs.spec.gen.alpha.sample.call(null,cljs.spec.alpha.gen.call(null,a,c),b))};cljs.spec.alpha.exercise.cljs$lang$maxFixedArity=3;
cljs.spec.alpha.inst_in_range_QMARK_=function(a,b,c){var d=cljs.core.inst_QMARK_.call(null,c);return d?(c=cljs.core.inst_ms.call(null,c),cljs.core.inst_ms.call(null,a)<=c&&c<cljs.core.inst_ms.call(null,b)):d};cljs.spec.alpha.int_in_range_QMARK_=function(a,b,c){return cljs.core.integer_QMARK_.call(null,c)?a<=c&&c<b:c instanceof goog.math.Long||c instanceof goog.math.Integer?(a=a.lessThanOrEqual(c),cljs.core.truth_(a)?c.lessThan(b):a):!1};
if("undefined"===typeof cljs||"undefined"===typeof cljs.spec||"undefined"===typeof cljs.spec.alpha||"undefined"===typeof cljs.spec.alpha._STAR_compile_asserts_STAR_)cljs.spec.alpha._STAR_compile_asserts_STAR_=!0;if("undefined"===typeof cljs||"undefined"===typeof cljs.spec||"undefined"===typeof cljs.spec.alpha||"undefined"===typeof cljs.spec.alpha._STAR_runtime_asserts_STAR_)cljs.spec.alpha._STAR_runtime_asserts_STAR_=!1;cljs.spec.alpha.check_asserts_QMARK_=function(){return cljs.spec.alpha._STAR_runtime_asserts_STAR_};
cljs.spec.alpha.check_asserts=function(a){return cljs.spec.alpha._STAR_runtime_asserts_STAR_=a};
cljs.spec.alpha.assert_STAR_=function(a,b){if(cljs.spec.alpha.valid_QMARK_.call(null,a,b))return b;var c=cljs.core.merge.call(null,cljs.core.assoc.call(null,cljs.spec.alpha.explain_data_STAR_.call(null,a,cljs.core.PersistentVector.EMPTY,cljs.core.PersistentVector.EMPTY,cljs.core.PersistentVector.EMPTY,b),new cljs.core.Keyword("cljs.spec.alpha","failure","cljs.spec.alpha/failure",188258592),new cljs.core.Keyword(null,"assertion-failed","assertion-failed",-970534477)));throw Error(["Spec assertion failed\n",
function(){var a=new goog.string.StringBuffer,b=cljs.core._STAR_print_newline_STAR_,f=cljs.core._STAR_print_fn_STAR_,g=function(a,b,c,d,e){return function(a){return d.append(a)}}(b,f,!0,a,c);cljs.core._STAR_print_newline_STAR_=!0;cljs.core._STAR_print_fn_STAR_=g;try{cljs.spec.alpha.explain_out.call(null,c)}finally{cljs.core._STAR_print_fn_STAR_=f,cljs.core._STAR_print_newline_STAR_=b}return cljs.core.str.cljs$core$IFn$_invoke$arity$1(a)}()].join(""));};weathergen.falcon.files.mission.Todo=cljs.core.constantly.call(null,!1);
weathergen.falcon.files.mission.NonNegativeInt=cljs.spec.alpha.and_spec_impl.call(null,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null),cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"%","%",-950237169,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core",
"\x3c\x3d","cljs.core/\x3c\x3d",1677001748,null),0,new cljs.core.Symbol(null,"%","%",-950237169,null)))],null),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[cljs.core.integer_QMARK_,function(a){return 0<=a}],null),null);weathergen.falcon.files.mission.Path=cljs.core.string_QMARK_;weathergen.falcon.files.mission.Dir=cljs.core.string_QMARK_;
weathergen.falcon.files.mission.NotImplemented=new cljs.core.PersistentHashSet(null,new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"not-yet-implemented","not-yet-implemented",354832030),null],null),null);
weathergen.falcon.files.mission.VuId=cljs.spec.alpha.map_spec_impl.call(null,cljs.core.PersistentHashMap.fromArrays([new cljs.core.Keyword(null,"req-un","req-un",1074571008),new cljs.core.Keyword(null,"opt-un","opt-un",883442496),new cljs.core.Keyword(null,"gfn","gfn",791517474),new cljs.core.Keyword(null,"pred-exprs","pred-exprs",1792271395),new cljs.core.Keyword(null,"keys-pred","keys-pred",858984739),new cljs.core.Keyword(null,"opt-keys","opt-keys",1262688261),new cljs.core.Keyword(null,"req-specs",
"req-specs",553962313),new cljs.core.Keyword(null,"req","req",-326448303),new cljs.core.Keyword(null,"req-keys","req-keys",514319221),new cljs.core.Keyword(null,"opt-specs","opt-specs",-384905450),new cljs.core.Keyword(null,"pred-forms","pred-forms",172611832),new cljs.core.Keyword(null,"opt","opt",-794706369)],[new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword("int","name","int/name",1843783706),new cljs.core.Keyword("weathergen.falcon.files.mission",
"creator","weathergen.falcon.files.mission/creator",1711456010)],null),null,null,new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,[function(a){return cljs.core.map_QMARK_.call(null,a)},function(a){return cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"name","name",1843675177))},function(a){return cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"creator","creator",-1069241724))}],null),function(a){return cljs.core.map_QMARK_.call(null,
a)&&cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"name","name",1843675177))&&cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"creator","creator",-1069241724))},cljs.core.PersistentVector.EMPTY,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword("int","name","int/name",1843783706),new cljs.core.Keyword("weathergen.falcon.files.mission","creator","weathergen.falcon.files.mission/creator",1711456010)],null),null,new cljs.core.PersistentVector(null,
2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"name","name",1843675177),new cljs.core.Keyword(null,"creator","creator",-1069241724)],null),cljs.core.PersistentVector.EMPTY,new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,[cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"%","%",-950237169,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core",
"map?","cljs.core/map?",-1390345523,null),new cljs.core.Symbol(null,"%","%",-950237169,null))),cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"%","%",-950237169,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core","contains?","cljs.core/contains?",-976526835,null),new cljs.core.Symbol(null,"%","%",-950237169,null),new cljs.core.Keyword(null,"name",
"name",1843675177))),cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"%","%",-950237169,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core","contains?","cljs.core/contains?",-976526835,null),new cljs.core.Symbol(null,"%","%",-950237169,null),new cljs.core.Keyword(null,"creator","creator",-1069241724)))],null),null]));
weathergen.falcon.files.mission.Vector3=cljs.spec.alpha.map_spec_impl.call(null,cljs.core.PersistentHashMap.fromArrays([new cljs.core.Keyword(null,"req-un","req-un",1074571008),new cljs.core.Keyword(null,"opt-un","opt-un",883442496),new cljs.core.Keyword(null,"gfn","gfn",791517474),new cljs.core.Keyword(null,"pred-exprs","pred-exprs",1792271395),new cljs.core.Keyword(null,"keys-pred","keys-pred",858984739),new cljs.core.Keyword(null,"opt-keys","opt-keys",1262688261),new cljs.core.Keyword(null,"req-specs",
"req-specs",553962313),new cljs.core.Keyword(null,"req","req",-326448303),new cljs.core.Keyword(null,"req-keys","req-keys",514319221),new cljs.core.Keyword(null,"opt-specs","opt-specs",-384905450),new cljs.core.Keyword(null,"pred-forms","pred-forms",172611832),new cljs.core.Keyword(null,"opt","opt",-794706369)],[new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword("weathergen.falcon.files.mission","x","weathergen.falcon.files.mission/x",-773377357),
new cljs.core.Keyword("weathergen.falcon.files.mission","y","weathergen.falcon.files.mission/y",-1199341078),new cljs.core.Keyword("weathergen.falcon.files.mission","z","weathergen.falcon.files.mission/z",908766951)],null),null,null,new cljs.core.PersistentVector(null,4,5,cljs.core.PersistentVector.EMPTY_NODE,[function(a){return cljs.core.map_QMARK_.call(null,a)},function(a){return cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"x","x",2099068185))},function(a){return cljs.core.contains_QMARK_.call(null,
a,new cljs.core.Keyword(null,"y","y",-1757859776))},function(a){return cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"z","z",-789527183))}],null),function(a){return cljs.core.map_QMARK_.call(null,a)&&cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"x","x",2099068185))&&cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"y","y",-1757859776))&&cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"z","z",-789527183))},cljs.core.PersistentVector.EMPTY,
new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword("weathergen.falcon.files.mission","x","weathergen.falcon.files.mission/x",-773377357),new cljs.core.Keyword("weathergen.falcon.files.mission","y","weathergen.falcon.files.mission/y",-1199341078),new cljs.core.Keyword("weathergen.falcon.files.mission","z","weathergen.falcon.files.mission/z",908766951)],null),null,new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,
"x","x",2099068185),new cljs.core.Keyword(null,"y","y",-1757859776),new cljs.core.Keyword(null,"z","z",-789527183)],null),cljs.core.PersistentVector.EMPTY,new cljs.core.PersistentVector(null,4,5,cljs.core.PersistentVector.EMPTY_NODE,[cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"%","%",-950237169,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core",
"map?","cljs.core/map?",-1390345523,null),new cljs.core.Symbol(null,"%","%",-950237169,null))),cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"%","%",-950237169,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core","contains?","cljs.core/contains?",-976526835,null),new cljs.core.Symbol(null,"%","%",-950237169,null),new cljs.core.Keyword(null,"x","x",
2099068185))),cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"%","%",-950237169,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core","contains?","cljs.core/contains?",-976526835,null),new cljs.core.Symbol(null,"%","%",-950237169,null),new cljs.core.Keyword(null,"y","y",-1757859776))),cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",
-1065745098,null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"%","%",-950237169,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core","contains?","cljs.core/contains?",-976526835,null),new cljs.core.Symbol(null,"%","%",-950237169,null),new cljs.core.Keyword(null,"z","z",-789527183)))],null),null]));
weathergen.falcon.files.mission.CampaignTime=cljs.spec.alpha.map_spec_impl.call(null,cljs.core.PersistentHashMap.fromArrays([new cljs.core.Keyword(null,"req-un","req-un",1074571008),new cljs.core.Keyword(null,"opt-un","opt-un",883442496),new cljs.core.Keyword(null,"gfn","gfn",791517474),new cljs.core.Keyword(null,"pred-exprs","pred-exprs",1792271395),new cljs.core.Keyword(null,"keys-pred","keys-pred",858984739),new cljs.core.Keyword(null,"opt-keys","opt-keys",1262688261),new cljs.core.Keyword(null,
"req-specs","req-specs",553962313),new cljs.core.Keyword(null,"req","req",-326448303),new cljs.core.Keyword(null,"req-keys","req-keys",514319221),new cljs.core.Keyword(null,"opt-specs","opt-specs",-384905450),new cljs.core.Keyword(null,"pred-forms","pred-forms",172611832),new cljs.core.Keyword(null,"opt","opt",-794706369)],[new cljs.core.PersistentVector(null,5,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword("weathergen.falcon.files.mission","day","weathergen.falcon.files.mission/day",
-1704629128),new cljs.core.Keyword("weathergen.falcon.files.mission","hour","weathergen.falcon.files.mission/hour",-1046940500),new cljs.core.Keyword("weathergen.falcon.files.mission","minute","weathergen.falcon.files.mission/minute",880078185),new cljs.core.Keyword("weathergen.falcon.files.mission","second","weathergen.falcon.files.mission/second",2018499904),new cljs.core.Keyword("weathergen.falcon.files.mission","millisecond","weathergen.falcon.files.mission/millisecond",-2128287792)],null),null,
null,new cljs.core.PersistentVector(null,6,5,cljs.core.PersistentVector.EMPTY_NODE,[function(a){return cljs.core.map_QMARK_.call(null,a)},function(a){return cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"day","day",-274800446))},function(a){return cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"hour","hour",-555989214))},function(a){return cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"minute","minute",-642875969))},function(a){return cljs.core.contains_QMARK_.call(null,
a,new cljs.core.Keyword(null,"second","second",-444702010))},function(a){return cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"millisecond","millisecond",-540123566))}],null),function(a){return cljs.core.map_QMARK_.call(null,a)&&cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"day","day",-274800446))&&cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"hour","hour",-555989214))&&cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"minute",
"minute",-642875969))&&cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"second","second",-444702010))&&cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"millisecond","millisecond",-540123566))},cljs.core.PersistentVector.EMPTY,new cljs.core.PersistentVector(null,5,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword("weathergen.falcon.files.mission","day","weathergen.falcon.files.mission/day",-1704629128),new cljs.core.Keyword("weathergen.falcon.files.mission",
"hour","weathergen.falcon.files.mission/hour",-1046940500),new cljs.core.Keyword("weathergen.falcon.files.mission","minute","weathergen.falcon.files.mission/minute",880078185),new cljs.core.Keyword("weathergen.falcon.files.mission","second","weathergen.falcon.files.mission/second",2018499904),new cljs.core.Keyword("weathergen.falcon.files.mission","millisecond","weathergen.falcon.files.mission/millisecond",-2128287792)],null),null,new cljs.core.PersistentVector(null,5,5,cljs.core.PersistentVector.EMPTY_NODE,
[new cljs.core.Keyword(null,"day","day",-274800446),new cljs.core.Keyword(null,"hour","hour",-555989214),new cljs.core.Keyword(null,"minute","minute",-642875969),new cljs.core.Keyword(null,"second","second",-444702010),new cljs.core.Keyword(null,"millisecond","millisecond",-540123566)],null),cljs.core.PersistentVector.EMPTY,new cljs.core.PersistentVector(null,6,5,cljs.core.PersistentVector.EMPTY_NODE,[cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null,
1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"%","%",-950237169,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core","map?","cljs.core/map?",-1390345523,null),new cljs.core.Symbol(null,"%","%",-950237169,null))),cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"%","%",-950237169,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core",
"contains?","cljs.core/contains?",-976526835,null),new cljs.core.Symbol(null,"%","%",-950237169,null),new cljs.core.Keyword(null,"day","day",-274800446))),cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"%","%",-950237169,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core","contains?","cljs.core/contains?",-976526835,null),new cljs.core.Symbol(null,
"%","%",-950237169,null),new cljs.core.Keyword(null,"hour","hour",-555989214))),cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"%","%",-950237169,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core","contains?","cljs.core/contains?",-976526835,null),new cljs.core.Symbol(null,"%","%",-950237169,null),new cljs.core.Keyword(null,"minute","minute",-642875969))),
cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"%","%",-950237169,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core","contains?","cljs.core/contains?",-976526835,null),new cljs.core.Symbol(null,"%","%",-950237169,null),new cljs.core.Keyword(null,"second","second",-444702010))),cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,
null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"%","%",-950237169,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core","contains?","cljs.core/contains?",-976526835,null),new cljs.core.Symbol(null,"%","%",-950237169,null),new cljs.core.Keyword(null,"millisecond","millisecond",-540123566)))],null),null]));
weathergen.falcon.files.mission.ImageDescriptor=cljs.spec.alpha.map_spec_impl.call(null,cljs.core.PersistentHashMap.fromArrays([new cljs.core.Keyword(null,"req-un","req-un",1074571008),new cljs.core.Keyword(null,"opt-un","opt-un",883442496),new cljs.core.Keyword(null,"gfn","gfn",791517474),new cljs.core.Keyword(null,"pred-exprs","pred-exprs",1792271395),new cljs.core.Keyword(null,"keys-pred","keys-pred",858984739),new cljs.core.Keyword(null,"opt-keys","opt-keys",1262688261),new cljs.core.Keyword(null,
"req-specs","req-specs",553962313),new cljs.core.Keyword(null,"req","req",-326448303),new cljs.core.Keyword(null,"req-keys","req-keys",514319221),new cljs.core.Keyword(null,"opt-specs","opt-specs",-384905450),new cljs.core.Keyword(null,"pred-forms","pred-forms",172611832),new cljs.core.Keyword(null,"opt","opt",-794706369)],[new cljs.core.PersistentVector(null,9,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword("weathergen.falcon.files.mission","art-dir","weathergen.falcon.files.mission/art-dir",
-1496408552),new cljs.core.Keyword("weathergen.falcon.files.mission","base","weathergen.falcon.files.mission/base",525716432),new cljs.core.Keyword("weathergen.falcon.files.mission","idx-modified","weathergen.falcon.files.mission/idx-modified",-353031638),new cljs.core.Keyword("weathergen.falcon.files.mission","idx-size","weathergen.falcon.files.mission/idx-size",117504199),new cljs.core.Keyword("weathergen.falcon.files.mission","image-data","weathergen.falcon.files.mission/image-data",1305050248),
new cljs.core.Keyword("weathergen.falcon.files.mission","image-id","weathergen.falcon.files.mission/image-id",1748867389),new cljs.core.Keyword("weathergen.falcon.files.mission","resource","weathergen.falcon.files.mission/resource",-1321650618),new cljs.core.Keyword("weathergen.falcon.files.mission","rsc-modified","weathergen.falcon.files.mission/rsc-modified",-1672759696),new cljs.core.Keyword("weathergen.falcon.files.mission","rsc-size","weathergen.falcon.files.mission/rsc-size",2061102923)],null),
null,null,new cljs.core.PersistentVector(null,10,5,cljs.core.PersistentVector.EMPTY_NODE,[function(a){return cljs.core.map_QMARK_.call(null,a)},function(a){return cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"art-dir","art-dir",67381390))},function(a){return cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"base","base",185279322))},function(a){return cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"idx-modified","idx-modified",-1917929304))},function(a){return cljs.core.contains_QMARK_.call(null,
a,new cljs.core.Keyword(null,"idx-size","idx-size",893862481))},function(a){return cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"image-data","image-data",-377483758))},function(a){return cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"image-id","image-id",-988480565))},function(a){return cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"resource","resource",251898836))},function(a){return cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,
"rsc-modified","rsc-modified",-250537226))},function(a){return cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"rsc-size","rsc-size",-568560687))}],null),function(a){return cljs.core.map_QMARK_.call(null,a)&&cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"art-dir","art-dir",67381390))&&cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"base","base",185279322))&&cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"idx-modified","idx-modified",
-1917929304))&&cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"idx-size","idx-size",893862481))&&cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"image-data","image-data",-377483758))&&cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"image-id","image-id",-988480565))&&cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"resource","resource",251898836))&&cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"rsc-modified",
"rsc-modified",-250537226))&&cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"rsc-size","rsc-size",-568560687))},cljs.core.PersistentVector.EMPTY,new cljs.core.PersistentVector(null,9,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword("weathergen.falcon.files.mission","art-dir","weathergen.falcon.files.mission/art-dir",-1496408552),new cljs.core.Keyword("weathergen.falcon.files.mission","base","weathergen.falcon.files.mission/base",525716432),new cljs.core.Keyword("weathergen.falcon.files.mission",
"idx-modified","weathergen.falcon.files.mission/idx-modified",-353031638),new cljs.core.Keyword("weathergen.falcon.files.mission","idx-size","weathergen.falcon.files.mission/idx-size",117504199),new cljs.core.Keyword("weathergen.falcon.files.mission","image-data","weathergen.falcon.files.mission/image-data",1305050248),new cljs.core.Keyword("weathergen.falcon.files.mission","image-id","weathergen.falcon.files.mission/image-id",1748867389),new cljs.core.Keyword("weathergen.falcon.files.mission","resource",
"weathergen.falcon.files.mission/resource",-1321650618),new cljs.core.Keyword("weathergen.falcon.files.mission","rsc-modified","weathergen.falcon.files.mission/rsc-modified",-1672759696),new cljs.core.Keyword("weathergen.falcon.files.mission","rsc-size","weathergen.falcon.files.mission/rsc-size",2061102923)],null),null,new cljs.core.PersistentVector(null,9,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"art-dir","art-dir",67381390),new cljs.core.Keyword(null,"base","base",185279322),
new cljs.core.Keyword(null,"idx-modified","idx-modified",-1917929304),new cljs.core.Keyword(null,"idx-size","idx-size",893862481),new cljs.core.Keyword(null,"image-data","image-data",-377483758),new cljs.core.Keyword(null,"image-id","image-id",-988480565),new cljs.core.Keyword(null,"resource","resource",251898836),new cljs.core.Keyword(null,"rsc-modified","rsc-modified",-250537226),new cljs.core.Keyword(null,"rsc-size","rsc-size",-568560687)],null),cljs.core.PersistentVector.EMPTY,new cljs.core.PersistentVector(null,
10,5,cljs.core.PersistentVector.EMPTY_NODE,[cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"%","%",-950237169,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core","map?","cljs.core/map?",-1390345523,null),new cljs.core.Symbol(null,"%","%",-950237169,null))),cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null,
1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"%","%",-950237169,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core","contains?","cljs.core/contains?",-976526835,null),new cljs.core.Symbol(null,"%","%",-950237169,null),new cljs.core.Keyword(null,"art-dir","art-dir",67381390))),cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,
"%","%",-950237169,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core","contains?","cljs.core/contains?",-976526835,null),new cljs.core.Symbol(null,"%","%",-950237169,null),new cljs.core.Keyword(null,"base","base",185279322))),cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"%","%",-950237169,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core",
"contains?","cljs.core/contains?",-976526835,null),new cljs.core.Symbol(null,"%","%",-950237169,null),new cljs.core.Keyword(null,"idx-modified","idx-modified",-1917929304))),cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"%","%",-950237169,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core","contains?","cljs.core/contains?",-976526835,null),new cljs.core.Symbol(null,
"%","%",-950237169,null),new cljs.core.Keyword(null,"idx-size","idx-size",893862481))),cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"%","%",-950237169,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core","contains?","cljs.core/contains?",-976526835,null),new cljs.core.Symbol(null,"%","%",-950237169,null),new cljs.core.Keyword(null,"image-data","image-data",
-377483758))),cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"%","%",-950237169,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core","contains?","cljs.core/contains?",-976526835,null),new cljs.core.Symbol(null,"%","%",-950237169,null),new cljs.core.Keyword(null,"image-id","image-id",-988480565))),cljs.core.list(new cljs.core.Symbol("cljs.core","fn",
"cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"%","%",-950237169,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core","contains?","cljs.core/contains?",-976526835,null),new cljs.core.Symbol(null,"%","%",-950237169,null),new cljs.core.Keyword(null,"resource","resource",251898836))),cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null,
1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"%","%",-950237169,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core","contains?","cljs.core/contains?",-976526835,null),new cljs.core.Symbol(null,"%","%",-950237169,null),new cljs.core.Keyword(null,"rsc-modified","rsc-modified",-250537226))),cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,
"%","%",-950237169,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core","contains?","cljs.core/contains?",-976526835,null),new cljs.core.Symbol(null,"%","%",-950237169,null),new cljs.core.Keyword(null,"rsc-size","rsc-size",-568560687)))],null),null]));
weathergen.falcon.files.mission.ImageData=cljs.spec.alpha.map_spec_impl.call(null,cljs.core.PersistentHashMap.fromArrays([new cljs.core.Keyword(null,"req-un","req-un",1074571008),new cljs.core.Keyword(null,"opt-un","opt-un",883442496),new cljs.core.Keyword(null,"gfn","gfn",791517474),new cljs.core.Keyword(null,"pred-exprs","pred-exprs",1792271395),new cljs.core.Keyword(null,"keys-pred","keys-pred",858984739),new cljs.core.Keyword(null,"opt-keys","opt-keys",1262688261),new cljs.core.Keyword(null,"req-specs",
"req-specs",553962313),new cljs.core.Keyword(null,"req","req",-326448303),new cljs.core.Keyword(null,"req-keys","req-keys",514319221),new cljs.core.Keyword(null,"opt-specs","opt-specs",-384905450),new cljs.core.Keyword(null,"pred-forms","pred-forms",172611832),new cljs.core.Keyword(null,"opt","opt",-794706369)],[new cljs.core.PersistentVector(null,8,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword("weathergen.falcon.files.mission","type","weathergen.falcon.files.mission/type",-1571457242),
new cljs.core.Keyword("weathergen.falcon.files.images","id","weathergen.falcon.files.images/id",-1163388806),new cljs.core.Keyword("weathergen.falcon.files.mission","flags","weathergen.falcon.files.mission/flags",-965167503),new cljs.core.Keyword("weathergen.falcon.files.mission","center","weathergen.falcon.files.mission/center",1209696646),new cljs.core.Keyword("weathergen.falcon.files.mission","size","weathergen.falcon.files.mission/size",-498942187),new cljs.core.Keyword("weathergen.falcon.files.mission",
"image-offset","weathergen.falcon.files.mission/image-offset",800625690),new cljs.core.Keyword("weathergen.falcon.files.mission","palette-size","weathergen.falcon.files.mission/palette-size",-119714576),new cljs.core.Keyword("weathergen.falcon.files.mission","palette-offset","weathergen.falcon.files.mission/palette-offset",-859290369)],null),null,null,new cljs.core.PersistentVector(null,9,5,cljs.core.PersistentVector.EMPTY_NODE,[function(a){return cljs.core.map_QMARK_.call(null,a)},function(a){return cljs.core.contains_QMARK_.call(null,
a,new cljs.core.Keyword(null,"type","type",1174270348))},function(a){return cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"id","id",-1388402092))},function(a){return cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"flags","flags",1775418075))},function(a){return cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"center","center",-748944368))},function(a){return cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"size","size",1098693007))},
function(a){return cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"image-offset","image-offset",-1802347612))},function(a){return cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"palette-size","palette-size",-995698822))},function(a){return cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"palette-offset","palette-offset",1376573573))}],null),function(a){return cljs.core.map_QMARK_.call(null,a)&&cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,
"type","type",1174270348))&&cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"id","id",-1388402092))&&cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"flags","flags",1775418075))&&cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"center","center",-748944368))&&cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"size","size",1098693007))&&cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"image-offset","image-offset",-1802347612))&&
cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"palette-size","palette-size",-995698822))&&cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"palette-offset","palette-offset",1376573573))},cljs.core.PersistentVector.EMPTY,new cljs.core.PersistentVector(null,8,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword("weathergen.falcon.files.mission","type","weathergen.falcon.files.mission/type",-1571457242),new cljs.core.Keyword("weathergen.falcon.files.images",
"id","weathergen.falcon.files.images/id",-1163388806),new cljs.core.Keyword("weathergen.falcon.files.mission","flags","weathergen.falcon.files.mission/flags",-965167503),new cljs.core.Keyword("weathergen.falcon.files.mission","center","weathergen.falcon.files.mission/center",1209696646),new cljs.core.Keyword("weathergen.falcon.files.mission","size","weathergen.falcon.files.mission/size",-498942187),new cljs.core.Keyword("weathergen.falcon.files.mission","image-offset","weathergen.falcon.files.mission/image-offset",
800625690),new cljs.core.Keyword("weathergen.falcon.files.mission","palette-size","weathergen.falcon.files.mission/palette-size",-119714576),new cljs.core.Keyword("weathergen.falcon.files.mission","palette-offset","weathergen.falcon.files.mission/palette-offset",-859290369)],null),null,new cljs.core.PersistentVector(null,8,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"type","type",1174270348),new cljs.core.Keyword(null,"id","id",-1388402092),new cljs.core.Keyword(null,"flags",
"flags",1775418075),new cljs.core.Keyword(null,"center","center",-748944368),new cljs.core.Keyword(null,"size","size",1098693007),new cljs.core.Keyword(null,"image-offset","image-offset",-1802347612),new cljs.core.Keyword(null,"palette-size","palette-size",-995698822),new cljs.core.Keyword(null,"palette-offset","palette-offset",1376573573)],null),cljs.core.PersistentVector.EMPTY,new cljs.core.PersistentVector(null,9,5,cljs.core.PersistentVector.EMPTY_NODE,[cljs.core.list(new cljs.core.Symbol("cljs.core",
"fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"%","%",-950237169,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core","map?","cljs.core/map?",-1390345523,null),new cljs.core.Symbol(null,"%","%",-950237169,null))),cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,
"%","%",-950237169,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core","contains?","cljs.core/contains?",-976526835,null),new cljs.core.Symbol(null,"%","%",-950237169,null),new cljs.core.Keyword(null,"type","type",1174270348))),cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"%","%",-950237169,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core",
"contains?","cljs.core/contains?",-976526835,null),new cljs.core.Symbol(null,"%","%",-950237169,null),new cljs.core.Keyword(null,"id","id",-1388402092))),cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"%","%",-950237169,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core","contains?","cljs.core/contains?",-976526835,null),new cljs.core.Symbol(null,
"%","%",-950237169,null),new cljs.core.Keyword(null,"flags","flags",1775418075))),cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"%","%",-950237169,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core","contains?","cljs.core/contains?",-976526835,null),new cljs.core.Symbol(null,"%","%",-950237169,null),new cljs.core.Keyword(null,"center","center",-748944368))),
cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"%","%",-950237169,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core","contains?","cljs.core/contains?",-976526835,null),new cljs.core.Symbol(null,"%","%",-950237169,null),new cljs.core.Keyword(null,"size","size",1098693007))),cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,
null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"%","%",-950237169,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core","contains?","cljs.core/contains?",-976526835,null),new cljs.core.Symbol(null,"%","%",-950237169,null),new cljs.core.Keyword(null,"image-offset","image-offset",-1802347612))),cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,
[new cljs.core.Symbol(null,"%","%",-950237169,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core","contains?","cljs.core/contains?",-976526835,null),new cljs.core.Symbol(null,"%","%",-950237169,null),new cljs.core.Keyword(null,"palette-size","palette-size",-995698822))),cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"%","%",-950237169,null)],null),
cljs.core.list(new cljs.core.Symbol("cljs.core","contains?","cljs.core/contains?",-976526835,null),new cljs.core.Symbol(null,"%","%",-950237169,null),new cljs.core.Keyword(null,"palette-offset","palette-offset",1376573573)))],null),null]));
weathergen.falcon.files.mission.CampaignBaseFields=cljs.spec.alpha.map_spec_impl.call(null,cljs.core.PersistentHashMap.fromArrays([new cljs.core.Keyword(null,"req-un","req-un",1074571008),new cljs.core.Keyword(null,"opt-un","opt-un",883442496),new cljs.core.Keyword(null,"gfn","gfn",791517474),new cljs.core.Keyword(null,"pred-exprs","pred-exprs",1792271395),new cljs.core.Keyword(null,"keys-pred","keys-pred",858984739),new cljs.core.Keyword(null,"opt-keys","opt-keys",1262688261),new cljs.core.Keyword(null,
"req-specs","req-specs",553962313),new cljs.core.Keyword(null,"req","req",-326448303),new cljs.core.Keyword(null,"req-keys","req-keys",514319221),new cljs.core.Keyword(null,"opt-specs","opt-specs",-384905450),new cljs.core.Keyword(null,"pred-forms","pred-forms",172611832),new cljs.core.Keyword(null,"opt","opt",-794706369)],[new cljs.core.PersistentVector(null,10,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword("weathergen.falcon.files.mission","base-flags","weathergen.falcon.files.mission/base-flags",
1559416842),new cljs.core.Keyword("weathergen.falcon.files.mission","camp-id","weathergen.falcon.files.mission/camp-id",413408440),new cljs.core.Keyword("weathergen.falcon.files.mission","entity-type","weathergen.falcon.files.mission/entity-type",-427082019),new cljs.core.Keyword("weathergen.falcon.files.mission","id","weathergen.falcon.files.mission/id",9584586),new cljs.core.Keyword("weathergen.falcon.files.mission","owner","weathergen.falcon.files.mission/owner",1206032935),new cljs.core.Keyword("weathergen.falcon.files.mission",
"spot-time","weathergen.falcon.files.mission/spot-time",-1289121708),new cljs.core.Keyword("weathergen.falcon.files.mission","spotted","weathergen.falcon.files.mission/spotted",807895248),new cljs.core.Keyword("weathergen.falcon.files.mission","x","weathergen.falcon.files.mission/x",-773377357),new cljs.core.Keyword("weathergen.falcon.files.mission","y","weathergen.falcon.files.mission/y",-1199341078),new cljs.core.Keyword("weathergen.falcon.files.mission","z","weathergen.falcon.files.mission/z",
908766951)],null),null,null,new cljs.core.PersistentVector(null,11,5,cljs.core.PersistentVector.EMPTY_NODE,[function(a){return cljs.core.map_QMARK_.call(null,a)},function(a){return cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"base-flags","base-flags",-1180150392))},function(a){return cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"camp-id","camp-id",618705690))},function(a){return cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"entity-type",
"entity-type",-1957300125))},function(a){return cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"id","id",-1388402092))},function(a){return cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"owner","owner",-392611939))},function(a){return cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"spot-time","spot-time",644875706))},function(a){return cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"spotted","spotted",183372374))},function(a){return cljs.core.contains_QMARK_.call(null,
a,new cljs.core.Keyword(null,"x","x",2099068185))},function(a){return cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"y","y",-1757859776))},function(a){return cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"z","z",-789527183))}],null),function(a){return cljs.core.map_QMARK_.call(null,a)&&cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"base-flags","base-flags",-1180150392))&&cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"camp-id",
"camp-id",618705690))&&cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"entity-type","entity-type",-1957300125))&&cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"id","id",-1388402092))&&cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"owner","owner",-392611939))&&cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"spot-time","spot-time",644875706))&&cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"spotted","spotted",
183372374))&&cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"x","x",2099068185))&&cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"y","y",-1757859776))&&cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"z","z",-789527183))},cljs.core.PersistentVector.EMPTY,new cljs.core.PersistentVector(null,10,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword("weathergen.falcon.files.mission","base-flags","weathergen.falcon.files.mission/base-flags",
1559416842),new cljs.core.Keyword("weathergen.falcon.files.mission","camp-id","weathergen.falcon.files.mission/camp-id",413408440),new cljs.core.Keyword("weathergen.falcon.files.mission","entity-type","weathergen.falcon.files.mission/entity-type",-427082019),new cljs.core.Keyword("weathergen.falcon.files.mission","id","weathergen.falcon.files.mission/id",9584586),new cljs.core.Keyword("weathergen.falcon.files.mission","owner","weathergen.falcon.files.mission/owner",1206032935),new cljs.core.Keyword("weathergen.falcon.files.mission",
"spot-time","weathergen.falcon.files.mission/spot-time",-1289121708),new cljs.core.Keyword("weathergen.falcon.files.mission","spotted","weathergen.falcon.files.mission/spotted",807895248),new cljs.core.Keyword("weathergen.falcon.files.mission","x","weathergen.falcon.files.mission/x",-773377357),new cljs.core.Keyword("weathergen.falcon.files.mission","y","weathergen.falcon.files.mission/y",-1199341078),new cljs.core.Keyword("weathergen.falcon.files.mission","z","weathergen.falcon.files.mission/z",
908766951)],null),null,new cljs.core.PersistentVector(null,10,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"base-flags","base-flags",-1180150392),new cljs.core.Keyword(null,"camp-id","camp-id",618705690),new cljs.core.Keyword(null,"entity-type","entity-type",-1957300125),new cljs.core.Keyword(null,"id","id",-1388402092),new cljs.core.Keyword(null,"owner","owner",-392611939),new cljs.core.Keyword(null,"spot-time","spot-time",644875706),new cljs.core.Keyword(null,"spotted","spotted",
183372374),new cljs.core.Keyword(null,"x","x",2099068185),new cljs.core.Keyword(null,"y","y",-1757859776),new cljs.core.Keyword(null,"z","z",-789527183)],null),cljs.core.PersistentVector.EMPTY,new cljs.core.PersistentVector(null,11,5,cljs.core.PersistentVector.EMPTY_NODE,[cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"%","%",-950237169,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core",
"map?","cljs.core/map?",-1390345523,null),new cljs.core.Symbol(null,"%","%",-950237169,null))),cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"%","%",-950237169,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core","contains?","cljs.core/contains?",-976526835,null),new cljs.core.Symbol(null,"%","%",-950237169,null),new cljs.core.Keyword(null,"base-flags",
"base-flags",-1180150392))),cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"%","%",-950237169,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core","contains?","cljs.core/contains?",-976526835,null),new cljs.core.Symbol(null,"%","%",-950237169,null),new cljs.core.Keyword(null,"camp-id","camp-id",618705690))),cljs.core.list(new cljs.core.Symbol("cljs.core",
"fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"%","%",-950237169,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core","contains?","cljs.core/contains?",-976526835,null),new cljs.core.Symbol(null,"%","%",-950237169,null),new cljs.core.Keyword(null,"entity-type","entity-type",-1957300125))),cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null,
1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"%","%",-950237169,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core","contains?","cljs.core/contains?",-976526835,null),new cljs.core.Symbol(null,"%","%",-950237169,null),new cljs.core.Keyword(null,"id","id",-1388402092))),cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"%","%",
-950237169,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core","contains?","cljs.core/contains?",-976526835,null),new cljs.core.Symbol(null,"%","%",-950237169,null),new cljs.core.Keyword(null,"owner","owner",-392611939))),cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"%","%",-950237169,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core",
"contains?","cljs.core/contains?",-976526835,null),new cljs.core.Symbol(null,"%","%",-950237169,null),new cljs.core.Keyword(null,"spot-time","spot-time",644875706))),cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"%","%",-950237169,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core","contains?","cljs.core/contains?",-976526835,null),new cljs.core.Symbol(null,
"%","%",-950237169,null),new cljs.core.Keyword(null,"spotted","spotted",183372374))),cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"%","%",-950237169,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core","contains?","cljs.core/contains?",-976526835,null),new cljs.core.Symbol(null,"%","%",-950237169,null),new cljs.core.Keyword(null,"x","x",2099068185))),
cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"%","%",-950237169,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core","contains?","cljs.core/contains?",-976526835,null),new cljs.core.Symbol(null,"%","%",-950237169,null),new cljs.core.Keyword(null,"y","y",-1757859776))),cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,
null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"%","%",-950237169,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core","contains?","cljs.core/contains?",-976526835,null),new cljs.core.Symbol(null,"%","%",-950237169,null),new cljs.core.Keyword(null,"z","z",-789527183)))],null),null]));
weathergen.falcon.files.mission.Objective=cljs.spec.alpha.merge_spec_impl.call(null,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol("weathergen.falcon.files.mission","CampaignBaseFields","weathergen.falcon.files.mission/CampaignBaseFields",-911251124,null),cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha","keys","cljs.spec.alpha/keys",1109346032,null),new cljs.core.Keyword(null,"req-un","req-un",1074571008),new cljs.core.PersistentVector(null,
12,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword("weathergen.falcon.files.mission","f-status","weathergen.falcon.files.mission/f-status",-1947313271),new cljs.core.Keyword("weathergen.falcon.files.mission","first-owner","weathergen.falcon.files.mission/first-owner",-619274258),new cljs.core.Keyword("weathergen.falcon.files.mission","fuel","weathergen.falcon.files.mission/fuel",760787687),new cljs.core.Keyword("weathergen.falcon.files.mission","last-repair","weathergen.falcon.files.mission/last-repair",
-1526954899),new cljs.core.Keyword("weathergen.falcon.files.mission","links","weathergen.falcon.files.mission/links",875727916),new cljs.core.Keyword("weathergen.falcon.files.mission","losses","weathergen.falcon.files.mission/losses",-1879114985),new cljs.core.Keyword("weathergen.falcon.files.mission","name-id","weathergen.falcon.files.mission/name-id",-1810014458),new cljs.core.Keyword("weathergen.falcon.files.mission","obj-flags","weathergen.falcon.files.mission/obj-flags",693464809),new cljs.core.Keyword("weathergen.falcon.files.mission",
"parent","weathergen.falcon.files.mission/parent",544339251),new cljs.core.Keyword("weathergen.falcon.files.mission","priority","weathergen.falcon.files.mission/priority",1887991877),new cljs.core.Keyword("weathergen.falcon.files.mission","radar-data","weathergen.falcon.files.mission/radar-data",1026796848),new cljs.core.Keyword("weathergen.falcon.files.mission","supply","weathergen.falcon.files.mission/supply",-45632963)],null))],null),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,
[weathergen.falcon.files.mission.CampaignBaseFields,cljs.spec.alpha.map_spec_impl.call(null,cljs.core.PersistentHashMap.fromArrays([new cljs.core.Keyword(null,"req-un","req-un",1074571008),new cljs.core.Keyword(null,"opt-un","opt-un",883442496),new cljs.core.Keyword(null,"gfn","gfn",791517474),new cljs.core.Keyword(null,"pred-exprs","pred-exprs",1792271395),new cljs.core.Keyword(null,"keys-pred","keys-pred",858984739),new cljs.core.Keyword(null,"opt-keys","opt-keys",1262688261),new cljs.core.Keyword(null,
"req-specs","req-specs",553962313),new cljs.core.Keyword(null,"req","req",-326448303),new cljs.core.Keyword(null,"req-keys","req-keys",514319221),new cljs.core.Keyword(null,"opt-specs","opt-specs",-384905450),new cljs.core.Keyword(null,"pred-forms","pred-forms",172611832),new cljs.core.Keyword(null,"opt","opt",-794706369)],[new cljs.core.PersistentVector(null,12,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword("weathergen.falcon.files.mission","f-status","weathergen.falcon.files.mission/f-status",
-1947313271),new cljs.core.Keyword("weathergen.falcon.files.mission","first-owner","weathergen.falcon.files.mission/first-owner",-619274258),new cljs.core.Keyword("weathergen.falcon.files.mission","fuel","weathergen.falcon.files.mission/fuel",760787687),new cljs.core.Keyword("weathergen.falcon.files.mission","last-repair","weathergen.falcon.files.mission/last-repair",-1526954899),new cljs.core.Keyword("weathergen.falcon.files.mission","links","weathergen.falcon.files.mission/links",875727916),new cljs.core.Keyword("weathergen.falcon.files.mission",
"losses","weathergen.falcon.files.mission/losses",-1879114985),new cljs.core.Keyword("weathergen.falcon.files.mission","name-id","weathergen.falcon.files.mission/name-id",-1810014458),new cljs.core.Keyword("weathergen.falcon.files.mission","obj-flags","weathergen.falcon.files.mission/obj-flags",693464809),new cljs.core.Keyword("weathergen.falcon.files.mission","parent","weathergen.falcon.files.mission/parent",544339251),new cljs.core.Keyword("weathergen.falcon.files.mission","priority","weathergen.falcon.files.mission/priority",
1887991877),new cljs.core.Keyword("weathergen.falcon.files.mission","radar-data","weathergen.falcon.files.mission/radar-data",1026796848),new cljs.core.Keyword("weathergen.falcon.files.mission","supply","weathergen.falcon.files.mission/supply",-45632963)],null),null,null,new cljs.core.PersistentVector(null,13,5,cljs.core.PersistentVector.EMPTY_NODE,[function(a){return cljs.core.map_QMARK_.call(null,a)},function(a){return cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"f-status",
"f-status",782756103))},function(a){return cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"first-owner","first-owner",911218300))},function(a){return cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"fuel","fuel",10405485))},function(a){return cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"last-repair","last-repair",1138109175))},function(a){return cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"links","links",-654507394))},function(a){return cljs.core.contains_QMARK_.call(null,
a,new cljs.core.Keyword(null,"losses","losses",-189206407))},function(a){return cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"name-id","name-id",-279275372))},function(a){return cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"obj-flags","obj-flags",-864355993))},function(a){return cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"parent","parent",-878878779))},function(a){return cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,
"priority","priority",1431093715))},function(a){return cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"radar-data","radar-data",-2114904134))},function(a){return cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"supply","supply",-1701696309))}],null),function(a){return cljs.core.map_QMARK_.call(null,a)&&cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"f-status","f-status",782756103))&&cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,
"first-owner","first-owner",911218300))&&cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"fuel","fuel",10405485))&&cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"last-repair","last-repair",1138109175))&&cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"links","links",-654507394))&&cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"losses","losses",-189206407))&&cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"name-id",
"name-id",-279275372))&&cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"obj-flags","obj-flags",-864355993))&&cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"parent","parent",-878878779))&&cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"priority","priority",1431093715))&&cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"radar-data","radar-data",-2114904134))&&cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"supply",
"supply",-1701696309))},cljs.core.PersistentVector.EMPTY,new cljs.core.PersistentVector(null,12,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword("weathergen.falcon.files.mission","f-status","weathergen.falcon.files.mission/f-status",-1947313271),new cljs.core.Keyword("weathergen.falcon.files.mission","first-owner","weathergen.falcon.files.mission/first-owner",-619274258),new cljs.core.Keyword("weathergen.falcon.files.mission","fuel","weathergen.falcon.files.mission/fuel",760787687),
new cljs.core.Keyword("weathergen.falcon.files.mission","last-repair","weathergen.falcon.files.mission/last-repair",-1526954899),new cljs.core.Keyword("weathergen.falcon.files.mission","links","weathergen.falcon.files.mission/links",875727916),new cljs.core.Keyword("weathergen.falcon.files.mission","losses","weathergen.falcon.files.mission/losses",-1879114985),new cljs.core.Keyword("weathergen.falcon.files.mission","name-id","weathergen.falcon.files.mission/name-id",-1810014458),new cljs.core.Keyword("weathergen.falcon.files.mission",
"obj-flags","weathergen.falcon.files.mission/obj-flags",693464809),new cljs.core.Keyword("weathergen.falcon.files.mission","parent","weathergen.falcon.files.mission/parent",544339251),new cljs.core.Keyword("weathergen.falcon.files.mission","priority","weathergen.falcon.files.mission/priority",1887991877),new cljs.core.Keyword("weathergen.falcon.files.mission","radar-data","weathergen.falcon.files.mission/radar-data",1026796848),new cljs.core.Keyword("weathergen.falcon.files.mission","supply","weathergen.falcon.files.mission/supply",
-45632963)],null),null,new cljs.core.PersistentVector(null,12,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"f-status","f-status",782756103),new cljs.core.Keyword(null,"first-owner","first-owner",911218300),new cljs.core.Keyword(null,"fuel","fuel",10405485),new cljs.core.Keyword(null,"last-repair","last-repair",1138109175),new cljs.core.Keyword(null,"links","links",-654507394),new cljs.core.Keyword(null,"losses","losses",-189206407),new cljs.core.Keyword(null,"name-id","name-id",
-279275372),new cljs.core.Keyword(null,"obj-flags","obj-flags",-864355993),new cljs.core.Keyword(null,"parent","parent",-878878779),new cljs.core.Keyword(null,"priority","priority",1431093715),new cljs.core.Keyword(null,"radar-data","radar-data",-2114904134),new cljs.core.Keyword(null,"supply","supply",-1701696309)],null),cljs.core.PersistentVector.EMPTY,new cljs.core.PersistentVector(null,13,5,cljs.core.PersistentVector.EMPTY_NODE,[cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",
-1065745098,null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"%","%",-950237169,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core","map?","cljs.core/map?",-1390345523,null),new cljs.core.Symbol(null,"%","%",-950237169,null))),cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"%","%",-950237169,
null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core","contains?","cljs.core/contains?",-976526835,null),new cljs.core.Symbol(null,"%","%",-950237169,null),new cljs.core.Keyword(null,"f-status","f-status",782756103))),cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"%","%",-950237169,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core","contains?",
"cljs.core/contains?",-976526835,null),new cljs.core.Symbol(null,"%","%",-950237169,null),new cljs.core.Keyword(null,"first-owner","first-owner",911218300))),cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"%","%",-950237169,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core","contains?","cljs.core/contains?",-976526835,null),new cljs.core.Symbol(null,
"%","%",-950237169,null),new cljs.core.Keyword(null,"fuel","fuel",10405485))),cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"%","%",-950237169,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core","contains?","cljs.core/contains?",-976526835,null),new cljs.core.Symbol(null,"%","%",-950237169,null),new cljs.core.Keyword(null,"last-repair","last-repair",
1138109175))),cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"%","%",-950237169,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core","contains?","cljs.core/contains?",-976526835,null),new cljs.core.Symbol(null,"%","%",-950237169,null),new cljs.core.Keyword(null,"links","links",-654507394))),cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",
-1065745098,null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"%","%",-950237169,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core","contains?","cljs.core/contains?",-976526835,null),new cljs.core.Symbol(null,"%","%",-950237169,null),new cljs.core.Keyword(null,"losses","losses",-189206407))),cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,
[new cljs.core.Symbol(null,"%","%",-950237169,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core","contains?","cljs.core/contains?",-976526835,null),new cljs.core.Symbol(null,"%","%",-950237169,null),new cljs.core.Keyword(null,"name-id","name-id",-279275372))),cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"%","%",-950237169,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core",
"contains?","cljs.core/contains?",-976526835,null),new cljs.core.Symbol(null,"%","%",-950237169,null),new cljs.core.Keyword(null,"obj-flags","obj-flags",-864355993))),cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"%","%",-950237169,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core","contains?","cljs.core/contains?",-976526835,null),new cljs.core.Symbol(null,
"%","%",-950237169,null),new cljs.core.Keyword(null,"parent","parent",-878878779))),cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"%","%",-950237169,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core","contains?","cljs.core/contains?",-976526835,null),new cljs.core.Symbol(null,"%","%",-950237169,null),new cljs.core.Keyword(null,"priority","priority",
1431093715))),cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"%","%",-950237169,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core","contains?","cljs.core/contains?",-976526835,null),new cljs.core.Symbol(null,"%","%",-950237169,null),new cljs.core.Keyword(null,"radar-data","radar-data",-2114904134))),cljs.core.list(new cljs.core.Symbol("cljs.core",
"fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"%","%",-950237169,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core","contains?","cljs.core/contains?",-976526835,null),new cljs.core.Symbol(null,"%","%",-950237169,null),new cljs.core.Keyword(null,"supply","supply",-1701696309)))],null),null]))],null),null);
weathergen.falcon.files.mission.Airbase=cljs.spec.alpha.merge_spec_impl.call(null,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol("weathergen.falcon.files.mission","Objective","weathergen.falcon.files.mission/Objective",-1296315408,null),cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha","keys","cljs.spec.alpha/keys",1109346032,null),new cljs.core.Keyword(null,"req","req",-326448303),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,
[new cljs.core.Keyword("weathergen.falcon.files.mission","squadrons","weathergen.falcon.files.mission/squadrons",47769110)],null))],null),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[weathergen.falcon.files.mission.Objective,cljs.spec.alpha.map_spec_impl.call(null,cljs.core.PersistentHashMap.fromArrays([new cljs.core.Keyword(null,"req-un","req-un",1074571008),new cljs.core.Keyword(null,"opt-un","opt-un",883442496),new cljs.core.Keyword(null,"gfn","gfn",791517474),
new cljs.core.Keyword(null,"pred-exprs","pred-exprs",1792271395),new cljs.core.Keyword(null,"keys-pred","keys-pred",858984739),new cljs.core.Keyword(null,"opt-keys","opt-keys",1262688261),new cljs.core.Keyword(null,"req-specs","req-specs",553962313),new cljs.core.Keyword(null,"req","req",-326448303),new cljs.core.Keyword(null,"req-keys","req-keys",514319221),new cljs.core.Keyword(null,"opt-specs","opt-specs",-384905450),new cljs.core.Keyword(null,"pred-forms","pred-forms",172611832),new cljs.core.Keyword(null,
"opt","opt",-794706369)],[null,null,null,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[function(a){return cljs.core.map_QMARK_.call(null,a)},function(a){return cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword("weathergen.falcon.files.mission","squadrons","weathergen.falcon.files.mission/squadrons",47769110))}],null),function(a){return cljs.core.map_QMARK_.call(null,a)&&cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword("weathergen.falcon.files.mission",
"squadrons","weathergen.falcon.files.mission/squadrons",47769110))},cljs.core.PersistentVector.EMPTY,new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword("weathergen.falcon.files.mission","squadrons","weathergen.falcon.files.mission/squadrons",47769110)],null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword("weathergen.falcon.files.mission","squadrons","weathergen.falcon.files.mission/squadrons",47769110)],
null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword("weathergen.falcon.files.mission","squadrons","weathergen.falcon.files.mission/squadrons",47769110)],null),cljs.core.PersistentVector.EMPTY,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,
"%","%",-950237169,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core","map?","cljs.core/map?",-1390345523,null),new cljs.core.Symbol(null,"%","%",-950237169,null))),cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"%","%",-950237169,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core","contains?","cljs.core/contains?",-976526835,null),new cljs.core.Symbol(null,
"%","%",-950237169,null),new cljs.core.Keyword("weathergen.falcon.files.mission","squadrons","weathergen.falcon.files.mission/squadrons",47769110)))],null),null]))],null),null);
weathergen.falcon.files.mission.Haves=cljs.spec.alpha.every_impl.call(null,cljs.core.list(new cljs.core.Symbol("s","or","s/or",1876282981,null),new cljs.core.Keyword(null,"integer","integer",-604721710),new cljs.core.Symbol(null,"integer?","integer?",1303791671,null),new cljs.core.Keyword(null,"keyword","keyword",811389747),new cljs.core.Symbol(null,"keyword?","keyword?",1917797069,null)),cljs.spec.alpha.or_spec_impl.call(null,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,
[new cljs.core.Keyword(null,"integer","integer",-604721710),new cljs.core.Keyword(null,"keyword","keyword",811389747)],null),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null),new cljs.core.Symbol("cljs.core","keyword?","cljs.core/keyword?",713156450,null)],null),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[cljs.core.integer_QMARK_,cljs.core.keyword_QMARK_],
null),null),new cljs.core.PersistentArrayMap(null,5,[new cljs.core.Keyword("cljs.spec.alpha","kind-form","cljs.spec.alpha/kind-form",-1047104697),new cljs.core.Symbol("cljs.core","set?","cljs.core/set?",-1176684971,null),new cljs.core.Keyword("cljs.spec.alpha","cpred","cljs.spec.alpha/cpred",-693471218),function(a){return cljs.core.set_QMARK_.call(null,a)},new cljs.core.Keyword(null,"kind","kind",-717265803),cljs.core.set_QMARK_,new cljs.core.Keyword("cljs.spec.alpha","conform-all","cljs.spec.alpha/conform-all",
45201917),!0,new cljs.core.Keyword("cljs.spec.alpha","describe","cljs.spec.alpha/describe",1883026911),cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha","coll-of","cljs.spec.alpha/coll-of",1019430407,null),cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha","or","cljs.spec.alpha/or",-831679639,null),new cljs.core.Keyword(null,"integer","integer",-604721710),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null),new cljs.core.Keyword(null,"keyword","keyword",811389747),
new cljs.core.Symbol("cljs.core","keyword?","cljs.core/keyword?",713156450,null)),new cljs.core.Keyword(null,"kind","kind",-717265803),new cljs.core.Symbol("cljs.core","set?","cljs.core/set?",-1176684971,null))],null),null);weathergen.falcon.files.mission.InstallName=cljs.core.string_QMARK_;
weathergen.falcon.files.mission.Installs=cljs.spec.alpha.every_impl.call(null,cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha","tuple","cljs.spec.alpha/tuple",-415901908,null),new cljs.core.Symbol(null,"InstallName","InstallName",1871569500,null),new cljs.core.Symbol(null,"Path","Path",545492587,null)),cljs.spec.alpha.tuple_impl.call(null,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol("weathergen.falcon.files.mission","InstallName","weathergen.falcon.files.mission/InstallName",
-2009043770,null),new cljs.core.Symbol("weathergen.falcon.files.mission","Path","weathergen.falcon.files.mission/Path",1128596705,null)],null),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[weathergen.falcon.files.mission.InstallName,weathergen.falcon.files.mission.Path],null)),new cljs.core.PersistentArrayMap(null,7,[new cljs.core.Keyword(null,"into","into",-150836029),cljs.core.PersistentArrayMap.EMPTY,new cljs.core.Keyword("cljs.spec.alpha","kind-form","cljs.spec.alpha/kind-form",
-1047104697),new cljs.core.Symbol("cljs.core","map?","cljs.core/map?",-1390345523,null),new cljs.core.Keyword("cljs.spec.alpha","cpred","cljs.spec.alpha/cpred",-693471218),function(a){return cljs.core.map_QMARK_.call(null,a)},new cljs.core.Keyword(null,"kind","kind",-717265803),cljs.core.map_QMARK_,new cljs.core.Keyword("cljs.spec.alpha","kfn","cljs.spec.alpha/kfn",672643897),function(a,b){return cljs.core.nth.call(null,b,0)},new cljs.core.Keyword("cljs.spec.alpha","conform-all","cljs.spec.alpha/conform-all",
45201917),!0,new cljs.core.Keyword("cljs.spec.alpha","describe","cljs.spec.alpha/describe",1883026911),cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha","map-of","cljs.spec.alpha/map-of",153715093,null),new cljs.core.Symbol("weathergen.falcon.files.mission","InstallName","weathergen.falcon.files.mission/InstallName",-2009043770,null),new cljs.core.Symbol("weathergen.falcon.files.mission","Path","weathergen.falcon.files.mission/Path",1128596705,null))],null),null);
weathergen.falcon.files.mission.ObjectiveLink=cljs.spec.alpha.map_spec_impl.call(null,cljs.core.PersistentHashMap.fromArrays([new cljs.core.Keyword(null,"req-un","req-un",1074571008),new cljs.core.Keyword(null,"opt-un","opt-un",883442496),new cljs.core.Keyword(null,"gfn","gfn",791517474),new cljs.core.Keyword(null,"pred-exprs","pred-exprs",1792271395),new cljs.core.Keyword(null,"keys-pred","keys-pred",858984739),new cljs.core.Keyword(null,"opt-keys","opt-keys",1262688261),new cljs.core.Keyword(null,
"req-specs","req-specs",553962313),new cljs.core.Keyword(null,"req","req",-326448303),new cljs.core.Keyword(null,"req-keys","req-keys",514319221),new cljs.core.Keyword(null,"opt-specs","opt-specs",-384905450),new cljs.core.Keyword(null,"pred-forms","pred-forms",172611832),new cljs.core.Keyword(null,"opt","opt",-794706369)],[new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword("weathergen.falcon.files.mission","costs","weathergen.falcon.files.mission/costs",
436179539),new cljs.core.Keyword("map","id","map/id",-1388423944)],null),null,null,new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,[function(a){return cljs.core.map_QMARK_.call(null,a)},function(a){return cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"costs","costs",2093295309))},function(a){return cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"id","id",-1388402092))}],null),function(a){return cljs.core.map_QMARK_.call(null,a)&&cljs.core.contains_QMARK_.call(null,
a,new cljs.core.Keyword(null,"costs","costs",2093295309))&&cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"id","id",-1388402092))},cljs.core.PersistentVector.EMPTY,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword("weathergen.falcon.files.mission","costs","weathergen.falcon.files.mission/costs",436179539),new cljs.core.Keyword("map","id","map/id",-1388423944)],null),null,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,
[new cljs.core.Keyword(null,"costs","costs",2093295309),new cljs.core.Keyword(null,"id","id",-1388402092)],null),cljs.core.PersistentVector.EMPTY,new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,[cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"%","%",-950237169,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core","map?",
"cljs.core/map?",-1390345523,null),new cljs.core.Symbol(null,"%","%",-950237169,null))),cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"%","%",-950237169,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core","contains?","cljs.core/contains?",-976526835,null),new cljs.core.Symbol(null,"%","%",-950237169,null),new cljs.core.Keyword(null,"costs","costs",
2093295309))),cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"%","%",-950237169,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core","contains?","cljs.core/contains?",-976526835,null),new cljs.core.Symbol(null,"%","%",-950237169,null),new cljs.core.Keyword(null,"id","id",-1388402092)))],null),null]));
weathergen.falcon.files.mission.StringsData=cljs.spec.alpha.map_spec_impl.call(null,cljs.core.PersistentHashMap.fromArrays([new cljs.core.Keyword(null,"req-un","req-un",1074571008),new cljs.core.Keyword(null,"opt-un","opt-un",883442496),new cljs.core.Keyword(null,"gfn","gfn",791517474),new cljs.core.Keyword(null,"pred-exprs","pred-exprs",1792271395),new cljs.core.Keyword(null,"keys-pred","keys-pred",858984739),new cljs.core.Keyword(null,"opt-keys","opt-keys",1262688261),new cljs.core.Keyword(null,
"req-specs","req-specs",553962313),new cljs.core.Keyword(null,"req","req",-326448303),new cljs.core.Keyword(null,"req-keys","req-keys",514319221),new cljs.core.Keyword(null,"opt-specs","opt-specs",-384905450),new cljs.core.Keyword(null,"pred-forms","pred-forms",172611832),new cljs.core.Keyword(null,"opt","opt",-794706369)],[new cljs.core.PersistentVector(null,10,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword("weathergen.falcon.files.mission","objective-type-names","weathergen.falcon.files.mission/objective-type-names",
-444295116),new cljs.core.Keyword("weathergen.falcon.files.mission","mission-type-names","weathergen.falcon.files.mission/mission-type-names",-2042328011),new cljs.core.Keyword("weathergen.falcon.files.mission","waypoint-type-names","weathergen.falcon.files.mission/waypoint-type-names",-5154524),new cljs.core.Keyword("weathergen.falcon.files.mission","air-stype-names","weathergen.falcon.files.mission/air-stype-names",-1202476953),new cljs.core.Keyword("weathergen.falcon.files.mission","ground-stype-names",
"weathergen.falcon.files.mission/ground-stype-names",-2140905300),new cljs.core.Keyword("weathergen.falcon.files.mission","naval-stype-names","weathergen.falcon.files.mission/naval-stype-names",1732788513),new cljs.core.Keyword("weathergen.falcon.files.mission","country-names","weathergen.falcon.files.mission/country-names",971743511),new cljs.core.Keyword("weathergen.falcon.files.mission","time-compression-names","weathergen.falcon.files.mission/time-compression-names",-922878890),new cljs.core.Keyword("weathergen.falcon.files.mission",
"camera-label-names","weathergen.falcon.files.mission/camera-label-names",-1866009865),new cljs.core.Keyword("weathergen.falcon.files.mission","unit-name-format","weathergen.falcon.files.mission/unit-name-format",-1275375238)],null),null,null,new cljs.core.PersistentVector(null,11,5,cljs.core.PersistentVector.EMPTY_NODE,[function(a){return cljs.core.map_QMARK_.call(null,a)},function(a){return cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"objective-type-names","objective-type-names",
-2115502438))},function(a){return cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"mission-type-names","mission-type-names",-1426382657))},function(a){return cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"waypoint-type-names","waypoint-type-names",719960758))},function(a){return cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"air-stype-names","air-stype-names",-1744167443))},function(a){return cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,
"ground-stype-names","ground-stype-names",-543566554))},function(a){return cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"naval-stype-names","naval-stype-names",140822175))},function(a){return cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"country-names","country-names",-1652413855))},function(a){return cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"time-compression-names","time-compression-names",-311196976))},function(a){return cljs.core.contains_QMARK_.call(null,
a,new cljs.core.Keyword(null,"camera-label-names","camera-label-names",-192056963))},function(a){return cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"unit-name-format","unit-name-format",-1907370252))}],null),function(a){return cljs.core.map_QMARK_.call(null,a)&&cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"objective-type-names","objective-type-names",-2115502438))&&cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"mission-type-names","mission-type-names",
-1426382657))&&cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"waypoint-type-names","waypoint-type-names",719960758))&&cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"air-stype-names","air-stype-names",-1744167443))&&cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"ground-stype-names","ground-stype-names",-543566554))&&cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"naval-stype-names","naval-stype-names",140822175))&&cljs.core.contains_QMARK_.call(null,
a,new cljs.core.Keyword(null,"country-names","country-names",-1652413855))&&cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"time-compression-names","time-compression-names",-311196976))&&cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"camera-label-names","camera-label-names",-192056963))&&cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"unit-name-format","unit-name-format",-1907370252))},cljs.core.PersistentVector.EMPTY,new cljs.core.PersistentVector(null,
10,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword("weathergen.falcon.files.mission","objective-type-names","weathergen.falcon.files.mission/objective-type-names",-444295116),new cljs.core.Keyword("weathergen.falcon.files.mission","mission-type-names","weathergen.falcon.files.mission/mission-type-names",-2042328011),new cljs.core.Keyword("weathergen.falcon.files.mission","waypoint-type-names","weathergen.falcon.files.mission/waypoint-type-names",-5154524),new cljs.core.Keyword("weathergen.falcon.files.mission",
"air-stype-names","weathergen.falcon.files.mission/air-stype-names",-1202476953),new cljs.core.Keyword("weathergen.falcon.files.mission","ground-stype-names","weathergen.falcon.files.mission/ground-stype-names",-2140905300),new cljs.core.Keyword("weathergen.falcon.files.mission","naval-stype-names","weathergen.falcon.files.mission/naval-stype-names",1732788513),new cljs.core.Keyword("weathergen.falcon.files.mission","country-names","weathergen.falcon.files.mission/country-names",971743511),new cljs.core.Keyword("weathergen.falcon.files.mission",
"time-compression-names","weathergen.falcon.files.mission/time-compression-names",-922878890),new cljs.core.Keyword("weathergen.falcon.files.mission","camera-label-names","weathergen.falcon.files.mission/camera-label-names",-1866009865),new cljs.core.Keyword("weathergen.falcon.files.mission","unit-name-format","weathergen.falcon.files.mission/unit-name-format",-1275375238)],null),null,new cljs.core.PersistentVector(null,10,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"objective-type-names",
"objective-type-names",-2115502438),new cljs.core.Keyword(null,"mission-type-names","mission-type-names",-1426382657),new cljs.core.Keyword(null,"waypoint-type-names","waypoint-type-names",719960758),new cljs.core.Keyword(null,"air-stype-names","air-stype-names",-1744167443),new cljs.core.Keyword(null,"ground-stype-names","ground-stype-names",-543566554),new cljs.core.Keyword(null,"naval-stype-names","naval-stype-names",140822175),new cljs.core.Keyword(null,"country-names","country-names",-1652413855),
new cljs.core.Keyword(null,"time-compression-names","time-compression-names",-311196976),new cljs.core.Keyword(null,"camera-label-names","camera-label-names",-192056963),new cljs.core.Keyword(null,"unit-name-format","unit-name-format",-1907370252)],null),cljs.core.PersistentVector.EMPTY,new cljs.core.PersistentVector(null,11,5,cljs.core.PersistentVector.EMPTY_NODE,[cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,
[new cljs.core.Symbol(null,"%","%",-950237169,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core","map?","cljs.core/map?",-1390345523,null),new cljs.core.Symbol(null,"%","%",-950237169,null))),cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"%","%",-950237169,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core","contains?","cljs.core/contains?",
-976526835,null),new cljs.core.Symbol(null,"%","%",-950237169,null),new cljs.core.Keyword(null,"objective-type-names","objective-type-names",-2115502438))),cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"%","%",-950237169,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core","contains?","cljs.core/contains?",-976526835,null),new cljs.core.Symbol(null,
"%","%",-950237169,null),new cljs.core.Keyword(null,"mission-type-names","mission-type-names",-1426382657))),cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"%","%",-950237169,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core","contains?","cljs.core/contains?",-976526835,null),new cljs.core.Symbol(null,"%","%",-950237169,null),new cljs.core.Keyword(null,
"waypoint-type-names","waypoint-type-names",719960758))),cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"%","%",-950237169,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core","contains?","cljs.core/contains?",-976526835,null),new cljs.core.Symbol(null,"%","%",-950237169,null),new cljs.core.Keyword(null,"air-stype-names","air-stype-names",-1744167443))),
cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"%","%",-950237169,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core","contains?","cljs.core/contains?",-976526835,null),new cljs.core.Symbol(null,"%","%",-950237169,null),new cljs.core.Keyword(null,"ground-stype-names","ground-stype-names",-543566554))),cljs.core.list(new cljs.core.Symbol("cljs.core",
"fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"%","%",-950237169,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core","contains?","cljs.core/contains?",-976526835,null),new cljs.core.Symbol(null,"%","%",-950237169,null),new cljs.core.Keyword(null,"naval-stype-names","naval-stype-names",140822175))),cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null,
1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"%","%",-950237169,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core","contains?","cljs.core/contains?",-976526835,null),new cljs.core.Symbol(null,"%","%",-950237169,null),new cljs.core.Keyword(null,"country-names","country-names",-1652413855))),cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,
"%","%",-950237169,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core","contains?","cljs.core/contains?",-976526835,null),new cljs.core.Symbol(null,"%","%",-950237169,null),new cljs.core.Keyword(null,"time-compression-names","time-compression-names",-311196976))),cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"%","%",-950237169,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core",
"contains?","cljs.core/contains?",-976526835,null),new cljs.core.Symbol(null,"%","%",-950237169,null),new cljs.core.Keyword(null,"camera-label-names","camera-label-names",-192056963))),cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"%","%",-950237169,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core","contains?","cljs.core/contains?",-976526835,
null),new cljs.core.Symbol(null,"%","%",-950237169,null),new cljs.core.Keyword(null,"unit-name-format","unit-name-format",-1907370252)))],null),null]));
weathergen.falcon.files.mission.Theater=cljs.spec.alpha.map_spec_impl.call(null,cljs.core.PersistentHashMap.fromArrays([new cljs.core.Keyword(null,"req-un","req-un",1074571008),new cljs.core.Keyword(null,"opt-un","opt-un",883442496),new cljs.core.Keyword(null,"gfn","gfn",791517474),new cljs.core.Keyword(null,"pred-exprs","pred-exprs",1792271395),new cljs.core.Keyword(null,"keys-pred","keys-pred",858984739),new cljs.core.Keyword(null,"opt-keys","opt-keys",1262688261),new cljs.core.Keyword(null,"req-specs",
"req-specs",553962313),new cljs.core.Keyword(null,"req","req",-326448303),new cljs.core.Keyword(null,"req-keys","req-keys",514319221),new cljs.core.Keyword(null,"opt-specs","opt-specs",-384905450),new cljs.core.Keyword(null,"pred-forms","pred-forms",172611832),new cljs.core.Keyword(null,"opt","opt",-794706369)],[new cljs.core.PersistentVector(null,6,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword("weathergen.falcon.files.mission","path","weathergen.falcon.files.mission/path",-771299386),
new cljs.core.Keyword("weathergen.falcon.files.mission","bitmap","weathergen.falcon.files.mission/bitmap",-1726823552),new cljs.core.Keyword("weathergen.falcon.files.mission","desc","weathergen.falcon.files.mission/desc",154230),new cljs.core.Keyword("weathergen.falcon.files.mission","name","weathergen.falcon.files.mission/name",1235339975),new cljs.core.Keyword("weathergen.falcon.files.mission","art-dir","weathergen.falcon.files.mission/art-dir",-1496408552),new cljs.core.Keyword("weathergen.falcon.files.mission",
"campaign-dir","weathergen.falcon.files.mission/campaign-dir",-1861677221)],null),new cljs.core.PersistentVector(null,9,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword("weathergen.falcon.files.mission","sim-data-dir","weathergen.falcon.files.mission/sim-data-dir",-1331304596),new cljs.core.Keyword("weathergen.falcon.files.mission","terrain-dir","weathergen.falcon.files.mission/terrain-dir",-66327300),new cljs.core.Keyword("weathergen.falcon.files.mission","misc-text-dir","weathergen.falcon.files.mission/misc-text-dir",
1894523511),new cljs.core.Keyword("weathergen.falcon.files.mission","sound-dir","weathergen.falcon.files.mission/sound-dir",2134408746),new cljs.core.Keyword("weathergen.falcon.files.mission","mintacan","weathergen.falcon.files.mission/mintacan",141787016),new cljs.core.Keyword("weathergen.falcon.files.mission","doubleres2dmap","weathergen.falcon.files.mission/doubleres2dmap",-1503704738),new cljs.core.Keyword("weathergen.falcon.files.mission","magneticdeclination","weathergen.falcon.files.mission/magneticdeclination",
-536185241),new cljs.core.Keyword("weathergen.falcon.files.mission","3d-data-dir","weathergen.falcon.files.mission/3d-data-dir",429028580),new cljs.core.Keyword("weathergen.falcon.files.mission","object-dir","weathergen.falcon.files.mission/object-dir",-459344762)],null),null,new cljs.core.PersistentVector(null,7,5,cljs.core.PersistentVector.EMPTY_NODE,[function(a){return cljs.core.map_QMARK_.call(null,a)},function(a){return cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"path",
"path",-188191168))},function(a){return cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"bitmap","bitmap",-1139196926))},function(a){return cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"desc","desc",2093485764))},function(a){return cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"name","name",1843675177))},function(a){return cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"art-dir","art-dir",67381390))},function(a){return cljs.core.contains_QMARK_.call(null,
a,new cljs.core.Keyword(null,"campaign-dir","campaign-dir",-1278307883))}],null),function(a){return cljs.core.map_QMARK_.call(null,a)&&cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"path","path",-188191168))&&cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"bitmap","bitmap",-1139196926))&&cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"desc","desc",2093485764))&&cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"name","name",1843675177))&&
cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"art-dir","art-dir",67381390))&&cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"campaign-dir","campaign-dir",-1278307883))},new cljs.core.PersistentVector(null,9,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"sim-data-dir","sim-data-dir",-1889768986),new cljs.core.Keyword(null,"terrain-dir","terrain-dir",-682919794),new cljs.core.Keyword(null,"misc-text-dir","misc-text-dir",-801796867),new cljs.core.Keyword(null,
"sound-dir","sound-dir",604246964),new cljs.core.Keyword(null,"mintacan","mintacan",598600938),new cljs.core.Keyword(null,"doubleres2dmap","doubleres2dmap",1301921508),new cljs.core.Keyword(null,"magneticdeclination","magneticdeclination",1254877937),new cljs.core.Keyword(null,"3d-data-dir","3d-data-dir",-1538342822),new cljs.core.Keyword(null,"object-dir","object-dir",-2124784896)],null),new cljs.core.PersistentVector(null,6,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword("weathergen.falcon.files.mission",
"path","weathergen.falcon.files.mission/path",-771299386),new cljs.core.Keyword("weathergen.falcon.files.mission","bitmap","weathergen.falcon.files.mission/bitmap",-1726823552),new cljs.core.Keyword("weathergen.falcon.files.mission","desc","weathergen.falcon.files.mission/desc",154230),new cljs.core.Keyword("weathergen.falcon.files.mission","name","weathergen.falcon.files.mission/name",1235339975),new cljs.core.Keyword("weathergen.falcon.files.mission","art-dir","weathergen.falcon.files.mission/art-dir",
-1496408552),new cljs.core.Keyword("weathergen.falcon.files.mission","campaign-dir","weathergen.falcon.files.mission/campaign-dir",-1861677221)],null),null,new cljs.core.PersistentVector(null,6,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"path","path",-188191168),new cljs.core.Keyword(null,"bitmap","bitmap",-1139196926),new cljs.core.Keyword(null,"desc","desc",2093485764),new cljs.core.Keyword(null,"name","name",1843675177),new cljs.core.Keyword(null,"art-dir","art-dir",67381390),
new cljs.core.Keyword(null,"campaign-dir","campaign-dir",-1278307883)],null),new cljs.core.PersistentVector(null,9,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword("weathergen.falcon.files.mission","sim-data-dir","weathergen.falcon.files.mission/sim-data-dir",-1331304596),new cljs.core.Keyword("weathergen.falcon.files.mission","terrain-dir","weathergen.falcon.files.mission/terrain-dir",-66327300),new cljs.core.Keyword("weathergen.falcon.files.mission","misc-text-dir","weathergen.falcon.files.mission/misc-text-dir",
1894523511),new cljs.core.Keyword("weathergen.falcon.files.mission","sound-dir","weathergen.falcon.files.mission/sound-dir",2134408746),new cljs.core.Keyword("weathergen.falcon.files.mission","mintacan","weathergen.falcon.files.mission/mintacan",141787016),new cljs.core.Keyword("weathergen.falcon.files.mission","doubleres2dmap","weathergen.falcon.files.mission/doubleres2dmap",-1503704738),new cljs.core.Keyword("weathergen.falcon.files.mission","magneticdeclination","weathergen.falcon.files.mission/magneticdeclination",
-536185241),new cljs.core.Keyword("weathergen.falcon.files.mission","3d-data-dir","weathergen.falcon.files.mission/3d-data-dir",429028580),new cljs.core.Keyword("weathergen.falcon.files.mission","object-dir","weathergen.falcon.files.mission/object-dir",-459344762)],null),new cljs.core.PersistentVector(null,7,5,cljs.core.PersistentVector.EMPTY_NODE,[cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,
[new cljs.core.Symbol(null,"%","%",-950237169,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core","map?","cljs.core/map?",-1390345523,null),new cljs.core.Symbol(null,"%","%",-950237169,null))),cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"%","%",-950237169,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core","contains?","cljs.core/contains?",
-976526835,null),new cljs.core.Symbol(null,"%","%",-950237169,null),new cljs.core.Keyword(null,"path","path",-188191168))),cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"%","%",-950237169,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core","contains?","cljs.core/contains?",-976526835,null),new cljs.core.Symbol(null,"%","%",-950237169,null),new cljs.core.Keyword(null,
"bitmap","bitmap",-1139196926))),cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"%","%",-950237169,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core","contains?","cljs.core/contains?",-976526835,null),new cljs.core.Symbol(null,"%","%",-950237169,null),new cljs.core.Keyword(null,"desc","desc",2093485764))),cljs.core.list(new cljs.core.Symbol("cljs.core",
"fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"%","%",-950237169,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core","contains?","cljs.core/contains?",-976526835,null),new cljs.core.Symbol(null,"%","%",-950237169,null),new cljs.core.Keyword(null,"name","name",1843675177))),cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null,
1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"%","%",-950237169,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core","contains?","cljs.core/contains?",-976526835,null),new cljs.core.Symbol(null,"%","%",-950237169,null),new cljs.core.Keyword(null,"art-dir","art-dir",67381390))),cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,
"%","%",-950237169,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core","contains?","cljs.core/contains?",-976526835,null),new cljs.core.Symbol(null,"%","%",-950237169,null),new cljs.core.Keyword(null,"campaign-dir","campaign-dir",-1278307883)))],null),null]));
weathergen.falcon.files.mission.Installation=cljs.spec.alpha.map_spec_impl.call(null,cljs.core.PersistentHashMap.fromArrays([new cljs.core.Keyword(null,"req-un","req-un",1074571008),new cljs.core.Keyword(null,"opt-un","opt-un",883442496),new cljs.core.Keyword(null,"gfn","gfn",791517474),new cljs.core.Keyword(null,"pred-exprs","pred-exprs",1792271395),new cljs.core.Keyword(null,"keys-pred","keys-pred",858984739),new cljs.core.Keyword(null,"opt-keys","opt-keys",1262688261),new cljs.core.Keyword(null,
"req-specs","req-specs",553962313),new cljs.core.Keyword(null,"req","req",-326448303),new cljs.core.Keyword(null,"req-keys","req-keys",514319221),new cljs.core.Keyword(null,"opt-specs","opt-specs",-384905450),new cljs.core.Keyword(null,"pred-forms","pred-forms",172611832),new cljs.core.Keyword(null,"opt","opt",-794706369)],[new cljs.core.PersistentVector(null,5,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword("weathergen.falcon.files.mission","install-dir","weathergen.falcon.files.mission/install-dir",
-577598648),new cljs.core.Keyword("weathergen.falcon.files.mission","data-dir","weathergen.falcon.files.mission/data-dir",1554526330),new cljs.core.Keyword("weathergen.falcon.files.mission","object-dir","weathergen.falcon.files.mission/object-dir",-459344762),new cljs.core.Keyword("weathergen.falcon.files.mission","art-dir","weathergen.falcon.files.mission/art-dir",-1496408552),new cljs.core.Keyword("weathergen.falcon.files.mission","theaters","weathergen.falcon.files.mission/theaters",135274652)],
null),null,null,new cljs.core.PersistentVector(null,6,5,cljs.core.PersistentVector.EMPTY_NODE,[function(a){return cljs.core.map_QMARK_.call(null,a)},function(a){return cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"install-dir","install-dir",2018055118))},function(a){return cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"data-dir","data-dir",2038801936))},function(a){return cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"object-dir","object-dir",
-2124784896))},function(a){return cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"art-dir","art-dir",67381390))},function(a){return cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"theaters","theaters",-1420445930))}],null),function(a){return cljs.core.map_QMARK_.call(null,a)&&cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"install-dir","install-dir",2018055118))&&cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"data-dir","data-dir",
2038801936))&&cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"object-dir","object-dir",-2124784896))&&cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"art-dir","art-dir",67381390))&&cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"theaters","theaters",-1420445930))},cljs.core.PersistentVector.EMPTY,new cljs.core.PersistentVector(null,5,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword("weathergen.falcon.files.mission","install-dir",
"weathergen.falcon.files.mission/install-dir",-577598648),new cljs.core.Keyword("weathergen.falcon.files.mission","data-dir","weathergen.falcon.files.mission/data-dir",1554526330),new cljs.core.Keyword("weathergen.falcon.files.mission","object-dir","weathergen.falcon.files.mission/object-dir",-459344762),new cljs.core.Keyword("weathergen.falcon.files.mission","art-dir","weathergen.falcon.files.mission/art-dir",-1496408552),new cljs.core.Keyword("weathergen.falcon.files.mission","theaters","weathergen.falcon.files.mission/theaters",
135274652)],null),null,new cljs.core.PersistentVector(null,5,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"install-dir","install-dir",2018055118),new cljs.core.Keyword(null,"data-dir","data-dir",2038801936),new cljs.core.Keyword(null,"object-dir","object-dir",-2124784896),new cljs.core.Keyword(null,"art-dir","art-dir",67381390),new cljs.core.Keyword(null,"theaters","theaters",-1420445930)],null),cljs.core.PersistentVector.EMPTY,new cljs.core.PersistentVector(null,6,5,cljs.core.PersistentVector.EMPTY_NODE,
[cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"%","%",-950237169,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core","map?","cljs.core/map?",-1390345523,null),new cljs.core.Symbol(null,"%","%",-950237169,null))),cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,
[new cljs.core.Symbol(null,"%","%",-950237169,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core","contains?","cljs.core/contains?",-976526835,null),new cljs.core.Symbol(null,"%","%",-950237169,null),new cljs.core.Keyword(null,"install-dir","install-dir",2018055118))),cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"%","%",-950237169,null)],null),
cljs.core.list(new cljs.core.Symbol("cljs.core","contains?","cljs.core/contains?",-976526835,null),new cljs.core.Symbol(null,"%","%",-950237169,null),new cljs.core.Keyword(null,"data-dir","data-dir",2038801936))),cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"%","%",-950237169,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core","contains?","cljs.core/contains?",
-976526835,null),new cljs.core.Symbol(null,"%","%",-950237169,null),new cljs.core.Keyword(null,"object-dir","object-dir",-2124784896))),cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"%","%",-950237169,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core","contains?","cljs.core/contains?",-976526835,null),new cljs.core.Symbol(null,"%","%",-950237169,
null),new cljs.core.Keyword(null,"art-dir","art-dir",67381390))),cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"%","%",-950237169,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core","contains?","cljs.core/contains?",-976526835,null),new cljs.core.Symbol(null,"%","%",-950237169,null),new cljs.core.Keyword(null,"theaters","theaters",-1420445930)))],
null),null]));
weathergen.falcon.files.mission.ClassInfo=cljs.spec.alpha.map_spec_impl.call(null,cljs.core.PersistentHashMap.fromArrays([new cljs.core.Keyword(null,"req-un","req-un",1074571008),new cljs.core.Keyword(null,"opt-un","opt-un",883442496),new cljs.core.Keyword(null,"gfn","gfn",791517474),new cljs.core.Keyword(null,"pred-exprs","pred-exprs",1792271395),new cljs.core.Keyword(null,"keys-pred","keys-pred",858984739),new cljs.core.Keyword(null,"opt-keys","opt-keys",1262688261),new cljs.core.Keyword(null,"req-specs",
"req-specs",553962313),new cljs.core.Keyword(null,"req","req",-326448303),new cljs.core.Keyword(null,"req-keys","req-keys",514319221),new cljs.core.Keyword(null,"opt-specs","opt-specs",-384905450),new cljs.core.Keyword(null,"pred-forms","pred-forms",172611832),new cljs.core.Keyword(null,"opt","opt",-794706369)],[new cljs.core.PersistentVector(null,6,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword("weathergen.falcon.files.mission","domain","weathergen.falcon.files.mission/domain",1214169331),
new cljs.core.Keyword("weathergen.falcon.files.mission","class","weathergen.falcon.files.mission/class",-1549237210),new cljs.core.Keyword("weathergen.falcon.files.mission","type","weathergen.falcon.files.mission/type",-1571457242),new cljs.core.Keyword("weathergen.falcon.files.mission","stype","weathergen.falcon.files.mission/stype",-688992601),new cljs.core.Keyword("weathergen.falcon.files.mission","sptype","weathergen.falcon.files.mission/sptype",1179274124),new cljs.core.Keyword("weathergen.falcon.files.mission",
"owner","weathergen.falcon.files.mission/owner",1206032935)],null),null,null,new cljs.core.PersistentVector(null,7,5,cljs.core.PersistentVector.EMPTY_NODE,[function(a){return cljs.core.map_QMARK_.call(null,a)},function(a){return cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"domain","domain",1847214937))},function(a){return cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"class","class",-2030961996))},function(a){return cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,
"type","type",1174270348))},function(a){return cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"stype","stype",-63678419))},function(a){return cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"sptype","sptype",-1425026030))},function(a){return cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"owner","owner",-392611939))}],null),function(a){return cljs.core.map_QMARK_.call(null,a)&&cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"domain",
"domain",1847214937))&&cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"class","class",-2030961996))&&cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"type","type",1174270348))&&cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"stype","stype",-63678419))&&cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"sptype","sptype",-1425026030))&&cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"owner","owner",-392611939))},cljs.core.PersistentVector.EMPTY,
new cljs.core.PersistentVector(null,6,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword("weathergen.falcon.files.mission","domain","weathergen.falcon.files.mission/domain",1214169331),new cljs.core.Keyword("weathergen.falcon.files.mission","class","weathergen.falcon.files.mission/class",-1549237210),new cljs.core.Keyword("weathergen.falcon.files.mission","type","weathergen.falcon.files.mission/type",-1571457242),new cljs.core.Keyword("weathergen.falcon.files.mission","stype","weathergen.falcon.files.mission/stype",
-688992601),new cljs.core.Keyword("weathergen.falcon.files.mission","sptype","weathergen.falcon.files.mission/sptype",1179274124),new cljs.core.Keyword("weathergen.falcon.files.mission","owner","weathergen.falcon.files.mission/owner",1206032935)],null),null,new cljs.core.PersistentVector(null,6,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"domain","domain",1847214937),new cljs.core.Keyword(null,"class","class",-2030961996),new cljs.core.Keyword(null,"type","type",1174270348),
new cljs.core.Keyword(null,"stype","stype",-63678419),new cljs.core.Keyword(null,"sptype","sptype",-1425026030),new cljs.core.Keyword(null,"owner","owner",-392611939)],null),cljs.core.PersistentVector.EMPTY,new cljs.core.PersistentVector(null,7,5,cljs.core.PersistentVector.EMPTY_NODE,[cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"%","%",-950237169,null)],
null),cljs.core.list(new cljs.core.Symbol("cljs.core","map?","cljs.core/map?",-1390345523,null),new cljs.core.Symbol(null,"%","%",-950237169,null))),cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"%","%",-950237169,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core","contains?","cljs.core/contains?",-976526835,null),new cljs.core.Symbol(null,"%",
"%",-950237169,null),new cljs.core.Keyword(null,"domain","domain",1847214937))),cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"%","%",-950237169,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core","contains?","cljs.core/contains?",-976526835,null),new cljs.core.Symbol(null,"%","%",-950237169,null),new cljs.core.Keyword(null,"class","class",-2030961996))),
cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"%","%",-950237169,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core","contains?","cljs.core/contains?",-976526835,null),new cljs.core.Symbol(null,"%","%",-950237169,null),new cljs.core.Keyword(null,"type","type",1174270348))),cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,
null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"%","%",-950237169,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core","contains?","cljs.core/contains?",-976526835,null),new cljs.core.Symbol(null,"%","%",-950237169,null),new cljs.core.Keyword(null,"stype","stype",-63678419))),cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,
[new cljs.core.Symbol(null,"%","%",-950237169,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core","contains?","cljs.core/contains?",-976526835,null),new cljs.core.Symbol(null,"%","%",-950237169,null),new cljs.core.Keyword(null,"sptype","sptype",-1425026030))),cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"%","%",-950237169,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core",
"contains?","cljs.core/contains?",-976526835,null),new cljs.core.Symbol(null,"%","%",-950237169,null),new cljs.core.Keyword(null,"owner","owner",-392611939)))],null),null]));
weathergen.falcon.files.mission.ClassInfo2=cljs.spec.alpha.map_spec_impl.call(null,cljs.core.PersistentHashMap.fromArrays([new cljs.core.Keyword(null,"req-un","req-un",1074571008),new cljs.core.Keyword(null,"opt-un","opt-un",883442496),new cljs.core.Keyword(null,"gfn","gfn",791517474),new cljs.core.Keyword(null,"pred-exprs","pred-exprs",1792271395),new cljs.core.Keyword(null,"keys-pred","keys-pred",858984739),new cljs.core.Keyword(null,"opt-keys","opt-keys",1262688261),new cljs.core.Keyword(null,
"req-specs","req-specs",553962313),new cljs.core.Keyword(null,"req","req",-326448303),new cljs.core.Keyword(null,"req-keys","req-keys",514319221),new cljs.core.Keyword(null,"opt-specs","opt-specs",-384905450),new cljs.core.Keyword(null,"pred-forms","pred-forms",172611832),new cljs.core.Keyword(null,"opt","opt",-794706369)],[new cljs.core.PersistentVector(null,5,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword("weathergen.falcon.files.mission","data-pointer","weathergen.falcon.files.mission/data-pointer",
-1400092936),new cljs.core.Keyword("weathergen.falcon.files.mission","data-type","weathergen.falcon.files.mission/data-type",-1999856938),new cljs.core.Keyword("weathergen.falcon.files.mission","vehicle-data-index","weathergen.falcon.files.mission/vehicle-data-index",94274720),new cljs.core.Keyword("weathergen.falcon.files.mission","vis-type","weathergen.falcon.files.mission/vis-type",-790933497),new cljs.core.Keyword("weathergen.falcon.files.mission","vu-class-data","weathergen.falcon.files.mission/vu-class-data",
797628127)],null),null,null,new cljs.core.PersistentVector(null,8,5,cljs.core.PersistentVector.EMPTY_NODE,[function(a){return cljs.core.map_QMARK_.call(null,a)},function(a){return cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword("weathergen.falcon.files.mission","index","weathergen.falcon.files.mission/index",-1989089649))},function(a){return cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword("weathergen.falcon.files.mission","feature-class-info","weathergen.falcon.files.mission/feature-class-info",
1346129647))},function(a){return cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"data-pointer","data-pointer",-1957576382))},function(a){return cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"data-type","data-type",-326421468))},function(a){return cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"vehicle-data-index","vehicle-data-index",1750693686))},function(a){return cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"vis-type","vis-type",
802477693))},function(a){return cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"vu-class-data","vu-class-data",-1868219799))}],null),function(a){return cljs.core.map_QMARK_.call(null,a)&&cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword("weathergen.falcon.files.mission","index","weathergen.falcon.files.mission/index",-1989089649))&&cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword("weathergen.falcon.files.mission","feature-class-info","weathergen.falcon.files.mission/feature-class-info",
1346129647))&&cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"data-pointer","data-pointer",-1957576382))&&cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"data-type","data-type",-326421468))&&cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"vehicle-data-index","vehicle-data-index",1750693686))&&cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"vis-type","vis-type",802477693))&&cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,
"vu-class-data","vu-class-data",-1868219799))},cljs.core.PersistentVector.EMPTY,new cljs.core.PersistentVector(null,7,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword("weathergen.falcon.files.mission","index","weathergen.falcon.files.mission/index",-1989089649),new cljs.core.Keyword("weathergen.falcon.files.mission","feature-class-info","weathergen.falcon.files.mission/feature-class-info",1346129647),new cljs.core.Keyword("weathergen.falcon.files.mission","data-pointer","weathergen.falcon.files.mission/data-pointer",
-1400092936),new cljs.core.Keyword("weathergen.falcon.files.mission","data-type","weathergen.falcon.files.mission/data-type",-1999856938),new cljs.core.Keyword("weathergen.falcon.files.mission","vehicle-data-index","weathergen.falcon.files.mission/vehicle-data-index",94274720),new cljs.core.Keyword("weathergen.falcon.files.mission","vis-type","weathergen.falcon.files.mission/vis-type",-790933497),new cljs.core.Keyword("weathergen.falcon.files.mission","vu-class-data","weathergen.falcon.files.mission/vu-class-data",
797628127)],null),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword("weathergen.falcon.files.mission","index","weathergen.falcon.files.mission/index",-1989089649),new cljs.core.Keyword("weathergen.falcon.files.mission","feature-class-info","weathergen.falcon.files.mission/feature-class-info",1346129647)],null),new cljs.core.PersistentVector(null,7,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword("weathergen.falcon.files.mission","index",
"weathergen.falcon.files.mission/index",-1989089649),new cljs.core.Keyword("weathergen.falcon.files.mission","feature-class-info","weathergen.falcon.files.mission/feature-class-info",1346129647),new cljs.core.Keyword(null,"data-pointer","data-pointer",-1957576382),new cljs.core.Keyword(null,"data-type","data-type",-326421468),new cljs.core.Keyword(null,"vehicle-data-index","vehicle-data-index",1750693686),new cljs.core.Keyword(null,"vis-type","vis-type",802477693),new cljs.core.Keyword(null,"vu-class-data",
"vu-class-data",-1868219799)],null),cljs.core.PersistentVector.EMPTY,new cljs.core.PersistentVector(null,8,5,cljs.core.PersistentVector.EMPTY_NODE,[cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"%","%",-950237169,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core","map?","cljs.core/map?",-1390345523,null),new cljs.core.Symbol(null,"%","%",-950237169,
null))),cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"%","%",-950237169,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core","contains?","cljs.core/contains?",-976526835,null),new cljs.core.Symbol(null,"%","%",-950237169,null),new cljs.core.Keyword("weathergen.falcon.files.mission","index","weathergen.falcon.files.mission/index",-1989089649))),cljs.core.list(new cljs.core.Symbol("cljs.core",
"fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"%","%",-950237169,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core","contains?","cljs.core/contains?",-976526835,null),new cljs.core.Symbol(null,"%","%",-950237169,null),new cljs.core.Keyword("weathergen.falcon.files.mission","feature-class-info","weathergen.falcon.files.mission/feature-class-info",1346129647))),cljs.core.list(new cljs.core.Symbol("cljs.core",
"fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"%","%",-950237169,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core","contains?","cljs.core/contains?",-976526835,null),new cljs.core.Symbol(null,"%","%",-950237169,null),new cljs.core.Keyword(null,"data-pointer","data-pointer",-1957576382))),cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null,
1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"%","%",-950237169,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core","contains?","cljs.core/contains?",-976526835,null),new cljs.core.Symbol(null,"%","%",-950237169,null),new cljs.core.Keyword(null,"data-type","data-type",-326421468))),cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,
"%","%",-950237169,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core","contains?","cljs.core/contains?",-976526835,null),new cljs.core.Symbol(null,"%","%",-950237169,null),new cljs.core.Keyword(null,"vehicle-data-index","vehicle-data-index",1750693686))),cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"%","%",-950237169,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core",
"contains?","cljs.core/contains?",-976526835,null),new cljs.core.Symbol(null,"%","%",-950237169,null),new cljs.core.Keyword(null,"vis-type","vis-type",802477693))),cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"%","%",-950237169,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core","contains?","cljs.core/contains?",-976526835,null),new cljs.core.Symbol(null,
"%","%",-950237169,null),new cljs.core.Keyword(null,"vu-class-data","vu-class-data",-1868219799)))],null),null]));
weathergen.falcon.files.mission.VuEntityFields=cljs.spec.alpha.map_spec_impl.call(null,cljs.core.PersistentHashMap.fromArrays([new cljs.core.Keyword(null,"req-un","req-un",1074571008),new cljs.core.Keyword(null,"opt-un","opt-un",883442496),new cljs.core.Keyword(null,"gfn","gfn",791517474),new cljs.core.Keyword(null,"pred-exprs","pred-exprs",1792271395),new cljs.core.Keyword(null,"keys-pred","keys-pred",858984739),new cljs.core.Keyword(null,"opt-keys","opt-keys",1262688261),new cljs.core.Keyword(null,
"req-specs","req-specs",553962313),new cljs.core.Keyword(null,"req","req",-326448303),new cljs.core.Keyword(null,"req-keys","req-keys",514319221),new cljs.core.Keyword(null,"opt-specs","opt-specs",-384905450),new cljs.core.Keyword(null,"pred-forms","pred-forms",172611832),new cljs.core.Keyword(null,"opt","opt",-794706369)],[new cljs.core.PersistentVector(null,21,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword("int","id","int/id",-1388428731),new cljs.core.Keyword("weathergen.falcon.files.mission",
"collision-type","weathergen.falcon.files.mission/collision-type",-1095412380),new cljs.core.Keyword("weathergen.falcon.files.mission","collision-radius","weathergen.falcon.files.mission/collision-radius",-674585753),new cljs.core.Keyword("weathergen.falcon.files.mission","class-info","weathergen.falcon.files.mission/class-info",-1092492204),new cljs.core.Keyword("weathergen.falcon.files.mission","update-rate","weathergen.falcon.files.mission/update-rate",76404465),new cljs.core.Keyword("weathergen.falcon.files.mission",
"update-tolerance","weathergen.falcon.files.mission/update-tolerance",1816777841),new cljs.core.Keyword("weathergen.falcon.files.mission","fine-update-range","weathergen.falcon.files.mission/fine-update-range",-409420047),new cljs.core.Keyword("weathergen.falcon.files.mission","fine-update-force-range","weathergen.falcon.files.mission/fine-update-force-range",918313040),new cljs.core.Keyword("weathergen.falcon.files.mission","fine-update-multiplier","weathergen.falcon.files.mission/fine-update-multiplier",
-1437327534),new cljs.core.Keyword("weathergen.falcon.files.mission","damage-speed","weathergen.falcon.files.mission/damage-speed",-292579857),new cljs.core.Keyword("weathergen.falcon.files.mission","hitpoints","weathergen.falcon.files.mission/hitpoints",1104859779),new cljs.core.Keyword("weathergen.falcon.files.mission","major-revision-number","weathergen.falcon.files.mission/major-revision-number",-1627500611),new cljs.core.Keyword("weathergen.falcon.files.mission","minor-revision-number","weathergen.falcon.files.mission/minor-revision-number",
2137407463),new cljs.core.Keyword("weathergen.falcon.files.mission","create-priority","weathergen.falcon.files.mission/create-priority",1232517319),new cljs.core.Keyword("weathergen.falcon.files.mission","management-domain","weathergen.falcon.files.mission/management-domain",1287075328),new cljs.core.Keyword("weathergen.falcon.files.mission","transferable","weathergen.falcon.files.mission/transferable",-1781694740),new cljs.core.Keyword("weathergen.falcon.files.mission","private","weathergen.falcon.files.mission/private",
1132571664),new cljs.core.Keyword("weathergen.falcon.files.mission","tangible","weathergen.falcon.files.mission/tangible",1925068834),new cljs.core.Keyword("weathergen.falcon.files.mission","collidable","weathergen.falcon.files.mission/collidable",-1450401728),new cljs.core.Keyword("weathergen.falcon.files.mission","global","weathergen.falcon.files.mission/global",2043304013),new cljs.core.Keyword("weathergen.falcon.files.mission","persistent","weathergen.falcon.files.mission/persistent",301470291)],
null),null,null,new cljs.core.PersistentVector(null,22,5,cljs.core.PersistentVector.EMPTY_NODE,[function(a){return cljs.core.map_QMARK_.call(null,a)},function(a){return cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"id","id",-1388402092))},function(a){return cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"collision-type","collision-type",1031477978))},function(a){return cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"collision-radius","collision-radius",
2064718833))},function(a){return cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"class-info","class-info",-467052058))},function(a){return cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"update-rate","update-rate",549997679))},function(a){return cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"update-tolerance","update-tolerance",1242588651))},function(a){return cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"fine-update-range",
"fine-update-range",-2006748049))},function(a){return cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"fine-update-force-range","fine-update-force-range",-703217754))},function(a){return cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"fine-update-multiplier","fine-update-multiplier",1301129404))},function(a){return cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"damage-speed","damage-speed",1800211525))},function(a){return cljs.core.contains_QMARK_.call(null,
a,new cljs.core.Keyword(null,"hitpoints","hitpoints",-575579159))},function(a){return cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"major-revision-number","major-revision-number",473159511))},function(a){return cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"minor-revision-number","minor-revision-number",-358429843))},function(a){return cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"create-priority","create-priority",-433275059))},function(a){return cljs.core.contains_QMARK_.call(null,
a,new cljs.core.Keyword(null,"management-domain","management-domain",-382123626))},function(a){return cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"transferable","transferable",-243006862))},function(a){return cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"private","private",-558947994))},function(a){return cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"tangible","tangible",1450746508))},function(a){return cljs.core.contains_QMARK_.call(null,
a,new cljs.core.Keyword(null,"collidable","collidable",232142278))},function(a){return cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"global","global",93595047))},function(a){return cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"persistent","persistent",885415113))}],null),function(a){return cljs.core.map_QMARK_.call(null,a)&&cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"id","id",-1388402092))&&cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,
"collision-type","collision-type",1031477978))&&cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"collision-radius","collision-radius",2064718833))&&cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"class-info","class-info",-467052058))&&cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"update-rate","update-rate",549997679))&&cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"update-tolerance","update-tolerance",1242588651))&&cljs.core.contains_QMARK_.call(null,
a,new cljs.core.Keyword(null,"fine-update-range","fine-update-range",-2006748049))&&cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"fine-update-force-range","fine-update-force-range",-703217754))&&cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"fine-update-multiplier","fine-update-multiplier",1301129404))&&cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"damage-speed","damage-speed",1800211525))&&cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,
"hitpoints","hitpoints",-575579159))&&cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"major-revision-number","major-revision-number",473159511))&&cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"minor-revision-number","minor-revision-number",-358429843))&&cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"create-priority","create-priority",-433275059))&&cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"management-domain","management-domain",
-382123626))&&cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"transferable","transferable",-243006862))&&cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"private","private",-558947994))&&cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"tangible","tangible",1450746508))&&cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"collidable","collidable",232142278))&&cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"global",
"global",93595047))&&cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"persistent","persistent",885415113))},cljs.core.PersistentVector.EMPTY,new cljs.core.PersistentVector(null,21,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword("int","id","int/id",-1388428731),new cljs.core.Keyword("weathergen.falcon.files.mission","collision-type","weathergen.falcon.files.mission/collision-type",-1095412380),new cljs.core.Keyword("weathergen.falcon.files.mission","collision-radius",
"weathergen.falcon.files.mission/collision-radius",-674585753),new cljs.core.Keyword("weathergen.falcon.files.mission","class-info","weathergen.falcon.files.mission/class-info",-1092492204),new cljs.core.Keyword("weathergen.falcon.files.mission","update-rate","weathergen.falcon.files.mission/update-rate",76404465),new cljs.core.Keyword("weathergen.falcon.files.mission","update-tolerance","weathergen.falcon.files.mission/update-tolerance",1816777841),new cljs.core.Keyword("weathergen.falcon.files.mission",
"fine-update-range","weathergen.falcon.files.mission/fine-update-range",-409420047),new cljs.core.Keyword("weathergen.falcon.files.mission","fine-update-force-range","weathergen.falcon.files.mission/fine-update-force-range",918313040),new cljs.core.Keyword("weathergen.falcon.files.mission","fine-update-multiplier","weathergen.falcon.files.mission/fine-update-multiplier",-1437327534),new cljs.core.Keyword("weathergen.falcon.files.mission","damage-speed","weathergen.falcon.files.mission/damage-speed",
-292579857),new cljs.core.Keyword("weathergen.falcon.files.mission","hitpoints","weathergen.falcon.files.mission/hitpoints",1104859779),new cljs.core.Keyword("weathergen.falcon.files.mission","major-revision-number","weathergen.falcon.files.mission/major-revision-number",-1627500611),new cljs.core.Keyword("weathergen.falcon.files.mission","minor-revision-number","weathergen.falcon.files.mission/minor-revision-number",2137407463),new cljs.core.Keyword("weathergen.falcon.files.mission","create-priority",
"weathergen.falcon.files.mission/create-priority",1232517319),new cljs.core.Keyword("weathergen.falcon.files.mission","management-domain","weathergen.falcon.files.mission/management-domain",1287075328),new cljs.core.Keyword("weathergen.falcon.files.mission","transferable","weathergen.falcon.files.mission/transferable",-1781694740),new cljs.core.Keyword("weathergen.falcon.files.mission","private","weathergen.falcon.files.mission/private",1132571664),new cljs.core.Keyword("weathergen.falcon.files.mission",
"tangible","weathergen.falcon.files.mission/tangible",1925068834),new cljs.core.Keyword("weathergen.falcon.files.mission","collidable","weathergen.falcon.files.mission/collidable",-1450401728),new cljs.core.Keyword("weathergen.falcon.files.mission","global","weathergen.falcon.files.mission/global",2043304013),new cljs.core.Keyword("weathergen.falcon.files.mission","persistent","weathergen.falcon.files.mission/persistent",301470291)],null),null,new cljs.core.PersistentVector(null,21,5,cljs.core.PersistentVector.EMPTY_NODE,
[new cljs.core.Keyword(null,"id","id",-1388402092),new cljs.core.Keyword(null,"collision-type","collision-type",1031477978),new cljs.core.Keyword(null,"collision-radius","collision-radius",2064718833),new cljs.core.Keyword(null,"class-info","class-info",-467052058),new cljs.core.Keyword(null,"update-rate","update-rate",549997679),new cljs.core.Keyword(null,"update-tolerance","update-tolerance",1242588651),new cljs.core.Keyword(null,"fine-update-range","fine-update-range",-2006748049),new cljs.core.Keyword(null,
"fine-update-force-range","fine-update-force-range",-703217754),new cljs.core.Keyword(null,"fine-update-multiplier","fine-update-multiplier",1301129404),new cljs.core.Keyword(null,"damage-speed","damage-speed",1800211525),new cljs.core.Keyword(null,"hitpoints","hitpoints",-575579159),new cljs.core.Keyword(null,"major-revision-number","major-revision-number",473159511),new cljs.core.Keyword(null,"minor-revision-number","minor-revision-number",-358429843),new cljs.core.Keyword(null,"create-priority",
"create-priority",-433275059),new cljs.core.Keyword(null,"management-domain","management-domain",-382123626),new cljs.core.Keyword(null,"transferable","transferable",-243006862),new cljs.core.Keyword(null,"private","private",-558947994),new cljs.core.Keyword(null,"tangible","tangible",1450746508),new cljs.core.Keyword(null,"collidable","collidable",232142278),new cljs.core.Keyword(null,"global","global",93595047),new cljs.core.Keyword(null,"persistent","persistent",885415113)],null),cljs.core.PersistentVector.EMPTY,
new cljs.core.PersistentVector(null,22,5,cljs.core.PersistentVector.EMPTY_NODE,[cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"%","%",-950237169,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core","map?","cljs.core/map?",-1390345523,null),new cljs.core.Symbol(null,"%","%",-950237169,null))),cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",
-1065745098,null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"%","%",-950237169,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core","contains?","cljs.core/contains?",-976526835,null),new cljs.core.Symbol(null,"%","%",-950237169,null),new cljs.core.Keyword(null,"id","id",-1388402092))),cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,
[new cljs.core.Symbol(null,"%","%",-950237169,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core","contains?","cljs.core/contains?",-976526835,null),new cljs.core.Symbol(null,"%","%",-950237169,null),new cljs.core.Keyword(null,"collision-type","collision-type",1031477978))),cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"%","%",-950237169,null)],
null),cljs.core.list(new cljs.core.Symbol("cljs.core","contains?","cljs.core/contains?",-976526835,null),new cljs.core.Symbol(null,"%","%",-950237169,null),new cljs.core.Keyword(null,"collision-radius","collision-radius",2064718833))),cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"%","%",-950237169,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core",
"contains?","cljs.core/contains?",-976526835,null),new cljs.core.Symbol(null,"%","%",-950237169,null),new cljs.core.Keyword(null,"class-info","class-info",-467052058))),cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"%","%",-950237169,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core","contains?","cljs.core/contains?",-976526835,null),new cljs.core.Symbol(null,
"%","%",-950237169,null),new cljs.core.Keyword(null,"update-rate","update-rate",549997679))),cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"%","%",-950237169,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core","contains?","cljs.core/contains?",-976526835,null),new cljs.core.Symbol(null,"%","%",-950237169,null),new cljs.core.Keyword(null,"update-tolerance",
"update-tolerance",1242588651))),cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"%","%",-950237169,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core","contains?","cljs.core/contains?",-976526835,null),new cljs.core.Symbol(null,"%","%",-950237169,null),new cljs.core.Keyword(null,"fine-update-range","fine-update-range",-2006748049))),cljs.core.list(new cljs.core.Symbol("cljs.core",
"fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"%","%",-950237169,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core","contains?","cljs.core/contains?",-976526835,null),new cljs.core.Symbol(null,"%","%",-950237169,null),new cljs.core.Keyword(null,"fine-update-force-range","fine-update-force-range",-703217754))),cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),
new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"%","%",-950237169,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core","contains?","cljs.core/contains?",-976526835,null),new cljs.core.Symbol(null,"%","%",-950237169,null),new cljs.core.Keyword(null,"fine-update-multiplier","fine-update-multiplier",1301129404))),cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null,1,
5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"%","%",-950237169,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core","contains?","cljs.core/contains?",-976526835,null),new cljs.core.Symbol(null,"%","%",-950237169,null),new cljs.core.Keyword(null,"damage-speed","damage-speed",1800211525))),cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,
"%","%",-950237169,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core","contains?","cljs.core/contains?",-976526835,null),new cljs.core.Symbol(null,"%","%",-950237169,null),new cljs.core.Keyword(null,"hitpoints","hitpoints",-575579159))),cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"%","%",-950237169,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core",
"contains?","cljs.core/contains?",-976526835,null),new cljs.core.Symbol(null,"%","%",-950237169,null),new cljs.core.Keyword(null,"major-revision-number","major-revision-number",473159511))),cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"%","%",-950237169,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core","contains?","cljs.core/contains?",-976526835,
null),new cljs.core.Symbol(null,"%","%",-950237169,null),new cljs.core.Keyword(null,"minor-revision-number","minor-revision-number",-358429843))),cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"%","%",-950237169,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core","contains?","cljs.core/contains?",-976526835,null),new cljs.core.Symbol(null,"%","%",
-950237169,null),new cljs.core.Keyword(null,"create-priority","create-priority",-433275059))),cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"%","%",-950237169,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core","contains?","cljs.core/contains?",-976526835,null),new cljs.core.Symbol(null,"%","%",-950237169,null),new cljs.core.Keyword(null,"management-domain",
"management-domain",-382123626))),cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"%","%",-950237169,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core","contains?","cljs.core/contains?",-976526835,null),new cljs.core.Symbol(null,"%","%",-950237169,null),new cljs.core.Keyword(null,"transferable","transferable",-243006862))),cljs.core.list(new cljs.core.Symbol("cljs.core",
"fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"%","%",-950237169,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core","contains?","cljs.core/contains?",-976526835,null),new cljs.core.Symbol(null,"%","%",-950237169,null),new cljs.core.Keyword(null,"private","private",-558947994))),cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null,
1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"%","%",-950237169,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core","contains?","cljs.core/contains?",-976526835,null),new cljs.core.Symbol(null,"%","%",-950237169,null),new cljs.core.Keyword(null,"tangible","tangible",1450746508))),cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,
"%","%",-950237169,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core","contains?","cljs.core/contains?",-976526835,null),new cljs.core.Symbol(null,"%","%",-950237169,null),new cljs.core.Keyword(null,"collidable","collidable",232142278))),cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"%","%",-950237169,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core",
"contains?","cljs.core/contains?",-976526835,null),new cljs.core.Symbol(null,"%","%",-950237169,null),new cljs.core.Keyword(null,"global","global",93595047))),cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"%","%",-950237169,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core","contains?","cljs.core/contains?",-976526835,null),new cljs.core.Symbol(null,
"%","%",-950237169,null),new cljs.core.Keyword(null,"persistent","persistent",885415113)))],null),null]));
weathergen.falcon.files.mission.Falcon4EntityFields=cljs.spec.alpha.map_spec_impl.call(null,cljs.core.PersistentHashMap.fromArrays([new cljs.core.Keyword(null,"req-un","req-un",1074571008),new cljs.core.Keyword(null,"opt-un","opt-un",883442496),new cljs.core.Keyword(null,"gfn","gfn",791517474),new cljs.core.Keyword(null,"pred-exprs","pred-exprs",1792271395),new cljs.core.Keyword(null,"keys-pred","keys-pred",858984739),new cljs.core.Keyword(null,"opt-keys","opt-keys",1262688261),new cljs.core.Keyword(null,
"req-specs","req-specs",553962313),new cljs.core.Keyword(null,"req","req",-326448303),new cljs.core.Keyword(null,"req-keys","req-keys",514319221),new cljs.core.Keyword(null,"opt-specs","opt-specs",-384905450),new cljs.core.Keyword(null,"pred-forms","pred-forms",172611832),new cljs.core.Keyword(null,"opt","opt",-794706369)],[new cljs.core.PersistentVector(null,5,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword("weathergen.falcon.files.mission","vu-class-data","weathergen.falcon.files.mission/vu-class-data",
797628127),new cljs.core.Keyword("weathergen.falcon.files.mission","vis-type","weathergen.falcon.files.mission/vis-type",-790933497),new cljs.core.Keyword("weathergen.falcon.files.mission","vehicle-data-index","weathergen.falcon.files.mission/vehicle-data-index",94274720),new cljs.core.Keyword("weathergen.falcon.files.mission","data-type","weathergen.falcon.files.mission/data-type",-1999856938),new cljs.core.Keyword("weathergen.falcon.files.mission","data-pointer","weathergen.falcon.files.mission/data-pointer",
-1400092936)],null),null,null,new cljs.core.PersistentVector(null,6,5,cljs.core.PersistentVector.EMPTY_NODE,[function(a){return cljs.core.map_QMARK_.call(null,a)},function(a){return cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"vu-class-data","vu-class-data",-1868219799))},function(a){return cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"vis-type","vis-type",802477693))},function(a){return cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"vehicle-data-index",
"vehicle-data-index",1750693686))},function(a){return cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"data-type","data-type",-326421468))},function(a){return cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"data-pointer","data-pointer",-1957576382))}],null),function(a){return cljs.core.map_QMARK_.call(null,a)&&cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"vu-class-data","vu-class-data",-1868219799))&&cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,
"vis-type","vis-type",802477693))&&cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"vehicle-data-index","vehicle-data-index",1750693686))&&cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"data-type","data-type",-326421468))&&cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"data-pointer","data-pointer",-1957576382))},cljs.core.PersistentVector.EMPTY,new cljs.core.PersistentVector(null,5,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword("weathergen.falcon.files.mission",
"vu-class-data","weathergen.falcon.files.mission/vu-class-data",797628127),new cljs.core.Keyword("weathergen.falcon.files.mission","vis-type","weathergen.falcon.files.mission/vis-type",-790933497),new cljs.core.Keyword("weathergen.falcon.files.mission","vehicle-data-index","weathergen.falcon.files.mission/vehicle-data-index",94274720),new cljs.core.Keyword("weathergen.falcon.files.mission","data-type","weathergen.falcon.files.mission/data-type",-1999856938),new cljs.core.Keyword("weathergen.falcon.files.mission",
"data-pointer","weathergen.falcon.files.mission/data-pointer",-1400092936)],null),null,new cljs.core.PersistentVector(null,5,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"vu-class-data","vu-class-data",-1868219799),new cljs.core.Keyword(null,"vis-type","vis-type",802477693),new cljs.core.Keyword(null,"vehicle-data-index","vehicle-data-index",1750693686),new cljs.core.Keyword(null,"data-type","data-type",-326421468),new cljs.core.Keyword(null,"data-pointer","data-pointer",-1957576382)],
null),cljs.core.PersistentVector.EMPTY,new cljs.core.PersistentVector(null,6,5,cljs.core.PersistentVector.EMPTY_NODE,[cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"%","%",-950237169,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core","map?","cljs.core/map?",-1390345523,null),new cljs.core.Symbol(null,"%","%",-950237169,null))),cljs.core.list(new cljs.core.Symbol("cljs.core",
"fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"%","%",-950237169,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core","contains?","cljs.core/contains?",-976526835,null),new cljs.core.Symbol(null,"%","%",-950237169,null),new cljs.core.Keyword(null,"vu-class-data","vu-class-data",-1868219799))),cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null,
1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"%","%",-950237169,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core","contains?","cljs.core/contains?",-976526835,null),new cljs.core.Symbol(null,"%","%",-950237169,null),new cljs.core.Keyword(null,"vis-type","vis-type",802477693))),cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,
"%","%",-950237169,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core","contains?","cljs.core/contains?",-976526835,null),new cljs.core.Symbol(null,"%","%",-950237169,null),new cljs.core.Keyword(null,"vehicle-data-index","vehicle-data-index",1750693686))),cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"%","%",-950237169,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core",
"contains?","cljs.core/contains?",-976526835,null),new cljs.core.Symbol(null,"%","%",-950237169,null),new cljs.core.Keyword(null,"data-type","data-type",-326421468))),cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"%","%",-950237169,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core","contains?","cljs.core/contains?",-976526835,null),new cljs.core.Symbol(null,
"%","%",-950237169,null),new cljs.core.Keyword(null,"data-pointer","data-pointer",-1957576382)))],null),null]));
weathergen.falcon.files.mission.UnitClassData=cljs.spec.alpha.map_spec_impl.call(null,cljs.core.PersistentHashMap.fromArrays([new cljs.core.Keyword(null,"req-un","req-un",1074571008),new cljs.core.Keyword(null,"opt-un","opt-un",883442496),new cljs.core.Keyword(null,"gfn","gfn",791517474),new cljs.core.Keyword(null,"pred-exprs","pred-exprs",1792271395),new cljs.core.Keyword(null,"keys-pred","keys-pred",858984739),new cljs.core.Keyword(null,"opt-keys","opt-keys",1262688261),new cljs.core.Keyword(null,
"req-specs","req-specs",553962313),new cljs.core.Keyword(null,"req","req",-326448303),new cljs.core.Keyword(null,"req-keys","req-keys",514319221),new cljs.core.Keyword(null,"opt-specs","opt-specs",-384905450),new cljs.core.Keyword(null,"pred-forms","pred-forms",172611832),new cljs.core.Keyword(null,"opt","opt",-794706369)],[null,null,null,new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[function(a){return cljs.core.map_QMARK_.call(null,a)}],null),function(a){return cljs.core.map_QMARK_.call(null,
a)},cljs.core.PersistentVector.EMPTY,cljs.core.PersistentVector.EMPTY,null,cljs.core.PersistentVector.EMPTY,cljs.core.PersistentVector.EMPTY,new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"%","%",-950237169,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core","map?","cljs.core/map?",
-1390345523,null),new cljs.core.Symbol(null,"%","%",-950237169,null)))],null),null]));
weathergen.falcon.files.mission.ObjectiveClassData=cljs.spec.alpha.map_spec_impl.call(null,cljs.core.PersistentHashMap.fromArrays([new cljs.core.Keyword(null,"req-un","req-un",1074571008),new cljs.core.Keyword(null,"opt-un","opt-un",883442496),new cljs.core.Keyword(null,"gfn","gfn",791517474),new cljs.core.Keyword(null,"pred-exprs","pred-exprs",1792271395),new cljs.core.Keyword(null,"keys-pred","keys-pred",858984739),new cljs.core.Keyword(null,"opt-keys","opt-keys",1262688261),new cljs.core.Keyword(null,
"req-specs","req-specs",553962313),new cljs.core.Keyword(null,"req","req",-326448303),new cljs.core.Keyword(null,"req-keys","req-keys",514319221),new cljs.core.Keyword(null,"opt-specs","opt-specs",-384905450),new cljs.core.Keyword(null,"pred-forms","pred-forms",172611832),new cljs.core.Keyword(null,"opt","opt",-794706369)],[new cljs.core.PersistentVector(null,11,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword("weathergen.falcon.files.mission","index","weathergen.falcon.files.mission/index",
-1989089649),new cljs.core.Keyword("weathergen.falcon.files.mission","name","weathergen.falcon.files.mission/name",1235339975),new cljs.core.Keyword("weathergen.falcon.files.mission","data-rate","weathergen.falcon.files.mission/data-rate",164102129),new cljs.core.Keyword("weathergen.falcon.files.mission","deag-distance","weathergen.falcon.files.mission/deag-distance",-1162764241),new cljs.core.Keyword("weathergen.falcon.files.mission","pt-data-index","weathergen.falcon.files.mission/pt-data-index",
-1736332457),new cljs.core.Keyword("weathergen.falcon.files.mission","detection","weathergen.falcon.files.mission/detection",83329163),new cljs.core.Keyword("weathergen.falcon.files.mission","damage-mod","weathergen.falcon.files.mission/damage-mod",1747505998),new cljs.core.Keyword("weathergen.falcon.files.mission","icon-index","weathergen.falcon.files.mission/icon-index",-1766996784),new cljs.core.Keyword("raw","features","raw/features",-1146784184),new cljs.core.Keyword("weathergen.falcon.files.mission",
"radar-feature","weathergen.falcon.files.mission/radar-feature",287589422),new cljs.core.Keyword("weathergen.falcon.files.mission","first-feature","weathergen.falcon.files.mission/first-feature",-2004178263)],null),null,null,new cljs.core.PersistentVector(null,12,5,cljs.core.PersistentVector.EMPTY_NODE,[function(a){return cljs.core.map_QMARK_.call(null,a)},function(a){return cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"index","index",-1531685915))},function(a){return cljs.core.contains_QMARK_.call(null,
a,new cljs.core.Keyword(null,"name","name",1843675177))},function(a){return cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"data-rate","data-rate",-1399941497))},function(a){return cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"deag-distance","deag-distance",-1721226571))},function(a){return cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"pt-data-index","pt-data-index",-54255967))},function(a){return cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,
"detection","detection",-1580072483))},function(a){return cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"damage-mod","damage-mod",-756867116))},function(a){return cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"icon-index","icon-index",-42714286))},function(a){return cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"features","features",-1146962336))},function(a){return cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"radar-feature",
"radar-feature",2111876796))},function(a){return cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"first-feature","first-feature",-1395776257))}],null),function(a){return cljs.core.map_QMARK_.call(null,a)&&cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"index","index",-1531685915))&&cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"name","name",1843675177))&&cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"data-rate","data-rate",-1399941497))&&
cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"deag-distance","deag-distance",-1721226571))&&cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"pt-data-index","pt-data-index",-54255967))&&cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"detection","detection",-1580072483))&&cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"damage-mod","damage-mod",-756867116))&&cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"icon-index",
"icon-index",-42714286))&&cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"features","features",-1146962336))&&cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"radar-feature","radar-feature",2111876796))&&cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"first-feature","first-feature",-1395776257))},cljs.core.PersistentVector.EMPTY,new cljs.core.PersistentVector(null,11,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword("weathergen.falcon.files.mission",
"index","weathergen.falcon.files.mission/index",-1989089649),new cljs.core.Keyword("weathergen.falcon.files.mission","name","weathergen.falcon.files.mission/name",1235339975),new cljs.core.Keyword("weathergen.falcon.files.mission","data-rate","weathergen.falcon.files.mission/data-rate",164102129),new cljs.core.Keyword("weathergen.falcon.files.mission","deag-distance","weathergen.falcon.files.mission/deag-distance",-1162764241),new cljs.core.Keyword("weathergen.falcon.files.mission","pt-data-index",
"weathergen.falcon.files.mission/pt-data-index",-1736332457),new cljs.core.Keyword("weathergen.falcon.files.mission","detection","weathergen.falcon.files.mission/detection",83329163),new cljs.core.Keyword("weathergen.falcon.files.mission","damage-mod","weathergen.falcon.files.mission/damage-mod",1747505998),new cljs.core.Keyword("weathergen.falcon.files.mission","icon-index","weathergen.falcon.files.mission/icon-index",-1766996784),new cljs.core.Keyword("raw","features","raw/features",-1146784184),
new cljs.core.Keyword("weathergen.falcon.files.mission","radar-feature","weathergen.falcon.files.mission/radar-feature",287589422),new cljs.core.Keyword("weathergen.falcon.files.mission","first-feature","weathergen.falcon.files.mission/first-feature",-2004178263)],null),null,new cljs.core.PersistentVector(null,11,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"index","index",-1531685915),new cljs.core.Keyword(null,"name","name",1843675177),new cljs.core.Keyword(null,"data-rate",
"data-rate",-1399941497),new cljs.core.Keyword(null,"deag-distance","deag-distance",-1721226571),new cljs.core.Keyword(null,"pt-data-index","pt-data-index",-54255967),new cljs.core.Keyword(null,"detection","detection",-1580072483),new cljs.core.Keyword(null,"damage-mod","damage-mod",-756867116),new cljs.core.Keyword(null,"icon-index","icon-index",-42714286),new cljs.core.Keyword(null,"features","features",-1146962336),new cljs.core.Keyword(null,"radar-feature","radar-feature",2111876796),new cljs.core.Keyword(null,
"first-feature","first-feature",-1395776257)],null),cljs.core.PersistentVector.EMPTY,new cljs.core.PersistentVector(null,12,5,cljs.core.PersistentVector.EMPTY_NODE,[cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"%","%",-950237169,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core","map?","cljs.core/map?",-1390345523,null),new cljs.core.Symbol(null,
"%","%",-950237169,null))),cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"%","%",-950237169,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core","contains?","cljs.core/contains?",-976526835,null),new cljs.core.Symbol(null,"%","%",-950237169,null),new cljs.core.Keyword(null,"index","index",-1531685915))),cljs.core.list(new cljs.core.Symbol("cljs.core",
"fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"%","%",-950237169,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core","contains?","cljs.core/contains?",-976526835,null),new cljs.core.Symbol(null,"%","%",-950237169,null),new cljs.core.Keyword(null,"name","name",1843675177))),cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null,
1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"%","%",-950237169,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core","contains?","cljs.core/contains?",-976526835,null),new cljs.core.Symbol(null,"%","%",-950237169,null),new cljs.core.Keyword(null,"data-rate","data-rate",-1399941497))),cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,
"%","%",-950237169,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core","contains?","cljs.core/contains?",-976526835,null),new cljs.core.Symbol(null,"%","%",-950237169,null),new cljs.core.Keyword(null,"deag-distance","deag-distance",-1721226571))),cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"%","%",-950237169,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core",
"contains?","cljs.core/contains?",-976526835,null),new cljs.core.Symbol(null,"%","%",-950237169,null),new cljs.core.Keyword(null,"pt-data-index","pt-data-index",-54255967))),cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"%","%",-950237169,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core","contains?","cljs.core/contains?",-976526835,null),new cljs.core.Symbol(null,
"%","%",-950237169,null),new cljs.core.Keyword(null,"detection","detection",-1580072483))),cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"%","%",-950237169,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core","contains?","cljs.core/contains?",-976526835,null),new cljs.core.Symbol(null,"%","%",-950237169,null),new cljs.core.Keyword(null,"damage-mod",
"damage-mod",-756867116))),cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"%","%",-950237169,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core","contains?","cljs.core/contains?",-976526835,null),new cljs.core.Symbol(null,"%","%",-950237169,null),new cljs.core.Keyword(null,"icon-index","icon-index",-42714286))),cljs.core.list(new cljs.core.Symbol("cljs.core",
"fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"%","%",-950237169,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core","contains?","cljs.core/contains?",-976526835,null),new cljs.core.Symbol(null,"%","%",-950237169,null),new cljs.core.Keyword(null,"features","features",-1146962336))),cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null,
1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"%","%",-950237169,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core","contains?","cljs.core/contains?",-976526835,null),new cljs.core.Symbol(null,"%","%",-950237169,null),new cljs.core.Keyword(null,"radar-feature","radar-feature",2111876796))),cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,
"%","%",-950237169,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core","contains?","cljs.core/contains?",-976526835,null),new cljs.core.Symbol(null,"%","%",-950237169,null),new cljs.core.Keyword(null,"first-feature","first-feature",-1395776257)))],null),null]));
weathergen.falcon.files.mission.VehicleClassData=cljs.spec.alpha.map_spec_impl.call(null,cljs.core.PersistentHashMap.fromArrays([new cljs.core.Keyword(null,"req-un","req-un",1074571008),new cljs.core.Keyword(null,"opt-un","opt-un",883442496),new cljs.core.Keyword(null,"gfn","gfn",791517474),new cljs.core.Keyword(null,"pred-exprs","pred-exprs",1792271395),new cljs.core.Keyword(null,"keys-pred","keys-pred",858984739),new cljs.core.Keyword(null,"opt-keys","opt-keys",1262688261),new cljs.core.Keyword(null,
"req-specs","req-specs",553962313),new cljs.core.Keyword(null,"req","req",-326448303),new cljs.core.Keyword(null,"req-keys","req-keys",514319221),new cljs.core.Keyword(null,"opt-specs","opt-specs",-384905450),new cljs.core.Keyword(null,"pred-forms","pred-forms",172611832),new cljs.core.Keyword(null,"opt","opt",-794706369)],[new cljs.core.PersistentVector(null,28,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword("weathergen.falcon.files.mission","index","weathergen.falcon.files.mission/index",
-1989089649),new cljs.core.Keyword("weathergen.falcon.files.mission","hit-points","weathergen.falcon.files.mission/hit-points",653556402),new cljs.core.Keyword("weathergen.falcon.files.mission","flags","weathergen.falcon.files.mission/flags",-965167503),new cljs.core.Keyword("weathergen.falcon.files.mission","name","weathergen.falcon.files.mission/name",1235339975),new cljs.core.Keyword("weathergen.falcon.files.mission","nctr","weathergen.falcon.files.mission/nctr",-1365252522),new cljs.core.Keyword("weathergen.falcon.files.mission",
"rcs-factor","weathergen.falcon.files.mission/rcs-factor",863072417),new cljs.core.Keyword("weathergen.falcon.files.mission","max-wt","weathergen.falcon.files.mission/max-wt",702316109),new cljs.core.Keyword("weathergen.falcon.files.mission","empty-wt","weathergen.falcon.files.mission/empty-wt",-1868767054),new cljs.core.Keyword("weathergen.falcon.files.mission","fuel-wt","weathergen.falcon.files.mission/fuel-wt",190185840),new cljs.core.Keyword("weathergen.falcon.files.mission","fuel-econ","weathergen.falcon.files.mission/fuel-econ",
-80464711),new cljs.core.Keyword("weathergen.falcon.files.mission","engine-sound","weathergen.falcon.files.mission/engine-sound",-552832544),new cljs.core.Keyword("weathergen.falcon.files.mission","high-alt","weathergen.falcon.files.mission/high-alt",1100656247),new cljs.core.Keyword("weathergen.falcon.files.mission","low-alt","weathergen.falcon.files.mission/low-alt",1328958093),new cljs.core.Keyword("weathergen.falcon.files.mission","cruise-alt","weathergen.falcon.files.mission/cruise-alt",46459899),
new cljs.core.Keyword("weathergen.falcon.files.mission","max-speed","weathergen.falcon.files.mission/max-speed",1472926629),new cljs.core.Keyword("weathergen.falcon.files.mission","radar-type","weathergen.falcon.files.mission/radar-type",691386808),new cljs.core.Keyword("weathergen.falcon.files.mission","number-of-pilots","weathergen.falcon.files.mission/number-of-pilots",-952044599),new cljs.core.Keyword("weathergen.falcon.files.mission","rack-flags","weathergen.falcon.files.mission/rack-flags",
1517182764),new cljs.core.Keyword("weathergen.falcon.files.mission","visible-flags","weathergen.falcon.files.mission/visible-flags",1069257894),new cljs.core.Keyword("weathergen.falcon.files.mission","callsign-index","weathergen.falcon.files.mission/callsign-index",-162215987),new cljs.core.Keyword("weathergen.falcon.files.mission","callsign-slots","weathergen.falcon.files.mission/callsign-slots",1249857048),new cljs.core.Keyword("weathergen.falcon.files.mission","hit-chance","weathergen.falcon.files.mission/hit-chance",
-532962394),new cljs.core.Keyword("weathergen.falcon.files.mission","strength","weathergen.falcon.files.mission/strength",-889401924),new cljs.core.Keyword("weathergen.falcon.files.mission","range","weathergen.falcon.files.mission/range",76948868),new cljs.core.Keyword("weathergen.falcon.files.mission","detection","weathergen.falcon.files.mission/detection",83329163),new cljs.core.Keyword("weathergen.falcon.files.mission","weapon","weathergen.falcon.files.mission/weapon",1169121678),new cljs.core.Keyword("vehicle",
"weapons","vehicle/weapons",2115526130),new cljs.core.Keyword("weathergen.falcon.files.mission","damage-mod","weathergen.falcon.files.mission/damage-mod",1747505998)],null),null,null,new cljs.core.PersistentVector(null,29,5,cljs.core.PersistentVector.EMPTY_NODE,[function(a){return cljs.core.map_QMARK_.call(null,a)},function(a){return cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"index","index",-1531685915))},function(a){return cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,
"hit-points","hit-points",-906296276))},function(a){return cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"flags","flags",1775418075))},function(a){return cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"name","name",1843675177))},function(a){return cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"nctr","nctr",1306882980))},function(a){return cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"rcs-factor","rcs-factor",-693378533))},
function(a){return cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"max-wt","max-wt",220395483))},function(a){return cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"empty-wt","empty-wt",1037790536))},function(a){return cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"fuel-wt","fuel-wt",-1341155598))},function(a){return cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"fuel-econ","fuel-econ",-1774342065))},function(a){return cljs.core.contains_QMARK_.call(null,
a,new cljs.core.Keyword(null,"engine-sound","engine-sound",-1018050458))},function(a){return cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"high-alt","high-alt",-1378024467))},function(a){return cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"low-alt","low-alt",-228079593))},function(a){return cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"cruise-alt","cruise-alt",2005550721))},function(a){return cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,
"max-speed","max-speed",-997417461))},function(a){return cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"radar-type","radar-type",-1913447362))},function(a){return cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"number-of-pilots","number-of-pilots",-393973473))},function(a){return cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"rack-flags","rack-flags",-1071125122))},function(a){return cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,
"visible-flags","visible-flags",1830152500))},function(a){return cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"callsign-index","callsign-index",-2090912473))},function(a){return cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"callsign-slots","callsign-slots",-1388847774))},function(a){return cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"hit-chance","hit-chance",-2087636980))},function(a){return cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,
"strength","strength",-415606478))},function(a){return cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"range","range",1639692286))},function(a){return cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"detection","detection",-1580072483))},function(a){return cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"weapon","weapon",-504830232))},function(a){return cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"weapons","weapons",-1983639898))},
function(a){return cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"damage-mod","damage-mod",-756867116))}],null),function(a){return cljs.core.map_QMARK_.call(null,a)&&cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"index","index",-1531685915))&&cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"hit-points","hit-points",-906296276))&&cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"flags","flags",1775418075))&&cljs.core.contains_QMARK_.call(null,
a,new cljs.core.Keyword(null,"name","name",1843675177))&&cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"nctr","nctr",1306882980))&&cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"rcs-factor","rcs-factor",-693378533))&&cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"max-wt","max-wt",220395483))&&cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"empty-wt","empty-wt",1037790536))&&cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,
"fuel-wt","fuel-wt",-1341155598))&&cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"fuel-econ","fuel-econ",-1774342065))&&cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"engine-sound","engine-sound",-1018050458))&&cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"high-alt","high-alt",-1378024467))&&cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"low-alt","low-alt",-228079593))&&cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,
"cruise-alt","cruise-alt",2005550721))&&cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"max-speed","max-speed",-997417461))&&cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"radar-type","radar-type",-1913447362))&&cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"number-of-pilots","number-of-pilots",-393973473))&&cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"rack-flags","rack-flags",-1071125122))&&cljs.core.contains_QMARK_.call(null,
a,new cljs.core.Keyword(null,"visible-flags","visible-flags",1830152500))&&cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"callsign-index","callsign-index",-2090912473))&&cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"callsign-slots","callsign-slots",-1388847774))&&cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"hit-chance","hit-chance",-2087636980))&&cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"strength","strength",-415606478))&&
cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"range","range",1639692286))&&cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"detection","detection",-1580072483))&&cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"weapon","weapon",-504830232))&&cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"weapons","weapons",-1983639898))&&cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"damage-mod","damage-mod",-756867116))},
cljs.core.PersistentVector.EMPTY,new cljs.core.PersistentVector(null,28,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword("weathergen.falcon.files.mission","index","weathergen.falcon.files.mission/index",-1989089649),new cljs.core.Keyword("weathergen.falcon.files.mission","hit-points","weathergen.falcon.files.mission/hit-points",653556402),new cljs.core.Keyword("weathergen.falcon.files.mission","flags","weathergen.falcon.files.mission/flags",-965167503),new cljs.core.Keyword("weathergen.falcon.files.mission",
"name","weathergen.falcon.files.mission/name",1235339975),new cljs.core.Keyword("weathergen.falcon.files.mission","nctr","weathergen.falcon.files.mission/nctr",-1365252522),new cljs.core.Keyword("weathergen.falcon.files.mission","rcs-factor","weathergen.falcon.files.mission/rcs-factor",863072417),new cljs.core.Keyword("weathergen.falcon.files.mission","max-wt","weathergen.falcon.files.mission/max-wt",702316109),new cljs.core.Keyword("weathergen.falcon.files.mission","empty-wt","weathergen.falcon.files.mission/empty-wt",
-1868767054),new cljs.core.Keyword("weathergen.falcon.files.mission","fuel-wt","weathergen.falcon.files.mission/fuel-wt",190185840),new cljs.core.Keyword("weathergen.falcon.files.mission","fuel-econ","weathergen.falcon.files.mission/fuel-econ",-80464711),new cljs.core.Keyword("weathergen.falcon.files.mission","engine-sound","weathergen.falcon.files.mission/engine-sound",-552832544),new cljs.core.Keyword("weathergen.falcon.files.mission","high-alt","weathergen.falcon.files.mission/high-alt",1100656247),
new cljs.core.Keyword("weathergen.falcon.files.mission","low-alt","weathergen.falcon.files.mission/low-alt",1328958093),new cljs.core.Keyword("weathergen.falcon.files.mission","cruise-alt","weathergen.falcon.files.mission/cruise-alt",46459899),new cljs.core.Keyword("weathergen.falcon.files.mission","max-speed","weathergen.falcon.files.mission/max-speed",1472926629),new cljs.core.Keyword("weathergen.falcon.files.mission","radar-type","weathergen.falcon.files.mission/radar-type",691386808),new cljs.core.Keyword("weathergen.falcon.files.mission",
"number-of-pilots","weathergen.falcon.files.mission/number-of-pilots",-952044599),new cljs.core.Keyword("weathergen.falcon.files.mission","rack-flags","weathergen.falcon.files.mission/rack-flags",1517182764),new cljs.core.Keyword("weathergen.falcon.files.mission","visible-flags","weathergen.falcon.files.mission/visible-flags",1069257894),new cljs.core.Keyword("weathergen.falcon.files.mission","callsign-index","weathergen.falcon.files.mission/callsign-index",-162215987),new cljs.core.Keyword("weathergen.falcon.files.mission",
"callsign-slots","weathergen.falcon.files.mission/callsign-slots",1249857048),new cljs.core.Keyword("weathergen.falcon.files.mission","hit-chance","weathergen.falcon.files.mission/hit-chance",-532962394),new cljs.core.Keyword("weathergen.falcon.files.mission","strength","weathergen.falcon.files.mission/strength",-889401924),new cljs.core.Keyword("weathergen.falcon.files.mission","range","weathergen.falcon.files.mission/range",76948868),new cljs.core.Keyword("weathergen.falcon.files.mission","detection",
"weathergen.falcon.files.mission/detection",83329163),new cljs.core.Keyword("weathergen.falcon.files.mission","weapon","weathergen.falcon.files.mission/weapon",1169121678),new cljs.core.Keyword("vehicle","weapons","vehicle/weapons",2115526130),new cljs.core.Keyword("weathergen.falcon.files.mission","damage-mod","weathergen.falcon.files.mission/damage-mod",1747505998)],null),null,new cljs.core.PersistentVector(null,28,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"index","index",
-1531685915),new cljs.core.Keyword(null,"hit-points","hit-points",-906296276),new cljs.core.Keyword(null,"flags","flags",1775418075),new cljs.core.Keyword(null,"name","name",1843675177),new cljs.core.Keyword(null,"nctr","nctr",1306882980),new cljs.core.Keyword(null,"rcs-factor","rcs-factor",-693378533),new cljs.core.Keyword(null,"max-wt","max-wt",220395483),new cljs.core.Keyword(null,"empty-wt","empty-wt",1037790536),new cljs.core.Keyword(null,"fuel-wt","fuel-wt",-1341155598),new cljs.core.Keyword(null,
"fuel-econ","fuel-econ",-1774342065),new cljs.core.Keyword(null,"engine-sound","engine-sound",-1018050458),new cljs.core.Keyword(null,"high-alt","high-alt",-1378024467),new cljs.core.Keyword(null,"low-alt","low-alt",-228079593),new cljs.core.Keyword(null,"cruise-alt","cruise-alt",2005550721),new cljs.core.Keyword(null,"max-speed","max-speed",-997417461),new cljs.core.Keyword(null,"radar-type","radar-type",-1913447362),new cljs.core.Keyword(null,"number-of-pilots","number-of-pilots",-393973473),new cljs.core.Keyword(null,
"rack-flags","rack-flags",-1071125122),new cljs.core.Keyword(null,"visible-flags","visible-flags",1830152500),new cljs.core.Keyword(null,"callsign-index","callsign-index",-2090912473),new cljs.core.Keyword(null,"callsign-slots","callsign-slots",-1388847774),new cljs.core.Keyword(null,"hit-chance","hit-chance",-2087636980),new cljs.core.Keyword(null,"strength","strength",-415606478),new cljs.core.Keyword(null,"range","range",1639692286),new cljs.core.Keyword(null,"detection","detection",-1580072483),
new cljs.core.Keyword(null,"weapon","weapon",-504830232),new cljs.core.Keyword(null,"weapons","weapons",-1983639898),new cljs.core.Keyword(null,"damage-mod","damage-mod",-756867116)],null),cljs.core.PersistentVector.EMPTY,new cljs.core.PersistentVector(null,29,5,cljs.core.PersistentVector.EMPTY_NODE,[cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"%","%",
-950237169,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core","map?","cljs.core/map?",-1390345523,null),new cljs.core.Symbol(null,"%","%",-950237169,null))),cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"%","%",-950237169,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core","contains?","cljs.core/contains?",-976526835,null),new cljs.core.Symbol(null,
"%","%",-950237169,null),new cljs.core.Keyword(null,"index","index",-1531685915))),cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"%","%",-950237169,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core","contains?","cljs.core/contains?",-976526835,null),new cljs.core.Symbol(null,"%","%",-950237169,null),new cljs.core.Keyword(null,"hit-points","hit-points",
-906296276))),cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"%","%",-950237169,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core","contains?","cljs.core/contains?",-976526835,null),new cljs.core.Symbol(null,"%","%",-950237169,null),new cljs.core.Keyword(null,"flags","flags",1775418075))),cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",
-1065745098,null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"%","%",-950237169,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core","contains?","cljs.core/contains?",-976526835,null),new cljs.core.Symbol(null,"%","%",-950237169,null),new cljs.core.Keyword(null,"name","name",1843675177))),cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,
[new cljs.core.Symbol(null,"%","%",-950237169,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core","contains?","cljs.core/contains?",-976526835,null),new cljs.core.Symbol(null,"%","%",-950237169,null),new cljs.core.Keyword(null,"nctr","nctr",1306882980))),cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"%","%",-950237169,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core",
"contains?","cljs.core/contains?",-976526835,null),new cljs.core.Symbol(null,"%","%",-950237169,null),new cljs.core.Keyword(null,"rcs-factor","rcs-factor",-693378533))),cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"%","%",-950237169,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core","contains?","cljs.core/contains?",-976526835,null),new cljs.core.Symbol(null,
"%","%",-950237169,null),new cljs.core.Keyword(null,"max-wt","max-wt",220395483))),cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"%","%",-950237169,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core","contains?","cljs.core/contains?",-976526835,null),new cljs.core.Symbol(null,"%","%",-950237169,null),new cljs.core.Keyword(null,"empty-wt","empty-wt",
1037790536))),cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"%","%",-950237169,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core","contains?","cljs.core/contains?",-976526835,null),new cljs.core.Symbol(null,"%","%",-950237169,null),new cljs.core.Keyword(null,"fuel-wt","fuel-wt",-1341155598))),cljs.core.list(new cljs.core.Symbol("cljs.core","fn",
"cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"%","%",-950237169,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core","contains?","cljs.core/contains?",-976526835,null),new cljs.core.Symbol(null,"%","%",-950237169,null),new cljs.core.Keyword(null,"fuel-econ","fuel-econ",-1774342065))),cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null,
1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"%","%",-950237169,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core","contains?","cljs.core/contains?",-976526835,null),new cljs.core.Symbol(null,"%","%",-950237169,null),new cljs.core.Keyword(null,"engine-sound","engine-sound",-1018050458))),cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,
"%","%",-950237169,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core","contains?","cljs.core/contains?",-976526835,null),new cljs.core.Symbol(null,"%","%",-950237169,null),new cljs.core.Keyword(null,"high-alt","high-alt",-1378024467))),cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"%","%",-950237169,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core",
"contains?","cljs.core/contains?",-976526835,null),new cljs.core.Symbol(null,"%","%",-950237169,null),new cljs.core.Keyword(null,"low-alt","low-alt",-228079593))),cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"%","%",-950237169,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core","contains?","cljs.core/contains?",-976526835,null),new cljs.core.Symbol(null,
"%","%",-950237169,null),new cljs.core.Keyword(null,"cruise-alt","cruise-alt",2005550721))),cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"%","%",-950237169,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core","contains?","cljs.core/contains?",-976526835,null),new cljs.core.Symbol(null,"%","%",-950237169,null),new cljs.core.Keyword(null,"max-speed",
"max-speed",-997417461))),cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"%","%",-950237169,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core","contains?","cljs.core/contains?",-976526835,null),new cljs.core.Symbol(null,"%","%",-950237169,null),new cljs.core.Keyword(null,"radar-type","radar-type",-1913447362))),cljs.core.list(new cljs.core.Symbol("cljs.core",
"fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"%","%",-950237169,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core","contains?","cljs.core/contains?",-976526835,null),new cljs.core.Symbol(null,"%","%",-950237169,null),new cljs.core.Keyword(null,"number-of-pilots","number-of-pilots",-393973473))),cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null,
1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"%","%",-950237169,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core","contains?","cljs.core/contains?",-976526835,null),new cljs.core.Symbol(null,"%","%",-950237169,null),new cljs.core.Keyword(null,"rack-flags","rack-flags",-1071125122))),cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,
"%","%",-950237169,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core","contains?","cljs.core/contains?",-976526835,null),new cljs.core.Symbol(null,"%","%",-950237169,null),new cljs.core.Keyword(null,"visible-flags","visible-flags",1830152500))),cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"%","%",-950237169,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core",
"contains?","cljs.core/contains?",-976526835,null),new cljs.core.Symbol(null,"%","%",-950237169,null),new cljs.core.Keyword(null,"callsign-index","callsign-index",-2090912473))),cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"%","%",-950237169,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core","contains?","cljs.core/contains?",-976526835,null),new cljs.core.Symbol(null,
"%","%",-950237169,null),new cljs.core.Keyword(null,"callsign-slots","callsign-slots",-1388847774))),cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"%","%",-950237169,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core","contains?","cljs.core/contains?",-976526835,null),new cljs.core.Symbol(null,"%","%",-950237169,null),new cljs.core.Keyword(null,
"hit-chance","hit-chance",-2087636980))),cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"%","%",-950237169,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core","contains?","cljs.core/contains?",-976526835,null),new cljs.core.Symbol(null,"%","%",-950237169,null),new cljs.core.Keyword(null,"strength","strength",-415606478))),cljs.core.list(new cljs.core.Symbol("cljs.core",
"fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"%","%",-950237169,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core","contains?","cljs.core/contains?",-976526835,null),new cljs.core.Symbol(null,"%","%",-950237169,null),new cljs.core.Keyword(null,"range","range",1639692286))),cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null,
1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"%","%",-950237169,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core","contains?","cljs.core/contains?",-976526835,null),new cljs.core.Symbol(null,"%","%",-950237169,null),new cljs.core.Keyword(null,"detection","detection",-1580072483))),cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,
"%","%",-950237169,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core","contains?","cljs.core/contains?",-976526835,null),new cljs.core.Symbol(null,"%","%",-950237169,null),new cljs.core.Keyword(null,"weapon","weapon",-504830232))),cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"%","%",-950237169,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core",
"contains?","cljs.core/contains?",-976526835,null),new cljs.core.Symbol(null,"%","%",-950237169,null),new cljs.core.Keyword(null,"weapons","weapons",-1983639898))),cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"%","%",-950237169,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core","contains?","cljs.core/contains?",-976526835,null),new cljs.core.Symbol(null,
"%","%",-950237169,null),new cljs.core.Keyword(null,"damage-mod","damage-mod",-756867116)))],null),null]));
weathergen.falcon.files.mission.WeaponClassData=cljs.spec.alpha.map_spec_impl.call(null,cljs.core.PersistentHashMap.fromArrays([new cljs.core.Keyword(null,"req-un","req-un",1074571008),new cljs.core.Keyword(null,"opt-un","opt-un",883442496),new cljs.core.Keyword(null,"gfn","gfn",791517474),new cljs.core.Keyword(null,"pred-exprs","pred-exprs",1792271395),new cljs.core.Keyword(null,"keys-pred","keys-pred",858984739),new cljs.core.Keyword(null,"opt-keys","opt-keys",1262688261),new cljs.core.Keyword(null,
"req-specs","req-specs",553962313),new cljs.core.Keyword(null,"req","req",-326448303),new cljs.core.Keyword(null,"req-keys","req-keys",514319221),new cljs.core.Keyword(null,"opt-specs","opt-specs",-384905450),new cljs.core.Keyword(null,"pred-forms","pred-forms",172611832),new cljs.core.Keyword(null,"opt","opt",-794706369)],[new cljs.core.PersistentVector(null,17,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword("weathergen.falcon.files.mission","blast-radius","weathergen.falcon.files.mission/blast-radius",
-893643496),new cljs.core.Keyword("weathergen.falcon.files.mission","collective","weathergen.falcon.files.mission/collective",917301039),new cljs.core.Keyword("weathergen.falcon.files.mission","damage-type","weathergen.falcon.files.mission/damage-type",-1873891064),new cljs.core.Keyword("weathergen.falcon.files.mission","drag-index","weathergen.falcon.files.mission/drag-index",-2005929375),new cljs.core.Keyword("weathergen.falcon.files.mission","fire-rate","weathergen.falcon.files.mission/fire-rate",
71993823),new cljs.core.Keyword("weathergen.falcon.files.mission","flags","weathergen.falcon.files.mission/flags",-965167503),new cljs.core.Keyword("weathergen.falcon.files.mission","guidance-flags","weathergen.falcon.files.mission/guidance-flags",-1984721442),new cljs.core.Keyword("weathergen.falcon.files.mission","hit-chance","weathergen.falcon.files.mission/hit-chance",-532962394),new cljs.core.Keyword("weathergen.falcon.files.mission","max-alt","weathergen.falcon.files.mission/max-alt",1099967840),
new cljs.core.Keyword("weathergen.falcon.files.mission","name","weathergen.falcon.files.mission/name",1235339975),new cljs.core.Keyword("weathergen.falcon.files.mission","radar-type","weathergen.falcon.files.mission/radar-type",691386808),new cljs.core.Keyword("weathergen.falcon.files.mission","range","weathergen.falcon.files.mission/range",76948868),new cljs.core.Keyword("weathergen.falcon.files.mission","rariety","weathergen.falcon.files.mission/rariety",1140404326),new cljs.core.Keyword("weathergen.falcon.files.mission",
"sim-data-idx","weathergen.falcon.files.mission/sim-data-idx",-157488080),new cljs.core.Keyword("weathergen.falcon.files.mission","simweap-index","weathergen.falcon.files.mission/simweap-index",-24898421),new cljs.core.Keyword("weathergen.falcon.files.mission","strength","weathergen.falcon.files.mission/strength",-889401924),new cljs.core.Keyword("weathergen.falcon.files.mission","weight","weathergen.falcon.files.mission/weight",167623877)],null),null,null,new cljs.core.PersistentVector(null,19,5,
cljs.core.PersistentVector.EMPTY_NODE,[function(a){return cljs.core.map_QMARK_.call(null,a)},function(a){return cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword("weathergen.falcon.files.mission","index","weathergen.falcon.files.mission/index",-1989089649))},function(a){return cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"blast-radius","blast-radius",796954270))},function(a){return cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"collective","collective",
-1678283599))},function(a){return cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"damage-type","damage-type",898770578))},function(a){return cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"drag-index","drag-index",-207918117))},function(a){return cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"fire-rate","fire-rate",-1458689931))},function(a){return cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"flags","flags",1775418075))},
function(a){return cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"guidance-flags","guidance-flags",343892844))},function(a){return cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"hit-chance","hit-chance",-2087636980))},function(a){return cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"max-alt","max-alt",-363233306))},function(a){return cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"name","name",1843675177))},function(a){return cljs.core.contains_QMARK_.call(null,
a,new cljs.core.Keyword(null,"radar-type","radar-type",-1913447362))},function(a){return cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"range","range",1639692286))},function(a){return cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"rariety","rariety",1749498612))},function(a){return cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"sim-data-idx","sim-data-idx",-713604174))},function(a){return cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,
"simweap-index","simweap-index",1674222081))},function(a){return cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"strength","strength",-415606478))},function(a){return cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"weight","weight",-1262796205))}],null),function(a){return cljs.core.map_QMARK_.call(null,a)&&cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword("weathergen.falcon.files.mission","index","weathergen.falcon.files.mission/index",-1989089649))&&
cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"blast-radius","blast-radius",796954270))&&cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"collective","collective",-1678283599))&&cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"damage-type","damage-type",898770578))&&cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"drag-index","drag-index",-207918117))&&cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"fire-rate",
"fire-rate",-1458689931))&&cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"flags","flags",1775418075))&&cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"guidance-flags","guidance-flags",343892844))&&cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"hit-chance","hit-chance",-2087636980))&&cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"max-alt","max-alt",-363233306))&&cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,
"name","name",1843675177))&&cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"radar-type","radar-type",-1913447362))&&cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"range","range",1639692286))&&cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"rariety","rariety",1749498612))&&cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"sim-data-idx","sim-data-idx",-713604174))&&cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,
"simweap-index","simweap-index",1674222081))&&cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"strength","strength",-415606478))&&cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"weight","weight",-1262796205))},cljs.core.PersistentVector.EMPTY,new cljs.core.PersistentVector(null,18,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword("weathergen.falcon.files.mission","index","weathergen.falcon.files.mission/index",-1989089649),new cljs.core.Keyword("weathergen.falcon.files.mission",
"blast-radius","weathergen.falcon.files.mission/blast-radius",-893643496),new cljs.core.Keyword("weathergen.falcon.files.mission","collective","weathergen.falcon.files.mission/collective",917301039),new cljs.core.Keyword("weathergen.falcon.files.mission","damage-type","weathergen.falcon.files.mission/damage-type",-1873891064),new cljs.core.Keyword("weathergen.falcon.files.mission","drag-index","weathergen.falcon.files.mission/drag-index",-2005929375),new cljs.core.Keyword("weathergen.falcon.files.mission",
"fire-rate","weathergen.falcon.files.mission/fire-rate",71993823),new cljs.core.Keyword("weathergen.falcon.files.mission","flags","weathergen.falcon.files.mission/flags",-965167503),new cljs.core.Keyword("weathergen.falcon.files.mission","guidance-flags","weathergen.falcon.files.mission/guidance-flags",-1984721442),new cljs.core.Keyword("weathergen.falcon.files.mission","hit-chance","weathergen.falcon.files.mission/hit-chance",-532962394),new cljs.core.Keyword("weathergen.falcon.files.mission","max-alt",
"weathergen.falcon.files.mission/max-alt",1099967840),new cljs.core.Keyword("weathergen.falcon.files.mission","name","weathergen.falcon.files.mission/name",1235339975),new cljs.core.Keyword("weathergen.falcon.files.mission","radar-type","weathergen.falcon.files.mission/radar-type",691386808),new cljs.core.Keyword("weathergen.falcon.files.mission","range","weathergen.falcon.files.mission/range",76948868),new cljs.core.Keyword("weathergen.falcon.files.mission","rariety","weathergen.falcon.files.mission/rariety",
1140404326),new cljs.core.Keyword("weathergen.falcon.files.mission","sim-data-idx","weathergen.falcon.files.mission/sim-data-idx",-157488080),new cljs.core.Keyword("weathergen.falcon.files.mission","simweap-index","weathergen.falcon.files.mission/simweap-index",-24898421),new cljs.core.Keyword("weathergen.falcon.files.mission","strength","weathergen.falcon.files.mission/strength",-889401924),new cljs.core.Keyword("weathergen.falcon.files.mission","weight","weathergen.falcon.files.mission/weight",
167623877)],null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword("weathergen.falcon.files.mission","index","weathergen.falcon.files.mission/index",-1989089649)],null),new cljs.core.PersistentVector(null,18,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword("weathergen.falcon.files.mission","index","weathergen.falcon.files.mission/index",-1989089649),new cljs.core.Keyword(null,"blast-radius","blast-radius",796954270),new cljs.core.Keyword(null,
"collective","collective",-1678283599),new cljs.core.Keyword(null,"damage-type","damage-type",898770578),new cljs.core.Keyword(null,"drag-index","drag-index",-207918117),new cljs.core.Keyword(null,"fire-rate","fire-rate",-1458689931),new cljs.core.Keyword(null,"flags","flags",1775418075),new cljs.core.Keyword(null,"guidance-flags","guidance-flags",343892844),new cljs.core.Keyword(null,"hit-chance","hit-chance",-2087636980),new cljs.core.Keyword(null,"max-alt","max-alt",-363233306),new cljs.core.Keyword(null,
"name","name",1843675177),new cljs.core.Keyword(null,"radar-type","radar-type",-1913447362),new cljs.core.Keyword(null,"range","range",1639692286),new cljs.core.Keyword(null,"rariety","rariety",1749498612),new cljs.core.Keyword(null,"sim-data-idx","sim-data-idx",-713604174),new cljs.core.Keyword(null,"simweap-index","simweap-index",1674222081),new cljs.core.Keyword(null,"strength","strength",-415606478),new cljs.core.Keyword(null,"weight","weight",-1262796205)],null),cljs.core.PersistentVector.EMPTY,
new cljs.core.PersistentVector(null,19,5,cljs.core.PersistentVector.EMPTY_NODE,[cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"%","%",-950237169,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core","map?","cljs.core/map?",-1390345523,null),new cljs.core.Symbol(null,"%","%",-950237169,null))),cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",
-1065745098,null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"%","%",-950237169,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core","contains?","cljs.core/contains?",-976526835,null),new cljs.core.Symbol(null,"%","%",-950237169,null),new cljs.core.Keyword("weathergen.falcon.files.mission","index","weathergen.falcon.files.mission/index",-1989089649))),cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,
null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"%","%",-950237169,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core","contains?","cljs.core/contains?",-976526835,null),new cljs.core.Symbol(null,"%","%",-950237169,null),new cljs.core.Keyword(null,"blast-radius","blast-radius",796954270))),cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,
[new cljs.core.Symbol(null,"%","%",-950237169,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core","contains?","cljs.core/contains?",-976526835,null),new cljs.core.Symbol(null,"%","%",-950237169,null),new cljs.core.Keyword(null,"collective","collective",-1678283599))),cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"%","%",-950237169,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core",
"contains?","cljs.core/contains?",-976526835,null),new cljs.core.Symbol(null,"%","%",-950237169,null),new cljs.core.Keyword(null,"damage-type","damage-type",898770578))),cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"%","%",-950237169,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core","contains?","cljs.core/contains?",-976526835,null),new cljs.core.Symbol(null,
"%","%",-950237169,null),new cljs.core.Keyword(null,"drag-index","drag-index",-207918117))),cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"%","%",-950237169,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core","contains?","cljs.core/contains?",-976526835,null),new cljs.core.Symbol(null,"%","%",-950237169,null),new cljs.core.Keyword(null,"fire-rate",
"fire-rate",-1458689931))),cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"%","%",-950237169,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core","contains?","cljs.core/contains?",-976526835,null),new cljs.core.Symbol(null,"%","%",-950237169,null),new cljs.core.Keyword(null,"flags","flags",1775418075))),cljs.core.list(new cljs.core.Symbol("cljs.core",
"fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"%","%",-950237169,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core","contains?","cljs.core/contains?",-976526835,null),new cljs.core.Symbol(null,"%","%",-950237169,null),new cljs.core.Keyword(null,"guidance-flags","guidance-flags",343892844))),cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null,
1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"%","%",-950237169,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core","contains?","cljs.core/contains?",-976526835,null),new cljs.core.Symbol(null,"%","%",-950237169,null),new cljs.core.Keyword(null,"hit-chance","hit-chance",-2087636980))),cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,
"%","%",-950237169,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core","contains?","cljs.core/contains?",-976526835,null),new cljs.core.Symbol(null,"%","%",-950237169,null),new cljs.core.Keyword(null,"max-alt","max-alt",-363233306))),cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"%","%",-950237169,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core",
"contains?","cljs.core/contains?",-976526835,null),new cljs.core.Symbol(null,"%","%",-950237169,null),new cljs.core.Keyword(null,"name","name",1843675177))),cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"%","%",-950237169,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core","contains?","cljs.core/contains?",-976526835,null),new cljs.core.Symbol(null,
"%","%",-950237169,null),new cljs.core.Keyword(null,"radar-type","radar-type",-1913447362))),cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"%","%",-950237169,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core","contains?","cljs.core/contains?",-976526835,null),new cljs.core.Symbol(null,"%","%",-950237169,null),new cljs.core.Keyword(null,"range",
"range",1639692286))),cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"%","%",-950237169,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core","contains?","cljs.core/contains?",-976526835,null),new cljs.core.Symbol(null,"%","%",-950237169,null),new cljs.core.Keyword(null,"rariety","rariety",1749498612))),cljs.core.list(new cljs.core.Symbol("cljs.core",
"fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"%","%",-950237169,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core","contains?","cljs.core/contains?",-976526835,null),new cljs.core.Symbol(null,"%","%",-950237169,null),new cljs.core.Keyword(null,"sim-data-idx","sim-data-idx",-713604174))),cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null,
1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"%","%",-950237169,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core","contains?","cljs.core/contains?",-976526835,null),new cljs.core.Symbol(null,"%","%",-950237169,null),new cljs.core.Keyword(null,"simweap-index","simweap-index",1674222081))),cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,
"%","%",-950237169,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core","contains?","cljs.core/contains?",-976526835,null),new cljs.core.Symbol(null,"%","%",-950237169,null),new cljs.core.Keyword(null,"strength","strength",-415606478))),cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"%","%",-950237169,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core",
"contains?","cljs.core/contains?",-976526835,null),new cljs.core.Symbol(null,"%","%",-950237169,null),new cljs.core.Keyword(null,"weight","weight",-1262796205)))],null),null]));
weathergen.falcon.files.mission.Weapon=cljs.spec.alpha.merge_spec_impl.call(null,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol("weathergen.falcon.files.mission","WeaponClassData","weathergen.falcon.files.mission/WeaponClassData",494120455,null),cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha","keys","cljs.spec.alpha/keys",1109346032,null),new cljs.core.Keyword(null,"req","req",-326448303),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,
[new cljs.core.Keyword("weathergen.falcon.files.mission","name","weathergen.falcon.files.mission/name",1235339975)],null))],null),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[weathergen.falcon.files.mission.WeaponClassData,cljs.spec.alpha.map_spec_impl.call(null,cljs.core.PersistentHashMap.fromArrays([new cljs.core.Keyword(null,"req-un","req-un",1074571008),new cljs.core.Keyword(null,"opt-un","opt-un",883442496),new cljs.core.Keyword(null,"gfn","gfn",791517474),new cljs.core.Keyword(null,
"pred-exprs","pred-exprs",1792271395),new cljs.core.Keyword(null,"keys-pred","keys-pred",858984739),new cljs.core.Keyword(null,"opt-keys","opt-keys",1262688261),new cljs.core.Keyword(null,"req-specs","req-specs",553962313),new cljs.core.Keyword(null,"req","req",-326448303),new cljs.core.Keyword(null,"req-keys","req-keys",514319221),new cljs.core.Keyword(null,"opt-specs","opt-specs",-384905450),new cljs.core.Keyword(null,"pred-forms","pred-forms",172611832),new cljs.core.Keyword(null,"opt","opt",-794706369)],
[null,null,null,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[function(a){return cljs.core.map_QMARK_.call(null,a)},function(a){return cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword("weathergen.falcon.files.mission","name","weathergen.falcon.files.mission/name",1235339975))}],null),function(a){return cljs.core.map_QMARK_.call(null,a)&&cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword("weathergen.falcon.files.mission","name","weathergen.falcon.files.mission/name",
1235339975))},cljs.core.PersistentVector.EMPTY,new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword("weathergen.falcon.files.mission","name","weathergen.falcon.files.mission/name",1235339975)],null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword("weathergen.falcon.files.mission","name","weathergen.falcon.files.mission/name",1235339975)],null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,
[new cljs.core.Keyword("weathergen.falcon.files.mission","name","weathergen.falcon.files.mission/name",1235339975)],null),cljs.core.PersistentVector.EMPTY,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"%","%",-950237169,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core",
"map?","cljs.core/map?",-1390345523,null),new cljs.core.Symbol(null,"%","%",-950237169,null))),cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"%","%",-950237169,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core","contains?","cljs.core/contains?",-976526835,null),new cljs.core.Symbol(null,"%","%",-950237169,null),new cljs.core.Keyword("weathergen.falcon.files.mission",
"name","weathergen.falcon.files.mission/name",1235339975)))],null),null]))],null),null);
weathergen.falcon.files.mission.FeatureClassData=cljs.spec.alpha.map_spec_impl.call(null,cljs.core.PersistentHashMap.fromArrays([new cljs.core.Keyword(null,"req-un","req-un",1074571008),new cljs.core.Keyword(null,"opt-un","opt-un",883442496),new cljs.core.Keyword(null,"gfn","gfn",791517474),new cljs.core.Keyword(null,"pred-exprs","pred-exprs",1792271395),new cljs.core.Keyword(null,"keys-pred","keys-pred",858984739),new cljs.core.Keyword(null,"opt-keys","opt-keys",1262688261),new cljs.core.Keyword(null,
"req-specs","req-specs",553962313),new cljs.core.Keyword(null,"req","req",-326448303),new cljs.core.Keyword(null,"req-keys","req-keys",514319221),new cljs.core.Keyword(null,"opt-specs","opt-specs",-384905450),new cljs.core.Keyword(null,"pred-forms","pred-forms",172611832),new cljs.core.Keyword(null,"opt","opt",-794706369)],[new cljs.core.PersistentVector(null,10,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword("weathergen.falcon.files.mission","repair-time","weathergen.falcon.files.mission/repair-time",
-868535751),new cljs.core.Keyword("weathergen.falcon.files.mission","priority","weathergen.falcon.files.mission/priority",1887991877),new cljs.core.Keyword("weathergen.falcon.files.mission","flags","weathergen.falcon.files.mission/flags",-965167503),new cljs.core.Keyword("weathergen.falcon.files.mission","name","weathergen.falcon.files.mission/name",1235339975),new cljs.core.Keyword("weathergen.falcon.files.mission","hit-points","weathergen.falcon.files.mission/hit-points",653556402),new cljs.core.Keyword("weathergen.falcon.files.mission",
"height","weathergen.falcon.files.mission/height",433886072),new cljs.core.Keyword("weathergen.falcon.files.mission","angle","weathergen.falcon.files.mission/angle",-1008427980),new cljs.core.Keyword("weathergen.falcon.files.mission","radar-type","weathergen.falcon.files.mission/radar-type",691386808),new cljs.core.Keyword("weathergen.falcon.files.mission","detection","weathergen.falcon.files.mission/detection",83329163),new cljs.core.Keyword("weathergen.falcon.files.mission","damage-mod","weathergen.falcon.files.mission/damage-mod",
1747505998)],null),null,null,new cljs.core.PersistentVector(null,11,5,cljs.core.PersistentVector.EMPTY_NODE,[function(a){return cljs.core.map_QMARK_.call(null,a)},function(a){return cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"repair-time","repair-time",699642051))},function(a){return cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"priority","priority",1431093715))},function(a){return cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"flags","flags",
1775418075))},function(a){return cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"name","name",1843675177))},function(a){return cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"hit-points","hit-points",-906296276))},function(a){return cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"height","height",1025178622))},function(a){return cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"angle","angle",1622094254))},function(a){return cljs.core.contains_QMARK_.call(null,
a,new cljs.core.Keyword(null,"radar-type","radar-type",-1913447362))},function(a){return cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"detection","detection",-1580072483))},function(a){return cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"damage-mod","damage-mod",-756867116))}],null),function(a){return cljs.core.map_QMARK_.call(null,a)&&cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"repair-time","repair-time",699642051))&&cljs.core.contains_QMARK_.call(null,
a,new cljs.core.Keyword(null,"priority","priority",1431093715))&&cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"flags","flags",1775418075))&&cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"name","name",1843675177))&&cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"hit-points","hit-points",-906296276))&&cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"height","height",1025178622))&&cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,
"angle","angle",1622094254))&&cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"radar-type","radar-type",-1913447362))&&cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"detection","detection",-1580072483))&&cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"damage-mod","damage-mod",-756867116))},cljs.core.PersistentVector.EMPTY,new cljs.core.PersistentVector(null,10,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword("weathergen.falcon.files.mission",
"repair-time","weathergen.falcon.files.mission/repair-time",-868535751),new cljs.core.Keyword("weathergen.falcon.files.mission","priority","weathergen.falcon.files.mission/priority",1887991877),new cljs.core.Keyword("weathergen.falcon.files.mission","flags","weathergen.falcon.files.mission/flags",-965167503),new cljs.core.Keyword("weathergen.falcon.files.mission","name","weathergen.falcon.files.mission/name",1235339975),new cljs.core.Keyword("weathergen.falcon.files.mission","hit-points","weathergen.falcon.files.mission/hit-points",
653556402),new cljs.core.Keyword("weathergen.falcon.files.mission","height","weathergen.falcon.files.mission/height",433886072),new cljs.core.Keyword("weathergen.falcon.files.mission","angle","weathergen.falcon.files.mission/angle",-1008427980),new cljs.core.Keyword("weathergen.falcon.files.mission","radar-type","weathergen.falcon.files.mission/radar-type",691386808),new cljs.core.Keyword("weathergen.falcon.files.mission","detection","weathergen.falcon.files.mission/detection",83329163),new cljs.core.Keyword("weathergen.falcon.files.mission",
"damage-mod","weathergen.falcon.files.mission/damage-mod",1747505998)],null),null,new cljs.core.PersistentVector(null,10,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"repair-time","repair-time",699642051),new cljs.core.Keyword(null,"priority","priority",1431093715),new cljs.core.Keyword(null,"flags","flags",1775418075),new cljs.core.Keyword(null,"name","name",1843675177),new cljs.core.Keyword(null,"hit-points","hit-points",-906296276),new cljs.core.Keyword(null,"height","height",
1025178622),new cljs.core.Keyword(null,"angle","angle",1622094254),new cljs.core.Keyword(null,"radar-type","radar-type",-1913447362),new cljs.core.Keyword(null,"detection","detection",-1580072483),new cljs.core.Keyword(null,"damage-mod","damage-mod",-756867116)],null),cljs.core.PersistentVector.EMPTY,new cljs.core.PersistentVector(null,11,5,cljs.core.PersistentVector.EMPTY_NODE,[cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null,
1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"%","%",-950237169,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core","map?","cljs.core/map?",-1390345523,null),new cljs.core.Symbol(null,"%","%",-950237169,null))),cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"%","%",-950237169,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core",
"contains?","cljs.core/contains?",-976526835,null),new cljs.core.Symbol(null,"%","%",-950237169,null),new cljs.core.Keyword(null,"repair-time","repair-time",699642051))),cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"%","%",-950237169,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core","contains?","cljs.core/contains?",-976526835,null),new cljs.core.Symbol(null,
"%","%",-950237169,null),new cljs.core.Keyword(null,"priority","priority",1431093715))),cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"%","%",-950237169,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core","contains?","cljs.core/contains?",-976526835,null),new cljs.core.Symbol(null,"%","%",-950237169,null),new cljs.core.Keyword(null,"flags","flags",
1775418075))),cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"%","%",-950237169,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core","contains?","cljs.core/contains?",-976526835,null),new cljs.core.Symbol(null,"%","%",-950237169,null),new cljs.core.Keyword(null,"name","name",1843675177))),cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",
-1065745098,null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"%","%",-950237169,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core","contains?","cljs.core/contains?",-976526835,null),new cljs.core.Symbol(null,"%","%",-950237169,null),new cljs.core.Keyword(null,"hit-points","hit-points",-906296276))),cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,
[new cljs.core.Symbol(null,"%","%",-950237169,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core","contains?","cljs.core/contains?",-976526835,null),new cljs.core.Symbol(null,"%","%",-950237169,null),new cljs.core.Keyword(null,"height","height",1025178622))),cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"%","%",-950237169,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core",
"contains?","cljs.core/contains?",-976526835,null),new cljs.core.Symbol(null,"%","%",-950237169,null),new cljs.core.Keyword(null,"angle","angle",1622094254))),cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"%","%",-950237169,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core","contains?","cljs.core/contains?",-976526835,null),new cljs.core.Symbol(null,
"%","%",-950237169,null),new cljs.core.Keyword(null,"radar-type","radar-type",-1913447362))),cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"%","%",-950237169,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core","contains?","cljs.core/contains?",-976526835,null),new cljs.core.Symbol(null,"%","%",-950237169,null),new cljs.core.Keyword(null,"detection",
"detection",-1580072483))),cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"%","%",-950237169,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core","contains?","cljs.core/contains?",-976526835,null),new cljs.core.Symbol(null,"%","%",-950237169,null),new cljs.core.Keyword(null,"damage-mod","damage-mod",-756867116)))],null),null]));
weathergen.falcon.files.mission.FeatureEntryData=cljs.spec.alpha.map_spec_impl.call(null,cljs.core.PersistentHashMap.fromArrays([new cljs.core.Keyword(null,"req-un","req-un",1074571008),new cljs.core.Keyword(null,"opt-un","opt-un",883442496),new cljs.core.Keyword(null,"gfn","gfn",791517474),new cljs.core.Keyword(null,"pred-exprs","pred-exprs",1792271395),new cljs.core.Keyword(null,"keys-pred","keys-pred",858984739),new cljs.core.Keyword(null,"opt-keys","opt-keys",1262688261),new cljs.core.Keyword(null,
"req-specs","req-specs",553962313),new cljs.core.Keyword(null,"req","req",-326448303),new cljs.core.Keyword(null,"req-keys","req-keys",514319221),new cljs.core.Keyword(null,"opt-specs","opt-specs",-384905450),new cljs.core.Keyword(null,"pred-forms","pred-forms",172611832),new cljs.core.Keyword(null,"opt","opt",-794706369)],[new cljs.core.PersistentVector(null,6,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword("weathergen.falcon.files.mission","index","weathergen.falcon.files.mission/index",
-1989089649),new cljs.core.Keyword("weathergen.falcon.files.mission","flags","weathergen.falcon.files.mission/flags",-965167503),new cljs.core.Keyword("weathergen.falcon.files.mission","entity-class","weathergen.falcon.files.mission/entity-class",-208911345),new cljs.core.Keyword("weathergen.falcon.files.mission","value","weathergen.falcon.files.mission/value",-1307089913),new cljs.core.Keyword("weathergen.falcon.files.mission","offset","weathergen.falcon.files.mission/offset",-1108759055),new cljs.core.Keyword("weathergen.falcon.files.mission",
"facing","weathergen.falcon.files.mission/facing",566993313)],null),null,null,new cljs.core.PersistentVector(null,7,5,cljs.core.PersistentVector.EMPTY_NODE,[function(a){return cljs.core.map_QMARK_.call(null,a)},function(a){return cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"index","index",-1531685915))},function(a){return cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"flags","flags",1775418075))},function(a){return cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,
"entity-class","entity-class",-1906919579))},function(a){return cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"value","value",305978217))},function(a){return cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"offset","offset",296498311))},function(a){return cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"facing","facing",-854439413))}],null),function(a){return cljs.core.map_QMARK_.call(null,a)&&cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,
"index","index",-1531685915))&&cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"flags","flags",1775418075))&&cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"entity-class","entity-class",-1906919579))&&cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"value","value",305978217))&&cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"offset","offset",296498311))&&cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"facing","facing",
-854439413))},cljs.core.PersistentVector.EMPTY,new cljs.core.PersistentVector(null,6,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword("weathergen.falcon.files.mission","index","weathergen.falcon.files.mission/index",-1989089649),new cljs.core.Keyword("weathergen.falcon.files.mission","flags","weathergen.falcon.files.mission/flags",-965167503),new cljs.core.Keyword("weathergen.falcon.files.mission","entity-class","weathergen.falcon.files.mission/entity-class",-208911345),new cljs.core.Keyword("weathergen.falcon.files.mission",
"value","weathergen.falcon.files.mission/value",-1307089913),new cljs.core.Keyword("weathergen.falcon.files.mission","offset","weathergen.falcon.files.mission/offset",-1108759055),new cljs.core.Keyword("weathergen.falcon.files.mission","facing","weathergen.falcon.files.mission/facing",566993313)],null),null,new cljs.core.PersistentVector(null,6,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"index","index",-1531685915),new cljs.core.Keyword(null,"flags","flags",1775418075),new cljs.core.Keyword(null,
"entity-class","entity-class",-1906919579),new cljs.core.Keyword(null,"value","value",305978217),new cljs.core.Keyword(null,"offset","offset",296498311),new cljs.core.Keyword(null,"facing","facing",-854439413)],null),cljs.core.PersistentVector.EMPTY,new cljs.core.PersistentVector(null,7,5,cljs.core.PersistentVector.EMPTY_NODE,[cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,
"%","%",-950237169,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core","map?","cljs.core/map?",-1390345523,null),new cljs.core.Symbol(null,"%","%",-950237169,null))),cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"%","%",-950237169,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core","contains?","cljs.core/contains?",-976526835,null),new cljs.core.Symbol(null,
"%","%",-950237169,null),new cljs.core.Keyword(null,"index","index",-1531685915))),cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"%","%",-950237169,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core","contains?","cljs.core/contains?",-976526835,null),new cljs.core.Symbol(null,"%","%",-950237169,null),new cljs.core.Keyword(null,"flags","flags",1775418075))),
cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"%","%",-950237169,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core","contains?","cljs.core/contains?",-976526835,null),new cljs.core.Symbol(null,"%","%",-950237169,null),new cljs.core.Keyword(null,"entity-class","entity-class",-1906919579))),cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",
-1065745098,null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"%","%",-950237169,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core","contains?","cljs.core/contains?",-976526835,null),new cljs.core.Symbol(null,"%","%",-950237169,null),new cljs.core.Keyword(null,"value","value",305978217))),cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,
[new cljs.core.Symbol(null,"%","%",-950237169,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core","contains?","cljs.core/contains?",-976526835,null),new cljs.core.Symbol(null,"%","%",-950237169,null),new cljs.core.Keyword(null,"offset","offset",296498311))),cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"%","%",-950237169,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core",
"contains?","cljs.core/contains?",-976526835,null),new cljs.core.Symbol(null,"%","%",-950237169,null),new cljs.core.Keyword(null,"facing","facing",-854439413)))],null),null]));
weathergen.falcon.files.mission.PointHeaderData=cljs.spec.alpha.map_spec_impl.call(null,cljs.core.PersistentHashMap.fromArrays([new cljs.core.Keyword(null,"req-un","req-un",1074571008),new cljs.core.Keyword(null,"opt-un","opt-un",883442496),new cljs.core.Keyword(null,"gfn","gfn",791517474),new cljs.core.Keyword(null,"pred-exprs","pred-exprs",1792271395),new cljs.core.Keyword(null,"keys-pred","keys-pred",858984739),new cljs.core.Keyword(null,"opt-keys","opt-keys",1262688261),new cljs.core.Keyword(null,
"req-specs","req-specs",553962313),new cljs.core.Keyword(null,"req","req",-326448303),new cljs.core.Keyword(null,"req-keys","req-keys",514319221),new cljs.core.Keyword(null,"opt-specs","opt-specs",-384905450),new cljs.core.Keyword(null,"pred-forms","pred-forms",172611832),new cljs.core.Keyword(null,"opt","opt",-794706369)],[new cljs.core.PersistentVector(null,12,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword("weathergen.falcon.files.mission","obj-id","weathergen.falcon.files.mission/obj-id",
1379538503),new cljs.core.Keyword("weathergen.falcon.files.mission","type","weathergen.falcon.files.mission/type",-1571457242),new cljs.core.Keyword("weathergen.falcon.files.mission","count","weathergen.falcon.files.mission/count",581373935),new cljs.core.Keyword("raw","features","raw/features",-1146784184),new cljs.core.Keyword("weathergen.falcon.files.mission","data","weathergen.falcon.files.mission/data",-1670632779),new cljs.core.Keyword("weathergen.falcon.files.mission","sin-heading","weathergen.falcon.files.mission/sin-heading",
913404991),new cljs.core.Keyword("weathergen.falcon.files.mission","cos-heading","weathergen.falcon.files.mission/cos-heading",2120170350),new cljs.core.Keyword("weathergen.falcon.files.mission","first","weathergen.falcon.files.mission/first",1012611588),new cljs.core.Keyword("weathergen.falcon.files.mission","tex-idx","weathergen.falcon.files.mission/tex-idx",-1298075695),new cljs.core.Keyword("weathergen.falcon.files.mission","runway-num","weathergen.falcon.files.mission/runway-num",1516861086),
new cljs.core.Keyword("weathergen.falcon.files.mission","ltrt","weathergen.falcon.files.mission/ltrt",1657658217),new cljs.core.Keyword("weathergen.falcon.files.mission","next-header","weathergen.falcon.files.mission/next-header",-278788297)],null),null,null,new cljs.core.PersistentVector(null,13,5,cljs.core.PersistentVector.EMPTY_NODE,[function(a){return cljs.core.map_QMARK_.call(null,a)},function(a){return cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"obj-id","obj-id",1871733713))},
function(a){return cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"type","type",1174270348))},function(a){return cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"count","count",2139924085))},function(a){return cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"features","features",-1146962336))},function(a){return cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"data","data",-232669377))},function(a){return cljs.core.contains_QMARK_.call(null,
a,new cljs.core.Keyword(null,"sin-heading","sin-heading",-1506379307))},function(a){return cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"cos-heading","cos-heading",-514525192))},function(a){return cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"first","first",-644103046))},function(a){return cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"tex-idx","tex-idx",1332437579))},function(a){return cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,
"runway-num","runway-num",-1171395800))},function(a){return cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"ltrt","ltrt",2069439))},function(a){return cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"next-header","next-header",1386001069))}],null),function(a){return cljs.core.map_QMARK_.call(null,a)&&cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"obj-id","obj-id",1871733713))&&cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"type",
"type",1174270348))&&cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"count","count",2139924085))&&cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"features","features",-1146962336))&&cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"data","data",-232669377))&&cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"sin-heading","sin-heading",-1506379307))&&cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"cos-heading","cos-heading",
-514525192))&&cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"first","first",-644103046))&&cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"tex-idx","tex-idx",1332437579))&&cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"runway-num","runway-num",-1171395800))&&cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"ltrt","ltrt",2069439))&&cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"next-header","next-header",1386001069))},
cljs.core.PersistentVector.EMPTY,new cljs.core.PersistentVector(null,12,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword("weathergen.falcon.files.mission","obj-id","weathergen.falcon.files.mission/obj-id",1379538503),new cljs.core.Keyword("weathergen.falcon.files.mission","type","weathergen.falcon.files.mission/type",-1571457242),new cljs.core.Keyword("weathergen.falcon.files.mission","count","weathergen.falcon.files.mission/count",581373935),new cljs.core.Keyword("raw","features","raw/features",
-1146784184),new cljs.core.Keyword("weathergen.falcon.files.mission","data","weathergen.falcon.files.mission/data",-1670632779),new cljs.core.Keyword("weathergen.falcon.files.mission","sin-heading","weathergen.falcon.files.mission/sin-heading",913404991),new cljs.core.Keyword("weathergen.falcon.files.mission","cos-heading","weathergen.falcon.files.mission/cos-heading",2120170350),new cljs.core.Keyword("weathergen.falcon.files.mission","first","weathergen.falcon.files.mission/first",1012611588),new cljs.core.Keyword("weathergen.falcon.files.mission",
"tex-idx","weathergen.falcon.files.mission/tex-idx",-1298075695),new cljs.core.Keyword("weathergen.falcon.files.mission","runway-num","weathergen.falcon.files.mission/runway-num",1516861086),new cljs.core.Keyword("weathergen.falcon.files.mission","ltrt","weathergen.falcon.files.mission/ltrt",1657658217),new cljs.core.Keyword("weathergen.falcon.files.mission","next-header","weathergen.falcon.files.mission/next-header",-278788297)],null),null,new cljs.core.PersistentVector(null,12,5,cljs.core.PersistentVector.EMPTY_NODE,
[new cljs.core.Keyword(null,"obj-id","obj-id",1871733713),new cljs.core.Keyword(null,"type","type",1174270348),new cljs.core.Keyword(null,"count","count",2139924085),new cljs.core.Keyword(null,"features","features",-1146962336),new cljs.core.Keyword(null,"data","data",-232669377),new cljs.core.Keyword(null,"sin-heading","sin-heading",-1506379307),new cljs.core.Keyword(null,"cos-heading","cos-heading",-514525192),new cljs.core.Keyword(null,"first","first",-644103046),new cljs.core.Keyword(null,"tex-idx",
"tex-idx",1332437579),new cljs.core.Keyword(null,"runway-num","runway-num",-1171395800),new cljs.core.Keyword(null,"ltrt","ltrt",2069439),new cljs.core.Keyword(null,"next-header","next-header",1386001069)],null),cljs.core.PersistentVector.EMPTY,new cljs.core.PersistentVector(null,13,5,cljs.core.PersistentVector.EMPTY_NODE,[cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,
"%","%",-950237169,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core","map?","cljs.core/map?",-1390345523,null),new cljs.core.Symbol(null,"%","%",-950237169,null))),cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"%","%",-950237169,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core","contains?","cljs.core/contains?",-976526835,null),new cljs.core.Symbol(null,
"%","%",-950237169,null),new cljs.core.Keyword(null,"obj-id","obj-id",1871733713))),cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"%","%",-950237169,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core","contains?","cljs.core/contains?",-976526835,null),new cljs.core.Symbol(null,"%","%",-950237169,null),new cljs.core.Keyword(null,"type","type",1174270348))),
cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"%","%",-950237169,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core","contains?","cljs.core/contains?",-976526835,null),new cljs.core.Symbol(null,"%","%",-950237169,null),new cljs.core.Keyword(null,"count","count",2139924085))),cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,
null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"%","%",-950237169,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core","contains?","cljs.core/contains?",-976526835,null),new cljs.core.Symbol(null,"%","%",-950237169,null),new cljs.core.Keyword(null,"features","features",-1146962336))),cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,
[new cljs.core.Symbol(null,"%","%",-950237169,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core","contains?","cljs.core/contains?",-976526835,null),new cljs.core.Symbol(null,"%","%",-950237169,null),new cljs.core.Keyword(null,"data","data",-232669377))),cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"%","%",-950237169,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core",
"contains?","cljs.core/contains?",-976526835,null),new cljs.core.Symbol(null,"%","%",-950237169,null),new cljs.core.Keyword(null,"sin-heading","sin-heading",-1506379307))),cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"%","%",-950237169,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core","contains?","cljs.core/contains?",-976526835,null),new cljs.core.Symbol(null,
"%","%",-950237169,null),new cljs.core.Keyword(null,"cos-heading","cos-heading",-514525192))),cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"%","%",-950237169,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core","contains?","cljs.core/contains?",-976526835,null),new cljs.core.Symbol(null,"%","%",-950237169,null),new cljs.core.Keyword(null,"first",
"first",-644103046))),cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"%","%",-950237169,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core","contains?","cljs.core/contains?",-976526835,null),new cljs.core.Symbol(null,"%","%",-950237169,null),new cljs.core.Keyword(null,"tex-idx","tex-idx",1332437579))),cljs.core.list(new cljs.core.Symbol("cljs.core",
"fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"%","%",-950237169,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core","contains?","cljs.core/contains?",-976526835,null),new cljs.core.Symbol(null,"%","%",-950237169,null),new cljs.core.Keyword(null,"runway-num","runway-num",-1171395800))),cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null,
1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"%","%",-950237169,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core","contains?","cljs.core/contains?",-976526835,null),new cljs.core.Symbol(null,"%","%",-950237169,null),new cljs.core.Keyword(null,"ltrt","ltrt",2069439))),cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"%","%",
-950237169,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core","contains?","cljs.core/contains?",-976526835,null),new cljs.core.Symbol(null,"%","%",-950237169,null),new cljs.core.Keyword(null,"next-header","next-header",1386001069)))],null),null]));
weathergen.falcon.files.mission.IdList=cljs.spec.alpha.map_spec_impl.call(null,cljs.core.PersistentHashMap.fromArrays([new cljs.core.Keyword(null,"req-un","req-un",1074571008),new cljs.core.Keyword(null,"opt-un","opt-un",883442496),new cljs.core.Keyword(null,"gfn","gfn",791517474),new cljs.core.Keyword(null,"pred-exprs","pred-exprs",1792271395),new cljs.core.Keyword(null,"keys-pred","keys-pred",858984739),new cljs.core.Keyword(null,"opt-keys","opt-keys",1262688261),new cljs.core.Keyword(null,"req-specs",
"req-specs",553962313),new cljs.core.Keyword(null,"req","req",-326448303),new cljs.core.Keyword(null,"req-keys","req-keys",514319221),new cljs.core.Keyword(null,"opt-specs","opt-specs",-384905450),new cljs.core.Keyword(null,"pred-forms","pred-forms",172611832),new cljs.core.Keyword(null,"opt","opt",-794706369)],[new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword("weathergen.falcon.files.mission","id-\x3ename","weathergen.falcon.files.mission/id-\x3ename",
1915082760),new cljs.core.Keyword("weathergen.falcon.files.mission","name-\x3eid","weathergen.falcon.files.mission/name-\x3eid",1859267374)],null),null,null,new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,[function(a){return cljs.core.map_QMARK_.call(null,a)},function(a){return cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"id-\x3ename","id-\x3ename",249122446))},function(a){return cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"name-\x3eid",
"name-\x3eid",-338114168))}],null),function(a){return cljs.core.map_QMARK_.call(null,a)&&cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"id-\x3ename","id-\x3ename",249122446))&&cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"name-\x3eid","name-\x3eid",-338114168))},cljs.core.PersistentVector.EMPTY,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword("weathergen.falcon.files.mission","id-\x3ename","weathergen.falcon.files.mission/id-\x3ename",
1915082760),new cljs.core.Keyword("weathergen.falcon.files.mission","name-\x3eid","weathergen.falcon.files.mission/name-\x3eid",1859267374)],null),null,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"id-\x3ename","id-\x3ename",249122446),new cljs.core.Keyword(null,"name-\x3eid","name-\x3eid",-338114168)],null),cljs.core.PersistentVector.EMPTY,new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,[cljs.core.list(new cljs.core.Symbol("cljs.core",
"fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"%","%",-950237169,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core","map?","cljs.core/map?",-1390345523,null),new cljs.core.Symbol(null,"%","%",-950237169,null))),cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,
"%","%",-950237169,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core","contains?","cljs.core/contains?",-976526835,null),new cljs.core.Symbol(null,"%","%",-950237169,null),new cljs.core.Keyword(null,"id-\x3ename","id-\x3ename",249122446))),cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"%","%",-950237169,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core",
"contains?","cljs.core/contains?",-976526835,null),new cljs.core.Symbol(null,"%","%",-950237169,null),new cljs.core.Keyword(null,"name-\x3eid","name-\x3eid",-338114168)))],null),null]));
weathergen.falcon.files.mission.InitialDatabase=cljs.spec.alpha.map_spec_impl.call(null,cljs.core.PersistentHashMap.fromArrays([new cljs.core.Keyword(null,"req-un","req-un",1074571008),new cljs.core.Keyword(null,"opt-un","opt-un",883442496),new cljs.core.Keyword(null,"gfn","gfn",791517474),new cljs.core.Keyword(null,"pred-exprs","pred-exprs",1792271395),new cljs.core.Keyword(null,"keys-pred","keys-pred",858984739),new cljs.core.Keyword(null,"opt-keys","opt-keys",1262688261),new cljs.core.Keyword(null,
"req-specs","req-specs",553962313),new cljs.core.Keyword(null,"req","req",-326448303),new cljs.core.Keyword(null,"req-keys","req-keys",514319221),new cljs.core.Keyword(null,"opt-specs","opt-specs",-384905450),new cljs.core.Keyword(null,"pred-forms","pred-forms",172611832),new cljs.core.Keyword(null,"opt","opt",-794706369)],[new cljs.core.PersistentVector(null,10,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword("weathergen.falcon.files.mission","class-table","weathergen.falcon.files.mission/class-table",
-1856555830),new cljs.core.Keyword("weathergen.falcon.files.mission","unit-class-data","weathergen.falcon.files.mission/unit-class-data",-341212057),new cljs.core.Keyword("weathergen.falcon.files.mission","objective-class-data","weathergen.falcon.files.mission/objective-class-data",-488267802),new cljs.core.Keyword("weathergen.falcon.files.mission","vehicle-class-data","weathergen.falcon.files.mission/vehicle-class-data",-131845879),new cljs.core.Keyword("weathergen.falcon.files.mission","weapon-class-data",
"weathergen.falcon.files.mission/weapon-class-data",-1245893783),new cljs.core.Keyword("weathergen.falcon.files.mission","feature-class-data","weathergen.falcon.files.mission/feature-class-data",794598458),new cljs.core.Keyword("weathergen.falcon.files.mission","feature-entry-data","weathergen.falcon.files.mission/feature-entry-data",-693978767),new cljs.core.Keyword("weathergen.falcon.files.mission","point-header-data","weathergen.falcon.files.mission/point-header-data",-561631475),new cljs.core.Keyword("weathergen.falcon.files.mission",
"image-ids","weathergen.falcon.files.mission/image-ids",2141950065),new cljs.core.Keyword("weathergen.falcon.files.mission","user-ids","weathergen.falcon.files.mission/user-ids",2086909600)],null),null,null,new cljs.core.PersistentVector(null,11,5,cljs.core.PersistentVector.EMPTY_NODE,[function(a){return cljs.core.map_QMARK_.call(null,a)},function(a){return cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"class-table","class-table",207400992))},function(a){return cljs.core.contains_QMARK_.call(null,
a,new cljs.core.Keyword(null,"unit-class-data","unit-class-data",2122324209))},function(a){return cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"objective-class-data","objective-class-data",-2036255156))},function(a){return cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"vehicle-class-data","vehicle-class-data",1666024339))},function(a){return cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"weapon-class-data","weapon-class-data",-1828241433))},
function(a){return cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"feature-class-data","feature-class-data",-794349644))},function(a){return cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"feature-entry-data","feature-entry-data",-87481893))},function(a){return cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"point-header-data","point-header-data",2108405911))},function(a){return cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,
"image-ids","image-ids",-529925649))},function(a){return cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"user-ids","user-ids",-652076250))}],null),function(a){return cljs.core.map_QMARK_.call(null,a)&&cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"class-table","class-table",207400992))&&cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"unit-class-data","unit-class-data",2122324209))&&cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,
"objective-class-data","objective-class-data",-2036255156))&&cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"vehicle-class-data","vehicle-class-data",1666024339))&&cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"weapon-class-data","weapon-class-data",-1828241433))&&cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"feature-class-data","feature-class-data",-794349644))&&cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"feature-entry-data",
"feature-entry-data",-87481893))&&cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"point-header-data","point-header-data",2108405911))&&cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"image-ids","image-ids",-529925649))&&cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"user-ids","user-ids",-652076250))},cljs.core.PersistentVector.EMPTY,new cljs.core.PersistentVector(null,10,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword("weathergen.falcon.files.mission",
"class-table","weathergen.falcon.files.mission/class-table",-1856555830),new cljs.core.Keyword("weathergen.falcon.files.mission","unit-class-data","weathergen.falcon.files.mission/unit-class-data",-341212057),new cljs.core.Keyword("weathergen.falcon.files.mission","objective-class-data","weathergen.falcon.files.mission/objective-class-data",-488267802),new cljs.core.Keyword("weathergen.falcon.files.mission","vehicle-class-data","weathergen.falcon.files.mission/vehicle-class-data",-131845879),new cljs.core.Keyword("weathergen.falcon.files.mission",
"weapon-class-data","weathergen.falcon.files.mission/weapon-class-data",-1245893783),new cljs.core.Keyword("weathergen.falcon.files.mission","feature-class-data","weathergen.falcon.files.mission/feature-class-data",794598458),new cljs.core.Keyword("weathergen.falcon.files.mission","feature-entry-data","weathergen.falcon.files.mission/feature-entry-data",-693978767),new cljs.core.Keyword("weathergen.falcon.files.mission","point-header-data","weathergen.falcon.files.mission/point-header-data",-561631475),
new cljs.core.Keyword("weathergen.falcon.files.mission","image-ids","weathergen.falcon.files.mission/image-ids",2141950065),new cljs.core.Keyword("weathergen.falcon.files.mission","user-ids","weathergen.falcon.files.mission/user-ids",2086909600)],null),null,new cljs.core.PersistentVector(null,10,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"class-table","class-table",207400992),new cljs.core.Keyword(null,"unit-class-data","unit-class-data",2122324209),new cljs.core.Keyword(null,
"objective-class-data","objective-class-data",-2036255156),new cljs.core.Keyword(null,"vehicle-class-data","vehicle-class-data",1666024339),new cljs.core.Keyword(null,"weapon-class-data","weapon-class-data",-1828241433),new cljs.core.Keyword(null,"feature-class-data","feature-class-data",-794349644),new cljs.core.Keyword(null,"feature-entry-data","feature-entry-data",-87481893),new cljs.core.Keyword(null,"point-header-data","point-header-data",2108405911),new cljs.core.Keyword(null,"image-ids","image-ids",
-529925649),new cljs.core.Keyword(null,"user-ids","user-ids",-652076250)],null),cljs.core.PersistentVector.EMPTY,new cljs.core.PersistentVector(null,11,5,cljs.core.PersistentVector.EMPTY_NODE,[cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"%","%",-950237169,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core","map?","cljs.core/map?",-1390345523,null),
new cljs.core.Symbol(null,"%","%",-950237169,null))),cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"%","%",-950237169,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core","contains?","cljs.core/contains?",-976526835,null),new cljs.core.Symbol(null,"%","%",-950237169,null),new cljs.core.Keyword(null,"class-table","class-table",207400992))),cljs.core.list(new cljs.core.Symbol("cljs.core",
"fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"%","%",-950237169,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core","contains?","cljs.core/contains?",-976526835,null),new cljs.core.Symbol(null,"%","%",-950237169,null),new cljs.core.Keyword(null,"unit-class-data","unit-class-data",2122324209))),cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null,
1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"%","%",-950237169,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core","contains?","cljs.core/contains?",-976526835,null),new cljs.core.Symbol(null,"%","%",-950237169,null),new cljs.core.Keyword(null,"objective-class-data","objective-class-data",-2036255156))),cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,
[new cljs.core.Symbol(null,"%","%",-950237169,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core","contains?","cljs.core/contains?",-976526835,null),new cljs.core.Symbol(null,"%","%",-950237169,null),new cljs.core.Keyword(null,"vehicle-class-data","vehicle-class-data",1666024339))),cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"%","%",-950237169,
null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core","contains?","cljs.core/contains?",-976526835,null),new cljs.core.Symbol(null,"%","%",-950237169,null),new cljs.core.Keyword(null,"weapon-class-data","weapon-class-data",-1828241433))),cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"%","%",-950237169,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core",
"contains?","cljs.core/contains?",-976526835,null),new cljs.core.Symbol(null,"%","%",-950237169,null),new cljs.core.Keyword(null,"feature-class-data","feature-class-data",-794349644))),cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"%","%",-950237169,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core","contains?","cljs.core/contains?",-976526835,
null),new cljs.core.Symbol(null,"%","%",-950237169,null),new cljs.core.Keyword(null,"feature-entry-data","feature-entry-data",-87481893))),cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"%","%",-950237169,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core","contains?","cljs.core/contains?",-976526835,null),new cljs.core.Symbol(null,"%","%",-950237169,
null),new cljs.core.Keyword(null,"point-header-data","point-header-data",2108405911))),cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"%","%",-950237169,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core","contains?","cljs.core/contains?",-976526835,null),new cljs.core.Symbol(null,"%","%",-950237169,null),new cljs.core.Keyword(null,"image-ids","image-ids",
-529925649))),cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"%","%",-950237169,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core","contains?","cljs.core/contains?",-976526835,null),new cljs.core.Symbol(null,"%","%",-950237169,null),new cljs.core.Keyword(null,"user-ids","user-ids",-652076250)))],null),null]));
weathergen.falcon.files.mission.Database=cljs.spec.alpha.merge_spec_impl.call(null,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol("weathergen.falcon.files.mission","InitialDatabase","weathergen.falcon.files.mission/InitialDatabase",1423333610,null),cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha","keys","cljs.spec.alpha/keys",1109346032,null),new cljs.core.Keyword(null,"req-un","req-un",1074571008),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,
[new cljs.core.Keyword("weathergen.falcon.files.mission","strings","weathergen.falcon.files.mission/strings",-524118625)],null))],null),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[weathergen.falcon.files.mission.InitialDatabase,cljs.spec.alpha.map_spec_impl.call(null,cljs.core.PersistentHashMap.fromArrays([new cljs.core.Keyword(null,"req-un","req-un",1074571008),new cljs.core.Keyword(null,"opt-un","opt-un",883442496),new cljs.core.Keyword(null,"gfn","gfn",791517474),
new cljs.core.Keyword(null,"pred-exprs","pred-exprs",1792271395),new cljs.core.Keyword(null,"keys-pred","keys-pred",858984739),new cljs.core.Keyword(null,"opt-keys","opt-keys",1262688261),new cljs.core.Keyword(null,"req-specs","req-specs",553962313),new cljs.core.Keyword(null,"req","req",-326448303),new cljs.core.Keyword(null,"req-keys","req-keys",514319221),new cljs.core.Keyword(null,"opt-specs","opt-specs",-384905450),new cljs.core.Keyword(null,"pred-forms","pred-forms",172611832),new cljs.core.Keyword(null,
"opt","opt",-794706369)],[new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword("weathergen.falcon.files.mission","strings","weathergen.falcon.files.mission/strings",-524118625)],null),null,null,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[function(a){return cljs.core.map_QMARK_.call(null,a)},function(a){return cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"strings","strings",-2055406807))}],null),
function(a){return cljs.core.map_QMARK_.call(null,a)&&cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"strings","strings",-2055406807))},cljs.core.PersistentVector.EMPTY,new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword("weathergen.falcon.files.mission","strings","weathergen.falcon.files.mission/strings",-524118625)],null),null,new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,
"strings","strings",-2055406807)],null),cljs.core.PersistentVector.EMPTY,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"%","%",-950237169,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core","map?","cljs.core/map?",-1390345523,null),new cljs.core.Symbol(null,"%","%",-950237169,
null))),cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"%","%",-950237169,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core","contains?","cljs.core/contains?",-976526835,null),new cljs.core.Symbol(null,"%","%",-950237169,null),new cljs.core.Keyword(null,"strings","strings",-2055406807)))],null),null]))],null),null);
weathergen.falcon.files.mission.EventNode=cljs.spec.alpha.map_spec_impl.call(null,cljs.core.PersistentHashMap.fromArrays([new cljs.core.Keyword(null,"req-un","req-un",1074571008),new cljs.core.Keyword(null,"opt-un","opt-un",883442496),new cljs.core.Keyword(null,"gfn","gfn",791517474),new cljs.core.Keyword(null,"pred-exprs","pred-exprs",1792271395),new cljs.core.Keyword(null,"keys-pred","keys-pred",858984739),new cljs.core.Keyword(null,"opt-keys","opt-keys",1262688261),new cljs.core.Keyword(null,"req-specs",
"req-specs",553962313),new cljs.core.Keyword(null,"req","req",-326448303),new cljs.core.Keyword(null,"req-keys","req-keys",514319221),new cljs.core.Keyword(null,"opt-specs","opt-specs",-384905450),new cljs.core.Keyword(null,"pred-forms","pred-forms",172611832),new cljs.core.Keyword(null,"opt","opt",-794706369)],[new cljs.core.PersistentVector(null,7,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword("weathergen.falcon.files.mission","x","weathergen.falcon.files.mission/x",-773377357),
new cljs.core.Keyword("weathergen.falcon.files.mission","y","weathergen.falcon.files.mission/y",-1199341078),new cljs.core.Keyword("weathergen.falcon.files.mission","time","weathergen.falcon.files.mission/time",-1351271916),new cljs.core.Keyword("weathergen.falcon.files.mission","flags","weathergen.falcon.files.mission/flags",-965167503),new cljs.core.Keyword("weathergen.falcon.files.mission","team","weathergen.falcon.files.mission/team",-1375167511),new cljs.core.Keyword("weathergen.falcon.files.mission",
"event-text","weathergen.falcon.files.mission/event-text",859621336),new cljs.core.Keyword("weathergen.falcon.files.mission","ui-event-node","weathergen.falcon.files.mission/ui-event-node",1360418108)],null),null,null,new cljs.core.PersistentVector(null,8,5,cljs.core.PersistentVector.EMPTY_NODE,[function(a){return cljs.core.map_QMARK_.call(null,a)},function(a){return cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"x","x",2099068185))},function(a){return cljs.core.contains_QMARK_.call(null,
a,new cljs.core.Keyword(null,"y","y",-1757859776))},function(a){return cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"time","time",1385887882))},function(a){return cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"flags","flags",1775418075))},function(a){return cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"team","team",1355747699))},function(a){return cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"event-text","event-text",-1878870726))},
function(a){return cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"ui-event-node","ui-event-node",-1345265994))}],null),function(a){return cljs.core.map_QMARK_.call(null,a)&&cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"x","x",2099068185))&&cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"y","y",-1757859776))&&cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"time","time",1385887882))&&cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,
"flags","flags",1775418075))&&cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"team","team",1355747699))&&cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"event-text","event-text",-1878870726))&&cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"ui-event-node","ui-event-node",-1345265994))},cljs.core.PersistentVector.EMPTY,new cljs.core.PersistentVector(null,7,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword("weathergen.falcon.files.mission",
"x","weathergen.falcon.files.mission/x",-773377357),new cljs.core.Keyword("weathergen.falcon.files.mission","y","weathergen.falcon.files.mission/y",-1199341078),new cljs.core.Keyword("weathergen.falcon.files.mission","time","weathergen.falcon.files.mission/time",-1351271916),new cljs.core.Keyword("weathergen.falcon.files.mission","flags","weathergen.falcon.files.mission/flags",-965167503),new cljs.core.Keyword("weathergen.falcon.files.mission","team","weathergen.falcon.files.mission/team",-1375167511),
new cljs.core.Keyword("weathergen.falcon.files.mission","event-text","weathergen.falcon.files.mission/event-text",859621336),new cljs.core.Keyword("weathergen.falcon.files.mission","ui-event-node","weathergen.falcon.files.mission/ui-event-node",1360418108)],null),null,new cljs.core.PersistentVector(null,7,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"x","x",2099068185),new cljs.core.Keyword(null,"y","y",-1757859776),new cljs.core.Keyword(null,"time","time",1385887882),new cljs.core.Keyword(null,
"flags","flags",1775418075),new cljs.core.Keyword(null,"team","team",1355747699),new cljs.core.Keyword(null,"event-text","event-text",-1878870726),new cljs.core.Keyword(null,"ui-event-node","ui-event-node",-1345265994)],null),cljs.core.PersistentVector.EMPTY,new cljs.core.PersistentVector(null,8,5,cljs.core.PersistentVector.EMPTY_NODE,[cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,
[new cljs.core.Symbol(null,"%","%",-950237169,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core","map?","cljs.core/map?",-1390345523,null),new cljs.core.Symbol(null,"%","%",-950237169,null))),cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"%","%",-950237169,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core","contains?","cljs.core/contains?",
-976526835,null),new cljs.core.Symbol(null,"%","%",-950237169,null),new cljs.core.Keyword(null,"x","x",2099068185))),cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"%","%",-950237169,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core","contains?","cljs.core/contains?",-976526835,null),new cljs.core.Symbol(null,"%","%",-950237169,null),new cljs.core.Keyword(null,
"y","y",-1757859776))),cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"%","%",-950237169,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core","contains?","cljs.core/contains?",-976526835,null),new cljs.core.Symbol(null,"%","%",-950237169,null),new cljs.core.Keyword(null,"time","time",1385887882))),cljs.core.list(new cljs.core.Symbol("cljs.core","fn",
"cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"%","%",-950237169,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core","contains?","cljs.core/contains?",-976526835,null),new cljs.core.Symbol(null,"%","%",-950237169,null),new cljs.core.Keyword(null,"flags","flags",1775418075))),cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null,1,
5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"%","%",-950237169,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core","contains?","cljs.core/contains?",-976526835,null),new cljs.core.Symbol(null,"%","%",-950237169,null),new cljs.core.Keyword(null,"team","team",1355747699))),cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"%","%",
-950237169,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core","contains?","cljs.core/contains?",-976526835,null),new cljs.core.Symbol(null,"%","%",-950237169,null),new cljs.core.Keyword(null,"event-text","event-text",-1878870726))),cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"%","%",-950237169,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core",
"contains?","cljs.core/contains?",-976526835,null),new cljs.core.Symbol(null,"%","%",-950237169,null),new cljs.core.Keyword(null,"ui-event-node","ui-event-node",-1345265994)))],null),null]));
weathergen.falcon.files.mission.SquadronInfo=cljs.spec.alpha.map_spec_impl.call(null,cljs.core.PersistentHashMap.fromArrays([new cljs.core.Keyword(null,"req-un","req-un",1074571008),new cljs.core.Keyword(null,"opt-un","opt-un",883442496),new cljs.core.Keyword(null,"gfn","gfn",791517474),new cljs.core.Keyword(null,"pred-exprs","pred-exprs",1792271395),new cljs.core.Keyword(null,"keys-pred","keys-pred",858984739),new cljs.core.Keyword(null,"opt-keys","opt-keys",1262688261),new cljs.core.Keyword(null,
"req-specs","req-specs",553962313),new cljs.core.Keyword(null,"req","req",-326448303),new cljs.core.Keyword(null,"req-keys","req-keys",514319221),new cljs.core.Keyword(null,"opt-specs","opt-specs",-384905450),new cljs.core.Keyword(null,"pred-forms","pred-forms",172611832),new cljs.core.Keyword(null,"opt","opt",-794706369)],[new cljs.core.PersistentVector(null,11,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword("weathergen.falcon.files.mission","airbase-icon","weathergen.falcon.files.mission/airbase-icon",
1415673734),new cljs.core.Keyword("weathergen.falcon.files.mission","airbase-name","weathergen.falcon.files.mission/airbase-name",-2098077019),new cljs.core.Keyword("weathergen.falcon.files.mission","country","weathergen.falcon.files.mission/country",-2015827389),new cljs.core.Keyword("weathergen.falcon.files.mission","current-strength","weathergen.falcon.files.mission/current-strength",2072387746),new cljs.core.Keyword("weathergen.falcon.files.mission","description-index","weathergen.falcon.files.mission/description-index",
385969124),new cljs.core.Keyword("vu","id","vu/id",-1388397675),new cljs.core.Keyword("weathergen.falcon.files.mission","name-id","weathergen.falcon.files.mission/name-id",-1810014458),new cljs.core.Keyword("weathergen.falcon.files.mission","specialty","weathergen.falcon.files.mission/specialty",-571641396),new cljs.core.Keyword("weathergen.falcon.files.mission","squadron-patch","weathergen.falcon.files.mission/squadron-patch",-1846053444),new cljs.core.Keyword("weathergen.falcon.files.mission","x",
"weathergen.falcon.files.mission/x",-773377357),new cljs.core.Keyword("weathergen.falcon.files.mission","y","weathergen.falcon.files.mission/y",-1199341078)],null),null,null,new cljs.core.PersistentVector(null,12,5,cljs.core.PersistentVector.EMPTY_NODE,[function(a){return cljs.core.map_QMARK_.call(null,a)},function(a){return cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"airbase-icon","airbase-icon",-1322581504))},function(a){return cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,
"airbase-name","airbase-name",-1509991393))},function(a){return cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"country","country",312965309))},function(a){return cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"current-strength","current-strength",-809786824))},function(a){return cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"description-index","description-index",1949024606))},function(a){return cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,
"id","id",-1388402092))},function(a){return cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"name-id","name-id",-279275372))},function(a){return cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"specialty","specialty",-159219386))},function(a){return cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"squadron-patch","squadron-patch",883934030))},function(a){return cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"x","x",2099068185))},
function(a){return cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"y","y",-1757859776))}],null),function(a){return cljs.core.map_QMARK_.call(null,a)&&cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"airbase-icon","airbase-icon",-1322581504))&&cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"airbase-name","airbase-name",-1509991393))&&cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"country","country",312965309))&&cljs.core.contains_QMARK_.call(null,
a,new cljs.core.Keyword(null,"current-strength","current-strength",-809786824))&&cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"description-index","description-index",1949024606))&&cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"id","id",-1388402092))&&cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"name-id","name-id",-279275372))&&cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"specialty","specialty",-159219386))&&cljs.core.contains_QMARK_.call(null,
a,new cljs.core.Keyword(null,"squadron-patch","squadron-patch",883934030))&&cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"x","x",2099068185))&&cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"y","y",-1757859776))},cljs.core.PersistentVector.EMPTY,new cljs.core.PersistentVector(null,11,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword("weathergen.falcon.files.mission","airbase-icon","weathergen.falcon.files.mission/airbase-icon",1415673734),new cljs.core.Keyword("weathergen.falcon.files.mission",
"airbase-name","weathergen.falcon.files.mission/airbase-name",-2098077019),new cljs.core.Keyword("weathergen.falcon.files.mission","country","weathergen.falcon.files.mission/country",-2015827389),new cljs.core.Keyword("weathergen.falcon.files.mission","current-strength","weathergen.falcon.files.mission/current-strength",2072387746),new cljs.core.Keyword("weathergen.falcon.files.mission","description-index","weathergen.falcon.files.mission/description-index",385969124),new cljs.core.Keyword("vu","id",
"vu/id",-1388397675),new cljs.core.Keyword("weathergen.falcon.files.mission","name-id","weathergen.falcon.files.mission/name-id",-1810014458),new cljs.core.Keyword("weathergen.falcon.files.mission","specialty","weathergen.falcon.files.mission/specialty",-571641396),new cljs.core.Keyword("weathergen.falcon.files.mission","squadron-patch","weathergen.falcon.files.mission/squadron-patch",-1846053444),new cljs.core.Keyword("weathergen.falcon.files.mission","x","weathergen.falcon.files.mission/x",-773377357),
new cljs.core.Keyword("weathergen.falcon.files.mission","y","weathergen.falcon.files.mission/y",-1199341078)],null),null,new cljs.core.PersistentVector(null,11,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"airbase-icon","airbase-icon",-1322581504),new cljs.core.Keyword(null,"airbase-name","airbase-name",-1509991393),new cljs.core.Keyword(null,"country","country",312965309),new cljs.core.Keyword(null,"current-strength","current-strength",-809786824),new cljs.core.Keyword(null,
"description-index","description-index",1949024606),new cljs.core.Keyword(null,"id","id",-1388402092),new cljs.core.Keyword(null,"name-id","name-id",-279275372),new cljs.core.Keyword(null,"specialty","specialty",-159219386),new cljs.core.Keyword(null,"squadron-patch","squadron-patch",883934030),new cljs.core.Keyword(null,"x","x",2099068185),new cljs.core.Keyword(null,"y","y",-1757859776)],null),cljs.core.PersistentVector.EMPTY,new cljs.core.PersistentVector(null,12,5,cljs.core.PersistentVector.EMPTY_NODE,
[cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"%","%",-950237169,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core","map?","cljs.core/map?",-1390345523,null),new cljs.core.Symbol(null,"%","%",-950237169,null))),cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,
[new cljs.core.Symbol(null,"%","%",-950237169,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core","contains?","cljs.core/contains?",-976526835,null),new cljs.core.Symbol(null,"%","%",-950237169,null),new cljs.core.Keyword(null,"airbase-icon","airbase-icon",-1322581504))),cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"%","%",-950237169,null)],null),
cljs.core.list(new cljs.core.Symbol("cljs.core","contains?","cljs.core/contains?",-976526835,null),new cljs.core.Symbol(null,"%","%",-950237169,null),new cljs.core.Keyword(null,"airbase-name","airbase-name",-1509991393))),cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"%","%",-950237169,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core","contains?",
"cljs.core/contains?",-976526835,null),new cljs.core.Symbol(null,"%","%",-950237169,null),new cljs.core.Keyword(null,"country","country",312965309))),cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"%","%",-950237169,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core","contains?","cljs.core/contains?",-976526835,null),new cljs.core.Symbol(null,"%",
"%",-950237169,null),new cljs.core.Keyword(null,"current-strength","current-strength",-809786824))),cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"%","%",-950237169,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core","contains?","cljs.core/contains?",-976526835,null),new cljs.core.Symbol(null,"%","%",-950237169,null),new cljs.core.Keyword(null,"description-index",
"description-index",1949024606))),cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"%","%",-950237169,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core","contains?","cljs.core/contains?",-976526835,null),new cljs.core.Symbol(null,"%","%",-950237169,null),new cljs.core.Keyword(null,"id","id",-1388402092))),cljs.core.list(new cljs.core.Symbol("cljs.core",
"fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"%","%",-950237169,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core","contains?","cljs.core/contains?",-976526835,null),new cljs.core.Symbol(null,"%","%",-950237169,null),new cljs.core.Keyword(null,"name-id","name-id",-279275372))),cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null,
1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"%","%",-950237169,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core","contains?","cljs.core/contains?",-976526835,null),new cljs.core.Symbol(null,"%","%",-950237169,null),new cljs.core.Keyword(null,"specialty","specialty",-159219386))),cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,
"%","%",-950237169,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core","contains?","cljs.core/contains?",-976526835,null),new cljs.core.Symbol(null,"%","%",-950237169,null),new cljs.core.Keyword(null,"squadron-patch","squadron-patch",883934030))),cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"%","%",-950237169,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core",
"contains?","cljs.core/contains?",-976526835,null),new cljs.core.Symbol(null,"%","%",-950237169,null),new cljs.core.Keyword(null,"x","x",2099068185))),cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"%","%",-950237169,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core","contains?","cljs.core/contains?",-976526835,null),new cljs.core.Symbol(null,"%",
"%",-950237169,null),new cljs.core.Keyword(null,"y","y",-1757859776)))],null),null]));
weathergen.falcon.files.mission.TeamBasicInfo=cljs.spec.alpha.map_spec_impl.call(null,cljs.core.PersistentHashMap.fromArrays([new cljs.core.Keyword(null,"req-un","req-un",1074571008),new cljs.core.Keyword(null,"opt-un","opt-un",883442496),new cljs.core.Keyword(null,"gfn","gfn",791517474),new cljs.core.Keyword(null,"pred-exprs","pred-exprs",1792271395),new cljs.core.Keyword(null,"keys-pred","keys-pred",858984739),new cljs.core.Keyword(null,"opt-keys","opt-keys",1262688261),new cljs.core.Keyword(null,
"req-specs","req-specs",553962313),new cljs.core.Keyword(null,"req","req",-326448303),new cljs.core.Keyword(null,"req-keys","req-keys",514319221),new cljs.core.Keyword(null,"opt-specs","opt-specs",-384905450),new cljs.core.Keyword(null,"pred-forms","pred-forms",172611832),new cljs.core.Keyword(null,"opt","opt",-794706369)],[new cljs.core.PersistentVector(null,4,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword("weathergen.falcon.files.mission","color","weathergen.falcon.files.mission/color",
-1861591637),new cljs.core.Keyword("weathergen.falcon.files.mission","flag","weathergen.falcon.files.mission/flag",-459732893),new cljs.core.Keyword("weathergen.falcon.files.mission","motto","weathergen.falcon.files.mission/motto",1232886770),new cljs.core.Keyword("weathergen.falcon.files.mission","name","weathergen.falcon.files.mission/name",1235339975)],null),null,null,new cljs.core.PersistentVector(null,5,5,cljs.core.PersistentVector.EMPTY_NODE,[function(a){return cljs.core.map_QMARK_.call(null,
a)},function(a){return cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"color","color",1011675173))},function(a){return cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"flag","flag",1088647881))},function(a){return cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"motto","motto",-708709752))},function(a){return cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"name","name",1843675177))}],null),function(a){return cljs.core.map_QMARK_.call(null,
a)&&cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"color","color",1011675173))&&cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"flag","flag",1088647881))&&cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"motto","motto",-708709752))&&cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"name","name",1843675177))},cljs.core.PersistentVector.EMPTY,new cljs.core.PersistentVector(null,4,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword("weathergen.falcon.files.mission",
"color","weathergen.falcon.files.mission/color",-1861591637),new cljs.core.Keyword("weathergen.falcon.files.mission","flag","weathergen.falcon.files.mission/flag",-459732893),new cljs.core.Keyword("weathergen.falcon.files.mission","motto","weathergen.falcon.files.mission/motto",1232886770),new cljs.core.Keyword("weathergen.falcon.files.mission","name","weathergen.falcon.files.mission/name",1235339975)],null),null,new cljs.core.PersistentVector(null,4,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,
"color","color",1011675173),new cljs.core.Keyword(null,"flag","flag",1088647881),new cljs.core.Keyword(null,"motto","motto",-708709752),new cljs.core.Keyword(null,"name","name",1843675177)],null),cljs.core.PersistentVector.EMPTY,new cljs.core.PersistentVector(null,5,5,cljs.core.PersistentVector.EMPTY_NODE,[cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"%",
"%",-950237169,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core","map?","cljs.core/map?",-1390345523,null),new cljs.core.Symbol(null,"%","%",-950237169,null))),cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"%","%",-950237169,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core","contains?","cljs.core/contains?",-976526835,null),new cljs.core.Symbol(null,
"%","%",-950237169,null),new cljs.core.Keyword(null,"color","color",1011675173))),cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"%","%",-950237169,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core","contains?","cljs.core/contains?",-976526835,null),new cljs.core.Symbol(null,"%","%",-950237169,null),new cljs.core.Keyword(null,"flag","flag",1088647881))),
cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"%","%",-950237169,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core","contains?","cljs.core/contains?",-976526835,null),new cljs.core.Symbol(null,"%","%",-950237169,null),new cljs.core.Keyword(null,"motto","motto",-708709752))),cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,
null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"%","%",-950237169,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core","contains?","cljs.core/contains?",-976526835,null),new cljs.core.Symbol(null,"%","%",-950237169,null),new cljs.core.Keyword(null,"name","name",1843675177)))],null),null]));
weathergen.falcon.files.mission.CampaignInfo=cljs.spec.alpha.map_spec_impl.call(null,cljs.core.PersistentHashMap.fromArrays([new cljs.core.Keyword(null,"req-un","req-un",1074571008),new cljs.core.Keyword(null,"opt-un","opt-un",883442496),new cljs.core.Keyword(null,"gfn","gfn",791517474),new cljs.core.Keyword(null,"pred-exprs","pred-exprs",1792271395),new cljs.core.Keyword(null,"keys-pred","keys-pred",858984739),new cljs.core.Keyword(null,"opt-keys","opt-keys",1262688261),new cljs.core.Keyword(null,
"req-specs","req-specs",553962313),new cljs.core.Keyword(null,"req","req",-326448303),new cljs.core.Keyword(null,"req-keys","req-keys",514319221),new cljs.core.Keyword(null,"opt-specs","opt-specs",-384905450),new cljs.core.Keyword(null,"pred-forms","pred-forms",172611832),new cljs.core.Keyword(null,"opt","opt",-794706369)],[null,null,null,new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[function(a){return cljs.core.map_QMARK_.call(null,a)}],null),function(a){return cljs.core.map_QMARK_.call(null,
a)},cljs.core.PersistentVector.EMPTY,cljs.core.PersistentVector.EMPTY,null,cljs.core.PersistentVector.EMPTY,cljs.core.PersistentVector.EMPTY,new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"%","%",-950237169,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core","map?","cljs.core/map?",
-1390345523,null),new cljs.core.Symbol(null,"%","%",-950237169,null)))],null),null]));
weathergen.falcon.files.mission.ObjectiveDelta=cljs.spec.alpha.map_spec_impl.call(null,cljs.core.PersistentHashMap.fromArrays([new cljs.core.Keyword(null,"req-un","req-un",1074571008),new cljs.core.Keyword(null,"opt-un","opt-un",883442496),new cljs.core.Keyword(null,"gfn","gfn",791517474),new cljs.core.Keyword(null,"pred-exprs","pred-exprs",1792271395),new cljs.core.Keyword(null,"keys-pred","keys-pred",858984739),new cljs.core.Keyword(null,"opt-keys","opt-keys",1262688261),new cljs.core.Keyword(null,
"req-specs","req-specs",553962313),new cljs.core.Keyword(null,"req","req",-326448303),new cljs.core.Keyword(null,"req-keys","req-keys",514319221),new cljs.core.Keyword(null,"opt-specs","opt-specs",-384905450),new cljs.core.Keyword(null,"pred-forms","pred-forms",172611832),new cljs.core.Keyword(null,"opt","opt",-794706369)],[new cljs.core.PersistentVector(null,7,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword("weathergen.falcon.files.mission","f-status","weathergen.falcon.files.mission/f-status",
-1947313271),new cljs.core.Keyword("weathergen.falcon.files.mission","fuel","weathergen.falcon.files.mission/fuel",760787687),new cljs.core.Keyword("vu","id","vu/id",-1388397675),new cljs.core.Keyword("weathergen.falcon.files.mission","last-repair","weathergen.falcon.files.mission/last-repair",-1526954899),new cljs.core.Keyword("weathergen.falcon.files.mission","losses","weathergen.falcon.files.mission/losses",-1879114985),new cljs.core.Keyword("weathergen.falcon.files.mission","owner","weathergen.falcon.files.mission/owner",
1206032935),new cljs.core.Keyword("weathergen.falcon.files.mission","supply","weathergen.falcon.files.mission/supply",-45632963)],null),null,null,new cljs.core.PersistentVector(null,8,5,cljs.core.PersistentVector.EMPTY_NODE,[function(a){return cljs.core.map_QMARK_.call(null,a)},function(a){return cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"f-status","f-status",782756103))},function(a){return cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"fuel","fuel",10405485))},
function(a){return cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"id","id",-1388402092))},function(a){return cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"last-repair","last-repair",1138109175))},function(a){return cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"losses","losses",-189206407))},function(a){return cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"owner","owner",-392611939))},function(a){return cljs.core.contains_QMARK_.call(null,
a,new cljs.core.Keyword(null,"supply","supply",-1701696309))}],null),function(a){return cljs.core.map_QMARK_.call(null,a)&&cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"f-status","f-status",782756103))&&cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"fuel","fuel",10405485))&&cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"id","id",-1388402092))&&cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"last-repair","last-repair",1138109175))&&
cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"losses","losses",-189206407))&&cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"owner","owner",-392611939))&&cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"supply","supply",-1701696309))},cljs.core.PersistentVector.EMPTY,new cljs.core.PersistentVector(null,7,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword("weathergen.falcon.files.mission","f-status","weathergen.falcon.files.mission/f-status",
-1947313271),new cljs.core.Keyword("weathergen.falcon.files.mission","fuel","weathergen.falcon.files.mission/fuel",760787687),new cljs.core.Keyword("vu","id","vu/id",-1388397675),new cljs.core.Keyword("weathergen.falcon.files.mission","last-repair","weathergen.falcon.files.mission/last-repair",-1526954899),new cljs.core.Keyword("weathergen.falcon.files.mission","losses","weathergen.falcon.files.mission/losses",-1879114985),new cljs.core.Keyword("weathergen.falcon.files.mission","owner","weathergen.falcon.files.mission/owner",
1206032935),new cljs.core.Keyword("weathergen.falcon.files.mission","supply","weathergen.falcon.files.mission/supply",-45632963)],null),null,new cljs.core.PersistentVector(null,7,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"f-status","f-status",782756103),new cljs.core.Keyword(null,"fuel","fuel",10405485),new cljs.core.Keyword(null,"id","id",-1388402092),new cljs.core.Keyword(null,"last-repair","last-repair",1138109175),new cljs.core.Keyword(null,"losses","losses",-189206407),
new cljs.core.Keyword(null,"owner","owner",-392611939),new cljs.core.Keyword(null,"supply","supply",-1701696309)],null),cljs.core.PersistentVector.EMPTY,new cljs.core.PersistentVector(null,8,5,cljs.core.PersistentVector.EMPTY_NODE,[cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"%","%",-950237169,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core",
"map?","cljs.core/map?",-1390345523,null),new cljs.core.Symbol(null,"%","%",-950237169,null))),cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"%","%",-950237169,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core","contains?","cljs.core/contains?",-976526835,null),new cljs.core.Symbol(null,"%","%",-950237169,null),new cljs.core.Keyword(null,"f-status",
"f-status",782756103))),cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"%","%",-950237169,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core","contains?","cljs.core/contains?",-976526835,null),new cljs.core.Symbol(null,"%","%",-950237169,null),new cljs.core.Keyword(null,"fuel","fuel",10405485))),cljs.core.list(new cljs.core.Symbol("cljs.core","fn",
"cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"%","%",-950237169,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core","contains?","cljs.core/contains?",-976526835,null),new cljs.core.Symbol(null,"%","%",-950237169,null),new cljs.core.Keyword(null,"id","id",-1388402092))),cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,
[new cljs.core.Symbol(null,"%","%",-950237169,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core","contains?","cljs.core/contains?",-976526835,null),new cljs.core.Symbol(null,"%","%",-950237169,null),new cljs.core.Keyword(null,"last-repair","last-repair",1138109175))),cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"%","%",-950237169,null)],null),
cljs.core.list(new cljs.core.Symbol("cljs.core","contains?","cljs.core/contains?",-976526835,null),new cljs.core.Symbol(null,"%","%",-950237169,null),new cljs.core.Keyword(null,"losses","losses",-189206407))),cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"%","%",-950237169,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core","contains?","cljs.core/contains?",
-976526835,null),new cljs.core.Symbol(null,"%","%",-950237169,null),new cljs.core.Keyword(null,"owner","owner",-392611939))),cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"%","%",-950237169,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core","contains?","cljs.core/contains?",-976526835,null),new cljs.core.Symbol(null,"%","%",-950237169,null),new cljs.core.Keyword(null,
"supply","supply",-1701696309)))],null),null]));
weathergen.falcon.files.mission.TaskingManager=cljs.spec.alpha.map_spec_impl.call(null,cljs.core.PersistentHashMap.fromArrays([new cljs.core.Keyword(null,"req-un","req-un",1074571008),new cljs.core.Keyword(null,"opt-un","opt-un",883442496),new cljs.core.Keyword(null,"gfn","gfn",791517474),new cljs.core.Keyword(null,"pred-exprs","pred-exprs",1792271395),new cljs.core.Keyword(null,"keys-pred","keys-pred",858984739),new cljs.core.Keyword(null,"opt-keys","opt-keys",1262688261),new cljs.core.Keyword(null,
"req-specs","req-specs",553962313),new cljs.core.Keyword(null,"req","req",-326448303),new cljs.core.Keyword(null,"req-keys","req-keys",514319221),new cljs.core.Keyword(null,"opt-specs","opt-specs",-384905450),new cljs.core.Keyword(null,"pred-forms","pred-forms",172611832),new cljs.core.Keyword(null,"opt","opt",-794706369)],[new cljs.core.PersistentVector(null,4,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword("vu","id","vu/id",-1388397675),new cljs.core.Keyword("weathergen.falcon.files.mission",
"entity-type","weathergen.falcon.files.mission/entity-type",-427082019),new cljs.core.Keyword("weathergen.falcon.files.mission","manager-flags","weathergen.falcon.files.mission/manager-flags",1548895997),new cljs.core.Keyword("weathergen.falcon.files.mission","owner","weathergen.falcon.files.mission/owner",1206032935)],null),null,null,new cljs.core.PersistentVector(null,5,5,cljs.core.PersistentVector.EMPTY_NODE,[function(a){return cljs.core.map_QMARK_.call(null,a)},function(a){return cljs.core.contains_QMARK_.call(null,
a,new cljs.core.Keyword(null,"id","id",-1388402092))},function(a){return cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"entity-type","entity-type",-1957300125))},function(a){return cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"manager-flags","manager-flags",2031008919))},function(a){return cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"owner","owner",-392611939))}],null),function(a){return cljs.core.map_QMARK_.call(null,a)&&cljs.core.contains_QMARK_.call(null,
a,new cljs.core.Keyword(null,"id","id",-1388402092))&&cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"entity-type","entity-type",-1957300125))&&cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"manager-flags","manager-flags",2031008919))&&cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"owner","owner",-392611939))},cljs.core.PersistentVector.EMPTY,new cljs.core.PersistentVector(null,4,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword("vu",
"id","vu/id",-1388397675),new cljs.core.Keyword("weathergen.falcon.files.mission","entity-type","weathergen.falcon.files.mission/entity-type",-427082019),new cljs.core.Keyword("weathergen.falcon.files.mission","manager-flags","weathergen.falcon.files.mission/manager-flags",1548895997),new cljs.core.Keyword("weathergen.falcon.files.mission","owner","weathergen.falcon.files.mission/owner",1206032935)],null),null,new cljs.core.PersistentVector(null,4,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,
"id","id",-1388402092),new cljs.core.Keyword(null,"entity-type","entity-type",-1957300125),new cljs.core.Keyword(null,"manager-flags","manager-flags",2031008919),new cljs.core.Keyword(null,"owner","owner",-392611939)],null),cljs.core.PersistentVector.EMPTY,new cljs.core.PersistentVector(null,5,5,cljs.core.PersistentVector.EMPTY_NODE,[cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,
"%","%",-950237169,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core","map?","cljs.core/map?",-1390345523,null),new cljs.core.Symbol(null,"%","%",-950237169,null))),cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"%","%",-950237169,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core","contains?","cljs.core/contains?",-976526835,null),new cljs.core.Symbol(null,
"%","%",-950237169,null),new cljs.core.Keyword(null,"id","id",-1388402092))),cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"%","%",-950237169,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core","contains?","cljs.core/contains?",-976526835,null),new cljs.core.Symbol(null,"%","%",-950237169,null),new cljs.core.Keyword(null,"entity-type","entity-type",
-1957300125))),cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"%","%",-950237169,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core","contains?","cljs.core/contains?",-976526835,null),new cljs.core.Symbol(null,"%","%",-950237169,null),new cljs.core.Keyword(null,"manager-flags","manager-flags",2031008919))),cljs.core.list(new cljs.core.Symbol("cljs.core",
"fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"%","%",-950237169,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core","contains?","cljs.core/contains?",-976526835,null),new cljs.core.Symbol(null,"%","%",-950237169,null),new cljs.core.Keyword(null,"owner","owner",-392611939)))],null),null]));
weathergen.falcon.files.mission.AtmAirbase=cljs.spec.alpha.map_spec_impl.call(null,cljs.core.PersistentHashMap.fromArrays([new cljs.core.Keyword(null,"req-un","req-un",1074571008),new cljs.core.Keyword(null,"opt-un","opt-un",883442496),new cljs.core.Keyword(null,"gfn","gfn",791517474),new cljs.core.Keyword(null,"pred-exprs","pred-exprs",1792271395),new cljs.core.Keyword(null,"keys-pred","keys-pred",858984739),new cljs.core.Keyword(null,"opt-keys","opt-keys",1262688261),new cljs.core.Keyword(null,
"req-specs","req-specs",553962313),new cljs.core.Keyword(null,"req","req",-326448303),new cljs.core.Keyword(null,"req-keys","req-keys",514319221),new cljs.core.Keyword(null,"opt-specs","opt-specs",-384905450),new cljs.core.Keyword(null,"pred-forms","pred-forms",172611832),new cljs.core.Keyword(null,"opt","opt",-794706369)],[new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword("vu","id","vu/id",-1388397675),new cljs.core.Keyword("weathergen.falcon.files.mission",
"schedule","weathergen.falcon.files.mission/schedule",-1332281856)],null),null,null,new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,[function(a){return cljs.core.map_QMARK_.call(null,a)},function(a){return cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"id","id",-1388402092))},function(a){return cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"schedule","schedule",349275266))}],null),function(a){return cljs.core.map_QMARK_.call(null,
a)&&cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"id","id",-1388402092))&&cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"schedule","schedule",349275266))},cljs.core.PersistentVector.EMPTY,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword("vu","id","vu/id",-1388397675),new cljs.core.Keyword("weathergen.falcon.files.mission","schedule","weathergen.falcon.files.mission/schedule",-1332281856)],null),null,new cljs.core.PersistentVector(null,
2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"id","id",-1388402092),new cljs.core.Keyword(null,"schedule","schedule",349275266)],null),cljs.core.PersistentVector.EMPTY,new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,[cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"%","%",-950237169,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core",
"map?","cljs.core/map?",-1390345523,null),new cljs.core.Symbol(null,"%","%",-950237169,null))),cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"%","%",-950237169,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core","contains?","cljs.core/contains?",-976526835,null),new cljs.core.Symbol(null,"%","%",-950237169,null),new cljs.core.Keyword(null,"id","id",
-1388402092))),cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"%","%",-950237169,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core","contains?","cljs.core/contains?",-976526835,null),new cljs.core.Symbol(null,"%","%",-950237169,null),new cljs.core.Keyword(null,"schedule","schedule",349275266)))],null),null]));
weathergen.falcon.files.mission.MissionRequest=cljs.spec.alpha.map_spec_impl.call(null,cljs.core.PersistentHashMap.fromArrays([new cljs.core.Keyword(null,"req-un","req-un",1074571008),new cljs.core.Keyword(null,"opt-un","opt-un",883442496),new cljs.core.Keyword(null,"gfn","gfn",791517474),new cljs.core.Keyword(null,"pred-exprs","pred-exprs",1792271395),new cljs.core.Keyword(null,"keys-pred","keys-pred",858984739),new cljs.core.Keyword(null,"opt-keys","opt-keys",1262688261),new cljs.core.Keyword(null,
"req-specs","req-specs",553962313),new cljs.core.Keyword(null,"req","req",-326448303),new cljs.core.Keyword(null,"req-keys","req-keys",514319221),new cljs.core.Keyword(null,"opt-specs","opt-specs",-384905450),new cljs.core.Keyword(null,"pred-forms","pred-forms",172611832),new cljs.core.Keyword(null,"opt","opt",-794706369)],[new cljs.core.PersistentVector(null,27,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword("weathergen.falcon.files.mission","requester","weathergen.falcon.files.mission/requester",
323342959),new cljs.core.Keyword("weathergen.falcon.files.mission","tawrget","weathergen.falcon.files.mission/tawrget",963957686),new cljs.core.Keyword("weathergen.falcon.files.mission","secondary","weathergen.falcon.files.mission/secondary",-120553166),new cljs.core.Keyword("weathergen.falcon.files.mission","pak","weathergen.falcon.files.mission/pak",-488251816),new cljs.core.Keyword("weathergen.falcon.files.mission","who","weathergen.falcon.files.mission/who",1823833670),new cljs.core.Keyword("weathergen.falcon.files.mission",
"vs","weathergen.falcon.files.mission/vs",331200696),new cljs.core.Keyword("weathergen.falcon.files.mission","tot","weathergen.falcon.files.mission/tot",438073632),new cljs.core.Keyword("weathergen.falcon.files.mission","tx","weathergen.falcon.files.mission/tx",1872347788),new cljs.core.Keyword("weathergen.falcon.files.mission","ty","weathergen.falcon.files.mission/ty",1848699175),new cljs.core.Keyword("weathergen.falcon.files.mission","flags","weathergen.falcon.files.mission/flags",-965167503),new cljs.core.Keyword("weathergen.falcon.files.mission",
"caps","weathergen.falcon.files.mission/caps",1774556458),new cljs.core.Keyword("weathergen.falcon.files.mission","target-num","weathergen.falcon.files.mission/target-num",-1006424384),new cljs.core.Keyword("weathergen.falcon.files.mission","speed","weathergen.falcon.files.mission/speed",-409174135),new cljs.core.Keyword("weathergen.falcon.files.mission","match-strength","weathergen.falcon.files.mission/match-strength",2049881332),new cljs.core.Keyword("weathergen.falcon.files.mission","priority",
"weathergen.falcon.files.mission/priority",1887991877),new cljs.core.Keyword("weathergen.falcon.files.mission","tot-type","weathergen.falcon.files.mission/tot-type",-1651966103),new cljs.core.Keyword("weathergen.falcon.files.mission","action-type","weathergen.falcon.files.mission/action-type",523180133),new cljs.core.Keyword("mission-request","mission","mission-request/mission",549236284),new cljs.core.Keyword("weathergen.falcon.files.mission","aircraft","weathergen.falcon.files.mission/aircraft",
774567258),new cljs.core.Keyword("weathergen.falcon.files.mission","context","weathergen.falcon.files.mission/context",-247799687),new cljs.core.Keyword("weathergen.falcon.files.mission","roe-check","weathergen.falcon.files.mission/roe-check",-1992214504),new cljs.core.Keyword("weathergen.falcon.files.mission","delayed","weathergen.falcon.files.mission/delayed",-1311866337),new cljs.core.Keyword("weathergen.falcon.files.mission","start-block","weathergen.falcon.files.mission/start-block",-770598562),
new cljs.core.Keyword("weathergen.falcon.files.mission","final-block","weathergen.falcon.files.mission/final-block",155898840),new cljs.core.Keyword("weathergen.falcon.files.mission","slots","weathergen.falcon.files.mission/slots",1866096404),new cljs.core.Keyword("weathergen.falcon.files.mission","min-to","weathergen.falcon.files.mission/min-to",2143567845),new cljs.core.Keyword("weathergen.falcon.files.mission","max-to","weathergen.falcon.files.mission/max-to",-879986357)],null),null,null,new cljs.core.PersistentVector(null,
28,5,cljs.core.PersistentVector.EMPTY_NODE,[function(a){return cljs.core.map_QMARK_.call(null,a)},function(a){return cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"requester","requester",2032946161))},function(a){return cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"tawrget","tawrget",-998289104))},function(a){return cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"secondary","secondary",-669381460))},function(a){return cljs.core.contains_QMARK_.call(null,
a,new cljs.core.Keyword(null,"pak","pak",-1071422534))},function(a){return cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"who","who",-235935040))},function(a){return cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"vs","vs",-2022097090))},function(a){return cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"tot","tot",2086174646))},function(a){return cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"tx","tx",466630418))},function(a){return cljs.core.contains_QMARK_.call(null,
a,new cljs.core.Keyword(null,"ty","ty",158290825))},function(a){return cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"flags","flags",1775418075))},function(a){return cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"caps","caps",-183763072))},function(a){return cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"target-num","target-num",1623497814))},function(a){return cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"speed","speed",
1257663751))},function(a){return cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"match-strength","match-strength",1432664922))},function(a){return cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"priority","priority",1431093715))},function(a){return cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"tot-type","tot-type",-524162589))},function(a){return cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"action-type","action-type",-1141667361))},
function(a){return cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"mission","mission",1740288522))},function(a){return cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"aircraft","aircraft",-790597916))},function(a){return cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"context","context",-830191113))},function(a){return cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"roe-check","roe-check",-302273906))},function(a){return cljs.core.contains_QMARK_.call(null,
a,new cljs.core.Keyword(null,"delayed","delayed",251992229))},function(a){return cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"start-block","start-block",885980136))},function(a){return cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"final-block","final-block",-1801414066))},function(a){return cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"slots","slots",276818598))},function(a){return cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,
"min-to","min-to",-486357137))},function(a){return cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"max-to","max-to",801697233))}],null),function(a){return cljs.core.map_QMARK_.call(null,a)&&cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"requester","requester",2032946161))&&cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"tawrget","tawrget",-998289104))&&cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"secondary","secondary",-669381460))&&
cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"pak","pak",-1071422534))&&cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"who","who",-235935040))&&cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"vs","vs",-2022097090))&&cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"tot","tot",2086174646))&&cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"tx","tx",466630418))&&cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,
"ty","ty",158290825))&&cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"flags","flags",1775418075))&&cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"caps","caps",-183763072))&&cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"target-num","target-num",1623497814))&&cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"speed","speed",1257663751))&&cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"match-strength","match-strength",
1432664922))&&cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"priority","priority",1431093715))&&cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"tot-type","tot-type",-524162589))&&cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"action-type","action-type",-1141667361))&&cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"mission","mission",1740288522))&&cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"aircraft","aircraft",
-790597916))&&cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"context","context",-830191113))&&cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"roe-check","roe-check",-302273906))&&cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"delayed","delayed",251992229))&&cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"start-block","start-block",885980136))&&cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"final-block","final-block",
-1801414066))&&cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"slots","slots",276818598))&&cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"min-to","min-to",-486357137))&&cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"max-to","max-to",801697233))},cljs.core.PersistentVector.EMPTY,new cljs.core.PersistentVector(null,27,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword("weathergen.falcon.files.mission","requester","weathergen.falcon.files.mission/requester",
323342959),new cljs.core.Keyword("weathergen.falcon.files.mission","tawrget","weathergen.falcon.files.mission/tawrget",963957686),new cljs.core.Keyword("weathergen.falcon.files.mission","secondary","weathergen.falcon.files.mission/secondary",-120553166),new cljs.core.Keyword("weathergen.falcon.files.mission","pak","weathergen.falcon.files.mission/pak",-488251816),new cljs.core.Keyword("weathergen.falcon.files.mission","who","weathergen.falcon.files.mission/who",1823833670),new cljs.core.Keyword("weathergen.falcon.files.mission",
"vs","weathergen.falcon.files.mission/vs",331200696),new cljs.core.Keyword("weathergen.falcon.files.mission","tot","weathergen.falcon.files.mission/tot",438073632),new cljs.core.Keyword("weathergen.falcon.files.mission","tx","weathergen.falcon.files.mission/tx",1872347788),new cljs.core.Keyword("weathergen.falcon.files.mission","ty","weathergen.falcon.files.mission/ty",1848699175),new cljs.core.Keyword("weathergen.falcon.files.mission","flags","weathergen.falcon.files.mission/flags",-965167503),new cljs.core.Keyword("weathergen.falcon.files.mission",
"caps","weathergen.falcon.files.mission/caps",1774556458),new cljs.core.Keyword("weathergen.falcon.files.mission","target-num","weathergen.falcon.files.mission/target-num",-1006424384),new cljs.core.Keyword("weathergen.falcon.files.mission","speed","weathergen.falcon.files.mission/speed",-409174135),new cljs.core.Keyword("weathergen.falcon.files.mission","match-strength","weathergen.falcon.files.mission/match-strength",2049881332),new cljs.core.Keyword("weathergen.falcon.files.mission","priority",
"weathergen.falcon.files.mission/priority",1887991877),new cljs.core.Keyword("weathergen.falcon.files.mission","tot-type","weathergen.falcon.files.mission/tot-type",-1651966103),new cljs.core.Keyword("weathergen.falcon.files.mission","action-type","weathergen.falcon.files.mission/action-type",523180133),new cljs.core.Keyword("mission-request","mission","mission-request/mission",549236284),new cljs.core.Keyword("weathergen.falcon.files.mission","aircraft","weathergen.falcon.files.mission/aircraft",
774567258),new cljs.core.Keyword("weathergen.falcon.files.mission","context","weathergen.falcon.files.mission/context",-247799687),new cljs.core.Keyword("weathergen.falcon.files.mission","roe-check","weathergen.falcon.files.mission/roe-check",-1992214504),new cljs.core.Keyword("weathergen.falcon.files.mission","delayed","weathergen.falcon.files.mission/delayed",-1311866337),new cljs.core.Keyword("weathergen.falcon.files.mission","start-block","weathergen.falcon.files.mission/start-block",-770598562),
new cljs.core.Keyword("weathergen.falcon.files.mission","final-block","weathergen.falcon.files.mission/final-block",155898840),new cljs.core.Keyword("weathergen.falcon.files.mission","slots","weathergen.falcon.files.mission/slots",1866096404),new cljs.core.Keyword("weathergen.falcon.files.mission","min-to","weathergen.falcon.files.mission/min-to",2143567845),new cljs.core.Keyword("weathergen.falcon.files.mission","max-to","weathergen.falcon.files.mission/max-to",-879986357)],null),null,new cljs.core.PersistentVector(null,
27,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"requester","requester",2032946161),new cljs.core.Keyword(null,"tawrget","tawrget",-998289104),new cljs.core.Keyword(null,"secondary","secondary",-669381460),new cljs.core.Keyword(null,"pak","pak",-1071422534),new cljs.core.Keyword(null,"who","who",-235935040),new cljs.core.Keyword(null,"vs","vs",-2022097090),new cljs.core.Keyword(null,"tot","tot",2086174646),new cljs.core.Keyword(null,"tx","tx",466630418),new cljs.core.Keyword(null,
"ty","ty",158290825),new cljs.core.Keyword(null,"flags","flags",1775418075),new cljs.core.Keyword(null,"caps","caps",-183763072),new cljs.core.Keyword(null,"target-num","target-num",1623497814),new cljs.core.Keyword(null,"speed","speed",1257663751),new cljs.core.Keyword(null,"match-strength","match-strength",1432664922),new cljs.core.Keyword(null,"priority","priority",1431093715),new cljs.core.Keyword(null,"tot-type","tot-type",-524162589),new cljs.core.Keyword(null,"action-type","action-type",-1141667361),
new cljs.core.Keyword(null,"mission","mission",1740288522),new cljs.core.Keyword(null,"aircraft","aircraft",-790597916),new cljs.core.Keyword(null,"context","context",-830191113),new cljs.core.Keyword(null,"roe-check","roe-check",-302273906),new cljs.core.Keyword(null,"delayed","delayed",251992229),new cljs.core.Keyword(null,"start-block","start-block",885980136),new cljs.core.Keyword(null,"final-block","final-block",-1801414066),new cljs.core.Keyword(null,"slots","slots",276818598),new cljs.core.Keyword(null,
"min-to","min-to",-486357137),new cljs.core.Keyword(null,"max-to","max-to",801697233)],null),cljs.core.PersistentVector.EMPTY,new cljs.core.PersistentVector(null,28,5,cljs.core.PersistentVector.EMPTY_NODE,[cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"%","%",-950237169,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core","map?","cljs.core/map?",
-1390345523,null),new cljs.core.Symbol(null,"%","%",-950237169,null))),cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"%","%",-950237169,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core","contains?","cljs.core/contains?",-976526835,null),new cljs.core.Symbol(null,"%","%",-950237169,null),new cljs.core.Keyword(null,"requester","requester",2032946161))),
cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"%","%",-950237169,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core","contains?","cljs.core/contains?",-976526835,null),new cljs.core.Symbol(null,"%","%",-950237169,null),new cljs.core.Keyword(null,"tawrget","tawrget",-998289104))),cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",
-1065745098,null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"%","%",-950237169,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core","contains?","cljs.core/contains?",-976526835,null),new cljs.core.Symbol(null,"%","%",-950237169,null),new cljs.core.Keyword(null,"secondary","secondary",-669381460))),cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,
[new cljs.core.Symbol(null,"%","%",-950237169,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core","contains?","cljs.core/contains?",-976526835,null),new cljs.core.Symbol(null,"%","%",-950237169,null),new cljs.core.Keyword(null,"pak","pak",-1071422534))),cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"%","%",-950237169,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core",
"contains?","cljs.core/contains?",-976526835,null),new cljs.core.Symbol(null,"%","%",-950237169,null),new cljs.core.Keyword(null,"who","who",-235935040))),cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"%","%",-950237169,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core","contains?","cljs.core/contains?",-976526835,null),new cljs.core.Symbol(null,
"%","%",-950237169,null),new cljs.core.Keyword(null,"vs","vs",-2022097090))),cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"%","%",-950237169,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core","contains?","cljs.core/contains?",-976526835,null),new cljs.core.Symbol(null,"%","%",-950237169,null),new cljs.core.Keyword(null,"tot","tot",2086174646))),
cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"%","%",-950237169,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core","contains?","cljs.core/contains?",-976526835,null),new cljs.core.Symbol(null,"%","%",-950237169,null),new cljs.core.Keyword(null,"tx","tx",466630418))),cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,
null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"%","%",-950237169,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core","contains?","cljs.core/contains?",-976526835,null),new cljs.core.Symbol(null,"%","%",-950237169,null),new cljs.core.Keyword(null,"ty","ty",158290825))),cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,
[new cljs.core.Symbol(null,"%","%",-950237169,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core","contains?","cljs.core/contains?",-976526835,null),new cljs.core.Symbol(null,"%","%",-950237169,null),new cljs.core.Keyword(null,"flags","flags",1775418075))),cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"%","%",-950237169,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core",
"contains?","cljs.core/contains?",-976526835,null),new cljs.core.Symbol(null,"%","%",-950237169,null),new cljs.core.Keyword(null,"caps","caps",-183763072))),cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"%","%",-950237169,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core","contains?","cljs.core/contains?",-976526835,null),new cljs.core.Symbol(null,
"%","%",-950237169,null),new cljs.core.Keyword(null,"target-num","target-num",1623497814))),cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"%","%",-950237169,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core","contains?","cljs.core/contains?",-976526835,null),new cljs.core.Symbol(null,"%","%",-950237169,null),new cljs.core.Keyword(null,"speed","speed",
1257663751))),cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"%","%",-950237169,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core","contains?","cljs.core/contains?",-976526835,null),new cljs.core.Symbol(null,"%","%",-950237169,null),new cljs.core.Keyword(null,"match-strength","match-strength",1432664922))),cljs.core.list(new cljs.core.Symbol("cljs.core",
"fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"%","%",-950237169,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core","contains?","cljs.core/contains?",-976526835,null),new cljs.core.Symbol(null,"%","%",-950237169,null),new cljs.core.Keyword(null,"priority","priority",1431093715))),cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null,
1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"%","%",-950237169,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core","contains?","cljs.core/contains?",-976526835,null),new cljs.core.Symbol(null,"%","%",-950237169,null),new cljs.core.Keyword(null,"tot-type","tot-type",-524162589))),cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,
"%","%",-950237169,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core","contains?","cljs.core/contains?",-976526835,null),new cljs.core.Symbol(null,"%","%",-950237169,null),new cljs.core.Keyword(null,"action-type","action-type",-1141667361))),cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"%","%",-950237169,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core",
"contains?","cljs.core/contains?",-976526835,null),new cljs.core.Symbol(null,"%","%",-950237169,null),new cljs.core.Keyword(null,"mission","mission",1740288522))),cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"%","%",-950237169,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core","contains?","cljs.core/contains?",-976526835,null),new cljs.core.Symbol(null,
"%","%",-950237169,null),new cljs.core.Keyword(null,"aircraft","aircraft",-790597916))),cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"%","%",-950237169,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core","contains?","cljs.core/contains?",-976526835,null),new cljs.core.Symbol(null,"%","%",-950237169,null),new cljs.core.Keyword(null,"context","context",
-830191113))),cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"%","%",-950237169,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core","contains?","cljs.core/contains?",-976526835,null),new cljs.core.Symbol(null,"%","%",-950237169,null),new cljs.core.Keyword(null,"roe-check","roe-check",-302273906))),cljs.core.list(new cljs.core.Symbol("cljs.core","fn",
"cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"%","%",-950237169,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core","contains?","cljs.core/contains?",-976526835,null),new cljs.core.Symbol(null,"%","%",-950237169,null),new cljs.core.Keyword(null,"delayed","delayed",251992229))),cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null,
1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"%","%",-950237169,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core","contains?","cljs.core/contains?",-976526835,null),new cljs.core.Symbol(null,"%","%",-950237169,null),new cljs.core.Keyword(null,"start-block","start-block",885980136))),cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,
"%","%",-950237169,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core","contains?","cljs.core/contains?",-976526835,null),new cljs.core.Symbol(null,"%","%",-950237169,null),new cljs.core.Keyword(null,"final-block","final-block",-1801414066))),cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"%","%",-950237169,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core",
"contains?","cljs.core/contains?",-976526835,null),new cljs.core.Symbol(null,"%","%",-950237169,null),new cljs.core.Keyword(null,"slots","slots",276818598))),cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"%","%",-950237169,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core","contains?","cljs.core/contains?",-976526835,null),new cljs.core.Symbol(null,
"%","%",-950237169,null),new cljs.core.Keyword(null,"min-to","min-to",-486357137))),cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"%","%",-950237169,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core","contains?","cljs.core/contains?",-976526835,null),new cljs.core.Symbol(null,"%","%",-950237169,null),new cljs.core.Keyword(null,"max-to","max-to",
801697233)))],null),null]));
weathergen.falcon.files.mission.AirTaskingManager=cljs.spec.alpha.merge_spec_impl.call(null,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol("weathergen.falcon.files.mission","TaskingManager","weathergen.falcon.files.mission/TaskingManager",-241098945,null),cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha","keys","cljs.spec.alpha/keys",1109346032,null),new cljs.core.Keyword(null,"req-un","req-un",1074571008),new cljs.core.PersistentVector(null,7,
5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword("atm","airbases","atm/airbases",-1847920213),new cljs.core.Keyword("weathergen.falcon.files.mission","average-ca-strength","weathergen.falcon.files.mission/average-ca-strength",467672813),new cljs.core.Keyword("weathergen.falcon.files.mission","average-ca-missions","weathergen.falcon.files.mission/average-ca-missions",1997160792),new cljs.core.Keyword("weathergen.falcon.files.mission","cycle","weathergen.falcon.files.mission/cycle",-1074021098),
new cljs.core.Keyword("weathergen.falcon.files.mission","flags","weathergen.falcon.files.mission/flags",-965167503),new cljs.core.Keyword("weathergen.falcon.files.mission","mission-requests","weathergen.falcon.files.mission/mission-requests",-1553253637),new cljs.core.Keyword("weathergen.falcon.files.mission","sample-cycles","weathergen.falcon.files.mission/sample-cycles",-1604151732)],null))],null),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[weathergen.falcon.files.mission.TaskingManager,
cljs.spec.alpha.map_spec_impl.call(null,cljs.core.PersistentHashMap.fromArrays([new cljs.core.Keyword(null,"req-un","req-un",1074571008),new cljs.core.Keyword(null,"opt-un","opt-un",883442496),new cljs.core.Keyword(null,"gfn","gfn",791517474),new cljs.core.Keyword(null,"pred-exprs","pred-exprs",1792271395),new cljs.core.Keyword(null,"keys-pred","keys-pred",858984739),new cljs.core.Keyword(null,"opt-keys","opt-keys",1262688261),new cljs.core.Keyword(null,"req-specs","req-specs",553962313),new cljs.core.Keyword(null,
"req","req",-326448303),new cljs.core.Keyword(null,"req-keys","req-keys",514319221),new cljs.core.Keyword(null,"opt-specs","opt-specs",-384905450),new cljs.core.Keyword(null,"pred-forms","pred-forms",172611832),new cljs.core.Keyword(null,"opt","opt",-794706369)],[new cljs.core.PersistentVector(null,7,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword("atm","airbases","atm/airbases",-1847920213),new cljs.core.Keyword("weathergen.falcon.files.mission","average-ca-strength","weathergen.falcon.files.mission/average-ca-strength",
467672813),new cljs.core.Keyword("weathergen.falcon.files.mission","average-ca-missions","weathergen.falcon.files.mission/average-ca-missions",1997160792),new cljs.core.Keyword("weathergen.falcon.files.mission","cycle","weathergen.falcon.files.mission/cycle",-1074021098),new cljs.core.Keyword("weathergen.falcon.files.mission","flags","weathergen.falcon.files.mission/flags",-965167503),new cljs.core.Keyword("weathergen.falcon.files.mission","mission-requests","weathergen.falcon.files.mission/mission-requests",
-1553253637),new cljs.core.Keyword("weathergen.falcon.files.mission","sample-cycles","weathergen.falcon.files.mission/sample-cycles",-1604151732)],null),null,null,new cljs.core.PersistentVector(null,8,5,cljs.core.PersistentVector.EMPTY_NODE,[function(a){return cljs.core.map_QMARK_.call(null,a)},function(a){return cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"airbases","airbases",-1848087775))},function(a){return cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,
"average-ca-strength","average-ca-strength",1605217659))},function(a){return cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"average-ca-missions","average-ca-missions",1515247290))},function(a){return cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"cycle","cycle",710365284))},function(a){return cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"flags","flags",1775418075))},function(a){return cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,
"mission-requests","mission-requests",75740277))},function(a){return cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"sample-cycles","sample-cycles",1176043458))}],null),function(a){return cljs.core.map_QMARK_.call(null,a)&&cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"airbases","airbases",-1848087775))&&cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"average-ca-strength","average-ca-strength",1605217659))&&cljs.core.contains_QMARK_.call(null,
a,new cljs.core.Keyword(null,"average-ca-missions","average-ca-missions",1515247290))&&cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"cycle","cycle",710365284))&&cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"flags","flags",1775418075))&&cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"mission-requests","mission-requests",75740277))&&cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"sample-cycles","sample-cycles",1176043458))},
cljs.core.PersistentVector.EMPTY,new cljs.core.PersistentVector(null,7,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword("atm","airbases","atm/airbases",-1847920213),new cljs.core.Keyword("weathergen.falcon.files.mission","average-ca-strength","weathergen.falcon.files.mission/average-ca-strength",467672813),new cljs.core.Keyword("weathergen.falcon.files.mission","average-ca-missions","weathergen.falcon.files.mission/average-ca-missions",1997160792),new cljs.core.Keyword("weathergen.falcon.files.mission",
"cycle","weathergen.falcon.files.mission/cycle",-1074021098),new cljs.core.Keyword("weathergen.falcon.files.mission","flags","weathergen.falcon.files.mission/flags",-965167503),new cljs.core.Keyword("weathergen.falcon.files.mission","mission-requests","weathergen.falcon.files.mission/mission-requests",-1553253637),new cljs.core.Keyword("weathergen.falcon.files.mission","sample-cycles","weathergen.falcon.files.mission/sample-cycles",-1604151732)],null),null,new cljs.core.PersistentVector(null,7,5,
cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"airbases","airbases",-1848087775),new cljs.core.Keyword(null,"average-ca-strength","average-ca-strength",1605217659),new cljs.core.Keyword(null,"average-ca-missions","average-ca-missions",1515247290),new cljs.core.Keyword(null,"cycle","cycle",710365284),new cljs.core.Keyword(null,"flags","flags",1775418075),new cljs.core.Keyword(null,"mission-requests","mission-requests",75740277),new cljs.core.Keyword(null,"sample-cycles","sample-cycles",
1176043458)],null),cljs.core.PersistentVector.EMPTY,new cljs.core.PersistentVector(null,8,5,cljs.core.PersistentVector.EMPTY_NODE,[cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"%","%",-950237169,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core","map?","cljs.core/map?",-1390345523,null),new cljs.core.Symbol(null,"%","%",-950237169,null))),cljs.core.list(new cljs.core.Symbol("cljs.core",
"fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"%","%",-950237169,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core","contains?","cljs.core/contains?",-976526835,null),new cljs.core.Symbol(null,"%","%",-950237169,null),new cljs.core.Keyword(null,"airbases","airbases",-1848087775))),cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null,
1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"%","%",-950237169,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core","contains?","cljs.core/contains?",-976526835,null),new cljs.core.Symbol(null,"%","%",-950237169,null),new cljs.core.Keyword(null,"average-ca-strength","average-ca-strength",1605217659))),cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,
"%","%",-950237169,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core","contains?","cljs.core/contains?",-976526835,null),new cljs.core.Symbol(null,"%","%",-950237169,null),new cljs.core.Keyword(null,"average-ca-missions","average-ca-missions",1515247290))),cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"%","%",-950237169,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core",
"contains?","cljs.core/contains?",-976526835,null),new cljs.core.Symbol(null,"%","%",-950237169,null),new cljs.core.Keyword(null,"cycle","cycle",710365284))),cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"%","%",-950237169,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core","contains?","cljs.core/contains?",-976526835,null),new cljs.core.Symbol(null,
"%","%",-950237169,null),new cljs.core.Keyword(null,"flags","flags",1775418075))),cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"%","%",-950237169,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core","contains?","cljs.core/contains?",-976526835,null),new cljs.core.Symbol(null,"%","%",-950237169,null),new cljs.core.Keyword(null,"mission-requests",
"mission-requests",75740277))),cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"%","%",-950237169,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core","contains?","cljs.core/contains?",-976526835,null),new cljs.core.Symbol(null,"%","%",-950237169,null),new cljs.core.Keyword(null,"sample-cycles","sample-cycles",1176043458)))],null),null]))],null),null);
weathergen.falcon.files.mission.GroundTaskingManager=cljs.spec.alpha.merge_spec_impl.call(null,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol("weathergen.falcon.files.mission","TaskingManager","weathergen.falcon.files.mission/TaskingManager",-241098945,null),cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha","keys","cljs.spec.alpha/keys",1109346032,null),new cljs.core.Keyword(null,"req-un","req-un",1074571008),new cljs.core.PersistentVector(null,
1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword("weathergen.falcon.files.mission","flags","weathergen.falcon.files.mission/flags",-965167503)],null))],null),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[weathergen.falcon.files.mission.TaskingManager,cljs.spec.alpha.map_spec_impl.call(null,cljs.core.PersistentHashMap.fromArrays([new cljs.core.Keyword(null,"req-un","req-un",1074571008),new cljs.core.Keyword(null,"opt-un","opt-un",883442496),new cljs.core.Keyword(null,
"gfn","gfn",791517474),new cljs.core.Keyword(null,"pred-exprs","pred-exprs",1792271395),new cljs.core.Keyword(null,"keys-pred","keys-pred",858984739),new cljs.core.Keyword(null,"opt-keys","opt-keys",1262688261),new cljs.core.Keyword(null,"req-specs","req-specs",553962313),new cljs.core.Keyword(null,"req","req",-326448303),new cljs.core.Keyword(null,"req-keys","req-keys",514319221),new cljs.core.Keyword(null,"opt-specs","opt-specs",-384905450),new cljs.core.Keyword(null,"pred-forms","pred-forms",172611832),
new cljs.core.Keyword(null,"opt","opt",-794706369)],[new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword("weathergen.falcon.files.mission","flags","weathergen.falcon.files.mission/flags",-965167503)],null),null,null,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[function(a){return cljs.core.map_QMARK_.call(null,a)},function(a){return cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"flags","flags",1775418075))}],
null),function(a){return cljs.core.map_QMARK_.call(null,a)&&cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"flags","flags",1775418075))},cljs.core.PersistentVector.EMPTY,new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword("weathergen.falcon.files.mission","flags","weathergen.falcon.files.mission/flags",-965167503)],null),null,new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,
"flags","flags",1775418075)],null),cljs.core.PersistentVector.EMPTY,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"%","%",-950237169,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core","map?","cljs.core/map?",-1390345523,null),new cljs.core.Symbol(null,"%","%",-950237169,
null))),cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"%","%",-950237169,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core","contains?","cljs.core/contains?",-976526835,null),new cljs.core.Symbol(null,"%","%",-950237169,null),new cljs.core.Keyword(null,"flags","flags",1775418075)))],null),null]))],null),null);
weathergen.falcon.files.mission.NavalTaskingManager=cljs.spec.alpha.merge_spec_impl.call(null,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol("weathergen.falcon.files.mission","TaskingManager","weathergen.falcon.files.mission/TaskingManager",-241098945,null),cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha","keys","cljs.spec.alpha/keys",1109346032,null),new cljs.core.Keyword(null,"req-un","req-un",1074571008),new cljs.core.PersistentVector(null,
1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword("weathergen.falcon.files.mission","flags","weathergen.falcon.files.mission/flags",-965167503)],null))],null),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[weathergen.falcon.files.mission.TaskingManager,cljs.spec.alpha.map_spec_impl.call(null,cljs.core.PersistentHashMap.fromArrays([new cljs.core.Keyword(null,"req-un","req-un",1074571008),new cljs.core.Keyword(null,"opt-un","opt-un",883442496),new cljs.core.Keyword(null,
"gfn","gfn",791517474),new cljs.core.Keyword(null,"pred-exprs","pred-exprs",1792271395),new cljs.core.Keyword(null,"keys-pred","keys-pred",858984739),new cljs.core.Keyword(null,"opt-keys","opt-keys",1262688261),new cljs.core.Keyword(null,"req-specs","req-specs",553962313),new cljs.core.Keyword(null,"req","req",-326448303),new cljs.core.Keyword(null,"req-keys","req-keys",514319221),new cljs.core.Keyword(null,"opt-specs","opt-specs",-384905450),new cljs.core.Keyword(null,"pred-forms","pred-forms",172611832),
new cljs.core.Keyword(null,"opt","opt",-794706369)],[new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword("weathergen.falcon.files.mission","flags","weathergen.falcon.files.mission/flags",-965167503)],null),null,null,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[function(a){return cljs.core.map_QMARK_.call(null,a)},function(a){return cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"flags","flags",1775418075))}],
null),function(a){return cljs.core.map_QMARK_.call(null,a)&&cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"flags","flags",1775418075))},cljs.core.PersistentVector.EMPTY,new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword("weathergen.falcon.files.mission","flags","weathergen.falcon.files.mission/flags",-965167503)],null),null,new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,
"flags","flags",1775418075)],null),cljs.core.PersistentVector.EMPTY,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"%","%",-950237169,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core","map?","cljs.core/map?",-1390345523,null),new cljs.core.Symbol(null,"%","%",-950237169,
null))),cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"%","%",-950237169,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core","contains?","cljs.core/contains?",-976526835,null),new cljs.core.Symbol(null,"%","%",-950237169,null),new cljs.core.Keyword(null,"flags","flags",1775418075)))],null),null]))],null),null);
weathergen.falcon.files.mission.TeamStatus=cljs.spec.alpha.map_spec_impl.call(null,cljs.core.PersistentHashMap.fromArrays([new cljs.core.Keyword(null,"req-un","req-un",1074571008),new cljs.core.Keyword(null,"opt-un","opt-un",883442496),new cljs.core.Keyword(null,"gfn","gfn",791517474),new cljs.core.Keyword(null,"pred-exprs","pred-exprs",1792271395),new cljs.core.Keyword(null,"keys-pred","keys-pred",858984739),new cljs.core.Keyword(null,"opt-keys","opt-keys",1262688261),new cljs.core.Keyword(null,
"req-specs","req-specs",553962313),new cljs.core.Keyword(null,"req","req",-326448303),new cljs.core.Keyword(null,"req-keys","req-keys",514319221),new cljs.core.Keyword(null,"opt-specs","opt-specs",-384905450),new cljs.core.Keyword(null,"pred-forms","pred-forms",172611832),new cljs.core.Keyword(null,"opt","opt",-794706369)],[new cljs.core.PersistentVector(null,9,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword("weathergen.falcon.files.mission","air-defence-vehicles","weathergen.falcon.files.mission/air-defence-vehicles",
-605031380),new cljs.core.Keyword("team-status","airbases","team-status/airbases",-1222024125),new cljs.core.Keyword("team-status","aircraft","team-status/aircraft",1766946818),new cljs.core.Keyword("weathergen.falcon.files.mission","fuel","weathergen.falcon.files.mission/fuel",760787687),new cljs.core.Keyword("weathergen.falcon.files.mission","fuel-level","weathergen.falcon.files.mission/fuel-level",1633529202),new cljs.core.Keyword("weathergen.falcon.files.mission","ground-vehicles","weathergen.falcon.files.mission/ground-vehicles",
-1652485882),new cljs.core.Keyword("weathergen.falcon.files.mission","ships","weathergen.falcon.files.mission/ships",-318103868),new cljs.core.Keyword("weathergen.falcon.files.mission","supply","weathergen.falcon.files.mission/supply",-45632963),new cljs.core.Keyword("weathergen.falcon.files.mission","supply-level","weathergen.falcon.files.mission/supply-level",1690639269)],null),null,null,new cljs.core.PersistentVector(null,10,5,cljs.core.PersistentVector.EMPTY_NODE,[function(a){return cljs.core.map_QMARK_.call(null,
a)},function(a){return cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"air-defence-vehicles","air-defence-vehicles",933914278))},function(a){return cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"airbases","airbases",-1848087775))},function(a){return cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"aircraft","aircraft",-790597916))},function(a){return cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"fuel","fuel",10405485))},function(a){return cljs.core.contains_QMARK_.call(null,
a,new cljs.core.Keyword(null,"fuel-level","fuel-level",1060451052))},function(a){return cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"ground-vehicles","ground-vehicles",-103851136))},function(a){return cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"ships","ships",-875113158))},function(a){return cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"supply","supply",-1701696309))},function(a){return cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,
"supply-level","supply-level",8080947))}],null),function(a){return cljs.core.map_QMARK_.call(null,a)&&cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"air-defence-vehicles","air-defence-vehicles",933914278))&&cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"airbases","airbases",-1848087775))&&cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"aircraft","aircraft",-790597916))&&cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"fuel",
"fuel",10405485))&&cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"fuel-level","fuel-level",1060451052))&&cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"ground-vehicles","ground-vehicles",-103851136))&&cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"ships","ships",-875113158))&&cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"supply","supply",-1701696309))&&cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"supply-level",
"supply-level",8080947))},cljs.core.PersistentVector.EMPTY,new cljs.core.PersistentVector(null,9,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword("weathergen.falcon.files.mission","air-defence-vehicles","weathergen.falcon.files.mission/air-defence-vehicles",-605031380),new cljs.core.Keyword("team-status","airbases","team-status/airbases",-1222024125),new cljs.core.Keyword("team-status","aircraft","team-status/aircraft",1766946818),new cljs.core.Keyword("weathergen.falcon.files.mission",
"fuel","weathergen.falcon.files.mission/fuel",760787687),new cljs.core.Keyword("weathergen.falcon.files.mission","fuel-level","weathergen.falcon.files.mission/fuel-level",1633529202),new cljs.core.Keyword("weathergen.falcon.files.mission","ground-vehicles","weathergen.falcon.files.mission/ground-vehicles",-1652485882),new cljs.core.Keyword("weathergen.falcon.files.mission","ships","weathergen.falcon.files.mission/ships",-318103868),new cljs.core.Keyword("weathergen.falcon.files.mission","supply",
"weathergen.falcon.files.mission/supply",-45632963),new cljs.core.Keyword("weathergen.falcon.files.mission","supply-level","weathergen.falcon.files.mission/supply-level",1690639269)],null),null,new cljs.core.PersistentVector(null,9,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"air-defence-vehicles","air-defence-vehicles",933914278),new cljs.core.Keyword(null,"airbases","airbases",-1848087775),new cljs.core.Keyword(null,"aircraft","aircraft",-790597916),new cljs.core.Keyword(null,
"fuel","fuel",10405485),new cljs.core.Keyword(null,"fuel-level","fuel-level",1060451052),new cljs.core.Keyword(null,"ground-vehicles","ground-vehicles",-103851136),new cljs.core.Keyword(null,"ships","ships",-875113158),new cljs.core.Keyword(null,"supply","supply",-1701696309),new cljs.core.Keyword(null,"supply-level","supply-level",8080947)],null),cljs.core.PersistentVector.EMPTY,new cljs.core.PersistentVector(null,10,5,cljs.core.PersistentVector.EMPTY_NODE,[cljs.core.list(new cljs.core.Symbol("cljs.core",
"fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"%","%",-950237169,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core","map?","cljs.core/map?",-1390345523,null),new cljs.core.Symbol(null,"%","%",-950237169,null))),cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,
"%","%",-950237169,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core","contains?","cljs.core/contains?",-976526835,null),new cljs.core.Symbol(null,"%","%",-950237169,null),new cljs.core.Keyword(null,"air-defence-vehicles","air-defence-vehicles",933914278))),cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"%","%",-950237169,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core",
"contains?","cljs.core/contains?",-976526835,null),new cljs.core.Symbol(null,"%","%",-950237169,null),new cljs.core.Keyword(null,"airbases","airbases",-1848087775))),cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"%","%",-950237169,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core","contains?","cljs.core/contains?",-976526835,null),new cljs.core.Symbol(null,
"%","%",-950237169,null),new cljs.core.Keyword(null,"aircraft","aircraft",-790597916))),cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"%","%",-950237169,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core","contains?","cljs.core/contains?",-976526835,null),new cljs.core.Symbol(null,"%","%",-950237169,null),new cljs.core.Keyword(null,"fuel","fuel",
10405485))),cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"%","%",-950237169,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core","contains?","cljs.core/contains?",-976526835,null),new cljs.core.Symbol(null,"%","%",-950237169,null),new cljs.core.Keyword(null,"fuel-level","fuel-level",1060451052))),cljs.core.list(new cljs.core.Symbol("cljs.core","fn",
"cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"%","%",-950237169,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core","contains?","cljs.core/contains?",-976526835,null),new cljs.core.Symbol(null,"%","%",-950237169,null),new cljs.core.Keyword(null,"ground-vehicles","ground-vehicles",-103851136))),cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null,
1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"%","%",-950237169,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core","contains?","cljs.core/contains?",-976526835,null),new cljs.core.Symbol(null,"%","%",-950237169,null),new cljs.core.Keyword(null,"ships","ships",-875113158))),cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"%",
"%",-950237169,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core","contains?","cljs.core/contains?",-976526835,null),new cljs.core.Symbol(null,"%","%",-950237169,null),new cljs.core.Keyword(null,"supply","supply",-1701696309))),cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"%","%",-950237169,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core",
"contains?","cljs.core/contains?",-976526835,null),new cljs.core.Symbol(null,"%","%",-950237169,null),new cljs.core.Keyword(null,"supply-level","supply-level",8080947)))],null),null]));
weathergen.falcon.files.mission.TeamAirAction=cljs.spec.alpha.map_spec_impl.call(null,cljs.core.PersistentHashMap.fromArrays([new cljs.core.Keyword(null,"req-un","req-un",1074571008),new cljs.core.Keyword(null,"opt-un","opt-un",883442496),new cljs.core.Keyword(null,"gfn","gfn",791517474),new cljs.core.Keyword(null,"pred-exprs","pred-exprs",1792271395),new cljs.core.Keyword(null,"keys-pred","keys-pred",858984739),new cljs.core.Keyword(null,"opt-keys","opt-keys",1262688261),new cljs.core.Keyword(null,
"req-specs","req-specs",553962313),new cljs.core.Keyword(null,"req","req",-326448303),new cljs.core.Keyword(null,"req-keys","req-keys",514319221),new cljs.core.Keyword(null,"opt-specs","opt-specs",-384905450),new cljs.core.Keyword(null,"pred-forms","pred-forms",172611832),new cljs.core.Keyword(null,"opt","opt",-794706369)],[new cljs.core.PersistentVector(null,5,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword("weathergen.falcon.files.mission","last-objective","weathergen.falcon.files.mission/last-objective",
-95318299),new cljs.core.Keyword("weathergen.falcon.files.mission","objective","weathergen.falcon.files.mission/objective",-556396617),new cljs.core.Keyword("weathergen.falcon.files.mission","start","weathergen.falcon.files.mission/start",1184725893),new cljs.core.Keyword("weathergen.falcon.files.mission","stop","weathergen.falcon.files.mission/stop",-433998692),new cljs.core.Keyword("weathergen.falcon.files.mission","type","weathergen.falcon.files.mission/type",-1571457242)],null),null,null,new cljs.core.PersistentVector(null,
6,5,cljs.core.PersistentVector.EMPTY_NODE,[function(a){return cljs.core.map_QMARK_.call(null,a)},function(a){return cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"last-objective","last-objective",-1761076877))},function(a){return cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"objective","objective",1301058585))},function(a){return cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"start","start",-355208981))},function(a){return cljs.core.contains_QMARK_.call(null,
a,new cljs.core.Keyword(null,"stop","stop",-2140911342))},function(a){return cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"type","type",1174270348))}],null),function(a){return cljs.core.map_QMARK_.call(null,a)&&cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"last-objective","last-objective",-1761076877))&&cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"objective","objective",1301058585))&&cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,
"start","start",-355208981))&&cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"stop","stop",-2140911342))&&cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"type","type",1174270348))},cljs.core.PersistentVector.EMPTY,new cljs.core.PersistentVector(null,5,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword("weathergen.falcon.files.mission","last-objective","weathergen.falcon.files.mission/last-objective",-95318299),new cljs.core.Keyword("weathergen.falcon.files.mission",
"objective","weathergen.falcon.files.mission/objective",-556396617),new cljs.core.Keyword("weathergen.falcon.files.mission","start","weathergen.falcon.files.mission/start",1184725893),new cljs.core.Keyword("weathergen.falcon.files.mission","stop","weathergen.falcon.files.mission/stop",-433998692),new cljs.core.Keyword("weathergen.falcon.files.mission","type","weathergen.falcon.files.mission/type",-1571457242)],null),null,new cljs.core.PersistentVector(null,5,5,cljs.core.PersistentVector.EMPTY_NODE,
[new cljs.core.Keyword(null,"last-objective","last-objective",-1761076877),new cljs.core.Keyword(null,"objective","objective",1301058585),new cljs.core.Keyword(null,"start","start",-355208981),new cljs.core.Keyword(null,"stop","stop",-2140911342),new cljs.core.Keyword(null,"type","type",1174270348)],null),cljs.core.PersistentVector.EMPTY,new cljs.core.PersistentVector(null,6,5,cljs.core.PersistentVector.EMPTY_NODE,[cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),
new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"%","%",-950237169,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core","map?","cljs.core/map?",-1390345523,null),new cljs.core.Symbol(null,"%","%",-950237169,null))),cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"%","%",-950237169,null)],null),
cljs.core.list(new cljs.core.Symbol("cljs.core","contains?","cljs.core/contains?",-976526835,null),new cljs.core.Symbol(null,"%","%",-950237169,null),new cljs.core.Keyword(null,"last-objective","last-objective",-1761076877))),cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"%","%",-950237169,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core","contains?",
"cljs.core/contains?",-976526835,null),new cljs.core.Symbol(null,"%","%",-950237169,null),new cljs.core.Keyword(null,"objective","objective",1301058585))),cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"%","%",-950237169,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core","contains?","cljs.core/contains?",-976526835,null),new cljs.core.Symbol(null,
"%","%",-950237169,null),new cljs.core.Keyword(null,"start","start",-355208981))),cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"%","%",-950237169,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core","contains?","cljs.core/contains?",-976526835,null),new cljs.core.Symbol(null,"%","%",-950237169,null),new cljs.core.Keyword(null,"stop","stop",-2140911342))),
cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"%","%",-950237169,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core","contains?","cljs.core/contains?",-976526835,null),new cljs.core.Symbol(null,"%","%",-950237169,null),new cljs.core.Keyword(null,"type","type",1174270348)))],null),null]));
weathergen.falcon.files.mission.TeamGroundAction=cljs.spec.alpha.map_spec_impl.call(null,cljs.core.PersistentHashMap.fromArrays([new cljs.core.Keyword(null,"req-un","req-un",1074571008),new cljs.core.Keyword(null,"opt-un","opt-un",883442496),new cljs.core.Keyword(null,"gfn","gfn",791517474),new cljs.core.Keyword(null,"pred-exprs","pred-exprs",1792271395),new cljs.core.Keyword(null,"keys-pred","keys-pred",858984739),new cljs.core.Keyword(null,"opt-keys","opt-keys",1262688261),new cljs.core.Keyword(null,
"req-specs","req-specs",553962313),new cljs.core.Keyword(null,"req","req",-326448303),new cljs.core.Keyword(null,"req-keys","req-keys",514319221),new cljs.core.Keyword(null,"opt-specs","opt-specs",-384905450),new cljs.core.Keyword(null,"pred-forms","pred-forms",172611832),new cljs.core.Keyword(null,"opt","opt",-794706369)],[new cljs.core.PersistentVector(null,6,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword("weathergen.falcon.files.mission","objective","weathergen.falcon.files.mission/objective",
-556396617),new cljs.core.Keyword("weathergen.falcon.files.mission","points","weathergen.falcon.files.mission/points",1277042547),new cljs.core.Keyword("weathergen.falcon.files.mission","tempo","weathergen.falcon.files.mission/tempo",1058201729),new cljs.core.Keyword("weathergen.falcon.files.mission","time","weathergen.falcon.files.mission/time",-1351271916),new cljs.core.Keyword("weathergen.falcon.files.mission","timeout","weathergen.falcon.files.mission/timeout",-1958247324),new cljs.core.Keyword("weathergen.falcon.files.mission",
"type","weathergen.falcon.files.mission/type",-1571457242)],null),null,null,new cljs.core.PersistentVector(null,7,5,cljs.core.PersistentVector.EMPTY_NODE,[function(a){return cljs.core.map_QMARK_.call(null,a)},function(a){return cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"objective","objective",1301058585))},function(a){return cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"points","points",-1486596883))},function(a){return cljs.core.contains_QMARK_.call(null,
a,new cljs.core.Keyword(null,"tempo","tempo",-1555208453))},function(a){return cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"time","time",1385887882))},function(a){return cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"timeout","timeout",-318625318))},function(a){return cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"type","type",1174270348))}],null),function(a){return cljs.core.map_QMARK_.call(null,a)&&cljs.core.contains_QMARK_.call(null,a,
new cljs.core.Keyword(null,"objective","objective",1301058585))&&cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"points","points",-1486596883))&&cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"tempo","tempo",-1555208453))&&cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"time","time",1385887882))&&cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"timeout","timeout",-318625318))&&cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,
"type","type",1174270348))},cljs.core.PersistentVector.EMPTY,new cljs.core.PersistentVector(null,6,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword("weathergen.falcon.files.mission","objective","weathergen.falcon.files.mission/objective",-556396617),new cljs.core.Keyword("weathergen.falcon.files.mission","points","weathergen.falcon.files.mission/points",1277042547),new cljs.core.Keyword("weathergen.falcon.files.mission","tempo","weathergen.falcon.files.mission/tempo",1058201729),new cljs.core.Keyword("weathergen.falcon.files.mission",
"time","weathergen.falcon.files.mission/time",-1351271916),new cljs.core.Keyword("weathergen.falcon.files.mission","timeout","weathergen.falcon.files.mission/timeout",-1958247324),new cljs.core.Keyword("weathergen.falcon.files.mission","type","weathergen.falcon.files.mission/type",-1571457242)],null),null,new cljs.core.PersistentVector(null,6,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"objective","objective",1301058585),new cljs.core.Keyword(null,"points","points",-1486596883),
new cljs.core.Keyword(null,"tempo","tempo",-1555208453),new cljs.core.Keyword(null,"time","time",1385887882),new cljs.core.Keyword(null,"timeout","timeout",-318625318),new cljs.core.Keyword(null,"type","type",1174270348)],null),cljs.core.PersistentVector.EMPTY,new cljs.core.PersistentVector(null,7,5,cljs.core.PersistentVector.EMPTY_NODE,[cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,
[new cljs.core.Symbol(null,"%","%",-950237169,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core","map?","cljs.core/map?",-1390345523,null),new cljs.core.Symbol(null,"%","%",-950237169,null))),cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"%","%",-950237169,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core","contains?","cljs.core/contains?",
-976526835,null),new cljs.core.Symbol(null,"%","%",-950237169,null),new cljs.core.Keyword(null,"objective","objective",1301058585))),cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"%","%",-950237169,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core","contains?","cljs.core/contains?",-976526835,null),new cljs.core.Symbol(null,"%","%",-950237169,null),
new cljs.core.Keyword(null,"points","points",-1486596883))),cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"%","%",-950237169,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core","contains?","cljs.core/contains?",-976526835,null),new cljs.core.Symbol(null,"%","%",-950237169,null),new cljs.core.Keyword(null,"tempo","tempo",-1555208453))),cljs.core.list(new cljs.core.Symbol("cljs.core",
"fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"%","%",-950237169,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core","contains?","cljs.core/contains?",-976526835,null),new cljs.core.Symbol(null,"%","%",-950237169,null),new cljs.core.Keyword(null,"time","time",1385887882))),cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null,
1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"%","%",-950237169,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core","contains?","cljs.core/contains?",-976526835,null),new cljs.core.Symbol(null,"%","%",-950237169,null),new cljs.core.Keyword(null,"timeout","timeout",-318625318))),cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,
"%","%",-950237169,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core","contains?","cljs.core/contains?",-976526835,null),new cljs.core.Symbol(null,"%","%",-950237169,null),new cljs.core.Keyword(null,"type","type",1174270348)))],null),null]));
weathergen.falcon.files.mission.TeamTeam=cljs.spec.alpha.map_spec_impl.call(null,cljs.core.PersistentHashMap.fromArrays([new cljs.core.Keyword(null,"req-un","req-un",1074571008),new cljs.core.Keyword(null,"opt-un","opt-un",883442496),new cljs.core.Keyword(null,"gfn","gfn",791517474),new cljs.core.Keyword(null,"pred-exprs","pred-exprs",1792271395),new cljs.core.Keyword(null,"keys-pred","keys-pred",858984739),new cljs.core.Keyword(null,"opt-keys","opt-keys",1262688261),new cljs.core.Keyword(null,"req-specs",
"req-specs",553962313),new cljs.core.Keyword(null,"req","req",-326448303),new cljs.core.Keyword(null,"req-keys","req-keys",514319221),new cljs.core.Keyword(null,"opt-specs","opt-specs",-384905450),new cljs.core.Keyword(null,"pred-forms","pred-forms",172611832),new cljs.core.Keyword(null,"opt","opt",-794706369)],[cljs.core.PersistentVector.fromArray([new cljs.core.Keyword("weathergen.falcon.files.mission","air-defense-experience","weathergen.falcon.files.mission/air-defense-experience",-1228097350),
new cljs.core.Keyword("weathergen.falcon.files.mission","air-experience","weathergen.falcon.files.mission/air-experience",345384539),new cljs.core.Keyword("weathergen.falcon.files.mission","bonus-objs","weathergen.falcon.files.mission/bonus-objs",-1995519651),new cljs.core.Keyword("weathergen.falcon.files.mission","bonus-time","weathergen.falcon.files.mission/bonus-time",-1522245018),new cljs.core.Keyword("weathergen.falcon.files.mission","c-team","weathergen.falcon.files.mission/c-team",-607188711),
new cljs.core.Keyword("weathergen.falcon.files.mission","current-stats","weathergen.falcon.files.mission/current-stats",1485033391),new cljs.core.Keyword("weathergen.falcon.files.mission","defensive-air-action","weathergen.falcon.files.mission/defensive-air-action",1048409095),new cljs.core.Keyword("weathergen.falcon.files.mission","entity-type","weathergen.falcon.files.mission/entity-type",-427082019),new cljs.core.Keyword("weathergen.falcon.files.mission","equipment","weathergen.falcon.files.mission/equipment",
333876145),new cljs.core.Keyword("weathergen.falcon.files.mission","first-colonel","weathergen.falcon.files.mission/first-colonel",-623148867),new cljs.core.Keyword("weathergen.falcon.files.mission","first-commander","weathergen.falcon.files.mission/first-commander",223437727),new cljs.core.Keyword("weathergen.falcon.files.mission","first-wingman","weathergen.falcon.files.mission/first-wingman",-1473308326),new cljs.core.Keyword("weathergen.falcon.files.mission","flags","weathergen.falcon.files.mission/flags",
-965167503),new cljs.core.Keyword("weathergen.falcon.files.mission","fuel-available","weathergen.falcon.files.mission/fuel-available",1132247619),new cljs.core.Keyword("weathergen.falcon.files.mission","ground-action","weathergen.falcon.files.mission/ground-action",-809387426),new cljs.core.Keyword("weathergen.falcon.files.mission","ground-experience","weathergen.falcon.files.mission/ground-experience",-1373226430),new cljs.core.Keyword("vu","id","vu/id",-1388397675),new cljs.core.Keyword("weathergen.falcon.files.mission",
"initiatve","weathergen.falcon.files.mission/initiatve",1702683485),new cljs.core.Keyword("weathergen.falcon.files.mission","last-player-mission","weathergen.falcon.files.mission/last-player-mission",-1819020189),new cljs.core.Keyword("weathergen.falcon.files.mission","last-wingman","weathergen.falcon.files.mission/last-wingman",1830035207),new cljs.core.Keyword("weathergen.falcon.files.mission","max-vehicle","weathergen.falcon.files.mission/max-vehicle",1402076517),new cljs.core.Keyword("weathergen.falcon.files.mission",
"members","weathergen.falcon.files.mission/members",-1782598568),new cljs.core.Keyword("weathergen.falcon.files.mission","mission-priority","weathergen.falcon.files.mission/mission-priority",168452709),new cljs.core.Keyword("weathergen.falcon.files.mission","motto","weathergen.falcon.files.mission/motto",1232886770),new cljs.core.Keyword("weathergen.falcon.files.mission","name","weathergen.falcon.files.mission/name",1235339975),new cljs.core.Keyword("weathergen.falcon.files.mission","naval-experience",
"weathergen.falcon.files.mission/naval-experience",-2058678548),new cljs.core.Keyword("weathergen.falcon.files.mission","obj-type-priority","weathergen.falcon.files.mission/obj-type-priority",1451171622),new cljs.core.Keyword("weathergen.falcon.files.mission","offensive-air-action","weathergen.falcon.files.mission/offensive-air-action",-2047003390),new cljs.core.Keyword("weathergen.falcon.files.mission","player-rating","weathergen.falcon.files.mission/player-rating",1396319340),new cljs.core.Keyword("weathergen.falcon.files.mission",
"reinforcement","weathergen.falcon.files.mission/reinforcement",-308550720),new cljs.core.Keyword("weathergen.falcon.files.mission","replacements-available","weathergen.falcon.files.mission/replacements-available",-1748504285),new cljs.core.Keyword("weathergen.falcon.files.mission","stance","weathergen.falcon.files.mission/stance",173653206),new cljs.core.Keyword("weathergen.falcon.files.mission","start-stats","weathergen.falcon.files.mission/start-stats",-1772162419),new cljs.core.Keyword("weathergen.falcon.files.mission",
"supply-available","weathergen.falcon.files.mission/supply-available",-1548515090),new cljs.core.Keyword("weathergen.falcon.files.mission","team-color","weathergen.falcon.files.mission/team-color",-1416174578),new cljs.core.Keyword("weathergen.falcon.files.mission","team-flag","weathergen.falcon.files.mission/team-flag",342214246),new cljs.core.Keyword("weathergen.falcon.files.mission","unit-type-priority","weathergen.falcon.files.mission/unit-type-priority",774152055),new cljs.core.Keyword("weathergen.falcon.files.mission",
"who","weathergen.falcon.files.mission/who",1823833670)],!0),null,null,cljs.core.PersistentVector.fromArray([function(a){return cljs.core.map_QMARK_.call(null,a)},function(a){return cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"air-defense-experience","air-defense-experience",-1710546376))},function(a){return cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"air-experience","air-experience",1765463253))},function(a){return cljs.core.contains_QMARK_.call(null,a,
new cljs.core.Keyword(null,"bonus-objs","bonus-objs",-1412153629))},function(a){return cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"bonus-time","bonus-time",-1996956468))},function(a){return cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"c-team","c-team",1058111407))},function(a){return cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"current-stats","current-stats",-1217775099))},function(a){return cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,
"defensive-air-action","defensive-air-action",-480842903))},function(a){return cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"entity-type","entity-type",-1957300125))},function(a){return cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"equipment","equipment",790435115))},function(a){return cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"first-colonel","first-colonel",1587615555))},function(a){return cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,
"first-commander","first-commander",813403189))},function(a){return cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"first-wingman","first-wingman",1224041428))},function(a){return cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"flags","flags",1775418075))},function(a){return cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"fuel-available","fuel-available",-1529395011))},function(a){return cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,
"ground-action","ground-action",858540012))},function(a){return cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"ground-experience","ground-experience",107729084))},function(a){return cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"id","id",-1388402092))},function(a){return cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"initiatve","initiatve",-26014217))},function(a){return cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"last-player-mission",
"last-player-mission",-137478691))},function(a){return cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"last-wingman","last-wingman",199145869))},function(a){return cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"max-vehicle","max-vehicle",1951303391))},function(a){return cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"members","members",159001018))},function(a){return cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"mission-priority",
"mission-priority",1715506931))},function(a){return cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"motto","motto",-708709752))},function(a){return cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"name","name",1843675177))},function(a){return cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"naval-experience","naval-experience",-527591070))},function(a){return cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"obj-type-priority","obj-type-priority",
-1521374560))},function(a){return cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"offensive-air-action","offensive-air-action",955423612))},function(a){return cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"player-rating","player-rating",-961496862))},function(a){return cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"reinforcement","reinforcement",-1971947958))},function(a){return cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,
"replacements-available","replacements-available",-1198113611))},function(a){return cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"stance","stance",1737508388))},function(a){return cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"start-stats","start-stats",-1172674533))},function(a){return cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"supply-available","supply-available",2126380660))},function(a){return cljs.core.contains_QMARK_.call(null,a,
new cljs.core.Keyword(null,"team-color","team-color",206199444))},function(a){return cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"team-flag","team-flag",-1307034656))},function(a){return cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"unit-type-priority","unit-type-priority",-1360846399))},function(a){return cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"who","who",-235935040))}],!0),function(a){return cljs.core.map_QMARK_.call(null,a)&&cljs.core.contains_QMARK_.call(null,
a,new cljs.core.Keyword(null,"air-defense-experience","air-defense-experience",-1710546376))&&cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"air-experience","air-experience",1765463253))&&cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"bonus-objs","bonus-objs",-1412153629))&&cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"bonus-time","bonus-time",-1996956468))&&cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"c-team","c-team",
1058111407))&&cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"current-stats","current-stats",-1217775099))&&cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"defensive-air-action","defensive-air-action",-480842903))&&cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"entity-type","entity-type",-1957300125))&&cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"equipment","equipment",790435115))&&cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,
"first-colonel","first-colonel",1587615555))&&cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"first-commander","first-commander",813403189))&&cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"first-wingman","first-wingman",1224041428))&&cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"flags","flags",1775418075))&&cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"fuel-available","fuel-available",-1529395011))&&cljs.core.contains_QMARK_.call(null,
a,new cljs.core.Keyword(null,"ground-action","ground-action",858540012))&&cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"ground-experience","ground-experience",107729084))&&cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"id","id",-1388402092))&&cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"initiatve","initiatve",-26014217))&&cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"last-player-mission","last-player-mission",-137478691))&&
cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"last-wingman","last-wingman",199145869))&&cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"max-vehicle","max-vehicle",1951303391))&&cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"members","members",159001018))&&cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"mission-priority","mission-priority",1715506931))&&cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"motto",
"motto",-708709752))&&cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"name","name",1843675177))&&cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"naval-experience","naval-experience",-527591070))&&cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"obj-type-priority","obj-type-priority",-1521374560))&&cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"offensive-air-action","offensive-air-action",955423612))&&cljs.core.contains_QMARK_.call(null,
a,new cljs.core.Keyword(null,"player-rating","player-rating",-961496862))&&cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"reinforcement","reinforcement",-1971947958))&&cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"replacements-available","replacements-available",-1198113611))&&cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"stance","stance",1737508388))&&cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"start-stats","start-stats",
-1172674533))&&cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"supply-available","supply-available",2126380660))&&cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"team-color","team-color",206199444))&&cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"team-flag","team-flag",-1307034656))&&cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"unit-type-priority","unit-type-priority",-1360846399))&&cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,
"who","who",-235935040))},cljs.core.PersistentVector.EMPTY,cljs.core.PersistentVector.fromArray([new cljs.core.Keyword("weathergen.falcon.files.mission","air-defense-experience","weathergen.falcon.files.mission/air-defense-experience",-1228097350),new cljs.core.Keyword("weathergen.falcon.files.mission","air-experience","weathergen.falcon.files.mission/air-experience",345384539),new cljs.core.Keyword("weathergen.falcon.files.mission","bonus-objs","weathergen.falcon.files.mission/bonus-objs",-1995519651),
new cljs.core.Keyword("weathergen.falcon.files.mission","bonus-time","weathergen.falcon.files.mission/bonus-time",-1522245018),new cljs.core.Keyword("weathergen.falcon.files.mission","c-team","weathergen.falcon.files.mission/c-team",-607188711),new cljs.core.Keyword("weathergen.falcon.files.mission","current-stats","weathergen.falcon.files.mission/current-stats",1485033391),new cljs.core.Keyword("weathergen.falcon.files.mission","defensive-air-action","weathergen.falcon.files.mission/defensive-air-action",
1048409095),new cljs.core.Keyword("weathergen.falcon.files.mission","entity-type","weathergen.falcon.files.mission/entity-type",-427082019),new cljs.core.Keyword("weathergen.falcon.files.mission","equipment","weathergen.falcon.files.mission/equipment",333876145),new cljs.core.Keyword("weathergen.falcon.files.mission","first-colonel","weathergen.falcon.files.mission/first-colonel",-623148867),new cljs.core.Keyword("weathergen.falcon.files.mission","first-commander","weathergen.falcon.files.mission/first-commander",
223437727),new cljs.core.Keyword("weathergen.falcon.files.mission","first-wingman","weathergen.falcon.files.mission/first-wingman",-1473308326),new cljs.core.Keyword("weathergen.falcon.files.mission","flags","weathergen.falcon.files.mission/flags",-965167503),new cljs.core.Keyword("weathergen.falcon.files.mission","fuel-available","weathergen.falcon.files.mission/fuel-available",1132247619),new cljs.core.Keyword("weathergen.falcon.files.mission","ground-action","weathergen.falcon.files.mission/ground-action",
-809387426),new cljs.core.Keyword("weathergen.falcon.files.mission","ground-experience","weathergen.falcon.files.mission/ground-experience",-1373226430),new cljs.core.Keyword("vu","id","vu/id",-1388397675),new cljs.core.Keyword("weathergen.falcon.files.mission","initiatve","weathergen.falcon.files.mission/initiatve",1702683485),new cljs.core.Keyword("weathergen.falcon.files.mission","last-player-mission","weathergen.falcon.files.mission/last-player-mission",-1819020189),new cljs.core.Keyword("weathergen.falcon.files.mission",
"last-wingman","weathergen.falcon.files.mission/last-wingman",1830035207),new cljs.core.Keyword("weathergen.falcon.files.mission","max-vehicle","weathergen.falcon.files.mission/max-vehicle",1402076517),new cljs.core.Keyword("weathergen.falcon.files.mission","members","weathergen.falcon.files.mission/members",-1782598568),new cljs.core.Keyword("weathergen.falcon.files.mission","mission-priority","weathergen.falcon.files.mission/mission-priority",168452709),new cljs.core.Keyword("weathergen.falcon.files.mission",
"motto","weathergen.falcon.files.mission/motto",1232886770),new cljs.core.Keyword("weathergen.falcon.files.mission","name","weathergen.falcon.files.mission/name",1235339975),new cljs.core.Keyword("weathergen.falcon.files.mission","naval-experience","weathergen.falcon.files.mission/naval-experience",-2058678548),new cljs.core.Keyword("weathergen.falcon.files.mission","obj-type-priority","weathergen.falcon.files.mission/obj-type-priority",1451171622),new cljs.core.Keyword("weathergen.falcon.files.mission",
"offensive-air-action","weathergen.falcon.files.mission/offensive-air-action",-2047003390),new cljs.core.Keyword("weathergen.falcon.files.mission","player-rating","weathergen.falcon.files.mission/player-rating",1396319340),new cljs.core.Keyword("weathergen.falcon.files.mission","reinforcement","weathergen.falcon.files.mission/reinforcement",-308550720),new cljs.core.Keyword("weathergen.falcon.files.mission","replacements-available","weathergen.falcon.files.mission/replacements-available",-1748504285),
new cljs.core.Keyword("weathergen.falcon.files.mission","stance","weathergen.falcon.files.mission/stance",173653206),new cljs.core.Keyword("weathergen.falcon.files.mission","start-stats","weathergen.falcon.files.mission/start-stats",-1772162419),new cljs.core.Keyword("weathergen.falcon.files.mission","supply-available","weathergen.falcon.files.mission/supply-available",-1548515090),new cljs.core.Keyword("weathergen.falcon.files.mission","team-color","weathergen.falcon.files.mission/team-color",-1416174578),
new cljs.core.Keyword("weathergen.falcon.files.mission","team-flag","weathergen.falcon.files.mission/team-flag",342214246),new cljs.core.Keyword("weathergen.falcon.files.mission","unit-type-priority","weathergen.falcon.files.mission/unit-type-priority",774152055),new cljs.core.Keyword("weathergen.falcon.files.mission","who","weathergen.falcon.files.mission/who",1823833670)],!0),null,cljs.core.PersistentVector.fromArray([new cljs.core.Keyword(null,"air-defense-experience","air-defense-experience",
-1710546376),new cljs.core.Keyword(null,"air-experience","air-experience",1765463253),new cljs.core.Keyword(null,"bonus-objs","bonus-objs",-1412153629),new cljs.core.Keyword(null,"bonus-time","bonus-time",-1996956468),new cljs.core.Keyword(null,"c-team","c-team",1058111407),new cljs.core.Keyword(null,"current-stats","current-stats",-1217775099),new cljs.core.Keyword(null,"defensive-air-action","defensive-air-action",-480842903),new cljs.core.Keyword(null,"entity-type","entity-type",-1957300125),new cljs.core.Keyword(null,
"equipment","equipment",790435115),new cljs.core.Keyword(null,"first-colonel","first-colonel",1587615555),new cljs.core.Keyword(null,"first-commander","first-commander",813403189),new cljs.core.Keyword(null,"first-wingman","first-wingman",1224041428),new cljs.core.Keyword(null,"flags","flags",1775418075),new cljs.core.Keyword(null,"fuel-available","fuel-available",-1529395011),new cljs.core.Keyword(null,"ground-action","ground-action",858540012),new cljs.core.Keyword(null,"ground-experience","ground-experience",
107729084),new cljs.core.Keyword(null,"id","id",-1388402092),new cljs.core.Keyword(null,"initiatve","initiatve",-26014217),new cljs.core.Keyword(null,"last-player-mission","last-player-mission",-137478691),new cljs.core.Keyword(null,"last-wingman","last-wingman",199145869),new cljs.core.Keyword(null,"max-vehicle","max-vehicle",1951303391),new cljs.core.Keyword(null,"members","members",159001018),new cljs.core.Keyword(null,"mission-priority","mission-priority",1715506931),new cljs.core.Keyword(null,
"motto","motto",-708709752),new cljs.core.Keyword(null,"name","name",1843675177),new cljs.core.Keyword(null,"naval-experience","naval-experience",-527591070),new cljs.core.Keyword(null,"obj-type-priority","obj-type-priority",-1521374560),new cljs.core.Keyword(null,"offensive-air-action","offensive-air-action",955423612),new cljs.core.Keyword(null,"player-rating","player-rating",-961496862),new cljs.core.Keyword(null,"reinforcement","reinforcement",-1971947958),new cljs.core.Keyword(null,"replacements-available",
"replacements-available",-1198113611),new cljs.core.Keyword(null,"stance","stance",1737508388),new cljs.core.Keyword(null,"start-stats","start-stats",-1172674533),new cljs.core.Keyword(null,"supply-available","supply-available",2126380660),new cljs.core.Keyword(null,"team-color","team-color",206199444),new cljs.core.Keyword(null,"team-flag","team-flag",-1307034656),new cljs.core.Keyword(null,"unit-type-priority","unit-type-priority",-1360846399),new cljs.core.Keyword(null,"who","who",-235935040)],
!0),cljs.core.PersistentVector.EMPTY,cljs.core.PersistentVector.fromArray([cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"%","%",-950237169,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core","map?","cljs.core/map?",-1390345523,null),new cljs.core.Symbol(null,"%","%",-950237169,null))),cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",
-1065745098,null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"%","%",-950237169,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core","contains?","cljs.core/contains?",-976526835,null),new cljs.core.Symbol(null,"%","%",-950237169,null),new cljs.core.Keyword(null,"air-defense-experience","air-defense-experience",-1710546376))),cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null,
1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"%","%",-950237169,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core","contains?","cljs.core/contains?",-976526835,null),new cljs.core.Symbol(null,"%","%",-950237169,null),new cljs.core.Keyword(null,"air-experience","air-experience",1765463253))),cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,
"%","%",-950237169,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core","contains?","cljs.core/contains?",-976526835,null),new cljs.core.Symbol(null,"%","%",-950237169,null),new cljs.core.Keyword(null,"bonus-objs","bonus-objs",-1412153629))),cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"%","%",-950237169,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core",
"contains?","cljs.core/contains?",-976526835,null),new cljs.core.Symbol(null,"%","%",-950237169,null),new cljs.core.Keyword(null,"bonus-time","bonus-time",-1996956468))),cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"%","%",-950237169,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core","contains?","cljs.core/contains?",-976526835,null),new cljs.core.Symbol(null,
"%","%",-950237169,null),new cljs.core.Keyword(null,"c-team","c-team",1058111407))),cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"%","%",-950237169,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core","contains?","cljs.core/contains?",-976526835,null),new cljs.core.Symbol(null,"%","%",-950237169,null),new cljs.core.Keyword(null,"current-stats","current-stats",
-1217775099))),cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"%","%",-950237169,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core","contains?","cljs.core/contains?",-976526835,null),new cljs.core.Symbol(null,"%","%",-950237169,null),new cljs.core.Keyword(null,"defensive-air-action","defensive-air-action",-480842903))),cljs.core.list(new cljs.core.Symbol("cljs.core",
"fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"%","%",-950237169,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core","contains?","cljs.core/contains?",-976526835,null),new cljs.core.Symbol(null,"%","%",-950237169,null),new cljs.core.Keyword(null,"entity-type","entity-type",-1957300125))),cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null,
1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"%","%",-950237169,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core","contains?","cljs.core/contains?",-976526835,null),new cljs.core.Symbol(null,"%","%",-950237169,null),new cljs.core.Keyword(null,"equipment","equipment",790435115))),cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,
"%","%",-950237169,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core","contains?","cljs.core/contains?",-976526835,null),new cljs.core.Symbol(null,"%","%",-950237169,null),new cljs.core.Keyword(null,"first-colonel","first-colonel",1587615555))),cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"%","%",-950237169,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core",
"contains?","cljs.core/contains?",-976526835,null),new cljs.core.Symbol(null,"%","%",-950237169,null),new cljs.core.Keyword(null,"first-commander","first-commander",813403189))),cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"%","%",-950237169,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core","contains?","cljs.core/contains?",-976526835,null),new cljs.core.Symbol(null,
"%","%",-950237169,null),new cljs.core.Keyword(null,"first-wingman","first-wingman",1224041428))),cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"%","%",-950237169,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core","contains?","cljs.core/contains?",-976526835,null),new cljs.core.Symbol(null,"%","%",-950237169,null),new cljs.core.Keyword(null,"flags",
"flags",1775418075))),cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"%","%",-950237169,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core","contains?","cljs.core/contains?",-976526835,null),new cljs.core.Symbol(null,"%","%",-950237169,null),new cljs.core.Keyword(null,"fuel-available","fuel-available",-1529395011))),cljs.core.list(new cljs.core.Symbol("cljs.core",
"fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"%","%",-950237169,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core","contains?","cljs.core/contains?",-976526835,null),new cljs.core.Symbol(null,"%","%",-950237169,null),new cljs.core.Keyword(null,"ground-action","ground-action",858540012))),cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null,
1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"%","%",-950237169,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core","contains?","cljs.core/contains?",-976526835,null),new cljs.core.Symbol(null,"%","%",-950237169,null),new cljs.core.Keyword(null,"ground-experience","ground-experience",107729084))),cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,
"%","%",-950237169,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core","contains?","cljs.core/contains?",-976526835,null),new cljs.core.Symbol(null,"%","%",-950237169,null),new cljs.core.Keyword(null,"id","id",-1388402092))),cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"%","%",-950237169,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core",
"contains?","cljs.core/contains?",-976526835,null),new cljs.core.Symbol(null,"%","%",-950237169,null),new cljs.core.Keyword(null,"initiatve","initiatve",-26014217))),cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"%","%",-950237169,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core","contains?","cljs.core/contains?",-976526835,null),new cljs.core.Symbol(null,
"%","%",-950237169,null),new cljs.core.Keyword(null,"last-player-mission","last-player-mission",-137478691))),cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"%","%",-950237169,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core","contains?","cljs.core/contains?",-976526835,null),new cljs.core.Symbol(null,"%","%",-950237169,null),new cljs.core.Keyword(null,
"last-wingman","last-wingman",199145869))),cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"%","%",-950237169,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core","contains?","cljs.core/contains?",-976526835,null),new cljs.core.Symbol(null,"%","%",-950237169,null),new cljs.core.Keyword(null,"max-vehicle","max-vehicle",1951303391))),cljs.core.list(new cljs.core.Symbol("cljs.core",
"fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"%","%",-950237169,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core","contains?","cljs.core/contains?",-976526835,null),new cljs.core.Symbol(null,"%","%",-950237169,null),new cljs.core.Keyword(null,"members","members",159001018))),cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null,
1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"%","%",-950237169,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core","contains?","cljs.core/contains?",-976526835,null),new cljs.core.Symbol(null,"%","%",-950237169,null),new cljs.core.Keyword(null,"mission-priority","mission-priority",1715506931))),cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,
"%","%",-950237169,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core","contains?","cljs.core/contains?",-976526835,null),new cljs.core.Symbol(null,"%","%",-950237169,null),new cljs.core.Keyword(null,"motto","motto",-708709752))),cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"%","%",-950237169,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core",
"contains?","cljs.core/contains?",-976526835,null),new cljs.core.Symbol(null,"%","%",-950237169,null),new cljs.core.Keyword(null,"name","name",1843675177))),cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"%","%",-950237169,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core","contains?","cljs.core/contains?",-976526835,null),new cljs.core.Symbol(null,
"%","%",-950237169,null),new cljs.core.Keyword(null,"naval-experience","naval-experience",-527591070))),cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"%","%",-950237169,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core","contains?","cljs.core/contains?",-976526835,null),new cljs.core.Symbol(null,"%","%",-950237169,null),new cljs.core.Keyword(null,
"obj-type-priority","obj-type-priority",-1521374560))),cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"%","%",-950237169,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core","contains?","cljs.core/contains?",-976526835,null),new cljs.core.Symbol(null,"%","%",-950237169,null),new cljs.core.Keyword(null,"offensive-air-action","offensive-air-action",
955423612))),cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"%","%",-950237169,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core","contains?","cljs.core/contains?",-976526835,null),new cljs.core.Symbol(null,"%","%",-950237169,null),new cljs.core.Keyword(null,"player-rating","player-rating",-961496862))),cljs.core.list(new cljs.core.Symbol("cljs.core",
"fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"%","%",-950237169,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core","contains?","cljs.core/contains?",-976526835,null),new cljs.core.Symbol(null,"%","%",-950237169,null),new cljs.core.Keyword(null,"reinforcement","reinforcement",-1971947958))),cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null,
1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"%","%",-950237169,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core","contains?","cljs.core/contains?",-976526835,null),new cljs.core.Symbol(null,"%","%",-950237169,null),new cljs.core.Keyword(null,"replacements-available","replacements-available",-1198113611))),cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,
[new cljs.core.Symbol(null,"%","%",-950237169,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core","contains?","cljs.core/contains?",-976526835,null),new cljs.core.Symbol(null,"%","%",-950237169,null),new cljs.core.Keyword(null,"stance","stance",1737508388))),cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"%","%",-950237169,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core",
"contains?","cljs.core/contains?",-976526835,null),new cljs.core.Symbol(null,"%","%",-950237169,null),new cljs.core.Keyword(null,"start-stats","start-stats",-1172674533))),cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"%","%",-950237169,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core","contains?","cljs.core/contains?",-976526835,null),new cljs.core.Symbol(null,
"%","%",-950237169,null),new cljs.core.Keyword(null,"supply-available","supply-available",2126380660))),cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"%","%",-950237169,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core","contains?","cljs.core/contains?",-976526835,null),new cljs.core.Symbol(null,"%","%",-950237169,null),new cljs.core.Keyword(null,
"team-color","team-color",206199444))),cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"%","%",-950237169,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core","contains?","cljs.core/contains?",-976526835,null),new cljs.core.Symbol(null,"%","%",-950237169,null),new cljs.core.Keyword(null,"team-flag","team-flag",-1307034656))),cljs.core.list(new cljs.core.Symbol("cljs.core",
"fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"%","%",-950237169,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core","contains?","cljs.core/contains?",-976526835,null),new cljs.core.Symbol(null,"%","%",-950237169,null),new cljs.core.Keyword(null,"unit-type-priority","unit-type-priority",-1360846399))),cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null,
1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"%","%",-950237169,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core","contains?","cljs.core/contains?",-976526835,null),new cljs.core.Symbol(null,"%","%",-950237169,null),new cljs.core.Keyword(null,"who","who",-235935040)))],!0),null]));
weathergen.falcon.files.mission.Team=cljs.spec.alpha.map_spec_impl.call(null,cljs.core.PersistentHashMap.fromArrays([new cljs.core.Keyword(null,"req-un","req-un",1074571008),new cljs.core.Keyword(null,"opt-un","opt-un",883442496),new cljs.core.Keyword(null,"gfn","gfn",791517474),new cljs.core.Keyword(null,"pred-exprs","pred-exprs",1792271395),new cljs.core.Keyword(null,"keys-pred","keys-pred",858984739),new cljs.core.Keyword(null,"opt-keys","opt-keys",1262688261),new cljs.core.Keyword(null,"req-specs",
"req-specs",553962313),new cljs.core.Keyword(null,"req","req",-326448303),new cljs.core.Keyword(null,"req-keys","req-keys",514319221),new cljs.core.Keyword(null,"opt-specs","opt-specs",-384905450),new cljs.core.Keyword(null,"pred-forms","pred-forms",172611832),new cljs.core.Keyword(null,"opt","opt",-794706369)],[new cljs.core.PersistentVector(null,4,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword("weathergen.falcon.files.mission","air-tasking-manager","weathergen.falcon.files.mission/air-tasking-manager",
-1873112158),new cljs.core.Keyword("weathergen.falcon.files.mission","ground-tasking-manager","weathergen.falcon.files.mission/ground-tasking-manager",-288460034),new cljs.core.Keyword("weathergen.falcon.files.mission","naval-tasking-manager","weathergen.falcon.files.mission/naval-tasking-manager",346066399),new cljs.core.Keyword("team","team","team/team",1350128664)],null),null,null,new cljs.core.PersistentVector(null,5,5,cljs.core.PersistentVector.EMPTY_NODE,[function(a){return cljs.core.map_QMARK_.call(null,
a)},function(a){return cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"air-tasking-manager","air-tasking-manager",-279900872))},function(a){return cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"ground-tasking-manager","ground-tasking-manager",1373954444))},function(a){return cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"naval-tasking-manager","naval-tasking-manager",862649185))},function(a){return cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,
"team","team",1355747699))}],null),function(a){return cljs.core.map_QMARK_.call(null,a)&&cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"air-tasking-manager","air-tasking-manager",-279900872))&&cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"ground-tasking-manager","ground-tasking-manager",1373954444))&&cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"naval-tasking-manager","naval-tasking-manager",862649185))&&cljs.core.contains_QMARK_.call(null,
a,new cljs.core.Keyword(null,"team","team",1355747699))},cljs.core.PersistentVector.EMPTY,new cljs.core.PersistentVector(null,4,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword("weathergen.falcon.files.mission","air-tasking-manager","weathergen.falcon.files.mission/air-tasking-manager",-1873112158),new cljs.core.Keyword("weathergen.falcon.files.mission","ground-tasking-manager","weathergen.falcon.files.mission/ground-tasking-manager",-288460034),new cljs.core.Keyword("weathergen.falcon.files.mission",
"naval-tasking-manager","weathergen.falcon.files.mission/naval-tasking-manager",346066399),new cljs.core.Keyword("team","team","team/team",1350128664)],null),null,new cljs.core.PersistentVector(null,4,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"air-tasking-manager","air-tasking-manager",-279900872),new cljs.core.Keyword(null,"ground-tasking-manager","ground-tasking-manager",1373954444),new cljs.core.Keyword(null,"naval-tasking-manager","naval-tasking-manager",862649185),new cljs.core.Keyword(null,
"team","team",1355747699)],null),cljs.core.PersistentVector.EMPTY,new cljs.core.PersistentVector(null,5,5,cljs.core.PersistentVector.EMPTY_NODE,[cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"%","%",-950237169,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core","map?","cljs.core/map?",-1390345523,null),new cljs.core.Symbol(null,"%","%",-950237169,
null))),cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"%","%",-950237169,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core","contains?","cljs.core/contains?",-976526835,null),new cljs.core.Symbol(null,"%","%",-950237169,null),new cljs.core.Keyword(null,"air-tasking-manager","air-tasking-manager",-279900872))),cljs.core.list(new cljs.core.Symbol("cljs.core",
"fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"%","%",-950237169,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core","contains?","cljs.core/contains?",-976526835,null),new cljs.core.Symbol(null,"%","%",-950237169,null),new cljs.core.Keyword(null,"ground-tasking-manager","ground-tasking-manager",1373954444))),cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),
new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"%","%",-950237169,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core","contains?","cljs.core/contains?",-976526835,null),new cljs.core.Symbol(null,"%","%",-950237169,null),new cljs.core.Keyword(null,"naval-tasking-manager","naval-tasking-manager",862649185))),cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null,1,5,
cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"%","%",-950237169,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core","contains?","cljs.core/contains?",-976526835,null),new cljs.core.Symbol(null,"%","%",-950237169,null),new cljs.core.Keyword(null,"team","team",1355747699)))],null),null]));weathergen.falcon.files.mission.Events=weathergen.falcon.files.mission.NotImplemented;weathergen.falcon.files.mission.PrimaryObjectives=weathergen.falcon.files.mission.NotImplemented;
weathergen.falcon.files.mission.Pilots=weathergen.falcon.files.mission.NotImplemented;weathergen.falcon.files.mission.PersistentObjects=weathergen.falcon.files.mission.NotImplemented;weathergen.falcon.files.mission.Weather=weathergen.falcon.files.mission.NotImplemented;
weathergen.falcon.files.mission.Version=cljs.spec.alpha.map_spec_impl.call(null,cljs.core.PersistentHashMap.fromArrays([new cljs.core.Keyword(null,"req-un","req-un",1074571008),new cljs.core.Keyword(null,"opt-un","opt-un",883442496),new cljs.core.Keyword(null,"gfn","gfn",791517474),new cljs.core.Keyword(null,"pred-exprs","pred-exprs",1792271395),new cljs.core.Keyword(null,"keys-pred","keys-pred",858984739),new cljs.core.Keyword(null,"opt-keys","opt-keys",1262688261),new cljs.core.Keyword(null,"req-specs",
"req-specs",553962313),new cljs.core.Keyword(null,"req","req",-326448303),new cljs.core.Keyword(null,"req-keys","req-keys",514319221),new cljs.core.Keyword(null,"opt-specs","opt-specs",-384905450),new cljs.core.Keyword(null,"pred-forms","pred-forms",172611832),new cljs.core.Keyword(null,"opt","opt",-794706369)],[new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword("database","version","database/version",1963983397)],null),null,null,new cljs.core.PersistentVector(null,
2,5,cljs.core.PersistentVector.EMPTY_NODE,[function(a){return cljs.core.map_QMARK_.call(null,a)},function(a){return cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"version","version",425292698))}],null),function(a){return cljs.core.map_QMARK_.call(null,a)&&cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"version","version",425292698))},cljs.core.PersistentVector.EMPTY,new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword("database",
"version","database/version",1963983397)],null),null,new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"version","version",425292698)],null),cljs.core.PersistentVector.EMPTY,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"%",
"%",-950237169,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core","map?","cljs.core/map?",-1390345523,null),new cljs.core.Symbol(null,"%","%",-950237169,null))),cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"%","%",-950237169,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core","contains?","cljs.core/contains?",-976526835,null),new cljs.core.Symbol(null,
"%","%",-950237169,null),new cljs.core.Keyword(null,"version","version",425292698)))],null),null]));weathergen.falcon.files.mission.VictoryConditions=cljs.core.string_QMARK_;weathergen.falcon.files.mission.Buffer=weathergen.falcon.files.mission.NotImplemented;
weathergen.falcon.files.mission.AugmentedObjective=cljs.spec.alpha.merge_spec_impl.call(null,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol("weathergen.falcon.files.mission","Objective","weathergen.falcon.files.mission/Objective",-1296315408,null),cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha","keys","cljs.spec.alpha/keys",1109346032,null),new cljs.core.Keyword(null,"req","req",-326448303),new cljs.core.PersistentVector(null,5,5,cljs.core.PersistentVector.EMPTY_NODE,
[new cljs.core.Keyword("weathergen.falcon.files.mission","location","weathergen.falcon.files.mission/location",125705122),new cljs.core.Keyword("weathergen.falcon.files.mission","status","weathergen.falcon.files.mission/status",667063917),new cljs.core.Keyword("weathergen.falcon.files.mission","image","weathergen.falcon.files.mission/image",-1683332210),new cljs.core.Keyword("weathergen.falcon.files.mission","name","weathergen.falcon.files.mission/name",1235339975),new cljs.core.Keyword("weathergen.falcon.files.mission",
"features","weathergen.falcon.files.mission/features",534334694)],null))],null),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[weathergen.falcon.files.mission.Objective,cljs.spec.alpha.map_spec_impl.call(null,cljs.core.PersistentHashMap.fromArrays([new cljs.core.Keyword(null,"req-un","req-un",1074571008),new cljs.core.Keyword(null,"opt-un","opt-un",883442496),new cljs.core.Keyword(null,"gfn","gfn",791517474),new cljs.core.Keyword(null,"pred-exprs","pred-exprs",1792271395),
new cljs.core.Keyword(null,"keys-pred","keys-pred",858984739),new cljs.core.Keyword(null,"opt-keys","opt-keys",1262688261),new cljs.core.Keyword(null,"req-specs","req-specs",553962313),new cljs.core.Keyword(null,"req","req",-326448303),new cljs.core.Keyword(null,"req-keys","req-keys",514319221),new cljs.core.Keyword(null,"opt-specs","opt-specs",-384905450),new cljs.core.Keyword(null,"pred-forms","pred-forms",172611832),new cljs.core.Keyword(null,"opt","opt",-794706369)],[null,null,null,new cljs.core.PersistentVector(null,
6,5,cljs.core.PersistentVector.EMPTY_NODE,[function(a){return cljs.core.map_QMARK_.call(null,a)},function(a){return cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword("weathergen.falcon.files.mission","location","weathergen.falcon.files.mission/location",125705122))},function(a){return cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword("weathergen.falcon.files.mission","status","weathergen.falcon.files.mission/status",667063917))},function(a){return cljs.core.contains_QMARK_.call(null,
a,new cljs.core.Keyword("weathergen.falcon.files.mission","image","weathergen.falcon.files.mission/image",-1683332210))},function(a){return cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword("weathergen.falcon.files.mission","name","weathergen.falcon.files.mission/name",1235339975))},function(a){return cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword("weathergen.falcon.files.mission","features","weathergen.falcon.files.mission/features",534334694))}],null),function(a){return cljs.core.map_QMARK_.call(null,
a)&&cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword("weathergen.falcon.files.mission","location","weathergen.falcon.files.mission/location",125705122))&&cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword("weathergen.falcon.files.mission","status","weathergen.falcon.files.mission/status",667063917))&&cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword("weathergen.falcon.files.mission","image","weathergen.falcon.files.mission/image",-1683332210))&&cljs.core.contains_QMARK_.call(null,
a,new cljs.core.Keyword("weathergen.falcon.files.mission","name","weathergen.falcon.files.mission/name",1235339975))&&cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword("weathergen.falcon.files.mission","features","weathergen.falcon.files.mission/features",534334694))},cljs.core.PersistentVector.EMPTY,new cljs.core.PersistentVector(null,5,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword("weathergen.falcon.files.mission","location","weathergen.falcon.files.mission/location",
125705122),new cljs.core.Keyword("weathergen.falcon.files.mission","status","weathergen.falcon.files.mission/status",667063917),new cljs.core.Keyword("weathergen.falcon.files.mission","image","weathergen.falcon.files.mission/image",-1683332210),new cljs.core.Keyword("weathergen.falcon.files.mission","name","weathergen.falcon.files.mission/name",1235339975),new cljs.core.Keyword("weathergen.falcon.files.mission","features","weathergen.falcon.files.mission/features",534334694)],null),new cljs.core.PersistentVector(null,
5,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword("weathergen.falcon.files.mission","location","weathergen.falcon.files.mission/location",125705122),new cljs.core.Keyword("weathergen.falcon.files.mission","status","weathergen.falcon.files.mission/status",667063917),new cljs.core.Keyword("weathergen.falcon.files.mission","image","weathergen.falcon.files.mission/image",-1683332210),new cljs.core.Keyword("weathergen.falcon.files.mission","name","weathergen.falcon.files.mission/name",1235339975),
new cljs.core.Keyword("weathergen.falcon.files.mission","features","weathergen.falcon.files.mission/features",534334694)],null),new cljs.core.PersistentVector(null,5,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword("weathergen.falcon.files.mission","location","weathergen.falcon.files.mission/location",125705122),new cljs.core.Keyword("weathergen.falcon.files.mission","status","weathergen.falcon.files.mission/status",667063917),new cljs.core.Keyword("weathergen.falcon.files.mission",
"image","weathergen.falcon.files.mission/image",-1683332210),new cljs.core.Keyword("weathergen.falcon.files.mission","name","weathergen.falcon.files.mission/name",1235339975),new cljs.core.Keyword("weathergen.falcon.files.mission","features","weathergen.falcon.files.mission/features",534334694)],null),cljs.core.PersistentVector.EMPTY,new cljs.core.PersistentVector(null,6,5,cljs.core.PersistentVector.EMPTY_NODE,[cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),
new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"%","%",-950237169,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core","map?","cljs.core/map?",-1390345523,null),new cljs.core.Symbol(null,"%","%",-950237169,null))),cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"%","%",-950237169,null)],null),
cljs.core.list(new cljs.core.Symbol("cljs.core","contains?","cljs.core/contains?",-976526835,null),new cljs.core.Symbol(null,"%","%",-950237169,null),new cljs.core.Keyword("weathergen.falcon.files.mission","location","weathergen.falcon.files.mission/location",125705122))),cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"%","%",-950237169,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core",
"contains?","cljs.core/contains?",-976526835,null),new cljs.core.Symbol(null,"%","%",-950237169,null),new cljs.core.Keyword("weathergen.falcon.files.mission","status","weathergen.falcon.files.mission/status",667063917))),cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"%","%",-950237169,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core","contains?",
"cljs.core/contains?",-976526835,null),new cljs.core.Symbol(null,"%","%",-950237169,null),new cljs.core.Keyword("weathergen.falcon.files.mission","image","weathergen.falcon.files.mission/image",-1683332210))),cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"%","%",-950237169,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core","contains?","cljs.core/contains?",
-976526835,null),new cljs.core.Symbol(null,"%","%",-950237169,null),new cljs.core.Keyword("weathergen.falcon.files.mission","name","weathergen.falcon.files.mission/name",1235339975))),cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"%","%",-950237169,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core","contains?","cljs.core/contains?",-976526835,null),
new cljs.core.Symbol(null,"%","%",-950237169,null),new cljs.core.Keyword("weathergen.falcon.files.mission","features","weathergen.falcon.files.mission/features",534334694)))],null),null]))],null),null);
weathergen.falcon.files.mission.Unit=cljs.spec.alpha.merge_spec_impl.call(null,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol("weathergen.falcon.files.mission","CampaignBaseFields","weathergen.falcon.files.mission/CampaignBaseFields",-911251124,null),cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha","keys","cljs.spec.alpha/keys",1109346032,null),new cljs.core.Keyword(null,"req-un","req-un",1074571008),new cljs.core.PersistentVector(null,14,
5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword("weathergen.falcon.files.mission","cargo-id","weathergen.falcon.files.mission/cargo-id",331149980),new cljs.core.Keyword("weathergen.falcon.files.mission","current-wp","weathergen.falcon.files.mission/current-wp",1027104379),new cljs.core.Keyword("weathergen.falcon.files.mission","destination-x","weathergen.falcon.files.mission/destination-x",1925234136),new cljs.core.Keyword("weathergen.falcon.files.mission","destination-y","weathergen.falcon.files.mission/destination-y",
198655710),new cljs.core.Keyword("weathergen.falcon.files.mission","last-check","weathergen.falcon.files.mission/last-check",-948350819),new cljs.core.Keyword("weathergen.falcon.files.mission","losses","weathergen.falcon.files.mission/losses",-1879114985),new cljs.core.Keyword("weathergen.falcon.files.mission","moved","weathergen.falcon.files.mission/moved",1009361001),new cljs.core.Keyword("weathergen.falcon.files.mission","name-id","weathergen.falcon.files.mission/name-id",-1810014458),new cljs.core.Keyword("weathergen.falcon.files.mission",
"reinforcement","weathergen.falcon.files.mission/reinforcement",-308550720),new cljs.core.Keyword("weathergen.falcon.files.mission","roster","weathergen.falcon.files.mission/roster",-401619194),new cljs.core.Keyword("weathergen.falcon.files.mission","tactic","weathergen.falcon.files.mission/tactic",661039788),new cljs.core.Keyword("weathergen.falcon.files.mission","target-id","weathergen.falcon.files.mission/target-id",167375943),new cljs.core.Keyword("weathergen.falcon.files.mission","unit-flags",
"weathergen.falcon.files.mission/unit-flags",-1918064651),new cljs.core.Keyword("weathergen.falcon.files.mission","waypoints","weathergen.falcon.files.mission/waypoints",712228162)],null))],null),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[weathergen.falcon.files.mission.CampaignBaseFields,cljs.spec.alpha.map_spec_impl.call(null,cljs.core.PersistentHashMap.fromArrays([new cljs.core.Keyword(null,"req-un","req-un",1074571008),new cljs.core.Keyword(null,"opt-un","opt-un",
883442496),new cljs.core.Keyword(null,"gfn","gfn",791517474),new cljs.core.Keyword(null,"pred-exprs","pred-exprs",1792271395),new cljs.core.Keyword(null,"keys-pred","keys-pred",858984739),new cljs.core.Keyword(null,"opt-keys","opt-keys",1262688261),new cljs.core.Keyword(null,"req-specs","req-specs",553962313),new cljs.core.Keyword(null,"req","req",-326448303),new cljs.core.Keyword(null,"req-keys","req-keys",514319221),new cljs.core.Keyword(null,"opt-specs","opt-specs",-384905450),new cljs.core.Keyword(null,
"pred-forms","pred-forms",172611832),new cljs.core.Keyword(null,"opt","opt",-794706369)],[new cljs.core.PersistentVector(null,14,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword("weathergen.falcon.files.mission","cargo-id","weathergen.falcon.files.mission/cargo-id",331149980),new cljs.core.Keyword("weathergen.falcon.files.mission","current-wp","weathergen.falcon.files.mission/current-wp",1027104379),new cljs.core.Keyword("weathergen.falcon.files.mission","destination-x","weathergen.falcon.files.mission/destination-x",
1925234136),new cljs.core.Keyword("weathergen.falcon.files.mission","destination-y","weathergen.falcon.files.mission/destination-y",198655710),new cljs.core.Keyword("weathergen.falcon.files.mission","last-check","weathergen.falcon.files.mission/last-check",-948350819),new cljs.core.Keyword("weathergen.falcon.files.mission","losses","weathergen.falcon.files.mission/losses",-1879114985),new cljs.core.Keyword("weathergen.falcon.files.mission","moved","weathergen.falcon.files.mission/moved",1009361001),
new cljs.core.Keyword("weathergen.falcon.files.mission","name-id","weathergen.falcon.files.mission/name-id",-1810014458),new cljs.core.Keyword("weathergen.falcon.files.mission","reinforcement","weathergen.falcon.files.mission/reinforcement",-308550720),new cljs.core.Keyword("weathergen.falcon.files.mission","roster","weathergen.falcon.files.mission/roster",-401619194),new cljs.core.Keyword("weathergen.falcon.files.mission","tactic","weathergen.falcon.files.mission/tactic",661039788),new cljs.core.Keyword("weathergen.falcon.files.mission",
"target-id","weathergen.falcon.files.mission/target-id",167375943),new cljs.core.Keyword("weathergen.falcon.files.mission","unit-flags","weathergen.falcon.files.mission/unit-flags",-1918064651),new cljs.core.Keyword("weathergen.falcon.files.mission","waypoints","weathergen.falcon.files.mission/waypoints",712228162)],null),null,null,new cljs.core.PersistentVector(null,15,5,cljs.core.PersistentVector.EMPTY_NODE,[function(a){return cljs.core.map_QMARK_.call(null,a)},function(a){return cljs.core.contains_QMARK_.call(null,
a,new cljs.core.Keyword(null,"cargo-id","cargo-id",-1256830674))},function(a){return cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"current-wp","current-wp",-661271807))},function(a){return cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"destination-x","destination-x",360399650))},function(a){return cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"destination-y","destination-y",1591470692))},function(a){return cljs.core.contains_QMARK_.call(null,
a,new cljs.core.Keyword(null,"last-check","last-check",-339535317))},function(a){return cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"losses","losses",-189206407))},function(a){return cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"moved","moved",486549219))},function(a){return cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"name-id","name-id",-279275372))},function(a){return cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"reinforcement",
"reinforcement",-1971947958))},function(a){return cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"roster","roster",-2092272532))},function(a){return cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"tactic","tactic",-761722830))},function(a){return cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"target-id","target-id",-1438159155))},function(a){return cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"unit-flags","unit-flags",-1443684773))},
function(a){return cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"waypoints","waypoints",-844253224))}],null),function(a){return cljs.core.map_QMARK_.call(null,a)&&cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"cargo-id","cargo-id",-1256830674))&&cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"current-wp","current-wp",-661271807))&&cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"destination-x","destination-x",360399650))&&cljs.core.contains_QMARK_.call(null,
a,new cljs.core.Keyword(null,"destination-y","destination-y",1591470692))&&cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"last-check","last-check",-339535317))&&cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"losses","losses",-189206407))&&cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"moved","moved",486549219))&&cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"name-id","name-id",-279275372))&&cljs.core.contains_QMARK_.call(null,
a,new cljs.core.Keyword(null,"reinforcement","reinforcement",-1971947958))&&cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"roster","roster",-2092272532))&&cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"tactic","tactic",-761722830))&&cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"target-id","target-id",-1438159155))&&cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"unit-flags","unit-flags",-1443684773))&&cljs.core.contains_QMARK_.call(null,
a,new cljs.core.Keyword(null,"waypoints","waypoints",-844253224))},cljs.core.PersistentVector.EMPTY,new cljs.core.PersistentVector(null,14,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword("weathergen.falcon.files.mission","cargo-id","weathergen.falcon.files.mission/cargo-id",331149980),new cljs.core.Keyword("weathergen.falcon.files.mission","current-wp","weathergen.falcon.files.mission/current-wp",1027104379),new cljs.core.Keyword("weathergen.falcon.files.mission","destination-x","weathergen.falcon.files.mission/destination-x",
1925234136),new cljs.core.Keyword("weathergen.falcon.files.mission","destination-y","weathergen.falcon.files.mission/destination-y",198655710),new cljs.core.Keyword("weathergen.falcon.files.mission","last-check","weathergen.falcon.files.mission/last-check",-948350819),new cljs.core.Keyword("weathergen.falcon.files.mission","losses","weathergen.falcon.files.mission/losses",-1879114985),new cljs.core.Keyword("weathergen.falcon.files.mission","moved","weathergen.falcon.files.mission/moved",1009361001),
new cljs.core.Keyword("weathergen.falcon.files.mission","name-id","weathergen.falcon.files.mission/name-id",-1810014458),new cljs.core.Keyword("weathergen.falcon.files.mission","reinforcement","weathergen.falcon.files.mission/reinforcement",-308550720),new cljs.core.Keyword("weathergen.falcon.files.mission","roster","weathergen.falcon.files.mission/roster",-401619194),new cljs.core.Keyword("weathergen.falcon.files.mission","tactic","weathergen.falcon.files.mission/tactic",661039788),new cljs.core.Keyword("weathergen.falcon.files.mission",
"target-id","weathergen.falcon.files.mission/target-id",167375943),new cljs.core.Keyword("weathergen.falcon.files.mission","unit-flags","weathergen.falcon.files.mission/unit-flags",-1918064651),new cljs.core.Keyword("weathergen.falcon.files.mission","waypoints","weathergen.falcon.files.mission/waypoints",712228162)],null),null,new cljs.core.PersistentVector(null,14,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"cargo-id","cargo-id",-1256830674),new cljs.core.Keyword(null,"current-wp",
"current-wp",-661271807),new cljs.core.Keyword(null,"destination-x","destination-x",360399650),new cljs.core.Keyword(null,"destination-y","destination-y",1591470692),new cljs.core.Keyword(null,"last-check","last-check",-339535317),new cljs.core.Keyword(null,"losses","losses",-189206407),new cljs.core.Keyword(null,"moved","moved",486549219),new cljs.core.Keyword(null,"name-id","name-id",-279275372),new cljs.core.Keyword(null,"reinforcement","reinforcement",-1971947958),new cljs.core.Keyword(null,"roster",
"roster",-2092272532),new cljs.core.Keyword(null,"tactic","tactic",-761722830),new cljs.core.Keyword(null,"target-id","target-id",-1438159155),new cljs.core.Keyword(null,"unit-flags","unit-flags",-1443684773),new cljs.core.Keyword(null,"waypoints","waypoints",-844253224)],null),cljs.core.PersistentVector.EMPTY,new cljs.core.PersistentVector(null,15,5,cljs.core.PersistentVector.EMPTY_NODE,[cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null,
1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"%","%",-950237169,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core","map?","cljs.core/map?",-1390345523,null),new cljs.core.Symbol(null,"%","%",-950237169,null))),cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"%","%",-950237169,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core",
"contains?","cljs.core/contains?",-976526835,null),new cljs.core.Symbol(null,"%","%",-950237169,null),new cljs.core.Keyword(null,"cargo-id","cargo-id",-1256830674))),cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"%","%",-950237169,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core","contains?","cljs.core/contains?",-976526835,null),new cljs.core.Symbol(null,
"%","%",-950237169,null),new cljs.core.Keyword(null,"current-wp","current-wp",-661271807))),cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"%","%",-950237169,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core","contains?","cljs.core/contains?",-976526835,null),new cljs.core.Symbol(null,"%","%",-950237169,null),new cljs.core.Keyword(null,"destination-x",
"destination-x",360399650))),cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"%","%",-950237169,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core","contains?","cljs.core/contains?",-976526835,null),new cljs.core.Symbol(null,"%","%",-950237169,null),new cljs.core.Keyword(null,"destination-y","destination-y",1591470692))),cljs.core.list(new cljs.core.Symbol("cljs.core",
"fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"%","%",-950237169,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core","contains?","cljs.core/contains?",-976526835,null),new cljs.core.Symbol(null,"%","%",-950237169,null),new cljs.core.Keyword(null,"last-check","last-check",-339535317))),cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null,
1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"%","%",-950237169,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core","contains?","cljs.core/contains?",-976526835,null),new cljs.core.Symbol(null,"%","%",-950237169,null),new cljs.core.Keyword(null,"losses","losses",-189206407))),cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,
"%","%",-950237169,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core","contains?","cljs.core/contains?",-976526835,null),new cljs.core.Symbol(null,"%","%",-950237169,null),new cljs.core.Keyword(null,"moved","moved",486549219))),cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"%","%",-950237169,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core",
"contains?","cljs.core/contains?",-976526835,null),new cljs.core.Symbol(null,"%","%",-950237169,null),new cljs.core.Keyword(null,"name-id","name-id",-279275372))),cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"%","%",-950237169,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core","contains?","cljs.core/contains?",-976526835,null),new cljs.core.Symbol(null,
"%","%",-950237169,null),new cljs.core.Keyword(null,"reinforcement","reinforcement",-1971947958))),cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"%","%",-950237169,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core","contains?","cljs.core/contains?",-976526835,null),new cljs.core.Symbol(null,"%","%",-950237169,null),new cljs.core.Keyword(null,"roster",
"roster",-2092272532))),cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"%","%",-950237169,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core","contains?","cljs.core/contains?",-976526835,null),new cljs.core.Symbol(null,"%","%",-950237169,null),new cljs.core.Keyword(null,"tactic","tactic",-761722830))),cljs.core.list(new cljs.core.Symbol("cljs.core",
"fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"%","%",-950237169,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core","contains?","cljs.core/contains?",-976526835,null),new cljs.core.Symbol(null,"%","%",-950237169,null),new cljs.core.Keyword(null,"target-id","target-id",-1438159155))),cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null,
1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"%","%",-950237169,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core","contains?","cljs.core/contains?",-976526835,null),new cljs.core.Symbol(null,"%","%",-950237169,null),new cljs.core.Keyword(null,"unit-flags","unit-flags",-1443684773))),cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,
"%","%",-950237169,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core","contains?","cljs.core/contains?",-976526835,null),new cljs.core.Symbol(null,"%","%",-950237169,null),new cljs.core.Keyword(null,"waypoints","waypoints",-844253224)))],null),null]))],null),null);
weathergen.falcon.files.mission.GroundUnit=cljs.spec.alpha.map_spec_impl.call(null,cljs.core.PersistentHashMap.fromArrays([new cljs.core.Keyword(null,"req-un","req-un",1074571008),new cljs.core.Keyword(null,"opt-un","opt-un",883442496),new cljs.core.Keyword(null,"gfn","gfn",791517474),new cljs.core.Keyword(null,"pred-exprs","pred-exprs",1792271395),new cljs.core.Keyword(null,"keys-pred","keys-pred",858984739),new cljs.core.Keyword(null,"opt-keys","opt-keys",1262688261),new cljs.core.Keyword(null,
"req-specs","req-specs",553962313),new cljs.core.Keyword(null,"req","req",-326448303),new cljs.core.Keyword(null,"req-keys","req-keys",514319221),new cljs.core.Keyword(null,"opt-specs","opt-specs",-384905450),new cljs.core.Keyword(null,"pred-forms","pred-forms",172611832),new cljs.core.Keyword(null,"opt","opt",-794706369)],[new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword("weathergen.falcon.files.mission","aobj","weathergen.falcon.files.mission/aobj",
1970877845),new cljs.core.Keyword("weathergen.falcon.files.mission","division","weathergen.falcon.files.mission/division",-1166211520),new cljs.core.Keyword("weathergen.falcon.files.mission","orders","weathergen.falcon.files.mission/orders",631905674)],null),null,null,new cljs.core.PersistentVector(null,4,5,cljs.core.PersistentVector.EMPTY_NODE,[function(a){return cljs.core.map_QMARK_.call(null,a)},function(a){return cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"aobj","aobj",-793409761))},
function(a){return cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"division","division",259369926))},function(a){return cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"orders","orders",-1032870176))}],null),function(a){return cljs.core.map_QMARK_.call(null,a)&&cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"aobj","aobj",-793409761))&&cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"division","division",259369926))&&cljs.core.contains_QMARK_.call(null,
a,new cljs.core.Keyword(null,"orders","orders",-1032870176))},cljs.core.PersistentVector.EMPTY,new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword("weathergen.falcon.files.mission","aobj","weathergen.falcon.files.mission/aobj",1970877845),new cljs.core.Keyword("weathergen.falcon.files.mission","division","weathergen.falcon.files.mission/division",-1166211520),new cljs.core.Keyword("weathergen.falcon.files.mission","orders","weathergen.falcon.files.mission/orders",
631905674)],null),null,new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"aobj","aobj",-793409761),new cljs.core.Keyword(null,"division","division",259369926),new cljs.core.Keyword(null,"orders","orders",-1032870176)],null),cljs.core.PersistentVector.EMPTY,new cljs.core.PersistentVector(null,4,5,cljs.core.PersistentVector.EMPTY_NODE,[cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null,
1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"%","%",-950237169,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core","map?","cljs.core/map?",-1390345523,null),new cljs.core.Symbol(null,"%","%",-950237169,null))),cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"%","%",-950237169,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core",
"contains?","cljs.core/contains?",-976526835,null),new cljs.core.Symbol(null,"%","%",-950237169,null),new cljs.core.Keyword(null,"aobj","aobj",-793409761))),cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"%","%",-950237169,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core","contains?","cljs.core/contains?",-976526835,null),new cljs.core.Symbol(null,
"%","%",-950237169,null),new cljs.core.Keyword(null,"division","division",259369926))),cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"%","%",-950237169,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core","contains?","cljs.core/contains?",-976526835,null),new cljs.core.Symbol(null,"%","%",-950237169,null),new cljs.core.Keyword(null,"orders","orders",
-1032870176)))],null),null]));
weathergen.falcon.files.mission.UnitFlags=cljs.spec.alpha.every_impl.call(null,cljs.core.list(new cljs.core.Symbol("s","or","s/or",1876282981,null),new cljs.core.Keyword(null,"integer","integer",-604721710),new cljs.core.Symbol(null,"integer?","integer?",1303791671,null),new cljs.core.Keyword(null,"keyword","keyword",811389747),new cljs.core.Symbol(null,"keyword?","keyword?",1917797069,null)),cljs.spec.alpha.or_spec_impl.call(null,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,
[new cljs.core.Keyword(null,"integer","integer",-604721710),new cljs.core.Keyword(null,"keyword","keyword",811389747)],null),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null),new cljs.core.Symbol("cljs.core","keyword?","cljs.core/keyword?",713156450,null)],null),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[cljs.core.integer_QMARK_,cljs.core.keyword_QMARK_],
null),null),new cljs.core.PersistentArrayMap(null,5,[new cljs.core.Keyword("cljs.spec.alpha","kind-form","cljs.spec.alpha/kind-form",-1047104697),new cljs.core.Symbol("cljs.core","set?","cljs.core/set?",-1176684971,null),new cljs.core.Keyword("cljs.spec.alpha","cpred","cljs.spec.alpha/cpred",-693471218),function(a){return cljs.core.set_QMARK_.call(null,a)},new cljs.core.Keyword(null,"kind","kind",-717265803),cljs.core.set_QMARK_,new cljs.core.Keyword("cljs.spec.alpha","conform-all","cljs.spec.alpha/conform-all",
45201917),!0,new cljs.core.Keyword("cljs.spec.alpha","describe","cljs.spec.alpha/describe",1883026911),cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha","coll-of","cljs.spec.alpha/coll-of",1019430407,null),cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha","or","cljs.spec.alpha/or",-831679639,null),new cljs.core.Keyword(null,"integer","integer",-604721710),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null),new cljs.core.Keyword(null,"keyword","keyword",811389747),
new cljs.core.Symbol("cljs.core","keyword?","cljs.core/keyword?",713156450,null)),new cljs.core.Keyword(null,"kind","kind",-717265803),new cljs.core.Symbol("cljs.core","set?","cljs.core/set?",-1176684971,null))],null),null);
weathergen.falcon.files.mission.Squadron=cljs.spec.alpha.merge_spec_impl.call(null,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol("weathergen.falcon.files.mission","Unit","weathergen.falcon.files.mission/Unit",-1510668303,null),cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha","keys","cljs.spec.alpha/keys",1109346032,null),new cljs.core.Keyword(null,"req","req",-326448303),new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,
[new cljs.core.Keyword("weathergen.falcon.files.mission","aircraft","weathergen.falcon.files.mission/aircraft",774567258),new cljs.core.Keyword("weathergen.falcon.files.mission","squadron-type","weathergen.falcon.files.mission/squadron-type",1124226793),new cljs.core.Keyword("weathergen.falcon.files.mission","image","weathergen.falcon.files.mission/image",-1683332210)],null))],null),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[weathergen.falcon.files.mission.Unit,
cljs.spec.alpha.map_spec_impl.call(null,cljs.core.PersistentHashMap.fromArrays([new cljs.core.Keyword(null,"req-un","req-un",1074571008),new cljs.core.Keyword(null,"opt-un","opt-un",883442496),new cljs.core.Keyword(null,"gfn","gfn",791517474),new cljs.core.Keyword(null,"pred-exprs","pred-exprs",1792271395),new cljs.core.Keyword(null,"keys-pred","keys-pred",858984739),new cljs.core.Keyword(null,"opt-keys","opt-keys",1262688261),new cljs.core.Keyword(null,"req-specs","req-specs",553962313),new cljs.core.Keyword(null,
"req","req",-326448303),new cljs.core.Keyword(null,"req-keys","req-keys",514319221),new cljs.core.Keyword(null,"opt-specs","opt-specs",-384905450),new cljs.core.Keyword(null,"pred-forms","pred-forms",172611832),new cljs.core.Keyword(null,"opt","opt",-794706369)],[null,null,null,new cljs.core.PersistentVector(null,4,5,cljs.core.PersistentVector.EMPTY_NODE,[function(a){return cljs.core.map_QMARK_.call(null,a)},function(a){return cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword("weathergen.falcon.files.mission",
"aircraft","weathergen.falcon.files.mission/aircraft",774567258))},function(a){return cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword("weathergen.falcon.files.mission","squadron-type","weathergen.falcon.files.mission/squadron-type",1124226793))},function(a){return cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword("weathergen.falcon.files.mission","image","weathergen.falcon.files.mission/image",-1683332210))}],null),function(a){return cljs.core.map_QMARK_.call(null,a)&&cljs.core.contains_QMARK_.call(null,
a,new cljs.core.Keyword("weathergen.falcon.files.mission","aircraft","weathergen.falcon.files.mission/aircraft",774567258))&&cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword("weathergen.falcon.files.mission","squadron-type","weathergen.falcon.files.mission/squadron-type",1124226793))&&cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword("weathergen.falcon.files.mission","image","weathergen.falcon.files.mission/image",-1683332210))},cljs.core.PersistentVector.EMPTY,new cljs.core.PersistentVector(null,
3,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword("weathergen.falcon.files.mission","aircraft","weathergen.falcon.files.mission/aircraft",774567258),new cljs.core.Keyword("weathergen.falcon.files.mission","squadron-type","weathergen.falcon.files.mission/squadron-type",1124226793),new cljs.core.Keyword("weathergen.falcon.files.mission","image","weathergen.falcon.files.mission/image",-1683332210)],null),new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword("weathergen.falcon.files.mission",
"aircraft","weathergen.falcon.files.mission/aircraft",774567258),new cljs.core.Keyword("weathergen.falcon.files.mission","squadron-type","weathergen.falcon.files.mission/squadron-type",1124226793),new cljs.core.Keyword("weathergen.falcon.files.mission","image","weathergen.falcon.files.mission/image",-1683332210)],null),new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword("weathergen.falcon.files.mission","aircraft","weathergen.falcon.files.mission/aircraft",
774567258),new cljs.core.Keyword("weathergen.falcon.files.mission","squadron-type","weathergen.falcon.files.mission/squadron-type",1124226793),new cljs.core.Keyword("weathergen.falcon.files.mission","image","weathergen.falcon.files.mission/image",-1683332210)],null),cljs.core.PersistentVector.EMPTY,new cljs.core.PersistentVector(null,4,5,cljs.core.PersistentVector.EMPTY_NODE,[cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null,
1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"%","%",-950237169,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core","map?","cljs.core/map?",-1390345523,null),new cljs.core.Symbol(null,"%","%",-950237169,null))),cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"%","%",-950237169,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core",
"contains?","cljs.core/contains?",-976526835,null),new cljs.core.Symbol(null,"%","%",-950237169,null),new cljs.core.Keyword("weathergen.falcon.files.mission","aircraft","weathergen.falcon.files.mission/aircraft",774567258))),cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"%","%",-950237169,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core","contains?",
"cljs.core/contains?",-976526835,null),new cljs.core.Symbol(null,"%","%",-950237169,null),new cljs.core.Keyword("weathergen.falcon.files.mission","squadron-type","weathergen.falcon.files.mission/squadron-type",1124226793))),cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"%","%",-950237169,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core","contains?",
"cljs.core/contains?",-976526835,null),new cljs.core.Symbol(null,"%","%",-950237169,null),new cljs.core.Keyword("weathergen.falcon.files.mission","image","weathergen.falcon.files.mission/image",-1683332210)))],null),null]))],null),null);
weathergen.falcon.files.mission.Waypoint=cljs.spec.alpha.map_spec_impl.call(null,cljs.core.PersistentHashMap.fromArrays([new cljs.core.Keyword(null,"req-un","req-un",1074571008),new cljs.core.Keyword(null,"opt-un","opt-un",883442496),new cljs.core.Keyword(null,"gfn","gfn",791517474),new cljs.core.Keyword(null,"pred-exprs","pred-exprs",1792271395),new cljs.core.Keyword(null,"keys-pred","keys-pred",858984739),new cljs.core.Keyword(null,"opt-keys","opt-keys",1262688261),new cljs.core.Keyword(null,"req-specs",
"req-specs",553962313),new cljs.core.Keyword(null,"req","req",-326448303),new cljs.core.Keyword(null,"req-keys","req-keys",514319221),new cljs.core.Keyword(null,"opt-specs","opt-specs",-384905450),new cljs.core.Keyword(null,"pred-forms","pred-forms",172611832),new cljs.core.Keyword(null,"opt","opt",-794706369)],[new cljs.core.PersistentVector(null,8,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword("weathergen.falcon.files.mission","action","weathergen.falcon.files.mission/action",811270626),
new cljs.core.Keyword("weathergen.falcon.files.mission","flags","weathergen.falcon.files.mission/flags",-965167503),new cljs.core.Keyword("weathergen.falcon.files.mission","formation","weathergen.falcon.files.mission/formation",-1712272813),new cljs.core.Keyword("weathergen.falcon.files.mission","grid-x","weathergen.falcon.files.mission/grid-x",-804658896),new cljs.core.Keyword("weathergen.falcon.files.mission","grid-y","weathergen.falcon.files.mission/grid-y",-700621092),new cljs.core.Keyword("weathergen.falcon.files.mission",
"haves","weathergen.falcon.files.mission/haves",-1012743932),new cljs.core.Keyword("weathergen.falcon.files.mission","target-building","weathergen.falcon.files.mission/target-building",-2079590718),new cljs.core.Keyword("weathergen.falcon.files.mission","target-id","weathergen.falcon.files.mission/target-id",167375943)],null),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword("weathergen.falcon.files.mission","arrive","weathergen.falcon.files.mission/arrive",
1398022348),new cljs.core.Keyword("weathergen.falcon.files.mission","depart","weathergen.falcon.files.mission/depart",-1655269341)],null),null,new cljs.core.PersistentVector(null,9,5,cljs.core.PersistentVector.EMPTY_NODE,[function(a){return cljs.core.map_QMARK_.call(null,a)},function(a){return cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"action","action",-811238024))},function(a){return cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"flags","flags",1775418075))},
function(a){return cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"formation","formation",-38517787))},function(a){return cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"grid-x","grid-x",1935903622))},function(a){return cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"grid-y","grid-y",1140315474))},function(a){return cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"haves","haves",-405191810))},function(a){return cljs.core.contains_QMARK_.call(null,
a,new cljs.core.Keyword(null,"target-building","target-building",-464097984))},function(a){return cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"target-id","target-id",-1438159155))}],null),function(a){return cljs.core.map_QMARK_.call(null,a)&&cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"action","action",-811238024))&&cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"flags","flags",1775418075))&&cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,
"formation","formation",-38517787))&&cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"grid-x","grid-x",1935903622))&&cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"grid-y","grid-y",1140315474))&&cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"haves","haves",-405191810))&&cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"target-building","target-building",-464097984))&&cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,
"target-id","target-id",-1438159155))},new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"arrive","arrive",-284644322),new cljs.core.Keyword(null,"depart","depart",-100007287)],null),new cljs.core.PersistentVector(null,8,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword("weathergen.falcon.files.mission","action","weathergen.falcon.files.mission/action",811270626),new cljs.core.Keyword("weathergen.falcon.files.mission","flags","weathergen.falcon.files.mission/flags",
-965167503),new cljs.core.Keyword("weathergen.falcon.files.mission","formation","weathergen.falcon.files.mission/formation",-1712272813),new cljs.core.Keyword("weathergen.falcon.files.mission","grid-x","weathergen.falcon.files.mission/grid-x",-804658896),new cljs.core.Keyword("weathergen.falcon.files.mission","grid-y","weathergen.falcon.files.mission/grid-y",-700621092),new cljs.core.Keyword("weathergen.falcon.files.mission","haves","weathergen.falcon.files.mission/haves",-1012743932),new cljs.core.Keyword("weathergen.falcon.files.mission",
"target-building","weathergen.falcon.files.mission/target-building",-2079590718),new cljs.core.Keyword("weathergen.falcon.files.mission","target-id","weathergen.falcon.files.mission/target-id",167375943)],null),null,new cljs.core.PersistentVector(null,8,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"action","action",-811238024),new cljs.core.Keyword(null,"flags","flags",1775418075),new cljs.core.Keyword(null,"formation","formation",-38517787),new cljs.core.Keyword(null,"grid-x",
"grid-x",1935903622),new cljs.core.Keyword(null,"grid-y","grid-y",1140315474),new cljs.core.Keyword(null,"haves","haves",-405191810),new cljs.core.Keyword(null,"target-building","target-building",-464097984),new cljs.core.Keyword(null,"target-id","target-id",-1438159155)],null),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword("weathergen.falcon.files.mission","arrive","weathergen.falcon.files.mission/arrive",1398022348),new cljs.core.Keyword("weathergen.falcon.files.mission",
"depart","weathergen.falcon.files.mission/depart",-1655269341)],null),new cljs.core.PersistentVector(null,9,5,cljs.core.PersistentVector.EMPTY_NODE,[cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"%","%",-950237169,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core","map?","cljs.core/map?",-1390345523,null),new cljs.core.Symbol(null,"%","%",-950237169,
null))),cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"%","%",-950237169,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core","contains?","cljs.core/contains?",-976526835,null),new cljs.core.Symbol(null,"%","%",-950237169,null),new cljs.core.Keyword(null,"action","action",-811238024))),cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",
-1065745098,null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"%","%",-950237169,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core","contains?","cljs.core/contains?",-976526835,null),new cljs.core.Symbol(null,"%","%",-950237169,null),new cljs.core.Keyword(null,"flags","flags",1775418075))),cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,
[new cljs.core.Symbol(null,"%","%",-950237169,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core","contains?","cljs.core/contains?",-976526835,null),new cljs.core.Symbol(null,"%","%",-950237169,null),new cljs.core.Keyword(null,"formation","formation",-38517787))),cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"%","%",-950237169,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core",
"contains?","cljs.core/contains?",-976526835,null),new cljs.core.Symbol(null,"%","%",-950237169,null),new cljs.core.Keyword(null,"grid-x","grid-x",1935903622))),cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"%","%",-950237169,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core","contains?","cljs.core/contains?",-976526835,null),new cljs.core.Symbol(null,
"%","%",-950237169,null),new cljs.core.Keyword(null,"grid-y","grid-y",1140315474))),cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"%","%",-950237169,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core","contains?","cljs.core/contains?",-976526835,null),new cljs.core.Symbol(null,"%","%",-950237169,null),new cljs.core.Keyword(null,"haves","haves",-405191810))),
cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"%","%",-950237169,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core","contains?","cljs.core/contains?",-976526835,null),new cljs.core.Symbol(null,"%","%",-950237169,null),new cljs.core.Keyword(null,"target-building","target-building",-464097984))),cljs.core.list(new cljs.core.Symbol("cljs.core","fn",
"cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"%","%",-950237169,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core","contains?","cljs.core/contains?",-976526835,null),new cljs.core.Symbol(null,"%","%",-950237169,null),new cljs.core.Keyword(null,"target-id","target-id",-1438159155)))],null),null]));
weathergen.falcon.files.mission.Aircraft=cljs.spec.alpha.map_spec_impl.call(null,cljs.core.PersistentHashMap.fromArrays([new cljs.core.Keyword(null,"req-un","req-un",1074571008),new cljs.core.Keyword(null,"opt-un","opt-un",883442496),new cljs.core.Keyword(null,"gfn","gfn",791517474),new cljs.core.Keyword(null,"pred-exprs","pred-exprs",1792271395),new cljs.core.Keyword(null,"keys-pred","keys-pred",858984739),new cljs.core.Keyword(null,"opt-keys","opt-keys",1262688261),new cljs.core.Keyword(null,"req-specs",
"req-specs",553962313),new cljs.core.Keyword(null,"req","req",-326448303),new cljs.core.Keyword(null,"req-keys","req-keys",514319221),new cljs.core.Keyword(null,"opt-specs","opt-specs",-384905450),new cljs.core.Keyword(null,"pred-forms","pred-forms",172611832),new cljs.core.Keyword(null,"opt","opt",-794706369)],[new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword("weathergen.falcon.files.mission","airframe","weathergen.falcon.files.mission/airframe",
201933592),new cljs.core.Keyword("weathergen.falcon.files.mission","quantity","weathergen.falcon.files.mission/quantity",264407876)],null),null,null,new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,[function(a){return cljs.core.map_QMARK_.call(null,a)},function(a){return cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"airframe","airframe",643222926))},function(a){return cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"quantity","quantity",
-1929050694))}],null),function(a){return cljs.core.map_QMARK_.call(null,a)&&cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"airframe","airframe",643222926))&&cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"quantity","quantity",-1929050694))},cljs.core.PersistentVector.EMPTY,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword("weathergen.falcon.files.mission","airframe","weathergen.falcon.files.mission/airframe",201933592),
new cljs.core.Keyword("weathergen.falcon.files.mission","quantity","weathergen.falcon.files.mission/quantity",264407876)],null),null,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"airframe","airframe",643222926),new cljs.core.Keyword(null,"quantity","quantity",-1929050694)],null),cljs.core.PersistentVector.EMPTY,new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,[cljs.core.list(new cljs.core.Symbol("cljs.core",
"fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"%","%",-950237169,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core","map?","cljs.core/map?",-1390345523,null),new cljs.core.Symbol(null,"%","%",-950237169,null))),cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,
"%","%",-950237169,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core","contains?","cljs.core/contains?",-976526835,null),new cljs.core.Symbol(null,"%","%",-950237169,null),new cljs.core.Keyword(null,"airframe","airframe",643222926))),cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"%","%",-950237169,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core",
"contains?","cljs.core/contains?",-976526835,null),new cljs.core.Symbol(null,"%","%",-950237169,null),new cljs.core.Keyword(null,"quantity","quantity",-1929050694)))],null),null]));
weathergen.falcon.files.mission.Loadout=cljs.spec.alpha.map_spec_impl.call(null,cljs.core.PersistentHashMap.fromArrays([new cljs.core.Keyword(null,"req-un","req-un",1074571008),new cljs.core.Keyword(null,"opt-un","opt-un",883442496),new cljs.core.Keyword(null,"gfn","gfn",791517474),new cljs.core.Keyword(null,"pred-exprs","pred-exprs",1792271395),new cljs.core.Keyword(null,"keys-pred","keys-pred",858984739),new cljs.core.Keyword(null,"opt-keys","opt-keys",1262688261),new cljs.core.Keyword(null,"req-specs",
"req-specs",553962313),new cljs.core.Keyword(null,"req","req",-326448303),new cljs.core.Keyword(null,"req-keys","req-keys",514319221),new cljs.core.Keyword(null,"opt-specs","opt-specs",-384905450),new cljs.core.Keyword(null,"pred-forms","pred-forms",172611832),new cljs.core.Keyword(null,"opt","opt",-794706369)],[new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword("loadout","id","loadout/id",-1186090580),new cljs.core.Keyword("loadout","count","loadout/count",
-1411670515)],null),null,null,new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,[function(a){return cljs.core.map_QMARK_.call(null,a)},function(a){return cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"id","id",-1388402092))},function(a){return cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"count","count",2139924085))}],null),function(a){return cljs.core.map_QMARK_.call(null,a)&&cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,
"id","id",-1388402092))&&cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"count","count",2139924085))},cljs.core.PersistentVector.EMPTY,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword("loadout","id","loadout/id",-1186090580),new cljs.core.Keyword("loadout","count","loadout/count",-1411670515)],null),null,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"id","id",-1388402092),
new cljs.core.Keyword(null,"count","count",2139924085)],null),cljs.core.PersistentVector.EMPTY,new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,[cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"%","%",-950237169,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core","map?","cljs.core/map?",-1390345523,null),new cljs.core.Symbol(null,
"%","%",-950237169,null))),cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"%","%",-950237169,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core","contains?","cljs.core/contains?",-976526835,null),new cljs.core.Symbol(null,"%","%",-950237169,null),new cljs.core.Keyword(null,"id","id",-1388402092))),cljs.core.list(new cljs.core.Symbol("cljs.core","fn",
"cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"%","%",-950237169,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core","contains?","cljs.core/contains?",-976526835,null),new cljs.core.Symbol(null,"%","%",-950237169,null),new cljs.core.Keyword(null,"count","count",2139924085)))],null),null]));
weathergen.falcon.files.mission.VmtLoadout=cljs.spec.alpha.every_impl.call(null,cljs.core.list(new cljs.core.Symbol("s","keys","s/keys",-1586011188,null),new cljs.core.Keyword(null,"req-un","req-un",1074571008),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword("weathergen.falcon.files.mission","name","weathergen.falcon.files.mission/name",1235339975),new cljs.core.Keyword("weathergen.falcon.files.mission","quantity","weathergen.falcon.files.mission/quantity",
264407876)],null)),cljs.spec.alpha.map_spec_impl.call(null,cljs.core.PersistentHashMap.fromArrays([new cljs.core.Keyword(null,"req-un","req-un",1074571008),new cljs.core.Keyword(null,"opt-un","opt-un",883442496),new cljs.core.Keyword(null,"gfn","gfn",791517474),new cljs.core.Keyword(null,"pred-exprs","pred-exprs",1792271395),new cljs.core.Keyword(null,"keys-pred","keys-pred",858984739),new cljs.core.Keyword(null,"opt-keys","opt-keys",1262688261),new cljs.core.Keyword(null,"req-specs","req-specs",
553962313),new cljs.core.Keyword(null,"req","req",-326448303),new cljs.core.Keyword(null,"req-keys","req-keys",514319221),new cljs.core.Keyword(null,"opt-specs","opt-specs",-384905450),new cljs.core.Keyword(null,"pred-forms","pred-forms",172611832),new cljs.core.Keyword(null,"opt","opt",-794706369)],[new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword("weathergen.falcon.files.mission","name","weathergen.falcon.files.mission/name",1235339975),new cljs.core.Keyword("weathergen.falcon.files.mission",
"quantity","weathergen.falcon.files.mission/quantity",264407876)],null),null,null,new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,[function(a){return cljs.core.map_QMARK_.call(null,a)},function(a){return cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"name","name",1843675177))},function(a){return cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"quantity","quantity",-1929050694))}],null),function(a){return cljs.core.map_QMARK_.call(null,
a)&&cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"name","name",1843675177))&&cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"quantity","quantity",-1929050694))},cljs.core.PersistentVector.EMPTY,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword("weathergen.falcon.files.mission","name","weathergen.falcon.files.mission/name",1235339975),new cljs.core.Keyword("weathergen.falcon.files.mission","quantity","weathergen.falcon.files.mission/quantity",
264407876)],null),null,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"name","name",1843675177),new cljs.core.Keyword(null,"quantity","quantity",-1929050694)],null),cljs.core.PersistentVector.EMPTY,new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,[cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,
"%","%",-950237169,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core","map?","cljs.core/map?",-1390345523,null),new cljs.core.Symbol(null,"%","%",-950237169,null))),cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"%","%",-950237169,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core","contains?","cljs.core/contains?",-976526835,null),new cljs.core.Symbol(null,
"%","%",-950237169,null),new cljs.core.Keyword(null,"name","name",1843675177))),cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"%","%",-950237169,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core","contains?","cljs.core/contains?",-976526835,null),new cljs.core.Symbol(null,"%","%",-950237169,null),new cljs.core.Keyword(null,"quantity","quantity",
-1929050694)))],null),null])),new cljs.core.PersistentArrayMap(null,4,[new cljs.core.Keyword("cljs.spec.alpha","kind-form","cljs.spec.alpha/kind-form",-1047104697),null,new cljs.core.Keyword("cljs.spec.alpha","cpred","cljs.spec.alpha/cpred",-693471218),function(a){return cljs.core.coll_QMARK_.call(null,a)},new cljs.core.Keyword("cljs.spec.alpha","conform-all","cljs.spec.alpha/conform-all",45201917),!0,new cljs.core.Keyword("cljs.spec.alpha","describe","cljs.spec.alpha/describe",1883026911),cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha",
"coll-of","cljs.spec.alpha/coll-of",1019430407,null),cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha","keys","cljs.spec.alpha/keys",1109346032,null),new cljs.core.Keyword(null,"req-un","req-un",1074571008),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword("weathergen.falcon.files.mission","name","weathergen.falcon.files.mission/name",1235339975),new cljs.core.Keyword("weathergen.falcon.files.mission","quantity","weathergen.falcon.files.mission/quantity",
264407876)],null)))],null),null);
weathergen.falcon.files.mission.Flight=cljs.spec.alpha.merge_spec_impl.call(null,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol("weathergen.falcon.files.mission","Unit","weathergen.falcon.files.mission/Unit",-1510668303,null),cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha","keys","cljs.spec.alpha/keys",1109346032,null),new cljs.core.Keyword(null,"req-un","req-un",1074571008),new cljs.core.PersistentVector(null,29,5,cljs.core.PersistentVector.EMPTY_NODE,
[new cljs.core.Keyword("weathergen.falcon.files.mission","initial-fuel","weathergen.falcon.files.mission/initial-fuel",-151699645),new cljs.core.Keyword("flight","type","flight/type",-1312723716),new cljs.core.Keyword("weathergen.falcon.files.mission","pos-z","weathergen.falcon.files.mission/pos-z",415078470),new cljs.core.Keyword("weathergen.falcon.files.mission","fuel-burnt","weathergen.falcon.files.mission/fuel-burnt",1582543204),new cljs.core.Keyword("weathergen.falcon.files.mission","laser-codes",
"weathergen.falcon.files.mission/laser-codes",-782137624),new cljs.core.Keyword("weathergen.falcon.files.mission","last-move","weathergen.falcon.files.mission/last-move",379400310),new cljs.core.Keyword("weathergen.falcon.files.mission","last-combat","weathergen.falcon.files.mission/last-combat",-2053677989),new cljs.core.Keyword("weathergen.falcon.files.mission","time-on-target","weathergen.falcon.files.mission/time-on-target",1754786574),new cljs.core.Keyword("weathergen.falcon.files.mission","mission-over-time",
"weathergen.falcon.files.mission/mission-over-time",-1661900701),new cljs.core.Keyword("weathergen.falcon.files.mission","mission-target","weathergen.falcon.files.mission/mission-target",1990621919),new cljs.core.Keyword("flight","loadouts","flight/loadouts",-1590233423),new cljs.core.Keyword("flight","mission","flight/mission",472463770),new cljs.core.Keyword("weathergen.falcon.files.mission","old-mission","weathergen.falcon.files.mission/old-mission",-1684443929),new cljs.core.Keyword("weathergen.falcon.files.mission",
"last-direction","weathergen.falcon.files.mission/last-direction",919811040),new cljs.core.Keyword("weathergen.falcon.files.mission","priority","weathergen.falcon.files.mission/priority",1887991877),new cljs.core.Keyword("weathergen.falcon.files.mission","mission-id","weathergen.falcon.files.mission/mission-id",-298821030),new cljs.core.Keyword("weathergen.falcon.files.mission","eval-flags","weathergen.falcon.files.mission/eval-flags",1247665702),new cljs.core.Keyword("weathergen.falcon.files.mission",
"mission-context","weathergen.falcon.files.mission/mission-context",-2087987666),new cljs.core.Keyword("flight","package","flight/package",-1294787534),new cljs.core.Keyword("flight","squadron","flight/squadron",13800615),new cljs.core.Keyword("weathergen.falcon.files.mission","requester","weathergen.falcon.files.mission/requester",323342959),new cljs.core.Keyword("weathergen.falcon.files.mission","slots","weathergen.falcon.files.mission/slots",1866096404),new cljs.core.Keyword("flight","pilots",
"flight/pilots",1226839277),new cljs.core.Keyword("weathergen.falcon.files.mission","plane-stats","weathergen.falcon.files.mission/plane-stats",596458237),new cljs.core.Keyword("weathergen.falcon.files.mission","player-slots","weathergen.falcon.files.mission/player-slots",-318111164),new cljs.core.Keyword("weathergen.falcon.files.mission","last-player-slot","weathergen.falcon.files.mission/last-player-slot",1113132742),new cljs.core.Keyword("weathergen.falcon.files.mission","callsign-id","weathergen.falcon.files.mission/callsign-id",
-1180066971),new cljs.core.Keyword("weathergen.falcon.files.mission","callsign-num","weathergen.falcon.files.mission/callsign-num",-105981196),new cljs.core.Keyword("weathergen.falcon.files.mission","refuel-quantity","weathergen.falcon.files.mission/refuel-quantity",1738806084)],null),new cljs.core.Keyword(null,"req","req",-326448303),new cljs.core.PersistentVector(null,4,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword("weathergen.falcon.files.mission","airbase","weathergen.falcon.files.mission/airbase",
-1926407441),new cljs.core.Keyword("weathergen.falcon.files.mission","aircraft","weathergen.falcon.files.mission/aircraft",774567258),new cljs.core.Keyword("weathergen.falcon.files.mission","loadouts","weathergen.falcon.files.mission/loadouts",142269567),new cljs.core.Keyword("weathergen.falcon.files.mission","squadron-image","weathergen.falcon.files.mission/squadron-image",-423118152)],null))],null),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[weathergen.falcon.files.mission.Unit,
cljs.spec.alpha.map_spec_impl.call(null,cljs.core.PersistentHashMap.fromArrays([new cljs.core.Keyword(null,"req-un","req-un",1074571008),new cljs.core.Keyword(null,"opt-un","opt-un",883442496),new cljs.core.Keyword(null,"gfn","gfn",791517474),new cljs.core.Keyword(null,"pred-exprs","pred-exprs",1792271395),new cljs.core.Keyword(null,"keys-pred","keys-pred",858984739),new cljs.core.Keyword(null,"opt-keys","opt-keys",1262688261),new cljs.core.Keyword(null,"req-specs","req-specs",553962313),new cljs.core.Keyword(null,
"req","req",-326448303),new cljs.core.Keyword(null,"req-keys","req-keys",514319221),new cljs.core.Keyword(null,"opt-specs","opt-specs",-384905450),new cljs.core.Keyword(null,"pred-forms","pred-forms",172611832),new cljs.core.Keyword(null,"opt","opt",-794706369)],[new cljs.core.PersistentVector(null,29,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword("weathergen.falcon.files.mission","initial-fuel","weathergen.falcon.files.mission/initial-fuel",-151699645),new cljs.core.Keyword("flight",
"type","flight/type",-1312723716),new cljs.core.Keyword("weathergen.falcon.files.mission","pos-z","weathergen.falcon.files.mission/pos-z",415078470),new cljs.core.Keyword("weathergen.falcon.files.mission","fuel-burnt","weathergen.falcon.files.mission/fuel-burnt",1582543204),new cljs.core.Keyword("weathergen.falcon.files.mission","laser-codes","weathergen.falcon.files.mission/laser-codes",-782137624),new cljs.core.Keyword("weathergen.falcon.files.mission","last-move","weathergen.falcon.files.mission/last-move",
379400310),new cljs.core.Keyword("weathergen.falcon.files.mission","last-combat","weathergen.falcon.files.mission/last-combat",-2053677989),new cljs.core.Keyword("weathergen.falcon.files.mission","time-on-target","weathergen.falcon.files.mission/time-on-target",1754786574),new cljs.core.Keyword("weathergen.falcon.files.mission","mission-over-time","weathergen.falcon.files.mission/mission-over-time",-1661900701),new cljs.core.Keyword("weathergen.falcon.files.mission","mission-target","weathergen.falcon.files.mission/mission-target",
1990621919),new cljs.core.Keyword("flight","loadouts","flight/loadouts",-1590233423),new cljs.core.Keyword("flight","mission","flight/mission",472463770),new cljs.core.Keyword("weathergen.falcon.files.mission","old-mission","weathergen.falcon.files.mission/old-mission",-1684443929),new cljs.core.Keyword("weathergen.falcon.files.mission","last-direction","weathergen.falcon.files.mission/last-direction",919811040),new cljs.core.Keyword("weathergen.falcon.files.mission","priority","weathergen.falcon.files.mission/priority",
1887991877),new cljs.core.Keyword("weathergen.falcon.files.mission","mission-id","weathergen.falcon.files.mission/mission-id",-298821030),new cljs.core.Keyword("weathergen.falcon.files.mission","eval-flags","weathergen.falcon.files.mission/eval-flags",1247665702),new cljs.core.Keyword("weathergen.falcon.files.mission","mission-context","weathergen.falcon.files.mission/mission-context",-2087987666),new cljs.core.Keyword("flight","package","flight/package",-1294787534),new cljs.core.Keyword("flight",
"squadron","flight/squadron",13800615),new cljs.core.Keyword("weathergen.falcon.files.mission","requester","weathergen.falcon.files.mission/requester",323342959),new cljs.core.Keyword("weathergen.falcon.files.mission","slots","weathergen.falcon.files.mission/slots",1866096404),new cljs.core.Keyword("flight","pilots","flight/pilots",1226839277),new cljs.core.Keyword("weathergen.falcon.files.mission","plane-stats","weathergen.falcon.files.mission/plane-stats",596458237),new cljs.core.Keyword("weathergen.falcon.files.mission",
"player-slots","weathergen.falcon.files.mission/player-slots",-318111164),new cljs.core.Keyword("weathergen.falcon.files.mission","last-player-slot","weathergen.falcon.files.mission/last-player-slot",1113132742),new cljs.core.Keyword("weathergen.falcon.files.mission","callsign-id","weathergen.falcon.files.mission/callsign-id",-1180066971),new cljs.core.Keyword("weathergen.falcon.files.mission","callsign-num","weathergen.falcon.files.mission/callsign-num",-105981196),new cljs.core.Keyword("weathergen.falcon.files.mission",
"refuel-quantity","weathergen.falcon.files.mission/refuel-quantity",1738806084)],null),null,null,cljs.core.PersistentVector.fromArray([function(a){return cljs.core.map_QMARK_.call(null,a)},function(a){return cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword("weathergen.falcon.files.mission","airbase","weathergen.falcon.files.mission/airbase",-1926407441))},function(a){return cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword("weathergen.falcon.files.mission","aircraft","weathergen.falcon.files.mission/aircraft",
774567258))},function(a){return cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword("weathergen.falcon.files.mission","loadouts","weathergen.falcon.files.mission/loadouts",142269567))},function(a){return cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword("weathergen.falcon.files.mission","squadron-image","weathergen.falcon.files.mission/squadron-image",-423118152))},function(a){return cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"initial-fuel","initial-fuel",-761608263))},
function(a){return cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"type","type",1174270348))},function(a){return cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"pos-z","pos-z",-2046554196))},function(a){return cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"fuel-burnt","fuel-burnt",1132148442))},function(a){return cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"laser-codes","laser-codes",1856569714))},function(a){return cljs.core.contains_QMARK_.call(null,
a,new cljs.core.Keyword(null,"last-move","last-move",2069214404))},function(a){return cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"last-combat","last-combat",406442709))},function(a){return cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"time-on-target","time-on-target",-857850216))},function(a){return cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"mission-over-time","mission-over-time",949947865))},function(a){return cljs.core.contains_QMARK_.call(null,
a,new cljs.core.Keyword(null,"mission-target","mission-target",467808629))},function(a){return cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"loadouts","loadouts",1824879361))},function(a){return cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"mission","mission",1740288522))},function(a){return cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"old-mission","old-mission",-292358051))},function(a){return cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,
"last-direction","last-direction",-1676432794))},function(a){return cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"priority","priority",1431093715))},function(a){return cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"mission-id","mission-id",1232466132))},function(a){return cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"eval-flags","eval-flags",1604606092))},function(a){return cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,
"mission-context","mission-context",-1613541188))},function(a){return cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"package","package",1189062786))},function(a){return cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"squadron","squadron",-1131671273))},function(a){return cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"requester","requester",2032946161))},function(a){return cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"slots",
"slots",276818598))},function(a){return cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"pilots","pilots",353525853))},function(a){return cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"plane-stats","plane-stats",-4010361))},function(a){return cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"player-slots","player-slots",-2024567622))},function(a){return cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"last-player-slot","last-player-slot",
-1491370688))},function(a){return cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"callsign-id","callsign-id",501232863))},function(a){return cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"callsign-num","callsign-num",-1771041170))},function(a){return cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"refuel-quantity","refuel-quantity",-765272130))}],!0),function(a){return cljs.core.map_QMARK_.call(null,a)&&cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword("weathergen.falcon.files.mission",
"airbase","weathergen.falcon.files.mission/airbase",-1926407441))&&cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword("weathergen.falcon.files.mission","aircraft","weathergen.falcon.files.mission/aircraft",774567258))&&cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword("weathergen.falcon.files.mission","loadouts","weathergen.falcon.files.mission/loadouts",142269567))&&cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword("weathergen.falcon.files.mission","squadron-image","weathergen.falcon.files.mission/squadron-image",
-423118152))&&cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"initial-fuel","initial-fuel",-761608263))&&cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"type","type",1174270348))&&cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"pos-z","pos-z",-2046554196))&&cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"fuel-burnt","fuel-burnt",1132148442))&&cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"laser-codes","laser-codes",
1856569714))&&cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"last-move","last-move",2069214404))&&cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"last-combat","last-combat",406442709))&&cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"time-on-target","time-on-target",-857850216))&&cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"mission-over-time","mission-over-time",949947865))&&cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,
"mission-target","mission-target",467808629))&&cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"loadouts","loadouts",1824879361))&&cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"mission","mission",1740288522))&&cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"old-mission","old-mission",-292358051))&&cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"last-direction","last-direction",-1676432794))&&cljs.core.contains_QMARK_.call(null,
a,new cljs.core.Keyword(null,"priority","priority",1431093715))&&cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"mission-id","mission-id",1232466132))&&cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"eval-flags","eval-flags",1604606092))&&cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"mission-context","mission-context",-1613541188))&&cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"package","package",1189062786))&&cljs.core.contains_QMARK_.call(null,
a,new cljs.core.Keyword(null,"squadron","squadron",-1131671273))&&cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"requester","requester",2032946161))&&cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"slots","slots",276818598))&&cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"pilots","pilots",353525853))&&cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"plane-stats","plane-stats",-4010361))&&cljs.core.contains_QMARK_.call(null,a,
new cljs.core.Keyword(null,"player-slots","player-slots",-2024567622))&&cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"last-player-slot","last-player-slot",-1491370688))&&cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"callsign-id","callsign-id",501232863))&&cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"callsign-num","callsign-num",-1771041170))&&cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"refuel-quantity","refuel-quantity",
-765272130))},cljs.core.PersistentVector.EMPTY,cljs.core.PersistentVector.fromArray([new cljs.core.Keyword("weathergen.falcon.files.mission","airbase","weathergen.falcon.files.mission/airbase",-1926407441),new cljs.core.Keyword("weathergen.falcon.files.mission","aircraft","weathergen.falcon.files.mission/aircraft",774567258),new cljs.core.Keyword("weathergen.falcon.files.mission","loadouts","weathergen.falcon.files.mission/loadouts",142269567),new cljs.core.Keyword("weathergen.falcon.files.mission",
"squadron-image","weathergen.falcon.files.mission/squadron-image",-423118152),new cljs.core.Keyword("weathergen.falcon.files.mission","initial-fuel","weathergen.falcon.files.mission/initial-fuel",-151699645),new cljs.core.Keyword("flight","type","flight/type",-1312723716),new cljs.core.Keyword("weathergen.falcon.files.mission","pos-z","weathergen.falcon.files.mission/pos-z",415078470),new cljs.core.Keyword("weathergen.falcon.files.mission","fuel-burnt","weathergen.falcon.files.mission/fuel-burnt",
1582543204),new cljs.core.Keyword("weathergen.falcon.files.mission","laser-codes","weathergen.falcon.files.mission/laser-codes",-782137624),new cljs.core.Keyword("weathergen.falcon.files.mission","last-move","weathergen.falcon.files.mission/last-move",379400310),new cljs.core.Keyword("weathergen.falcon.files.mission","last-combat","weathergen.falcon.files.mission/last-combat",-2053677989),new cljs.core.Keyword("weathergen.falcon.files.mission","time-on-target","weathergen.falcon.files.mission/time-on-target",
1754786574),new cljs.core.Keyword("weathergen.falcon.files.mission","mission-over-time","weathergen.falcon.files.mission/mission-over-time",-1661900701),new cljs.core.Keyword("weathergen.falcon.files.mission","mission-target","weathergen.falcon.files.mission/mission-target",1990621919),new cljs.core.Keyword("flight","loadouts","flight/loadouts",-1590233423),new cljs.core.Keyword("flight","mission","flight/mission",472463770),new cljs.core.Keyword("weathergen.falcon.files.mission","old-mission","weathergen.falcon.files.mission/old-mission",
-1684443929),new cljs.core.Keyword("weathergen.falcon.files.mission","last-direction","weathergen.falcon.files.mission/last-direction",919811040),new cljs.core.Keyword("weathergen.falcon.files.mission","priority","weathergen.falcon.files.mission/priority",1887991877),new cljs.core.Keyword("weathergen.falcon.files.mission","mission-id","weathergen.falcon.files.mission/mission-id",-298821030),new cljs.core.Keyword("weathergen.falcon.files.mission","eval-flags","weathergen.falcon.files.mission/eval-flags",
1247665702),new cljs.core.Keyword("weathergen.falcon.files.mission","mission-context","weathergen.falcon.files.mission/mission-context",-2087987666),new cljs.core.Keyword("flight","package","flight/package",-1294787534),new cljs.core.Keyword("flight","squadron","flight/squadron",13800615),new cljs.core.Keyword("weathergen.falcon.files.mission","requester","weathergen.falcon.files.mission/requester",323342959),new cljs.core.Keyword("weathergen.falcon.files.mission","slots","weathergen.falcon.files.mission/slots",
1866096404),new cljs.core.Keyword("flight","pilots","flight/pilots",1226839277),new cljs.core.Keyword("weathergen.falcon.files.mission","plane-stats","weathergen.falcon.files.mission/plane-stats",596458237),new cljs.core.Keyword("weathergen.falcon.files.mission","player-slots","weathergen.falcon.files.mission/player-slots",-318111164),new cljs.core.Keyword("weathergen.falcon.files.mission","last-player-slot","weathergen.falcon.files.mission/last-player-slot",1113132742),new cljs.core.Keyword("weathergen.falcon.files.mission",
"callsign-id","weathergen.falcon.files.mission/callsign-id",-1180066971),new cljs.core.Keyword("weathergen.falcon.files.mission","callsign-num","weathergen.falcon.files.mission/callsign-num",-105981196),new cljs.core.Keyword("weathergen.falcon.files.mission","refuel-quantity","weathergen.falcon.files.mission/refuel-quantity",1738806084)],!0),new cljs.core.PersistentVector(null,4,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword("weathergen.falcon.files.mission","airbase","weathergen.falcon.files.mission/airbase",
-1926407441),new cljs.core.Keyword("weathergen.falcon.files.mission","aircraft","weathergen.falcon.files.mission/aircraft",774567258),new cljs.core.Keyword("weathergen.falcon.files.mission","loadouts","weathergen.falcon.files.mission/loadouts",142269567),new cljs.core.Keyword("weathergen.falcon.files.mission","squadron-image","weathergen.falcon.files.mission/squadron-image",-423118152)],null),cljs.core.PersistentVector.fromArray([new cljs.core.Keyword("weathergen.falcon.files.mission","airbase","weathergen.falcon.files.mission/airbase",
-1926407441),new cljs.core.Keyword("weathergen.falcon.files.mission","aircraft","weathergen.falcon.files.mission/aircraft",774567258),new cljs.core.Keyword("weathergen.falcon.files.mission","loadouts","weathergen.falcon.files.mission/loadouts",142269567),new cljs.core.Keyword("weathergen.falcon.files.mission","squadron-image","weathergen.falcon.files.mission/squadron-image",-423118152),new cljs.core.Keyword(null,"initial-fuel","initial-fuel",-761608263),new cljs.core.Keyword(null,"type","type",1174270348),
new cljs.core.Keyword(null,"pos-z","pos-z",-2046554196),new cljs.core.Keyword(null,"fuel-burnt","fuel-burnt",1132148442),new cljs.core.Keyword(null,"laser-codes","laser-codes",1856569714),new cljs.core.Keyword(null,"last-move","last-move",2069214404),new cljs.core.Keyword(null,"last-combat","last-combat",406442709),new cljs.core.Keyword(null,"time-on-target","time-on-target",-857850216),new cljs.core.Keyword(null,"mission-over-time","mission-over-time",949947865),new cljs.core.Keyword(null,"mission-target",
"mission-target",467808629),new cljs.core.Keyword(null,"loadouts","loadouts",1824879361),new cljs.core.Keyword(null,"mission","mission",1740288522),new cljs.core.Keyword(null,"old-mission","old-mission",-292358051),new cljs.core.Keyword(null,"last-direction","last-direction",-1676432794),new cljs.core.Keyword(null,"priority","priority",1431093715),new cljs.core.Keyword(null,"mission-id","mission-id",1232466132),new cljs.core.Keyword(null,"eval-flags","eval-flags",1604606092),new cljs.core.Keyword(null,
"mission-context","mission-context",-1613541188),new cljs.core.Keyword(null,"package","package",1189062786),new cljs.core.Keyword(null,"squadron","squadron",-1131671273),new cljs.core.Keyword(null,"requester","requester",2032946161),new cljs.core.Keyword(null,"slots","slots",276818598),new cljs.core.Keyword(null,"pilots","pilots",353525853),new cljs.core.Keyword(null,"plane-stats","plane-stats",-4010361),new cljs.core.Keyword(null,"player-slots","player-slots",-2024567622),new cljs.core.Keyword(null,
"last-player-slot","last-player-slot",-1491370688),new cljs.core.Keyword(null,"callsign-id","callsign-id",501232863),new cljs.core.Keyword(null,"callsign-num","callsign-num",-1771041170),new cljs.core.Keyword(null,"refuel-quantity","refuel-quantity",-765272130)],!0),cljs.core.PersistentVector.EMPTY,cljs.core.PersistentVector.fromArray([cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,
[new cljs.core.Symbol(null,"%","%",-950237169,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core","map?","cljs.core/map?",-1390345523,null),new cljs.core.Symbol(null,"%","%",-950237169,null))),cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"%","%",-950237169,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core","contains?","cljs.core/contains?",
-976526835,null),new cljs.core.Symbol(null,"%","%",-950237169,null),new cljs.core.Keyword("weathergen.falcon.files.mission","airbase","weathergen.falcon.files.mission/airbase",-1926407441))),cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"%","%",-950237169,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core","contains?","cljs.core/contains?",-976526835,
null),new cljs.core.Symbol(null,"%","%",-950237169,null),new cljs.core.Keyword("weathergen.falcon.files.mission","aircraft","weathergen.falcon.files.mission/aircraft",774567258))),cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"%","%",-950237169,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core","contains?","cljs.core/contains?",-976526835,null),
new cljs.core.Symbol(null,"%","%",-950237169,null),new cljs.core.Keyword("weathergen.falcon.files.mission","loadouts","weathergen.falcon.files.mission/loadouts",142269567))),cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"%","%",-950237169,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core","contains?","cljs.core/contains?",-976526835,null),new cljs.core.Symbol(null,
"%","%",-950237169,null),new cljs.core.Keyword("weathergen.falcon.files.mission","squadron-image","weathergen.falcon.files.mission/squadron-image",-423118152))),cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"%","%",-950237169,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core","contains?","cljs.core/contains?",-976526835,null),new cljs.core.Symbol(null,
"%","%",-950237169,null),new cljs.core.Keyword(null,"initial-fuel","initial-fuel",-761608263))),cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"%","%",-950237169,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core","contains?","cljs.core/contains?",-976526835,null),new cljs.core.Symbol(null,"%","%",-950237169,null),new cljs.core.Keyword(null,"type",
"type",1174270348))),cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"%","%",-950237169,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core","contains?","cljs.core/contains?",-976526835,null),new cljs.core.Symbol(null,"%","%",-950237169,null),new cljs.core.Keyword(null,"pos-z","pos-z",-2046554196))),cljs.core.list(new cljs.core.Symbol("cljs.core","fn",
"cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"%","%",-950237169,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core","contains?","cljs.core/contains?",-976526835,null),new cljs.core.Symbol(null,"%","%",-950237169,null),new cljs.core.Keyword(null,"fuel-burnt","fuel-burnt",1132148442))),cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null,
1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"%","%",-950237169,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core","contains?","cljs.core/contains?",-976526835,null),new cljs.core.Symbol(null,"%","%",-950237169,null),new cljs.core.Keyword(null,"laser-codes","laser-codes",1856569714))),cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,
"%","%",-950237169,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core","contains?","cljs.core/contains?",-976526835,null),new cljs.core.Symbol(null,"%","%",-950237169,null),new cljs.core.Keyword(null,"last-move","last-move",2069214404))),cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"%","%",-950237169,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core",
"contains?","cljs.core/contains?",-976526835,null),new cljs.core.Symbol(null,"%","%",-950237169,null),new cljs.core.Keyword(null,"last-combat","last-combat",406442709))),cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"%","%",-950237169,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core","contains?","cljs.core/contains?",-976526835,null),new cljs.core.Symbol(null,
"%","%",-950237169,null),new cljs.core.Keyword(null,"time-on-target","time-on-target",-857850216))),cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"%","%",-950237169,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core","contains?","cljs.core/contains?",-976526835,null),new cljs.core.Symbol(null,"%","%",-950237169,null),new cljs.core.Keyword(null,"mission-over-time",
"mission-over-time",949947865))),cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"%","%",-950237169,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core","contains?","cljs.core/contains?",-976526835,null),new cljs.core.Symbol(null,"%","%",-950237169,null),new cljs.core.Keyword(null,"mission-target","mission-target",467808629))),cljs.core.list(new cljs.core.Symbol("cljs.core",
"fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"%","%",-950237169,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core","contains?","cljs.core/contains?",-976526835,null),new cljs.core.Symbol(null,"%","%",-950237169,null),new cljs.core.Keyword(null,"loadouts","loadouts",1824879361))),cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null,
1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"%","%",-950237169,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core","contains?","cljs.core/contains?",-976526835,null),new cljs.core.Symbol(null,"%","%",-950237169,null),new cljs.core.Keyword(null,"mission","mission",1740288522))),cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,
"%","%",-950237169,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core","contains?","cljs.core/contains?",-976526835,null),new cljs.core.Symbol(null,"%","%",-950237169,null),new cljs.core.Keyword(null,"old-mission","old-mission",-292358051))),cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"%","%",-950237169,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core",
"contains?","cljs.core/contains?",-976526835,null),new cljs.core.Symbol(null,"%","%",-950237169,null),new cljs.core.Keyword(null,"last-direction","last-direction",-1676432794))),cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"%","%",-950237169,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core","contains?","cljs.core/contains?",-976526835,null),new cljs.core.Symbol(null,
"%","%",-950237169,null),new cljs.core.Keyword(null,"priority","priority",1431093715))),cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"%","%",-950237169,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core","contains?","cljs.core/contains?",-976526835,null),new cljs.core.Symbol(null,"%","%",-950237169,null),new cljs.core.Keyword(null,"mission-id",
"mission-id",1232466132))),cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"%","%",-950237169,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core","contains?","cljs.core/contains?",-976526835,null),new cljs.core.Symbol(null,"%","%",-950237169,null),new cljs.core.Keyword(null,"eval-flags","eval-flags",1604606092))),cljs.core.list(new cljs.core.Symbol("cljs.core",
"fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"%","%",-950237169,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core","contains?","cljs.core/contains?",-976526835,null),new cljs.core.Symbol(null,"%","%",-950237169,null),new cljs.core.Keyword(null,"mission-context","mission-context",-1613541188))),cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null,
1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"%","%",-950237169,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core","contains?","cljs.core/contains?",-976526835,null),new cljs.core.Symbol(null,"%","%",-950237169,null),new cljs.core.Keyword(null,"package","package",1189062786))),cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,
"%","%",-950237169,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core","contains?","cljs.core/contains?",-976526835,null),new cljs.core.Symbol(null,"%","%",-950237169,null),new cljs.core.Keyword(null,"squadron","squadron",-1131671273))),cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"%","%",-950237169,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core",
"contains?","cljs.core/contains?",-976526835,null),new cljs.core.Symbol(null,"%","%",-950237169,null),new cljs.core.Keyword(null,"requester","requester",2032946161))),cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"%","%",-950237169,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core","contains?","cljs.core/contains?",-976526835,null),new cljs.core.Symbol(null,
"%","%",-950237169,null),new cljs.core.Keyword(null,"slots","slots",276818598))),cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"%","%",-950237169,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core","contains?","cljs.core/contains?",-976526835,null),new cljs.core.Symbol(null,"%","%",-950237169,null),new cljs.core.Keyword(null,"pilots","pilots",353525853))),
cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"%","%",-950237169,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core","contains?","cljs.core/contains?",-976526835,null),new cljs.core.Symbol(null,"%","%",-950237169,null),new cljs.core.Keyword(null,"plane-stats","plane-stats",-4010361))),cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",
-1065745098,null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"%","%",-950237169,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core","contains?","cljs.core/contains?",-976526835,null),new cljs.core.Symbol(null,"%","%",-950237169,null),new cljs.core.Keyword(null,"player-slots","player-slots",-2024567622))),cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null,1,
5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"%","%",-950237169,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core","contains?","cljs.core/contains?",-976526835,null),new cljs.core.Symbol(null,"%","%",-950237169,null),new cljs.core.Keyword(null,"last-player-slot","last-player-slot",-1491370688))),cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,
"%","%",-950237169,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core","contains?","cljs.core/contains?",-976526835,null),new cljs.core.Symbol(null,"%","%",-950237169,null),new cljs.core.Keyword(null,"callsign-id","callsign-id",501232863))),cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"%","%",-950237169,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core",
"contains?","cljs.core/contains?",-976526835,null),new cljs.core.Symbol(null,"%","%",-950237169,null),new cljs.core.Keyword(null,"callsign-num","callsign-num",-1771041170))),cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"%","%",-950237169,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core","contains?","cljs.core/contains?",-976526835,null),new cljs.core.Symbol(null,
"%","%",-950237169,null),new cljs.core.Keyword(null,"refuel-quantity","refuel-quantity",-765272130)))],!0),null]))],null),null);
weathergen.falcon.files.mission.Carrier=cljs.spec.alpha.merge_spec_impl.call(null,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol("weathergen.falcon.files.mission","Unit","weathergen.falcon.files.mission/Unit",-1510668303,null),cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha","keys","cljs.spec.alpha/keys",1109346032,null),new cljs.core.Keyword(null,"req","req",-326448303),new cljs.core.PersistentVector(null,5,5,cljs.core.PersistentVector.EMPTY_NODE,
[new cljs.core.Keyword("weathergen.falcon.files.mission","location","weathergen.falcon.files.mission/location",125705122),new cljs.core.Keyword("weathergen.falcon.files.mission","status","weathergen.falcon.files.mission/status",667063917),new cljs.core.Keyword("weathergen.falcon.files.mission","squadrons","weathergen.falcon.files.mission/squadrons",47769110),new cljs.core.Keyword("weathergen.falcon.files.mission","image","weathergen.falcon.files.mission/image",-1683332210),new cljs.core.Keyword("weathergen.falcon.files.mission",
"name","weathergen.falcon.files.mission/name",1235339975)],null))],null),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[weathergen.falcon.files.mission.Unit,cljs.spec.alpha.map_spec_impl.call(null,cljs.core.PersistentHashMap.fromArrays([new cljs.core.Keyword(null,"req-un","req-un",1074571008),new cljs.core.Keyword(null,"opt-un","opt-un",883442496),new cljs.core.Keyword(null,"gfn","gfn",791517474),new cljs.core.Keyword(null,"pred-exprs","pred-exprs",1792271395),new cljs.core.Keyword(null,
"keys-pred","keys-pred",858984739),new cljs.core.Keyword(null,"opt-keys","opt-keys",1262688261),new cljs.core.Keyword(null,"req-specs","req-specs",553962313),new cljs.core.Keyword(null,"req","req",-326448303),new cljs.core.Keyword(null,"req-keys","req-keys",514319221),new cljs.core.Keyword(null,"opt-specs","opt-specs",-384905450),new cljs.core.Keyword(null,"pred-forms","pred-forms",172611832),new cljs.core.Keyword(null,"opt","opt",-794706369)],[null,null,null,new cljs.core.PersistentVector(null,6,
5,cljs.core.PersistentVector.EMPTY_NODE,[function(a){return cljs.core.map_QMARK_.call(null,a)},function(a){return cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword("weathergen.falcon.files.mission","location","weathergen.falcon.files.mission/location",125705122))},function(a){return cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword("weathergen.falcon.files.mission","status","weathergen.falcon.files.mission/status",667063917))},function(a){return cljs.core.contains_QMARK_.call(null,
a,new cljs.core.Keyword("weathergen.falcon.files.mission","squadrons","weathergen.falcon.files.mission/squadrons",47769110))},function(a){return cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword("weathergen.falcon.files.mission","image","weathergen.falcon.files.mission/image",-1683332210))},function(a){return cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword("weathergen.falcon.files.mission","name","weathergen.falcon.files.mission/name",1235339975))}],null),function(a){return cljs.core.map_QMARK_.call(null,
a)&&cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword("weathergen.falcon.files.mission","location","weathergen.falcon.files.mission/location",125705122))&&cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword("weathergen.falcon.files.mission","status","weathergen.falcon.files.mission/status",667063917))&&cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword("weathergen.falcon.files.mission","squadrons","weathergen.falcon.files.mission/squadrons",47769110))&&cljs.core.contains_QMARK_.call(null,
a,new cljs.core.Keyword("weathergen.falcon.files.mission","image","weathergen.falcon.files.mission/image",-1683332210))&&cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword("weathergen.falcon.files.mission","name","weathergen.falcon.files.mission/name",1235339975))},cljs.core.PersistentVector.EMPTY,new cljs.core.PersistentVector(null,5,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword("weathergen.falcon.files.mission","location","weathergen.falcon.files.mission/location",125705122),
new cljs.core.Keyword("weathergen.falcon.files.mission","status","weathergen.falcon.files.mission/status",667063917),new cljs.core.Keyword("weathergen.falcon.files.mission","squadrons","weathergen.falcon.files.mission/squadrons",47769110),new cljs.core.Keyword("weathergen.falcon.files.mission","image","weathergen.falcon.files.mission/image",-1683332210),new cljs.core.Keyword("weathergen.falcon.files.mission","name","weathergen.falcon.files.mission/name",1235339975)],null),new cljs.core.PersistentVector(null,
5,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword("weathergen.falcon.files.mission","location","weathergen.falcon.files.mission/location",125705122),new cljs.core.Keyword("weathergen.falcon.files.mission","status","weathergen.falcon.files.mission/status",667063917),new cljs.core.Keyword("weathergen.falcon.files.mission","squadrons","weathergen.falcon.files.mission/squadrons",47769110),new cljs.core.Keyword("weathergen.falcon.files.mission","image","weathergen.falcon.files.mission/image",
-1683332210),new cljs.core.Keyword("weathergen.falcon.files.mission","name","weathergen.falcon.files.mission/name",1235339975)],null),new cljs.core.PersistentVector(null,5,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword("weathergen.falcon.files.mission","location","weathergen.falcon.files.mission/location",125705122),new cljs.core.Keyword("weathergen.falcon.files.mission","status","weathergen.falcon.files.mission/status",667063917),new cljs.core.Keyword("weathergen.falcon.files.mission",
"squadrons","weathergen.falcon.files.mission/squadrons",47769110),new cljs.core.Keyword("weathergen.falcon.files.mission","image","weathergen.falcon.files.mission/image",-1683332210),new cljs.core.Keyword("weathergen.falcon.files.mission","name","weathergen.falcon.files.mission/name",1235339975)],null),cljs.core.PersistentVector.EMPTY,new cljs.core.PersistentVector(null,6,5,cljs.core.PersistentVector.EMPTY_NODE,[cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),
new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"%","%",-950237169,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core","map?","cljs.core/map?",-1390345523,null),new cljs.core.Symbol(null,"%","%",-950237169,null))),cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"%","%",-950237169,null)],null),
cljs.core.list(new cljs.core.Symbol("cljs.core","contains?","cljs.core/contains?",-976526835,null),new cljs.core.Symbol(null,"%","%",-950237169,null),new cljs.core.Keyword("weathergen.falcon.files.mission","location","weathergen.falcon.files.mission/location",125705122))),cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"%","%",-950237169,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core",
"contains?","cljs.core/contains?",-976526835,null),new cljs.core.Symbol(null,"%","%",-950237169,null),new cljs.core.Keyword("weathergen.falcon.files.mission","status","weathergen.falcon.files.mission/status",667063917))),cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"%","%",-950237169,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core","contains?",
"cljs.core/contains?",-976526835,null),new cljs.core.Symbol(null,"%","%",-950237169,null),new cljs.core.Keyword("weathergen.falcon.files.mission","squadrons","weathergen.falcon.files.mission/squadrons",47769110))),cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"%","%",-950237169,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core","contains?","cljs.core/contains?",
-976526835,null),new cljs.core.Symbol(null,"%","%",-950237169,null),new cljs.core.Keyword("weathergen.falcon.files.mission","image","weathergen.falcon.files.mission/image",-1683332210))),cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"%","%",-950237169,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core","contains?","cljs.core/contains?",-976526835,
null),new cljs.core.Symbol(null,"%","%",-950237169,null),new cljs.core.Keyword("weathergen.falcon.files.mission","name","weathergen.falcon.files.mission/name",1235339975)))],null),null]))],null),null);
weathergen.falcon.files.mission.ArmyBase=cljs.spec.alpha.merge_spec_impl.call(null,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol("weathergen.falcon.files.mission","AugmentedObjective","weathergen.falcon.files.mission/AugmentedObjective",1698727821,null),cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha","keys","cljs.spec.alpha/keys",1109346032,null),new cljs.core.Keyword(null,"req-un","req-un",1074571008),new cljs.core.PersistentVector(null,
23,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword("weathergen.falcon.files.mission","base-flags","weathergen.falcon.files.mission/base-flags",1559416842),new cljs.core.Keyword("weathergen.falcon.files.mission","camp-id","weathergen.falcon.files.mission/camp-id",413408440),new cljs.core.Keyword("weathergen.falcon.files.mission","entity-type","weathergen.falcon.files.mission/entity-type",-427082019),new cljs.core.Keyword("weathergen.falcon.files.mission","f-status","weathergen.falcon.files.mission/f-status",
-1947313271),new cljs.core.Keyword("weathergen.falcon.files.mission","first-owner","weathergen.falcon.files.mission/first-owner",-619274258),new cljs.core.Keyword("weathergen.falcon.files.mission","fuel","weathergen.falcon.files.mission/fuel",760787687),new cljs.core.Keyword("map","id","map/id",-1388423944),new cljs.core.Keyword("weathergen.falcon.files.mission","last-repair","weathergen.falcon.files.mission/last-repair",-1526954899),new cljs.core.Keyword("weathergen.falcon.files.mission","links",
"weathergen.falcon.files.mission/links",875727916),new cljs.core.Keyword("weathergen.falcon.files.mission","losses","weathergen.falcon.files.mission/losses",-1879114985),new cljs.core.Keyword("weathergen.falcon.files.mission","name-id","weathergen.falcon.files.mission/name-id",-1810014458),new cljs.core.Keyword("weathergen.falcon.files.mission","obj-flags","weathergen.falcon.files.mission/obj-flags",693464809),new cljs.core.Keyword("weathergen.falcon.files.mission","objective-type","weathergen.falcon.files.mission/objective-type",
343871032),new cljs.core.Keyword("weathergen.falcon.files.mission","owner","weathergen.falcon.files.mission/owner",1206032935),new cljs.core.Keyword("weathergen.falcon.files.mission","parent","weathergen.falcon.files.mission/parent",544339251),new cljs.core.Keyword("weathergen.falcon.files.mission","priority","weathergen.falcon.files.mission/priority",1887991877),new cljs.core.Keyword("weathergen.falcon.files.mission","radar-data","weathergen.falcon.files.mission/radar-data",1026796848),new cljs.core.Keyword("weathergen.falcon.files.mission",
"spot-time","weathergen.falcon.files.mission/spot-time",-1289121708),new cljs.core.Keyword("weathergen.falcon.files.mission","spotted","weathergen.falcon.files.mission/spotted",807895248),new cljs.core.Keyword("weathergen.falcon.files.mission","supply","weathergen.falcon.files.mission/supply",-45632963),new cljs.core.Keyword("weathergen.falcon.files.mission","x","weathergen.falcon.files.mission/x",-773377357),new cljs.core.Keyword("weathergen.falcon.files.mission","y","weathergen.falcon.files.mission/y",
-1199341078),new cljs.core.Keyword("weathergen.falcon.files.mission","z","weathergen.falcon.files.mission/z",908766951)],null),new cljs.core.Keyword(null,"req","req",-326448303),new cljs.core.PersistentVector(null,6,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword("weathergen.falcon.files.mission","features","weathergen.falcon.files.mission/features",534334694),new cljs.core.Keyword("weathergen.falcon.files.mission","image","weathergen.falcon.files.mission/image",-1683332210),new cljs.core.Keyword("weathergen.falcon.files.mission",
"location","weathergen.falcon.files.mission/location",125705122),new cljs.core.Keyword("weathergen.falcon.files.mission","name","weathergen.falcon.files.mission/name",1235339975),new cljs.core.Keyword("weathergen.falcon.files.mission","squadrons","weathergen.falcon.files.mission/squadrons",47769110),new cljs.core.Keyword("weathergen.falcon.files.mission","status","weathergen.falcon.files.mission/status",667063917)],null))],null),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,
[weathergen.falcon.files.mission.AugmentedObjective,cljs.spec.alpha.map_spec_impl.call(null,cljs.core.PersistentHashMap.fromArrays([new cljs.core.Keyword(null,"req-un","req-un",1074571008),new cljs.core.Keyword(null,"opt-un","opt-un",883442496),new cljs.core.Keyword(null,"gfn","gfn",791517474),new cljs.core.Keyword(null,"pred-exprs","pred-exprs",1792271395),new cljs.core.Keyword(null,"keys-pred","keys-pred",858984739),new cljs.core.Keyword(null,"opt-keys","opt-keys",1262688261),new cljs.core.Keyword(null,
"req-specs","req-specs",553962313),new cljs.core.Keyword(null,"req","req",-326448303),new cljs.core.Keyword(null,"req-keys","req-keys",514319221),new cljs.core.Keyword(null,"opt-specs","opt-specs",-384905450),new cljs.core.Keyword(null,"pred-forms","pred-forms",172611832),new cljs.core.Keyword(null,"opt","opt",-794706369)],[new cljs.core.PersistentVector(null,23,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword("weathergen.falcon.files.mission","base-flags","weathergen.falcon.files.mission/base-flags",
1559416842),new cljs.core.Keyword("weathergen.falcon.files.mission","camp-id","weathergen.falcon.files.mission/camp-id",413408440),new cljs.core.Keyword("weathergen.falcon.files.mission","entity-type","weathergen.falcon.files.mission/entity-type",-427082019),new cljs.core.Keyword("weathergen.falcon.files.mission","f-status","weathergen.falcon.files.mission/f-status",-1947313271),new cljs.core.Keyword("weathergen.falcon.files.mission","first-owner","weathergen.falcon.files.mission/first-owner",-619274258),
new cljs.core.Keyword("weathergen.falcon.files.mission","fuel","weathergen.falcon.files.mission/fuel",760787687),new cljs.core.Keyword("map","id","map/id",-1388423944),new cljs.core.Keyword("weathergen.falcon.files.mission","last-repair","weathergen.falcon.files.mission/last-repair",-1526954899),new cljs.core.Keyword("weathergen.falcon.files.mission","links","weathergen.falcon.files.mission/links",875727916),new cljs.core.Keyword("weathergen.falcon.files.mission","losses","weathergen.falcon.files.mission/losses",
-1879114985),new cljs.core.Keyword("weathergen.falcon.files.mission","name-id","weathergen.falcon.files.mission/name-id",-1810014458),new cljs.core.Keyword("weathergen.falcon.files.mission","obj-flags","weathergen.falcon.files.mission/obj-flags",693464809),new cljs.core.Keyword("weathergen.falcon.files.mission","objective-type","weathergen.falcon.files.mission/objective-type",343871032),new cljs.core.Keyword("weathergen.falcon.files.mission","owner","weathergen.falcon.files.mission/owner",1206032935),
new cljs.core.Keyword("weathergen.falcon.files.mission","parent","weathergen.falcon.files.mission/parent",544339251),new cljs.core.Keyword("weathergen.falcon.files.mission","priority","weathergen.falcon.files.mission/priority",1887991877),new cljs.core.Keyword("weathergen.falcon.files.mission","radar-data","weathergen.falcon.files.mission/radar-data",1026796848),new cljs.core.Keyword("weathergen.falcon.files.mission","spot-time","weathergen.falcon.files.mission/spot-time",-1289121708),new cljs.core.Keyword("weathergen.falcon.files.mission",
"spotted","weathergen.falcon.files.mission/spotted",807895248),new cljs.core.Keyword("weathergen.falcon.files.mission","supply","weathergen.falcon.files.mission/supply",-45632963),new cljs.core.Keyword("weathergen.falcon.files.mission","x","weathergen.falcon.files.mission/x",-773377357),new cljs.core.Keyword("weathergen.falcon.files.mission","y","weathergen.falcon.files.mission/y",-1199341078),new cljs.core.Keyword("weathergen.falcon.files.mission","z","weathergen.falcon.files.mission/z",908766951)],
null),null,null,new cljs.core.PersistentVector(null,30,5,cljs.core.PersistentVector.EMPTY_NODE,[function(a){return cljs.core.map_QMARK_.call(null,a)},function(a){return cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword("weathergen.falcon.files.mission","features","weathergen.falcon.files.mission/features",534334694))},function(a){return cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword("weathergen.falcon.files.mission","image","weathergen.falcon.files.mission/image",-1683332210))},
function(a){return cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword("weathergen.falcon.files.mission","location","weathergen.falcon.files.mission/location",125705122))},function(a){return cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword("weathergen.falcon.files.mission","name","weathergen.falcon.files.mission/name",1235339975))},function(a){return cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword("weathergen.falcon.files.mission","squadrons","weathergen.falcon.files.mission/squadrons",
47769110))},function(a){return cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword("weathergen.falcon.files.mission","status","weathergen.falcon.files.mission/status",667063917))},function(a){return cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"base-flags","base-flags",-1180150392))},function(a){return cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"camp-id","camp-id",618705690))},function(a){return cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,
"entity-type","entity-type",-1957300125))},function(a){return cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"f-status","f-status",782756103))},function(a){return cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"first-owner","first-owner",911218300))},function(a){return cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"fuel","fuel",10405485))},function(a){return cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"id","id",-1388402092))},
function(a){return cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"last-repair","last-repair",1138109175))},function(a){return cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"links","links",-654507394))},function(a){return cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"losses","losses",-189206407))},function(a){return cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"name-id","name-id",-279275372))},function(a){return cljs.core.contains_QMARK_.call(null,
a,new cljs.core.Keyword(null,"obj-flags","obj-flags",-864355993))},function(a){return cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"objective-type","objective-type",1907988670))},function(a){return cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"owner","owner",-392611939))},function(a){return cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"parent","parent",-878878779))},function(a){return cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,
"priority","priority",1431093715))},function(a){return cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"radar-data","radar-data",-2114904134))},function(a){return cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"spot-time","spot-time",644875706))},function(a){return cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"spotted","spotted",183372374))},function(a){return cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"supply","supply",
-1701696309))},function(a){return cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"x","x",2099068185))},function(a){return cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"y","y",-1757859776))},function(a){return cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"z","z",-789527183))}],null),function(a){return cljs.core.map_QMARK_.call(null,a)&&cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword("weathergen.falcon.files.mission","features","weathergen.falcon.files.mission/features",
534334694))&&cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword("weathergen.falcon.files.mission","image","weathergen.falcon.files.mission/image",-1683332210))&&cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword("weathergen.falcon.files.mission","location","weathergen.falcon.files.mission/location",125705122))&&cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword("weathergen.falcon.files.mission","name","weathergen.falcon.files.mission/name",1235339975))&&cljs.core.contains_QMARK_.call(null,
a,new cljs.core.Keyword("weathergen.falcon.files.mission","squadrons","weathergen.falcon.files.mission/squadrons",47769110))&&cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword("weathergen.falcon.files.mission","status","weathergen.falcon.files.mission/status",667063917))&&cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"base-flags","base-flags",-1180150392))&&cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"camp-id","camp-id",618705690))&&cljs.core.contains_QMARK_.call(null,
a,new cljs.core.Keyword(null,"entity-type","entity-type",-1957300125))&&cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"f-status","f-status",782756103))&&cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"first-owner","first-owner",911218300))&&cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"fuel","fuel",10405485))&&cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"id","id",-1388402092))&&cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,
"last-repair","last-repair",1138109175))&&cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"links","links",-654507394))&&cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"losses","losses",-189206407))&&cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"name-id","name-id",-279275372))&&cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"obj-flags","obj-flags",-864355993))&&cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,
"objective-type","objective-type",1907988670))&&cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"owner","owner",-392611939))&&cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"parent","parent",-878878779))&&cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"priority","priority",1431093715))&&cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"radar-data","radar-data",-2114904134))&&cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,
"spot-time","spot-time",644875706))&&cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"spotted","spotted",183372374))&&cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"supply","supply",-1701696309))&&cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"x","x",2099068185))&&cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"y","y",-1757859776))&&cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"z","z",-789527183))},cljs.core.PersistentVector.EMPTY,
new cljs.core.PersistentVector(null,29,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword("weathergen.falcon.files.mission","features","weathergen.falcon.files.mission/features",534334694),new cljs.core.Keyword("weathergen.falcon.files.mission","image","weathergen.falcon.files.mission/image",-1683332210),new cljs.core.Keyword("weathergen.falcon.files.mission","location","weathergen.falcon.files.mission/location",125705122),new cljs.core.Keyword("weathergen.falcon.files.mission","name",
"weathergen.falcon.files.mission/name",1235339975),new cljs.core.Keyword("weathergen.falcon.files.mission","squadrons","weathergen.falcon.files.mission/squadrons",47769110),new cljs.core.Keyword("weathergen.falcon.files.mission","status","weathergen.falcon.files.mission/status",667063917),new cljs.core.Keyword("weathergen.falcon.files.mission","base-flags","weathergen.falcon.files.mission/base-flags",1559416842),new cljs.core.Keyword("weathergen.falcon.files.mission","camp-id","weathergen.falcon.files.mission/camp-id",
413408440),new cljs.core.Keyword("weathergen.falcon.files.mission","entity-type","weathergen.falcon.files.mission/entity-type",-427082019),new cljs.core.Keyword("weathergen.falcon.files.mission","f-status","weathergen.falcon.files.mission/f-status",-1947313271),new cljs.core.Keyword("weathergen.falcon.files.mission","first-owner","weathergen.falcon.files.mission/first-owner",-619274258),new cljs.core.Keyword("weathergen.falcon.files.mission","fuel","weathergen.falcon.files.mission/fuel",760787687),
new cljs.core.Keyword("map","id","map/id",-1388423944),new cljs.core.Keyword("weathergen.falcon.files.mission","last-repair","weathergen.falcon.files.mission/last-repair",-1526954899),new cljs.core.Keyword("weathergen.falcon.files.mission","links","weathergen.falcon.files.mission/links",875727916),new cljs.core.Keyword("weathergen.falcon.files.mission","losses","weathergen.falcon.files.mission/losses",-1879114985),new cljs.core.Keyword("weathergen.falcon.files.mission","name-id","weathergen.falcon.files.mission/name-id",
-1810014458),new cljs.core.Keyword("weathergen.falcon.files.mission","obj-flags","weathergen.falcon.files.mission/obj-flags",693464809),new cljs.core.Keyword("weathergen.falcon.files.mission","objective-type","weathergen.falcon.files.mission/objective-type",343871032),new cljs.core.Keyword("weathergen.falcon.files.mission","owner","weathergen.falcon.files.mission/owner",1206032935),new cljs.core.Keyword("weathergen.falcon.files.mission","parent","weathergen.falcon.files.mission/parent",544339251),
new cljs.core.Keyword("weathergen.falcon.files.mission","priority","weathergen.falcon.files.mission/priority",1887991877),new cljs.core.Keyword("weathergen.falcon.files.mission","radar-data","weathergen.falcon.files.mission/radar-data",1026796848),new cljs.core.Keyword("weathergen.falcon.files.mission","spot-time","weathergen.falcon.files.mission/spot-time",-1289121708),new cljs.core.Keyword("weathergen.falcon.files.mission","spotted","weathergen.falcon.files.mission/spotted",807895248),new cljs.core.Keyword("weathergen.falcon.files.mission",
"supply","weathergen.falcon.files.mission/supply",-45632963),new cljs.core.Keyword("weathergen.falcon.files.mission","x","weathergen.falcon.files.mission/x",-773377357),new cljs.core.Keyword("weathergen.falcon.files.mission","y","weathergen.falcon.files.mission/y",-1199341078),new cljs.core.Keyword("weathergen.falcon.files.mission","z","weathergen.falcon.files.mission/z",908766951)],null),new cljs.core.PersistentVector(null,6,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword("weathergen.falcon.files.mission",
"features","weathergen.falcon.files.mission/features",534334694),new cljs.core.Keyword("weathergen.falcon.files.mission","image","weathergen.falcon.files.mission/image",-1683332210),new cljs.core.Keyword("weathergen.falcon.files.mission","location","weathergen.falcon.files.mission/location",125705122),new cljs.core.Keyword("weathergen.falcon.files.mission","name","weathergen.falcon.files.mission/name",1235339975),new cljs.core.Keyword("weathergen.falcon.files.mission","squadrons","weathergen.falcon.files.mission/squadrons",
47769110),new cljs.core.Keyword("weathergen.falcon.files.mission","status","weathergen.falcon.files.mission/status",667063917)],null),new cljs.core.PersistentVector(null,29,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword("weathergen.falcon.files.mission","features","weathergen.falcon.files.mission/features",534334694),new cljs.core.Keyword("weathergen.falcon.files.mission","image","weathergen.falcon.files.mission/image",-1683332210),new cljs.core.Keyword("weathergen.falcon.files.mission",
"location","weathergen.falcon.files.mission/location",125705122),new cljs.core.Keyword("weathergen.falcon.files.mission","name","weathergen.falcon.files.mission/name",1235339975),new cljs.core.Keyword("weathergen.falcon.files.mission","squadrons","weathergen.falcon.files.mission/squadrons",47769110),new cljs.core.Keyword("weathergen.falcon.files.mission","status","weathergen.falcon.files.mission/status",667063917),new cljs.core.Keyword(null,"base-flags","base-flags",-1180150392),new cljs.core.Keyword(null,
"camp-id","camp-id",618705690),new cljs.core.Keyword(null,"entity-type","entity-type",-1957300125),new cljs.core.Keyword(null,"f-status","f-status",782756103),new cljs.core.Keyword(null,"first-owner","first-owner",911218300),new cljs.core.Keyword(null,"fuel","fuel",10405485),new cljs.core.Keyword(null,"id","id",-1388402092),new cljs.core.Keyword(null,"last-repair","last-repair",1138109175),new cljs.core.Keyword(null,"links","links",-654507394),new cljs.core.Keyword(null,"losses","losses",-189206407),
new cljs.core.Keyword(null,"name-id","name-id",-279275372),new cljs.core.Keyword(null,"obj-flags","obj-flags",-864355993),new cljs.core.Keyword(null,"objective-type","objective-type",1907988670),new cljs.core.Keyword(null,"owner","owner",-392611939),new cljs.core.Keyword(null,"parent","parent",-878878779),new cljs.core.Keyword(null,"priority","priority",1431093715),new cljs.core.Keyword(null,"radar-data","radar-data",-2114904134),new cljs.core.Keyword(null,"spot-time","spot-time",644875706),new cljs.core.Keyword(null,
"spotted","spotted",183372374),new cljs.core.Keyword(null,"supply","supply",-1701696309),new cljs.core.Keyword(null,"x","x",2099068185),new cljs.core.Keyword(null,"y","y",-1757859776),new cljs.core.Keyword(null,"z","z",-789527183)],null),cljs.core.PersistentVector.EMPTY,new cljs.core.PersistentVector(null,30,5,cljs.core.PersistentVector.EMPTY_NODE,[cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,
[new cljs.core.Symbol(null,"%","%",-950237169,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core","map?","cljs.core/map?",-1390345523,null),new cljs.core.Symbol(null,"%","%",-950237169,null))),cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"%","%",-950237169,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core","contains?","cljs.core/contains?",
-976526835,null),new cljs.core.Symbol(null,"%","%",-950237169,null),new cljs.core.Keyword("weathergen.falcon.files.mission","features","weathergen.falcon.files.mission/features",534334694))),cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"%","%",-950237169,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core","contains?","cljs.core/contains?",-976526835,
null),new cljs.core.Symbol(null,"%","%",-950237169,null),new cljs.core.Keyword("weathergen.falcon.files.mission","image","weathergen.falcon.files.mission/image",-1683332210))),cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"%","%",-950237169,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core","contains?","cljs.core/contains?",-976526835,null),new cljs.core.Symbol(null,
"%","%",-950237169,null),new cljs.core.Keyword("weathergen.falcon.files.mission","location","weathergen.falcon.files.mission/location",125705122))),cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"%","%",-950237169,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core","contains?","cljs.core/contains?",-976526835,null),new cljs.core.Symbol(null,"%","%",
-950237169,null),new cljs.core.Keyword("weathergen.falcon.files.mission","name","weathergen.falcon.files.mission/name",1235339975))),cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"%","%",-950237169,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core","contains?","cljs.core/contains?",-976526835,null),new cljs.core.Symbol(null,"%","%",-950237169,null),
new cljs.core.Keyword("weathergen.falcon.files.mission","squadrons","weathergen.falcon.files.mission/squadrons",47769110))),cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"%","%",-950237169,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core","contains?","cljs.core/contains?",-976526835,null),new cljs.core.Symbol(null,"%","%",-950237169,null),new cljs.core.Keyword("weathergen.falcon.files.mission",
"status","weathergen.falcon.files.mission/status",667063917))),cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"%","%",-950237169,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core","contains?","cljs.core/contains?",-976526835,null),new cljs.core.Symbol(null,"%","%",-950237169,null),new cljs.core.Keyword(null,"base-flags","base-flags",-1180150392))),
cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"%","%",-950237169,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core","contains?","cljs.core/contains?",-976526835,null),new cljs.core.Symbol(null,"%","%",-950237169,null),new cljs.core.Keyword(null,"camp-id","camp-id",618705690))),cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",
-1065745098,null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"%","%",-950237169,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core","contains?","cljs.core/contains?",-976526835,null),new cljs.core.Symbol(null,"%","%",-950237169,null),new cljs.core.Keyword(null,"entity-type","entity-type",-1957300125))),cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null,1,5,
cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"%","%",-950237169,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core","contains?","cljs.core/contains?",-976526835,null),new cljs.core.Symbol(null,"%","%",-950237169,null),new cljs.core.Keyword(null,"f-status","f-status",782756103))),cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"%",
"%",-950237169,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core","contains?","cljs.core/contains?",-976526835,null),new cljs.core.Symbol(null,"%","%",-950237169,null),new cljs.core.Keyword(null,"first-owner","first-owner",911218300))),cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"%","%",-950237169,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core",
"contains?","cljs.core/contains?",-976526835,null),new cljs.core.Symbol(null,"%","%",-950237169,null),new cljs.core.Keyword(null,"fuel","fuel",10405485))),cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"%","%",-950237169,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core","contains?","cljs.core/contains?",-976526835,null),new cljs.core.Symbol(null,
"%","%",-950237169,null),new cljs.core.Keyword(null,"id","id",-1388402092))),cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"%","%",-950237169,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core","contains?","cljs.core/contains?",-976526835,null),new cljs.core.Symbol(null,"%","%",-950237169,null),new cljs.core.Keyword(null,"last-repair","last-repair",
1138109175))),cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"%","%",-950237169,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core","contains?","cljs.core/contains?",-976526835,null),new cljs.core.Symbol(null,"%","%",-950237169,null),new cljs.core.Keyword(null,"links","links",-654507394))),cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",
-1065745098,null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"%","%",-950237169,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core","contains?","cljs.core/contains?",-976526835,null),new cljs.core.Symbol(null,"%","%",-950237169,null),new cljs.core.Keyword(null,"losses","losses",-189206407))),cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,
[new cljs.core.Symbol(null,"%","%",-950237169,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core","contains?","cljs.core/contains?",-976526835,null),new cljs.core.Symbol(null,"%","%",-950237169,null),new cljs.core.Keyword(null,"name-id","name-id",-279275372))),cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"%","%",-950237169,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core",
"contains?","cljs.core/contains?",-976526835,null),new cljs.core.Symbol(null,"%","%",-950237169,null),new cljs.core.Keyword(null,"obj-flags","obj-flags",-864355993))),cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"%","%",-950237169,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core","contains?","cljs.core/contains?",-976526835,null),new cljs.core.Symbol(null,
"%","%",-950237169,null),new cljs.core.Keyword(null,"objective-type","objective-type",1907988670))),cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"%","%",-950237169,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core","contains?","cljs.core/contains?",-976526835,null),new cljs.core.Symbol(null,"%","%",-950237169,null),new cljs.core.Keyword(null,"owner",
"owner",-392611939))),cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"%","%",-950237169,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core","contains?","cljs.core/contains?",-976526835,null),new cljs.core.Symbol(null,"%","%",-950237169,null),new cljs.core.Keyword(null,"parent","parent",-878878779))),cljs.core.list(new cljs.core.Symbol("cljs.core",
"fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"%","%",-950237169,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core","contains?","cljs.core/contains?",-976526835,null),new cljs.core.Symbol(null,"%","%",-950237169,null),new cljs.core.Keyword(null,"priority","priority",1431093715))),cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null,
1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"%","%",-950237169,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core","contains?","cljs.core/contains?",-976526835,null),new cljs.core.Symbol(null,"%","%",-950237169,null),new cljs.core.Keyword(null,"radar-data","radar-data",-2114904134))),cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,
"%","%",-950237169,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core","contains?","cljs.core/contains?",-976526835,null),new cljs.core.Symbol(null,"%","%",-950237169,null),new cljs.core.Keyword(null,"spot-time","spot-time",644875706))),cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"%","%",-950237169,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core",
"contains?","cljs.core/contains?",-976526835,null),new cljs.core.Symbol(null,"%","%",-950237169,null),new cljs.core.Keyword(null,"spotted","spotted",183372374))),cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"%","%",-950237169,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core","contains?","cljs.core/contains?",-976526835,null),new cljs.core.Symbol(null,
"%","%",-950237169,null),new cljs.core.Keyword(null,"supply","supply",-1701696309))),cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"%","%",-950237169,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core","contains?","cljs.core/contains?",-976526835,null),new cljs.core.Symbol(null,"%","%",-950237169,null),new cljs.core.Keyword(null,"x","x",2099068185))),
cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"%","%",-950237169,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core","contains?","cljs.core/contains?",-976526835,null),new cljs.core.Symbol(null,"%","%",-950237169,null),new cljs.core.Keyword(null,"y","y",-1757859776))),cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,
null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"%","%",-950237169,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core","contains?","cljs.core/contains?",-976526835,null),new cljs.core.Symbol(null,"%","%",-950237169,null),new cljs.core.Keyword(null,"z","z",-789527183)))],null),null]))],null),null);
weathergen.falcon.files.mission.AugmentedFeature=cljs.spec.alpha.map_spec_impl.call(null,cljs.core.PersistentHashMap.fromArrays([new cljs.core.Keyword(null,"req-un","req-un",1074571008),new cljs.core.Keyword(null,"opt-un","opt-un",883442496),new cljs.core.Keyword(null,"gfn","gfn",791517474),new cljs.core.Keyword(null,"pred-exprs","pred-exprs",1792271395),new cljs.core.Keyword(null,"keys-pred","keys-pred",858984739),new cljs.core.Keyword(null,"opt-keys","opt-keys",1262688261),new cljs.core.Keyword(null,
"req-specs","req-specs",553962313),new cljs.core.Keyword(null,"req","req",-326448303),new cljs.core.Keyword(null,"req-keys","req-keys",514319221),new cljs.core.Keyword(null,"opt-specs","opt-specs",-384905450),new cljs.core.Keyword(null,"pred-forms","pred-forms",172611832),new cljs.core.Keyword(null,"opt","opt",-794706369)],[new cljs.core.PersistentVector(null,6,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword("weathergen.falcon.files.mission","entity-class","weathergen.falcon.files.mission/entity-class",
-208911345),new cljs.core.Keyword("weathergen.falcon.files.mission","facing","weathergen.falcon.files.mission/facing",566993313),new cljs.core.Keyword("weathergen.falcon.files.mission","flags","weathergen.falcon.files.mission/flags",-965167503),new cljs.core.Keyword("weathergen.falcon.files.mission","index","weathergen.falcon.files.mission/index",-1989089649),new cljs.core.Keyword("weathergen.falcon.files.mission","offset","weathergen.falcon.files.mission/offset",-1108759055),new cljs.core.Keyword("weathergen.falcon.files.mission",
"value","weathergen.falcon.files.mission/value",-1307089913)],null),null,null,new cljs.core.PersistentVector(null,10,5,cljs.core.PersistentVector.EMPTY_NODE,[function(a){return cljs.core.map_QMARK_.call(null,a)},function(a){return cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword("weathergen.falcon.files.mission","class-info","weathergen.falcon.files.mission/class-info",-1092492204))},function(a){return cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword("weathergen.falcon.files.mission",
"index","weathergen.falcon.files.mission/index",-1989089649))},function(a){return cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword("weathergen.falcon.files.mission","status","weathergen.falcon.files.mission/status",667063917))},function(a){return cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"entity-class","entity-class",-1906919579))},function(a){return cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"facing","facing",-854439413))},function(a){return cljs.core.contains_QMARK_.call(null,
a,new cljs.core.Keyword(null,"flags","flags",1775418075))},function(a){return cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"index","index",-1531685915))},function(a){return cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"offset","offset",296498311))},function(a){return cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"value","value",305978217))}],null),function(a){return cljs.core.map_QMARK_.call(null,a)&&cljs.core.contains_QMARK_.call(null,a,
new cljs.core.Keyword("weathergen.falcon.files.mission","class-info","weathergen.falcon.files.mission/class-info",-1092492204))&&cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword("weathergen.falcon.files.mission","index","weathergen.falcon.files.mission/index",-1989089649))&&cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword("weathergen.falcon.files.mission","status","weathergen.falcon.files.mission/status",667063917))&&cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,
"entity-class","entity-class",-1906919579))&&cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"facing","facing",-854439413))&&cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"flags","flags",1775418075))&&cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"index","index",-1531685915))&&cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"offset","offset",296498311))&&cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"value",
"value",305978217))},cljs.core.PersistentVector.EMPTY,new cljs.core.PersistentVector(null,9,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword("weathergen.falcon.files.mission","class-info","weathergen.falcon.files.mission/class-info",-1092492204),new cljs.core.Keyword("weathergen.falcon.files.mission","index","weathergen.falcon.files.mission/index",-1989089649),new cljs.core.Keyword("weathergen.falcon.files.mission","status","weathergen.falcon.files.mission/status",667063917),new cljs.core.Keyword("weathergen.falcon.files.mission",
"entity-class","weathergen.falcon.files.mission/entity-class",-208911345),new cljs.core.Keyword("weathergen.falcon.files.mission","facing","weathergen.falcon.files.mission/facing",566993313),new cljs.core.Keyword("weathergen.falcon.files.mission","flags","weathergen.falcon.files.mission/flags",-965167503),new cljs.core.Keyword("weathergen.falcon.files.mission","index","weathergen.falcon.files.mission/index",-1989089649),new cljs.core.Keyword("weathergen.falcon.files.mission","offset","weathergen.falcon.files.mission/offset",
-1108759055),new cljs.core.Keyword("weathergen.falcon.files.mission","value","weathergen.falcon.files.mission/value",-1307089913)],null),new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword("weathergen.falcon.files.mission","class-info","weathergen.falcon.files.mission/class-info",-1092492204),new cljs.core.Keyword("weathergen.falcon.files.mission","index","weathergen.falcon.files.mission/index",-1989089649),new cljs.core.Keyword("weathergen.falcon.files.mission",
"status","weathergen.falcon.files.mission/status",667063917)],null),new cljs.core.PersistentVector(null,9,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword("weathergen.falcon.files.mission","class-info","weathergen.falcon.files.mission/class-info",-1092492204),new cljs.core.Keyword("weathergen.falcon.files.mission","index","weathergen.falcon.files.mission/index",-1989089649),new cljs.core.Keyword("weathergen.falcon.files.mission","status","weathergen.falcon.files.mission/status",667063917),
new cljs.core.Keyword(null,"entity-class","entity-class",-1906919579),new cljs.core.Keyword(null,"facing","facing",-854439413),new cljs.core.Keyword(null,"flags","flags",1775418075),new cljs.core.Keyword(null,"index","index",-1531685915),new cljs.core.Keyword(null,"offset","offset",296498311),new cljs.core.Keyword(null,"value","value",305978217)],null),cljs.core.PersistentVector.EMPTY,new cljs.core.PersistentVector(null,10,5,cljs.core.PersistentVector.EMPTY_NODE,[cljs.core.list(new cljs.core.Symbol("cljs.core",
"fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"%","%",-950237169,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core","map?","cljs.core/map?",-1390345523,null),new cljs.core.Symbol(null,"%","%",-950237169,null))),cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,
"%","%",-950237169,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core","contains?","cljs.core/contains?",-976526835,null),new cljs.core.Symbol(null,"%","%",-950237169,null),new cljs.core.Keyword("weathergen.falcon.files.mission","class-info","weathergen.falcon.files.mission/class-info",-1092492204))),cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,
"%","%",-950237169,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core","contains?","cljs.core/contains?",-976526835,null),new cljs.core.Symbol(null,"%","%",-950237169,null),new cljs.core.Keyword("weathergen.falcon.files.mission","index","weathergen.falcon.files.mission/index",-1989089649))),cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"%","%",-950237169,
null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core","contains?","cljs.core/contains?",-976526835,null),new cljs.core.Symbol(null,"%","%",-950237169,null),new cljs.core.Keyword("weathergen.falcon.files.mission","status","weathergen.falcon.files.mission/status",667063917))),cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"%","%",-950237169,null)],null),
cljs.core.list(new cljs.core.Symbol("cljs.core","contains?","cljs.core/contains?",-976526835,null),new cljs.core.Symbol(null,"%","%",-950237169,null),new cljs.core.Keyword(null,"entity-class","entity-class",-1906919579))),cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"%","%",-950237169,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core","contains?",
"cljs.core/contains?",-976526835,null),new cljs.core.Symbol(null,"%","%",-950237169,null),new cljs.core.Keyword(null,"facing","facing",-854439413))),cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"%","%",-950237169,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core","contains?","cljs.core/contains?",-976526835,null),new cljs.core.Symbol(null,"%",
"%",-950237169,null),new cljs.core.Keyword(null,"flags","flags",1775418075))),cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"%","%",-950237169,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core","contains?","cljs.core/contains?",-976526835,null),new cljs.core.Symbol(null,"%","%",-950237169,null),new cljs.core.Keyword(null,"index","index",-1531685915))),
cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"%","%",-950237169,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core","contains?","cljs.core/contains?",-976526835,null),new cljs.core.Symbol(null,"%","%",-950237169,null),new cljs.core.Keyword(null,"offset","offset",296498311))),cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,
null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"%","%",-950237169,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core","contains?","cljs.core/contains?",-976526835,null),new cljs.core.Symbol(null,"%","%",-950237169,null),new cljs.core.Keyword(null,"value","value",305978217)))],null),null]));
weathergen.falcon.files.mission.PrePlannedThreat=cljs.spec.alpha.map_spec_impl.call(null,cljs.core.PersistentHashMap.fromArrays([new cljs.core.Keyword(null,"req-un","req-un",1074571008),new cljs.core.Keyword(null,"opt-un","opt-un",883442496),new cljs.core.Keyword(null,"gfn","gfn",791517474),new cljs.core.Keyword(null,"pred-exprs","pred-exprs",1792271395),new cljs.core.Keyword(null,"keys-pred","keys-pred",858984739),new cljs.core.Keyword(null,"opt-keys","opt-keys",1262688261),new cljs.core.Keyword(null,
"req-specs","req-specs",553962313),new cljs.core.Keyword(null,"req","req",-326448303),new cljs.core.Keyword(null,"req-keys","req-keys",514319221),new cljs.core.Keyword(null,"opt-specs","opt-specs",-384905450),new cljs.core.Keyword(null,"pred-forms","pred-forms",172611832),new cljs.core.Keyword(null,"opt","opt",-794706369)],[new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword("ppt","id","ppt/id",-1388419136),new cljs.core.Keyword("weathergen.falcon.files.mission",
"radius-ft","weathergen.falcon.files.mission/radius-ft",-870066270),new cljs.core.Keyword("weathergen.falcon.files.mission","description","weathergen.falcon.files.mission/description",-1977659382)],null),null,null,new cljs.core.PersistentVector(null,4,5,cljs.core.PersistentVector.EMPTY_NODE,[function(a){return cljs.core.map_QMARK_.call(null,a)},function(a){return cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"id","id",-1388402092))},function(a){return cljs.core.contains_QMARK_.call(null,
a,new cljs.core.Keyword(null,"radius-ft","radius-ft",1860060448))},function(a){return cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"description","description",-1428560544))}],null),function(a){return cljs.core.map_QMARK_.call(null,a)&&cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"id","id",-1388402092))&&cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"radius-ft","radius-ft",1860060448))&&cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,
"description","description",-1428560544))},cljs.core.PersistentVector.EMPTY,new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword("ppt","id","ppt/id",-1388419136),new cljs.core.Keyword("weathergen.falcon.files.mission","radius-ft","weathergen.falcon.files.mission/radius-ft",-870066270),new cljs.core.Keyword("weathergen.falcon.files.mission","description","weathergen.falcon.files.mission/description",-1977659382)],null),null,new cljs.core.PersistentVector(null,
3,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"id","id",-1388402092),new cljs.core.Keyword(null,"radius-ft","radius-ft",1860060448),new cljs.core.Keyword(null,"description","description",-1428560544)],null),cljs.core.PersistentVector.EMPTY,new cljs.core.PersistentVector(null,4,5,cljs.core.PersistentVector.EMPTY_NODE,[cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,
[new cljs.core.Symbol(null,"%","%",-950237169,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core","map?","cljs.core/map?",-1390345523,null),new cljs.core.Symbol(null,"%","%",-950237169,null))),cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"%","%",-950237169,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core","contains?","cljs.core/contains?",
-976526835,null),new cljs.core.Symbol(null,"%","%",-950237169,null),new cljs.core.Keyword(null,"id","id",-1388402092))),cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"%","%",-950237169,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core","contains?","cljs.core/contains?",-976526835,null),new cljs.core.Symbol(null,"%","%",-950237169,null),new cljs.core.Keyword(null,
"radius-ft","radius-ft",1860060448))),cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"%","%",-950237169,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core","contains?","cljs.core/contains?",-976526835,null),new cljs.core.Symbol(null,"%","%",-950237169,null),new cljs.core.Keyword(null,"description","description",-1428560544)))],null),null]));
weathergen.falcon.files.mission.ScenarioFiles=cljs.spec.alpha.map_spec_impl.call(null,cljs.core.PersistentHashMap.fromArrays([new cljs.core.Keyword(null,"req-un","req-un",1074571008),new cljs.core.Keyword(null,"opt-un","opt-un",883442496),new cljs.core.Keyword(null,"gfn","gfn",791517474),new cljs.core.Keyword(null,"pred-exprs","pred-exprs",1792271395),new cljs.core.Keyword(null,"keys-pred","keys-pred",858984739),new cljs.core.Keyword(null,"opt-keys","opt-keys",1262688261),new cljs.core.Keyword(null,
"req-specs","req-specs",553962313),new cljs.core.Keyword(null,"req","req",-326448303),new cljs.core.Keyword(null,"req-keys","req-keys",514319221),new cljs.core.Keyword(null,"opt-specs","opt-specs",-384905450),new cljs.core.Keyword(null,"pred-forms","pred-forms",172611832),new cljs.core.Keyword(null,"opt","opt",-794706369)],[new cljs.core.PersistentVector(null,11,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword("weathergen.falcon.files.mission","campaign-info","weathergen.falcon.files.mission/campaign-info",
-1580589140),new cljs.core.Keyword("weathergen.falcon.files.mission","persistent-objects","weathergen.falcon.files.mission/persistent-objects",1801379401),new cljs.core.Keyword("weathergen.falcon.files.mission","events","weathergen.falcon.files.mission/events",-945665921),new cljs.core.Keyword("weathergen.falcon.files.mission","teams","weathergen.falcon.files.mission/teams",-1060301368),new cljs.core.Keyword("weathergen.falcon.files.mission","objective-deltas","weathergen.falcon.files.mission/objective-deltas",
-955174707),new cljs.core.Keyword("raw","objectives","raw/objectives",934056205),new cljs.core.Keyword("weathergen.falcon.files.mission","victory-conditions","weathergen.falcon.files.mission/victory-conditions",-320186067),new cljs.core.Keyword("weathergen.falcon.files.mission","weather","weathergen.falcon.files.mission/weather",-1294003106),new cljs.core.Keyword("weathergen.falcon.files.mission","units","weathergen.falcon.files.mission/units",-1082709161),new cljs.core.Keyword("weathergen.falcon.files.mission",
"version","weathergen.falcon.files.mission/version",926320952),new cljs.core.Keyword("weathergen.falcon.files.mission","pilots","weathergen.falcon.files.mission/pilots",835455703)],null),null,null,new cljs.core.PersistentVector(null,12,5,cljs.core.PersistentVector.EMPTY_NODE,[function(a){return cljs.core.map_QMARK_.call(null,a)},function(a){return cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"campaign-info","campaign-info",1158908966))},function(a){return cljs.core.contains_QMARK_.call(null,
a,new cljs.core.Keyword(null,"persistent-objects","persistent-objects",137656263))},function(a){return cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"events","events",1792552201))},function(a){return cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"teams","teams",1677714510))},function(a){return cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"objective-deltas","objective-deltas",710518611))},function(a){return cljs.core.contains_QMARK_.call(null,
a,new cljs.core.Keyword(null,"objectives","objectives",933939509))},function(a){return cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"victory-conditions","victory-conditions",-1943285833))},function(a){return cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"weather","weather",1320452344))},function(a){return cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"units","units",-533089095))},function(a){return cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,
"version","version",425292698))},function(a){return cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"pilots","pilots",353525853))}],null),function(a){return cljs.core.map_QMARK_.call(null,a)&&cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"campaign-info","campaign-info",1158908966))&&cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"persistent-objects","persistent-objects",137656263))&&cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,
"events","events",1792552201))&&cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"teams","teams",1677714510))&&cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"objective-deltas","objective-deltas",710518611))&&cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"objectives","objectives",933939509))&&cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"victory-conditions","victory-conditions",-1943285833))&&cljs.core.contains_QMARK_.call(null,
a,new cljs.core.Keyword(null,"weather","weather",1320452344))&&cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"units","units",-533089095))&&cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"version","version",425292698))&&cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"pilots","pilots",353525853))},cljs.core.PersistentVector.EMPTY,new cljs.core.PersistentVector(null,11,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword("weathergen.falcon.files.mission",
"campaign-info","weathergen.falcon.files.mission/campaign-info",-1580589140),new cljs.core.Keyword("weathergen.falcon.files.mission","persistent-objects","weathergen.falcon.files.mission/persistent-objects",1801379401),new cljs.core.Keyword("weathergen.falcon.files.mission","events","weathergen.falcon.files.mission/events",-945665921),new cljs.core.Keyword("weathergen.falcon.files.mission","teams","weathergen.falcon.files.mission/teams",-1060301368),new cljs.core.Keyword("weathergen.falcon.files.mission",
"objective-deltas","weathergen.falcon.files.mission/objective-deltas",-955174707),new cljs.core.Keyword("raw","objectives","raw/objectives",934056205),new cljs.core.Keyword("weathergen.falcon.files.mission","victory-conditions","weathergen.falcon.files.mission/victory-conditions",-320186067),new cljs.core.Keyword("weathergen.falcon.files.mission","weather","weathergen.falcon.files.mission/weather",-1294003106),new cljs.core.Keyword("weathergen.falcon.files.mission","units","weathergen.falcon.files.mission/units",
-1082709161),new cljs.core.Keyword("weathergen.falcon.files.mission","version","weathergen.falcon.files.mission/version",926320952),new cljs.core.Keyword("weathergen.falcon.files.mission","pilots","weathergen.falcon.files.mission/pilots",835455703)],null),null,new cljs.core.PersistentVector(null,11,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"campaign-info","campaign-info",1158908966),new cljs.core.Keyword(null,"persistent-objects","persistent-objects",137656263),new cljs.core.Keyword(null,
"events","events",1792552201),new cljs.core.Keyword(null,"teams","teams",1677714510),new cljs.core.Keyword(null,"objective-deltas","objective-deltas",710518611),new cljs.core.Keyword(null,"objectives","objectives",933939509),new cljs.core.Keyword(null,"victory-conditions","victory-conditions",-1943285833),new cljs.core.Keyword(null,"weather","weather",1320452344),new cljs.core.Keyword(null,"units","units",-533089095),new cljs.core.Keyword(null,"version","version",425292698),new cljs.core.Keyword(null,
"pilots","pilots",353525853)],null),cljs.core.PersistentVector.EMPTY,new cljs.core.PersistentVector(null,12,5,cljs.core.PersistentVector.EMPTY_NODE,[cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"%","%",-950237169,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core","map?","cljs.core/map?",-1390345523,null),new cljs.core.Symbol(null,"%","%",-950237169,
null))),cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"%","%",-950237169,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core","contains?","cljs.core/contains?",-976526835,null),new cljs.core.Symbol(null,"%","%",-950237169,null),new cljs.core.Keyword(null,"campaign-info","campaign-info",1158908966))),cljs.core.list(new cljs.core.Symbol("cljs.core",
"fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"%","%",-950237169,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core","contains?","cljs.core/contains?",-976526835,null),new cljs.core.Symbol(null,"%","%",-950237169,null),new cljs.core.Keyword(null,"persistent-objects","persistent-objects",137656263))),cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null,
1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"%","%",-950237169,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core","contains?","cljs.core/contains?",-976526835,null),new cljs.core.Symbol(null,"%","%",-950237169,null),new cljs.core.Keyword(null,"events","events",1792552201))),cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,
"%","%",-950237169,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core","contains?","cljs.core/contains?",-976526835,null),new cljs.core.Symbol(null,"%","%",-950237169,null),new cljs.core.Keyword(null,"teams","teams",1677714510))),cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"%","%",-950237169,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core",
"contains?","cljs.core/contains?",-976526835,null),new cljs.core.Symbol(null,"%","%",-950237169,null),new cljs.core.Keyword(null,"objective-deltas","objective-deltas",710518611))),cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"%","%",-950237169,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core","contains?","cljs.core/contains?",-976526835,null),
new cljs.core.Symbol(null,"%","%",-950237169,null),new cljs.core.Keyword(null,"objectives","objectives",933939509))),cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"%","%",-950237169,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core","contains?","cljs.core/contains?",-976526835,null),new cljs.core.Symbol(null,"%","%",-950237169,null),new cljs.core.Keyword(null,
"victory-conditions","victory-conditions",-1943285833))),cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"%","%",-950237169,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core","contains?","cljs.core/contains?",-976526835,null),new cljs.core.Symbol(null,"%","%",-950237169,null),new cljs.core.Keyword(null,"weather","weather",1320452344))),cljs.core.list(new cljs.core.Symbol("cljs.core",
"fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"%","%",-950237169,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core","contains?","cljs.core/contains?",-976526835,null),new cljs.core.Symbol(null,"%","%",-950237169,null),new cljs.core.Keyword(null,"units","units",-533089095))),cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null,
1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"%","%",-950237169,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core","contains?","cljs.core/contains?",-976526835,null),new cljs.core.Symbol(null,"%","%",-950237169,null),new cljs.core.Keyword(null,"version","version",425292698))),cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,
"%","%",-950237169,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core","contains?","cljs.core/contains?",-976526835,null),new cljs.core.Symbol(null,"%","%",-950237169,null),new cljs.core.Keyword(null,"pilots","pilots",353525853)))],null),null]));
weathergen.falcon.files.mission.Mission=cljs.spec.alpha.map_spec_impl.call(null,cljs.core.PersistentHashMap.fromArrays([new cljs.core.Keyword(null,"req-un","req-un",1074571008),new cljs.core.Keyword(null,"opt-un","opt-un",883442496),new cljs.core.Keyword(null,"gfn","gfn",791517474),new cljs.core.Keyword(null,"pred-exprs","pred-exprs",1792271395),new cljs.core.Keyword(null,"keys-pred","keys-pred",858984739),new cljs.core.Keyword(null,"opt-keys","opt-keys",1262688261),new cljs.core.Keyword(null,"req-specs",
"req-specs",553962313),new cljs.core.Keyword(null,"req","req",-326448303),new cljs.core.Keyword(null,"req-keys","req-keys",514319221),new cljs.core.Keyword(null,"opt-specs","opt-specs",-384905450),new cljs.core.Keyword(null,"pred-forms","pred-forms",172611832),new cljs.core.Keyword(null,"opt","opt",-794706369)],[new cljs.core.PersistentVector(null,31,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword("weathergen.falcon.files.mission","campaign-info","weathergen.falcon.files.mission/campaign-info",
-1580589140),new cljs.core.Keyword("weathergen.falcon.files.mission","candidate-installs","weathergen.falcon.files.mission/candidate-installs",1684264007),new cljs.core.Keyword("weathergen.falcon.files.mission","class-table","weathergen.falcon.files.mission/class-table",-1856555830),new cljs.core.Keyword("weathergen.falcon.files.mission","events","weathergen.falcon.files.mission/events",-945665921),new cljs.core.Keyword("weathergen.falcon.files.mission","feature-class-data","weathergen.falcon.files.mission/feature-class-data",
794598458),new cljs.core.Keyword("weathergen.falcon.files.mission","feature-entry-data","weathergen.falcon.files.mission/feature-entry-data",-693978767),new cljs.core.Keyword("weathergen.falcon.files.mission","image-ids","weathergen.falcon.files.mission/image-ids",2141950065),new cljs.core.Keyword("weathergen.falcon.files.mission","installation","weathergen.falcon.files.mission/installation",-656616400),new cljs.core.Keyword("weathergen.falcon.files.mission","installs","weathergen.falcon.files.mission/installs",
-318791777),new cljs.core.Keyword("weathergen.falcon.files.mission","map-image","weathergen.falcon.files.mission/map-image",-1703634500),new cljs.core.Keyword("weathergen.falcon.files.mission","mission-name","weathergen.falcon.files.mission/mission-name",-1286039680),new cljs.core.Keyword("weathergen.falcon.files.mission","names","weathergen.falcon.files.mission/names",658607436),new cljs.core.Keyword("weathergen.falcon.files.mission","objective-class-data","weathergen.falcon.files.mission/objective-class-data",
-488267802),new cljs.core.Keyword("weathergen.falcon.files.mission","objective-deltas","weathergen.falcon.files.mission/objective-deltas",-955174707),new cljs.core.Keyword("raw","objectives","raw/objectives",934056205),new cljs.core.Keyword("weathergen.falcon.files.mission","path","weathergen.falcon.files.mission/path",-771299386),new cljs.core.Keyword("weathergen.falcon.files.mission","persistent-objects","weathergen.falcon.files.mission/persistent-objects",1801379401),new cljs.core.Keyword("weathergen.falcon.files.mission",
"pilots","weathergen.falcon.files.mission/pilots",835455703),new cljs.core.Keyword("weathergen.falcon.files.mission","point-header-data","weathergen.falcon.files.mission/point-header-data",-561631475),new cljs.core.Keyword("weathergen.falcon.files.mission","ppt-data","weathergen.falcon.files.mission/ppt-data",58417629),new cljs.core.Keyword("weathergen.falcon.files.mission","primary-objectives","weathergen.falcon.files.mission/primary-objectives",725299083),new cljs.core.Keyword("weathergen.falcon.files.mission",
"scenario-files","weathergen.falcon.files.mission/scenario-files",-132892628),new cljs.core.Keyword("weathergen.falcon.files.mission","strings","weathergen.falcon.files.mission/strings",-524118625),new cljs.core.Keyword("weathergen.falcon.files.mission","teams","weathergen.falcon.files.mission/teams",-1060301368),new cljs.core.Keyword("weathergen.falcon.files.mission","theater","weathergen.falcon.files.mission/theater",892682177),new cljs.core.Keyword("weathergen.falcon.files.mission","unit-class-data",
"weathergen.falcon.files.mission/unit-class-data",-341212057),new cljs.core.Keyword("weathergen.falcon.files.mission","units","weathergen.falcon.files.mission/units",-1082709161),new cljs.core.Keyword("weathergen.falcon.files.mission","user-ids","weathergen.falcon.files.mission/user-ids",2086909600),new cljs.core.Keyword("weathergen.falcon.files.mission","vehicle-class-data","weathergen.falcon.files.mission/vehicle-class-data",-131845879),new cljs.core.Keyword("weathergen.falcon.files.mission","version",
"weathergen.falcon.files.mission/version",926320952),new cljs.core.Keyword("weathergen.falcon.files.mission","weapon-class-data","weathergen.falcon.files.mission/weapon-class-data",-1245893783)],null),null,null,cljs.core.PersistentVector.fromArray([function(a){return cljs.core.map_QMARK_.call(null,a)},function(a){return cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword("weathergen.falcon.files.mission","airbases","weathergen.falcon.files.mission/airbases",-216602213))},function(a){return cljs.core.contains_QMARK_.call(null,
a,new cljs.core.Keyword("weathergen.falcon.files.mission","army-bases","weathergen.falcon.files.mission/army-bases",-1064227486))},function(a){return cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword("weathergen.falcon.files.mission","carriers","weathergen.falcon.files.mission/carriers",1286085937))},function(a){return cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword("weathergen.falcon.files.mission","flights","weathergen.falcon.files.mission/flights",-1943609790))},function(a){return cljs.core.contains_QMARK_.call(null,
a,new cljs.core.Keyword("weathergen.falcon.files.mission","objectives","weathergen.falcon.files.mission/objectives",410009507))},function(a){return cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword("weathergen.falcon.files.mission","squadrons","weathergen.falcon.files.mission/squadrons",47769110))},function(a){return cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword("weathergen.falcon.files.mission","weapons","weathergen.falcon.files.mission/weapons",-176268464))},function(a){return cljs.core.contains_QMARK_.call(null,
a,new cljs.core.Keyword(null,"campaign-info","campaign-info",1158908966))},function(a){return cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"candidate-installs","candidate-installs",1512655313))},function(a){return cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"class-table","class-table",207400992))},function(a){return cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"events","events",1792552201))},function(a){return cljs.core.contains_QMARK_.call(null,
a,new cljs.core.Keyword(null,"feature-class-data","feature-class-data",-794349644))},function(a){return cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"feature-entry-data","feature-entry-data",-87481893))},function(a){return cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"image-ids","image-ids",-529925649))},function(a){return cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"installation","installation",943147954))},function(a){return cljs.core.contains_QMARK_.call(null,
a,new cljs.core.Keyword(null,"installs","installs",-915592927))},function(a){return cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"map-image","map-image",-5560498))},function(a){return cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"mission-name","mission-name",1479736582))},function(a){return cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"names","names",-1943074658))},function(a){return cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,
"objective-class-data","objective-class-data",-2036255156))},function(a){return cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"objective-deltas","objective-deltas",710518611))},function(a){return cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"objectives","objectives",933939509))},function(a){return cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"path","path",-188191168))},function(a){return cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,
"persistent-objects","persistent-objects",137656263))},function(a){return cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"pilots","pilots",353525853))},function(a){return cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"point-header-data","point-header-data",2108405911))},function(a){return cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"ppt-data","ppt-data",-1749164693))},function(a){return cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,
"primary-objectives","primary-objectives",-2010039039))},function(a){return cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"scenario-files","scenario-files",-1697993090))},function(a){return cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"strings","strings",-2055406807))},function(a){return cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"teams","teams",1677714510))},function(a){return cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,
"theater","theater",258922071))},function(a){return cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"unit-class-data","unit-class-data",2122324209))},function(a){return cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"units","units",-533089095))},function(a){return cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"user-ids","user-ids",-652076250))},function(a){return cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"vehicle-class-data",
"vehicle-class-data",1666024339))},function(a){return cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"version","version",425292698))},function(a){return cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"weapon-class-data","weapon-class-data",-1828241433))}],!0),function(a){return cljs.core.map_QMARK_.call(null,a)&&cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword("weathergen.falcon.files.mission","airbases","weathergen.falcon.files.mission/airbases",-216602213))&&
cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword("weathergen.falcon.files.mission","army-bases","weathergen.falcon.files.mission/army-bases",-1064227486))&&cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword("weathergen.falcon.files.mission","carriers","weathergen.falcon.files.mission/carriers",1286085937))&&cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword("weathergen.falcon.files.mission","flights","weathergen.falcon.files.mission/flights",-1943609790))&&cljs.core.contains_QMARK_.call(null,
a,new cljs.core.Keyword("weathergen.falcon.files.mission","objectives","weathergen.falcon.files.mission/objectives",410009507))&&cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword("weathergen.falcon.files.mission","squadrons","weathergen.falcon.files.mission/squadrons",47769110))&&cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword("weathergen.falcon.files.mission","weapons","weathergen.falcon.files.mission/weapons",-176268464))&&cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,
"campaign-info","campaign-info",1158908966))&&cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"candidate-installs","candidate-installs",1512655313))&&cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"class-table","class-table",207400992))&&cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"events","events",1792552201))&&cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"feature-class-data","feature-class-data",-794349644))&&cljs.core.contains_QMARK_.call(null,
a,new cljs.core.Keyword(null,"feature-entry-data","feature-entry-data",-87481893))&&cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"image-ids","image-ids",-529925649))&&cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"installation","installation",943147954))&&cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"installs","installs",-915592927))&&cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"map-image","map-image",-5560498))&&cljs.core.contains_QMARK_.call(null,
a,new cljs.core.Keyword(null,"mission-name","mission-name",1479736582))&&cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"names","names",-1943074658))&&cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"objective-class-data","objective-class-data",-2036255156))&&cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"objective-deltas","objective-deltas",710518611))&&cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"objectives","objectives",
933939509))&&cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"path","path",-188191168))&&cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"persistent-objects","persistent-objects",137656263))&&cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"pilots","pilots",353525853))&&cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"point-header-data","point-header-data",2108405911))&&cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,
"ppt-data","ppt-data",-1749164693))&&cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"primary-objectives","primary-objectives",-2010039039))&&cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"scenario-files","scenario-files",-1697993090))&&cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"strings","strings",-2055406807))&&cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"teams","teams",1677714510))&&cljs.core.contains_QMARK_.call(null,
a,new cljs.core.Keyword(null,"theater","theater",258922071))&&cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"unit-class-data","unit-class-data",2122324209))&&cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"units","units",-533089095))&&cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"user-ids","user-ids",-652076250))&&cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"vehicle-class-data","vehicle-class-data",1666024339))&&cljs.core.contains_QMARK_.call(null,
a,new cljs.core.Keyword(null,"version","version",425292698))&&cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"weapon-class-data","weapon-class-data",-1828241433))},cljs.core.PersistentVector.EMPTY,cljs.core.PersistentVector.fromArray([new cljs.core.Keyword("weathergen.falcon.files.mission","airbases","weathergen.falcon.files.mission/airbases",-216602213),new cljs.core.Keyword("weathergen.falcon.files.mission","army-bases","weathergen.falcon.files.mission/army-bases",-1064227486),
new cljs.core.Keyword("weathergen.falcon.files.mission","carriers","weathergen.falcon.files.mission/carriers",1286085937),new cljs.core.Keyword("weathergen.falcon.files.mission","flights","weathergen.falcon.files.mission/flights",-1943609790),new cljs.core.Keyword("weathergen.falcon.files.mission","objectives","weathergen.falcon.files.mission/objectives",410009507),new cljs.core.Keyword("weathergen.falcon.files.mission","squadrons","weathergen.falcon.files.mission/squadrons",47769110),new cljs.core.Keyword("weathergen.falcon.files.mission",
"weapons","weathergen.falcon.files.mission/weapons",-176268464),new cljs.core.Keyword("weathergen.falcon.files.mission","campaign-info","weathergen.falcon.files.mission/campaign-info",-1580589140),new cljs.core.Keyword("weathergen.falcon.files.mission","candidate-installs","weathergen.falcon.files.mission/candidate-installs",1684264007),new cljs.core.Keyword("weathergen.falcon.files.mission","class-table","weathergen.falcon.files.mission/class-table",-1856555830),new cljs.core.Keyword("weathergen.falcon.files.mission",
"events","weathergen.falcon.files.mission/events",-945665921),new cljs.core.Keyword("weathergen.falcon.files.mission","feature-class-data","weathergen.falcon.files.mission/feature-class-data",794598458),new cljs.core.Keyword("weathergen.falcon.files.mission","feature-entry-data","weathergen.falcon.files.mission/feature-entry-data",-693978767),new cljs.core.Keyword("weathergen.falcon.files.mission","image-ids","weathergen.falcon.files.mission/image-ids",2141950065),new cljs.core.Keyword("weathergen.falcon.files.mission",
"installation","weathergen.falcon.files.mission/installation",-656616400),new cljs.core.Keyword("weathergen.falcon.files.mission","installs","weathergen.falcon.files.mission/installs",-318791777),new cljs.core.Keyword("weathergen.falcon.files.mission","map-image","weathergen.falcon.files.mission/map-image",-1703634500),new cljs.core.Keyword("weathergen.falcon.files.mission","mission-name","weathergen.falcon.files.mission/mission-name",-1286039680),new cljs.core.Keyword("weathergen.falcon.files.mission",
"names","weathergen.falcon.files.mission/names",658607436),new cljs.core.Keyword("weathergen.falcon.files.mission","objective-class-data","weathergen.falcon.files.mission/objective-class-data",-488267802),new cljs.core.Keyword("weathergen.falcon.files.mission","objective-deltas","weathergen.falcon.files.mission/objective-deltas",-955174707),new cljs.core.Keyword("raw","objectives","raw/objectives",934056205),new cljs.core.Keyword("weathergen.falcon.files.mission","path","weathergen.falcon.files.mission/path",
-771299386),new cljs.core.Keyword("weathergen.falcon.files.mission","persistent-objects","weathergen.falcon.files.mission/persistent-objects",1801379401),new cljs.core.Keyword("weathergen.falcon.files.mission","pilots","weathergen.falcon.files.mission/pilots",835455703),new cljs.core.Keyword("weathergen.falcon.files.mission","point-header-data","weathergen.falcon.files.mission/point-header-data",-561631475),new cljs.core.Keyword("weathergen.falcon.files.mission","ppt-data","weathergen.falcon.files.mission/ppt-data",
58417629),new cljs.core.Keyword("weathergen.falcon.files.mission","primary-objectives","weathergen.falcon.files.mission/primary-objectives",725299083),new cljs.core.Keyword("weathergen.falcon.files.mission","scenario-files","weathergen.falcon.files.mission/scenario-files",-132892628),new cljs.core.Keyword("weathergen.falcon.files.mission","strings","weathergen.falcon.files.mission/strings",-524118625),new cljs.core.Keyword("weathergen.falcon.files.mission","teams","weathergen.falcon.files.mission/teams",
-1060301368),new cljs.core.Keyword("weathergen.falcon.files.mission","theater","weathergen.falcon.files.mission/theater",892682177),new cljs.core.Keyword("weathergen.falcon.files.mission","unit-class-data","weathergen.falcon.files.mission/unit-class-data",-341212057),new cljs.core.Keyword("weathergen.falcon.files.mission","units","weathergen.falcon.files.mission/units",-1082709161),new cljs.core.Keyword("weathergen.falcon.files.mission","user-ids","weathergen.falcon.files.mission/user-ids",2086909600),
new cljs.core.Keyword("weathergen.falcon.files.mission","vehicle-class-data","weathergen.falcon.files.mission/vehicle-class-data",-131845879),new cljs.core.Keyword("weathergen.falcon.files.mission","version","weathergen.falcon.files.mission/version",926320952),new cljs.core.Keyword("weathergen.falcon.files.mission","weapon-class-data","weathergen.falcon.files.mission/weapon-class-data",-1245893783)],!0),new cljs.core.PersistentVector(null,7,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword("weathergen.falcon.files.mission",
"airbases","weathergen.falcon.files.mission/airbases",-216602213),new cljs.core.Keyword("weathergen.falcon.files.mission","army-bases","weathergen.falcon.files.mission/army-bases",-1064227486),new cljs.core.Keyword("weathergen.falcon.files.mission","carriers","weathergen.falcon.files.mission/carriers",1286085937),new cljs.core.Keyword("weathergen.falcon.files.mission","flights","weathergen.falcon.files.mission/flights",-1943609790),new cljs.core.Keyword("weathergen.falcon.files.mission","objectives",
"weathergen.falcon.files.mission/objectives",410009507),new cljs.core.Keyword("weathergen.falcon.files.mission","squadrons","weathergen.falcon.files.mission/squadrons",47769110),new cljs.core.Keyword("weathergen.falcon.files.mission","weapons","weathergen.falcon.files.mission/weapons",-176268464)],null),cljs.core.PersistentVector.fromArray([new cljs.core.Keyword("weathergen.falcon.files.mission","airbases","weathergen.falcon.files.mission/airbases",-216602213),new cljs.core.Keyword("weathergen.falcon.files.mission",
"army-bases","weathergen.falcon.files.mission/army-bases",-1064227486),new cljs.core.Keyword("weathergen.falcon.files.mission","carriers","weathergen.falcon.files.mission/carriers",1286085937),new cljs.core.Keyword("weathergen.falcon.files.mission","flights","weathergen.falcon.files.mission/flights",-1943609790),new cljs.core.Keyword("weathergen.falcon.files.mission","objectives","weathergen.falcon.files.mission/objectives",410009507),new cljs.core.Keyword("weathergen.falcon.files.mission","squadrons",
"weathergen.falcon.files.mission/squadrons",47769110),new cljs.core.Keyword("weathergen.falcon.files.mission","weapons","weathergen.falcon.files.mission/weapons",-176268464),new cljs.core.Keyword(null,"campaign-info","campaign-info",1158908966),new cljs.core.Keyword(null,"candidate-installs","candidate-installs",1512655313),new cljs.core.Keyword(null,"class-table","class-table",207400992),new cljs.core.Keyword(null,"events","events",1792552201),new cljs.core.Keyword(null,"feature-class-data","feature-class-data",
-794349644),new cljs.core.Keyword(null,"feature-entry-data","feature-entry-data",-87481893),new cljs.core.Keyword(null,"image-ids","image-ids",-529925649),new cljs.core.Keyword(null,"installation","installation",943147954),new cljs.core.Keyword(null,"installs","installs",-915592927),new cljs.core.Keyword(null,"map-image","map-image",-5560498),new cljs.core.Keyword(null,"mission-name","mission-name",1479736582),new cljs.core.Keyword(null,"names","names",-1943074658),new cljs.core.Keyword(null,"objective-class-data",
"objective-class-data",-2036255156),new cljs.core.Keyword(null,"objective-deltas","objective-deltas",710518611),new cljs.core.Keyword(null,"objectives","objectives",933939509),new cljs.core.Keyword(null,"path","path",-188191168),new cljs.core.Keyword(null,"persistent-objects","persistent-objects",137656263),new cljs.core.Keyword(null,"pilots","pilots",353525853),new cljs.core.Keyword(null,"point-header-data","point-header-data",2108405911),new cljs.core.Keyword(null,"ppt-data","ppt-data",-1749164693),
new cljs.core.Keyword(null,"primary-objectives","primary-objectives",-2010039039),new cljs.core.Keyword(null,"scenario-files","scenario-files",-1697993090),new cljs.core.Keyword(null,"strings","strings",-2055406807),new cljs.core.Keyword(null,"teams","teams",1677714510),new cljs.core.Keyword(null,"theater","theater",258922071),new cljs.core.Keyword(null,"unit-class-data","unit-class-data",2122324209),new cljs.core.Keyword(null,"units","units",-533089095),new cljs.core.Keyword(null,"user-ids","user-ids",
-652076250),new cljs.core.Keyword(null,"vehicle-class-data","vehicle-class-data",1666024339),new cljs.core.Keyword(null,"version","version",425292698),new cljs.core.Keyword(null,"weapon-class-data","weapon-class-data",-1828241433)],!0),cljs.core.PersistentVector.EMPTY,cljs.core.PersistentVector.fromArray([cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"%",
"%",-950237169,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core","map?","cljs.core/map?",-1390345523,null),new cljs.core.Symbol(null,"%","%",-950237169,null))),cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"%","%",-950237169,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core","contains?","cljs.core/contains?",-976526835,null),new cljs.core.Symbol(null,
"%","%",-950237169,null),new cljs.core.Keyword("weathergen.falcon.files.mission","airbases","weathergen.falcon.files.mission/airbases",-216602213))),cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"%","%",-950237169,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core","contains?","cljs.core/contains?",-976526835,null),new cljs.core.Symbol(null,"%",
"%",-950237169,null),new cljs.core.Keyword("weathergen.falcon.files.mission","army-bases","weathergen.falcon.files.mission/army-bases",-1064227486))),cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"%","%",-950237169,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core","contains?","cljs.core/contains?",-976526835,null),new cljs.core.Symbol(null,"%",
"%",-950237169,null),new cljs.core.Keyword("weathergen.falcon.files.mission","carriers","weathergen.falcon.files.mission/carriers",1286085937))),cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"%","%",-950237169,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core","contains?","cljs.core/contains?",-976526835,null),new cljs.core.Symbol(null,"%","%",
-950237169,null),new cljs.core.Keyword("weathergen.falcon.files.mission","flights","weathergen.falcon.files.mission/flights",-1943609790))),cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"%","%",-950237169,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core","contains?","cljs.core/contains?",-976526835,null),new cljs.core.Symbol(null,"%","%",-950237169,
null),new cljs.core.Keyword("weathergen.falcon.files.mission","objectives","weathergen.falcon.files.mission/objectives",410009507))),cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"%","%",-950237169,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core","contains?","cljs.core/contains?",-976526835,null),new cljs.core.Symbol(null,"%","%",-950237169,null),
new cljs.core.Keyword("weathergen.falcon.files.mission","squadrons","weathergen.falcon.files.mission/squadrons",47769110))),cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"%","%",-950237169,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core","contains?","cljs.core/contains?",-976526835,null),new cljs.core.Symbol(null,"%","%",-950237169,null),new cljs.core.Keyword("weathergen.falcon.files.mission",
"weapons","weathergen.falcon.files.mission/weapons",-176268464))),cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"%","%",-950237169,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core","contains?","cljs.core/contains?",-976526835,null),new cljs.core.Symbol(null,"%","%",-950237169,null),new cljs.core.Keyword(null,"campaign-info","campaign-info",1158908966))),
cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"%","%",-950237169,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core","contains?","cljs.core/contains?",-976526835,null),new cljs.core.Symbol(null,"%","%",-950237169,null),new cljs.core.Keyword(null,"candidate-installs","candidate-installs",1512655313))),cljs.core.list(new cljs.core.Symbol("cljs.core",
"fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"%","%",-950237169,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core","contains?","cljs.core/contains?",-976526835,null),new cljs.core.Symbol(null,"%","%",-950237169,null),new cljs.core.Keyword(null,"class-table","class-table",207400992))),cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null,
1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"%","%",-950237169,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core","contains?","cljs.core/contains?",-976526835,null),new cljs.core.Symbol(null,"%","%",-950237169,null),new cljs.core.Keyword(null,"events","events",1792552201))),cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,
"%","%",-950237169,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core","contains?","cljs.core/contains?",-976526835,null),new cljs.core.Symbol(null,"%","%",-950237169,null),new cljs.core.Keyword(null,"feature-class-data","feature-class-data",-794349644))),cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"%","%",-950237169,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core",
"contains?","cljs.core/contains?",-976526835,null),new cljs.core.Symbol(null,"%","%",-950237169,null),new cljs.core.Keyword(null,"feature-entry-data","feature-entry-data",-87481893))),cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"%","%",-950237169,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core","contains?","cljs.core/contains?",-976526835,null),
new cljs.core.Symbol(null,"%","%",-950237169,null),new cljs.core.Keyword(null,"image-ids","image-ids",-529925649))),cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"%","%",-950237169,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core","contains?","cljs.core/contains?",-976526835,null),new cljs.core.Symbol(null,"%","%",-950237169,null),new cljs.core.Keyword(null,
"installation","installation",943147954))),cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"%","%",-950237169,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core","contains?","cljs.core/contains?",-976526835,null),new cljs.core.Symbol(null,"%","%",-950237169,null),new cljs.core.Keyword(null,"installs","installs",-915592927))),cljs.core.list(new cljs.core.Symbol("cljs.core",
"fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"%","%",-950237169,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core","contains?","cljs.core/contains?",-976526835,null),new cljs.core.Symbol(null,"%","%",-950237169,null),new cljs.core.Keyword(null,"map-image","map-image",-5560498))),cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null,
1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"%","%",-950237169,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core","contains?","cljs.core/contains?",-976526835,null),new cljs.core.Symbol(null,"%","%",-950237169,null),new cljs.core.Keyword(null,"mission-name","mission-name",1479736582))),cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,
"%","%",-950237169,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core","contains?","cljs.core/contains?",-976526835,null),new cljs.core.Symbol(null,"%","%",-950237169,null),new cljs.core.Keyword(null,"names","names",-1943074658))),cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"%","%",-950237169,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core",
"contains?","cljs.core/contains?",-976526835,null),new cljs.core.Symbol(null,"%","%",-950237169,null),new cljs.core.Keyword(null,"objective-class-data","objective-class-data",-2036255156))),cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"%","%",-950237169,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core","contains?","cljs.core/contains?",-976526835,
null),new cljs.core.Symbol(null,"%","%",-950237169,null),new cljs.core.Keyword(null,"objective-deltas","objective-deltas",710518611))),cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"%","%",-950237169,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core","contains?","cljs.core/contains?",-976526835,null),new cljs.core.Symbol(null,"%","%",-950237169,
null),new cljs.core.Keyword(null,"objectives","objectives",933939509))),cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"%","%",-950237169,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core","contains?","cljs.core/contains?",-976526835,null),new cljs.core.Symbol(null,"%","%",-950237169,null),new cljs.core.Keyword(null,"path","path",-188191168))),cljs.core.list(new cljs.core.Symbol("cljs.core",
"fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"%","%",-950237169,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core","contains?","cljs.core/contains?",-976526835,null),new cljs.core.Symbol(null,"%","%",-950237169,null),new cljs.core.Keyword(null,"persistent-objects","persistent-objects",137656263))),cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null,
1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"%","%",-950237169,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core","contains?","cljs.core/contains?",-976526835,null),new cljs.core.Symbol(null,"%","%",-950237169,null),new cljs.core.Keyword(null,"pilots","pilots",353525853))),cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"%",
"%",-950237169,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core","contains?","cljs.core/contains?",-976526835,null),new cljs.core.Symbol(null,"%","%",-950237169,null),new cljs.core.Keyword(null,"point-header-data","point-header-data",2108405911))),cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"%","%",-950237169,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core",
"contains?","cljs.core/contains?",-976526835,null),new cljs.core.Symbol(null,"%","%",-950237169,null),new cljs.core.Keyword(null,"ppt-data","ppt-data",-1749164693))),cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"%","%",-950237169,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core","contains?","cljs.core/contains?",-976526835,null),new cljs.core.Symbol(null,
"%","%",-950237169,null),new cljs.core.Keyword(null,"primary-objectives","primary-objectives",-2010039039))),cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"%","%",-950237169,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core","contains?","cljs.core/contains?",-976526835,null),new cljs.core.Symbol(null,"%","%",-950237169,null),new cljs.core.Keyword(null,
"scenario-files","scenario-files",-1697993090))),cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"%","%",-950237169,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core","contains?","cljs.core/contains?",-976526835,null),new cljs.core.Symbol(null,"%","%",-950237169,null),new cljs.core.Keyword(null,"strings","strings",-2055406807))),cljs.core.list(new cljs.core.Symbol("cljs.core",
"fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"%","%",-950237169,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core","contains?","cljs.core/contains?",-976526835,null),new cljs.core.Symbol(null,"%","%",-950237169,null),new cljs.core.Keyword(null,"teams","teams",1677714510))),cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null,
1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"%","%",-950237169,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core","contains?","cljs.core/contains?",-976526835,null),new cljs.core.Symbol(null,"%","%",-950237169,null),new cljs.core.Keyword(null,"theater","theater",258922071))),cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,
"%","%",-950237169,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core","contains?","cljs.core/contains?",-976526835,null),new cljs.core.Symbol(null,"%","%",-950237169,null),new cljs.core.Keyword(null,"unit-class-data","unit-class-data",2122324209))),cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"%","%",-950237169,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core",
"contains?","cljs.core/contains?",-976526835,null),new cljs.core.Symbol(null,"%","%",-950237169,null),new cljs.core.Keyword(null,"units","units",-533089095))),cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"%","%",-950237169,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core","contains?","cljs.core/contains?",-976526835,null),new cljs.core.Symbol(null,
"%","%",-950237169,null),new cljs.core.Keyword(null,"user-ids","user-ids",-652076250))),cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"%","%",-950237169,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core","contains?","cljs.core/contains?",-976526835,null),new cljs.core.Symbol(null,"%","%",-950237169,null),new cljs.core.Keyword(null,"vehicle-class-data",
"vehicle-class-data",1666024339))),cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"%","%",-950237169,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core","contains?","cljs.core/contains?",-976526835,null),new cljs.core.Symbol(null,"%","%",-950237169,null),new cljs.core.Keyword(null,"version","version",425292698))),cljs.core.list(new cljs.core.Symbol("cljs.core",
"fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"%","%",-950237169,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core","contains?","cljs.core/contains?",-976526835,null),new cljs.core.Symbol(null,"%","%",-950237169,null),new cljs.core.Keyword(null,"weapon-class-data","weapon-class-data",-1828241433)))],!0),null]));
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","3d-data-dir","weathergen.falcon.files.mission/3d-data-dir",429028580),new cljs.core.Symbol("weathergen.falcon.files.mission","Dir","weathergen.falcon.files.mission/Dir",490740314,null),weathergen.falcon.files.mission.Dir);
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","aobj","weathergen.falcon.files.mission/aobj",1970877845),new cljs.core.Symbol("weathergen.falcon.files.mission","VuId","weathergen.falcon.files.mission/VuId",675489086,null),weathergen.falcon.files.mission.VuId);
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","action","weathergen.falcon.files.mission/action",811270626),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null),cljs.core.integer_QMARK_);
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","action-type","weathergen.falcon.files.mission/action-type",523180133),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null),cljs.core.integer_QMARK_);
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","active-team","weathergen.falcon.files.mission/active-team",1728013424),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null),cljs.core.integer_QMARK_);
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","airbase","weathergen.falcon.files.mission/airbase",-1926407441),cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha","keys","cljs.spec.alpha/keys",1109346032,null),new cljs.core.Keyword(null,"req-un","req-un",1074571008),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword("weathergen.falcon.files.mission","name","weathergen.falcon.files.mission/name",1235339975)],
null)),cljs.spec.alpha.map_spec_impl.call(null,cljs.core.PersistentHashMap.fromArrays([new cljs.core.Keyword(null,"req-un","req-un",1074571008),new cljs.core.Keyword(null,"opt-un","opt-un",883442496),new cljs.core.Keyword(null,"gfn","gfn",791517474),new cljs.core.Keyword(null,"pred-exprs","pred-exprs",1792271395),new cljs.core.Keyword(null,"keys-pred","keys-pred",858984739),new cljs.core.Keyword(null,"opt-keys","opt-keys",1262688261),new cljs.core.Keyword(null,"req-specs","req-specs",553962313),new cljs.core.Keyword(null,
"req","req",-326448303),new cljs.core.Keyword(null,"req-keys","req-keys",514319221),new cljs.core.Keyword(null,"opt-specs","opt-specs",-384905450),new cljs.core.Keyword(null,"pred-forms","pred-forms",172611832),new cljs.core.Keyword(null,"opt","opt",-794706369)],[new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword("weathergen.falcon.files.mission","name","weathergen.falcon.files.mission/name",1235339975)],null),null,null,new cljs.core.PersistentVector(null,
2,5,cljs.core.PersistentVector.EMPTY_NODE,[function(a){return cljs.core.map_QMARK_.call(null,a)},function(a){return cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"name","name",1843675177))}],null),function(a){return cljs.core.map_QMARK_.call(null,a)&&cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"name","name",1843675177))},cljs.core.PersistentVector.EMPTY,new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword("weathergen.falcon.files.mission",
"name","weathergen.falcon.files.mission/name",1235339975)],null),null,new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"name","name",1843675177)],null),cljs.core.PersistentVector.EMPTY,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,
"%","%",-950237169,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core","map?","cljs.core/map?",-1390345523,null),new cljs.core.Symbol(null,"%","%",-950237169,null))),cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"%","%",-950237169,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core","contains?","cljs.core/contains?",-976526835,null),new cljs.core.Symbol(null,
"%","%",-950237169,null),new cljs.core.Keyword(null,"name","name",1843675177)))],null),null])));
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("atm","airbases","atm/airbases",-1847920213),cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha","coll-of","cljs.spec.alpha/coll-of",1019430407,null),new cljs.core.Symbol("weathergen.falcon.files.mission","AtmAirbase","weathergen.falcon.files.mission/AtmAirbase",673437630,null)),cljs.spec.alpha.every_impl.call(null,new cljs.core.Symbol(null,"AtmAirbase","AtmAirbase",-949597628,null),weathergen.falcon.files.mission.AtmAirbase,new cljs.core.PersistentArrayMap(null,
4,[new cljs.core.Keyword("cljs.spec.alpha","kind-form","cljs.spec.alpha/kind-form",-1047104697),null,new cljs.core.Keyword("cljs.spec.alpha","cpred","cljs.spec.alpha/cpred",-693471218),function(a){return cljs.core.coll_QMARK_.call(null,a)},new cljs.core.Keyword("cljs.spec.alpha","conform-all","cljs.spec.alpha/conform-all",45201917),!0,new cljs.core.Keyword("cljs.spec.alpha","describe","cljs.spec.alpha/describe",1883026911),cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha","coll-of","cljs.spec.alpha/coll-of",
1019430407,null),new cljs.core.Symbol("weathergen.falcon.files.mission","AtmAirbase","weathergen.falcon.files.mission/AtmAirbase",673437630,null))],null),null));cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("team-status","airbases","team-status/airbases",-1222024125),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null),cljs.core.integer_QMARK_);
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","airbases","weathergen.falcon.files.mission/airbases",-216602213),cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha","coll-of","cljs.spec.alpha/coll-of",1019430407,null),new cljs.core.Symbol("weathergen.falcon.files.mission","Airbase","weathergen.falcon.files.mission/Airbase",-61491421,null)),cljs.spec.alpha.every_impl.call(null,new cljs.core.Symbol(null,"Airbase","Airbase",-1851249227,null),weathergen.falcon.files.mission.Airbase,
new cljs.core.PersistentArrayMap(null,4,[new cljs.core.Keyword("cljs.spec.alpha","kind-form","cljs.spec.alpha/kind-form",-1047104697),null,new cljs.core.Keyword("cljs.spec.alpha","cpred","cljs.spec.alpha/cpred",-693471218),function(a){return cljs.core.coll_QMARK_.call(null,a)},new cljs.core.Keyword("cljs.spec.alpha","conform-all","cljs.spec.alpha/conform-all",45201917),!0,new cljs.core.Keyword("cljs.spec.alpha","describe","cljs.spec.alpha/describe",1883026911),cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha",
"coll-of","cljs.spec.alpha/coll-of",1019430407,null),new cljs.core.Symbol("weathergen.falcon.files.mission","Airbase","weathergen.falcon.files.mission/Airbase",-61491421,null))],null),null));cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","airbase-icon","weathergen.falcon.files.mission/airbase-icon",1415673734),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null),cljs.core.integer_QMARK_);
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","airbase-name","weathergen.falcon.files.mission/airbase-name",-2098077019),new cljs.core.Symbol("cljs.core","string?","cljs.core/string?",-2072921719,null),cljs.core.string_QMARK_);
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","air-defense-experience","weathergen.falcon.files.mission/air-defense-experience",-1228097350),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null),cljs.core.integer_QMARK_);
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","air-defense-ratio","weathergen.falcon.files.mission/air-defense-ratio",-305792757),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null),cljs.core.integer_QMARK_);
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","air-defence-vehicles","weathergen.falcon.files.mission/air-defence-vehicles",-605031380),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null),cljs.core.integer_QMARK_);
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","air-experience","weathergen.falcon.files.mission/air-experience",345384539),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null),cljs.core.integer_QMARK_);
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","air-ratio","weathergen.falcon.files.mission/air-ratio",-803395640),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null),cljs.core.integer_QMARK_);
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","aircraft","weathergen.falcon.files.mission/aircraft",774567258),new cljs.core.Symbol("weathergen.falcon.files.mission","Aircraft","weathergen.falcon.files.mission/Aircraft",432298506,null),weathergen.falcon.files.mission.Aircraft);
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("team-status","aircraft","team-status/aircraft",1766946818),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null),cljs.core.integer_QMARK_);cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","airframe","weathergen.falcon.files.mission/airframe",201933592),new cljs.core.Symbol("cljs.core","string?","cljs.core/string?",-2072921719,null),cljs.core.string_QMARK_);
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","angle","weathergen.falcon.files.mission/angle",-1008427980),new cljs.core.Symbol("cljs.core","number?","cljs.core/number?",-811857295,null),cljs.core.number_QMARK_);
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","arrive","weathergen.falcon.files.mission/arrive",1398022348),new cljs.core.Symbol("weathergen.falcon.files.mission","CampaignTime","weathergen.falcon.files.mission/CampaignTime",1868159822,null),weathergen.falcon.files.mission.CampaignTime);
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","army-bases","weathergen.falcon.files.mission/army-bases",-1064227486),cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha","coll-of","cljs.spec.alpha/coll-of",1019430407,null),new cljs.core.Symbol("weathergen.falcon.files.mission","ArmyBase","weathergen.falcon.files.mission/ArmyBase",1192530680,null)),cljs.spec.alpha.every_impl.call(null,new cljs.core.Symbol(null,"ArmyBase","ArmyBase",-462874270,null),weathergen.falcon.files.mission.ArmyBase,
new cljs.core.PersistentArrayMap(null,4,[new cljs.core.Keyword("cljs.spec.alpha","kind-form","cljs.spec.alpha/kind-form",-1047104697),null,new cljs.core.Keyword("cljs.spec.alpha","cpred","cljs.spec.alpha/cpred",-693471218),function(a){return cljs.core.coll_QMARK_.call(null,a)},new cljs.core.Keyword("cljs.spec.alpha","conform-all","cljs.spec.alpha/conform-all",45201917),!0,new cljs.core.Keyword("cljs.spec.alpha","describe","cljs.spec.alpha/describe",1883026911),cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha",
"coll-of","cljs.spec.alpha/coll-of",1019430407,null),new cljs.core.Symbol("weathergen.falcon.files.mission","ArmyBase","weathergen.falcon.files.mission/ArmyBase",1192530680,null))],null),null));cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","art-dir","weathergen.falcon.files.mission/art-dir",-1496408552),new cljs.core.Symbol("weathergen.falcon.files.mission","Dir","weathergen.falcon.files.mission/Dir",490740314,null),weathergen.falcon.files.mission.Dir);
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","average-ca-missions","weathergen.falcon.files.mission/average-ca-missions",1997160792),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null),cljs.core.integer_QMARK_);
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","average-ca-strength","weathergen.falcon.files.mission/average-ca-strength",467672813),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null),cljs.core.integer_QMARK_);
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","base","weathergen.falcon.files.mission/base",525716432),new cljs.core.Symbol("weathergen.falcon.files.mission","Path","weathergen.falcon.files.mission/Path",1128596705,null),weathergen.falcon.files.mission.Path);
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","base-flags","weathergen.falcon.files.mission/base-flags",1559416842),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null),cljs.core.integer_QMARK_);
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","bitmap","weathergen.falcon.files.mission/bitmap",-1726823552),new cljs.core.Symbol("weathergen.falcon.files.mission","Path","weathergen.falcon.files.mission/Path",1128596705,null),weathergen.falcon.files.mission.Path);
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","blast-radius","weathergen.falcon.files.mission/blast-radius",-893643496),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null),cljs.core.integer_QMARK_);
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","bonus-objs","weathergen.falcon.files.mission/bonus-objs",-1995519651),cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha","coll-of","cljs.spec.alpha/coll-of",1019430407,null),new cljs.core.Symbol("weathergen.falcon.files.mission","VuId","weathergen.falcon.files.mission/VuId",675489086,null),new cljs.core.Keyword(null,"count","count",2139924085),20),cljs.spec.alpha.every_impl.call(null,new cljs.core.Symbol(null,
"VuId","VuId",-684085580,null),weathergen.falcon.files.mission.VuId,new cljs.core.PersistentArrayMap(null,5,[new cljs.core.Keyword("cljs.spec.alpha","kind-form","cljs.spec.alpha/kind-form",-1047104697),null,new cljs.core.Keyword("cljs.spec.alpha","cpred","cljs.spec.alpha/cpred",-693471218),function(a){return cljs.core.coll_QMARK_.call(null,a)&&cljs.core._EQ_.call(null,20,cljs.core.bounded_count.call(null,20,a))},new cljs.core.Keyword(null,"count","count",2139924085),20,new cljs.core.Keyword("cljs.spec.alpha",
"conform-all","cljs.spec.alpha/conform-all",45201917),!0,new cljs.core.Keyword("cljs.spec.alpha","describe","cljs.spec.alpha/describe",1883026911),cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha","coll-of","cljs.spec.alpha/coll-of",1019430407,null),new cljs.core.Symbol("weathergen.falcon.files.mission","VuId","weathergen.falcon.files.mission/VuId",675489086,null),new cljs.core.Keyword(null,"count","count",2139924085),20)],null),null));
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","bonus-time","weathergen.falcon.files.mission/bonus-time",-1522245018),cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha","coll-of","cljs.spec.alpha/coll-of",1019430407,null),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null),new cljs.core.Keyword(null,"count","count",2139924085),20),cljs.spec.alpha.every_impl.call(null,new cljs.core.Symbol(null,"integer?","integer?",1303791671,
null),cljs.core.integer_QMARK_,new cljs.core.PersistentArrayMap(null,5,[new cljs.core.Keyword("cljs.spec.alpha","kind-form","cljs.spec.alpha/kind-form",-1047104697),null,new cljs.core.Keyword("cljs.spec.alpha","cpred","cljs.spec.alpha/cpred",-693471218),function(a){return cljs.core.coll_QMARK_.call(null,a)&&cljs.core._EQ_.call(null,20,cljs.core.bounded_count.call(null,20,a))},new cljs.core.Keyword(null,"count","count",2139924085),20,new cljs.core.Keyword("cljs.spec.alpha","conform-all","cljs.spec.alpha/conform-all",
45201917),!0,new cljs.core.Keyword("cljs.spec.alpha","describe","cljs.spec.alpha/describe",1883026911),cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha","coll-of","cljs.spec.alpha/coll-of",1019430407,null),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null),new cljs.core.Keyword(null,"count","count",2139924085),20)],null),null));
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","brief","weathergen.falcon.files.mission/brief",1702812237),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null),cljs.core.integer_QMARK_);
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","bullseye-name","weathergen.falcon.files.mission/bullseye-name",520699048),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null),cljs.core.integer_QMARK_);
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","bullseye-x","weathergen.falcon.files.mission/bullseye-x",-159100150),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null),cljs.core.integer_QMARK_);
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","bullseye-y","weathergen.falcon.files.mission/bullseye-y",-776890980),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null),cljs.core.integer_QMARK_);
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","c-team","weathergen.falcon.files.mission/c-team",-607188711),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null),cljs.core.integer_QMARK_);
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","callsign-id","weathergen.falcon.files.mission/callsign-id",-1180066971),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null),cljs.core.integer_QMARK_);
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","callsign-index","weathergen.falcon.files.mission/callsign-index",-162215987),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null),cljs.core.integer_QMARK_);
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","callsign-num","weathergen.falcon.files.mission/callsign-num",-105981196),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null),cljs.core.integer_QMARK_);
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","callsign-slots","weathergen.falcon.files.mission/callsign-slots",1249857048),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null),cljs.core.integer_QMARK_);
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","camp-id","weathergen.falcon.files.mission/camp-id",413408440),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null),cljs.core.integer_QMARK_);
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","campaign-info","weathergen.falcon.files.mission/campaign-info",-1580589140),new cljs.core.Symbol("weathergen.falcon.files.mission","CampaignInfo","weathergen.falcon.files.mission/CampaignInfo",1239222116,null),weathergen.falcon.files.mission.CampaignInfo);
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","campaign-dir","weathergen.falcon.files.mission/campaign-dir",-1861677221),new cljs.core.Symbol("weathergen.falcon.files.mission","Dir","weathergen.falcon.files.mission/Dir",490740314,null),weathergen.falcon.files.mission.Dir);
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","candidate-installs","weathergen.falcon.files.mission/candidate-installs",1684264007),new cljs.core.Symbol("weathergen.falcon.files.mission","Installs","weathergen.falcon.files.mission/Installs",194555236,null),weathergen.falcon.files.mission.Installs);
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","caps","weathergen.falcon.files.mission/caps",1774556458),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null),cljs.core.integer_QMARK_);
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","cargo-id","weathergen.falcon.files.mission/cargo-id",331149980),new cljs.core.Symbol("weathergen.falcon.files.mission","VuId","weathergen.falcon.files.mission/VuId",675489086,null),weathergen.falcon.files.mission.VuId);
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","carriers","weathergen.falcon.files.mission/carriers",1286085937),cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha","coll-of","cljs.spec.alpha/coll-of",1019430407,null),new cljs.core.Symbol("weathergen.falcon.files.mission","Carrier","weathergen.falcon.files.mission/Carrier",-1000617545,null)),cljs.spec.alpha.every_impl.call(null,new cljs.core.Symbol(null,"Carrier","Carrier",2039825421,null),weathergen.falcon.files.mission.Carrier,
new cljs.core.PersistentArrayMap(null,4,[new cljs.core.Keyword("cljs.spec.alpha","kind-form","cljs.spec.alpha/kind-form",-1047104697),null,new cljs.core.Keyword("cljs.spec.alpha","cpred","cljs.spec.alpha/cpred",-693471218),function(a){return cljs.core.coll_QMARK_.call(null,a)},new cljs.core.Keyword("cljs.spec.alpha","conform-all","cljs.spec.alpha/conform-all",45201917),!0,new cljs.core.Keyword("cljs.spec.alpha","describe","cljs.spec.alpha/describe",1883026911),cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha",
"coll-of","cljs.spec.alpha/coll-of",1019430407,null),new cljs.core.Symbol("weathergen.falcon.files.mission","Carrier","weathergen.falcon.files.mission/Carrier",-1000617545,null))],null),null));
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","center","weathergen.falcon.files.mission/center",1209696646),cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha","coll-of","cljs.spec.alpha/coll-of",1019430407,null),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null),new cljs.core.Keyword(null,"count","count",2139924085),2),cljs.spec.alpha.every_impl.call(null,new cljs.core.Symbol(null,"integer?","integer?",1303791671,null),
cljs.core.integer_QMARK_,new cljs.core.PersistentArrayMap(null,5,[new cljs.core.Keyword("cljs.spec.alpha","kind-form","cljs.spec.alpha/kind-form",-1047104697),null,new cljs.core.Keyword("cljs.spec.alpha","cpred","cljs.spec.alpha/cpred",-693471218),function(a){return cljs.core.coll_QMARK_.call(null,a)&&cljs.core._EQ_.call(null,2,cljs.core.bounded_count.call(null,2,a))},new cljs.core.Keyword(null,"count","count",2139924085),2,new cljs.core.Keyword("cljs.spec.alpha","conform-all","cljs.spec.alpha/conform-all",
45201917),!0,new cljs.core.Keyword("cljs.spec.alpha","describe","cljs.spec.alpha/describe",1883026911),cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha","coll-of","cljs.spec.alpha/coll-of",1019430407,null),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null),new cljs.core.Keyword(null,"count","count",2139924085),2)],null),null));
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","class","weathergen.falcon.files.mission/class",-1549237210),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null),cljs.core.integer_QMARK_);
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","class-table","weathergen.falcon.files.mission/class-table",-1856555830),cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha","coll-of","cljs.spec.alpha/coll-of",1019430407,null),cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha","merge","cljs.spec.alpha/merge",1420080689,null),new cljs.core.Symbol("weathergen.falcon.files.mission","Falcon4EntityFields","weathergen.falcon.files.mission/Falcon4EntityFields",
-339733495,null),cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha","keys","cljs.spec.alpha/keys",1109346032,null),new cljs.core.Keyword(null,"req","req",-326448303),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword("weathergen.falcon.files.mission","index","weathergen.falcon.files.mission/index",-1989089649)],null)))),cljs.spec.alpha.every_impl.call(null,cljs.core.list(new cljs.core.Symbol("s","merge","s/merge",-163787995,null),new cljs.core.Symbol(null,
"Falcon4EntityFields","Falcon4EntityFields",255502707,null),cljs.core.list(new cljs.core.Symbol("s","keys","s/keys",-1586011188,null),new cljs.core.Keyword(null,"req","req",-326448303),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword("weathergen.falcon.files.mission","index","weathergen.falcon.files.mission/index",-1989089649)],null))),cljs.spec.alpha.merge_spec_impl.call(null,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,
[new cljs.core.Symbol("weathergen.falcon.files.mission","Falcon4EntityFields","weathergen.falcon.files.mission/Falcon4EntityFields",-339733495,null),cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha","keys","cljs.spec.alpha/keys",1109346032,null),new cljs.core.Keyword(null,"req","req",-326448303),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword("weathergen.falcon.files.mission","index","weathergen.falcon.files.mission/index",-1989089649)],null))],
null),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[weathergen.falcon.files.mission.Falcon4EntityFields,cljs.spec.alpha.map_spec_impl.call(null,cljs.core.PersistentHashMap.fromArrays([new cljs.core.Keyword(null,"req-un","req-un",1074571008),new cljs.core.Keyword(null,"opt-un","opt-un",883442496),new cljs.core.Keyword(null,"gfn","gfn",791517474),new cljs.core.Keyword(null,"pred-exprs","pred-exprs",1792271395),new cljs.core.Keyword(null,"keys-pred","keys-pred",858984739),
new cljs.core.Keyword(null,"opt-keys","opt-keys",1262688261),new cljs.core.Keyword(null,"req-specs","req-specs",553962313),new cljs.core.Keyword(null,"req","req",-326448303),new cljs.core.Keyword(null,"req-keys","req-keys",514319221),new cljs.core.Keyword(null,"opt-specs","opt-specs",-384905450),new cljs.core.Keyword(null,"pred-forms","pred-forms",172611832),new cljs.core.Keyword(null,"opt","opt",-794706369)],[null,null,null,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,
[function(a){return cljs.core.map_QMARK_.call(null,a)},function(a){return cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword("weathergen.falcon.files.mission","index","weathergen.falcon.files.mission/index",-1989089649))}],null),function(a){return cljs.core.map_QMARK_.call(null,a)&&cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword("weathergen.falcon.files.mission","index","weathergen.falcon.files.mission/index",-1989089649))},cljs.core.PersistentVector.EMPTY,new cljs.core.PersistentVector(null,
1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword("weathergen.falcon.files.mission","index","weathergen.falcon.files.mission/index",-1989089649)],null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword("weathergen.falcon.files.mission","index","weathergen.falcon.files.mission/index",-1989089649)],null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword("weathergen.falcon.files.mission",
"index","weathergen.falcon.files.mission/index",-1989089649)],null),cljs.core.PersistentVector.EMPTY,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"%","%",-950237169,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core","map?","cljs.core/map?",-1390345523,null),new cljs.core.Symbol(null,
"%","%",-950237169,null))),cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"%","%",-950237169,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core","contains?","cljs.core/contains?",-976526835,null),new cljs.core.Symbol(null,"%","%",-950237169,null),new cljs.core.Keyword("weathergen.falcon.files.mission","index","weathergen.falcon.files.mission/index",
-1989089649)))],null),null]))],null),null),new cljs.core.PersistentArrayMap(null,4,[new cljs.core.Keyword("cljs.spec.alpha","kind-form","cljs.spec.alpha/kind-form",-1047104697),null,new cljs.core.Keyword("cljs.spec.alpha","cpred","cljs.spec.alpha/cpred",-693471218),function(a){return cljs.core.coll_QMARK_.call(null,a)},new cljs.core.Keyword("cljs.spec.alpha","conform-all","cljs.spec.alpha/conform-all",45201917),!0,new cljs.core.Keyword("cljs.spec.alpha","describe","cljs.spec.alpha/describe",1883026911),
cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha","coll-of","cljs.spec.alpha/coll-of",1019430407,null),cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha","merge","cljs.spec.alpha/merge",1420080689,null),new cljs.core.Symbol("weathergen.falcon.files.mission","Falcon4EntityFields","weathergen.falcon.files.mission/Falcon4EntityFields",-339733495,null),cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha","keys","cljs.spec.alpha/keys",1109346032,null),new cljs.core.Keyword(null,"req","req",-326448303),
new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword("weathergen.falcon.files.mission","index","weathergen.falcon.files.mission/index",-1989089649)],null))))],null),null));
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","class-info","weathergen.falcon.files.mission/class-info",-1092492204),cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha","or","cljs.spec.alpha/or",-831679639,null),new cljs.core.Keyword(null,"class-info","class-info",-467052058),new cljs.core.Symbol("weathergen.falcon.files.mission","ClassInfo","weathergen.falcon.files.mission/ClassInfo",-748594438,null),new cljs.core.Keyword(null,"class-info-2","class-info-2",
1738545496),new cljs.core.Symbol("weathergen.falcon.files.mission","ClassInfo2","weathergen.falcon.files.mission/ClassInfo2",-1814499637,null)),cljs.spec.alpha.or_spec_impl.call(null,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"class-info","class-info",-467052058),new cljs.core.Keyword(null,"class-info-2","class-info-2",1738545496)],null),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol("weathergen.falcon.files.mission",
"ClassInfo","weathergen.falcon.files.mission/ClassInfo",-748594438,null),new cljs.core.Symbol("weathergen.falcon.files.mission","ClassInfo2","weathergen.falcon.files.mission/ClassInfo2",-1814499637,null)],null),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[weathergen.falcon.files.mission.ClassInfo,weathergen.falcon.files.mission.ClassInfo2],null),null));
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","collective","weathergen.falcon.files.mission/collective",917301039),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null),cljs.core.integer_QMARK_);
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","collidable","weathergen.falcon.files.mission/collidable",-1450401728),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null),cljs.core.integer_QMARK_);
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","collision-radius","weathergen.falcon.files.mission/collision-radius",-674585753),new cljs.core.Symbol("cljs.core","number?","cljs.core/number?",-811857295,null),cljs.core.number_QMARK_);
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","collision-type","weathergen.falcon.files.mission/collision-type",-1095412380),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null),cljs.core.integer_QMARK_);
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","color","weathergen.falcon.files.mission/color",-1861591637),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null),cljs.core.integer_QMARK_);cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","context","weathergen.falcon.files.mission/context",-247799687),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null),cljs.core.integer_QMARK_);
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","cos-heading","weathergen.falcon.files.mission/cos-heading",2120170350),new cljs.core.Symbol("cljs.core","number?","cljs.core/number?",-811857295,null),cljs.core.number_QMARK_);
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","costs","weathergen.falcon.files.mission/costs",436179539),cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha","coll-of","cljs.spec.alpha/coll-of",1019430407,null),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null),new cljs.core.Keyword(null,"count","count",2139924085),new cljs.core.Symbol("weathergen.falcon.constants","MOVEMENT_TYPES","weathergen.falcon.constants/MOVEMENT_TYPES",
-765232959,null)),cljs.spec.alpha.every_impl.call(null,new cljs.core.Symbol(null,"integer?","integer?",1303791671,null),cljs.core.integer_QMARK_,new cljs.core.PersistentArrayMap(null,5,[new cljs.core.Keyword("cljs.spec.alpha","kind-form","cljs.spec.alpha/kind-form",-1047104697),null,new cljs.core.Keyword("cljs.spec.alpha","cpred","cljs.spec.alpha/cpred",-693471218),function(a){return cljs.core.coll_QMARK_.call(null,a)&&cljs.core._EQ_.call(null,weathergen.falcon.constants.MOVEMENT_TYPES,cljs.core.bounded_count.call(null,
weathergen.falcon.constants.MOVEMENT_TYPES,a))},new cljs.core.Keyword(null,"count","count",2139924085),weathergen.falcon.constants.MOVEMENT_TYPES,new cljs.core.Keyword("cljs.spec.alpha","conform-all","cljs.spec.alpha/conform-all",45201917),!0,new cljs.core.Keyword("cljs.spec.alpha","describe","cljs.spec.alpha/describe",1883026911),cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha","coll-of","cljs.spec.alpha/coll-of",1019430407,null),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",
1710697810,null),new cljs.core.Keyword(null,"count","count",2139924085),new cljs.core.Symbol("c","MOVEMENT_TYPES","c/MOVEMENT_TYPES",642974624,null))],null),null));cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","count","weathergen.falcon.files.mission/count",581373935),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null),cljs.core.integer_QMARK_);
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("loadout","count","loadout/count",-1411670515),cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha","coll-of","cljs.spec.alpha/coll-of",1019430407,null),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null),new cljs.core.Keyword(null,"count","count",2139924085),16),cljs.spec.alpha.every_impl.call(null,new cljs.core.Symbol(null,"integer?","integer?",1303791671,null),cljs.core.integer_QMARK_,new cljs.core.PersistentArrayMap(null,
5,[new cljs.core.Keyword("cljs.spec.alpha","kind-form","cljs.spec.alpha/kind-form",-1047104697),null,new cljs.core.Keyword("cljs.spec.alpha","cpred","cljs.spec.alpha/cpred",-693471218),function(a){return cljs.core.coll_QMARK_.call(null,a)&&cljs.core._EQ_.call(null,16,cljs.core.bounded_count.call(null,16,a))},new cljs.core.Keyword(null,"count","count",2139924085),16,new cljs.core.Keyword("cljs.spec.alpha","conform-all","cljs.spec.alpha/conform-all",45201917),!0,new cljs.core.Keyword("cljs.spec.alpha",
"describe","cljs.spec.alpha/describe",1883026911),cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha","coll-of","cljs.spec.alpha/coll-of",1019430407,null),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null),new cljs.core.Keyword(null,"count","count",2139924085),16)],null),null));
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","country","weathergen.falcon.files.mission/country",-2015827389),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null),cljs.core.integer_QMARK_);
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","create-priority","weathergen.falcon.files.mission/create-priority",1232517319),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null),cljs.core.integer_QMARK_);
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","creation-rand","weathergen.falcon.files.mission/creation-rand",1794482436),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null),cljs.core.integer_QMARK_);
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","creation-time","weathergen.falcon.files.mission/creation-time",-363578009),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null),cljs.core.integer_QMARK_);
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","creator","weathergen.falcon.files.mission/creator",1711456010),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null),cljs.core.integer_QMARK_);
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","creator-ip","weathergen.falcon.files.mission/creator-ip",-132393550),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null),cljs.core.integer_QMARK_);
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","cruise-alt","weathergen.falcon.files.mission/cruise-alt",46459899),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null),cljs.core.integer_QMARK_);
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","current-day","weathergen.falcon.files.mission/current-day",1760434218),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null),cljs.core.integer_QMARK_);
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","current-stats","weathergen.falcon.files.mission/current-stats",1485033391),new cljs.core.Symbol("weathergen.falcon.files.mission","TeamStatus","weathergen.falcon.files.mission/TeamStatus",1447376489,null),weathergen.falcon.files.mission.TeamStatus);
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","current-strength","weathergen.falcon.files.mission/current-strength",2072387746),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null),cljs.core.integer_QMARK_);
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","current-time","weathergen.falcon.files.mission/current-time",-2093443560),new cljs.core.Symbol("weathergen.falcon.files.mission","CampaignTime","weathergen.falcon.files.mission/CampaignTime",1868159822,null),weathergen.falcon.files.mission.CampaignTime);
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","current-wp","weathergen.falcon.files.mission/current-wp",1027104379),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null),cljs.core.integer_QMARK_);
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","cycle","weathergen.falcon.files.mission/cycle",-1074021098),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null),cljs.core.integer_QMARK_);
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","damage-mod","weathergen.falcon.files.mission/damage-mod",1747505998),cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha","or","cljs.spec.alpha/or",-831679639,null),new cljs.core.Keyword(null,"multiple","multiple",1244445549),cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha","coll-of","cljs.spec.alpha/coll-of",1019430407,null),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,
null),new cljs.core.Keyword(null,"count","count",2139924085),cljs.core.list(new cljs.core.Symbol("cljs.core","inc","cljs.core/inc",-879172610,null),new cljs.core.Symbol("weathergen.falcon.constants","OtherDam","weathergen.falcon.constants/OtherDam",-311631073,null))),new cljs.core.Keyword(null,"singular","singular",1409933445),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null)),cljs.spec.alpha.or_spec_impl.call(null,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,
[new cljs.core.Keyword(null,"multiple","multiple",1244445549),new cljs.core.Keyword(null,"singular","singular",1409933445)],null),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha","coll-of","cljs.spec.alpha/coll-of",1019430407,null),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null),new cljs.core.Keyword(null,"count","count",2139924085),cljs.core.list(new cljs.core.Symbol("cljs.core",
"inc","cljs.core/inc",-879172610,null),new cljs.core.Symbol("weathergen.falcon.constants","OtherDam","weathergen.falcon.constants/OtherDam",-311631073,null))),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null)],null),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[cljs.spec.alpha.every_impl.call(null,new cljs.core.Symbol(null,"integer?","integer?",1303791671,null),cljs.core.integer_QMARK_,new cljs.core.PersistentArrayMap(null,5,[new cljs.core.Keyword("cljs.spec.alpha",
"kind-form","cljs.spec.alpha/kind-form",-1047104697),null,new cljs.core.Keyword("cljs.spec.alpha","cpred","cljs.spec.alpha/cpred",-693471218),function(a){return cljs.core.coll_QMARK_.call(null,a)&&cljs.core._EQ_.call(null,weathergen.falcon.constants.OtherDam+1,cljs.core.bounded_count.call(null,weathergen.falcon.constants.OtherDam+1,a))},new cljs.core.Keyword(null,"count","count",2139924085),weathergen.falcon.constants.OtherDam+1,new cljs.core.Keyword("cljs.spec.alpha","conform-all","cljs.spec.alpha/conform-all",
45201917),!0,new cljs.core.Keyword("cljs.spec.alpha","describe","cljs.spec.alpha/describe",1883026911),cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha","coll-of","cljs.spec.alpha/coll-of",1019430407,null),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null),new cljs.core.Keyword(null,"count","count",2139924085),cljs.core.list(new cljs.core.Symbol(null,"inc","inc",324505433,null),new cljs.core.Symbol("c","OtherDam","c/OtherDam",-1319323104,null)))],null),null),cljs.core.integer_QMARK_],
null),null));cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","damage-speed","weathergen.falcon.files.mission/damage-speed",-292579857),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null),cljs.core.integer_QMARK_);
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","damage-type","weathergen.falcon.files.mission/damage-type",-1873891064),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null),cljs.core.integer_QMARK_);
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","data","weathergen.falcon.files.mission/data",-1670632779),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null),cljs.core.integer_QMARK_);
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","data-dir","weathergen.falcon.files.mission/data-dir",1554526330),new cljs.core.Symbol("weathergen.falcon.files.mission","Dir","weathergen.falcon.files.mission/Dir",490740314,null),weathergen.falcon.files.mission.Dir);
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","data-pointer","weathergen.falcon.files.mission/data-pointer",-1400092936),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null),cljs.core.integer_QMARK_);
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","data-rate","weathergen.falcon.files.mission/data-rate",164102129),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null),cljs.core.integer_QMARK_);
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","data-type","weathergen.falcon.files.mission/data-type",-1999856938),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null),cljs.core.integer_QMARK_);cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","day","weathergen.falcon.files.mission/day",-1704629128),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null),cljs.core.integer_QMARK_);
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","day-zero","weathergen.falcon.files.mission/day-zero",1604882078),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null),cljs.core.integer_QMARK_);
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","deag-distance","weathergen.falcon.files.mission/deag-distance",-1162764241),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null),cljs.core.integer_QMARK_);
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","defensive-air-action","weathergen.falcon.files.mission/defensive-air-action",1048409095),new cljs.core.Symbol("weathergen.falcon.files.mission","TeamAirAction","weathergen.falcon.files.mission/TeamAirAction",-562482885,null),weathergen.falcon.files.mission.TeamAirAction);
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","delayed","weathergen.falcon.files.mission/delayed",-1311866337),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null),cljs.core.integer_QMARK_);cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","desc","weathergen.falcon.files.mission/desc",154230),new cljs.core.Symbol("cljs.core","string?","cljs.core/string?",-2072921719,null),cljs.core.string_QMARK_);
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","depart","weathergen.falcon.files.mission/depart",-1655269341),new cljs.core.Symbol("weathergen.falcon.files.mission","CampaignTime","weathergen.falcon.files.mission/CampaignTime",1868159822,null),weathergen.falcon.files.mission.CampaignTime);
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","description","weathergen.falcon.files.mission/description",-1977659382),new cljs.core.Symbol("cljs.core","string?","cljs.core/string?",-2072921719,null),cljs.core.string_QMARK_);
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","description-index","weathergen.falcon.files.mission/description-index",385969124),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null),cljs.core.integer_QMARK_);
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","destination-x","weathergen.falcon.files.mission/destination-x",1925234136),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null),cljs.core.integer_QMARK_);
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","destination-y","weathergen.falcon.files.mission/destination-y",198655710),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null),cljs.core.integer_QMARK_);
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","detect-ratio","weathergen.falcon.files.mission/detect-ratio",-1725303095),cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha","coll-of","cljs.spec.alpha/coll-of",1019430407,null),new cljs.core.Symbol("cljs.core","number?","cljs.core/number?",-811857295,null),new cljs.core.Keyword(null,"count","count",2139924085),new cljs.core.Symbol("weathergen.falcon.constants","NUM_RADAR_ARCS","weathergen.falcon.constants/NUM_RADAR_ARCS",
1828587075,null)),cljs.spec.alpha.every_impl.call(null,new cljs.core.Symbol(null,"number?","number?",-1747282210,null),cljs.core.number_QMARK_,new cljs.core.PersistentArrayMap(null,5,[new cljs.core.Keyword("cljs.spec.alpha","kind-form","cljs.spec.alpha/kind-form",-1047104697),null,new cljs.core.Keyword("cljs.spec.alpha","cpred","cljs.spec.alpha/cpred",-693471218),function(a){return cljs.core.coll_QMARK_.call(null,a)&&cljs.core._EQ_.call(null,weathergen.falcon.constants.NUM_RADAR_ARCS,cljs.core.bounded_count.call(null,
weathergen.falcon.constants.NUM_RADAR_ARCS,a))},new cljs.core.Keyword(null,"count","count",2139924085),weathergen.falcon.constants.NUM_RADAR_ARCS,new cljs.core.Keyword("cljs.spec.alpha","conform-all","cljs.spec.alpha/conform-all",45201917),!0,new cljs.core.Keyword("cljs.spec.alpha","describe","cljs.spec.alpha/describe",1883026911),cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha","coll-of","cljs.spec.alpha/coll-of",1019430407,null),new cljs.core.Symbol("cljs.core","number?","cljs.core/number?",
-811857295,null),new cljs.core.Keyword(null,"count","count",2139924085),new cljs.core.Symbol("c","NUM_RADAR_ARCS","c/NUM_RADAR_ARCS",-1624325854,null))],null),null));
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","detection","weathergen.falcon.files.mission/detection",83329163),cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha","or","cljs.spec.alpha/or",-831679639,null),new cljs.core.Keyword(null,"multiple","multiple",1244445549),cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha","coll-of","cljs.spec.alpha/coll-of",1019430407,null),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null),
new cljs.core.Keyword(null,"count","count",2139924085),new cljs.core.Symbol("weathergen.falcon.constants","MOVEMENT_TYPES","weathergen.falcon.constants/MOVEMENT_TYPES",-765232959,null)),new cljs.core.Keyword(null,"singular","singular",1409933445),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null)),cljs.spec.alpha.or_spec_impl.call(null,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"multiple","multiple",1244445549),
new cljs.core.Keyword(null,"singular","singular",1409933445)],null),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha","coll-of","cljs.spec.alpha/coll-of",1019430407,null),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null),new cljs.core.Keyword(null,"count","count",2139924085),new cljs.core.Symbol("weathergen.falcon.constants","MOVEMENT_TYPES","weathergen.falcon.constants/MOVEMENT_TYPES",
-765232959,null)),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null)],null),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[cljs.spec.alpha.every_impl.call(null,new cljs.core.Symbol(null,"integer?","integer?",1303791671,null),cljs.core.integer_QMARK_,new cljs.core.PersistentArrayMap(null,5,[new cljs.core.Keyword("cljs.spec.alpha","kind-form","cljs.spec.alpha/kind-form",-1047104697),null,new cljs.core.Keyword("cljs.spec.alpha","cpred","cljs.spec.alpha/cpred",
-693471218),function(a){return cljs.core.coll_QMARK_.call(null,a)&&cljs.core._EQ_.call(null,weathergen.falcon.constants.MOVEMENT_TYPES,cljs.core.bounded_count.call(null,weathergen.falcon.constants.MOVEMENT_TYPES,a))},new cljs.core.Keyword(null,"count","count",2139924085),weathergen.falcon.constants.MOVEMENT_TYPES,new cljs.core.Keyword("cljs.spec.alpha","conform-all","cljs.spec.alpha/conform-all",45201917),!0,new cljs.core.Keyword("cljs.spec.alpha","describe","cljs.spec.alpha/describe",1883026911),
cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha","coll-of","cljs.spec.alpha/coll-of",1019430407,null),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null),new cljs.core.Keyword(null,"count","count",2139924085),new cljs.core.Symbol("c","MOVEMENT_TYPES","c/MOVEMENT_TYPES",642974624,null))],null),null),cljs.core.integer_QMARK_],null),null));
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","division","weathergen.falcon.files.mission/division",-1166211520),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null),cljs.core.integer_QMARK_);
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","domain","weathergen.falcon.files.mission/domain",1214169331),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null),cljs.core.integer_QMARK_);
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","doubleres2dmap","weathergen.falcon.files.mission/doubleres2dmap",-1503704738),new cljs.core.Symbol("cljs.core","string?","cljs.core/string?",-2072921719,null),cljs.core.string_QMARK_);
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","drag-index","weathergen.falcon.files.mission/drag-index",-2005929375),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null),cljs.core.integer_QMARK_);
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","element-decal-index","weathergen.falcon.files.mission/element-decal-index",-1707922222),cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha","coll-of","cljs.spec.alpha/coll-of",1019430407,null),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null)),cljs.spec.alpha.every_impl.call(null,new cljs.core.Symbol(null,"integer?","integer?",1303791671,null),cljs.core.integer_QMARK_,new cljs.core.PersistentArrayMap(null,
4,[new cljs.core.Keyword("cljs.spec.alpha","kind-form","cljs.spec.alpha/kind-form",-1047104697),null,new cljs.core.Keyword("cljs.spec.alpha","cpred","cljs.spec.alpha/cpred",-693471218),function(a){return cljs.core.coll_QMARK_.call(null,a)},new cljs.core.Keyword("cljs.spec.alpha","conform-all","cljs.spec.alpha/conform-all",45201917),!0,new cljs.core.Keyword("cljs.spec.alpha","describe","cljs.spec.alpha/describe",1883026911),cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha","coll-of","cljs.spec.alpha/coll-of",
1019430407,null),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null))],null),null));
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","element-flags","weathergen.falcon.files.mission/element-flags",682910099),cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha","coll-of","cljs.spec.alpha/coll-of",1019430407,null),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null)),cljs.spec.alpha.every_impl.call(null,new cljs.core.Symbol(null,"integer?","integer?",1303791671,null),cljs.core.integer_QMARK_,new cljs.core.PersistentArrayMap(null,
4,[new cljs.core.Keyword("cljs.spec.alpha","kind-form","cljs.spec.alpha/kind-form",-1047104697),null,new cljs.core.Keyword("cljs.spec.alpha","cpred","cljs.spec.alpha/cpred",-693471218),function(a){return cljs.core.coll_QMARK_.call(null,a)},new cljs.core.Keyword("cljs.spec.alpha","conform-all","cljs.spec.alpha/conform-all",45201917),!0,new cljs.core.Keyword("cljs.spec.alpha","describe","cljs.spec.alpha/describe",1883026911),cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha","coll-of","cljs.spec.alpha/coll-of",
1019430407,null),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null))],null),null));
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","element-hull-number","weathergen.falcon.files.mission/element-hull-number",486465615),cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha","coll-of","cljs.spec.alpha/coll-of",1019430407,null),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null)),cljs.spec.alpha.every_impl.call(null,new cljs.core.Symbol(null,"integer?","integer?",1303791671,null),cljs.core.integer_QMARK_,new cljs.core.PersistentArrayMap(null,
4,[new cljs.core.Keyword("cljs.spec.alpha","kind-form","cljs.spec.alpha/kind-form",-1047104697),null,new cljs.core.Keyword("cljs.spec.alpha","cpred","cljs.spec.alpha/cpred",-693471218),function(a){return cljs.core.coll_QMARK_.call(null,a)},new cljs.core.Keyword("cljs.spec.alpha","conform-all","cljs.spec.alpha/conform-all",45201917),!0,new cljs.core.Keyword("cljs.spec.alpha","describe","cljs.spec.alpha/describe",1883026911),cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha","coll-of","cljs.spec.alpha/coll-of",
1019430407,null),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null))],null),null));
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","element-name-prefix","weathergen.falcon.files.mission/element-name-prefix",-578565618),cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha","coll-of","cljs.spec.alpha/coll-of",1019430407,null),new cljs.core.Symbol("cljs.core","string?","cljs.core/string?",-2072921719,null)),cljs.spec.alpha.every_impl.call(null,new cljs.core.Symbol(null,"string?","string?",-1129175764,null),cljs.core.string_QMARK_,new cljs.core.PersistentArrayMap(null,
4,[new cljs.core.Keyword("cljs.spec.alpha","kind-form","cljs.spec.alpha/kind-form",-1047104697),null,new cljs.core.Keyword("cljs.spec.alpha","cpred","cljs.spec.alpha/cpred",-693471218),function(a){return cljs.core.coll_QMARK_.call(null,a)},new cljs.core.Keyword("cljs.spec.alpha","conform-all","cljs.spec.alpha/conform-all",45201917),!0,new cljs.core.Keyword("cljs.spec.alpha","describe","cljs.spec.alpha/describe",1883026911),cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha","coll-of","cljs.spec.alpha/coll-of",
1019430407,null),new cljs.core.Symbol("cljs.core","string?","cljs.core/string?",-2072921719,null))],null),null));
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","element-name","weathergen.falcon.files.mission/element-name",912312629),cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha","coll-of","cljs.spec.alpha/coll-of",1019430407,null),new cljs.core.Symbol("cljs.core","string?","cljs.core/string?",-2072921719,null)),cljs.spec.alpha.every_impl.call(null,new cljs.core.Symbol(null,"string?","string?",-1129175764,null),cljs.core.string_QMARK_,new cljs.core.PersistentArrayMap(null,
4,[new cljs.core.Keyword("cljs.spec.alpha","kind-form","cljs.spec.alpha/kind-form",-1047104697),null,new cljs.core.Keyword("cljs.spec.alpha","cpred","cljs.spec.alpha/cpred",-693471218),function(a){return cljs.core.coll_QMARK_.call(null,a)},new cljs.core.Keyword("cljs.spec.alpha","conform-all","cljs.spec.alpha/conform-all",45201917),!0,new cljs.core.Keyword("cljs.spec.alpha","describe","cljs.spec.alpha/describe",1883026911),cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha","coll-of","cljs.spec.alpha/coll-of",
1019430407,null),new cljs.core.Symbol("cljs.core","string?","cljs.core/string?",-2072921719,null))],null),null));
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","element-text-set-index","weathergen.falcon.files.mission/element-text-set-index",466869480),cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha","coll-of","cljs.spec.alpha/coll-of",1019430407,null),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null)),cljs.spec.alpha.every_impl.call(null,new cljs.core.Symbol(null,"integer?","integer?",1303791671,null),cljs.core.integer_QMARK_,
new cljs.core.PersistentArrayMap(null,4,[new cljs.core.Keyword("cljs.spec.alpha","kind-form","cljs.spec.alpha/kind-form",-1047104697),null,new cljs.core.Keyword("cljs.spec.alpha","cpred","cljs.spec.alpha/cpred",-693471218),function(a){return cljs.core.coll_QMARK_.call(null,a)},new cljs.core.Keyword("cljs.spec.alpha","conform-all","cljs.spec.alpha/conform-all",45201917),!0,new cljs.core.Keyword("cljs.spec.alpha","describe","cljs.spec.alpha/describe",1883026911),cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha",
"coll-of","cljs.spec.alpha/coll-of",1019430407,null),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null))],null),null));cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","empty-wt","weathergen.falcon.files.mission/empty-wt",-1868767054),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null),cljs.core.integer_QMARK_);
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","endgame-result","weathergen.falcon.files.mission/endgame-result",1563920306),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null),cljs.core.integer_QMARK_);
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","enemy-ad-exp","weathergen.falcon.files.mission/enemy-ad-exp",-960721768),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null),cljs.core.integer_QMARK_);
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","enemy-air-exp","weathergen.falcon.files.mission/enemy-air-exp",-134369757),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null),cljs.core.integer_QMARK_);
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","engine-sound","weathergen.falcon.files.mission/engine-sound",-552832544),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null),cljs.core.integer_QMARK_);
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","entity-class","weathergen.falcon.files.mission/entity-class",-208911345),cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha","coll-of","cljs.spec.alpha/coll-of",1019430407,null),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null),new cljs.core.Keyword(null,"count","count",2139924085),8),cljs.spec.alpha.every_impl.call(null,new cljs.core.Symbol(null,"integer?","integer?",1303791671,
null),cljs.core.integer_QMARK_,new cljs.core.PersistentArrayMap(null,5,[new cljs.core.Keyword("cljs.spec.alpha","kind-form","cljs.spec.alpha/kind-form",-1047104697),null,new cljs.core.Keyword("cljs.spec.alpha","cpred","cljs.spec.alpha/cpred",-693471218),function(a){return cljs.core.coll_QMARK_.call(null,a)&&cljs.core._EQ_.call(null,8,cljs.core.bounded_count.call(null,8,a))},new cljs.core.Keyword(null,"count","count",2139924085),8,new cljs.core.Keyword("cljs.spec.alpha","conform-all","cljs.spec.alpha/conform-all",
45201917),!0,new cljs.core.Keyword("cljs.spec.alpha","describe","cljs.spec.alpha/describe",1883026911),cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha","coll-of","cljs.spec.alpha/coll-of",1019430407,null),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null),new cljs.core.Keyword(null,"count","count",2139924085),8)],null),null));
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","entity-type","weathergen.falcon.files.mission/entity-type",-427082019),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null),cljs.core.integer_QMARK_);
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","equipment","weathergen.falcon.files.mission/equipment",333876145),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null),cljs.core.integer_QMARK_);
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","eval-flags","weathergen.falcon.files.mission/eval-flags",1247665702),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null),cljs.core.integer_QMARK_);
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","event-text","weathergen.falcon.files.mission/event-text",859621336),new cljs.core.Symbol("cljs.core","string?","cljs.core/string?",-2072921719,null),cljs.core.string_QMARK_);
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","events","weathergen.falcon.files.mission/events",-945665921),new cljs.core.Symbol("weathergen.falcon.files.mission","Events","weathergen.falcon.files.mission/Events",-1168523853,null),weathergen.falcon.files.mission.Events);
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","f-status","weathergen.falcon.files.mission/f-status",-1947313271),cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha","coll-of","cljs.spec.alpha/coll-of",1019430407,null),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null)),cljs.spec.alpha.every_impl.call(null,new cljs.core.Symbol(null,"integer?","integer?",1303791671,null),cljs.core.integer_QMARK_,new cljs.core.PersistentArrayMap(null,
4,[new cljs.core.Keyword("cljs.spec.alpha","kind-form","cljs.spec.alpha/kind-form",-1047104697),null,new cljs.core.Keyword("cljs.spec.alpha","cpred","cljs.spec.alpha/cpred",-693471218),function(a){return cljs.core.coll_QMARK_.call(null,a)},new cljs.core.Keyword("cljs.spec.alpha","conform-all","cljs.spec.alpha/conform-all",45201917),!0,new cljs.core.Keyword("cljs.spec.alpha","describe","cljs.spec.alpha/describe",1883026911),cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha","coll-of","cljs.spec.alpha/coll-of",
1019430407,null),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null))],null),null));cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","facing","weathergen.falcon.files.mission/facing",566993313),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null),cljs.core.integer_QMARK_);
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("raw","features","raw/features",-1146784184),cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha","or","cljs.spec.alpha/or",-831679639,null),new cljs.core.Keyword(null,"single","single",1551466437),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null),new cljs.core.Keyword(null,"multiple","multiple",1244445549),cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha","coll-of","cljs.spec.alpha/coll-of",1019430407,null),
new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null),new cljs.core.Keyword(null,"count","count",2139924085),new cljs.core.Symbol("weathergen.falcon.constants","MAX_FEAT_DEPEND","weathergen.falcon.constants/MAX_FEAT_DEPEND",860612176,null))),cljs.spec.alpha.or_spec_impl.call(null,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"single","single",1551466437),new cljs.core.Keyword(null,"multiple","multiple",1244445549)],
null),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null),cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha","coll-of","cljs.spec.alpha/coll-of",1019430407,null),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null),new cljs.core.Keyword(null,"count","count",2139924085),new cljs.core.Symbol("weathergen.falcon.constants","MAX_FEAT_DEPEND","weathergen.falcon.constants/MAX_FEAT_DEPEND",
860612176,null))],null),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[cljs.core.integer_QMARK_,cljs.spec.alpha.every_impl.call(null,new cljs.core.Symbol(null,"integer?","integer?",1303791671,null),cljs.core.integer_QMARK_,new cljs.core.PersistentArrayMap(null,5,[new cljs.core.Keyword("cljs.spec.alpha","kind-form","cljs.spec.alpha/kind-form",-1047104697),null,new cljs.core.Keyword("cljs.spec.alpha","cpred","cljs.spec.alpha/cpred",-693471218),function(a){return cljs.core.coll_QMARK_.call(null,
a)&&cljs.core._EQ_.call(null,weathergen.falcon.constants.MAX_FEAT_DEPEND,cljs.core.bounded_count.call(null,weathergen.falcon.constants.MAX_FEAT_DEPEND,a))},new cljs.core.Keyword(null,"count","count",2139924085),weathergen.falcon.constants.MAX_FEAT_DEPEND,new cljs.core.Keyword("cljs.spec.alpha","conform-all","cljs.spec.alpha/conform-all",45201917),!0,new cljs.core.Keyword("cljs.spec.alpha","describe","cljs.spec.alpha/describe",1883026911),cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha","coll-of",
"cljs.spec.alpha/coll-of",1019430407,null),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null),new cljs.core.Keyword(null,"count","count",2139924085),new cljs.core.Symbol("c","MAX_FEAT_DEPEND","c/MAX_FEAT_DEPEND",1731968307,null))],null),null)],null),null));
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","features","weathergen.falcon.files.mission/features",534334694),cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha","coll-of","cljs.spec.alpha/coll-of",1019430407,null),new cljs.core.Symbol("weathergen.falcon.files.mission","AugmentedFeature","weathergen.falcon.files.mission/AugmentedFeature",1743200257,null)),cljs.spec.alpha.every_impl.call(null,new cljs.core.Symbol(null,"AugmentedFeature","AugmentedFeature",
-2110933125,null),weathergen.falcon.files.mission.AugmentedFeature,new cljs.core.PersistentArrayMap(null,4,[new cljs.core.Keyword("cljs.spec.alpha","kind-form","cljs.spec.alpha/kind-form",-1047104697),null,new cljs.core.Keyword("cljs.spec.alpha","cpred","cljs.spec.alpha/cpred",-693471218),function(a){return cljs.core.coll_QMARK_.call(null,a)},new cljs.core.Keyword("cljs.spec.alpha","conform-all","cljs.spec.alpha/conform-all",45201917),!0,new cljs.core.Keyword("cljs.spec.alpha","describe","cljs.spec.alpha/describe",
1883026911),cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha","coll-of","cljs.spec.alpha/coll-of",1019430407,null),new cljs.core.Symbol("weathergen.falcon.files.mission","AugmentedFeature","weathergen.falcon.files.mission/AugmentedFeature",1743200257,null))],null),null));
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","feature-class-data","weathergen.falcon.files.mission/feature-class-data",794598458),cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha","coll-of","cljs.spec.alpha/coll-of",1019430407,null),new cljs.core.Symbol("weathergen.falcon.files.mission","FeatureClassData","weathergen.falcon.files.mission/FeatureClassData",1447945330,null)),cljs.spec.alpha.every_impl.call(null,new cljs.core.Symbol(null,"FeatureClassData",
"FeatureClassData",864583404,null),weathergen.falcon.files.mission.FeatureClassData,new cljs.core.PersistentArrayMap(null,4,[new cljs.core.Keyword("cljs.spec.alpha","kind-form","cljs.spec.alpha/kind-form",-1047104697),null,new cljs.core.Keyword("cljs.spec.alpha","cpred","cljs.spec.alpha/cpred",-693471218),function(a){return cljs.core.coll_QMARK_.call(null,a)},new cljs.core.Keyword("cljs.spec.alpha","conform-all","cljs.spec.alpha/conform-all",45201917),!0,new cljs.core.Keyword("cljs.spec.alpha","describe",
"cljs.spec.alpha/describe",1883026911),cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha","coll-of","cljs.spec.alpha/coll-of",1019430407,null),new cljs.core.Symbol("weathergen.falcon.files.mission","FeatureClassData","weathergen.falcon.files.mission/FeatureClassData",1447945330,null))],null),null));
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","feature-entry-data","weathergen.falcon.files.mission/feature-entry-data",-693978767),cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha","coll-of","cljs.spec.alpha/coll-of",1019430407,null),new cljs.core.Symbol("weathergen.falcon.files.mission","FeatureEntryData","weathergen.falcon.files.mission/FeatureEntryData",-2092323955,null)),cljs.spec.alpha.every_impl.call(null,new cljs.core.Symbol(null,"FeatureEntryData",
"FeatureEntryData",-461172713,null),weathergen.falcon.files.mission.FeatureEntryData,new cljs.core.PersistentArrayMap(null,4,[new cljs.core.Keyword("cljs.spec.alpha","kind-form","cljs.spec.alpha/kind-form",-1047104697),null,new cljs.core.Keyword("cljs.spec.alpha","cpred","cljs.spec.alpha/cpred",-693471218),function(a){return cljs.core.coll_QMARK_.call(null,a)},new cljs.core.Keyword("cljs.spec.alpha","conform-all","cljs.spec.alpha/conform-all",45201917),!0,new cljs.core.Keyword("cljs.spec.alpha","describe",
"cljs.spec.alpha/describe",1883026911),cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha","coll-of","cljs.spec.alpha/coll-of",1019430407,null),new cljs.core.Symbol("weathergen.falcon.files.mission","FeatureEntryData","weathergen.falcon.files.mission/FeatureEntryData",-2092323955,null))],null),null));
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","final-block","weathergen.falcon.files.mission/final-block",155898840),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null),cljs.core.integer_QMARK_);
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","fine-update-force-range","weathergen.falcon.files.mission/fine-update-force-range",918313040),new cljs.core.Symbol("cljs.core","number?","cljs.core/number?",-811857295,null),cljs.core.number_QMARK_);
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","fine-update-multiplier","weathergen.falcon.files.mission/fine-update-multiplier",-1437327534),new cljs.core.Symbol("cljs.core","number?","cljs.core/number?",-811857295,null),cljs.core.number_QMARK_);
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","fine-update-range","weathergen.falcon.files.mission/fine-update-range",-409420047),new cljs.core.Symbol("cljs.core","number?","cljs.core/number?",-811857295,null),cljs.core.number_QMARK_);
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","fire-rate","weathergen.falcon.files.mission/fire-rate",71993823),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null),cljs.core.integer_QMARK_);cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","first","weathergen.falcon.files.mission/first",1012611588),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null),cljs.core.integer_QMARK_);
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","first-colonel","weathergen.falcon.files.mission/first-colonel",-623148867),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null),cljs.core.integer_QMARK_);
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","first-commander","weathergen.falcon.files.mission/first-commander",223437727),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null),cljs.core.integer_QMARK_);
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","first-feature","weathergen.falcon.files.mission/first-feature",-2004178263),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null),cljs.core.integer_QMARK_);
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","first-owner","weathergen.falcon.files.mission/first-owner",-619274258),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null),cljs.core.integer_QMARK_);
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","first-wingman","weathergen.falcon.files.mission/first-wingman",-1473308326),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null),cljs.core.integer_QMARK_);
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","flag","weathergen.falcon.files.mission/flag",-459732893),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null),cljs.core.integer_QMARK_);
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","flags","weathergen.falcon.files.mission/flags",-965167503),cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha","or","cljs.spec.alpha/or",-831679639,null),new cljs.core.Keyword(null,"integer","integer",-604721710),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null),new cljs.core.Keyword(null,"set","set",304602554),cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha","coll-of",
"cljs.spec.alpha/coll-of",1019430407,null),cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha","or","cljs.spec.alpha/or",-831679639,null),new cljs.core.Keyword(null,"keyword","keyword",811389747),new cljs.core.Symbol("cljs.core","keyword?","cljs.core/keyword?",713156450,null),new cljs.core.Keyword(null,"integer","integer",-604721710),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null)),new cljs.core.Keyword(null,"kind","kind",-717265803),new cljs.core.Symbol("cljs.core",
"set?","cljs.core/set?",-1176684971,null))),cljs.spec.alpha.or_spec_impl.call(null,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"integer","integer",-604721710),new cljs.core.Keyword(null,"set","set",304602554)],null),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null),cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha","coll-of",
"cljs.spec.alpha/coll-of",1019430407,null),cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha","or","cljs.spec.alpha/or",-831679639,null),new cljs.core.Keyword(null,"keyword","keyword",811389747),new cljs.core.Symbol("cljs.core","keyword?","cljs.core/keyword?",713156450,null),new cljs.core.Keyword(null,"integer","integer",-604721710),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null)),new cljs.core.Keyword(null,"kind","kind",-717265803),new cljs.core.Symbol("cljs.core",
"set?","cljs.core/set?",-1176684971,null))],null),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[cljs.core.integer_QMARK_,cljs.spec.alpha.every_impl.call(null,cljs.core.list(new cljs.core.Symbol("s","or","s/or",1876282981,null),new cljs.core.Keyword(null,"keyword","keyword",811389747),new cljs.core.Symbol(null,"keyword?","keyword?",1917797069,null),new cljs.core.Keyword(null,"integer","integer",-604721710),new cljs.core.Symbol(null,"integer?","integer?",1303791671,
null)),cljs.spec.alpha.or_spec_impl.call(null,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"keyword","keyword",811389747),new cljs.core.Keyword(null,"integer","integer",-604721710)],null),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol("cljs.core","keyword?","cljs.core/keyword?",713156450,null),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null)],null),new cljs.core.PersistentVector(null,
2,5,cljs.core.PersistentVector.EMPTY_NODE,[cljs.core.keyword_QMARK_,cljs.core.integer_QMARK_],null),null),new cljs.core.PersistentArrayMap(null,5,[new cljs.core.Keyword("cljs.spec.alpha","kind-form","cljs.spec.alpha/kind-form",-1047104697),new cljs.core.Symbol("cljs.core","set?","cljs.core/set?",-1176684971,null),new cljs.core.Keyword("cljs.spec.alpha","cpred","cljs.spec.alpha/cpred",-693471218),function(a){return cljs.core.set_QMARK_.call(null,a)},new cljs.core.Keyword(null,"kind","kind",-717265803),
cljs.core.set_QMARK_,new cljs.core.Keyword("cljs.spec.alpha","conform-all","cljs.spec.alpha/conform-all",45201917),!0,new cljs.core.Keyword("cljs.spec.alpha","describe","cljs.spec.alpha/describe",1883026911),cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha","coll-of","cljs.spec.alpha/coll-of",1019430407,null),cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha","or","cljs.spec.alpha/or",-831679639,null),new cljs.core.Keyword(null,"keyword","keyword",811389747),new cljs.core.Symbol("cljs.core",
"keyword?","cljs.core/keyword?",713156450,null),new cljs.core.Keyword(null,"integer","integer",-604721710),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null)),new cljs.core.Keyword(null,"kind","kind",-717265803),new cljs.core.Symbol("cljs.core","set?","cljs.core/set?",-1176684971,null))],null),null)],null),null));
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","flights","weathergen.falcon.files.mission/flights",-1943609790),cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha","coll-of","cljs.spec.alpha/coll-of",1019430407,null),new cljs.core.Symbol("weathergen.falcon.files.mission","Flight","weathergen.falcon.files.mission/Flight",940451413,null)),cljs.spec.alpha.every_impl.call(null,new cljs.core.Symbol(null,"Flight","Flight",-1488737309,null),weathergen.falcon.files.mission.Flight,
new cljs.core.PersistentArrayMap(null,4,[new cljs.core.Keyword("cljs.spec.alpha","kind-form","cljs.spec.alpha/kind-form",-1047104697),null,new cljs.core.Keyword("cljs.spec.alpha","cpred","cljs.spec.alpha/cpred",-693471218),function(a){return cljs.core.coll_QMARK_.call(null,a)},new cljs.core.Keyword("cljs.spec.alpha","conform-all","cljs.spec.alpha/conform-all",45201917),!0,new cljs.core.Keyword("cljs.spec.alpha","describe","cljs.spec.alpha/describe",1883026911),cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha",
"coll-of","cljs.spec.alpha/coll-of",1019430407,null),new cljs.core.Symbol("weathergen.falcon.files.mission","Flight","weathergen.falcon.files.mission/Flight",940451413,null))],null),null));cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","formation","weathergen.falcon.files.mission/formation",-1712272813),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null),cljs.core.integer_QMARK_);
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","fuel","weathergen.falcon.files.mission/fuel",760787687),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null),cljs.core.integer_QMARK_);cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","fuel-burnt","weathergen.falcon.files.mission/fuel-burnt",1582543204),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null),cljs.core.integer_QMARK_);
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","fuel-available","weathergen.falcon.files.mission/fuel-available",1132247619),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null),cljs.core.integer_QMARK_);
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","fuel-econ","weathergen.falcon.files.mission/fuel-econ",-80464711),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null),cljs.core.integer_QMARK_);
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","fuel-level","weathergen.falcon.files.mission/fuel-level",1633529202),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null),cljs.core.integer_QMARK_);
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","fuel-wt","weathergen.falcon.files.mission/fuel-wt",190185840),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null),cljs.core.integer_QMARK_);cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","global","weathergen.falcon.files.mission/global",2043304013),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null),cljs.core.integer_QMARK_);
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","grid-x","weathergen.falcon.files.mission/grid-x",-804658896),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null),cljs.core.integer_QMARK_);cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","grid-y","weathergen.falcon.files.mission/grid-y",-700621092),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null),cljs.core.integer_QMARK_);
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","ground-action","weathergen.falcon.files.mission/ground-action",-809387426),new cljs.core.Symbol("weathergen.falcon.files.mission","TeamGroundAction","weathergen.falcon.files.mission/TeamGroundAction",-2003718518,null),weathergen.falcon.files.mission.TeamGroundAction);
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","ground-experience","weathergen.falcon.files.mission/ground-experience",-1373226430),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null),cljs.core.integer_QMARK_);
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","ground-ratio","weathergen.falcon.files.mission/ground-ratio",744879711),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null),cljs.core.integer_QMARK_);
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","ground-tasking-manager","weathergen.falcon.files.mission/ground-tasking-manager",-288460034),new cljs.core.Symbol("weathergen.falcon.files.mission","GroundTaskingManager","weathergen.falcon.files.mission/GroundTaskingManager",-1942610821,null),weathergen.falcon.files.mission.GroundTaskingManager);
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","ground-vehicles","weathergen.falcon.files.mission/ground-vehicles",-1652485882),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null),cljs.core.integer_QMARK_);
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","group","weathergen.falcon.files.mission/group",-2013516886),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null),cljs.core.integer_QMARK_);
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","guidance-flags","weathergen.falcon.files.mission/guidance-flags",-1984721442),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null),cljs.core.integer_QMARK_);
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","has-radar-data","weathergen.falcon.files.mission/has-radar-data",90091994),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null),cljs.core.integer_QMARK_);
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","haves","weathergen.falcon.files.mission/haves",-1012743932),new cljs.core.Symbol("weathergen.falcon.files.mission","Haves","weathergen.falcon.files.mission/Haves",180874799,null),weathergen.falcon.files.mission.Haves);
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","height","weathergen.falcon.files.mission/height",433886072),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null),cljs.core.integer_QMARK_);cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","high-alt","weathergen.falcon.files.mission/high-alt",1100656247),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null),cljs.core.integer_QMARK_);
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","hit-chance","weathergen.falcon.files.mission/hit-chance",-532962394),cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha","or","cljs.spec.alpha/or",-831679639,null),new cljs.core.Keyword(null,"multiple","multiple",1244445549),cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha","coll-of","cljs.spec.alpha/coll-of",1019430407,null),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,
null),new cljs.core.Keyword(null,"count","count",2139924085),new cljs.core.Symbol("weathergen.falcon.constants","MOVEMENT_TYPES","weathergen.falcon.constants/MOVEMENT_TYPES",-765232959,null)),new cljs.core.Keyword(null,"singular","singular",1409933445),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null)),cljs.spec.alpha.or_spec_impl.call(null,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"multiple","multiple",
1244445549),new cljs.core.Keyword(null,"singular","singular",1409933445)],null),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha","coll-of","cljs.spec.alpha/coll-of",1019430407,null),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null),new cljs.core.Keyword(null,"count","count",2139924085),new cljs.core.Symbol("weathergen.falcon.constants","MOVEMENT_TYPES","weathergen.falcon.constants/MOVEMENT_TYPES",
-765232959,null)),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null)],null),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[cljs.spec.alpha.every_impl.call(null,new cljs.core.Symbol(null,"integer?","integer?",1303791671,null),cljs.core.integer_QMARK_,new cljs.core.PersistentArrayMap(null,5,[new cljs.core.Keyword("cljs.spec.alpha","kind-form","cljs.spec.alpha/kind-form",-1047104697),null,new cljs.core.Keyword("cljs.spec.alpha","cpred","cljs.spec.alpha/cpred",
-693471218),function(a){return cljs.core.coll_QMARK_.call(null,a)&&cljs.core._EQ_.call(null,weathergen.falcon.constants.MOVEMENT_TYPES,cljs.core.bounded_count.call(null,weathergen.falcon.constants.MOVEMENT_TYPES,a))},new cljs.core.Keyword(null,"count","count",2139924085),weathergen.falcon.constants.MOVEMENT_TYPES,new cljs.core.Keyword("cljs.spec.alpha","conform-all","cljs.spec.alpha/conform-all",45201917),!0,new cljs.core.Keyword("cljs.spec.alpha","describe","cljs.spec.alpha/describe",1883026911),
cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha","coll-of","cljs.spec.alpha/coll-of",1019430407,null),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null),new cljs.core.Keyword(null,"count","count",2139924085),new cljs.core.Symbol("c","MOVEMENT_TYPES","c/MOVEMENT_TYPES",642974624,null))],null),null),cljs.core.integer_QMARK_],null),null));
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","hit-points","weathergen.falcon.files.mission/hit-points",653556402),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null),cljs.core.integer_QMARK_);
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","hitpoints","weathergen.falcon.files.mission/hitpoints",1104859779),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null),cljs.core.integer_QMARK_);cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","hour","weathergen.falcon.files.mission/hour",-1046940500),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null),cljs.core.integer_QMARK_);
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","icon-index","weathergen.falcon.files.mission/icon-index",-1766996784),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null),cljs.core.integer_QMARK_);
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","id-\x3ename","weathergen.falcon.files.mission/id-\x3ename",1915082760),cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha","map-of","cljs.spec.alpha/map-of",153715093,null),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null),new cljs.core.Symbol("cljs.core","string?","cljs.core/string?",-2072921719,null)),cljs.spec.alpha.every_impl.call(null,cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha",
"tuple","cljs.spec.alpha/tuple",-415901908,null),new cljs.core.Symbol(null,"integer?","integer?",1303791671,null),new cljs.core.Symbol(null,"string?","string?",-1129175764,null)),cljs.spec.alpha.tuple_impl.call(null,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null),new cljs.core.Symbol("cljs.core","string?","cljs.core/string?",-2072921719,null)],null),new cljs.core.PersistentVector(null,
2,5,cljs.core.PersistentVector.EMPTY_NODE,[cljs.core.integer_QMARK_,cljs.core.string_QMARK_],null)),new cljs.core.PersistentArrayMap(null,7,[new cljs.core.Keyword(null,"into","into",-150836029),cljs.core.PersistentArrayMap.EMPTY,new cljs.core.Keyword("cljs.spec.alpha","kind-form","cljs.spec.alpha/kind-form",-1047104697),new cljs.core.Symbol("cljs.core","map?","cljs.core/map?",-1390345523,null),new cljs.core.Keyword("cljs.spec.alpha","cpred","cljs.spec.alpha/cpred",-693471218),function(a){return cljs.core.map_QMARK_.call(null,
a)},new cljs.core.Keyword(null,"kind","kind",-717265803),cljs.core.map_QMARK_,new cljs.core.Keyword("cljs.spec.alpha","kfn","cljs.spec.alpha/kfn",672643897),function(a,b){return cljs.core.nth.call(null,b,0)},new cljs.core.Keyword("cljs.spec.alpha","conform-all","cljs.spec.alpha/conform-all",45201917),!0,new cljs.core.Keyword("cljs.spec.alpha","describe","cljs.spec.alpha/describe",1883026911),cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha","map-of","cljs.spec.alpha/map-of",153715093,null),new cljs.core.Symbol("cljs.core",
"integer?","cljs.core/integer?",1710697810,null),new cljs.core.Symbol("cljs.core","string?","cljs.core/string?",-2072921719,null))],null),null));cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","idx-modified","weathergen.falcon.files.mission/idx-modified",-353031638),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null),cljs.core.integer_QMARK_);
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","idx-size","weathergen.falcon.files.mission/idx-size",117504199),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null),cljs.core.integer_QMARK_);cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.images","id","weathergen.falcon.files.images/id",-1163388806),new cljs.core.Symbol("cljs.core","string?","cljs.core/string?",-2072921719,null),cljs.core.string_QMARK_);
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("loadout","id","loadout/id",-1186090580),cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha","coll-of","cljs.spec.alpha/coll-of",1019430407,null),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null),new cljs.core.Keyword(null,"count","count",2139924085),16),cljs.spec.alpha.every_impl.call(null,new cljs.core.Symbol(null,"integer?","integer?",1303791671,null),cljs.core.integer_QMARK_,new cljs.core.PersistentArrayMap(null,
5,[new cljs.core.Keyword("cljs.spec.alpha","kind-form","cljs.spec.alpha/kind-form",-1047104697),null,new cljs.core.Keyword("cljs.spec.alpha","cpred","cljs.spec.alpha/cpred",-693471218),function(a){return cljs.core.coll_QMARK_.call(null,a)&&cljs.core._EQ_.call(null,16,cljs.core.bounded_count.call(null,16,a))},new cljs.core.Keyword(null,"count","count",2139924085),16,new cljs.core.Keyword("cljs.spec.alpha","conform-all","cljs.spec.alpha/conform-all",45201917),!0,new cljs.core.Keyword("cljs.spec.alpha",
"describe","cljs.spec.alpha/describe",1883026911),cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha","coll-of","cljs.spec.alpha/coll-of",1019430407,null),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null),new cljs.core.Keyword(null,"count","count",2139924085),16)],null),null));cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("ppt","id","ppt/id",-1388419136),new cljs.core.Symbol("cljs.core","string?","cljs.core/string?",-2072921719,null),cljs.core.string_QMARK_);
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("int","id","int/id",-1388428731),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null),cljs.core.integer_QMARK_);cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("vu","id","vu/id",-1388397675),new cljs.core.Symbol("weathergen.falcon.files.mission","VuId","weathergen.falcon.files.mission/VuId",675489086,null),weathergen.falcon.files.mission.VuId);
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","image-id","weathergen.falcon.files.mission/image-id",1748867389),new cljs.core.Symbol("cljs.core","string?","cljs.core/string?",-2072921719,null),cljs.core.string_QMARK_);
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","image-data","weathergen.falcon.files.mission/image-data",1305050248),new cljs.core.Symbol("weathergen.falcon.files.mission","ImageData","weathergen.falcon.files.mission/ImageData",-767939513,null),weathergen.falcon.files.mission.ImageData);
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","image","weathergen.falcon.files.mission/image",-1683332210),cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha","nilable","cljs.spec.alpha/nilable",1628308748,null),new cljs.core.Symbol("weathergen.falcon.files.mission","ImageDescriptor","weathergen.falcon.files.mission/ImageDescriptor",1862906272,null)),cljs.spec.alpha.nilable_impl.call(null,new cljs.core.Symbol("weathergen.falcon.files.mission","ImageDescriptor",
"weathergen.falcon.files.mission/ImageDescriptor",1862906272,null),weathergen.falcon.files.mission.ImageDescriptor,null));cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","image-offset","weathergen.falcon.files.mission/image-offset",800625690),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null),cljs.core.integer_QMARK_);
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","image-ids","weathergen.falcon.files.mission/image-ids",2141950065),new cljs.core.Symbol("weathergen.falcon.files.mission","IdList","weathergen.falcon.files.mission/IdList",439773059,null),weathergen.falcon.files.mission.IdList);
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","index","weathergen.falcon.files.mission/index",-1989089649),new cljs.core.Symbol("weathergen.falcon.files.mission","NonNegativeInt","weathergen.falcon.files.mission/NonNegativeInt",-1370796826,null),weathergen.falcon.files.mission.NonNegativeInt);
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","initiatve","weathergen.falcon.files.mission/initiatve",1702683485),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null),cljs.core.integer_QMARK_);
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","initial-fuel","weathergen.falcon.files.mission/initial-fuel",-151699645),cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha","coll-of","cljs.spec.alpha/coll-of",1019430407,null),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null),new cljs.core.Keyword(null,"count","count",2139924085),4),cljs.spec.alpha.every_impl.call(null,new cljs.core.Symbol(null,"integer?","integer?",1303791671,
null),cljs.core.integer_QMARK_,new cljs.core.PersistentArrayMap(null,5,[new cljs.core.Keyword("cljs.spec.alpha","kind-form","cljs.spec.alpha/kind-form",-1047104697),null,new cljs.core.Keyword("cljs.spec.alpha","cpred","cljs.spec.alpha/cpred",-693471218),function(a){return cljs.core.coll_QMARK_.call(null,a)&&cljs.core._EQ_.call(null,4,cljs.core.bounded_count.call(null,4,a))},new cljs.core.Keyword(null,"count","count",2139924085),4,new cljs.core.Keyword("cljs.spec.alpha","conform-all","cljs.spec.alpha/conform-all",
45201917),!0,new cljs.core.Keyword("cljs.spec.alpha","describe","cljs.spec.alpha/describe",1883026911),cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha","coll-of","cljs.spec.alpha/coll-of",1019430407,null),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null),new cljs.core.Keyword(null,"count","count",2139924085),4)],null),null));
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","installation","weathergen.falcon.files.mission/installation",-656616400),new cljs.core.Symbol("weathergen.falcon.files.mission","Installation","weathergen.falcon.files.mission/Installation",-422785575,null),weathergen.falcon.files.mission.Installation);
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","installs","weathergen.falcon.files.mission/installs",-318791777),new cljs.core.Symbol("weathergen.falcon.files.mission","Installs","weathergen.falcon.files.mission/Installs",194555236,null),weathergen.falcon.files.mission.Installs);
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","install-dir","weathergen.falcon.files.mission/install-dir",-577598648),new cljs.core.Symbol("weathergen.falcon.files.mission","Dir","weathergen.falcon.files.mission/Dir",490740314,null),weathergen.falcon.files.mission.Dir);
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","laser-codes","weathergen.falcon.files.mission/laser-codes",-782137624),cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha","coll-of","cljs.spec.alpha/coll-of",1019430407,null),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null),new cljs.core.Keyword(null,"count","count",2139924085),4),cljs.spec.alpha.every_impl.call(null,new cljs.core.Symbol(null,"integer?","integer?",1303791671,
null),cljs.core.integer_QMARK_,new cljs.core.PersistentArrayMap(null,5,[new cljs.core.Keyword("cljs.spec.alpha","kind-form","cljs.spec.alpha/kind-form",-1047104697),null,new cljs.core.Keyword("cljs.spec.alpha","cpred","cljs.spec.alpha/cpred",-693471218),function(a){return cljs.core.coll_QMARK_.call(null,a)&&cljs.core._EQ_.call(null,4,cljs.core.bounded_count.call(null,4,a))},new cljs.core.Keyword(null,"count","count",2139924085),4,new cljs.core.Keyword("cljs.spec.alpha","conform-all","cljs.spec.alpha/conform-all",
45201917),!0,new cljs.core.Keyword("cljs.spec.alpha","describe","cljs.spec.alpha/describe",1883026911),cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha","coll-of","cljs.spec.alpha/coll-of",1019430407,null),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null),new cljs.core.Keyword(null,"count","count",2139924085),4)],null),null));
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","last-check","weathergen.falcon.files.mission/last-check",-948350819),new cljs.core.Symbol("weathergen.falcon.files.mission","CampaignTime","weathergen.falcon.files.mission/CampaignTime",1868159822,null),weathergen.falcon.files.mission.CampaignTime);
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","last-combat","weathergen.falcon.files.mission/last-combat",-2053677989),new cljs.core.Symbol("weathergen.falcon.files.mission","CampaignTime","weathergen.falcon.files.mission/CampaignTime",1868159822,null),weathergen.falcon.files.mission.CampaignTime);
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","last-direction","weathergen.falcon.files.mission/last-direction",919811040),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null),cljs.core.integer_QMARK_);
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","last-index-num","weathergen.falcon.files.mission/last-index-num",452675808),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null),cljs.core.integer_QMARK_);
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","last-major-event","weathergen.falcon.files.mission/last-major-event",-895786154),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null),cljs.core.integer_QMARK_);
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","last-move","weathergen.falcon.files.mission/last-move",379400310),new cljs.core.Symbol("weathergen.falcon.files.mission","CampaignTime","weathergen.falcon.files.mission/CampaignTime",1868159822,null),weathergen.falcon.files.mission.CampaignTime);
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","last-player-mission","weathergen.falcon.files.mission/last-player-mission",-1819020189),new cljs.core.Symbol("weathergen.falcon.files.mission","CampaignTime","weathergen.falcon.files.mission/CampaignTime",1868159822,null),weathergen.falcon.files.mission.CampaignTime);
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","last-player-slot","weathergen.falcon.files.mission/last-player-slot",1113132742),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null),cljs.core.integer_QMARK_);
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","last-objective","weathergen.falcon.files.mission/last-objective",-95318299),new cljs.core.Symbol("weathergen.falcon.files.mission","VuId","weathergen.falcon.files.mission/VuId",675489086,null),weathergen.falcon.files.mission.VuId);
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","last-reinforcement","weathergen.falcon.files.mission/last-reinforcement",-1909723123),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null),cljs.core.integer_QMARK_);cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("int","last-repair","int/last-repair",1136169674),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null),cljs.core.integer_QMARK_);
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","last-repair","weathergen.falcon.files.mission/last-repair",-1526954899),new cljs.core.Symbol("weathergen.falcon.files.mission","CampaignTime","weathergen.falcon.files.mission/CampaignTime",1868159822,null),weathergen.falcon.files.mission.CampaignTime);
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","last-resupply","weathergen.falcon.files.mission/last-resupply",-1582504574),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null),cljs.core.integer_QMARK_);
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","last-wingman","weathergen.falcon.files.mission/last-wingman",1830035207),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null),cljs.core.integer_QMARK_);
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","links","weathergen.falcon.files.mission/links",875727916),cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha","coll-of","cljs.spec.alpha/coll-of",1019430407,null),new cljs.core.Symbol("weathergen.falcon.files.mission","ObjectiveLink","weathergen.falcon.files.mission/ObjectiveLink",-955449747,null)),cljs.spec.alpha.every_impl.call(null,new cljs.core.Symbol(null,"ObjectiveLink","ObjectiveLink",-1547602693,
null),weathergen.falcon.files.mission.ObjectiveLink,new cljs.core.PersistentArrayMap(null,4,[new cljs.core.Keyword("cljs.spec.alpha","kind-form","cljs.spec.alpha/kind-form",-1047104697),null,new cljs.core.Keyword("cljs.spec.alpha","cpred","cljs.spec.alpha/cpred",-693471218),function(a){return cljs.core.coll_QMARK_.call(null,a)},new cljs.core.Keyword("cljs.spec.alpha","conform-all","cljs.spec.alpha/conform-all",45201917),!0,new cljs.core.Keyword("cljs.spec.alpha","describe","cljs.spec.alpha/describe",
1883026911),cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha","coll-of","cljs.spec.alpha/coll-of",1019430407,null),new cljs.core.Symbol("weathergen.falcon.files.mission","ObjectiveLink","weathergen.falcon.files.mission/ObjectiveLink",-955449747,null))],null),null));
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","loadouts","weathergen.falcon.files.mission/loadouts",142269567),cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha","coll-of","cljs.spec.alpha/coll-of",1019430407,null),new cljs.core.Symbol("weathergen.falcon.files.mission","VmtLoadout","weathergen.falcon.files.mission/VmtLoadout",-1593605022,null)),cljs.spec.alpha.every_impl.call(null,new cljs.core.Symbol(null,"VmtLoadout","VmtLoadout",83628760,null),weathergen.falcon.files.mission.VmtLoadout,
new cljs.core.PersistentArrayMap(null,4,[new cljs.core.Keyword("cljs.spec.alpha","kind-form","cljs.spec.alpha/kind-form",-1047104697),null,new cljs.core.Keyword("cljs.spec.alpha","cpred","cljs.spec.alpha/cpred",-693471218),function(a){return cljs.core.coll_QMARK_.call(null,a)},new cljs.core.Keyword("cljs.spec.alpha","conform-all","cljs.spec.alpha/conform-all",45201917),!0,new cljs.core.Keyword("cljs.spec.alpha","describe","cljs.spec.alpha/describe",1883026911),cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha",
"coll-of","cljs.spec.alpha/coll-of",1019430407,null),new cljs.core.Symbol("weathergen.falcon.files.mission","VmtLoadout","weathergen.falcon.files.mission/VmtLoadout",-1593605022,null))],null),null));
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("flight","loadouts","flight/loadouts",-1590233423),cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha","coll-of","cljs.spec.alpha/coll-of",1019430407,null),new cljs.core.Symbol("weathergen.falcon.files.mission","Loadout","weathergen.falcon.files.mission/Loadout",1837193905,null)),cljs.spec.alpha.every_impl.call(null,new cljs.core.Symbol(null,"Loadout","Loadout",-935008469,null),weathergen.falcon.files.mission.Loadout,new cljs.core.PersistentArrayMap(null,
4,[new cljs.core.Keyword("cljs.spec.alpha","kind-form","cljs.spec.alpha/kind-form",-1047104697),null,new cljs.core.Keyword("cljs.spec.alpha","cpred","cljs.spec.alpha/cpred",-693471218),function(a){return cljs.core.coll_QMARK_.call(null,a)},new cljs.core.Keyword("cljs.spec.alpha","conform-all","cljs.spec.alpha/conform-all",45201917),!0,new cljs.core.Keyword("cljs.spec.alpha","describe","cljs.spec.alpha/describe",1883026911),cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha","coll-of","cljs.spec.alpha/coll-of",
1019430407,null),new cljs.core.Symbol("weathergen.falcon.files.mission","Loadout","weathergen.falcon.files.mission/Loadout",1837193905,null))],null),null));
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","location","weathergen.falcon.files.mission/location",125705122),cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha","keys","cljs.spec.alpha/keys",1109346032,null),new cljs.core.Keyword(null,"req-un","req-un",1074571008),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword("weathergen.falcon.files.mission","x","weathergen.falcon.files.mission/x",-773377357),
new cljs.core.Keyword("weathergen.falcon.files.mission","y","weathergen.falcon.files.mission/y",-1199341078)],null)),cljs.spec.alpha.map_spec_impl.call(null,cljs.core.PersistentHashMap.fromArrays([new cljs.core.Keyword(null,"req-un","req-un",1074571008),new cljs.core.Keyword(null,"opt-un","opt-un",883442496),new cljs.core.Keyword(null,"gfn","gfn",791517474),new cljs.core.Keyword(null,"pred-exprs","pred-exprs",1792271395),new cljs.core.Keyword(null,"keys-pred","keys-pred",858984739),new cljs.core.Keyword(null,
"opt-keys","opt-keys",1262688261),new cljs.core.Keyword(null,"req-specs","req-specs",553962313),new cljs.core.Keyword(null,"req","req",-326448303),new cljs.core.Keyword(null,"req-keys","req-keys",514319221),new cljs.core.Keyword(null,"opt-specs","opt-specs",-384905450),new cljs.core.Keyword(null,"pred-forms","pred-forms",172611832),new cljs.core.Keyword(null,"opt","opt",-794706369)],[new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword("weathergen.falcon.files.mission",
"x","weathergen.falcon.files.mission/x",-773377357),new cljs.core.Keyword("weathergen.falcon.files.mission","y","weathergen.falcon.files.mission/y",-1199341078)],null),null,null,new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,[function(a){return cljs.core.map_QMARK_.call(null,a)},function(a){return cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"x","x",2099068185))},function(a){return cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,
"y","y",-1757859776))}],null),function(a){return cljs.core.map_QMARK_.call(null,a)&&cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"x","x",2099068185))&&cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"y","y",-1757859776))},cljs.core.PersistentVector.EMPTY,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword("weathergen.falcon.files.mission","x","weathergen.falcon.files.mission/x",-773377357),new cljs.core.Keyword("weathergen.falcon.files.mission",
"y","weathergen.falcon.files.mission/y",-1199341078)],null),null,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"x","x",2099068185),new cljs.core.Keyword(null,"y","y",-1757859776)],null),cljs.core.PersistentVector.EMPTY,new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,[cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,
[new cljs.core.Symbol(null,"%","%",-950237169,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core","map?","cljs.core/map?",-1390345523,null),new cljs.core.Symbol(null,"%","%",-950237169,null))),cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"%","%",-950237169,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core","contains?","cljs.core/contains?",
-976526835,null),new cljs.core.Symbol(null,"%","%",-950237169,null),new cljs.core.Keyword(null,"x","x",2099068185))),cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"%","%",-950237169,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core","contains?","cljs.core/contains?",-976526835,null),new cljs.core.Symbol(null,"%","%",-950237169,null),new cljs.core.Keyword(null,
"y","y",-1757859776)))],null),null])));cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","losses","weathergen.falcon.files.mission/losses",-1879114985),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null),cljs.core.integer_QMARK_);
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","low-alt","weathergen.falcon.files.mission/low-alt",1328958093),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null),cljs.core.integer_QMARK_);cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","ltrt","weathergen.falcon.files.mission/ltrt",1657658217),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null),cljs.core.integer_QMARK_);
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","magneticdeclination","weathergen.falcon.files.mission/magneticdeclination",-536185241),new cljs.core.Symbol("cljs.core","string?","cljs.core/string?",-2072921719,null),cljs.core.string_QMARK_);
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","major-revision-number","weathergen.falcon.files.mission/major-revision-number",-1627500611),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null),cljs.core.integer_QMARK_);
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","management-domain","weathergen.falcon.files.mission/management-domain",1287075328),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null),cljs.core.integer_QMARK_);
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","manager-flags","weathergen.falcon.files.mission/manager-flags",1548895997),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null),cljs.core.integer_QMARK_);
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","map","weathergen.falcon.files.mission/map",1963187287),cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha","coll-of","cljs.spec.alpha/coll-of",1019430407,null),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null)),cljs.spec.alpha.every_impl.call(null,new cljs.core.Symbol(null,"integer?","integer?",1303791671,null),cljs.core.integer_QMARK_,new cljs.core.PersistentArrayMap(null,
4,[new cljs.core.Keyword("cljs.spec.alpha","kind-form","cljs.spec.alpha/kind-form",-1047104697),null,new cljs.core.Keyword("cljs.spec.alpha","cpred","cljs.spec.alpha/cpred",-693471218),function(a){return cljs.core.coll_QMARK_.call(null,a)},new cljs.core.Keyword("cljs.spec.alpha","conform-all","cljs.spec.alpha/conform-all",45201917),!0,new cljs.core.Keyword("cljs.spec.alpha","describe","cljs.spec.alpha/describe",1883026911),cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha","coll-of","cljs.spec.alpha/coll-of",
1019430407,null),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null))],null),null));cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","map-image","weathergen.falcon.files.mission/map-image",-1703634500),new cljs.core.Symbol("weathergen.falcon.files.mission","ImageDescriptor","weathergen.falcon.files.mission/ImageDescriptor",1862906272,null),weathergen.falcon.files.mission.ImageDescriptor);
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","match-strength","weathergen.falcon.files.mission/match-strength",2049881332),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null),cljs.core.integer_QMARK_);
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","max-alt","weathergen.falcon.files.mission/max-alt",1099967840),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null),cljs.core.integer_QMARK_);
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","max-range","weathergen.falcon.files.mission/max-range",157618515),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null),cljs.core.integer_QMARK_);
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","max-speed","weathergen.falcon.files.mission/max-speed",1472926629),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null),cljs.core.integer_QMARK_);
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","max-to","weathergen.falcon.files.mission/max-to",-879986357),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null),cljs.core.integer_QMARK_);
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","max-vehicle","weathergen.falcon.files.mission/max-vehicle",1402076517),cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha","coll-of","cljs.spec.alpha/coll-of",1019430407,null),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null),new cljs.core.Keyword(null,"count","count",2139924085),4),cljs.spec.alpha.every_impl.call(null,new cljs.core.Symbol(null,"integer?","integer?",1303791671,
null),cljs.core.integer_QMARK_,new cljs.core.PersistentArrayMap(null,5,[new cljs.core.Keyword("cljs.spec.alpha","kind-form","cljs.spec.alpha/kind-form",-1047104697),null,new cljs.core.Keyword("cljs.spec.alpha","cpred","cljs.spec.alpha/cpred",-693471218),function(a){return cljs.core.coll_QMARK_.call(null,a)&&cljs.core._EQ_.call(null,4,cljs.core.bounded_count.call(null,4,a))},new cljs.core.Keyword(null,"count","count",2139924085),4,new cljs.core.Keyword("cljs.spec.alpha","conform-all","cljs.spec.alpha/conform-all",
45201917),!0,new cljs.core.Keyword("cljs.spec.alpha","describe","cljs.spec.alpha/describe",1883026911),cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha","coll-of","cljs.spec.alpha/coll-of",1019430407,null),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null),new cljs.core.Keyword(null,"count","count",2139924085),4)],null),null));
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","max-wt","weathergen.falcon.files.mission/max-wt",702316109),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null),cljs.core.integer_QMARK_);
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","members","weathergen.falcon.files.mission/members",-1782598568),cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha","coll-of","cljs.spec.alpha/coll-of",1019430407,null),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null),new cljs.core.Keyword(null,"count","count",2139924085),8),cljs.spec.alpha.every_impl.call(null,new cljs.core.Symbol(null,"integer?","integer?",1303791671,null),
cljs.core.integer_QMARK_,new cljs.core.PersistentArrayMap(null,5,[new cljs.core.Keyword("cljs.spec.alpha","kind-form","cljs.spec.alpha/kind-form",-1047104697),null,new cljs.core.Keyword("cljs.spec.alpha","cpred","cljs.spec.alpha/cpred",-693471218),function(a){return cljs.core.coll_QMARK_.call(null,a)&&cljs.core._EQ_.call(null,8,cljs.core.bounded_count.call(null,8,a))},new cljs.core.Keyword(null,"count","count",2139924085),8,new cljs.core.Keyword("cljs.spec.alpha","conform-all","cljs.spec.alpha/conform-all",
45201917),!0,new cljs.core.Keyword("cljs.spec.alpha","describe","cljs.spec.alpha/describe",1883026911),cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha","coll-of","cljs.spec.alpha/coll-of",1019430407,null),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null),new cljs.core.Keyword(null,"count","count",2139924085),8)],null),null));
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","millisecond","weathergen.falcon.files.mission/millisecond",-2128287792),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null),cljs.core.integer_QMARK_);
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","min-to","weathergen.falcon.files.mission/min-to",2143567845),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null),cljs.core.integer_QMARK_);
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","minor-revision-number","weathergen.falcon.files.mission/minor-revision-number",2137407463),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null),cljs.core.integer_QMARK_);
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","minute","weathergen.falcon.files.mission/minute",880078185),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null),cljs.core.integer_QMARK_);cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","mintacan","weathergen.falcon.files.mission/mintacan",141787016),new cljs.core.Symbol("cljs.core","string?","cljs.core/string?",-2072921719,null),cljs.core.string_QMARK_);
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","misc-text-dir","weathergen.falcon.files.mission/misc-text-dir",1894523511),new cljs.core.Symbol("weathergen.falcon.files.mission","Dir","weathergen.falcon.files.mission/Dir",490740314,null),weathergen.falcon.files.mission.Dir);
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("mission-request","mission","mission-request/mission",549236284),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null),cljs.core.integer_QMARK_);
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","mission","weathergen.falcon.files.mission/mission",43331456),cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha","keys","cljs.spec.alpha/keys",1109346032,null),new cljs.core.Keyword(null,"req-un","req-un",1074571008),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword("weathergen.falcon.files.mission","name","weathergen.falcon.files.mission/name",1235339975),
new cljs.core.Keyword("weathergen.falcon.files.mission","category","weathergen.falcon.files.mission/category",-505967670)],null)),cljs.spec.alpha.map_spec_impl.call(null,cljs.core.PersistentHashMap.fromArrays([new cljs.core.Keyword(null,"req-un","req-un",1074571008),new cljs.core.Keyword(null,"opt-un","opt-un",883442496),new cljs.core.Keyword(null,"gfn","gfn",791517474),new cljs.core.Keyword(null,"pred-exprs","pred-exprs",1792271395),new cljs.core.Keyword(null,"keys-pred","keys-pred",858984739),new cljs.core.Keyword(null,
"opt-keys","opt-keys",1262688261),new cljs.core.Keyword(null,"req-specs","req-specs",553962313),new cljs.core.Keyword(null,"req","req",-326448303),new cljs.core.Keyword(null,"req-keys","req-keys",514319221),new cljs.core.Keyword(null,"opt-specs","opt-specs",-384905450),new cljs.core.Keyword(null,"pred-forms","pred-forms",172611832),new cljs.core.Keyword(null,"opt","opt",-794706369)],[new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword("weathergen.falcon.files.mission",
"name","weathergen.falcon.files.mission/name",1235339975),new cljs.core.Keyword("weathergen.falcon.files.mission","category","weathergen.falcon.files.mission/category",-505967670)],null),null,null,new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,[function(a){return cljs.core.map_QMARK_.call(null,a)},function(a){return cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"name","name",1843675177))},function(a){return cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,
"category","category",-593092832))}],null),function(a){return cljs.core.map_QMARK_.call(null,a)&&cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"name","name",1843675177))&&cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"category","category",-593092832))},cljs.core.PersistentVector.EMPTY,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword("weathergen.falcon.files.mission","name","weathergen.falcon.files.mission/name",
1235339975),new cljs.core.Keyword("weathergen.falcon.files.mission","category","weathergen.falcon.files.mission/category",-505967670)],null),null,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"name","name",1843675177),new cljs.core.Keyword(null,"category","category",-593092832)],null),cljs.core.PersistentVector.EMPTY,new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,[cljs.core.list(new cljs.core.Symbol("cljs.core",
"fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"%","%",-950237169,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core","map?","cljs.core/map?",-1390345523,null),new cljs.core.Symbol(null,"%","%",-950237169,null))),cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,
"%","%",-950237169,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core","contains?","cljs.core/contains?",-976526835,null),new cljs.core.Symbol(null,"%","%",-950237169,null),new cljs.core.Keyword(null,"name","name",1843675177))),cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"%","%",-950237169,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core",
"contains?","cljs.core/contains?",-976526835,null),new cljs.core.Symbol(null,"%","%",-950237169,null),new cljs.core.Keyword(null,"category","category",-593092832)))],null),null])));cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("flight","mission","flight/mission",472463770),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null),cljs.core.integer_QMARK_);
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","mission-context","weathergen.falcon.files.mission/mission-context",-2087987666),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null),cljs.core.integer_QMARK_);
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","mission-id","weathergen.falcon.files.mission/mission-id",-298821030),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null),cljs.core.integer_QMARK_);
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","mission-name","weathergen.falcon.files.mission/mission-name",-1286039680),new cljs.core.Symbol("cljs.core","string?","cljs.core/string?",-2072921719,null),cljs.core.string_QMARK_);
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","mission-target","weathergen.falcon.files.mission/mission-target",1990621919),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null),cljs.core.integer_QMARK_);
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","mission-over-time","weathergen.falcon.files.mission/mission-over-time",-1661900701),new cljs.core.Symbol("weathergen.falcon.files.mission","CampaignTime","weathergen.falcon.files.mission/CampaignTime",1868159822,null),weathergen.falcon.files.mission.CampaignTime);
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","mission-priority","weathergen.falcon.files.mission/mission-priority",168452709),cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha","coll-of","cljs.spec.alpha/coll-of",1019430407,null),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null),new cljs.core.Keyword(null,"count","count",2139924085),41),cljs.spec.alpha.every_impl.call(null,new cljs.core.Symbol(null,"integer?","integer?",
1303791671,null),cljs.core.integer_QMARK_,new cljs.core.PersistentArrayMap(null,5,[new cljs.core.Keyword("cljs.spec.alpha","kind-form","cljs.spec.alpha/kind-form",-1047104697),null,new cljs.core.Keyword("cljs.spec.alpha","cpred","cljs.spec.alpha/cpred",-693471218),function(a){return cljs.core.coll_QMARK_.call(null,a)&&cljs.core._EQ_.call(null,41,cljs.core.bounded_count.call(null,41,a))},new cljs.core.Keyword(null,"count","count",2139924085),41,new cljs.core.Keyword("cljs.spec.alpha","conform-all",
"cljs.spec.alpha/conform-all",45201917),!0,new cljs.core.Keyword("cljs.spec.alpha","describe","cljs.spec.alpha/describe",1883026911),cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha","coll-of","cljs.spec.alpha/coll-of",1019430407,null),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null),new cljs.core.Keyword(null,"count","count",2139924085),41)],null),null));
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","mission-requests","weathergen.falcon.files.mission/mission-requests",-1553253637),cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha","coll-of","cljs.spec.alpha/coll-of",1019430407,null),new cljs.core.Symbol("weathergen.falcon.files.mission","MissionRequest","weathergen.falcon.files.mission/MissionRequest",-59096358,null)),cljs.spec.alpha.every_impl.call(null,new cljs.core.Symbol(null,"MissionRequest","MissionRequest",
524286292,null),weathergen.falcon.files.mission.MissionRequest,new cljs.core.PersistentArrayMap(null,4,[new cljs.core.Keyword("cljs.spec.alpha","kind-form","cljs.spec.alpha/kind-form",-1047104697),null,new cljs.core.Keyword("cljs.spec.alpha","cpred","cljs.spec.alpha/cpred",-693471218),function(a){return cljs.core.coll_QMARK_.call(null,a)},new cljs.core.Keyword("cljs.spec.alpha","conform-all","cljs.spec.alpha/conform-all",45201917),!0,new cljs.core.Keyword("cljs.spec.alpha","describe","cljs.spec.alpha/describe",
1883026911),cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha","coll-of","cljs.spec.alpha/coll-of",1019430407,null),new cljs.core.Symbol("weathergen.falcon.files.mission","MissionRequest","weathergen.falcon.files.mission/MissionRequest",-59096358,null))],null),null));
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","motto","weathergen.falcon.files.mission/motto",1232886770),new cljs.core.Symbol("cljs.core","string?","cljs.core/string?",-2072921719,null),cljs.core.string_QMARK_);cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","moved","weathergen.falcon.files.mission/moved",1009361001),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null),cljs.core.integer_QMARK_);
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","movement-speed","weathergen.falcon.files.mission/movement-speed",-240469229),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null),cljs.core.integer_QMARK_);
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","movement-type","weathergen.falcon.files.mission/movement-type",1422793885),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null),cljs.core.integer_QMARK_);
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","name","weathergen.falcon.files.mission/name",1235339975),new cljs.core.Symbol("cljs.core","string?","cljs.core/string?",-2072921719,null),cljs.core.string_QMARK_);
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","names","weathergen.falcon.files.mission/names",658607436),cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha","fspec","cljs.spec.alpha/fspec",-1289128341,null),new cljs.core.Keyword(null,"args","args",1315556576),cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha","cat","cljs.spec.alpha/cat",-1471398329,null),new cljs.core.Keyword(null,"idx","idx",1053688473),new cljs.core.Symbol("weathergen.falcon.files.mission",
"NonNegativeInt","weathergen.falcon.files.mission/NonNegativeInt",-1370796826,null)),new cljs.core.Keyword(null,"ret","ret",-468222814),cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha","nilable","cljs.spec.alpha/nilable",1628308748,null),new cljs.core.Symbol("cljs.core","string?","cljs.core/string?",-2072921719,null))),cljs.spec.alpha.fspec_impl.call(null,cljs.spec.alpha.spec_impl.call(null,cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha","cat","cljs.spec.alpha/cat",-1471398329,null),new cljs.core.Keyword(null,
"idx","idx",1053688473),new cljs.core.Symbol("weathergen.falcon.files.mission","NonNegativeInt","weathergen.falcon.files.mission/NonNegativeInt",-1370796826,null)),cljs.spec.alpha.cat_impl.call(null,new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"idx","idx",1053688473)],null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[weathergen.falcon.files.mission.NonNegativeInt],null),new cljs.core.PersistentVector(null,
1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol("weathergen.falcon.files.mission","NonNegativeInt","weathergen.falcon.files.mission/NonNegativeInt",-1370796826,null)],null)),null,null),cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha","cat","cljs.spec.alpha/cat",-1471398329,null),new cljs.core.Keyword(null,"idx","idx",1053688473),new cljs.core.Symbol("weathergen.falcon.files.mission","NonNegativeInt","weathergen.falcon.files.mission/NonNegativeInt",-1370796826,null)),cljs.spec.alpha.spec_impl.call(null,
cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha","nilable","cljs.spec.alpha/nilable",1628308748,null),new cljs.core.Symbol("cljs.core","string?","cljs.core/string?",-2072921719,null)),cljs.spec.alpha.nilable_impl.call(null,new cljs.core.Symbol("cljs.core","string?","cljs.core/string?",-2072921719,null),cljs.core.string_QMARK_,null),null,null),cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha","nilable","cljs.spec.alpha/nilable",1628308748,null),new cljs.core.Symbol("cljs.core","string?","cljs.core/string?",
-2072921719,null)),null,null,null));cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","naval-experience","weathergen.falcon.files.mission/naval-experience",-2058678548),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null),cljs.core.integer_QMARK_);
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","naval-ratio","weathergen.falcon.files.mission/naval-ratio",358568752),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null),cljs.core.integer_QMARK_);
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","naval-tasking-manager","weathergen.falcon.files.mission/naval-tasking-manager",346066399),new cljs.core.Symbol("weathergen.falcon.files.mission","NavalTaskingManager","weathergen.falcon.files.mission/NavalTaskingManager",755059275,null),weathergen.falcon.files.mission.NavalTaskingManager);
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("int","name","int/name",1843783706),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null),cljs.core.integer_QMARK_);
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","name-\x3eid","weathergen.falcon.files.mission/name-\x3eid",1859267374),cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha","map-of","cljs.spec.alpha/map-of",153715093,null),new cljs.core.Symbol("cljs.core","string?","cljs.core/string?",-2072921719,null),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null)),cljs.spec.alpha.every_impl.call(null,cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha",
"tuple","cljs.spec.alpha/tuple",-415901908,null),new cljs.core.Symbol(null,"string?","string?",-1129175764,null),new cljs.core.Symbol(null,"integer?","integer?",1303791671,null)),cljs.spec.alpha.tuple_impl.call(null,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol("cljs.core","string?","cljs.core/string?",-2072921719,null),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null)],null),new cljs.core.PersistentVector(null,
2,5,cljs.core.PersistentVector.EMPTY_NODE,[cljs.core.string_QMARK_,cljs.core.integer_QMARK_],null)),new cljs.core.PersistentArrayMap(null,7,[new cljs.core.Keyword(null,"into","into",-150836029),cljs.core.PersistentArrayMap.EMPTY,new cljs.core.Keyword("cljs.spec.alpha","kind-form","cljs.spec.alpha/kind-form",-1047104697),new cljs.core.Symbol("cljs.core","map?","cljs.core/map?",-1390345523,null),new cljs.core.Keyword("cljs.spec.alpha","cpred","cljs.spec.alpha/cpred",-693471218),function(a){return cljs.core.map_QMARK_.call(null,
a)},new cljs.core.Keyword(null,"kind","kind",-717265803),cljs.core.map_QMARK_,new cljs.core.Keyword("cljs.spec.alpha","kfn","cljs.spec.alpha/kfn",672643897),function(a,b){return cljs.core.nth.call(null,b,0)},new cljs.core.Keyword("cljs.spec.alpha","conform-all","cljs.spec.alpha/conform-all",45201917),!0,new cljs.core.Keyword("cljs.spec.alpha","describe","cljs.spec.alpha/describe",1883026911),cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha","map-of","cljs.spec.alpha/map-of",153715093,null),new cljs.core.Symbol("cljs.core",
"string?","cljs.core/string?",-2072921719,null),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null))],null),null));cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","name-id","weathergen.falcon.files.mission/name-id",-1810014458),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null),cljs.core.integer_QMARK_);
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","nctr","weathergen.falcon.files.mission/nctr",-1365252522),new cljs.core.Symbol("cljs.core","string?","cljs.core/string?",-2072921719,null),cljs.core.string_QMARK_);
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","next-header","weathergen.falcon.files.mission/next-header",-278788297),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null),cljs.core.integer_QMARK_);
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","num-elements","weathergen.falcon.files.mission/num-elements",270346357),cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha","coll-of","cljs.spec.alpha/coll-of",1019430407,null),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null),new cljs.core.Keyword(null,"count","count",2139924085),new cljs.core.Symbol("weathergen.falcon.constants","VEHICLE_GROUPS_PER_UNIT","weathergen.falcon.constants/VEHICLE_GROUPS_PER_UNIT",
-1007019064,null)),cljs.spec.alpha.every_impl.call(null,new cljs.core.Symbol(null,"integer?","integer?",1303791671,null),cljs.core.integer_QMARK_,new cljs.core.PersistentArrayMap(null,5,[new cljs.core.Keyword("cljs.spec.alpha","kind-form","cljs.spec.alpha/kind-form",-1047104697),null,new cljs.core.Keyword("cljs.spec.alpha","cpred","cljs.spec.alpha/cpred",-693471218),function(a){return cljs.core.coll_QMARK_.call(null,a)&&cljs.core._EQ_.call(null,weathergen.falcon.constants.VEHICLE_GROUPS_PER_UNIT,
cljs.core.bounded_count.call(null,weathergen.falcon.constants.VEHICLE_GROUPS_PER_UNIT,a))},new cljs.core.Keyword(null,"count","count",2139924085),weathergen.falcon.constants.VEHICLE_GROUPS_PER_UNIT,new cljs.core.Keyword("cljs.spec.alpha","conform-all","cljs.spec.alpha/conform-all",45201917),!0,new cljs.core.Keyword("cljs.spec.alpha","describe","cljs.spec.alpha/describe",1883026911),cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha","coll-of","cljs.spec.alpha/coll-of",1019430407,null),new cljs.core.Symbol("cljs.core",
"integer?","cljs.core/integer?",1710697810,null),new cljs.core.Keyword(null,"count","count",2139924085),new cljs.core.Symbol("c","VEHICLE_GROUPS_PER_UNIT","c/VEHICLE_GROUPS_PER_UNIT",-1221930257,null))],null),null));cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","number-of-pilots","weathergen.falcon.files.mission/number-of-pilots",-952044599),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null),cljs.core.integer_QMARK_);
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","obj-flags","weathergen.falcon.files.mission/obj-flags",693464809),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null),cljs.core.integer_QMARK_);
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","obj-id","weathergen.falcon.files.mission/obj-id",1379538503),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null),cljs.core.integer_QMARK_);
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","obj-type-priority","weathergen.falcon.files.mission/obj-type-priority",1451171622),cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha","coll-of","cljs.spec.alpha/coll-of",1019430407,null),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null),new cljs.core.Keyword(null,"count","count",2139924085),36),cljs.spec.alpha.every_impl.call(null,new cljs.core.Symbol(null,"integer?","integer?",
1303791671,null),cljs.core.integer_QMARK_,new cljs.core.PersistentArrayMap(null,5,[new cljs.core.Keyword("cljs.spec.alpha","kind-form","cljs.spec.alpha/kind-form",-1047104697),null,new cljs.core.Keyword("cljs.spec.alpha","cpred","cljs.spec.alpha/cpred",-693471218),function(a){return cljs.core.coll_QMARK_.call(null,a)&&cljs.core._EQ_.call(null,36,cljs.core.bounded_count.call(null,36,a))},new cljs.core.Keyword(null,"count","count",2139924085),36,new cljs.core.Keyword("cljs.spec.alpha","conform-all",
"cljs.spec.alpha/conform-all",45201917),!0,new cljs.core.Keyword("cljs.spec.alpha","describe","cljs.spec.alpha/describe",1883026911),cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha","coll-of","cljs.spec.alpha/coll-of",1019430407,null),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null),new cljs.core.Keyword(null,"count","count",2139924085),36)],null),null));
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","object-dir","weathergen.falcon.files.mission/object-dir",-459344762),new cljs.core.Symbol("weathergen.falcon.files.mission","Dir","weathergen.falcon.files.mission/Dir",490740314,null),weathergen.falcon.files.mission.Dir);
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","objective","weathergen.falcon.files.mission/objective",-556396617),new cljs.core.Symbol("weathergen.falcon.files.mission","VuId","weathergen.falcon.files.mission/VuId",675489086,null),weathergen.falcon.files.mission.VuId);
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","objective-deltas","weathergen.falcon.files.mission/objective-deltas",-955174707),cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha","coll-of","cljs.spec.alpha/coll-of",1019430407,null),new cljs.core.Symbol("weathergen.falcon.files.mission","ObjectiveDelta","weathergen.falcon.files.mission/ObjectiveDelta",-1168715165,null)),cljs.spec.alpha.every_impl.call(null,new cljs.core.Symbol(null,"ObjectiveDelta","ObjectiveDelta",
-586652455,null),weathergen.falcon.files.mission.ObjectiveDelta,new cljs.core.PersistentArrayMap(null,4,[new cljs.core.Keyword("cljs.spec.alpha","kind-form","cljs.spec.alpha/kind-form",-1047104697),null,new cljs.core.Keyword("cljs.spec.alpha","cpred","cljs.spec.alpha/cpred",-693471218),function(a){return cljs.core.coll_QMARK_.call(null,a)},new cljs.core.Keyword("cljs.spec.alpha","conform-all","cljs.spec.alpha/conform-all",45201917),!0,new cljs.core.Keyword("cljs.spec.alpha","describe","cljs.spec.alpha/describe",
1883026911),cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha","coll-of","cljs.spec.alpha/coll-of",1019430407,null),new cljs.core.Symbol("weathergen.falcon.files.mission","ObjectiveDelta","weathergen.falcon.files.mission/ObjectiveDelta",-1168715165,null))],null),null));
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","objective-class-data","weathergen.falcon.files.mission/objective-class-data",-488267802),cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha","coll-of","cljs.spec.alpha/coll-of",1019430407,null),new cljs.core.Symbol("weathergen.falcon.files.mission","ObjectiveClassData","weathergen.falcon.files.mission/ObjectiveClassData",1683772126,null)),cljs.spec.alpha.every_impl.call(null,new cljs.core.Symbol(null,"ObjectiveClassData",
"ObjectiveClassData",-2004367260,null),weathergen.falcon.files.mission.ObjectiveClassData,new cljs.core.PersistentArrayMap(null,4,[new cljs.core.Keyword("cljs.spec.alpha","kind-form","cljs.spec.alpha/kind-form",-1047104697),null,new cljs.core.Keyword("cljs.spec.alpha","cpred","cljs.spec.alpha/cpred",-693471218),function(a){return cljs.core.coll_QMARK_.call(null,a)},new cljs.core.Keyword("cljs.spec.alpha","conform-all","cljs.spec.alpha/conform-all",45201917),!0,new cljs.core.Keyword("cljs.spec.alpha",
"describe","cljs.spec.alpha/describe",1883026911),cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha","coll-of","cljs.spec.alpha/coll-of",1019430407,null),new cljs.core.Symbol("weathergen.falcon.files.mission","ObjectiveClassData","weathergen.falcon.files.mission/ObjectiveClassData",1683772126,null))],null),null));
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","objective-type","weathergen.falcon.files.mission/objective-type",343871032),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null),cljs.core.integer_QMARK_);
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("raw","objectives","raw/objectives",934056205),cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha","coll-of","cljs.spec.alpha/coll-of",1019430407,null),new cljs.core.Symbol("weathergen.falcon.files.mission","Objective","weathergen.falcon.files.mission/Objective",-1296315408,null)),cljs.spec.alpha.every_impl.call(null,new cljs.core.Symbol(null,"Objective","Objective",-578388614,null),weathergen.falcon.files.mission.Objective,new cljs.core.PersistentArrayMap(null,
4,[new cljs.core.Keyword("cljs.spec.alpha","kind-form","cljs.spec.alpha/kind-form",-1047104697),null,new cljs.core.Keyword("cljs.spec.alpha","cpred","cljs.spec.alpha/cpred",-693471218),function(a){return cljs.core.coll_QMARK_.call(null,a)},new cljs.core.Keyword("cljs.spec.alpha","conform-all","cljs.spec.alpha/conform-all",45201917),!0,new cljs.core.Keyword("cljs.spec.alpha","describe","cljs.spec.alpha/describe",1883026911),cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha","coll-of","cljs.spec.alpha/coll-of",
1019430407,null),new cljs.core.Symbol("weathergen.falcon.files.mission","Objective","weathergen.falcon.files.mission/Objective",-1296315408,null))],null),null));
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","objectives","weathergen.falcon.files.mission/objectives",410009507),cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha","coll-of","cljs.spec.alpha/coll-of",1019430407,null),new cljs.core.Symbol("weathergen.falcon.files.mission","AugmentedObjective","weathergen.falcon.files.mission/AugmentedObjective",1698727821,null)),cljs.spec.alpha.every_impl.call(null,new cljs.core.Symbol(null,"AugmentedObjective","AugmentedObjective",
-1039844069,null),weathergen.falcon.files.mission.AugmentedObjective,new cljs.core.PersistentArrayMap(null,4,[new cljs.core.Keyword("cljs.spec.alpha","kind-form","cljs.spec.alpha/kind-form",-1047104697),null,new cljs.core.Keyword("cljs.spec.alpha","cpred","cljs.spec.alpha/cpred",-693471218),function(a){return cljs.core.coll_QMARK_.call(null,a)},new cljs.core.Keyword("cljs.spec.alpha","conform-all","cljs.spec.alpha/conform-all",45201917),!0,new cljs.core.Keyword("cljs.spec.alpha","describe","cljs.spec.alpha/describe",
1883026911),cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha","coll-of","cljs.spec.alpha/coll-of",1019430407,null),new cljs.core.Symbol("weathergen.falcon.files.mission","AugmentedObjective","weathergen.falcon.files.mission/AugmentedObjective",1698727821,null))],null),null));
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","orders","weathergen.falcon.files.mission/orders",631905674),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null),cljs.core.integer_QMARK_);
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","offensive-air-action","weathergen.falcon.files.mission/offensive-air-action",-2047003390),new cljs.core.Symbol("weathergen.falcon.files.mission","TeamAirAction","weathergen.falcon.files.mission/TeamAirAction",-562482885,null),weathergen.falcon.files.mission.TeamAirAction);
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","offset","weathergen.falcon.files.mission/offset",-1108759055),new cljs.core.Symbol("weathergen.falcon.files.mission","Vector3","weathergen.falcon.files.mission/Vector3",-1938660846,null),weathergen.falcon.files.mission.Vector3);
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","old-mission","weathergen.falcon.files.mission/old-mission",-1684443929),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null),cljs.core.integer_QMARK_);
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","owner","weathergen.falcon.files.mission/owner",1206032935),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null),cljs.core.integer_QMARK_);
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","package","weathergen.falcon.files.mission/package",-1415630340),cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha","keys","cljs.spec.alpha/keys",1109346032,null),new cljs.core.Keyword(null,"req-un","req-un",1074571008),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword("weathergen.falcon.files.mission","name","weathergen.falcon.files.mission/name",1235339975)],
null)),cljs.spec.alpha.map_spec_impl.call(null,cljs.core.PersistentHashMap.fromArrays([new cljs.core.Keyword(null,"req-un","req-un",1074571008),new cljs.core.Keyword(null,"opt-un","opt-un",883442496),new cljs.core.Keyword(null,"gfn","gfn",791517474),new cljs.core.Keyword(null,"pred-exprs","pred-exprs",1792271395),new cljs.core.Keyword(null,"keys-pred","keys-pred",858984739),new cljs.core.Keyword(null,"opt-keys","opt-keys",1262688261),new cljs.core.Keyword(null,"req-specs","req-specs",553962313),new cljs.core.Keyword(null,
"req","req",-326448303),new cljs.core.Keyword(null,"req-keys","req-keys",514319221),new cljs.core.Keyword(null,"opt-specs","opt-specs",-384905450),new cljs.core.Keyword(null,"pred-forms","pred-forms",172611832),new cljs.core.Keyword(null,"opt","opt",-794706369)],[new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword("weathergen.falcon.files.mission","name","weathergen.falcon.files.mission/name",1235339975)],null),null,null,new cljs.core.PersistentVector(null,
2,5,cljs.core.PersistentVector.EMPTY_NODE,[function(a){return cljs.core.map_QMARK_.call(null,a)},function(a){return cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"name","name",1843675177))}],null),function(a){return cljs.core.map_QMARK_.call(null,a)&&cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"name","name",1843675177))},cljs.core.PersistentVector.EMPTY,new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword("weathergen.falcon.files.mission",
"name","weathergen.falcon.files.mission/name",1235339975)],null),null,new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"name","name",1843675177)],null),cljs.core.PersistentVector.EMPTY,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,
"%","%",-950237169,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core","map?","cljs.core/map?",-1390345523,null),new cljs.core.Symbol(null,"%","%",-950237169,null))),cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"%","%",-950237169,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core","contains?","cljs.core/contains?",-976526835,null),new cljs.core.Symbol(null,
"%","%",-950237169,null),new cljs.core.Keyword(null,"name","name",1843675177)))],null),null])));cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("flight","package","flight/package",-1294787534),new cljs.core.Symbol("weathergen.falcon.files.mission","VuId","weathergen.falcon.files.mission/VuId",675489086,null),weathergen.falcon.files.mission.VuId);
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","pak","weathergen.falcon.files.mission/pak",-488251816),new cljs.core.Symbol("weathergen.falcon.files.mission","VuId","weathergen.falcon.files.mission/VuId",675489086,null),weathergen.falcon.files.mission.VuId);
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","palette-offset","weathergen.falcon.files.mission/palette-offset",-859290369),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null),cljs.core.integer_QMARK_);
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","palette-size","weathergen.falcon.files.mission/palette-size",-119714576),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null),cljs.core.integer_QMARK_);
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","parent","weathergen.falcon.files.mission/parent",544339251),new cljs.core.Symbol("weathergen.falcon.files.mission","VuId","weathergen.falcon.files.mission/VuId",675489086,null),weathergen.falcon.files.mission.VuId);
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","path","weathergen.falcon.files.mission/path",-771299386),new cljs.core.Symbol("weathergen.falcon.files.mission","Path","weathergen.falcon.files.mission/Path",1128596705,null),weathergen.falcon.files.mission.Path);
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","persistent","weathergen.falcon.files.mission/persistent",301470291),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null),cljs.core.integer_QMARK_);
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","persistent-objects","weathergen.falcon.files.mission/persistent-objects",1801379401),new cljs.core.Symbol("weathergen.falcon.files.mission","PersistentObjects","weathergen.falcon.files.mission/PersistentObjects",384922083,null),weathergen.falcon.files.mission.PersistentObjects);
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","pilots","weathergen.falcon.files.mission/pilots",835455703),new cljs.core.Symbol("weathergen.falcon.files.mission","Pilots","weathergen.falcon.files.mission/Pilots",378689580,null),weathergen.falcon.files.mission.Pilots);
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("flight","pilots","flight/pilots",1226839277),cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha","coll-of","cljs.spec.alpha/coll-of",1019430407,null),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null),new cljs.core.Keyword(null,"count","count",2139924085),4),cljs.spec.alpha.every_impl.call(null,new cljs.core.Symbol(null,"integer?","integer?",1303791671,null),cljs.core.integer_QMARK_,new cljs.core.PersistentArrayMap(null,
5,[new cljs.core.Keyword("cljs.spec.alpha","kind-form","cljs.spec.alpha/kind-form",-1047104697),null,new cljs.core.Keyword("cljs.spec.alpha","cpred","cljs.spec.alpha/cpred",-693471218),function(a){return cljs.core.coll_QMARK_.call(null,a)&&cljs.core._EQ_.call(null,4,cljs.core.bounded_count.call(null,4,a))},new cljs.core.Keyword(null,"count","count",2139924085),4,new cljs.core.Keyword("cljs.spec.alpha","conform-all","cljs.spec.alpha/conform-all",45201917),!0,new cljs.core.Keyword("cljs.spec.alpha",
"describe","cljs.spec.alpha/describe",1883026911),cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha","coll-of","cljs.spec.alpha/coll-of",1019430407,null),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null),new cljs.core.Keyword(null,"count","count",2139924085),4)],null),null));
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","plane-stats","weathergen.falcon.files.mission/plane-stats",596458237),cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha","coll-of","cljs.spec.alpha/coll-of",1019430407,null),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null),new cljs.core.Keyword(null,"count","count",2139924085),4),cljs.spec.alpha.every_impl.call(null,new cljs.core.Symbol(null,"integer?","integer?",1303791671,
null),cljs.core.integer_QMARK_,new cljs.core.PersistentArrayMap(null,5,[new cljs.core.Keyword("cljs.spec.alpha","kind-form","cljs.spec.alpha/kind-form",-1047104697),null,new cljs.core.Keyword("cljs.spec.alpha","cpred","cljs.spec.alpha/cpred",-693471218),function(a){return cljs.core.coll_QMARK_.call(null,a)&&cljs.core._EQ_.call(null,4,cljs.core.bounded_count.call(null,4,a))},new cljs.core.Keyword(null,"count","count",2139924085),4,new cljs.core.Keyword("cljs.spec.alpha","conform-all","cljs.spec.alpha/conform-all",
45201917),!0,new cljs.core.Keyword("cljs.spec.alpha","describe","cljs.spec.alpha/describe",1883026911),cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha","coll-of","cljs.spec.alpha/coll-of",1019430407,null),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null),new cljs.core.Keyword(null,"count","count",2139924085),4)],null),null));
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","player-rating","weathergen.falcon.files.mission/player-rating",1396319340),new cljs.core.Symbol("cljs.core","number?","cljs.core/number?",-811857295,null),cljs.core.number_QMARK_);
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","player-slots","weathergen.falcon.files.mission/player-slots",-318111164),cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha","coll-of","cljs.spec.alpha/coll-of",1019430407,null),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null),new cljs.core.Keyword(null,"count","count",2139924085),4),cljs.spec.alpha.every_impl.call(null,new cljs.core.Symbol(null,"integer?","integer?",1303791671,
null),cljs.core.integer_QMARK_,new cljs.core.PersistentArrayMap(null,5,[new cljs.core.Keyword("cljs.spec.alpha","kind-form","cljs.spec.alpha/kind-form",-1047104697),null,new cljs.core.Keyword("cljs.spec.alpha","cpred","cljs.spec.alpha/cpred",-693471218),function(a){return cljs.core.coll_QMARK_.call(null,a)&&cljs.core._EQ_.call(null,4,cljs.core.bounded_count.call(null,4,a))},new cljs.core.Keyword(null,"count","count",2139924085),4,new cljs.core.Keyword("cljs.spec.alpha","conform-all","cljs.spec.alpha/conform-all",
45201917),!0,new cljs.core.Keyword("cljs.spec.alpha","describe","cljs.spec.alpha/describe",1883026911),cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha","coll-of","cljs.spec.alpha/coll-of",1019430407,null),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null),new cljs.core.Keyword(null,"count","count",2139924085),4)],null),null));
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","player-squadron-id","weathergen.falcon.files.mission/player-squadron-id",-1966358122),new cljs.core.Symbol("weathergen.falcon.files.mission","VuId","weathergen.falcon.files.mission/VuId",675489086,null),weathergen.falcon.files.mission.VuId);
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","point-header-data","weathergen.falcon.files.mission/point-header-data",-561631475),cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha","coll-of","cljs.spec.alpha/coll-of",1019430407,null),new cljs.core.Symbol("weathergen.falcon.files.mission","PointHeaderData","weathergen.falcon.files.mission/PointHeaderData",-1411376804,null)),cljs.spec.alpha.every_impl.call(null,new cljs.core.Symbol(null,"PointHeaderData",
"PointHeaderData",1312460458,null),weathergen.falcon.files.mission.PointHeaderData,new cljs.core.PersistentArrayMap(null,4,[new cljs.core.Keyword("cljs.spec.alpha","kind-form","cljs.spec.alpha/kind-form",-1047104697),null,new cljs.core.Keyword("cljs.spec.alpha","cpred","cljs.spec.alpha/cpred",-693471218),function(a){return cljs.core.coll_QMARK_.call(null,a)},new cljs.core.Keyword("cljs.spec.alpha","conform-all","cljs.spec.alpha/conform-all",45201917),!0,new cljs.core.Keyword("cljs.spec.alpha","describe",
"cljs.spec.alpha/describe",1883026911),cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha","coll-of","cljs.spec.alpha/coll-of",1019430407,null),new cljs.core.Symbol("weathergen.falcon.files.mission","PointHeaderData","weathergen.falcon.files.mission/PointHeaderData",-1411376804,null))],null),null));
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","points","weathergen.falcon.files.mission/points",1277042547),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null),cljs.core.integer_QMARK_);cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","pos-z","weathergen.falcon.files.mission/pos-z",415078470),new cljs.core.Symbol("cljs.core","number?","cljs.core/number?",-811857295,null),cljs.core.number_QMARK_);
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","ppt-data","weathergen.falcon.files.mission/ppt-data",58417629),cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha","coll-of","cljs.spec.alpha/coll-of",1019430407,null),new cljs.core.Symbol("weathergen.falcon.files.mission","PrePlannedThreat","weathergen.falcon.files.mission/PrePlannedThreat",919141971,null)),cljs.spec.alpha.every_impl.call(null,new cljs.core.Symbol(null,"PrePlannedThreat","PrePlannedThreat",
1393783241,null),weathergen.falcon.files.mission.PrePlannedThreat,new cljs.core.PersistentArrayMap(null,4,[new cljs.core.Keyword("cljs.spec.alpha","kind-form","cljs.spec.alpha/kind-form",-1047104697),null,new cljs.core.Keyword("cljs.spec.alpha","cpred","cljs.spec.alpha/cpred",-693471218),function(a){return cljs.core.coll_QMARK_.call(null,a)},new cljs.core.Keyword("cljs.spec.alpha","conform-all","cljs.spec.alpha/conform-all",45201917),!0,new cljs.core.Keyword("cljs.spec.alpha","describe","cljs.spec.alpha/describe",
1883026911),cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha","coll-of","cljs.spec.alpha/coll-of",1019430407,null),new cljs.core.Symbol("weathergen.falcon.files.mission","PrePlannedThreat","weathergen.falcon.files.mission/PrePlannedThreat",919141971,null))],null),null));
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","primary-objectives","weathergen.falcon.files.mission/primary-objectives",725299083),new cljs.core.Symbol("weathergen.falcon.files.mission","PrimaryObjectives","weathergen.falcon.files.mission/PrimaryObjectives",1615902496,null),weathergen.falcon.files.mission.PrimaryObjectives);
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","priority","weathergen.falcon.files.mission/priority",1887991877),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null),cljs.core.integer_QMARK_);
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","priority-event-entries","weathergen.falcon.files.mission/priority-event-entries",2014151899),cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha","coll-of","cljs.spec.alpha/coll-of",1019430407,null),new cljs.core.Symbol("weathergen.falcon.files.mission","EventNode","weathergen.falcon.files.mission/EventNode",-2135402813,null)),cljs.spec.alpha.every_impl.call(null,new cljs.core.Symbol(null,"EventNode","EventNode",
603308361,null),weathergen.falcon.files.mission.EventNode,new cljs.core.PersistentArrayMap(null,4,[new cljs.core.Keyword("cljs.spec.alpha","kind-form","cljs.spec.alpha/kind-form",-1047104697),null,new cljs.core.Keyword("cljs.spec.alpha","cpred","cljs.spec.alpha/cpred",-693471218),function(a){return cljs.core.coll_QMARK_.call(null,a)},new cljs.core.Keyword("cljs.spec.alpha","conform-all","cljs.spec.alpha/conform-all",45201917),!0,new cljs.core.Keyword("cljs.spec.alpha","describe","cljs.spec.alpha/describe",
1883026911),cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha","coll-of","cljs.spec.alpha/coll-of",1019430407,null),new cljs.core.Symbol("weathergen.falcon.files.mission","EventNode","weathergen.falcon.files.mission/EventNode",-2135402813,null))],null),null));cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","private","weathergen.falcon.files.mission/private",1132571664),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null),cljs.core.integer_QMARK_);
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","pt-data-index","weathergen.falcon.files.mission/pt-data-index",-1736332457),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null),cljs.core.integer_QMARK_);
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","quantity","weathergen.falcon.files.mission/quantity",264407876),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null),cljs.core.integer_QMARK_);
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","rack-flags","weathergen.falcon.files.mission/rack-flags",1517182764),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null),cljs.core.integer_QMARK_);
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","radar-data","weathergen.falcon.files.mission/radar-data",1026796848),cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha","keys","cljs.spec.alpha/keys",1109346032,null),new cljs.core.Keyword(null,"req-un","req-un",1074571008),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword("weathergen.falcon.files.mission","has-radar-data","weathergen.falcon.files.mission/has-radar-data",
90091994)],null),new cljs.core.Keyword(null,"opt-un","opt-un",883442496),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword("weathergen.falcon.files.mission","detect-ratio","weathergen.falcon.files.mission/detect-ratio",-1725303095)],null)),cljs.spec.alpha.map_spec_impl.call(null,cljs.core.PersistentHashMap.fromArrays([new cljs.core.Keyword(null,"req-un","req-un",1074571008),new cljs.core.Keyword(null,"opt-un","opt-un",883442496),new cljs.core.Keyword(null,
"gfn","gfn",791517474),new cljs.core.Keyword(null,"pred-exprs","pred-exprs",1792271395),new cljs.core.Keyword(null,"keys-pred","keys-pred",858984739),new cljs.core.Keyword(null,"opt-keys","opt-keys",1262688261),new cljs.core.Keyword(null,"req-specs","req-specs",553962313),new cljs.core.Keyword(null,"req","req",-326448303),new cljs.core.Keyword(null,"req-keys","req-keys",514319221),new cljs.core.Keyword(null,"opt-specs","opt-specs",-384905450),new cljs.core.Keyword(null,"pred-forms","pred-forms",172611832),
new cljs.core.Keyword(null,"opt","opt",-794706369)],[new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword("weathergen.falcon.files.mission","has-radar-data","weathergen.falcon.files.mission/has-radar-data",90091994)],null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword("weathergen.falcon.files.mission","detect-ratio","weathergen.falcon.files.mission/detect-ratio",-1725303095)],null),null,new cljs.core.PersistentVector(null,
2,5,cljs.core.PersistentVector.EMPTY_NODE,[function(a){return cljs.core.map_QMARK_.call(null,a)},function(a){return cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"has-radar-data","has-radar-data",-1734005648))}],null),function(a){return cljs.core.map_QMARK_.call(null,a)&&cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"has-radar-data","has-radar-data",-1734005648))},new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,
"detect-ratio","detect-ratio",-1552651193)],null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword("weathergen.falcon.files.mission","has-radar-data","weathergen.falcon.files.mission/has-radar-data",90091994)],null),null,new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"has-radar-data","has-radar-data",-1734005648)],null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,
[new cljs.core.Keyword("weathergen.falcon.files.mission","detect-ratio","weathergen.falcon.files.mission/detect-ratio",-1725303095)],null),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"%","%",-950237169,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core","map?","cljs.core/map?",
-1390345523,null),new cljs.core.Symbol(null,"%","%",-950237169,null))),cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"%","%",-950237169,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core","contains?","cljs.core/contains?",-976526835,null),new cljs.core.Symbol(null,"%","%",-950237169,null),new cljs.core.Keyword(null,"has-radar-data","has-radar-data",
-1734005648)))],null),null])));cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","radar-feature","weathergen.falcon.files.mission/radar-feature",287589422),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null),cljs.core.integer_QMARK_);
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","radar-type","weathergen.falcon.files.mission/radar-type",691386808),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null),cljs.core.integer_QMARK_);
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","radar-vehicle","weathergen.falcon.files.mission/radar-vehicle",-1080595576),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null),cljs.core.integer_QMARK_);
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","radius-ft","weathergen.falcon.files.mission/radius-ft",-870066270),new cljs.core.Symbol("cljs.core","number?","cljs.core/number?",-811857295,null),cljs.core.number_QMARK_);
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","range","weathergen.falcon.files.mission/range",76948868),cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha","or","cljs.spec.alpha/or",-831679639,null),new cljs.core.Keyword(null,"multiple","multiple",1244445549),cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha","coll-of","cljs.spec.alpha/coll-of",1019430407,null),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null),new cljs.core.Keyword(null,
"count","count",2139924085),new cljs.core.Symbol("weathergen.falcon.constants","MOVEMENT_TYPES","weathergen.falcon.constants/MOVEMENT_TYPES",-765232959,null)),new cljs.core.Keyword(null,"singular","singular",1409933445),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null)),cljs.spec.alpha.or_spec_impl.call(null,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"multiple","multiple",1244445549),new cljs.core.Keyword(null,
"singular","singular",1409933445)],null),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha","coll-of","cljs.spec.alpha/coll-of",1019430407,null),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null),new cljs.core.Keyword(null,"count","count",2139924085),new cljs.core.Symbol("weathergen.falcon.constants","MOVEMENT_TYPES","weathergen.falcon.constants/MOVEMENT_TYPES",-765232959,null)),new cljs.core.Symbol("cljs.core",
"integer?","cljs.core/integer?",1710697810,null)],null),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[cljs.spec.alpha.every_impl.call(null,new cljs.core.Symbol(null,"integer?","integer?",1303791671,null),cljs.core.integer_QMARK_,new cljs.core.PersistentArrayMap(null,5,[new cljs.core.Keyword("cljs.spec.alpha","kind-form","cljs.spec.alpha/kind-form",-1047104697),null,new cljs.core.Keyword("cljs.spec.alpha","cpred","cljs.spec.alpha/cpred",-693471218),function(a){return cljs.core.coll_QMARK_.call(null,
a)&&cljs.core._EQ_.call(null,weathergen.falcon.constants.MOVEMENT_TYPES,cljs.core.bounded_count.call(null,weathergen.falcon.constants.MOVEMENT_TYPES,a))},new cljs.core.Keyword(null,"count","count",2139924085),weathergen.falcon.constants.MOVEMENT_TYPES,new cljs.core.Keyword("cljs.spec.alpha","conform-all","cljs.spec.alpha/conform-all",45201917),!0,new cljs.core.Keyword("cljs.spec.alpha","describe","cljs.spec.alpha/describe",1883026911),cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha","coll-of",
"cljs.spec.alpha/coll-of",1019430407,null),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null),new cljs.core.Keyword(null,"count","count",2139924085),new cljs.core.Symbol("c","MOVEMENT_TYPES","c/MOVEMENT_TYPES",642974624,null))],null),null),cljs.core.integer_QMARK_],null),null));
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","rariety","weathergen.falcon.files.mission/rariety",1140404326),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null),cljs.core.integer_QMARK_);cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","rate","weathergen.falcon.files.mission/rate",1345449364),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null),cljs.core.integer_QMARK_);
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","rcs-factor","weathergen.falcon.files.mission/rcs-factor",863072417),new cljs.core.Symbol("cljs.core","number?","cljs.core/number?",-811857295,null),cljs.core.number_QMARK_);
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","recent-event-entries","weathergen.falcon.files.mission/recent-event-entries",-114982220),cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha","coll-of","cljs.spec.alpha/coll-of",1019430407,null),new cljs.core.Symbol("weathergen.falcon.files.mission","EventNode","weathergen.falcon.files.mission/EventNode",-2135402813,null)),cljs.spec.alpha.every_impl.call(null,new cljs.core.Symbol(null,"EventNode","EventNode",
603308361,null),weathergen.falcon.files.mission.EventNode,new cljs.core.PersistentArrayMap(null,4,[new cljs.core.Keyword("cljs.spec.alpha","kind-form","cljs.spec.alpha/kind-form",-1047104697),null,new cljs.core.Keyword("cljs.spec.alpha","cpred","cljs.spec.alpha/cpred",-693471218),function(a){return cljs.core.coll_QMARK_.call(null,a)},new cljs.core.Keyword("cljs.spec.alpha","conform-all","cljs.spec.alpha/conform-all",45201917),!0,new cljs.core.Keyword("cljs.spec.alpha","describe","cljs.spec.alpha/describe",
1883026911),cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha","coll-of","cljs.spec.alpha/coll-of",1019430407,null),new cljs.core.Symbol("weathergen.falcon.files.mission","EventNode","weathergen.falcon.files.mission/EventNode",-2135402813,null))],null),null));
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","refuel-quantity","weathergen.falcon.files.mission/refuel-quantity",1738806084),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null),cljs.core.integer_QMARK_);
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","reinforcement","weathergen.falcon.files.mission/reinforcement",-308550720),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null),cljs.core.integer_QMARK_);
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","repair-time","weathergen.falcon.files.mission/repair-time",-868535751),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null),cljs.core.integer_QMARK_);
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","replacements-available","weathergen.falcon.files.mission/replacements-available",-1748504285),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null),cljs.core.integer_QMARK_);
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","requester","weathergen.falcon.files.mission/requester",323342959),new cljs.core.Symbol("weathergen.falcon.files.mission","VuId","weathergen.falcon.files.mission/VuId",675489086,null),weathergen.falcon.files.mission.VuId);
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","resource","weathergen.falcon.files.mission/resource",-1321650618),new cljs.core.Symbol("cljs.core","string?","cljs.core/string?",-2072921719,null),cljs.core.string_QMARK_);
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","roe-check","weathergen.falcon.files.mission/roe-check",-1992214504),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null),cljs.core.integer_QMARK_);cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","role","weathergen.falcon.files.mission/role",910919170),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null),cljs.core.integer_QMARK_);
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","roster","weathergen.falcon.files.mission/roster",-401619194),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null),cljs.core.integer_QMARK_);
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","rsc-modified","weathergen.falcon.files.mission/rsc-modified",-1672759696),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null),cljs.core.integer_QMARK_);
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","rsc-size","weathergen.falcon.files.mission/rsc-size",2061102923),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null),cljs.core.integer_QMARK_);
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","runway-num","weathergen.falcon.files.mission/runway-num",1516861086),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null),cljs.core.integer_QMARK_);
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","save-file","weathergen.falcon.files.mission/save-file",-1890774072),new cljs.core.Symbol("cljs.core","string?","cljs.core/string?",-2072921719,null),cljs.core.string_QMARK_);
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","scenario","weathergen.falcon.files.mission/scenario",-1956768811),new cljs.core.Symbol("cljs.core","string?","cljs.core/string?",-2072921719,null),cljs.core.string_QMARK_);
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","scenario-files","weathergen.falcon.files.mission/scenario-files",-132892628),new cljs.core.Symbol("weathergen.falcon.files.mission","ScenarioFiles","weathergen.falcon.files.mission/ScenarioFiles",-1366200139,null),weathergen.falcon.files.mission.ScenarioFiles);
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","schedule","weathergen.falcon.files.mission/schedule",-1332281856),cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha","coll-of","cljs.spec.alpha/coll-of",1019430407,null),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null),new cljs.core.Keyword(null,"count","count",2139924085),new cljs.core.Symbol("weathergen.falcon.constants","ATM_MAX_CYCLES","weathergen.falcon.constants/ATM_MAX_CYCLES",
-714879169,null)),cljs.spec.alpha.every_impl.call(null,new cljs.core.Symbol(null,"integer?","integer?",1303791671,null),cljs.core.integer_QMARK_,new cljs.core.PersistentArrayMap(null,5,[new cljs.core.Keyword("cljs.spec.alpha","kind-form","cljs.spec.alpha/kind-form",-1047104697),null,new cljs.core.Keyword("cljs.spec.alpha","cpred","cljs.spec.alpha/cpred",-693471218),function(a){return cljs.core.coll_QMARK_.call(null,a)&&cljs.core._EQ_.call(null,weathergen.falcon.constants.ATM_MAX_CYCLES,cljs.core.bounded_count.call(null,
weathergen.falcon.constants.ATM_MAX_CYCLES,a))},new cljs.core.Keyword(null,"count","count",2139924085),weathergen.falcon.constants.ATM_MAX_CYCLES,new cljs.core.Keyword("cljs.spec.alpha","conform-all","cljs.spec.alpha/conform-all",45201917),!0,new cljs.core.Keyword("cljs.spec.alpha","describe","cljs.spec.alpha/describe",1883026911),cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha","coll-of","cljs.spec.alpha/coll-of",1019430407,null),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",
1710697810,null),new cljs.core.Keyword(null,"count","count",2139924085),new cljs.core.Symbol("c","ATM_MAX_CYCLES","c/ATM_MAX_CYCLES",1787957342,null))],null),null));cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","second","weathergen.falcon.files.mission/second",2018499904),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null),cljs.core.integer_QMARK_);
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","secondary","weathergen.falcon.files.mission/secondary",-120553166),new cljs.core.Symbol("weathergen.falcon.files.mission","VuId","weathergen.falcon.files.mission/VuId",675489086,null),weathergen.falcon.files.mission.VuId);
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","scores","weathergen.falcon.files.mission/scores",1370371582),cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha","coll-of","cljs.spec.alpha/coll-of",1019430407,null),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null),new cljs.core.Keyword(null,"count","count",2139924085),new cljs.core.Symbol("weathergen.falcon.constants","MAXIMUM_ROLES","weathergen.falcon.constants/MAXIMUM_ROLES",
1319970290,null)),cljs.spec.alpha.every_impl.call(null,new cljs.core.Symbol(null,"integer?","integer?",1303791671,null),cljs.core.integer_QMARK_,new cljs.core.PersistentArrayMap(null,5,[new cljs.core.Keyword("cljs.spec.alpha","kind-form","cljs.spec.alpha/kind-form",-1047104697),null,new cljs.core.Keyword("cljs.spec.alpha","cpred","cljs.spec.alpha/cpred",-693471218),function(a){return cljs.core.coll_QMARK_.call(null,a)&&cljs.core._EQ_.call(null,weathergen.falcon.constants.MAXIMUM_ROLES,cljs.core.bounded_count.call(null,
weathergen.falcon.constants.MAXIMUM_ROLES,a))},new cljs.core.Keyword(null,"count","count",2139924085),weathergen.falcon.constants.MAXIMUM_ROLES,new cljs.core.Keyword("cljs.spec.alpha","conform-all","cljs.spec.alpha/conform-all",45201917),!0,new cljs.core.Keyword("cljs.spec.alpha","describe","cljs.spec.alpha/describe",1883026911),cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha","coll-of","cljs.spec.alpha/coll-of",1019430407,null),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",
1710697810,null),new cljs.core.Keyword(null,"count","count",2139924085),new cljs.core.Symbol("c","MAXIMUM_ROLES","c/MAXIMUM_ROLES",-493003565,null))],null),null));cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","ships","weathergen.falcon.files.mission/ships",-318103868),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null),cljs.core.integer_QMARK_);
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","sim-data-dir","weathergen.falcon.files.mission/sim-data-dir",-1331304596),new cljs.core.Symbol("weathergen.falcon.files.mission","Dir","weathergen.falcon.files.mission/Dir",490740314,null),weathergen.falcon.files.mission.Dir);
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","sim-data-idx","weathergen.falcon.files.mission/sim-data-idx",-157488080),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null),cljs.core.integer_QMARK_);
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","simweap-index","weathergen.falcon.files.mission/simweap-index",-24898421),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null),cljs.core.integer_QMARK_);
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","sin-heading","weathergen.falcon.files.mission/sin-heading",913404991),new cljs.core.Symbol("cljs.core","number?","cljs.core/number?",-811857295,null),cljs.core.number_QMARK_);
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","size","weathergen.falcon.files.mission/size",-498942187),cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha","coll-of","cljs.spec.alpha/coll-of",1019430407,null),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null),new cljs.core.Keyword(null,"count","count",2139924085),2),cljs.spec.alpha.every_impl.call(null,new cljs.core.Symbol(null,"integer?","integer?",1303791671,null),cljs.core.integer_QMARK_,
new cljs.core.PersistentArrayMap(null,5,[new cljs.core.Keyword("cljs.spec.alpha","kind-form","cljs.spec.alpha/kind-form",-1047104697),null,new cljs.core.Keyword("cljs.spec.alpha","cpred","cljs.spec.alpha/cpred",-693471218),function(a){return cljs.core.coll_QMARK_.call(null,a)&&cljs.core._EQ_.call(null,2,cljs.core.bounded_count.call(null,2,a))},new cljs.core.Keyword(null,"count","count",2139924085),2,new cljs.core.Keyword("cljs.spec.alpha","conform-all","cljs.spec.alpha/conform-all",45201917),!0,new cljs.core.Keyword("cljs.spec.alpha",
"describe","cljs.spec.alpha/describe",1883026911),cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha","coll-of","cljs.spec.alpha/coll-of",1019430407,null),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null),new cljs.core.Keyword(null,"count","count",2139924085),2)],null),null));
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","situation","weathergen.falcon.files.mission/situation",-2583303),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null),cljs.core.integer_QMARK_);
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","slots","weathergen.falcon.files.mission/slots",1866096404),cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha","coll-of","cljs.spec.alpha/coll-of",1019430407,null),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null),new cljs.core.Keyword(null,"count","count",2139924085),4),cljs.spec.alpha.every_impl.call(null,new cljs.core.Symbol(null,"integer?","integer?",1303791671,null),cljs.core.integer_QMARK_,
new cljs.core.PersistentArrayMap(null,5,[new cljs.core.Keyword("cljs.spec.alpha","kind-form","cljs.spec.alpha/kind-form",-1047104697),null,new cljs.core.Keyword("cljs.spec.alpha","cpred","cljs.spec.alpha/cpred",-693471218),function(a){return cljs.core.coll_QMARK_.call(null,a)&&cljs.core._EQ_.call(null,4,cljs.core.bounded_count.call(null,4,a))},new cljs.core.Keyword(null,"count","count",2139924085),4,new cljs.core.Keyword("cljs.spec.alpha","conform-all","cljs.spec.alpha/conform-all",45201917),!0,new cljs.core.Keyword("cljs.spec.alpha",
"describe","cljs.spec.alpha/describe",1883026911),cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha","coll-of","cljs.spec.alpha/coll-of",1019430407,null),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null),new cljs.core.Keyword(null,"count","count",2139924085),4)],null),null));
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","sound-dir","weathergen.falcon.files.mission/sound-dir",2134408746),new cljs.core.Symbol("weathergen.falcon.files.mission","Dir","weathergen.falcon.files.mission/Dir",490740314,null),weathergen.falcon.files.mission.Dir);
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","special-index","weathergen.falcon.files.mission/special-index",-1682350907),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null),cljs.core.integer_QMARK_);
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","specialty","weathergen.falcon.files.mission/specialty",-571641396),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null),cljs.core.integer_QMARK_);cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","speed","weathergen.falcon.files.mission/speed",-409174135),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null),cljs.core.integer_QMARK_);
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","spot-time","weathergen.falcon.files.mission/spot-time",-1289121708),new cljs.core.Symbol("weathergen.falcon.files.mission","CampaignTime","weathergen.falcon.files.mission/CampaignTime",1868159822,null),weathergen.falcon.files.mission.CampaignTime);
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","spotted","weathergen.falcon.files.mission/spotted",807895248),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null),cljs.core.integer_QMARK_);cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","sptype","weathergen.falcon.files.mission/sptype",1179274124),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null),cljs.core.integer_QMARK_);
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","squadron","weathergen.falcon.files.mission/squadron",463902337),cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha","keys","cljs.spec.alpha/keys",1109346032,null),new cljs.core.Keyword(null,"req-un","req-un",1074571008),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword("weathergen.falcon.files.mission","name","weathergen.falcon.files.mission/name",1235339975)],
null)),cljs.spec.alpha.map_spec_impl.call(null,cljs.core.PersistentHashMap.fromArrays([new cljs.core.Keyword(null,"req-un","req-un",1074571008),new cljs.core.Keyword(null,"opt-un","opt-un",883442496),new cljs.core.Keyword(null,"gfn","gfn",791517474),new cljs.core.Keyword(null,"pred-exprs","pred-exprs",1792271395),new cljs.core.Keyword(null,"keys-pred","keys-pred",858984739),new cljs.core.Keyword(null,"opt-keys","opt-keys",1262688261),new cljs.core.Keyword(null,"req-specs","req-specs",553962313),new cljs.core.Keyword(null,
"req","req",-326448303),new cljs.core.Keyword(null,"req-keys","req-keys",514319221),new cljs.core.Keyword(null,"opt-specs","opt-specs",-384905450),new cljs.core.Keyword(null,"pred-forms","pred-forms",172611832),new cljs.core.Keyword(null,"opt","opt",-794706369)],[new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword("weathergen.falcon.files.mission","name","weathergen.falcon.files.mission/name",1235339975)],null),null,null,new cljs.core.PersistentVector(null,
2,5,cljs.core.PersistentVector.EMPTY_NODE,[function(a){return cljs.core.map_QMARK_.call(null,a)},function(a){return cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"name","name",1843675177))}],null),function(a){return cljs.core.map_QMARK_.call(null,a)&&cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword(null,"name","name",1843675177))},cljs.core.PersistentVector.EMPTY,new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword("weathergen.falcon.files.mission",
"name","weathergen.falcon.files.mission/name",1235339975)],null),null,new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"name","name",1843675177)],null),cljs.core.PersistentVector.EMPTY,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,
"%","%",-950237169,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core","map?","cljs.core/map?",-1390345523,null),new cljs.core.Symbol(null,"%","%",-950237169,null))),cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"%","%",-950237169,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core","contains?","cljs.core/contains?",-976526835,null),new cljs.core.Symbol(null,
"%","%",-950237169,null),new cljs.core.Keyword(null,"name","name",1843675177)))],null),null])));cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("flight","squadron","flight/squadron",13800615),new cljs.core.Symbol("weathergen.falcon.files.mission","VuId","weathergen.falcon.files.mission/VuId",675489086,null),weathergen.falcon.files.mission.VuId);
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","squadrons","weathergen.falcon.files.mission/squadrons",47769110),cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha","or","cljs.spec.alpha/or",-831679639,null),new cljs.core.Keyword(null,"map","map",1371690461),cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha","map-of","cljs.spec.alpha/map-of",153715093,null),new cljs.core.Symbol("weathergen.falcon.files.mission","VuId","weathergen.falcon.files.mission/VuId",
675489086,null),cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha","coll-of","cljs.spec.alpha/coll-of",1019430407,null),new cljs.core.Symbol("weathergen.falcon.files.mission","Squadron","weathergen.falcon.files.mission/Squadron",-1886789833,null))),new cljs.core.Keyword(null,"seq","seq",-1817803783),cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha","nilable","cljs.spec.alpha/nilable",1628308748,null),cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha","coll-of","cljs.spec.alpha/coll-of",
1019430407,null),new cljs.core.Symbol("weathergen.falcon.files.mission","Squadron","weathergen.falcon.files.mission/Squadron",-1886789833,null)))),cljs.spec.alpha.or_spec_impl.call(null,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"map","map",1371690461),new cljs.core.Keyword(null,"seq","seq",-1817803783)],null),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha",
"map-of","cljs.spec.alpha/map-of",153715093,null),new cljs.core.Symbol("weathergen.falcon.files.mission","VuId","weathergen.falcon.files.mission/VuId",675489086,null),cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha","coll-of","cljs.spec.alpha/coll-of",1019430407,null),new cljs.core.Symbol("weathergen.falcon.files.mission","Squadron","weathergen.falcon.files.mission/Squadron",-1886789833,null))),cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha","nilable","cljs.spec.alpha/nilable",1628308748,
null),cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha","coll-of","cljs.spec.alpha/coll-of",1019430407,null),new cljs.core.Symbol("weathergen.falcon.files.mission","Squadron","weathergen.falcon.files.mission/Squadron",-1886789833,null)))],null),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[cljs.spec.alpha.every_impl.call(null,cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha","tuple","cljs.spec.alpha/tuple",-415901908,null),new cljs.core.Symbol(null,"VuId",
"VuId",-684085580,null),cljs.core.list(new cljs.core.Symbol("s","coll-of","s/coll-of",-1705285349,null),new cljs.core.Symbol(null,"Squadron","Squadron",676227521,null))),cljs.spec.alpha.tuple_impl.call(null,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol("weathergen.falcon.files.mission","VuId","weathergen.falcon.files.mission/VuId",675489086,null),cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha","coll-of","cljs.spec.alpha/coll-of",1019430407,
null),new cljs.core.Symbol("weathergen.falcon.files.mission","Squadron","weathergen.falcon.files.mission/Squadron",-1886789833,null))],null),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[weathergen.falcon.files.mission.VuId,cljs.spec.alpha.every_impl.call(null,new cljs.core.Symbol(null,"Squadron","Squadron",676227521,null),weathergen.falcon.files.mission.Squadron,new cljs.core.PersistentArrayMap(null,4,[new cljs.core.Keyword("cljs.spec.alpha","kind-form","cljs.spec.alpha/kind-form",
-1047104697),null,new cljs.core.Keyword("cljs.spec.alpha","cpred","cljs.spec.alpha/cpred",-693471218),function(a){return cljs.core.coll_QMARK_.call(null,a)},new cljs.core.Keyword("cljs.spec.alpha","conform-all","cljs.spec.alpha/conform-all",45201917),!0,new cljs.core.Keyword("cljs.spec.alpha","describe","cljs.spec.alpha/describe",1883026911),cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha","coll-of","cljs.spec.alpha/coll-of",1019430407,null),new cljs.core.Symbol("weathergen.falcon.files.mission",
"Squadron","weathergen.falcon.files.mission/Squadron",-1886789833,null))],null),null)],null)),new cljs.core.PersistentArrayMap(null,7,[new cljs.core.Keyword(null,"into","into",-150836029),cljs.core.PersistentArrayMap.EMPTY,new cljs.core.Keyword("cljs.spec.alpha","kind-form","cljs.spec.alpha/kind-form",-1047104697),new cljs.core.Symbol("cljs.core","map?","cljs.core/map?",-1390345523,null),new cljs.core.Keyword("cljs.spec.alpha","cpred","cljs.spec.alpha/cpred",-693471218),function(a){return cljs.core.map_QMARK_.call(null,
a)},new cljs.core.Keyword(null,"kind","kind",-717265803),cljs.core.map_QMARK_,new cljs.core.Keyword("cljs.spec.alpha","kfn","cljs.spec.alpha/kfn",672643897),function(a,b){return cljs.core.nth.call(null,b,0)},new cljs.core.Keyword("cljs.spec.alpha","conform-all","cljs.spec.alpha/conform-all",45201917),!0,new cljs.core.Keyword("cljs.spec.alpha","describe","cljs.spec.alpha/describe",1883026911),cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha","map-of","cljs.spec.alpha/map-of",153715093,null),new cljs.core.Symbol("weathergen.falcon.files.mission",
"VuId","weathergen.falcon.files.mission/VuId",675489086,null),cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha","coll-of","cljs.spec.alpha/coll-of",1019430407,null),new cljs.core.Symbol("weathergen.falcon.files.mission","Squadron","weathergen.falcon.files.mission/Squadron",-1886789833,null)))],null),null),cljs.spec.alpha.nilable_impl.call(null,cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha","coll-of","cljs.spec.alpha/coll-of",1019430407,null),new cljs.core.Symbol("weathergen.falcon.files.mission",
"Squadron","weathergen.falcon.files.mission/Squadron",-1886789833,null)),cljs.spec.alpha.every_impl.call(null,new cljs.core.Symbol(null,"Squadron","Squadron",676227521,null),weathergen.falcon.files.mission.Squadron,new cljs.core.PersistentArrayMap(null,4,[new cljs.core.Keyword("cljs.spec.alpha","kind-form","cljs.spec.alpha/kind-form",-1047104697),null,new cljs.core.Keyword("cljs.spec.alpha","cpred","cljs.spec.alpha/cpred",-693471218),function(a){return cljs.core.coll_QMARK_.call(null,a)},new cljs.core.Keyword("cljs.spec.alpha",
"conform-all","cljs.spec.alpha/conform-all",45201917),!0,new cljs.core.Keyword("cljs.spec.alpha","describe","cljs.spec.alpha/describe",1883026911),cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha","coll-of","cljs.spec.alpha/coll-of",1019430407,null),new cljs.core.Symbol("weathergen.falcon.files.mission","Squadron","weathergen.falcon.files.mission/Squadron",-1886789833,null))],null),null),null)],null),null));
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","squadron-image","weathergen.falcon.files.mission/squadron-image",-423118152),new cljs.core.Symbol("weathergen.falcon.files.mission","ImageDescriptor","weathergen.falcon.files.mission/ImageDescriptor",1862906272,null),weathergen.falcon.files.mission.ImageDescriptor);
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","squadron-info","weathergen.falcon.files.mission/squadron-info",1935185696),cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha","coll-of","cljs.spec.alpha/coll-of",1019430407,null),new cljs.core.Symbol("weathergen.falcon.files.mission","SquadronInfo","weathergen.falcon.files.mission/SquadronInfo",1028616050,null)),cljs.spec.alpha.every_impl.call(null,new cljs.core.Symbol(null,"SquadronInfo","SquadronInfo",
-796591676,null),weathergen.falcon.files.mission.SquadronInfo,new cljs.core.PersistentArrayMap(null,4,[new cljs.core.Keyword("cljs.spec.alpha","kind-form","cljs.spec.alpha/kind-form",-1047104697),null,new cljs.core.Keyword("cljs.spec.alpha","cpred","cljs.spec.alpha/cpred",-693471218),function(a){return cljs.core.coll_QMARK_.call(null,a)},new cljs.core.Keyword("cljs.spec.alpha","conform-all","cljs.spec.alpha/conform-all",45201917),!0,new cljs.core.Keyword("cljs.spec.alpha","describe","cljs.spec.alpha/describe",
1883026911),cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha","coll-of","cljs.spec.alpha/coll-of",1019430407,null),new cljs.core.Symbol("weathergen.falcon.files.mission","SquadronInfo","weathergen.falcon.files.mission/SquadronInfo",1028616050,null))],null),null));
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","squadron-patch","weathergen.falcon.files.mission/squadron-patch",-1846053444),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null),cljs.core.integer_QMARK_);
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","stance","weathergen.falcon.files.mission/stance",173653206),cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha","coll-of","cljs.spec.alpha/coll-of",1019430407,null),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null),new cljs.core.Keyword(null,"count","count",2139924085),8),cljs.spec.alpha.every_impl.call(null,new cljs.core.Symbol(null,"integer?","integer?",1303791671,null),
cljs.core.integer_QMARK_,new cljs.core.PersistentArrayMap(null,5,[new cljs.core.Keyword("cljs.spec.alpha","kind-form","cljs.spec.alpha/kind-form",-1047104697),null,new cljs.core.Keyword("cljs.spec.alpha","cpred","cljs.spec.alpha/cpred",-693471218),function(a){return cljs.core.coll_QMARK_.call(null,a)&&cljs.core._EQ_.call(null,8,cljs.core.bounded_count.call(null,8,a))},new cljs.core.Keyword(null,"count","count",2139924085),8,new cljs.core.Keyword("cljs.spec.alpha","conform-all","cljs.spec.alpha/conform-all",
45201917),!0,new cljs.core.Keyword("cljs.spec.alpha","describe","cljs.spec.alpha/describe",1883026911),cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha","coll-of","cljs.spec.alpha/coll-of",1019430407,null),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null),new cljs.core.Keyword(null,"count","count",2139924085),8)],null),null));
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","start","weathergen.falcon.files.mission/start",1184725893),new cljs.core.Symbol("weathergen.falcon.files.mission","CampaignTime","weathergen.falcon.files.mission/CampaignTime",1868159822,null),weathergen.falcon.files.mission.CampaignTime);
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","start-block","weathergen.falcon.files.mission/start-block",-770598562),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null),cljs.core.integer_QMARK_);
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","start-status","weathergen.falcon.files.mission/start-status",235739291),new cljs.core.Symbol("weathergen.falcon.files.mission","TeamStatus","weathergen.falcon.files.mission/TeamStatus",1447376489,null),weathergen.falcon.files.mission.TeamStatus);
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","status","weathergen.falcon.files.mission/status",667063917),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null),cljs.core.integer_QMARK_);
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","stop","weathergen.falcon.files.mission/stop",-433998692),new cljs.core.Symbol("weathergen.falcon.files.mission","CampaignTime","weathergen.falcon.files.mission/CampaignTime",1868159822,null),weathergen.falcon.files.mission.CampaignTime);
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","strength","weathergen.falcon.files.mission/strength",-889401924),cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha","or","cljs.spec.alpha/or",-831679639,null),new cljs.core.Keyword(null,"multiple","multiple",1244445549),cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha","coll-of","cljs.spec.alpha/coll-of",1019430407,null),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null),
new cljs.core.Keyword(null,"count","count",2139924085),new cljs.core.Symbol("weathergen.falcon.constants","MOVEMENT_TYPES","weathergen.falcon.constants/MOVEMENT_TYPES",-765232959,null)),new cljs.core.Keyword(null,"singular","singular",1409933445),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null)),cljs.spec.alpha.or_spec_impl.call(null,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"multiple","multiple",1244445549),
new cljs.core.Keyword(null,"singular","singular",1409933445)],null),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha","coll-of","cljs.spec.alpha/coll-of",1019430407,null),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null),new cljs.core.Keyword(null,"count","count",2139924085),new cljs.core.Symbol("weathergen.falcon.constants","MOVEMENT_TYPES","weathergen.falcon.constants/MOVEMENT_TYPES",
-765232959,null)),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null)],null),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[cljs.spec.alpha.every_impl.call(null,new cljs.core.Symbol(null,"integer?","integer?",1303791671,null),cljs.core.integer_QMARK_,new cljs.core.PersistentArrayMap(null,5,[new cljs.core.Keyword("cljs.spec.alpha","kind-form","cljs.spec.alpha/kind-form",-1047104697),null,new cljs.core.Keyword("cljs.spec.alpha","cpred","cljs.spec.alpha/cpred",
-693471218),function(a){return cljs.core.coll_QMARK_.call(null,a)&&cljs.core._EQ_.call(null,weathergen.falcon.constants.MOVEMENT_TYPES,cljs.core.bounded_count.call(null,weathergen.falcon.constants.MOVEMENT_TYPES,a))},new cljs.core.Keyword(null,"count","count",2139924085),weathergen.falcon.constants.MOVEMENT_TYPES,new cljs.core.Keyword("cljs.spec.alpha","conform-all","cljs.spec.alpha/conform-all",45201917),!0,new cljs.core.Keyword("cljs.spec.alpha","describe","cljs.spec.alpha/describe",1883026911),
cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha","coll-of","cljs.spec.alpha/coll-of",1019430407,null),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null),new cljs.core.Keyword(null,"count","count",2139924085),new cljs.core.Symbol("c","MOVEMENT_TYPES","c/MOVEMENT_TYPES",642974624,null))],null),null),cljs.core.integer_QMARK_],null),null));
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","strings","weathergen.falcon.files.mission/strings",-524118625),new cljs.core.Symbol("weathergen.falcon.files.mission","StringsData","weathergen.falcon.files.mission/StringsData",-1847078139,null),weathergen.falcon.files.mission.StringsData);
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","stype","weathergen.falcon.files.mission/stype",-688992601),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null),cljs.core.integer_QMARK_);cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","supply","weathergen.falcon.files.mission/supply",-45632963),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null),cljs.core.integer_QMARK_);
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","supply-available","weathergen.falcon.files.mission/supply-available",-1548515090),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null),cljs.core.integer_QMARK_);
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","supply-level","weathergen.falcon.files.mission/supply-level",1690639269),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null),cljs.core.integer_QMARK_);
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","tactic","weathergen.falcon.files.mission/tactic",661039788),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null),cljs.core.integer_QMARK_);cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","tangible","weathergen.falcon.files.mission/tangible",1925068834),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null),cljs.core.integer_QMARK_);
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","target-building","weathergen.falcon.files.mission/target-building",-2079590718),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null),cljs.core.integer_QMARK_);
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","target","weathergen.falcon.files.mission/target",-1303374185),new cljs.core.Symbol("weathergen.falcon.files.mission","VuId","weathergen.falcon.files.mission/VuId",675489086,null),weathergen.falcon.files.mission.VuId);
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","target-id","weathergen.falcon.files.mission/target-id",167375943),new cljs.core.Symbol("weathergen.falcon.files.mission","VuId","weathergen.falcon.files.mission/VuId",675489086,null),weathergen.falcon.files.mission.VuId);
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","target-num","weathergen.falcon.files.mission/target-num",-1006424384),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null),cljs.core.integer_QMARK_);
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","te-flags","weathergen.falcon.files.mission/te-flags",1943722675),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null),cljs.core.integer_QMARK_);
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","te-num-aircraft","weathergen.falcon.files.mission/te-num-aircraft",938490194),cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha","coll-of","cljs.spec.alpha/coll-of",1019430407,null),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null),new cljs.core.Keyword(null,"count","count",2139924085),8),cljs.spec.alpha.every_impl.call(null,new cljs.core.Symbol(null,"integer?","integer?",
1303791671,null),cljs.core.integer_QMARK_,new cljs.core.PersistentArrayMap(null,5,[new cljs.core.Keyword("cljs.spec.alpha","kind-form","cljs.spec.alpha/kind-form",-1047104697),null,new cljs.core.Keyword("cljs.spec.alpha","cpred","cljs.spec.alpha/cpred",-693471218),function(a){return cljs.core.coll_QMARK_.call(null,a)&&cljs.core._EQ_.call(null,8,cljs.core.bounded_count.call(null,8,a))},new cljs.core.Keyword(null,"count","count",2139924085),8,new cljs.core.Keyword("cljs.spec.alpha","conform-all","cljs.spec.alpha/conform-all",
45201917),!0,new cljs.core.Keyword("cljs.spec.alpha","describe","cljs.spec.alpha/describe",1883026911),cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha","coll-of","cljs.spec.alpha/coll-of",1019430407,null),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null),new cljs.core.Keyword(null,"count","count",2139924085),8)],null),null));
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","te-num-f16s","weathergen.falcon.files.mission/te-num-f16s",-191711146),cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha","coll-of","cljs.spec.alpha/coll-of",1019430407,null),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null),new cljs.core.Keyword(null,"count","count",2139924085),8),cljs.spec.alpha.every_impl.call(null,new cljs.core.Symbol(null,"integer?","integer?",1303791671,
null),cljs.core.integer_QMARK_,new cljs.core.PersistentArrayMap(null,5,[new cljs.core.Keyword("cljs.spec.alpha","kind-form","cljs.spec.alpha/kind-form",-1047104697),null,new cljs.core.Keyword("cljs.spec.alpha","cpred","cljs.spec.alpha/cpred",-693471218),function(a){return cljs.core.coll_QMARK_.call(null,a)&&cljs.core._EQ_.call(null,8,cljs.core.bounded_count.call(null,8,a))},new cljs.core.Keyword(null,"count","count",2139924085),8,new cljs.core.Keyword("cljs.spec.alpha","conform-all","cljs.spec.alpha/conform-all",
45201917),!0,new cljs.core.Keyword("cljs.spec.alpha","describe","cljs.spec.alpha/describe",1883026911),cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha","coll-of","cljs.spec.alpha/coll-of",1019430407,null),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null),new cljs.core.Keyword(null,"count","count",2139924085),8)],null),null));
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","te-num-teams","weathergen.falcon.files.mission/te-num-teams",2124942913),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null),cljs.core.integer_QMARK_);
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","te-start","weathergen.falcon.files.mission/te-start",1258144836),new cljs.core.Symbol("weathergen.falcon.files.mission","CampaignTime","weathergen.falcon.files.mission/CampaignTime",1868159822,null),weathergen.falcon.files.mission.CampaignTime);
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","te-team","weathergen.falcon.files.mission/te-team",2067528982),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null),cljs.core.integer_QMARK_);
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","te-team-points","weathergen.falcon.files.mission/te-team-points",1537751487),cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha","coll-of","cljs.spec.alpha/coll-of",1019430407,null),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null),new cljs.core.Keyword(null,"count","count",2139924085),8),cljs.spec.alpha.every_impl.call(null,new cljs.core.Symbol(null,"integer?","integer?",
1303791671,null),cljs.core.integer_QMARK_,new cljs.core.PersistentArrayMap(null,5,[new cljs.core.Keyword("cljs.spec.alpha","kind-form","cljs.spec.alpha/kind-form",-1047104697),null,new cljs.core.Keyword("cljs.spec.alpha","cpred","cljs.spec.alpha/cpred",-693471218),function(a){return cljs.core.coll_QMARK_.call(null,a)&&cljs.core._EQ_.call(null,8,cljs.core.bounded_count.call(null,8,a))},new cljs.core.Keyword(null,"count","count",2139924085),8,new cljs.core.Keyword("cljs.spec.alpha","conform-all","cljs.spec.alpha/conform-all",
45201917),!0,new cljs.core.Keyword("cljs.spec.alpha","describe","cljs.spec.alpha/describe",1883026911),cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha","coll-of","cljs.spec.alpha/coll-of",1019430407,null),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null),new cljs.core.Keyword(null,"count","count",2139924085),8)],null),null));
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","te-time-limit","weathergen.falcon.files.mission/te-time-limit",1247115986),new cljs.core.Symbol("weathergen.falcon.files.mission","CampaignTime","weathergen.falcon.files.mission/CampaignTime",1868159822,null),weathergen.falcon.files.mission.CampaignTime);
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","te-type","weathergen.falcon.files.mission/te-type",-1878129922),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null),cljs.core.integer_QMARK_);
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","te-victory-points","weathergen.falcon.files.mission/te-victory-points",1821995009),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null),cljs.core.integer_QMARK_);
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","team","weathergen.falcon.files.mission/team",-1375167511),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null),cljs.core.integer_QMARK_);cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("team","team","team/team",1350128664),new cljs.core.Symbol("weathergen.falcon.files.mission","TeamTeam","weathergen.falcon.files.mission/TeamTeam",-1934724857,null),weathergen.falcon.files.mission.TeamTeam);
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","team-color","weathergen.falcon.files.mission/team-color",-1416174578),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null),cljs.core.integer_QMARK_);
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","team-flag","weathergen.falcon.files.mission/team-flag",342214246),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null),cljs.core.integer_QMARK_);
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","team-info","weathergen.falcon.files.mission/team-info",-125472337),cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha","coll-of","cljs.spec.alpha/coll-of",1019430407,null),new cljs.core.Symbol("weathergen.falcon.files.mission","TeamBasicInfo","weathergen.falcon.files.mission/TeamBasicInfo",1508263632,null),new cljs.core.Keyword(null,"count","count",2139924085),8),cljs.spec.alpha.every_impl.call(null,new cljs.core.Symbol(null,
"TeamBasicInfo","TeamBasicInfo",-86193074,null),weathergen.falcon.files.mission.TeamBasicInfo,new cljs.core.PersistentArrayMap(null,5,[new cljs.core.Keyword("cljs.spec.alpha","kind-form","cljs.spec.alpha/kind-form",-1047104697),null,new cljs.core.Keyword("cljs.spec.alpha","cpred","cljs.spec.alpha/cpred",-693471218),function(a){return cljs.core.coll_QMARK_.call(null,a)&&cljs.core._EQ_.call(null,8,cljs.core.bounded_count.call(null,8,a))},new cljs.core.Keyword(null,"count","count",2139924085),8,new cljs.core.Keyword("cljs.spec.alpha",
"conform-all","cljs.spec.alpha/conform-all",45201917),!0,new cljs.core.Keyword("cljs.spec.alpha","describe","cljs.spec.alpha/describe",1883026911),cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha","coll-of","cljs.spec.alpha/coll-of",1019430407,null),new cljs.core.Symbol("weathergen.falcon.files.mission","TeamBasicInfo","weathergen.falcon.files.mission/TeamBasicInfo",1508263632,null),new cljs.core.Keyword(null,"count","count",2139924085),8)],null),null));
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","teams","weathergen.falcon.files.mission/teams",-1060301368),cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha","coll-of","cljs.spec.alpha/coll-of",1019430407,null),new cljs.core.Symbol("weathergen.falcon.files.mission","Team","weathergen.falcon.files.mission/Team",370269018,null)),cljs.spec.alpha.every_impl.call(null,new cljs.core.Symbol(null,"Team","Team",-1252572720,null),weathergen.falcon.files.mission.Team,
new cljs.core.PersistentArrayMap(null,4,[new cljs.core.Keyword("cljs.spec.alpha","kind-form","cljs.spec.alpha/kind-form",-1047104697),null,new cljs.core.Keyword("cljs.spec.alpha","cpred","cljs.spec.alpha/cpred",-693471218),function(a){return cljs.core.coll_QMARK_.call(null,a)},new cljs.core.Keyword("cljs.spec.alpha","conform-all","cljs.spec.alpha/conform-all",45201917),!0,new cljs.core.Keyword("cljs.spec.alpha","describe","cljs.spec.alpha/describe",1883026911),cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha",
"coll-of","cljs.spec.alpha/coll-of",1019430407,null),new cljs.core.Symbol("weathergen.falcon.files.mission","Team","weathergen.falcon.files.mission/Team",370269018,null))],null),null));cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","tempo","weathergen.falcon.files.mission/tempo",1058201729),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null),cljs.core.integer_QMARK_);
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","terrain-dir","weathergen.falcon.files.mission/terrain-dir",-66327300),new cljs.core.Symbol("weathergen.falcon.files.mission","Dir","weathergen.falcon.files.mission/Dir",490740314,null),weathergen.falcon.files.mission.Dir);
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","tex-idx","weathergen.falcon.files.mission/tex-idx",-1298075695),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null),cljs.core.integer_QMARK_);
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","theater","weathergen.falcon.files.mission/theater",892682177),new cljs.core.Symbol("weathergen.falcon.files.mission","Theater","weathergen.falcon.files.mission/Theater",-1418688427,null),weathergen.falcon.files.mission.Theater);
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","theater-name","weathergen.falcon.files.mission/theater-name",-661452264),new cljs.core.Symbol("cljs.core","string?","cljs.core/string?",-2072921719,null),cljs.core.string_QMARK_);
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","theater-size-x","weathergen.falcon.files.mission/theater-size-x",1167845199),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null),cljs.core.integer_QMARK_);
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","theater-size-y","weathergen.falcon.files.mission/theater-size-y",-265221688),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null),cljs.core.integer_QMARK_);
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","theaters","weathergen.falcon.files.mission/theaters",135274652),cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha","coll-of","cljs.spec.alpha/coll-of",1019430407,null),new cljs.core.Symbol("weathergen.falcon.files.mission","Theater","weathergen.falcon.files.mission/Theater",-1418688427,null)),cljs.spec.alpha.every_impl.call(null,new cljs.core.Symbol(null,"Theater","Theater",-809812509,null),weathergen.falcon.files.mission.Theater,
new cljs.core.PersistentArrayMap(null,4,[new cljs.core.Keyword("cljs.spec.alpha","kind-form","cljs.spec.alpha/kind-form",-1047104697),null,new cljs.core.Keyword("cljs.spec.alpha","cpred","cljs.spec.alpha/cpred",-693471218),function(a){return cljs.core.coll_QMARK_.call(null,a)},new cljs.core.Keyword("cljs.spec.alpha","conform-all","cljs.spec.alpha/conform-all",45201917),!0,new cljs.core.Keyword("cljs.spec.alpha","describe","cljs.spec.alpha/describe",1883026911),cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha",
"coll-of","cljs.spec.alpha/coll-of",1019430407,null),new cljs.core.Symbol("weathergen.falcon.files.mission","Theater","weathergen.falcon.files.mission/Theater",-1418688427,null))],null),null));cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","time","weathergen.falcon.files.mission/time",-1351271916),new cljs.core.Symbol("weathergen.falcon.files.mission","CampaignTime","weathergen.falcon.files.mission/CampaignTime",1868159822,null),weathergen.falcon.files.mission.CampaignTime);
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","time-on-target","weathergen.falcon.files.mission/time-on-target",1754786574),new cljs.core.Symbol("weathergen.falcon.files.mission","CampaignTime","weathergen.falcon.files.mission/CampaignTime",1868159822,null),weathergen.falcon.files.mission.CampaignTime);
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","time-stamp","weathergen.falcon.files.mission/time-stamp",-1751935950),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null),cljs.core.integer_QMARK_);
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","timeout","weathergen.falcon.files.mission/timeout",-1958247324),new cljs.core.Symbol("weathergen.falcon.files.mission","CampaignTime","weathergen.falcon.files.mission/CampaignTime",1868159822,null),weathergen.falcon.files.mission.CampaignTime);
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","tot","weathergen.falcon.files.mission/tot",438073632),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null),cljs.core.integer_QMARK_);cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","tot-type","weathergen.falcon.files.mission/tot-type",-1651966103),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null),cljs.core.integer_QMARK_);
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","transferable","weathergen.falcon.files.mission/transferable",-1781694740),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null),cljs.core.integer_QMARK_);
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","tx","weathergen.falcon.files.mission/tx",1872347788),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null),cljs.core.integer_QMARK_);cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","ty","weathergen.falcon.files.mission/ty",1848699175),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null),cljs.core.integer_QMARK_);
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","type","weathergen.falcon.files.mission/type",-1571457242),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null),cljs.core.integer_QMARK_);
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("flight","type","flight/type",-1312723716),new cljs.core.PersistentHashSet(null,new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"flight","flight",-764860679),"null"],null),null),new cljs.core.PersistentHashSet(null,new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"flight","flight",-764860679),null],null),null));
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","ui-name","weathergen.falcon.files.mission/ui-name",737365718),new cljs.core.Symbol("cljs.core","string?","cljs.core/string?",-2072921719,null),cljs.core.string_QMARK_);
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","units","weathergen.falcon.files.mission/units",-1082709161),cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha","coll-of","cljs.spec.alpha/coll-of",1019430407,null),new cljs.core.Symbol("weathergen.falcon.files.mission","Unit","weathergen.falcon.files.mission/Unit",-1510668303,null)),cljs.spec.alpha.every_impl.call(null,new cljs.core.Symbol(null,"Unit","Unit",1086897223,null),weathergen.falcon.files.mission.Unit,
new cljs.core.PersistentArrayMap(null,4,[new cljs.core.Keyword("cljs.spec.alpha","kind-form","cljs.spec.alpha/kind-form",-1047104697),null,new cljs.core.Keyword("cljs.spec.alpha","cpred","cljs.spec.alpha/cpred",-693471218),function(a){return cljs.core.coll_QMARK_.call(null,a)},new cljs.core.Keyword("cljs.spec.alpha","conform-all","cljs.spec.alpha/conform-all",45201917),!0,new cljs.core.Keyword("cljs.spec.alpha","describe","cljs.spec.alpha/describe",1883026911),cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha",
"coll-of","cljs.spec.alpha/coll-of",1019430407,null),new cljs.core.Symbol("weathergen.falcon.files.mission","Unit","weathergen.falcon.files.mission/Unit",-1510668303,null))],null),null));cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","unit-flags","weathergen.falcon.files.mission/unit-flags",-1918064651),new cljs.core.Symbol("weathergen.falcon.files.mission","UnitFlags","weathergen.falcon.files.mission/UnitFlags",1810895183,null),weathergen.falcon.files.mission.UnitFlags);
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","unit-class-data","weathergen.falcon.files.mission/unit-class-data",-341212057),cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha","coll-of","cljs.spec.alpha/coll-of",1019430407,null),new cljs.core.Symbol("weathergen.falcon.files.mission","UnitClassData","weathergen.falcon.files.mission/UnitClassData",-1297317559,null)),cljs.spec.alpha.every_impl.call(null,new cljs.core.Symbol(null,"UnitClassData","UnitClassData",
-673834017,null),weathergen.falcon.files.mission.UnitClassData,new cljs.core.PersistentArrayMap(null,4,[new cljs.core.Keyword("cljs.spec.alpha","kind-form","cljs.spec.alpha/kind-form",-1047104697),null,new cljs.core.Keyword("cljs.spec.alpha","cpred","cljs.spec.alpha/cpred",-693471218),function(a){return cljs.core.coll_QMARK_.call(null,a)},new cljs.core.Keyword("cljs.spec.alpha","conform-all","cljs.spec.alpha/conform-all",45201917),!0,new cljs.core.Keyword("cljs.spec.alpha","describe","cljs.spec.alpha/describe",
1883026911),cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha","coll-of","cljs.spec.alpha/coll-of",1019430407,null),new cljs.core.Symbol("weathergen.falcon.files.mission","UnitClassData","weathergen.falcon.files.mission/UnitClassData",-1297317559,null))],null),null));
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","unit-type-priority","weathergen.falcon.files.mission/unit-type-priority",774152055),cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha","coll-of","cljs.spec.alpha/coll-of",1019430407,null),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null),new cljs.core.Keyword(null,"count","count",2139924085),20),cljs.spec.alpha.every_impl.call(null,new cljs.core.Symbol(null,"integer?","integer?",
1303791671,null),cljs.core.integer_QMARK_,new cljs.core.PersistentArrayMap(null,5,[new cljs.core.Keyword("cljs.spec.alpha","kind-form","cljs.spec.alpha/kind-form",-1047104697),null,new cljs.core.Keyword("cljs.spec.alpha","cpred","cljs.spec.alpha/cpred",-693471218),function(a){return cljs.core.coll_QMARK_.call(null,a)&&cljs.core._EQ_.call(null,20,cljs.core.bounded_count.call(null,20,a))},new cljs.core.Keyword(null,"count","count",2139924085),20,new cljs.core.Keyword("cljs.spec.alpha","conform-all",
"cljs.spec.alpha/conform-all",45201917),!0,new cljs.core.Keyword("cljs.spec.alpha","describe","cljs.spec.alpha/describe",1883026911),cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha","coll-of","cljs.spec.alpha/coll-of",1019430407,null),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null),new cljs.core.Keyword(null,"count","count",2139924085),20)],null),null));
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","update-rate","weathergen.falcon.files.mission/update-rate",76404465),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null),cljs.core.integer_QMARK_);
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","update-tolerance","weathergen.falcon.files.mission/update-tolerance",1816777841),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null),cljs.core.integer_QMARK_);
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","user-ids","weathergen.falcon.files.mission/user-ids",2086909600),new cljs.core.Symbol("weathergen.falcon.files.mission","IdList","weathergen.falcon.files.mission/IdList",439773059,null),weathergen.falcon.files.mission.IdList);
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","value","weathergen.falcon.files.mission/value",-1307089913),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null),cljs.core.integer_QMARK_);
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","vehicle-class","weathergen.falcon.files.mission/vehicle-class",-125275329),cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha","coll-of","cljs.spec.alpha/coll-of",1019430407,null),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null),new cljs.core.Keyword(null,"count","count",2139924085),new cljs.core.Symbol("weathergen.falcon.constants","VEHICLE_GROUPS_PER_UNIT","weathergen.falcon.constants/VEHICLE_GROUPS_PER_UNIT",
-1007019064,null)),cljs.spec.alpha.every_impl.call(null,new cljs.core.Symbol(null,"integer?","integer?",1303791671,null),cljs.core.integer_QMARK_,new cljs.core.PersistentArrayMap(null,5,[new cljs.core.Keyword("cljs.spec.alpha","kind-form","cljs.spec.alpha/kind-form",-1047104697),null,new cljs.core.Keyword("cljs.spec.alpha","cpred","cljs.spec.alpha/cpred",-693471218),function(a){return cljs.core.coll_QMARK_.call(null,a)&&cljs.core._EQ_.call(null,weathergen.falcon.constants.VEHICLE_GROUPS_PER_UNIT,
cljs.core.bounded_count.call(null,weathergen.falcon.constants.VEHICLE_GROUPS_PER_UNIT,a))},new cljs.core.Keyword(null,"count","count",2139924085),weathergen.falcon.constants.VEHICLE_GROUPS_PER_UNIT,new cljs.core.Keyword("cljs.spec.alpha","conform-all","cljs.spec.alpha/conform-all",45201917),!0,new cljs.core.Keyword("cljs.spec.alpha","describe","cljs.spec.alpha/describe",1883026911),cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha","coll-of","cljs.spec.alpha/coll-of",1019430407,null),new cljs.core.Symbol("cljs.core",
"integer?","cljs.core/integer?",1710697810,null),new cljs.core.Keyword(null,"count","count",2139924085),new cljs.core.Symbol("c","VEHICLE_GROUPS_PER_UNIT","c/VEHICLE_GROUPS_PER_UNIT",-1221930257,null))],null),null));
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","vehicle-class-data","weathergen.falcon.files.mission/vehicle-class-data",-131845879),cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha","coll-of","cljs.spec.alpha/coll-of",1019430407,null),new cljs.core.Symbol("weathergen.falcon.files.mission","VehicleClassData","weathergen.falcon.files.mission/VehicleClassData",-1424706508,null)),cljs.spec.alpha.every_impl.call(null,new cljs.core.Symbol(null,"VehicleClassData",
"VehicleClassData",-934147390,null),weathergen.falcon.files.mission.VehicleClassData,new cljs.core.PersistentArrayMap(null,4,[new cljs.core.Keyword("cljs.spec.alpha","kind-form","cljs.spec.alpha/kind-form",-1047104697),null,new cljs.core.Keyword("cljs.spec.alpha","cpred","cljs.spec.alpha/cpred",-693471218),function(a){return cljs.core.coll_QMARK_.call(null,a)},new cljs.core.Keyword("cljs.spec.alpha","conform-all","cljs.spec.alpha/conform-all",45201917),!0,new cljs.core.Keyword("cljs.spec.alpha","describe",
"cljs.spec.alpha/describe",1883026911),cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha","coll-of","cljs.spec.alpha/coll-of",1019430407,null),new cljs.core.Symbol("weathergen.falcon.files.mission","VehicleClassData","weathergen.falcon.files.mission/VehicleClassData",-1424706508,null))],null),null));
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","vehicle-data-index","weathergen.falcon.files.mission/vehicle-data-index",94274720),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null),cljs.core.integer_QMARK_);
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","vehicle-type","weathergen.falcon.files.mission/vehicle-type",-1979309590),cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha","coll-of","cljs.spec.alpha/coll-of",1019430407,null),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null),new cljs.core.Keyword(null,"count","count",2139924085),new cljs.core.Symbol("weathergen.falcon.constants","VEHICLE_GROUPS_PER_UNIT","weathergen.falcon.constants/VEHICLE_GROUPS_PER_UNIT",
-1007019064,null)),cljs.spec.alpha.every_impl.call(null,new cljs.core.Symbol(null,"integer?","integer?",1303791671,null),cljs.core.integer_QMARK_,new cljs.core.PersistentArrayMap(null,5,[new cljs.core.Keyword("cljs.spec.alpha","kind-form","cljs.spec.alpha/kind-form",-1047104697),null,new cljs.core.Keyword("cljs.spec.alpha","cpred","cljs.spec.alpha/cpred",-693471218),function(a){return cljs.core.coll_QMARK_.call(null,a)&&cljs.core._EQ_.call(null,weathergen.falcon.constants.VEHICLE_GROUPS_PER_UNIT,
cljs.core.bounded_count.call(null,weathergen.falcon.constants.VEHICLE_GROUPS_PER_UNIT,a))},new cljs.core.Keyword(null,"count","count",2139924085),weathergen.falcon.constants.VEHICLE_GROUPS_PER_UNIT,new cljs.core.Keyword("cljs.spec.alpha","conform-all","cljs.spec.alpha/conform-all",45201917),!0,new cljs.core.Keyword("cljs.spec.alpha","describe","cljs.spec.alpha/describe",1883026911),cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha","coll-of","cljs.spec.alpha/coll-of",1019430407,null),new cljs.core.Symbol("cljs.core",
"integer?","cljs.core/integer?",1710697810,null),new cljs.core.Keyword(null,"count","count",2139924085),new cljs.core.Symbol("c","VEHICLE_GROUPS_PER_UNIT","c/VEHICLE_GROUPS_PER_UNIT",-1221930257,null))],null),null));cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("database","version","database/version",1963983397),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null),cljs.core.integer_QMARK_);
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","version","weathergen.falcon.files.mission/version",926320952),new cljs.core.Symbol("weathergen.falcon.files.mission","Version","weathergen.falcon.files.mission/Version",-1394324279,null),weathergen.falcon.files.mission.Version);
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","victory-conditions","weathergen.falcon.files.mission/victory-conditions",-320186067),new cljs.core.Symbol("weathergen.falcon.files.mission","VictoryConditions","weathergen.falcon.files.mission/VictoryConditions",1748746947,null),weathergen.falcon.files.mission.VictoryConditions);
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","vis-type","weathergen.falcon.files.mission/vis-type",-790933497),cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha","coll-of","cljs.spec.alpha/coll-of",1019430407,null),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null),new cljs.core.Keyword(null,"count","count",2139924085),7),cljs.spec.alpha.every_impl.call(null,new cljs.core.Symbol(null,"integer?","integer?",1303791671,null),
cljs.core.integer_QMARK_,new cljs.core.PersistentArrayMap(null,5,[new cljs.core.Keyword("cljs.spec.alpha","kind-form","cljs.spec.alpha/kind-form",-1047104697),null,new cljs.core.Keyword("cljs.spec.alpha","cpred","cljs.spec.alpha/cpred",-693471218),function(a){return cljs.core.coll_QMARK_.call(null,a)&&cljs.core._EQ_.call(null,7,cljs.core.bounded_count.call(null,7,a))},new cljs.core.Keyword(null,"count","count",2139924085),7,new cljs.core.Keyword("cljs.spec.alpha","conform-all","cljs.spec.alpha/conform-all",
45201917),!0,new cljs.core.Keyword("cljs.spec.alpha","describe","cljs.spec.alpha/describe",1883026911),cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha","coll-of","cljs.spec.alpha/coll-of",1019430407,null),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null),new cljs.core.Keyword(null,"count","count",2139924085),7)],null),null));
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","visible-flags","weathergen.falcon.files.mission/visible-flags",1069257894),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null),cljs.core.integer_QMARK_);
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","vu-class-data","weathergen.falcon.files.mission/vu-class-data",797628127),new cljs.core.Symbol("weathergen.falcon.files.mission","VuEntityFields","weathergen.falcon.files.mission/VuEntityFields",-436340301,null),weathergen.falcon.files.mission.VuEntityFields);
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","waypoints","weathergen.falcon.files.mission/waypoints",712228162),cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha","coll-of","cljs.spec.alpha/coll-of",1019430407,null),new cljs.core.Symbol("weathergen.falcon.files.mission","Waypoint","weathergen.falcon.files.mission/Waypoint",-1002339198,null)),cljs.spec.alpha.every_impl.call(null,new cljs.core.Symbol(null,"Waypoint","Waypoint",2042371604,null),weathergen.falcon.files.mission.Waypoint,
new cljs.core.PersistentArrayMap(null,4,[new cljs.core.Keyword("cljs.spec.alpha","kind-form","cljs.spec.alpha/kind-form",-1047104697),null,new cljs.core.Keyword("cljs.spec.alpha","cpred","cljs.spec.alpha/cpred",-693471218),function(a){return cljs.core.coll_QMARK_.call(null,a)},new cljs.core.Keyword("cljs.spec.alpha","conform-all","cljs.spec.alpha/conform-all",45201917),!0,new cljs.core.Keyword("cljs.spec.alpha","describe","cljs.spec.alpha/describe",1883026911),cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha",
"coll-of","cljs.spec.alpha/coll-of",1019430407,null),new cljs.core.Symbol("weathergen.falcon.files.mission","Waypoint","weathergen.falcon.files.mission/Waypoint",-1002339198,null))],null),null));
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","weapon","weathergen.falcon.files.mission/weapon",1169121678),cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha","coll-of","cljs.spec.alpha/coll-of",1019430407,null),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null),new cljs.core.Keyword(null,"count","count",2139924085),new cljs.core.Symbol("weathergen.falcon.constants","HARDPOINT_MAX","weathergen.falcon.constants/HARDPOINT_MAX",
-1261939792,null)),cljs.spec.alpha.every_impl.call(null,new cljs.core.Symbol(null,"integer?","integer?",1303791671,null),cljs.core.integer_QMARK_,new cljs.core.PersistentArrayMap(null,5,[new cljs.core.Keyword("cljs.spec.alpha","kind-form","cljs.spec.alpha/kind-form",-1047104697),null,new cljs.core.Keyword("cljs.spec.alpha","cpred","cljs.spec.alpha/cpred",-693471218),function(a){return cljs.core.coll_QMARK_.call(null,a)&&cljs.core._EQ_.call(null,weathergen.falcon.constants.HARDPOINT_MAX,cljs.core.bounded_count.call(null,
weathergen.falcon.constants.HARDPOINT_MAX,a))},new cljs.core.Keyword(null,"count","count",2139924085),weathergen.falcon.constants.HARDPOINT_MAX,new cljs.core.Keyword("cljs.spec.alpha","conform-all","cljs.spec.alpha/conform-all",45201917),!0,new cljs.core.Keyword("cljs.spec.alpha","describe","cljs.spec.alpha/describe",1883026911),cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha","coll-of","cljs.spec.alpha/coll-of",1019430407,null),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",
1710697810,null),new cljs.core.Keyword(null,"count","count",2139924085),new cljs.core.Symbol("c","HARDPOINT_MAX","c/HARDPOINT_MAX",-525891437,null))],null),null));
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("vehicle","weapons","vehicle/weapons",2115526130),cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha","coll-of","cljs.spec.alpha/coll-of",1019430407,null),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null),new cljs.core.Keyword(null,"count","count",2139924085),new cljs.core.Symbol("weathergen.falcon.constants","HARDPOINT_MAX","weathergen.falcon.constants/HARDPOINT_MAX",-1261939792,null)),cljs.spec.alpha.every_impl.call(null,
new cljs.core.Symbol(null,"integer?","integer?",1303791671,null),cljs.core.integer_QMARK_,new cljs.core.PersistentArrayMap(null,5,[new cljs.core.Keyword("cljs.spec.alpha","kind-form","cljs.spec.alpha/kind-form",-1047104697),null,new cljs.core.Keyword("cljs.spec.alpha","cpred","cljs.spec.alpha/cpred",-693471218),function(a){return cljs.core.coll_QMARK_.call(null,a)&&cljs.core._EQ_.call(null,weathergen.falcon.constants.HARDPOINT_MAX,cljs.core.bounded_count.call(null,weathergen.falcon.constants.HARDPOINT_MAX,
a))},new cljs.core.Keyword(null,"count","count",2139924085),weathergen.falcon.constants.HARDPOINT_MAX,new cljs.core.Keyword("cljs.spec.alpha","conform-all","cljs.spec.alpha/conform-all",45201917),!0,new cljs.core.Keyword("cljs.spec.alpha","describe","cljs.spec.alpha/describe",1883026911),cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha","coll-of","cljs.spec.alpha/coll-of",1019430407,null),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null),new cljs.core.Keyword(null,
"count","count",2139924085),new cljs.core.Symbol("c","HARDPOINT_MAX","c/HARDPOINT_MAX",-525891437,null))],null),null));
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","weapons","weathergen.falcon.files.mission/weapons",-176268464),cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha","coll-of","cljs.spec.alpha/coll-of",1019430407,null),new cljs.core.Symbol("weathergen.falcon.files.mission","Weapon","weathergen.falcon.files.mission/Weapon",-673912717,null)),cljs.spec.alpha.every_impl.call(null,new cljs.core.Symbol(null,"Weapon","Weapon",705781241,null),weathergen.falcon.files.mission.Weapon,
new cljs.core.PersistentArrayMap(null,4,[new cljs.core.Keyword("cljs.spec.alpha","kind-form","cljs.spec.alpha/kind-form",-1047104697),null,new cljs.core.Keyword("cljs.spec.alpha","cpred","cljs.spec.alpha/cpred",-693471218),function(a){return cljs.core.coll_QMARK_.call(null,a)},new cljs.core.Keyword("cljs.spec.alpha","conform-all","cljs.spec.alpha/conform-all",45201917),!0,new cljs.core.Keyword("cljs.spec.alpha","describe","cljs.spec.alpha/describe",1883026911),cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha",
"coll-of","cljs.spec.alpha/coll-of",1019430407,null),new cljs.core.Symbol("weathergen.falcon.files.mission","Weapon","weathergen.falcon.files.mission/Weapon",-673912717,null))],null),null));
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","weapon-class-data","weathergen.falcon.files.mission/weapon-class-data",-1245893783),cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha","coll-of","cljs.spec.alpha/coll-of",1019430407,null),new cljs.core.Symbol("weathergen.falcon.files.mission","WeaponClassData","weathergen.falcon.files.mission/WeaponClassData",494120455,null)),cljs.spec.alpha.every_impl.call(null,new cljs.core.Symbol(null,"WeaponClassData",
"WeaponClassData",-1173811055,null),weathergen.falcon.files.mission.WeaponClassData,new cljs.core.PersistentArrayMap(null,4,[new cljs.core.Keyword("cljs.spec.alpha","kind-form","cljs.spec.alpha/kind-form",-1047104697),null,new cljs.core.Keyword("cljs.spec.alpha","cpred","cljs.spec.alpha/cpred",-693471218),function(a){return cljs.core.coll_QMARK_.call(null,a)},new cljs.core.Keyword("cljs.spec.alpha","conform-all","cljs.spec.alpha/conform-all",45201917),!0,new cljs.core.Keyword("cljs.spec.alpha","describe",
"cljs.spec.alpha/describe",1883026911),cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha","coll-of","cljs.spec.alpha/coll-of",1019430407,null),new cljs.core.Symbol("weathergen.falcon.files.mission","WeaponClassData","weathergen.falcon.files.mission/WeaponClassData",494120455,null))],null),null));
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","weather","weathergen.falcon.files.mission/weather",-1294003106),new cljs.core.Symbol("weathergen.falcon.files.mission","Weather","weathergen.falcon.files.mission/Weather",1677149497,null),weathergen.falcon.files.mission.Weather);
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","weight","weathergen.falcon.files.mission/weight",167623877),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null),cljs.core.integer_QMARK_);cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","who","weathergen.falcon.files.mission/who",1823833670),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null),cljs.core.integer_QMARK_);
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","vs","weathergen.falcon.files.mission/vs",331200696),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null),cljs.core.integer_QMARK_);cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","x","weathergen.falcon.files.mission/x",-773377357),new cljs.core.Symbol("cljs.core","number?","cljs.core/number?",-811857295,null),cljs.core.number_QMARK_);
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","y","weathergen.falcon.files.mission/y",-1199341078),new cljs.core.Symbol("cljs.core","number?","cljs.core/number?",-811857295,null),cljs.core.number_QMARK_);cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","z","weathergen.falcon.files.mission/z",908766951),new cljs.core.Symbol("cljs.core","number?","cljs.core/number?",-811857295,null),cljs.core.number_QMARK_);
weathergen.falcon.files.mission.class_table_entry=function(a,b){return cljs.core.nth.call(null,(new cljs.core.Keyword(null,"class-table","class-table",207400992)).cljs$core$IFn$_invoke$arity$1(a),(new cljs.core.Keyword(null,"entity-type","entity-type",-1957300125)).cljs$core$IFn$_invoke$arity$1(b)-weathergen.falcon.constants.VU_LAST_ENTITY_TYPE)};
weathergen.falcon.files.mission.class_info=function(a,b){a=null!=a&&(a.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===a.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,a):a;a=cljs.core.get.call(null,a,new cljs.core.Keyword(null,"class-table","class-table",207400992));try{var c=cljs.core.nth.call(null,a,b-weathergen.falcon.constants.VU_LAST_ENTITY_TYPE)}catch(d){if(d instanceof Error)throw cljs.core.ex_info.call(null,"class-info index out of bounds",new cljs.core.PersistentArrayMap(null,
3,[new cljs.core.Keyword(null,"reason","reason",-2070751759),new cljs.core.Keyword(null,"index-out-of-bounds","index-out-of-bounds",-184027516),new cljs.core.Keyword("weathergen.falcon.files.mission","type-id","weathergen.falcon.files.mission/type-id",474269954),b,new cljs.core.Keyword("weathergen.falcon.files.mission","index","weathergen.falcon.files.mission/index",-1989089649),b-weathergen.falcon.constants.VU_LAST_ENTITY_TYPE],null));throw d;}return(new cljs.core.Keyword(null,"class-info","class-info",
-467052058)).cljs$core$IFn$_invoke$arity$1((new cljs.core.Keyword(null,"vu-class-data","vu-class-data",-1868219799)).cljs$core$IFn$_invoke$arity$1(c))};
weathergen.falcon.files.mission.objective_class_entry=function(a,b){return cljs.core.nth.call(null,(new cljs.core.Keyword(null,"objective-class-data","objective-class-data",-2036255156)).cljs$core$IFn$_invoke$arity$1(a),(new cljs.core.Keyword(null,"data-pointer","data-pointer",-1957576382)).cljs$core$IFn$_invoke$arity$1(weathergen.falcon.files.mission.class_table_entry.call(null,a,b)))};
weathergen.falcon.files.mission.unit_class_entry=function(a,b){return cljs.core.nth.call(null,(new cljs.core.Keyword(null,"unit-class-data","unit-class-data",2122324209)).cljs$core$IFn$_invoke$arity$1(a),(new cljs.core.Keyword(null,"data-pointer","data-pointer",-1957576382)).cljs$core$IFn$_invoke$arity$1(weathergen.falcon.files.mission.class_table_entry.call(null,a,b)))};
weathergen.falcon.files.mission.weapon_class_entry=function(a,b){a=null!=a&&(a.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===a.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,a):a;a=cljs.core.get.call(null,a,new cljs.core.Keyword(null,"weapon-class-data","weapon-class-data",-1828241433));return cljs.core.nth.call(null,a,b)};
weathergen.falcon.files.mission.sim_weapon_data_entry=function(a,b){b=(new cljs.core.Keyword(null,"index","index",-1531685915)).cljs$core$IFn$_invoke$arity$1(b);b=cljs.core.nth.call(null,(new cljs.core.Keyword(null,"class-table","class-table",207400992)).cljs$core$IFn$_invoke$arity$1(a),b);b=(new cljs.core.Keyword(null,"vehicle-data-index","vehicle-data-index",1750693686)).cljs$core$IFn$_invoke$arity$1(b);return cljs.core.nth.call(null,(new cljs.core.Keyword(null,"sim-weapon-data","sim-weapon-data",
1516433194)).cljs$core$IFn$_invoke$arity$1(a),b)};weathergen.falcon.files.mission.active_units=function(a){return cljs.core.remove.call(null,function(a){return(new cljs.core.Keyword(null,"inactive","inactive",-306247616)).cljs$core$IFn$_invoke$arity$1((new cljs.core.Keyword(null,"unit-flags","unit-flags",-1443684773)).cljs$core$IFn$_invoke$arity$1(a))},(new cljs.core.Keyword(null,"units","units",-533089095)).cljs$core$IFn$_invoke$arity$1(a))};
weathergen.falcon.files.mission.objective_type=function(a,b){return(new cljs.core.Keyword(null,"type","type",1174270348)).cljs$core$IFn$_invoke$arity$1((new cljs.core.Keyword(null,"class-info","class-info",-467052058)).cljs$core$IFn$_invoke$arity$1((new cljs.core.Keyword(null,"vu-class-data","vu-class-data",-1868219799)).cljs$core$IFn$_invoke$arity$1(weathergen.falcon.files.mission.class_table_entry.call(null,a,b))))};
weathergen.falcon.files.mission.objective_type_name=function(a,b){return cljs.core.get_in.call(null,a,new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"strings","strings",-2055406807),new cljs.core.Keyword(null,"objective-type-names","objective-type-names",-2115502438),weathergen.falcon.files.mission.objective_type.call(null,a,b)],null))};
weathergen.falcon.files.mission.find_objective=function(a,b,c){var d=cljs.core._EQ_;if(cljs.core.truth_(d.call(null,new cljs.core.Keyword(null,"id","id",-1388402092),b)))return cljs.core.first.call(null,cljs.core.filter.call(null,function(a,b){return function(a){return cljs.core._EQ_.call(null,(new cljs.core.Keyword(null,"id","id",-1388402092)).cljs$core$IFn$_invoke$arity$1(a),c)}}(d,b),(new cljs.core.Keyword(null,"objectives","objectives",933939509)).cljs$core$IFn$_invoke$arity$1(a)));throw Error(["No matching clause: ",
cljs.core.str.cljs$core$IFn$_invoke$arity$1(b)].join(""));};
weathergen.falcon.files.mission.find_unit=function(a,b,c){var d=cljs.core._EQ_;if(cljs.core.truth_(d.call(null,new cljs.core.Keyword(null,"id","id",-1388402092),b)))return cljs.core.first.call(null,cljs.core.filter.call(null,function(a,b){return function(a){return cljs.core._EQ_.call(null,(new cljs.core.Keyword(null,"id","id",-1388402092)).cljs$core$IFn$_invoke$arity$1(a),c)}}(d,b),weathergen.falcon.files.mission.active_units.call(null,a)));throw Error(["No matching clause: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(b)].join(""));
};weathergen.falcon.files.mission.unit_lookup_by_id=function(a,b){return cljs.core.some.call(null,function(a){return cljs.core._EQ_.call(null,b,(new cljs.core.Keyword(null,"id","id",-1388402092)).cljs$core$IFn$_invoke$arity$1(a))?a:null},a)};
weathergen.falcon.files.mission.objective_name=function(a,b){var c=null!=a&&(a.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===a.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,a):a;cljs.core.get.call(null,c,new cljs.core.Keyword(null,"class-table","class-table",207400992));cljs.core.get.call(null,c,new cljs.core.Keyword(null,"objective-class-data","objective-class-data",-2036255156));var d=cljs.core.get.call(null,c,new cljs.core.Keyword(null,"names","names",-1943074658));
cljs.core.get.call(null,c,new cljs.core.Keyword(null,"strings","strings",-2055406807));c=(new cljs.core.Keyword(null,"name-id","name-id",-279275372)).cljs$core$IFn$_invoke$arity$1(b);if(null==c)return"N/A";if(0!==c){a=d.call(null,c);if(cljs.core.truth_(a))return a;b=(new cljs.core.Keyword("weathergen.falcon.files.mission","name","weathergen.falcon.files.mission/name",1235339975)).cljs$core$IFn$_invoke$arity$1(b);return cljs.core.truth_(b)?b:"Unnamed objective"}c=weathergen.falcon.files.mission.find_objective.call(null,
a,new cljs.core.Keyword(null,"id","id",-1388402092),(new cljs.core.Keyword(null,"parent","parent",-878878779)).cljs$core$IFn$_invoke$arity$1(b));return cljs.core.truth_(c)?[cljs.core.str.cljs$core$IFn$_invoke$arity$1(d.call(null,(new cljs.core.Keyword(null,"name-id","name-id",-279275372)).cljs$core$IFn$_invoke$arity$1(c)))," ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(weathergen.falcon.files.mission.objective_type_name.call(null,a,b))].join(""):d.call(null,0)};
weathergen.falcon.files.mission.ordinal_suffix=function(a,b){a=(new cljs.core.Keyword(null,"fn","fn",-1175266204)).cljs$core$IFn$_invoke$arity$1((new cljs.core.Keyword(null,"strings","strings",-2055406807)).cljs$core$IFn$_invoke$arity$1(a));return cljs.core._EQ_.call(null,1,cljs.core.mod.call(null,b,10))&&cljs.core.not_EQ_.call(null,b,11)?a.call(null,15):cljs.core._EQ_.call(null,2,cljs.core.mod.call(null,b,10))&&cljs.core.not_EQ_.call(null,b,12)?a.call(null,16):cljs.core._EQ_.call(null,3,cljs.core.mod.call(null,
b,10))&&cljs.core.not_EQ_.call(null,b,13)?a.call(null,17):a.call(null,18)};weathergen.falcon.files.mission.partial_EQ_=function(a,b){return cljs.core.every_QMARK_.call(null,cljs.core.identity,cljs.core.map.call(null,cljs.core._EQ_,a,b))};
weathergen.falcon.files.mission.get_size_name=function(a,b){b=null!=b&&(b.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===b.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,b):b;b=cljs.core.get.call(null,b,new cljs.core.Keyword(null,"type-id","type-id",2030062700));b=weathergen.falcon.files.mission.class_info.call(null,a,b);b=null!=b&&(b.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===b.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,
b):b;var c=cljs.core.get.call(null,b,new cljs.core.Keyword(null,"type","type",1174270348)),d=cljs.core.get.call(null,b,new cljs.core.Keyword(null,"domain","domain",1847214937));return(new cljs.core.Keyword(null,"fn","fn",-1175266204)).cljs$core$IFn$_invoke$arity$1((new cljs.core.Keyword(null,"strings","strings",-2055406807)).cljs$core$IFn$_invoke$arity$1(a)).call(null,function(){var a=weathergen.falcon.files.mission.partial_EQ_,b=new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,
[d,c],null);return cljs.core.truth_(a.call(null,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[weathergen.falcon.constants.DOMAIN_AIR,weathergen.falcon.constants.TYPE_SQUADRON],null),b))?610:cljs.core.truth_(a.call(null,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[weathergen.falcon.constants.DOMAIN_AIR,weathergen.falcon.constants.TYPE_FLIGHT],null),b))?611:cljs.core.truth_(a.call(null,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,
[weathergen.falcon.constants.DOMAIN_AIR,weathergen.falcon.constants.TYPE_PACKAGE],null),b))?612:cljs.core.truth_(a.call(null,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[weathergen.falcon.constants.DOMAIN_LAND,weathergen.falcon.constants.TYPE_BRIGADE],null),b))?614:cljs.core.truth_(a.call(null,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[weathergen.falcon.constants.DOMAIN_LAND,weathergen.falcon.constants.TYPE_BATTALION],null),b))?
615:cljs.core.truth_(a.call(null,new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[weathergen.falcon.constants.DOMAIN_SEA],null),b))?616:617}())};
weathergen.falcon.files.mission.unit_name=function(a,b){var c=null!=b&&(b.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===b.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,b):b;cljs.core.get.call(null,c,new cljs.core.Keyword(null,"name-id","name-id",-279275372));var d=cljs.core.get.call(null,c,new cljs.core.Keyword(null,"type-id","type-id",2030062700));c=weathergen.falcon.files.mission.unit_class_entry.call(null,a,b);c=null!=c&&(c.cljs$lang$protocol_mask$partition0$&
64||cljs.core.PROTOCOL_SENTINEL===c.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,c):c;c=cljs.core.get.call(null,c,new cljs.core.Keyword(null,"name","name",1843675177));d=weathergen.falcon.files.mission.class_info.call(null,a,d);d=null!=d&&(d.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===d.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,d):d;var e=cljs.core.get.call(null,d,new cljs.core.Keyword(null,"domain","domain",1847214937)),f=cljs.core.get.call(null,
d,new cljs.core.Keyword(null,"type","type",1174270348));d=(new cljs.core.Keyword(null,"fn","fn",-1175266204)).cljs$core$IFn$_invoke$arity$1((new cljs.core.Keyword(null,"strings","strings",-2055406807)).cljs$core$IFn$_invoke$arity$1(a));var g=cljs.core._EQ_;e=new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[e,f],null);if(cljs.core.truth_(g.call(null,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[weathergen.falcon.constants.DOMAIN_AIR,weathergen.falcon.constants.TYPE_FLIGHT],
null),e)))return b=null!=b&&(b.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===b.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,b):b,a=cljs.core.get.call(null,b,new cljs.core.Keyword(null,"callsign-id","callsign-id",501232863)),b=cljs.core.get.call(null,b,new cljs.core.Keyword(null,"callsign-num","callsign-num",-1771041170)),[cljs.core.str.cljs$core$IFn$_invoke$arity$1(d.call(null,weathergen.falcon.constants.FIRST_CALLSIGN_ID+a))," ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(b)].join("");
if(cljs.core.truth_(g.call(null,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[weathergen.falcon.constants.DOMAIN_AIR,weathergen.falcon.constants.TYPE_PACKAGE],null),e)))return a=null!=b&&(b.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===b.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,b):b,a=cljs.core.get.call(null,a,new cljs.core.Keyword(null,"camp-id","camp-id",618705690)),["Package ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(a)].join("");
d=null!=b&&(b.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===b.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,b):b;d=cljs.core.get.call(null,d,new cljs.core.Keyword(null,"name-id","name-id",-279275372));return[cljs.core.str.cljs$core$IFn$_invoke$arity$1(d),cljs.core.str.cljs$core$IFn$_invoke$arity$1(weathergen.falcon.files.mission.ordinal_suffix.call(null,a,d))," ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(c)," ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(weathergen.falcon.files.mission.get_size_name.call(null,
a,b))].join("")};weathergen.falcon.files.mission.vu_id=octet.core.spec.call(null,new cljs.core.Keyword(null,"name","name",1843675177),octet.core.uint32,new cljs.core.Keyword(null,"creator","creator",-1069241724),octet.core.uint32);
weathergen.falcon.files.mission.campaign_time=function(){if("undefined"===typeof weathergen||"undefined"===typeof weathergen.falcon||"undefined"===typeof weathergen.falcon.files||"undefined"===typeof weathergen.falcon.files.mission||"undefined"===typeof weathergen.falcon.files.mission.t_weathergen$falcon$files$mission29393)weathergen.falcon.files.mission.t_weathergen$falcon$files$mission29393=function(a){this.meta29394=a;this.cljs$lang$protocol_mask$partition0$=393216;this.cljs$lang$protocol_mask$partition1$=
0},weathergen.falcon.files.mission.t_weathergen$falcon$files$mission29393.prototype.cljs$core$IWithMeta$_with_meta$arity$2=function(a,b){return new weathergen.falcon.files.mission.t_weathergen$falcon$files$mission29393(b)},weathergen.falcon.files.mission.t_weathergen$falcon$files$mission29393.prototype.cljs$core$IMeta$_meta$arity$1=function(a){return this.meta29394},weathergen.falcon.files.mission.t_weathergen$falcon$files$mission29393.prototype.octet$spec$ISpecSize$=cljs.core.PROTOCOL_SENTINEL,weathergen.falcon.files.mission.t_weathergen$falcon$files$mission29393.prototype.octet$spec$ISpecSize$size$arity$1=
function(a){return octet.core.size.call(null,octet.core.uint32)},weathergen.falcon.files.mission.t_weathergen$falcon$files$mission29393.prototype.octet$spec$ISpec$=cljs.core.PROTOCOL_SENTINEL,weathergen.falcon.files.mission.t_weathergen$falcon$files$mission29393.prototype.octet$spec$ISpec$read$arity$3=function(a,b,c){b=octet.core.read_STAR_.call(null,b,octet.core.uint32,new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"offset","offset",296498311),c],null));a=cljs.core.nth.call(null,
b,0,null);b=cljs.core.nth.call(null,b,1,null);return new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[a,weathergen.time.ms__GT_campaign_time.call(null,b)],null)},weathergen.falcon.files.mission.t_weathergen$falcon$files$mission29393.prototype.octet$spec$ISpec$write$arity$4=function(a,b,c,d){return octet.core.write_BANG_.call(null,b,octet.core.int32,weathergen.time.campaign_time__GT_ms.call(null,d))},weathergen.falcon.files.mission.t_weathergen$falcon$files$mission29393.getBasis=
function(){return new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"meta29394","meta29394",-379267409,null)],null)},weathergen.falcon.files.mission.t_weathergen$falcon$files$mission29393.cljs$lang$type=!0,weathergen.falcon.files.mission.t_weathergen$falcon$files$mission29393.cljs$lang$ctorStr="weathergen.falcon.files.mission/t_weathergen$falcon$files$mission29393",weathergen.falcon.files.mission.t_weathergen$falcon$files$mission29393.cljs$lang$ctorPrWriter=
function(a,b,c){return cljs.core._write.call(null,b,"weathergen.falcon.files.mission/t_weathergen$falcon$files$mission29393")},weathergen.falcon.files.mission.__GT_t_weathergen$falcon$files$mission29393=function(a){return new weathergen.falcon.files.mission.t_weathergen$falcon$files$mission29393(a)};return new weathergen.falcon.files.mission.t_weathergen$falcon$files$mission29393(cljs.core.PersistentArrayMap.EMPTY)}();
weathergen.falcon.files.mission.vector3=octet.core.spec.call(null,new cljs.core.Keyword(null,"x","x",2099068185),octet.core.float$,new cljs.core.Keyword(null,"y","y",-1757859776),octet.core.float$,new cljs.core.Keyword(null,"z","z",-789527183),octet.core.float$);
weathergen.falcon.files.mission.vu_entity_fields=cljs.core.PersistentVector.fromArray([new cljs.core.Keyword(null,"id","id",-1388402092),octet.core.uint16,new cljs.core.Keyword(null,"collision-type","collision-type",1031477978),octet.core.uint16,new cljs.core.Keyword(null,"collision-radius","collision-radius",2064718833),octet.core.float$,new cljs.core.Keyword(null,"class-info","class-info",-467052058),octet.core.spec.call(null,new cljs.core.Keyword(null,"domain","domain",1847214937),octet.core.ubyte,
new cljs.core.Keyword(null,"class","class",-2030961996),octet.core.ubyte,new cljs.core.Keyword(null,"type","type",1174270348),octet.core.ubyte,new cljs.core.Keyword(null,"stype","stype",-63678419),octet.core.ubyte,new cljs.core.Keyword(null,"sptype","sptype",-1425026030),octet.core.ubyte,new cljs.core.Keyword(null,"owner","owner",-392611939),octet.core.ubyte,new cljs.core.Keyword(null,"field6","field6",-1844847589),octet.core.ubyte,new cljs.core.Keyword(null,"field7","field7",-882507065),octet.core.ubyte),
new cljs.core.Keyword(null,"update-rate","update-rate",549997679),octet.core.uint32,new cljs.core.Keyword(null,"update-tolerance","update-tolerance",1242588651),octet.core.uint32,new cljs.core.Keyword(null,"fine-update-range","fine-update-range",-2006748049),octet.core.float$,new cljs.core.Keyword(null,"fine-update-force-range","fine-update-force-range",-703217754),octet.core.float$,new cljs.core.Keyword(null,"fine-update-multiplier","fine-update-multiplier",1301129404),octet.core.float$,new cljs.core.Keyword(null,
"damage-speed","damage-speed",1800211525),octet.core.uint32,new cljs.core.Keyword(null,"hitpoints","hitpoints",-575579159),octet.core.int32,new cljs.core.Keyword(null,"major-revision-number","major-revision-number",473159511),octet.core.uint16,new cljs.core.Keyword(null,"minor-revision-number","minor-revision-number",-358429843),octet.core.uint16,new cljs.core.Keyword(null,"create-priority","create-priority",-433275059),octet.core.uint16,new cljs.core.Keyword(null,"management-domain","management-domain",
-382123626),octet.core.ubyte,new cljs.core.Keyword(null,"transferable","transferable",-243006862),octet.core.ubyte,new cljs.core.Keyword(null,"private","private",-558947994),octet.core.ubyte,new cljs.core.Keyword(null,"tangible","tangible",1450746508),octet.core.ubyte,new cljs.core.Keyword(null,"collidable","collidable",232142278),octet.core.ubyte,new cljs.core.Keyword(null,"global","global",93595047),octet.core.ubyte,new cljs.core.Keyword(null,"persistent","persistent",885415113),octet.core.ubyte,
new cljs.core.Keyword(null,"padding","padding",1660304693),octet.core.repeat.call(null,3,octet.core.byte$)],!0);
weathergen.falcon.files.mission.falcon4_entity_fields=new cljs.core.PersistentVector(null,10,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"vu-class-data","vu-class-data",-1868219799),cljs.core.apply.call(null,octet.core.spec,weathergen.falcon.files.mission.vu_entity_fields),new cljs.core.Keyword(null,"vis-type","vis-type",802477693),octet.core.repeat.call(null,7,octet.core.int16),new cljs.core.Keyword(null,"vehicle-data-index","vehicle-data-index",1750693686),octet.core.int16,
new cljs.core.Keyword(null,"data-type","data-type",-326421468),octet.core.ubyte,new cljs.core.Keyword(null,"data-pointer","data-pointer",-1957576382),octet.core.int32],null);
weathergen.falcon.files.mission.camp_base_fields=new cljs.core.PersistentVector(null,20,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"id","id",-1388402092),weathergen.falcon.files.mission.vu_id,new cljs.core.Keyword(null,"entity-type","entity-type",-1957300125),octet.core.uint16,new cljs.core.Keyword(null,"x","x",2099068185),octet.core.int16,new cljs.core.Keyword(null,"y","y",-1757859776),octet.core.int16,new cljs.core.Keyword(null,"z","z",-789527183),octet.core.float$,new cljs.core.Keyword(null,
"spot-time","spot-time",644875706),weathergen.falcon.files.mission.campaign_time,new cljs.core.Keyword(null,"spotted","spotted",183372374),octet.core.int16,new cljs.core.Keyword(null,"base-flags","base-flags",-1180150392),octet.core.int16,new cljs.core.Keyword(null,"owner","owner",-392611939),octet.core.ubyte,new cljs.core.Keyword(null,"camp-id","camp-id",618705690),octet.core.int16],null);
weathergen.falcon.files.mission.read_strings=function(a,b){var c=weathergen.filesystem.file_buf.call(null,weathergen.filesystem.path_combine.call(null,a,[cljs.core.str.cljs$core$IFn$_invoke$arity$1(b),".idx"].join(""))),d=octet.buffer._STAR_byte_order_STAR_,e=new cljs.core.Keyword(null,"little-endian","little-endian",1877303413);octet.buffer._STAR_byte_order_STAR_=e;try{var f=octet.core.read.call(null,c,octet.core.uint16),g=octet.core.read.call(null,c,octet.core.repeat.call(null,f,octet.core.uint16),
new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"offset","offset",296498311),2],null)),h=weathergen.filesystem.file_text.call(null,weathergen.filesystem.path_combine.call(null,a,[cljs.core.str.cljs$core$IFn$_invoke$arity$1(b),".wch"].join("")));return function(a,b,c,d,e,f){return function(d){return d<a-1?cljs.core.subs.call(null,c,cljs.core.nth.call(null,b,d),cljs.core._EQ_.call(null,d,a-1)?cljs.core.count.call(null,c):cljs.core.nth.call(null,b,d+1)):null}}(f,g,h,d,e,c)}finally{octet.buffer._STAR_byte_order_STAR_=
d}};
cljs.spec.alpha.def_impl.call(null,new cljs.core.Symbol("weathergen.falcon.files.mission","read-strings-file","weathergen.falcon.files.mission/read-strings-file",1567947333,null),cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha","fspec","cljs.spec.alpha/fspec",-1289128341,null),new cljs.core.Keyword(null,"args","args",1315556576),cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha","cat","cljs.spec.alpha/cat",-1471398329,null),new cljs.core.Keyword(null,"campaign-dir","campaign-dir",-1278307883),new cljs.core.Symbol("weathergen.falcon.files.mission",
"Dir","weathergen.falcon.files.mission/Dir",490740314,null)),new cljs.core.Keyword(null,"ret","ret",-468222814),new cljs.core.Symbol("weathergen.falcon.files.mission","StringsData","weathergen.falcon.files.mission/StringsData",-1847078139,null)),cljs.spec.alpha.fspec_impl.call(null,cljs.spec.alpha.spec_impl.call(null,cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha","cat","cljs.spec.alpha/cat",-1471398329,null),new cljs.core.Keyword(null,"campaign-dir","campaign-dir",-1278307883),new cljs.core.Symbol("weathergen.falcon.files.mission",
"Dir","weathergen.falcon.files.mission/Dir",490740314,null)),cljs.spec.alpha.cat_impl.call(null,new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"campaign-dir","campaign-dir",-1278307883)],null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[weathergen.falcon.files.mission.Dir],null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol("weathergen.falcon.files.mission",
"Dir","weathergen.falcon.files.mission/Dir",490740314,null)],null)),null,null),cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha","cat","cljs.spec.alpha/cat",-1471398329,null),new cljs.core.Keyword(null,"campaign-dir","campaign-dir",-1278307883),new cljs.core.Symbol("weathergen.falcon.files.mission","Dir","weathergen.falcon.files.mission/Dir",490740314,null)),cljs.spec.alpha.spec_impl.call(null,new cljs.core.Symbol("weathergen.falcon.files.mission","StringsData","weathergen.falcon.files.mission/StringsData",
-1847078139,null),weathergen.falcon.files.mission.StringsData,null,null),new cljs.core.Symbol("weathergen.falcon.files.mission","StringsData","weathergen.falcon.files.mission/StringsData",-1847078139,null),null,null,null));
weathergen.falcon.files.mission.read_strings_file=function(a){a=weathergen.falcon.files.mission.read_strings.call(null,a,"strings");var b=function(a){return function(b,c){return cljs.core.into.call(null,cljs.core.sorted_map.call(null),cljs.core.map_indexed.call(null,cljs.core.vector,cljs.core.map.call(null,a,cljs.core.range.call(null,b,b+c))))}}(a);return cljs.core.PersistentHashMap.fromArrays([new cljs.core.Keyword(null,"country-names","country-names",-1652413855),new cljs.core.Keyword(null,"fn",
"fn",-1175266204),new cljs.core.Keyword(null,"ground-stype-names","ground-stype-names",-543566554),new cljs.core.Keyword(null,"air-stype-names","air-stype-names",-1744167443),new cljs.core.Keyword(null,"time-compression-names","time-compression-names",-311196976),new cljs.core.Keyword(null,"unit-name-format","unit-name-format",-1907370252),new cljs.core.Keyword(null,"waypoint-type-names","waypoint-type-names",719960758),new cljs.core.Keyword(null,"objective-type-names","objective-type-names",-2115502438),
new cljs.core.Keyword(null,"camera-label-names","camera-label-names",-192056963),new cljs.core.Keyword(null,"mission-type-names","mission-type-names",-1426382657),new cljs.core.Keyword(null,"naval-stype-names","naval-stype-names",140822175)],[b.call(null,40,weathergen.falcon.constants.NUM_COUNS),a,b.call(null,560,20),b.call(null,540,20),b.call(null,75,5),a.call(null,58),b.call(null,350,weathergen.falcon.constants.WP_LAST),b.call(null,500,weathergen.falcon.constants.MAXIMUM_OBJTYPES),b.call(null,60,
weathergen.falcon.constants.NUM_CAMERA_LABELS),b.call(null,300,weathergen.falcon.constants.AMIS_OTHER),b.call(null,580,20)])};
weathergen.falcon.files.mission.unit_class_data=octet.core.spec.call(null,new cljs.core.Keyword(null,"index","index",-1531685915),octet.core.int32,new cljs.core.Keyword(null,"num-elements","num-elements",1960422107),octet.core.repeat.call(null,weathergen.falcon.constants.VEHICLE_GROUPS_PER_UNIT,octet.core.int32),new cljs.core.Keyword(null,"vehicle-type","vehicle-type",-362045068),octet.core.repeat.call(null,weathergen.falcon.constants.VEHICLE_GROUPS_PER_UNIT,octet.core.int16),new cljs.core.Keyword(null,
"vehicle-class","vehicle-class",-1789622839),octet.core.repeat.call(null,weathergen.falcon.constants.VEHICLE_GROUPS_PER_UNIT,octet.core.repeat.call(null,8,octet.core.ubyte)),new cljs.core.Keyword(null,"flags","flags",1775418075),octet.core.uint16,new cljs.core.Keyword(null,"name","name",1843675177),weathergen.falcon.files.fixed_string.call(null,20),new cljs.core.Keyword(null,"padding","padding",1660304693),octet.core.int16,new cljs.core.Keyword(null,"movement-type","movement-type",-1340819145),octet.core.int32,
new cljs.core.Keyword(null,"movement-speed","movement-speed",-1779674971),octet.core.int16,new cljs.core.Keyword(null,"max-range","max-range",623016397),octet.core.int16,new cljs.core.Keyword(null,"fuel","fuel",10405485),octet.core.int32,new cljs.core.Keyword(null,"rate","rate",-1428659698),octet.core.int16,new cljs.core.Keyword(null,"pt-data-index","pt-data-index",-54255967),octet.core.int16,new cljs.core.Keyword(null,"scores","scores",-1267421800),octet.core.repeat.call(null,weathergen.falcon.constants.MAXIMUM_ROLES,
octet.core.ubyte),new cljs.core.Keyword(null,"role","role",-736691072),octet.core.ubyte,new cljs.core.Keyword(null,"hit-chance","hit-chance",-2087636980),octet.core.repeat.call(null,weathergen.falcon.constants.MOVEMENT_TYPES,octet.core.ubyte),new cljs.core.Keyword(null,"strength","strength",-415606478),octet.core.repeat.call(null,weathergen.falcon.constants.MOVEMENT_TYPES,octet.core.ubyte),new cljs.core.Keyword(null,"range","range",1639692286),octet.core.repeat.call(null,weathergen.falcon.constants.MOVEMENT_TYPES,
octet.core.ubyte),new cljs.core.Keyword(null,"detection","detection",-1580072483),octet.core.repeat.call(null,weathergen.falcon.constants.MOVEMENT_TYPES,octet.core.ubyte),new cljs.core.Keyword(null,"damage-mod","damage-mod",-756867116),octet.core.repeat.call(null,weathergen.falcon.constants.OtherDam+1,octet.core.ubyte),new cljs.core.Keyword(null,"radar-vehicle","radar-vehicle",-457407214),octet.core.ubyte,new cljs.core.Keyword(null,"padding2","padding2",1017532826),octet.core.byte$,new cljs.core.Keyword(null,
"special-index","special-index",-545525937),octet.core.int16,new cljs.core.Keyword(null,"icon-index","icon-index",-42714286),octet.core.uint16,new cljs.core.Keyword(null,"padding3","padding3",358697252),octet.core.repeat.call(null,2,octet.core.byte$));
weathergen.falcon.files.mission.objective_class_data=octet.core.spec.call(null,new cljs.core.Keyword(null,"index","index",-1531685915),octet.core.int16,new cljs.core.Keyword(null,"name","name",1843675177),weathergen.falcon.files.fixed_string.call(null,20),new cljs.core.Keyword(null,"data-rate","data-rate",-1399941497),octet.core.int16,new cljs.core.Keyword(null,"deag-distance","deag-distance",-1721226571),octet.core.int16,new cljs.core.Keyword(null,"pt-data-index","pt-data-index",-54255967),octet.core.int16,
new cljs.core.Keyword(null,"detection","detection",-1580072483),octet.core.repeat.call(null,weathergen.falcon.constants.MOVEMENT_TYPES,octet.core.ubyte),new cljs.core.Keyword(null,"damage-mod","damage-mod",-756867116),octet.core.repeat.call(null,weathergen.falcon.constants.OtherDam+1,octet.core.ubyte),new cljs.core.Keyword(null,"mystery","mystery",-686775643),octet.core.ubyte,new cljs.core.Keyword(null,"icon-index","icon-index",-42714286),octet.core.uint16,new cljs.core.Keyword(null,"features","features",
-1146962336),octet.core.ubyte,new cljs.core.Keyword(null,"radar-feature","radar-feature",2111876796),octet.core.ubyte,new cljs.core.Keyword(null,"first-feature","first-feature",-1395776257),octet.core.int16);
weathergen.falcon.files.mission.vehicle_class_data=octet.core.spec.call(null,new cljs.core.Keyword(null,"index","index",-1531685915),octet.core.int16,new cljs.core.Keyword(null,"hit-points","hit-points",-906296276),octet.core.int16,new cljs.core.Keyword(null,"flags","flags",1775418075),octet.core.uint32,new cljs.core.Keyword(null,"name","name",1843675177),weathergen.falcon.files.fixed_string.call(null,15),new cljs.core.Keyword(null,"nctr","nctr",1306882980),weathergen.falcon.files.fixed_string.call(null,
5),new cljs.core.Keyword(null,"rcs-factor","rcs-factor",-693378533),octet.core.float$,new cljs.core.Keyword(null,"max-wt","max-wt",220395483),octet.core.int32,new cljs.core.Keyword(null,"empty-wt","empty-wt",1037790536),octet.core.int32,new cljs.core.Keyword(null,"fuel-wt","fuel-wt",-1341155598),octet.core.int32,new cljs.core.Keyword(null,"fuel-econ","fuel-econ",-1774342065),octet.core.int16,new cljs.core.Keyword(null,"engine-sound","engine-sound",-1018050458),octet.core.int16,new cljs.core.Keyword(null,
"high-alt","high-alt",-1378024467),octet.core.int16,new cljs.core.Keyword(null,"low-alt","low-alt",-228079593),octet.core.int16,new cljs.core.Keyword(null,"cruise-alt","cruise-alt",2005550721),octet.core.int16,new cljs.core.Keyword(null,"max-speed","max-speed",-997417461),octet.core.int16,new cljs.core.Keyword(null,"radar-type","radar-type",-1913447362),octet.core.int16,new cljs.core.Keyword(null,"number-of-pilots","number-of-pilots",-393973473),octet.core.int16,new cljs.core.Keyword(null,"rack-flags",
"rack-flags",-1071125122),octet.core.uint16,new cljs.core.Keyword(null,"visible-flags","visible-flags",1830152500),octet.core.uint16,new cljs.core.Keyword(null,"callsign-index","callsign-index",-2090912473),octet.core.ubyte,new cljs.core.Keyword(null,"callsign-slots","callsign-slots",-1388847774),octet.core.ubyte,new cljs.core.Keyword(null,"hit-chance","hit-chance",-2087636980),octet.core.repeat.call(null,weathergen.falcon.constants.MOVEMENT_TYPES,octet.core.ubyte),new cljs.core.Keyword(null,"strength",
"strength",-415606478),octet.core.repeat.call(null,weathergen.falcon.constants.MOVEMENT_TYPES,octet.core.ubyte),new cljs.core.Keyword(null,"range","range",1639692286),octet.core.repeat.call(null,weathergen.falcon.constants.MOVEMENT_TYPES,octet.core.ubyte),new cljs.core.Keyword(null,"detection","detection",-1580072483),octet.core.repeat.call(null,weathergen.falcon.constants.MOVEMENT_TYPES,octet.core.ubyte),new cljs.core.Keyword(null,"weapon","weapon",-504830232),octet.core.repeat.call(null,weathergen.falcon.constants.HARDPOINT_MAX,
octet.core.int16),new cljs.core.Keyword(null,"weapons","weapons",-1983639898),octet.core.repeat.call(null,weathergen.falcon.constants.HARDPOINT_MAX,octet.core.ubyte),new cljs.core.Keyword(null,"damage-mod","damage-mod",-756867116),octet.core.repeat.call(null,weathergen.falcon.constants.OtherDam+1,octet.core.ubyte),new cljs.core.Keyword(null,"mystery","mystery",-686775643),octet.core.repeat.call(null,3,octet.core.ubyte));
weathergen.falcon.files.mission.weapon_class_data=octet.core.spec.call(null,new cljs.core.Keyword(null,"index","index",-1531685915),octet.core.int16,new cljs.core.Keyword(null,"strength","strength",-415606478),octet.core.uint16,new cljs.core.Keyword(null,"damage-type","damage-type",898770578),octet.core.uint16,new cljs.core.Keyword(null,"padding","padding",1660304693),octet.core.repeat.call(null,2,octet.core.ubyte),new cljs.core.Keyword(null,"range","range",1639692286),octet.core.int16,new cljs.core.Keyword(null,
"flags","flags",1775418075),octet.core.uint16,new cljs.core.Keyword(null,"name","name",1843675177),weathergen.falcon.files.fixed_string.call(null,20),new cljs.core.Keyword(null,"hit-chance","hit-chance",-2087636980),octet.core.repeat.call(null,weathergen.falcon.constants.MOVEMENT_TYPES,octet.core.ubyte),new cljs.core.Keyword(null,"fire-rate","fire-rate",-1458689931),octet.core.ubyte,new cljs.core.Keyword(null,"rariety","rariety",1749498612),octet.core.ubyte,new cljs.core.Keyword(null,"guidance-flags",
"guidance-flags",343892844),octet.core.uint16,new cljs.core.Keyword(null,"collective","collective",-1678283599),octet.core.ubyte,new cljs.core.Keyword(null,"padding2","padding2",1017532826),octet.core.ubyte,new cljs.core.Keyword(null,"simweap-index","simweap-index",1674222081),octet.core.int16,new cljs.core.Keyword(null,"drag-index","drag-index",-207918117),octet.core.int16,new cljs.core.Keyword(null,"blast-radius","blast-radius",796954270),octet.core.uint16,new cljs.core.Keyword(null,"radar-type",
"radar-type",-1913447362),octet.core.int16,new cljs.core.Keyword(null,"sim-data-idx","sim-data-idx",-713604174),octet.core.int16,new cljs.core.Keyword(null,"max-alt","max-alt",-363233306),octet.core.byte$,new cljs.core.Keyword(null,"padding3","padding3",358697252),octet.core.ubyte,new cljs.core.Keyword(null,"weight","weight",-1262796205),octet.core.uint16);
weathergen.falcon.files.mission.feature_class_data=octet.core.spec.call(null,new cljs.core.Keyword(null,"index","index",-1531685915),octet.core.int16,new cljs.core.Keyword(null,"repair-time","repair-time",699642051),octet.core.int16,new cljs.core.Keyword(null,"priority","priority",1431093715),octet.core.byte$,new cljs.core.Keyword(null,"padding1","padding1",-1028565124),octet.core.byte$,new cljs.core.Keyword(null,"flags","flags",1775418075),weathergen.falcon.files.bitflags.call(null,octet.core.uint16,
cljs.core.PersistentHashMap.fromArrays([new cljs.core.Keyword(null,"flat-container?","flat-container?",800182786),new cljs.core.Keyword(null,"virtual?","virtual?",1554264002),new cljs.core.Keyword(null,"no-hiteval?","no-hiteval?",1435499525),new cljs.core.Keyword(null,"has-light-switch?","has-light-switch?",1364731174),new cljs.core.Keyword(null,"can-explode?","can-explode?",-953118361),new cljs.core.Keyword(null,"repairable?","repairable?",-1497079735),new cljs.core.Keyword(null,"can-collapse?",
"can-collapse?",-774850903),new cljs.core.Keyword(null,"can-burn?","can-burn?",-420115087),new cljs.core.Keyword(null,"has-smoke-stack?","has-smoke-stack?",118474513),new cljs.core.Keyword(null,"container-top?","container-top?",-676665355),new cljs.core.Keyword(null,"next-is-top?","next-is-top?",-1041568648),new cljs.core.Keyword(null,"elevated-container?","elevated-container?",-588974690)],[weathergen.falcon.constants.FEAT_FLAT_CONTAINER,weathergen.falcon.constants.FEAT_VIRTUAL,weathergen.falcon.constants.FEAT_NO_HITEVAL,
weathergen.falcon.constants.FEAT_HAS_LIGHT_SWITCH,weathergen.falcon.constants.FEAT_CAN_EXPLODE,weathergen.falcon.constants.FEAT_EREPAIR,weathergen.falcon.constants.FEAT_CAN_COLAPSE,weathergen.falcon.constants.FEAT_CAN_BURN,weathergen.falcon.constants.FEAT_HAS_SMOKE_STACK,weathergen.falcon.constants.FEAT_CONTAINER_TOP,weathergen.falcon.constants.FEAT_NEXT_IS_TOP,weathergen.falcon.constants.FEAT_ELEV_CONTAINER])),new cljs.core.Keyword(null,"name","name",1843675177),weathergen.falcon.files.fixed_string.call(null,
20),new cljs.core.Keyword(null,"hit-points","hit-points",-906296276),octet.core.int16,new cljs.core.Keyword(null,"height","height",1025178622),octet.core.int16,new cljs.core.Keyword(null,"angle","angle",1622094254),octet.core.float$,new cljs.core.Keyword(null,"radar-type","radar-type",-1913447362),octet.core.int16,new cljs.core.Keyword(null,"detection","detection",-1580072483),octet.core.repeat.call(null,weathergen.falcon.constants.MOVEMENT_TYPES,octet.core.ubyte),new cljs.core.Keyword(null,"damage-mod",
"damage-mod",-756867116),octet.core.repeat.call(null,weathergen.falcon.constants.OtherDam+1,octet.core.ubyte),new cljs.core.Keyword(null,"padding2","padding2",1017532826),octet.core.repeat.call(null,3,octet.core.ubyte));
weathergen.falcon.files.mission.feature_entry_data=octet.core.spec.call(null,new cljs.core.Keyword(null,"index","index",-1531685915),octet.core.int16,new cljs.core.Keyword(null,"flags","flags",1775418075),octet.core.uint16,new cljs.core.Keyword(null,"entity-class","entity-class",-1906919579),octet.core.repeat.call(null,8,octet.core.ubyte),new cljs.core.Keyword(null,"value","value",305978217),octet.core.ubyte,new cljs.core.Keyword(null,"padding1","padding1",-1028565124),octet.core.repeat.call(null,
3,octet.core.byte$),new cljs.core.Keyword(null,"offset","offset",296498311),weathergen.falcon.files.mission.vector3,new cljs.core.Keyword(null,"facing","facing",-854439413),octet.core.int16,new cljs.core.Keyword(null,"padding2","padding2",1017532826),octet.core.repeat.call(null,2,octet.core.byte$));
weathergen.falcon.files.mission.point_header_data=octet.core.spec.call(null,new cljs.core.Keyword(null,"obj-id","obj-id",1871733713),octet.core.int16,new cljs.core.Keyword(null,"type","type",1174270348),octet.core.ubyte,new cljs.core.Keyword(null,"count","count",2139924085),octet.core.ubyte,new cljs.core.Keyword(null,"features","features",-1146962336),octet.core.repeat.call(null,weathergen.falcon.constants.MAX_FEAT_DEPEND,octet.core.ubyte),new cljs.core.Keyword(null,"padding","padding",1660304693),
octet.core.byte$,new cljs.core.Keyword(null,"data","data",-232669377),octet.core.int16,new cljs.core.Keyword(null,"sin-heading","sin-heading",-1506379307),octet.core.float$,new cljs.core.Keyword(null,"cos-heading","cos-heading",-514525192),octet.core.float$,new cljs.core.Keyword(null,"first","first",-644103046),octet.core.int16,new cljs.core.Keyword(null,"tex-idx","tex-idx",1332437579),octet.core.int16,new cljs.core.Keyword(null,"runway-num","runway-num",-1171395800),octet.core.byte$,new cljs.core.Keyword(null,
"ltrt","ltrt",2069439),octet.core.byte$,new cljs.core.Keyword(null,"next-header","next-header",1386001069),octet.core.int16);
weathergen.falcon.files.mission.sim_weapon_data=octet.core.spec.call(null,new cljs.core.Keyword(null,"flags","flags",1775418075),octet.core.int32,new cljs.core.Keyword(null,"drag-coefficient","drag-coefficient",238594160),octet.core.float$,new cljs.core.Keyword(null,"weight","weight",-1262796205),octet.core.float$,new cljs.core.Keyword(null,"surface-area","surface-area",1472501650),octet.core.float$,new cljs.core.Keyword(null,"ejection-velocity","ejection-velocity",241121939),octet.core.spec.call(null,
new cljs.core.Keyword(null,"x","x",2099068185),octet.core.float$,new cljs.core.Keyword(null,"y","y",-1757859776),octet.core.float$,new cljs.core.Keyword(null,"z","z",-789527183),octet.core.float$),new cljs.core.Keyword(null,"sms-mnemonic","sms-mnemonic",944316914),weathergen.falcon.files.fixed_string.call(null,8),new cljs.core.Keyword(null,"sms-weapon-class","sms-weapon-class",-1204089300),octet.core.int32,new cljs.core.Keyword(null,"sms-weapon-domain","sms-weapon-domain",170252511),octet.core.int32,
new cljs.core.Keyword(null,"sms-weapon-type","sms-weapon-type",-302839052),octet.core.int32,new cljs.core.Keyword(null,"data-index","data-index",1161508385),octet.core.int32);weathergen.falcon.files.mission.extension=function(a){var b=clojure.string.last_index_of.call(null,a,".");return cljs.core.subs.call(null,a,b)};
weathergen.falcon.files.mission.file_types=cljs.core.PersistentHashMap.fromArrays(".PLT .OBD .UNI .PST .VER .POL .TE .EVT .CMP .TEA .WTH .OBJ".split(" "),[new cljs.core.Keyword(null,"pilots","pilots",353525853),new cljs.core.Keyword(null,"objective-deltas","objective-deltas",710518611),new cljs.core.Keyword(null,"units","units",-533089095),new cljs.core.Keyword(null,"persistent-objects","persistent-objects",137656263),new cljs.core.Keyword(null,"version","version",425292698),new cljs.core.Keyword(null,
"primary-objectives","primary-objectives",-2010039039),new cljs.core.Keyword(null,"victory-conditions","victory-conditions",-1943285833),new cljs.core.Keyword(null,"events","events",1792552201),new cljs.core.Keyword(null,"campaign-info","campaign-info",1158908966),new cljs.core.Keyword(null,"teams","teams",1677714510),new cljs.core.Keyword(null,"weather","weather",1320452344),new cljs.core.Keyword(null,"objectives","objectives",933939509)]);
weathergen.falcon.files.mission.file_type=function(a){return cljs.core.get.call(null,weathergen.falcon.files.mission.file_types,clojure.string.upper_case.call(null,weathergen.falcon.files.mission.extension.call(null,a)),new cljs.core.Keyword(null,"unknown","unknown",-935977881))};
weathergen.falcon.files.mission.file_type_description=cljs.core.PersistentHashMap.fromArrays([new cljs.core.Keyword(null,"primary-objectives","primary-objectives",-2010039039),new cljs.core.Keyword(null,"campaign-info","campaign-info",1158908966),new cljs.core.Keyword(null,"persistent-objects","persistent-objects",137656263),new cljs.core.Keyword(null,"events","events",1792552201),new cljs.core.Keyword(null,"teams","teams",1677714510),new cljs.core.Keyword(null,"objective-deltas","objective-deltas",
710518611),new cljs.core.Keyword(null,"objectives","objectives",933939509),new cljs.core.Keyword(null,"victory-conditions","victory-conditions",-1943285833),new cljs.core.Keyword(null,"weather","weather",1320452344),new cljs.core.Keyword(null,"units","units",-533089095),new cljs.core.Keyword(null,"version","version",425292698),new cljs.core.Keyword(null,"pilots","pilots",353525853)],"primary objectives;campaign info;persistent objects;events;teams;objective deltas;objectives;victory conditions;weather;units;version;pilots".split(";"));
if("undefined"===typeof weathergen||"undefined"===typeof weathergen.falcon||"undefined"===typeof weathergen.falcon.files||"undefined"===typeof weathergen.falcon.files.mission||"undefined"===typeof weathergen.falcon.files.mission.read_embedded_file_STAR_)weathergen.falcon.files.mission.read_embedded_file_STAR_=function(){var a=cljs.core.atom.call(null,cljs.core.PersistentArrayMap.EMPTY),b=cljs.core.atom.call(null,cljs.core.PersistentArrayMap.EMPTY),c=cljs.core.atom.call(null,cljs.core.PersistentArrayMap.EMPTY),
d=cljs.core.atom.call(null,cljs.core.PersistentArrayMap.EMPTY),e=cljs.core.get.call(null,cljs.core.PersistentArrayMap.EMPTY,new cljs.core.Keyword(null,"hierarchy","hierarchy",-1053470341),cljs.core.get_global_hierarchy.call(null));return new cljs.core.MultiFn(cljs.core.symbol.call(null,"weathergen.falcon.files.mission","read-embedded-file*"),function(a,b,c,d,e){return function(a,b,c,d){return a}}(a,b,c,d,e),new cljs.core.Keyword(null,"default","default",-1987822328),e,a,b,c,d)}();
weathergen.falcon.files.mission.read_embedded_file=function(a,b,c,d){taoensso.timbre._log_BANG_.call(null,taoensso.timbre._STAR_config_STAR_,new cljs.core.Keyword(null,"debug","debug",-1608172596),"weathergen.falcon.files.mission",null,1815,new cljs.core.Keyword(null,"p","p",151049309),new cljs.core.Keyword(null,"auto","auto",-566279492),new cljs.core.Delay(function(){return new cljs.core.PersistentVector(null,5,5,cljs.core.PersistentVector.EMPTY_NODE,["read-embedded-file",new cljs.core.Keyword(null,
"type","type",1174270348),a,new cljs.core.Keyword(null,"file-name","file-name",-1654217259),(new cljs.core.Keyword(null,"file-name","file-name",-1654217259)).cljs$core$IFn$_invoke$arity$1(b)],null)},null),null,784425001);return weathergen.progress.with_step.call(null,["Reading ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.core.get.call(null,weathergen.falcon.files.mission.file_type_description,a,"data"))].join(""),function(){return weathergen.falcon.files.mission.read_embedded_file_STAR_.call(null,
a,b,c,d)})};weathergen.falcon.files.mission.directory_entry=octet.core.spec.call(null,new cljs.core.Keyword(null,"file-name","file-name",-1654217259),weathergen.falcon.files.lstring.call(null,octet.core.ubyte),new cljs.core.Keyword(null,"offset","offset",296498311),octet.core.uint32,new cljs.core.Keyword(null,"length","length",588987862),octet.core.uint32);
weathergen.falcon.files.mission.find_install_dir=function(a){for(a=weathergen.filesystem.parent.call(null,a);;)if(cljs.core.truth_(a)){if(cljs.core.every_QMARK_.call(null,function(a){return function(b){return weathergen.filesystem.exists_QMARK_.call(null,weathergen.filesystem.path_combine.call(null,a,b))}}(a),new cljs.core.PersistentVector(null,4,5,cljs.core.PersistentVector.EMPTY_NODE,["Bin","Data","Tools","User"],null)))return a;a=weathergen.filesystem.parent.call(null,a)}else return null};
cljs.spec.alpha.def_impl.call(null,new cljs.core.Symbol("weathergen.falcon.files.mission","campaign-dir","weathergen.falcon.files.mission/campaign-dir",-221145694,null),cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha","fspec","cljs.spec.alpha/fspec",-1289128341,null),new cljs.core.Keyword(null,"args","args",1315556576),cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha","alt","cljs.spec.alpha/alt",-2130750332,null),new cljs.core.Keyword(null,"single-arity","single-arity",612091991),cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha",
"cat","cljs.spec.alpha/cat",-1471398329,null),new cljs.core.Keyword(null,"mission","mission",1740288522),new cljs.core.Symbol("weathergen.falcon.files.mission","Todo","weathergen.falcon.files.mission/Todo",-2032630604,null)),new cljs.core.Keyword(null,"two-arity","two-arity",599354659),cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha","cat","cljs.spec.alpha/cat",-1471398329,null),new cljs.core.Keyword(null,"installation","installation",943147954),new cljs.core.Symbol("weathergen.falcon.files.mission",
"Installation","weathergen.falcon.files.mission/Installation",-422785575,null),new cljs.core.Keyword(null,"theater","theater",258922071),new cljs.core.Symbol("weathergen.falcon.files.mission","Theater","weathergen.falcon.files.mission/Theater",-1418688427,null))),new cljs.core.Keyword(null,"ret","ret",-468222814),new cljs.core.Symbol("weathergen.falcon.files.mission","Dir","weathergen.falcon.files.mission/Dir",490740314,null)),cljs.spec.alpha.fspec_impl.call(null,cljs.spec.alpha.spec_impl.call(null,
cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha","alt","cljs.spec.alpha/alt",-2130750332,null),new cljs.core.Keyword(null,"single-arity","single-arity",612091991),cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha","cat","cljs.spec.alpha/cat",-1471398329,null),new cljs.core.Keyword(null,"mission","mission",1740288522),new cljs.core.Symbol("weathergen.falcon.files.mission","Todo","weathergen.falcon.files.mission/Todo",-2032630604,null)),new cljs.core.Keyword(null,"two-arity","two-arity",599354659),
cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha","cat","cljs.spec.alpha/cat",-1471398329,null),new cljs.core.Keyword(null,"installation","installation",943147954),new cljs.core.Symbol("weathergen.falcon.files.mission","Installation","weathergen.falcon.files.mission/Installation",-422785575,null),new cljs.core.Keyword(null,"theater","theater",258922071),new cljs.core.Symbol("weathergen.falcon.files.mission","Theater","weathergen.falcon.files.mission/Theater",-1418688427,null))),cljs.spec.alpha.alt_impl.call(null,
new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"single-arity","single-arity",612091991),new cljs.core.Keyword(null,"two-arity","two-arity",599354659)],null),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[cljs.spec.alpha.cat_impl.call(null,new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"mission","mission",1740288522)],null),new cljs.core.PersistentVector(null,
1,5,cljs.core.PersistentVector.EMPTY_NODE,[weathergen.falcon.files.mission.Todo],null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol("weathergen.falcon.files.mission","Todo","weathergen.falcon.files.mission/Todo",-2032630604,null)],null)),cljs.spec.alpha.cat_impl.call(null,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"installation","installation",943147954),new cljs.core.Keyword(null,
"theater","theater",258922071)],null),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[weathergen.falcon.files.mission.Installation,weathergen.falcon.files.mission.Theater],null),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol("weathergen.falcon.files.mission","Installation","weathergen.falcon.files.mission/Installation",-422785575,null),new cljs.core.Symbol("weathergen.falcon.files.mission","Theater","weathergen.falcon.files.mission/Theater",
-1418688427,null)],null))],null),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha","cat","cljs.spec.alpha/cat",-1471398329,null),new cljs.core.Keyword(null,"mission","mission",1740288522),new cljs.core.Symbol("weathergen.falcon.files.mission","Todo","weathergen.falcon.files.mission/Todo",-2032630604,null)),cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha","cat","cljs.spec.alpha/cat",-1471398329,null),new cljs.core.Keyword(null,
"installation","installation",943147954),new cljs.core.Symbol("weathergen.falcon.files.mission","Installation","weathergen.falcon.files.mission/Installation",-422785575,null),new cljs.core.Keyword(null,"theater","theater",258922071),new cljs.core.Symbol("weathergen.falcon.files.mission","Theater","weathergen.falcon.files.mission/Theater",-1418688427,null))],null)),null,null),cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha","alt","cljs.spec.alpha/alt",-2130750332,null),new cljs.core.Keyword(null,
"single-arity","single-arity",612091991),cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha","cat","cljs.spec.alpha/cat",-1471398329,null),new cljs.core.Keyword(null,"mission","mission",1740288522),new cljs.core.Symbol("weathergen.falcon.files.mission","Todo","weathergen.falcon.files.mission/Todo",-2032630604,null)),new cljs.core.Keyword(null,"two-arity","two-arity",599354659),cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha","cat","cljs.spec.alpha/cat",-1471398329,null),new cljs.core.Keyword(null,
"installation","installation",943147954),new cljs.core.Symbol("weathergen.falcon.files.mission","Installation","weathergen.falcon.files.mission/Installation",-422785575,null),new cljs.core.Keyword(null,"theater","theater",258922071),new cljs.core.Symbol("weathergen.falcon.files.mission","Theater","weathergen.falcon.files.mission/Theater",-1418688427,null))),cljs.spec.alpha.spec_impl.call(null,new cljs.core.Symbol("weathergen.falcon.files.mission","Dir","weathergen.falcon.files.mission/Dir",490740314,
null),weathergen.falcon.files.mission.Dir,null,null),new cljs.core.Symbol("weathergen.falcon.files.mission","Dir","weathergen.falcon.files.mission/Dir",490740314,null),null,null,null));
weathergen.falcon.files.mission.campaign_dir=function(a){switch(arguments.length){case 1:return weathergen.falcon.files.mission.campaign_dir.cljs$core$IFn$_invoke$arity$1(arguments[0]);case 2:return weathergen.falcon.files.mission.campaign_dir.cljs$core$IFn$_invoke$arity$2(arguments[0],arguments[1]);default:throw Error(["Invalid arity: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(""));}};
weathergen.falcon.files.mission.campaign_dir.cljs$core$IFn$_invoke$arity$1=function(a){var b=null!=a&&(a.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===a.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,a):a;a=cljs.core.get.call(null,b,new cljs.core.Keyword(null,"installation","installation",943147954));b=cljs.core.get.call(null,b,new cljs.core.Keyword(null,"theater","theater",258922071));return weathergen.falcon.files.mission.campaign_dir.call(null,a,b)};
weathergen.falcon.files.mission.campaign_dir.cljs$core$IFn$_invoke$arity$2=function(a,b){return weathergen.filesystem.path_combine.call(null,(new cljs.core.Keyword(null,"data-dir","data-dir",2038801936)).cljs$core$IFn$_invoke$arity$1(a),(new cljs.core.Keyword(null,"campaign-dir","campaign-dir",-1278307883)).cljs$core$IFn$_invoke$arity$1(b))};weathergen.falcon.files.mission.campaign_dir.cljs$lang$maxFixedArity=2;
weathergen.falcon.files.mission.object_dir=function(a,b){return weathergen.filesystem.path_combine.call(null,(new cljs.core.Keyword(null,"data-dir","data-dir",2038801936)).cljs$core$IFn$_invoke$arity$1(a),function(){var c=(new cljs.core.Keyword(null,"object-dir","object-dir",-2124784896)).cljs$core$IFn$_invoke$arity$1(b);return cljs.core.truth_(c)?c:(new cljs.core.Keyword(null,"object-dir","object-dir",-2124784896)).cljs$core$IFn$_invoke$arity$1(a)}())};
weathergen.falcon.files.mission.parse_theater_def_line=function(a){var b=clojure.string.index_of.call(null,a," ");return cljs.core.truth_(b)?new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[cljs.core.keyword.call(null,cljs.core.subs.call(null,a,0,b)),cljs.core.subs.call(null,a,b+1)],null):null};
weathergen.falcon.files.mission.adjust_art_dir=function(a){return cljs.core.not_EQ_.call(null,clojure.string.lower_case.call(null,(new cljs.core.Keyword(null,"art-dir","art-dir",67381390)).cljs$core$IFn$_invoke$arity$1(a)),"art")?cljs.core.update.call(null,a,new cljs.core.Keyword(null,"art-dir","art-dir",67381390),weathergen.filesystem.path_combine,"Art"):a};
cljs.spec.alpha.def_impl.call(null,new cljs.core.Symbol("weathergen.falcon.files.mission","read-theater-def","weathergen.falcon.files.mission/read-theater-def",-2031492952,null),cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha","fspec","cljs.spec.alpha/fspec",-1289128341,null),new cljs.core.Keyword(null,"args","args",1315556576),cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha","cat","cljs.spec.alpha/cat",-1471398329,null),new cljs.core.Keyword(null,"data-dir","data-dir",2038801936),new cljs.core.Symbol("weathergen.falcon.files.mission",
"Dir","weathergen.falcon.files.mission/Dir",490740314,null),new cljs.core.Keyword(null,"path","path",-188191168),new cljs.core.Symbol("weathergen.falcon.files.mission","Path","weathergen.falcon.files.mission/Path",1128596705,null)),new cljs.core.Keyword(null,"ret","ret",-468222814),new cljs.core.Symbol("weathergen.falcon.files.mission","Theater","weathergen.falcon.files.mission/Theater",-1418688427,null)),cljs.spec.alpha.fspec_impl.call(null,cljs.spec.alpha.spec_impl.call(null,cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha",
"cat","cljs.spec.alpha/cat",-1471398329,null),new cljs.core.Keyword(null,"data-dir","data-dir",2038801936),new cljs.core.Symbol("weathergen.falcon.files.mission","Dir","weathergen.falcon.files.mission/Dir",490740314,null),new cljs.core.Keyword(null,"path","path",-188191168),new cljs.core.Symbol("weathergen.falcon.files.mission","Path","weathergen.falcon.files.mission/Path",1128596705,null)),cljs.spec.alpha.cat_impl.call(null,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,
[new cljs.core.Keyword(null,"data-dir","data-dir",2038801936),new cljs.core.Keyword(null,"path","path",-188191168)],null),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[weathergen.falcon.files.mission.Dir,weathergen.falcon.files.mission.Path],null),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol("weathergen.falcon.files.mission","Dir","weathergen.falcon.files.mission/Dir",490740314,null),new cljs.core.Symbol("weathergen.falcon.files.mission",
"Path","weathergen.falcon.files.mission/Path",1128596705,null)],null)),null,null),cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha","cat","cljs.spec.alpha/cat",-1471398329,null),new cljs.core.Keyword(null,"data-dir","data-dir",2038801936),new cljs.core.Symbol("weathergen.falcon.files.mission","Dir","weathergen.falcon.files.mission/Dir",490740314,null),new cljs.core.Keyword(null,"path","path",-188191168),new cljs.core.Symbol("weathergen.falcon.files.mission","Path","weathergen.falcon.files.mission/Path",
1128596705,null)),cljs.spec.alpha.spec_impl.call(null,new cljs.core.Symbol("weathergen.falcon.files.mission","Theater","weathergen.falcon.files.mission/Theater",-1418688427,null),weathergen.falcon.files.mission.Theater,null,null),new cljs.core.Symbol("weathergen.falcon.files.mission","Theater","weathergen.falcon.files.mission/Theater",-1418688427,null),null,null,null));
weathergen.falcon.files.mission.read_theater_def=function(a,b){a=weathergen.filesystem.path_combine.call(null,a,b);if(cljs.core.not.call(null,weathergen.filesystem.exists_QMARK_.call(null,a)))return b=["Can't find theater definition at ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(a),". Ignoring theater."].join(""),taoensso.timbre._log_BANG_.call(null,taoensso.timbre._STAR_config_STAR_,new cljs.core.Keyword(null,"warn","warn",-436710552),"weathergen.falcon.files.mission",null,1890,new cljs.core.Keyword(null,
"p","p",151049309),new cljs.core.Keyword(null,"auto","auto",-566279492),new cljs.core.Delay(function(a,b){return function(){return new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[a],null)}}(b,a),null),null,1144790398),weathergen.progress.step_warn.call(null,b),null;b=cljs.core.into.call(null,new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"path","path",-188191168),b],null),cljs.core.map.call(null,weathergen.falcon.files.mission.parse_theater_def_line,
cljs.core.remove.call(null,function(a){return function(a){return a.startsWith("#")}}(a),cljs.core.remove.call(null,clojure.string.blank_QMARK_,cljs.core.map.call(null,clojure.string.trim,clojure.string.split_lines.call(null,weathergen.filesystem.file_text.call(null,a)))))));return weathergen.falcon.files.mission.adjust_art_dir.call(null,clojure.set.rename_keys.call(null,b,cljs.core.PersistentHashMap.fromArrays([new cljs.core.Keyword(null,"misctexdir","misctexdir",1667285632),new cljs.core.Keyword(null,
"objectdir","objectdir",407109125),new cljs.core.Keyword(null,"mintact","mintact",-890985755),new cljs.core.Keyword(null,"terraindir","terraindir",1329705160),new cljs.core.Keyword(null,"artdir","artdir",-194008055),new cljs.core.Keyword(null,"campaigndir","campaigndir",1669742857),new cljs.core.Keyword(null,"simdatadir","simdatadir",-85891831),new cljs.core.Keyword(null,"3ddatadir","3ddatadir",1203546287),new cljs.core.Keyword(null,"sounddir","sounddir",2140813242)],[new cljs.core.Keyword(null,"misc-tex-dir",
"misc-tex-dir",2025463376),new cljs.core.Keyword(null,"object-dir","object-dir",-2124784896),new cljs.core.Keyword(null,"min-tacan","min-tacan",767695708),new cljs.core.Keyword(null,"terrain-dir","terrain-dir",-682919794),new cljs.core.Keyword(null,"art-dir","art-dir",67381390),new cljs.core.Keyword(null,"campaign-dir","campaign-dir",-1278307883),new cljs.core.Keyword(null,"sim-data-dir","sim-data-dir",-1889768986),new cljs.core.Keyword(null,"3d-data-dir","3d-data-dir",-1538342822),new cljs.core.Keyword(null,
"sound-dir","sound-dir",604246964)])))};
cljs.spec.alpha.def_impl.call(null,new cljs.core.Symbol("weathergen.falcon.files.mission","read-theater-defs","weathergen.falcon.files.mission/read-theater-defs",-231776858,null),cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha","fspec","cljs.spec.alpha/fspec",-1289128341,null),new cljs.core.Keyword(null,"args","args",1315556576),cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha","cat","cljs.spec.alpha/cat",-1471398329,null),new cljs.core.Keyword(null,"data-dir","data-dir",2038801936),new cljs.core.Symbol("weathergen.falcon.files.mission",
"Dir","weathergen.falcon.files.mission/Dir",490740314,null)),new cljs.core.Keyword(null,"ret","ret",-468222814),cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha","coll-of","cljs.spec.alpha/coll-of",1019430407,null),new cljs.core.Symbol("weathergen.falcon.files.mission","Theater","weathergen.falcon.files.mission/Theater",-1418688427,null))),cljs.spec.alpha.fspec_impl.call(null,cljs.spec.alpha.spec_impl.call(null,cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha","cat","cljs.spec.alpha/cat",
-1471398329,null),new cljs.core.Keyword(null,"data-dir","data-dir",2038801936),new cljs.core.Symbol("weathergen.falcon.files.mission","Dir","weathergen.falcon.files.mission/Dir",490740314,null)),cljs.spec.alpha.cat_impl.call(null,new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"data-dir","data-dir",2038801936)],null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[weathergen.falcon.files.mission.Dir],null),new cljs.core.PersistentVector(null,
1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol("weathergen.falcon.files.mission","Dir","weathergen.falcon.files.mission/Dir",490740314,null)],null)),null,null),cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha","cat","cljs.spec.alpha/cat",-1471398329,null),new cljs.core.Keyword(null,"data-dir","data-dir",2038801936),new cljs.core.Symbol("weathergen.falcon.files.mission","Dir","weathergen.falcon.files.mission/Dir",490740314,null)),cljs.spec.alpha.spec_impl.call(null,cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha",
"coll-of","cljs.spec.alpha/coll-of",1019430407,null),new cljs.core.Symbol("weathergen.falcon.files.mission","Theater","weathergen.falcon.files.mission/Theater",-1418688427,null)),cljs.spec.alpha.every_impl.call(null,new cljs.core.Symbol(null,"Theater","Theater",-809812509,null),weathergen.falcon.files.mission.Theater,new cljs.core.PersistentArrayMap(null,4,[new cljs.core.Keyword("cljs.spec.alpha","kind-form","cljs.spec.alpha/kind-form",-1047104697),null,new cljs.core.Keyword("cljs.spec.alpha","cpred",
"cljs.spec.alpha/cpred",-693471218),function(a){return cljs.core.coll_QMARK_.call(null,a)},new cljs.core.Keyword("cljs.spec.alpha","conform-all","cljs.spec.alpha/conform-all",45201917),!0,new cljs.core.Keyword("cljs.spec.alpha","describe","cljs.spec.alpha/describe",1883026911),cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha","coll-of","cljs.spec.alpha/coll-of",1019430407,null),new cljs.core.Symbol("weathergen.falcon.files.mission","Theater","weathergen.falcon.files.mission/Theater",-1418688427,
null))],null),null),null,null),cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha","coll-of","cljs.spec.alpha/coll-of",1019430407,null),new cljs.core.Symbol("weathergen.falcon.files.mission","Theater","weathergen.falcon.files.mission/Theater",-1418688427,null)),null,null,null));
weathergen.falcon.files.mission.read_theater_defs=function(a){return cljs.core.remove.call(null,cljs.core.nil_QMARK_,cljs.core.mapv.call(null,function(b){return weathergen.falcon.files.mission.read_theater_def.call(null,a,b)},cljs.core.remove.call(null,clojure.string.blank_QMARK_,cljs.core.remove.call(null,function(a){return a.startsWith("#")},cljs.core.map.call(null,clojure.string.trim,clojure.string.split_lines.call(null,weathergen.filesystem.file_text.call(null,weathergen.filesystem.path_combine.call(null,
a,"Terrdata/theaterdefinition/theater.lst"))))))))};weathergen.falcon.files.mission.whitespace=/[ \t=]+/;
weathergen.falcon.files.mission.read_id_list_file=function(a,b){return cljs.core.map.call(null,function(a){var c=cljs.core.nth.call(null,a,0,null),e=cljs.core.nth.call(null,a,1,null);return new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[c,function(){var d=weathergen.util.str__GT_long.call(null,e);if(cljs.core.truth_(d))return d;taoensso.timbre._log_BANG_.call(null,taoensso.timbre._STAR_config_STAR_,new cljs.core.Keyword(null,"error","error",-978969032),"weathergen.falcon.files.mission",
null,1950,new cljs.core.Keyword(null,"p","p",151049309),new cljs.core.Keyword(null,"auto","auto",-566279492),new cljs.core.Delay(function(a,c,d,e){return function(){return new cljs.core.PersistentVector(null,7,5,cljs.core.PersistentVector.EMPTY_NODE,["Error parsing image id",new cljs.core.Keyword(null,"name","name",1843675177),d,new cljs.core.Keyword(null,"id","id",-1388402092),e,new cljs.core.Keyword(null,"path","path",-188191168),b],null)}}(d,a,c,e),null),null,1219699066);return null}()],null)},
cljs.core.map.call(null,function(a){return clojure.string.split.call(null,a,weathergen.falcon.files.mission.whitespace)},cljs.core.remove.call(null,function(a){return a.startsWith("#")},cljs.core.remove.call(null,clojure.string.blank_QMARK_,cljs.core.map.call(null,clojure.string.trim,clojure.string.split_lines.call(null,weathergen.filesystem.file_text.call(null,weathergen.filesystem.path_combine.call(null,(new cljs.core.Keyword(null,"data-dir","data-dir",2038801936)).cljs$core$IFn$_invoke$arity$1(a),
b))))))))};
cljs.spec.alpha.def_impl.call(null,new cljs.core.Symbol("weathergen.falcon.files.mission","read-id-list","weathergen.falcon.files.mission/read-id-list",-85336350,null),cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha","fspec","cljs.spec.alpha/fspec",-1289128341,null),new cljs.core.Keyword(null,"args","args",1315556576),cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha","cat","cljs.spec.alpha/cat",-1471398329,null),new cljs.core.Keyword(null,"installation","installation",943147954),new cljs.core.Symbol("weathergen.falcon.files.mission",
"Installation","weathergen.falcon.files.mission/Installation",-422785575,null),new cljs.core.Keyword(null,"id","id",-1388402092),new cljs.core.Symbol("cljs.core","string?","cljs.core/string?",-2072921719,null)),new cljs.core.Keyword(null,"ret","ret",-468222814),new cljs.core.Symbol("weathergen.falcon.files.mission","IdList","weathergen.falcon.files.mission/IdList",439773059,null)),cljs.spec.alpha.fspec_impl.call(null,cljs.spec.alpha.spec_impl.call(null,cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha",
"cat","cljs.spec.alpha/cat",-1471398329,null),new cljs.core.Keyword(null,"installation","installation",943147954),new cljs.core.Symbol("weathergen.falcon.files.mission","Installation","weathergen.falcon.files.mission/Installation",-422785575,null),new cljs.core.Keyword(null,"id","id",-1388402092),new cljs.core.Symbol("cljs.core","string?","cljs.core/string?",-2072921719,null)),cljs.spec.alpha.cat_impl.call(null,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,
"installation","installation",943147954),new cljs.core.Keyword(null,"id","id",-1388402092)],null),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[weathergen.falcon.files.mission.Installation,cljs.core.string_QMARK_],null),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol("weathergen.falcon.files.mission","Installation","weathergen.falcon.files.mission/Installation",-422785575,null),new cljs.core.Symbol("cljs.core","string?",
"cljs.core/string?",-2072921719,null)],null)),null,null),cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha","cat","cljs.spec.alpha/cat",-1471398329,null),new cljs.core.Keyword(null,"installation","installation",943147954),new cljs.core.Symbol("weathergen.falcon.files.mission","Installation","weathergen.falcon.files.mission/Installation",-422785575,null),new cljs.core.Keyword(null,"id","id",-1388402092),new cljs.core.Symbol("cljs.core","string?","cljs.core/string?",-2072921719,null)),cljs.spec.alpha.spec_impl.call(null,
new cljs.core.Symbol("weathergen.falcon.files.mission","IdList","weathergen.falcon.files.mission/IdList",439773059,null),weathergen.falcon.files.mission.IdList,null,null),new cljs.core.Symbol("weathergen.falcon.files.mission","IdList","weathergen.falcon.files.mission/IdList",439773059,null),null,null,null));
weathergen.falcon.files.mission.read_id_list=function(a,b){b=cljs.core.mapcat.call(null,function(b){return weathergen.falcon.files.mission.read_id_list_file.call(null,a,b)},cljs.core.remove.call(null,clojure.string.blank_QMARK_,cljs.core.map.call(null,clojure.string.trim,clojure.string.split_lines.call(null,weathergen.filesystem.file_text.call(null,weathergen.filesystem.path_combine.call(null,(new cljs.core.Keyword(null,"data-dir","data-dir",2038801936)).cljs$core$IFn$_invoke$arity$1(a),(new cljs.core.Keyword(null,
"art-dir","art-dir",67381390)).cljs$core$IFn$_invoke$arity$1(a),[cljs.core.str.cljs$core$IFn$_invoke$arity$1(b),".LST"].join("")))))));return new cljs.core.PersistentArrayMap(null,2,[new cljs.core.Keyword(null,"name-\x3eid","name-\x3eid",-338114168),cljs.core.zipmap.call(null,cljs.core.map.call(null,cljs.core.first,b),cljs.core.map.call(null,cljs.core.second,b)),new cljs.core.Keyword(null,"id-\x3ename","id-\x3ename",249122446),cljs.core.zipmap.call(null,cljs.core.map.call(null,cljs.core.second,b),
cljs.core.map.call(null,cljs.core.first,b))],null)};
cljs.spec.alpha.def_impl.call(null,new cljs.core.Symbol("weathergen.falcon.files.mission","read-image-ids","weathergen.falcon.files.mission/read-image-ids",-1672605206,null),cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha","fspec","cljs.spec.alpha/fspec",-1289128341,null),new cljs.core.Keyword(null,"args","args",1315556576),cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha","cat","cljs.spec.alpha/cat",-1471398329,null),new cljs.core.Keyword(null,"installation","installation",943147954),new cljs.core.Symbol("weathergen.falcon.files.mission",
"Installation","weathergen.falcon.files.mission/Installation",-422785575,null)),new cljs.core.Keyword(null,"ret","ret",-468222814),new cljs.core.Symbol("weathergen.falcon.files.mission","IdList","weathergen.falcon.files.mission/IdList",439773059,null)),cljs.spec.alpha.fspec_impl.call(null,cljs.spec.alpha.spec_impl.call(null,cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha","cat","cljs.spec.alpha/cat",-1471398329,null),new cljs.core.Keyword(null,"installation","installation",943147954),new cljs.core.Symbol("weathergen.falcon.files.mission",
"Installation","weathergen.falcon.files.mission/Installation",-422785575,null)),cljs.spec.alpha.cat_impl.call(null,new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"installation","installation",943147954)],null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[weathergen.falcon.files.mission.Installation],null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol("weathergen.falcon.files.mission",
"Installation","weathergen.falcon.files.mission/Installation",-422785575,null)],null)),null,null),cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha","cat","cljs.spec.alpha/cat",-1471398329,null),new cljs.core.Keyword(null,"installation","installation",943147954),new cljs.core.Symbol("weathergen.falcon.files.mission","Installation","weathergen.falcon.files.mission/Installation",-422785575,null)),cljs.spec.alpha.spec_impl.call(null,new cljs.core.Symbol("weathergen.falcon.files.mission","IdList",
"weathergen.falcon.files.mission/IdList",439773059,null),weathergen.falcon.files.mission.IdList,null,null),new cljs.core.Symbol("weathergen.falcon.files.mission","IdList","weathergen.falcon.files.mission/IdList",439773059,null),null,null,null));weathergen.falcon.files.mission.read_image_ids=function(a){return weathergen.falcon.files.mission.read_id_list.call(null,a,"IMAGEIDS")};
cljs.spec.alpha.def_impl.call(null,new cljs.core.Symbol("weathergen.falcon.files.mission","read-user-ids","weathergen.falcon.files.mission/read-user-ids",1257323450,null),cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha","fspec","cljs.spec.alpha/fspec",-1289128341,null),new cljs.core.Keyword(null,"args","args",1315556576),cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha","cat","cljs.spec.alpha/cat",-1471398329,null),new cljs.core.Keyword(null,"installation","installation",943147954),new cljs.core.Symbol("weathergen.falcon.files.mission",
"Installation","weathergen.falcon.files.mission/Installation",-422785575,null)),new cljs.core.Keyword(null,"ret","ret",-468222814),new cljs.core.Symbol("weathergen.falcon.files.mission","IdList","weathergen.falcon.files.mission/IdList",439773059,null)),cljs.spec.alpha.fspec_impl.call(null,cljs.spec.alpha.spec_impl.call(null,cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha","cat","cljs.spec.alpha/cat",-1471398329,null),new cljs.core.Keyword(null,"installation","installation",943147954),new cljs.core.Symbol("weathergen.falcon.files.mission",
"Installation","weathergen.falcon.files.mission/Installation",-422785575,null)),cljs.spec.alpha.cat_impl.call(null,new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"installation","installation",943147954)],null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[weathergen.falcon.files.mission.Installation],null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol("weathergen.falcon.files.mission",
"Installation","weathergen.falcon.files.mission/Installation",-422785575,null)],null)),null,null),cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha","cat","cljs.spec.alpha/cat",-1471398329,null),new cljs.core.Keyword(null,"installation","installation",943147954),new cljs.core.Symbol("weathergen.falcon.files.mission","Installation","weathergen.falcon.files.mission/Installation",-422785575,null)),cljs.spec.alpha.spec_impl.call(null,new cljs.core.Symbol("weathergen.falcon.files.mission","IdList",
"weathergen.falcon.files.mission/IdList",439773059,null),weathergen.falcon.files.mission.IdList,null,null),new cljs.core.Symbol("weathergen.falcon.files.mission","IdList","weathergen.falcon.files.mission/IdList",439773059,null),null,null,null));weathergen.falcon.files.mission.read_user_ids=function(a){return weathergen.falcon.files.mission.read_id_list.call(null,a,"USERIDS")};
cljs.spec.alpha.def_impl.call(null,new cljs.core.Symbol("weathergen.falcon.files.mission","load-installation","weathergen.falcon.files.mission/load-installation",-1854237906,null),cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha","fspec","cljs.spec.alpha/fspec",-1289128341,null),new cljs.core.Keyword(null,"args","args",1315556576),cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha","cat","cljs.spec.alpha/cat",-1471398329,null),new cljs.core.Keyword(null,"install-dir","install-dir",2018055118),
new cljs.core.Symbol("weathergen.falcon.files.mission","Dir","weathergen.falcon.files.mission/Dir",490740314,null)),new cljs.core.Keyword(null,"ret","ret",-468222814),new cljs.core.Symbol("weathergen.falcon.files.mission","Installation","weathergen.falcon.files.mission/Installation",-422785575,null)),cljs.spec.alpha.fspec_impl.call(null,cljs.spec.alpha.spec_impl.call(null,cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha","cat","cljs.spec.alpha/cat",-1471398329,null),new cljs.core.Keyword(null,
"install-dir","install-dir",2018055118),new cljs.core.Symbol("weathergen.falcon.files.mission","Dir","weathergen.falcon.files.mission/Dir",490740314,null)),cljs.spec.alpha.cat_impl.call(null,new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"install-dir","install-dir",2018055118)],null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[weathergen.falcon.files.mission.Dir],null),new cljs.core.PersistentVector(null,
1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol("weathergen.falcon.files.mission","Dir","weathergen.falcon.files.mission/Dir",490740314,null)],null)),null,null),cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha","cat","cljs.spec.alpha/cat",-1471398329,null),new cljs.core.Keyword(null,"install-dir","install-dir",2018055118),new cljs.core.Symbol("weathergen.falcon.files.mission","Dir","weathergen.falcon.files.mission/Dir",490740314,null)),cljs.spec.alpha.spec_impl.call(null,new cljs.core.Symbol("weathergen.falcon.files.mission",
"Installation","weathergen.falcon.files.mission/Installation",-422785575,null),weathergen.falcon.files.mission.Installation,null,null),new cljs.core.Symbol("weathergen.falcon.files.mission","Installation","weathergen.falcon.files.mission/Installation",-422785575,null),null,null,null));
weathergen.falcon.files.mission.load_installation=function(a){var b=weathergen.filesystem.path_combine.call(null,a,"Data");return new cljs.core.PersistentArrayMap(null,5,[new cljs.core.Keyword(null,"install-dir","install-dir",2018055118),a,new cljs.core.Keyword(null,"data-dir","data-dir",2038801936),b,new cljs.core.Keyword(null,"art-dir","art-dir",67381390),"Art",new cljs.core.Keyword(null,"object-dir","object-dir",-2124784896),"Terrdata/objects",new cljs.core.Keyword(null,"theaters","theaters",-1420445930),
weathergen.falcon.files.mission.read_theater_defs.call(null,b)],null)};
cljs.spec.alpha.def_impl.call(null,new cljs.core.Symbol("weathergen.falcon.files.mission","find-theater","weathergen.falcon.files.mission/find-theater",507774917,null),cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha","fspec","cljs.spec.alpha/fspec",-1289128341,null),new cljs.core.Keyword(null,"args","args",1315556576),cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha","cat","cljs.spec.alpha/cat",-1471398329,null),new cljs.core.Keyword(null,"installation","installation",943147954),new cljs.core.Symbol("weathergen.falcon.files.mission",
"Installation","weathergen.falcon.files.mission/Installation",-422785575,null),new cljs.core.Keyword(null,"path","path",-188191168),new cljs.core.Symbol("weathergen.falcon.files.mission","Path","weathergen.falcon.files.mission/Path",1128596705,null)),new cljs.core.Keyword(null,"ret","ret",-468222814),new cljs.core.Symbol("weathergen.falcon.files.mission","Theater","weathergen.falcon.files.mission/Theater",-1418688427,null)),cljs.spec.alpha.fspec_impl.call(null,cljs.spec.alpha.spec_impl.call(null,
cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha","cat","cljs.spec.alpha/cat",-1471398329,null),new cljs.core.Keyword(null,"installation","installation",943147954),new cljs.core.Symbol("weathergen.falcon.files.mission","Installation","weathergen.falcon.files.mission/Installation",-422785575,null),new cljs.core.Keyword(null,"path","path",-188191168),new cljs.core.Symbol("weathergen.falcon.files.mission","Path","weathergen.falcon.files.mission/Path",1128596705,null)),cljs.spec.alpha.cat_impl.call(null,
new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"installation","installation",943147954),new cljs.core.Keyword(null,"path","path",-188191168)],null),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[weathergen.falcon.files.mission.Installation,weathergen.falcon.files.mission.Path],null),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol("weathergen.falcon.files.mission",
"Installation","weathergen.falcon.files.mission/Installation",-422785575,null),new cljs.core.Symbol("weathergen.falcon.files.mission","Path","weathergen.falcon.files.mission/Path",1128596705,null)],null)),null,null),cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha","cat","cljs.spec.alpha/cat",-1471398329,null),new cljs.core.Keyword(null,"installation","installation",943147954),new cljs.core.Symbol("weathergen.falcon.files.mission","Installation","weathergen.falcon.files.mission/Installation",
-422785575,null),new cljs.core.Keyword(null,"path","path",-188191168),new cljs.core.Symbol("weathergen.falcon.files.mission","Path","weathergen.falcon.files.mission/Path",1128596705,null)),cljs.spec.alpha.spec_impl.call(null,new cljs.core.Symbol("weathergen.falcon.files.mission","Theater","weathergen.falcon.files.mission/Theater",-1418688427,null),weathergen.falcon.files.mission.Theater,null,null),new cljs.core.Symbol("weathergen.falcon.files.mission","Theater","weathergen.falcon.files.mission/Theater",
-1418688427,null),null,null,null));weathergen.falcon.files.mission.find_theater=function(a,b){return cljs.core.first.call(null,cljs.core.filter.call(null,function(c){return weathergen.filesystem.ancestor_QMARK_.call(null,weathergen.falcon.files.mission.campaign_dir.call(null,a,c),b)},(new cljs.core.Keyword(null,"theaters","theaters",-1420445930)).cljs$core$IFn$_invoke$arity$1(a)))};
weathergen.falcon.files.mission.theaterdef_name=function(a){return cljs.core.get_in.call(null,a,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"theater","theater",258922071),new cljs.core.Keyword(null,"name","name",1843675177)],null))};
weathergen.falcon.files.mission.load_xml_initial_database=function(a,b,c){return cljs.core.merge.call(null,new cljs.core.PersistentArrayMap(null,2,[new cljs.core.Keyword(null,"image-ids","image-ids",-529925649),weathergen.falcon.files.mission.read_image_ids.call(null,a),new cljs.core.Keyword(null,"user-ids","user-ids",-652076250),weathergen.falcon.files.mission.read_user_ids.call(null,a)],null),cljs.core.into.call(null,cljs.core.PersistentArrayMap.EMPTY,function(){return function f(c){return new cljs.core.LazySeq(null,
function(){for(;;){var e=cljs.core.seq.call(null,c);if(e){var h=e;if(cljs.core.chunked_seq_QMARK_.call(null,h)){var k=cljs.core.chunk_first.call(null,h),l=cljs.core.count.call(null,k),m=cljs.core.chunk_buffer.call(null,l);return function(){for(var c=0;;)if(c<l){var f=cljs.core._nth.call(null,k,c),g=cljs.core.nth.call(null,f,0,null),n=cljs.core.nth.call(null,f,1,null);cljs.core.chunk_append.call(null,m,function(){var p=weathergen.filesystem.path_combine.call(null,weathergen.falcon.files.mission.object_dir.call(null,
a,b),["FALCON4_",cljs.core.str.cljs$core$IFn$_invoke$arity$1(g),".xml"].join(""));taoensso.timbre._log_BANG_.call(null,taoensso.timbre._STAR_config_STAR_,new cljs.core.Keyword(null,"info","info",-317069002),"weathergen.falcon.files.mission",null,2044,new cljs.core.Keyword(null,"p","p",151049309),new cljs.core.Keyword(null,"auto","auto",-566279492),new cljs.core.Delay(function(a,b,c,e,f,g,h,k,l,m){return function(){return new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,
["XML file path",b],null)}}(c,p,f,g,n,k,l,m,h,e),null),null,1217894305);p=weathergen.filesystem.file_text.call(null,p);return new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[n,weathergen.falcon.files.mission.xml.parse.call(null,p,n)],null)}());c+=1}else return!0}()?cljs.core.chunk_cons.call(null,cljs.core.chunk.call(null,m),f.call(null,cljs.core.chunk_rest.call(null,h))):cljs.core.chunk_cons.call(null,cljs.core.chunk.call(null,m),null)}var n=cljs.core.first.call(null,
h),p=cljs.core.nth.call(null,n,0,null),q=cljs.core.nth.call(null,n,1,null);return cljs.core.cons.call(null,function(){var c=weathergen.filesystem.path_combine.call(null,weathergen.falcon.files.mission.object_dir.call(null,a,b),["FALCON4_",cljs.core.str.cljs$core$IFn$_invoke$arity$1(p),".xml"].join(""));taoensso.timbre._log_BANG_.call(null,taoensso.timbre._STAR_config_STAR_,new cljs.core.Keyword(null,"info","info",-317069002),"weathergen.falcon.files.mission",null,2044,new cljs.core.Keyword(null,"p",
"p",151049309),new cljs.core.Keyword(null,"auto","auto",-566279492),new cljs.core.Delay(function(a,b,c,e,f,g){return function(){return new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,["XML file path",a],null)}}(c,n,p,q,h,e),null),null,-1547028555);c=weathergen.filesystem.file_text.call(null,c);return new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[q,weathergen.falcon.files.mission.xml.parse.call(null,c,q)],null)}(),f.call(null,cljs.core.rest.call(null,
h)))}return null}},null,null)}.call(null,new cljs.core.PersistentVector(null,9,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,["ct",new cljs.core.Keyword(null,"class-table","class-table",207400992)],null),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,["ucd",new cljs.core.Keyword(null,"unit-class-data","unit-class-data",2122324209)],null),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,
["OCD",new cljs.core.Keyword(null,"objective-class-data","objective-class-data",-2036255156)],null),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,["VCD",new cljs.core.Keyword(null,"vehicle-class-data","vehicle-class-data",1666024339)],null),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,["WCD",new cljs.core.Keyword(null,"weapon-class-data","weapon-class-data",-1828241433)],null),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,
["FCD",new cljs.core.Keyword(null,"feature-class-data","feature-class-data",-794349644)],null),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,["fed",new cljs.core.Keyword(null,"feature-entry-data","feature-entry-data",-87481893)],null),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,["PHD",new cljs.core.Keyword(null,"point-header-data","point-header-data",2108405911)],null),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,
["SWD",new cljs.core.Keyword(null,"sim-weapon-data","sim-weapon-data",1516433194)],null)],null))}()))};
cljs.spec.alpha.def_impl.call(null,new cljs.core.Symbol("weathergen.falcon.files.mission","load-initial-database","weathergen.falcon.files.mission/load-initial-database",-16988534,null),cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha","fspec","cljs.spec.alpha/fspec",-1289128341,null),new cljs.core.Keyword(null,"args","args",1315556576),cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha","cat","cljs.spec.alpha/cat",-1471398329,null),new cljs.core.Keyword(null,"installation","installation",943147954),
new cljs.core.Symbol("weathergen.falcon.files.mission","Installation","weathergen.falcon.files.mission/Installation",-422785575,null),new cljs.core.Keyword(null,"theater","theater",258922071),new cljs.core.Symbol("weathergen.falcon.files.mission","Theater","weathergen.falcon.files.mission/Theater",-1418688427,null)),new cljs.core.Keyword(null,"ret","ret",-468222814),new cljs.core.Symbol("weathergen.falcon.files.mission","InitialDatabase","weathergen.falcon.files.mission/InitialDatabase",1423333610,
null)),cljs.spec.alpha.fspec_impl.call(null,cljs.spec.alpha.spec_impl.call(null,cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha","cat","cljs.spec.alpha/cat",-1471398329,null),new cljs.core.Keyword(null,"installation","installation",943147954),new cljs.core.Symbol("weathergen.falcon.files.mission","Installation","weathergen.falcon.files.mission/Installation",-422785575,null),new cljs.core.Keyword(null,"theater","theater",258922071),new cljs.core.Symbol("weathergen.falcon.files.mission","Theater",
"weathergen.falcon.files.mission/Theater",-1418688427,null)),cljs.spec.alpha.cat_impl.call(null,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"installation","installation",943147954),new cljs.core.Keyword(null,"theater","theater",258922071)],null),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[weathergen.falcon.files.mission.Installation,weathergen.falcon.files.mission.Theater],null),new cljs.core.PersistentVector(null,
2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol("weathergen.falcon.files.mission","Installation","weathergen.falcon.files.mission/Installation",-422785575,null),new cljs.core.Symbol("weathergen.falcon.files.mission","Theater","weathergen.falcon.files.mission/Theater",-1418688427,null)],null)),null,null),cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha","cat","cljs.spec.alpha/cat",-1471398329,null),new cljs.core.Keyword(null,"installation","installation",943147954),new cljs.core.Symbol("weathergen.falcon.files.mission",
"Installation","weathergen.falcon.files.mission/Installation",-422785575,null),new cljs.core.Keyword(null,"theater","theater",258922071),new cljs.core.Symbol("weathergen.falcon.files.mission","Theater","weathergen.falcon.files.mission/Theater",-1418688427,null)),cljs.spec.alpha.spec_impl.call(null,new cljs.core.Symbol("weathergen.falcon.files.mission","InitialDatabase","weathergen.falcon.files.mission/InitialDatabase",1423333610,null),weathergen.falcon.files.mission.InitialDatabase,null,null),new cljs.core.Symbol("weathergen.falcon.files.mission",
"InitialDatabase","weathergen.falcon.files.mission/InitialDatabase",1423333610,null),null,null,null));weathergen.falcon.files.mission.load_initial_database=function(a){for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;b=2<b.length?new cljs.core.IndexedSeq(b.slice(2),0,null):null;return weathergen.falcon.files.mission.load_initial_database.cljs$core$IFn$_invoke$arity$variadic(arguments[0],arguments[1],b)};
weathergen.falcon.files.mission.load_initial_database.cljs$core$IFn$_invoke$arity$variadic=function(a,b,c){c=cljs.core.nth.call(null,c,0,null);c=null!=c&&(c.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===c.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,c):c;var d=cljs.core.get.call(null,c,new cljs.core.Keyword("database","version","database/version",1963983397));if(100<=d)return weathergen.falcon.files.mission.load_xml_initial_database.call(null,a,b,c);throw cljs.core.ex_info.call(null,
"This version of VMT does not work with versions of BMS prior to 4.34. Use an older version of VMT to work with missions from older versions of BMS.",new cljs.core.PersistentArrayMap(null,2,[new cljs.core.Keyword(null,"omit-stack-trace?","omit-stack-trace?",1080142229),!0,new cljs.core.Keyword(null,"version","version",425292698),d],null));};weathergen.falcon.files.mission.load_initial_database.cljs$lang$maxFixedArity=2;
weathergen.falcon.files.mission.load_initial_database.cljs$lang$applyTo=function(a){var b=cljs.core.first.call(null,a),c=cljs.core.next.call(null,a);a=cljs.core.first.call(null,c);c=cljs.core.next.call(null,c);return this.cljs$core$IFn$_invoke$arity$variadic(b,a,c)};
weathergen.falcon.files.mission.read_embedded_files=function(a){for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;b=2<b.length?new cljs.core.IndexedSeq(b.slice(2),0,null):null;return weathergen.falcon.files.mission.read_embedded_files.cljs$core$IFn$_invoke$arity$variadic(arguments[0],arguments[1],b)};
weathergen.falcon.files.mission.read_embedded_files.cljs$core$IFn$_invoke$arity$variadic=function(a,b,c){var d=cljs.core.nth.call(null,c,0,null),e=null!=d&&(d.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===d.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,d):d,f=cljs.core.get.call(null,e,new cljs.core.Keyword("weathergen.falcon.files.mission","file-types","weathergen.falcon.files.mission/file-types",2089227843)),g=octet.buffer._STAR_byte_order_STAR_,h=new cljs.core.Keyword(null,
"little-endian","little-endian",1877303413);octet.buffer._STAR_byte_order_STAR_=h;try{var k=octet.core.read.call(null,a,octet.core.uint32),l=octet.core.read.call(null,a,octet.core.uint32,new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"offset","offset",296498311),k],null)),m=octet.core.read.call(null,a,octet.core.repeat.call(null,l,weathergen.falcon.files.mission.directory_entry),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"offset","offset",296498311),k+
4],null)),n=function(){return function(c,d,e,f,g,h,k,l,m,n){return function A(p){return new cljs.core.LazySeq(null,function(c,d,e,f,g,h,k,l,m,n){return function(){for(var c=p;;)if(c=cljs.core.seq.call(null,c)){if(cljs.core.chunked_seq_QMARK_.call(null,c)){var d=cljs.core.chunk_first.call(null,c),e=cljs.core.count.call(null,d),f=cljs.core.chunk_buffer.call(null,e);return function(){for(var c=0;;)if(c<e){var g=cljs.core._nth.call(null,d,c),h=weathergen.falcon.files.mission.file_type.call(null,(new cljs.core.Keyword(null,
"file-name","file-name",-1654217259)).cljs$core$IFn$_invoke$arity$1(g));cljs.core.truth_(function(){var a=null==n;return a?a:n.call(null,h)}())&&cljs.core.chunk_append.call(null,f,cljs.core.assoc.call(null,g,new cljs.core.Keyword(null,"type","type",1174270348),h,new cljs.core.Keyword(null,"data","data",-232669377),weathergen.falcon.files.mission.read_embedded_file.call(null,h,g,a,b)));c+=1}else return!0}()?cljs.core.chunk_cons.call(null,cljs.core.chunk.call(null,f),A.call(null,cljs.core.chunk_rest.call(null,
c))):cljs.core.chunk_cons.call(null,cljs.core.chunk.call(null,f),null)}var g=cljs.core.first.call(null,c),h=weathergen.falcon.files.mission.file_type.call(null,(new cljs.core.Keyword(null,"file-name","file-name",-1654217259)).cljs$core$IFn$_invoke$arity$1(g));if(cljs.core.truth_(function(){var a=null==n;return a?a:n.call(null,h)}()))return cljs.core.cons.call(null,cljs.core.assoc.call(null,g,new cljs.core.Keyword(null,"type","type",1174270348),h,new cljs.core.Keyword(null,"data","data",-232669377),
weathergen.falcon.files.mission.read_embedded_file.call(null,h,g,a,b)),A.call(null,cljs.core.rest.call(null,c)));c=cljs.core.rest.call(null,c)}else return null}}(c,d,e,f,g,h,k,l,m,n),null,null)}}(k,l,m,g,h,c,d,e,e,f).call(null,m)}();if(!cljs.core._EQ_.call(null,cljs.core.count.call(null,n),cljs.core.count.call(null,cljs.core.distinct.call(null,cljs.core.map.call(null,new cljs.core.Keyword(null,"type","type",1174270348),n)))))throw Error("Assert failed: (-\x3e\x3e files (map :type) distinct count (\x3d (count files)))");
return cljs.core.zipmap.call(null,cljs.core.map.call(null,new cljs.core.Keyword(null,"type","type",1174270348),n),cljs.core.map.call(null,new cljs.core.Keyword(null,"data","data",-232669377),n))}finally{octet.buffer._STAR_byte_order_STAR_=g}};weathergen.falcon.files.mission.read_embedded_files.cljs$lang$maxFixedArity=2;
weathergen.falcon.files.mission.read_embedded_files.cljs$lang$applyTo=function(a){var b=cljs.core.first.call(null,a),c=cljs.core.next.call(null,a);a=cljs.core.first.call(null,c);c=cljs.core.next.call(null,c);return this.cljs$core$IFn$_invoke$arity$variadic(b,a,c)};
weathergen.falcon.files.mission.merge_objective_deltas=function(a,b){a=cljs.core.zipmap.call(null,cljs.core.map.call(null,new cljs.core.Keyword(null,"id","id",-1388402092),a),a);return cljs.core.vec.call(null,cljs.core.vals.call(null,cljs.core.reduce.call(null,function(a){return function(a,b){return cljs.core.update.call(null,a,(new cljs.core.Keyword(null,"id","id",-1388402092)).cljs$core$IFn$_invoke$arity$1(b),cljs.core.merge,b)}}(a),a,b)))};
weathergen.falcon.files.mission.flight_aircraft_quantity=function(a){return cljs.core.count.call(null,cljs.core.remove.call(null,cljs.core.PersistentHashSet.createAsIfByAssoc([weathergen.falcon.constants.AIRCRAFT_NOT_ASSIGNED]),(new cljs.core.Keyword(null,"plane-stats","plane-stats",-4010361)).cljs$core$IFn$_invoke$arity$1(a)))};
weathergen.falcon.files.mission.loadout_weapons=function(a,b){var c=null!=b&&(b.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===b.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,b):b,d=cljs.core.get.call(null,c,new cljs.core.Keyword(null,"id","id",-1388402092)),e=cljs.core.get.call(null,c,new cljs.core.Keyword(null,"count","count",2139924085));return cljs.core.mapv.call(null,function(b,c,d,e){return function(b){var c=cljs.core.nth.call(null,b,0,null);b=cljs.core.nth.call(null,
b,1,null);c=weathergen.falcon.files.mission.weapon_class_entry.call(null,a,c);return new cljs.core.PersistentArrayMap(null,2,[new cljs.core.Keyword(null,"name","name",1843675177),(new cljs.core.Keyword(null,"name","name",1843675177)).cljs$core$IFn$_invoke$arity$1(c),new cljs.core.Keyword(null,"quantity","quantity",-1929050694),b*(weathergen.util.has_flag_QMARK_.call(null,(new cljs.core.Keyword(null,"flags","flags",1775418075)).cljs$core$IFn$_invoke$arity$1(c),weathergen.falcon.constants.WEAP_ONETENTH)?
10:1)],null)}}(b,c,d,e),cljs.core.reduce.call(null,function(a,b,c,d){return function(a,b){var c=cljs.core.nth.call(null,b,0,null);b=cljs.core.nth.call(null,b,1,null);return 0===c||0===b?a:cljs.core.update.call(null,a,c,cljs.core.fnil.call(null,cljs.core._PLUS_,0),b)}}(b,c,d,e),cljs.core.PersistentArrayMap.EMPTY,cljs.core.map.call(null,cljs.core.vector,d,e)))};
weathergen.falcon.files.mission.flight_loadouts=function(a,b){var c=(new cljs.core.Keyword(null,"loadouts","loadouts",1824879361)).cljs$core$IFn$_invoke$arity$1(b);b=weathergen.falcon.files.mission.flight_aircraft_quantity.call(null,b);return function(b,c){return function h(d){return new cljs.core.LazySeq(null,function(b,c){return function(){for(;;){var e=cljs.core.seq.call(null,d);if(e){if(cljs.core.chunked_seq_QMARK_.call(null,e)){var g=cljs.core.chunk_first.call(null,e),k=cljs.core.count.call(null,
g),l=cljs.core.chunk_buffer.call(null,k);a:for(var r=0;;)if(r<k){var u=cljs.core._nth.call(null,g,r);cljs.core.chunk_append.call(null,l,weathergen.falcon.files.mission.loadout_weapons.call(null,a,cljs.core._EQ_.call(null,cljs.core.count.call(null,b),c)?cljs.core.nth.call(null,b,u):cljs.core.first.call(null,b)));r+=1}else{g=!0;break a}return g?cljs.core.chunk_cons.call(null,cljs.core.chunk.call(null,l),h.call(null,cljs.core.chunk_rest.call(null,e))):cljs.core.chunk_cons.call(null,cljs.core.chunk.call(null,
l),null)}l=cljs.core.first.call(null,e);return cljs.core.cons.call(null,weathergen.falcon.files.mission.loadout_weapons.call(null,a,cljs.core._EQ_.call(null,cljs.core.count.call(null,b),c)?cljs.core.nth.call(null,b,l):cljs.core.first.call(null,b)),h.call(null,cljs.core.rest.call(null,e)))}return null}}}(b,c),null,null)}}(c,b).call(null,cljs.core.range.call(null,b))};
weathergen.falcon.files.mission.compute_speed=function(a,b){var c=36089>=b?1-6.875E-6*b:.7519;a/=weathergen.falcon.constants.AASLK*Math.sqrt(c);b=c*(36089>=b?Math.pow(c,4.256):.2971*Math.pow(2.718,4.806E-5*(36089-b)))*weathergen.falcon.constants.PASL;b=1>=a?b*(Math.pow(1+.2*a*a,3.5)-1):b*(166.9*a*a/Math.pow(7-1/(a*a),2.5)-1);var d=1+b/weathergen.falcon.constants.PASL;c=1479.12*Math.sqrt(Math.pow(d,.285714)-1);1889.65<b?(d*=Math.pow(7-weathergen.falcon.constants.AASLK*weathergen.falcon.constants.AASLK/
(c*c),2.5),d=51.1987*Math.sqrt(0>d?.1:d)):d=c;return new cljs.core.PersistentArrayMap(null,4,[new cljs.core.Keyword(null,"mach","mach",172480995),a,new cljs.core.Keyword(null,"ias","ias",291909619),d,new cljs.core.Keyword(null,"cas","cas",-451543220),c,new cljs.core.Keyword(null,"qc","qc",-7621727),b],null)};
weathergen.falcon.files.mission.waypoint_comments=function(a,b){a=cljs.core.get_in.call(null,a,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"strings","strings",-2055406807),new cljs.core.Keyword(null,"fn","fn",-1175266204)],null));var c=null!=b&&(b.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===b.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,b):b;b=cljs.core.get.call(null,c,new cljs.core.Keyword(null,
"flags","flags",1775418075));var d=cljs.core.get.call(null,c,new cljs.core.Keyword(null,"action","action",-811238024));c=cljs.core.get.call(null,c,new cljs.core.Keyword(null,"route-action","route-action",1993857154));return weathergen.util.has_flag_QMARK_.call(null,b,weathergen.falcon.constants.WPF_ALTERNATE)?a.call(null,237):weathergen.util.has_flag_QMARK_.call(null,b,weathergen.falcon.constants.WPF_REPEAT)?a.call(null,247):cljs.core._EQ_.call(null,weathergen.falcon.constants.WP_NOTHING,d)?a.call(null,
1650+c):a.call(null,1650+d)};
weathergen.falcon.files.mission.flight_waypoints=function(a,b){b=cljs.core.map_indexed.call(null,function(b,d){var c=null!=d&&(d.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===d.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,d):d,f=cljs.core.get.call(null,c,new cljs.core.Keyword(null,"action","action",-811238024)),g=cljs.core.get.call(null,c,new cljs.core.Keyword(null,"route-action","route-action",1993857154)),h=cljs.core.get.call(null,c,new cljs.core.Keyword(null,
"arrive","arrive",-284644322)),k=cljs.core.get.call(null,c,new cljs.core.Keyword(null,"depart","depart",-100007287));c=cljs.core.get.call(null,c,new cljs.core.Keyword(null,"haves","haves",-405191810));var l=cljs.core.get_in.call(null,a,new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"strings","strings",-2055406807),new cljs.core.Keyword(null,"waypoint-type-names","waypoint-type-names",719960758),f],null));g=cljs.core.get_in.call(null,a,new cljs.core.PersistentVector(null,
3,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"strings","strings",-2055406807),new cljs.core.Keyword(null,"waypoint-type-names","waypoint-type-names",719960758),g],null));return cljs.core.assoc.call(null,d,new cljs.core.Keyword("weathergen.falcon.files.mission","number","weathergen.falcon.files.mission/number",-1176793792),b+1,new cljs.core.Keyword("weathergen.falcon.files.mission","action-name","weathergen.falcon.files.mission/action-name",-1230729595),l,new cljs.core.Keyword("weathergen.falcon.files.mission",
"enroute-action-name","weathergen.falcon.files.mission/enroute-action-name",-95379962),l,new cljs.core.Keyword("weathergen.falcon.files.mission","description","weathergen.falcon.files.mission/description",-1977659382),cljs.core._EQ_.call(null,f,weathergen.falcon.constants.WP_NOTHING)?g:l,new cljs.core.Keyword("weathergen.falcon.files.mission","remain","weathergen.falcon.files.mission/remain",1849736680),cljs.core.truth_(c.call(null,new cljs.core.Keyword(null,"deptime","deptime",1842159584)))?weathergen.time.difference_hms.call(null,
h,k):null,new cljs.core.Keyword("weathergen.falcon.files.mission","altitude","weathergen.falcon.files.mission/altitude",543643555),(new cljs.core.Keyword(null,"grid-z","grid-z",855482282)).cljs$core$IFn$_invoke$arity$1(d)*weathergen.falcon.constants.GRIDZ_SCALE_FACTOR,new cljs.core.Keyword("weathergen.falcon.files.mission","comments","weathergen.falcon.files.mission/comments",-1789953753),weathergen.falcon.files.mission.waypoint_comments.call(null,a,d))},(new cljs.core.Keyword(null,"waypoints","waypoints",
-844253224)).cljs$core$IFn$_invoke$arity$1(b));return cljs.core.map.call(null,function(a){return function(a){var b=null!=a&&(a.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===a.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,a):a,c=cljs.core.get.call(null,b,new cljs.core.Keyword(null,"action","action",-811238024));b=cljs.core.get.call(null,b,new cljs.core.Keyword(null,"flags","flags",1775418075));return weathergen.util.has_flag_QMARK_.call(null,b,weathergen.falcon.constants.WPF_ALTERNATE)||
cljs.core._EQ_.call(null,weathergen.falcon.constants.WP_REFUEL,c)?cljs.core.dissoc.call(null,a,new cljs.core.Keyword(null,"arrive","arrive",-284644322),new cljs.core.Keyword(null,"depart","depart",-100007287),new cljs.core.Keyword("weathergen.falcon.files.mission","distance","weathergen.falcon.files.mission/distance",18637316),new cljs.core.Keyword("weathergen.falcon.files.mission","heading","weathergen.falcon.files.mission/heading",361734949),new cljs.core.Keyword("weathergen.falcon.files.mission",
"speed-ias","weathergen.falcon.files.mission/speed-ias",-2064912472),new cljs.core.Keyword("weathergen.falcon.files.mission","speed-cas","weathergen.falcon.files.mission/speed-cas",-588060328),new cljs.core.Keyword("weathergen.falcon.files.mission","speed-gnd","weathergen.falcon.files.mission/speed-gnd",-39445006),new cljs.core.Keyword("weathergen.falcon.files.mission","speed-mach","weathergen.falcon.files.mission/speed-mach",-185245472),new cljs.core.Keyword("weathergen.falcon.files.mission","speed-tas",
"weathergen.falcon.files.mission/speed-tas",568219840)):a}}(b),cljs.core.into.call(null,cljs.core.vec.call(null,cljs.core.take.call(null,1,b)),cljs.core.map.call(null,function(a){return function(a){var b=cljs.core.nth.call(null,a,0,null);a=cljs.core.nth.call(null,a,1,null);var c=null!=a&&(a.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===a.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,a):a,d=cljs.core.get.call(null,c,new cljs.core.Keyword(null,"grid-x","grid-x",
1935903622));c=cljs.core.get.call(null,c,new cljs.core.Keyword(null,"grid-y","grid-y",1140315474));var h=null!=b&&(b.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===b.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,b):b,k=cljs.core.get.call(null,h,new cljs.core.Keyword(null,"grid-x","grid-x",1935903622));h=cljs.core.get.call(null,h,new cljs.core.Keyword(null,"grid-y","grid-y",1140315474));d=new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,
[d-k,c-h],null);c=weathergen.coordinates.fgrid__GT_nm.call(null,weathergen.math.magnitude.call(null,d));k=(weathergen.time.campaign_time__GT_ms.call(null,(new cljs.core.Keyword(null,"arrive","arrive",-284644322)).cljs$core$IFn$_invoke$arity$1(a))-weathergen.time.campaign_time__GT_ms.call(null,(new cljs.core.Keyword(null,"depart","depart",-100007287)).cljs$core$IFn$_invoke$arity$1(b)))/1E3/60/60;k=0===k?0:c/k;b=weathergen.util.has_flag_QMARK_.call(null,(new cljs.core.Keyword(null,"flags","flags",1775418075)).cljs$core$IFn$_invoke$arity$1(a),
weathergen.falcon.constants.WPF_HOLDCURRENT)?(new cljs.core.Keyword("weathergen.falcon.files.mission","altitude","weathergen.falcon.files.mission/altitude",543643555)).cljs$core$IFn$_invoke$arity$1(b):(new cljs.core.Keyword("weathergen.falcon.files.mission","altitude","weathergen.falcon.files.mission/altitude",543643555)).cljs$core$IFn$_invoke$arity$1(a);b=weathergen.falcon.files.mission.compute_speed.call(null,k,b);var l=null!=b&&(b.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===
b.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,b):b;b=cljs.core.get.call(null,l,new cljs.core.Keyword(null,"mach","mach",172480995));h=cljs.core.get.call(null,l,new cljs.core.Keyword(null,"ias","ias",291909619));l=cljs.core.get.call(null,l,new cljs.core.Keyword(null,"cas","cas",-451543220));return cljs.core.assoc.call(null,a,new cljs.core.Keyword("weathergen.falcon.files.mission","distance","weathergen.falcon.files.mission/distance",18637316),c,new cljs.core.Keyword("weathergen.falcon.files.mission",
"heading","weathergen.falcon.files.mission/heading",361734949),weathergen.math.heading.call(null,d),new cljs.core.Keyword("weathergen.falcon.files.mission","speed-ias","weathergen.falcon.files.mission/speed-ias",-2064912472),h,new cljs.core.Keyword("weathergen.falcon.files.mission","speed-cas","weathergen.falcon.files.mission/speed-cas",-588060328),l,new cljs.core.Keyword("weathergen.falcon.files.mission","speed-tas","weathergen.falcon.files.mission/speed-tas",568219840),k,new cljs.core.Keyword("weathergen.falcon.files.mission",
"speed-gnd","weathergen.falcon.files.mission/speed-gnd",-39445006),k,new cljs.core.Keyword("weathergen.falcon.files.mission","speed-mach","weathergen.falcon.files.mission/speed-mach",-185245472),b)}}(b),cljs.core.partition.call(null,2,1,b))))};
weathergen.falcon.files.mission.flight_mission_name=function(a,b){return cljs.core.get_in.call(null,a,new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"strings","strings",-2055406807),new cljs.core.Keyword(null,"mission-type-names","mission-type-names",-1426382657),(new cljs.core.Keyword(null,"mission","mission",1740288522)).cljs$core$IFn$_invoke$arity$1(b)],null))};
weathergen.falcon.files.mission.flight_mission_category=function(a,b){a=null!=b&&(b.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===b.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,b):b;a=cljs.core.get.call(null,a,new cljs.core.Keyword(null,"mission","mission",1740288522));b=cljs.core.contains_QMARK_;return cljs.core.truth_(b.call(null,cljs.core.PersistentHashSet.createAsIfByAssoc([weathergen.falcon.constants.AMIS_ESCORT,weathergen.falcon.constants.AMIS_OCASTRIKE,
weathergen.falcon.constants.AMIS_SWEEP,weathergen.falcon.constants.AMIS_TARCAP]),a))?weathergen.falcon.constants.ATO_OCA:cljs.core.truth_(b.call(null,cljs.core.PersistentHashSet.createAsIfByAssoc([weathergen.falcon.constants.AMIS_STRIKE,weathergen.falcon.constants.AMIS_STRATBOMB,weathergen.falcon.constants.AMIS_STSTRIKE,weathergen.falcon.constants.AMIS_DEEPSTRIKE]),a))?weathergen.falcon.constants.ATO_STRIKE:cljs.core.truth_(b.call(null,cljs.core.PersistentHashSet.createAsIfByAssoc([weathergen.falcon.constants.AMIS_INT,
weathergen.falcon.constants.AMIS_SAD,weathergen.falcon.constants.AMIS_BAI,weathergen.falcon.constants.AMIS_INTSTRIKE]),a))?weathergen.falcon.constants.ATO_INTERDICTION:cljs.core.truth_(b.call(null,cljs.core.PersistentHashSet.createAsIfByAssoc([weathergen.falcon.constants.AMIS_SEADESCORT,weathergen.falcon.constants.AMIS_SEADSTRIKE]),a))?weathergen.falcon.constants.ATO_SEAD:cljs.core.truth_(b.call(null,cljs.core.PersistentHashSet.createAsIfByAssoc([weathergen.falcon.constants.AMIS_CAS,weathergen.falcon.constants.AMIS_PRPLANCAS,
weathergen.falcon.constants.AMIS_FAC,weathergen.falcon.constants.AMIS_ONCALLCAS]),a))?weathergen.falcon.constants.ATO_CAS:cljs.core.truth_(b.call(null,cljs.core.PersistentHashSet.createAsIfByAssoc([weathergen.falcon.constants.AMIS_ALERT,weathergen.falcon.constants.AMIS_HAVCAP,weathergen.falcon.constants.AMIS_AMBUSHCAP,weathergen.falcon.constants.AMIS_BARCAP2,weathergen.falcon.constants.AMIS_BARCAP,weathergen.falcon.constants.AMIS_INTERCEPT]),a))?weathergen.falcon.constants.ATO_DCA:cljs.core.truth_(b.call(null,
cljs.core.PersistentHashSet.createAsIfByAssoc([weathergen.falcon.constants.AMIS_PATROL,weathergen.falcon.constants.AMIS_RECON,weathergen.falcon.constants.AMIS_RECONPATROL,weathergen.falcon.constants.AMIS_BDA,weathergen.falcon.constants.AMIS_JSTAR,weathergen.falcon.constants.AMIS_AWACS,weathergen.falcon.constants.AMIS_ECM]),a))?weathergen.falcon.constants.ATO_CCCI:cljs.core.truth_(b.call(null,cljs.core.PersistentHashSet.createAsIfByAssoc([weathergen.falcon.constants.AMIS_ASW,weathergen.falcon.constants.AMIS_ASHIP]),
a))?weathergen.falcon.constants.ATO_MARITIME:cljs.core.truth_(b.call(null,cljs.core.PersistentHashSet.createAsIfByAssoc([weathergen.falcon.constants.AMIS_RESCAP,weathergen.falcon.constants.AMIS_TANKER,weathergen.falcon.constants.AMIS_SAR,weathergen.falcon.constants.AMIS_AIRLIFT]),a))?weathergen.falcon.constants.ATO_SUPPORT:weathergen.falcon.constants.ATO_OTHER};
weathergen.falcon.files.mission.team_number=function(a){return null==a?0:"number"===typeof a?a:(new cljs.core.Keyword(null,"who","who",-235935040)).cljs$core$IFn$_invoke$arity$1((new cljs.core.Keyword(null,"team","team",1355747699)).cljs$core$IFn$_invoke$arity$1(a))};
weathergen.falcon.files.mission.team_name=function(a,b){return(new cljs.core.Keyword(null,"name","name",1843675177)).cljs$core$IFn$_invoke$arity$1((new cljs.core.Keyword(null,"team","team",1355747699)).cljs$core$IFn$_invoke$arity$1(cljs.core.nth.call(null,(new cljs.core.Keyword(null,"teams","teams",1677714510)).cljs$core$IFn$_invoke$arity$1(a),weathergen.falcon.files.mission.team_number.call(null,b))))};
weathergen.falcon.files.mission.team_flag=function(a,b,c){b=cljs.core.get_in.call(null,a,new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"campaign-info","campaign-info",1158908966),new cljs.core.Keyword(null,"team-info","team-info",-1689319883),weathergen.falcon.files.mission.team_number.call(null,b)],null));c=cljs.core.get_in.call(null,weathergen.falcon.constants.FlagImageID,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,
[(new cljs.core.Keyword(null,"flag","flag",1088647881)).cljs$core$IFn$_invoke$arity$1(b),c],null));c=cljs.core.get_in.call(null,a,new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"image-ids","image-ids",-529925649),new cljs.core.Keyword(null,"id-\x3ename","id-\x3ename",249122446),c],null));return weathergen.falcon.files.images.make_descriptor.call(null,a,"resource/main",c)};
weathergen.falcon.files.mission.side=function(a,b){return(new cljs.core.Keyword(null,"c-team","c-team",1058111407)).cljs$core$IFn$_invoke$arity$1((new cljs.core.Keyword(null,"team","team",1355747699)).cljs$core$IFn$_invoke$arity$1(cljs.core.nth.call(null,(new cljs.core.Keyword(null,"teams","teams",1677714510)).cljs$core$IFn$_invoke$arity$1(a),weathergen.falcon.files.mission.team_number.call(null,b))))};
weathergen.falcon.files.mission.team_priority=function(a,b,c){a=cljs.core.nth.call(null,(new cljs.core.Keyword(null,"stance","stance",1737508388)).cljs$core$IFn$_invoke$arity$1((new cljs.core.Keyword(null,"team","team",1355747699)).cljs$core$IFn$_invoke$arity$1(cljs.core.nth.call(null,(new cljs.core.Keyword(null,"teams","teams",1677714510)).cljs$core$IFn$_invoke$arity$1(a),b))),weathergen.falcon.files.mission.team_number.call(null,c));return cljs.core.PersistentArrayMap.createAsIfByAssoc([weathergen.falcon.constants.Allied,
0,weathergen.falcon.constants.Friendly,1,weathergen.falcon.constants.War,2,weathergen.falcon.constants.Hostile,3,weathergen.falcon.constants.Neutral,4]).call(null,a,5)};
weathergen.falcon.files.mission.teams=function(a){var b=cljs.core.into.call(null,cljs.core.PersistentArrayMap.EMPTY,cljs.core.map.call(null,function(a){return new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[(new cljs.core.Keyword(null,"who","who",-235935040)).cljs$core$IFn$_invoke$arity$1(a),weathergen.util.has_flag_QMARK_.call(null,(new cljs.core.Keyword(null,"flags","flags",1775418075)).cljs$core$IFn$_invoke$arity$1(a),weathergen.falcon.constants.TEAM_ACTIVE)],null)},
cljs.core.map.call(null,new cljs.core.Keyword(null,"team","team",1355747699),(new cljs.core.Keyword(null,"teams","teams",1677714510)).cljs$core$IFn$_invoke$arity$1(a)))),c=cljs.core.filter.call(null,function(a){return function(b){return a.call(null,(new cljs.core.Keyword(null,"c-team","c-team",1058111407)).cljs$core$IFn$_invoke$arity$1((new cljs.core.Keyword(null,"team","team",1355747699)).cljs$core$IFn$_invoke$arity$1(b)))}}(b),(new cljs.core.Keyword(null,"teams","teams",1677714510)).cljs$core$IFn$_invoke$arity$1(a)),
d=(new cljs.core.Keyword(null,"who","who",-235935040)).cljs$core$IFn$_invoke$arity$1((new cljs.core.Keyword(null,"team","team",1355747699)).cljs$core$IFn$_invoke$arity$1(cljs.core.first.call(null,c)));return cljs.core.sort_by.call(null,function(b,c,d){return function(b){return weathergen.falcon.files.mission.team_priority.call(null,a,d,(new cljs.core.Keyword(null,"who","who",-235935040)).cljs$core$IFn$_invoke$arity$1((new cljs.core.Keyword(null,"team","team",1355747699)).cljs$core$IFn$_invoke$arity$1(b)))}}(b,
c,d),c)};weathergen.falcon.files.mission.last_player_team=function(a){return cljs.core.first.call(null,cljs.core.sort_by.call(null,function(a){return-weathergen.time.campaign_time__GT_ms.call(null,(new cljs.core.Keyword(null,"last-player-mission","last-player-mission",-137478691)).cljs$core$IFn$_invoke$arity$1((new cljs.core.Keyword(null,"team","team",1355747699)).cljs$core$IFn$_invoke$arity$1(a)))},weathergen.falcon.files.mission.teams.call(null,a)))};
weathergen.falcon.files.mission.sides=function(a){return cljs.core.distinct.call(null,cljs.core.map.call(null,new cljs.core.Keyword(null,"c-team","c-team",1058111407),cljs.core.map.call(null,new cljs.core.Keyword(null,"team","team",1355747699),weathergen.falcon.files.mission.teams.call(null,a))))};
weathergen.falcon.files.mission.teams_for_side=function(a,b){return cljs.core.set.call(null,cljs.core.map.call(null,weathergen.falcon.files.mission.team_number,cljs.core.filter.call(null,function(a){return cljs.core._EQ_.call(null,(new cljs.core.Keyword(null,"c-team","c-team",1058111407)).cljs$core$IFn$_invoke$arity$1((new cljs.core.Keyword(null,"team","team",1355747699)).cljs$core$IFn$_invoke$arity$1(a)),b)},weathergen.falcon.files.mission.teams.call(null,a))))};
weathergen.falcon.files.mission.team_color=function(a){return cljs.core.nth.call(null,new cljs.core.PersistentVector(null,8,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"white","white",-483998618),new cljs.core.Keyword(null,"green","green",-945526839),new cljs.core.Keyword(null,"blue","blue",-622100620),new cljs.core.Keyword(null,"brown","brown",1414854429),new cljs.core.Keyword(null,"orange","orange",73816386),new cljs.core.Keyword(null,"yellow","yellow",-881035449),new cljs.core.Keyword(null,
"red","red",-969428204),new cljs.core.Keyword(null,"grey","grey",1875582333)],null),weathergen.falcon.files.mission.team_number.call(null,a))};
weathergen.falcon.files.mission.package_name=function(a,b){a=weathergen.util.filter_EQ_.call(null,new cljs.core.Keyword(null,"type","type",1174270348),new cljs.core.Keyword(null,"package","package",1189062786),(new cljs.core.Keyword(null,"units","units",-533089095)).cljs$core$IFn$_invoke$arity$1(a));return cljs.core.str.cljs$core$IFn$_invoke$arity$1((new cljs.core.Keyword(null,"name-id","name-id",-279275372)).cljs$core$IFn$_invoke$arity$1(weathergen.falcon.files.mission.unit_lookup_by_id.call(null,
a,b)))};
weathergen.falcon.files.mission.squadron_aircraft=function(a,b){try{return new cljs.core.PersistentArrayMap(null,2,[new cljs.core.Keyword(null,"airframe","airframe",643222926),(new cljs.core.Keyword(null,"name","name",1843675177)).cljs$core$IFn$_invoke$arity$1(cljs.core.nth.call(null,(new cljs.core.Keyword(null,"vehicle-class-data","vehicle-class-data",1666024339)).cljs$core$IFn$_invoke$arity$1(a),(new cljs.core.Keyword(null,"data-pointer","data-pointer",-1957576382)).cljs$core$IFn$_invoke$arity$1(cljs.core.nth.call(null,(new cljs.core.Keyword(null,
"class-table","class-table",207400992)).cljs$core$IFn$_invoke$arity$1(a),cljs.core.first.call(null,(new cljs.core.Keyword(null,"vehicle-type","vehicle-type",-362045068)).cljs$core$IFn$_invoke$arity$1(cljs.core.nth.call(null,(new cljs.core.Keyword(null,"unit-class-data","unit-class-data",2122324209)).cljs$core$IFn$_invoke$arity$1(a),(new cljs.core.Keyword(null,"data-pointer","data-pointer",-1957576382)).cljs$core$IFn$_invoke$arity$1(cljs.core.nth.call(null,(new cljs.core.Keyword(null,"class-table",
"class-table",207400992)).cljs$core$IFn$_invoke$arity$1(a),(new cljs.core.Keyword(null,"type-id","type-id",2030062700)).cljs$core$IFn$_invoke$arity$1(b)-100))))))))),new cljs.core.Keyword(null,"quantity","quantity",-1929050694),cljs.core.reduce.call(null,cljs.core._PLUS_,function(){return function e(a){return new cljs.core.LazySeq(null,function(){for(;;){var d=cljs.core.seq.call(null,a);if(d){if(cljs.core.chunked_seq_QMARK_.call(null,d)){var g=cljs.core.chunk_first.call(null,d),h=cljs.core.count.call(null,
g),k=cljs.core.chunk_buffer.call(null,h);a:for(var l=0;;)if(l<h){var m=cljs.core._nth.call(null,g,l);cljs.core.chunk_append.call(null,k,(new cljs.core.Keyword(null,"roster","roster",-2092272532)).cljs$core$IFn$_invoke$arity$1(b)>>2*m&3);l+=1}else{g=!0;break a}return g?cljs.core.chunk_cons.call(null,cljs.core.chunk.call(null,k),e.call(null,cljs.core.chunk_rest.call(null,d))):cljs.core.chunk_cons.call(null,cljs.core.chunk.call(null,k),null)}k=cljs.core.first.call(null,d);return cljs.core.cons.call(null,
(new cljs.core.Keyword(null,"roster","roster",-2092272532)).cljs$core$IFn$_invoke$arity$1(b)>>2*k&3,e.call(null,cljs.core.rest.call(null,d)))}return null}},null,null)}.call(null,cljs.core.range.call(null,16))}())],null)}catch(c){throw a=c,taoensso.timbre._log_BANG_.call(null,taoensso.timbre._STAR_config_STAR_,new cljs.core.Keyword(null,"error","error",-978969032),"weathergen.falcon.files.mission",null,2495,new cljs.core.Keyword(null,"p","p",151049309),new cljs.core.Keyword(null,"auto","auto",-566279492),
new cljs.core.Delay(function(a){return function(){return new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,["error looking up squadron aircraft",new cljs.core.Keyword(null,"squadron-id","squadron-id",-1941695170),(new cljs.core.Keyword(null,"id","id",-1388402092)).cljs$core$IFn$_invoke$arity$1(b)],null)}}(a),null),null,-1392087281),a;}};
weathergen.falcon.files.mission.airbase_status=function(a,b){var c=null!=a&&(a.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===a.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,a):a,d=cljs.core.get.call(null,c,new cljs.core.Keyword(null,"class-table","class-table",207400992)),e=cljs.core.get.call(null,c,new cljs.core.Keyword(null,"objective-class-data","objective-class-data",-2036255156)),f=cljs.core.get.call(null,c,new cljs.core.Keyword(null,"feature-class-data",
"feature-class-data",-794349644)),g=cljs.core.get.call(null,c,new cljs.core.Keyword(null,"feature-entry-data","feature-entry-data",-87481893)),h=cljs.core.get.call(null,c,new cljs.core.Keyword(null,"point-header-data","point-header-data",2108405911)),k=cljs.core.nth.call(null,e,(new cljs.core.Keyword(null,"data-pointer","data-pointer",-1957576382)).cljs$core$IFn$_invoke$arity$1(weathergen.falcon.files.mission.class_table_entry.call(null,a,b))),l=null!=k&&(k.cljs$lang$protocol_mask$partition0$&64||
cljs.core.PROTOCOL_SENTINEL===k.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,k):k,m=cljs.core.get.call(null,l,new cljs.core.Keyword(null,"features","features",-1146962336)),n=cljs.core.get.call(null,l,new cljs.core.Keyword(null,"first-feature","first-feature",-1395776257)),p=cljs.core.subvec.call(null,g,n,n+m),q=function(){return function(a,c,d,e,f,g,h,k,l,m,n,p,q){return function O(r){return new cljs.core.LazySeq(null,function(a,c,d,e,f,g,h,k,l,m,n,p,q){return function(){for(;;){var a=
cljs.core.seq.call(null,r);if(a){if(cljs.core.chunked_seq_QMARK_.call(null,a)){var c=cljs.core.chunk_first.call(null,a),d=cljs.core.count.call(null,c),e=cljs.core.chunk_buffer.call(null,d);return function(){for(var a=0;;)if(a<d){var f=cljs.core._nth.call(null,c,a);cljs.core.chunk_append.call(null,e,function(){var a=cljs.core.long$.call(null,f/4),c=f-4*a;return 0>c||255<c||cljs.core.count.call(null,(new cljs.core.Keyword(null,"f-status","f-status",782756103)).cljs$core$IFn$_invoke$arity$1(b))<=a?0:
cljs.core.nth.call(null,(new cljs.core.Keyword(null,"f-status","f-status",782756103)).cljs$core$IFn$_invoke$arity$1(b),a,0)>>2*c&3}());a+=1}else return!0}()?cljs.core.chunk_cons.call(null,cljs.core.chunk.call(null,e),O.call(null,cljs.core.chunk_rest.call(null,a))):cljs.core.chunk_cons.call(null,cljs.core.chunk.call(null,e),null)}var f=cljs.core.first.call(null,a);return cljs.core.cons.call(null,function(){var a=cljs.core.long$.call(null,f/4),c=f-4*a;return 0>c||255<c||cljs.core.count.call(null,(new cljs.core.Keyword(null,
"f-status","f-status",782756103)).cljs$core$IFn$_invoke$arity$1(b))<=a?0:cljs.core.nth.call(null,(new cljs.core.Keyword(null,"f-status","f-status",782756103)).cljs$core$IFn$_invoke$arity$1(b),a,0)>>2*c&3}(),O.call(null,cljs.core.rest.call(null,a)))}return null}}}(a,c,d,e,f,g,h,k,l,m,n,p,q),null,null)}}(a,c,d,e,f,g,h,k,k,l,m,n,p).call(null,cljs.core.range.call(null,m))}(),r=cljs.core.mapv.call(null,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q){return function(a){a=cljs.core.nth.call(null,c,(new cljs.core.Keyword(null,
"index","index",-1531685915)).cljs$core$IFn$_invoke$arity$1(a));return cljs.core.assoc.call(null,a,new cljs.core.Keyword(null,"feature-class-info","feature-class-info",1970317689),cljs.core.nth.call(null,e,(new cljs.core.Keyword(null,"data-pointer","data-pointer",-1957576382)).cljs$core$IFn$_invoke$arity$1(a)))}}(a,c,d,e,f,g,h,k,k,l,m,n,p,q),p),u=cljs.core.mapv.call(null,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r){return function(a,b,c){return cljs.core.assoc.call(null,a,new cljs.core.Keyword(null,"status",
"status",-1997798413),b,new cljs.core.Keyword(null,"class-info","class-info",-467052058),c)}}(a,c,d,e,f,g,h,k,k,l,m,n,p,q,r),p,q,r),t=function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t){return function(a){return cljs.core._EQ_.call(null,(new cljs.core.Keyword(null,"type","type",1174270348)).cljs$core$IFn$_invoke$arity$1((new cljs.core.Keyword(null,"class-info","class-info",-467052058)).cljs$core$IFn$_invoke$arity$1((new cljs.core.Keyword(null,"vu-class-data","vu-class-data",-1868219799)).cljs$core$IFn$_invoke$arity$1((new cljs.core.Keyword(null,
"class-info","class-info",-467052058)).cljs$core$IFn$_invoke$arity$1(a)))),weathergen.falcon.constants.TYPE_RUNWAY)}}(a,c,d,e,f,g,h,k,k,l,m,n,p,q,r,u),v=function(){var b=100-cljs.core.reduce.call(null,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v){return function(a,b){var c=cljs.core._EQ_,d=(new cljs.core.Keyword(null,"status","status",-1997798413)).cljs$core$IFn$_invoke$arity$1(b);b=cljs.core.truth_(c.call(null,weathergen.falcon.constants.VIS_DAMAGED,d))?cljs.core.long$.call(null,(new cljs.core.Keyword(null,
"value","value",305978217)).cljs$core$IFn$_invoke$arity$1(b)/2):cljs.core.truth_(c.call(null,weathergen.falcon.constants.VIS_DESTROYED,d))?(new cljs.core.Keyword(null,"value","value",305978217)).cljs$core$IFn$_invoke$arity$1(b):0;return a+b}}(0,a,c,d,e,f,g,h,k,k,l,m,n,p,q,r,u,t),0,cljs.core.remove.call(null,t,u));return 0>b?0:b}(),w=function(){for(var b=(new cljs.core.Keyword(null,"pt-data-index","pt-data-index",-54255967)).cljs$core$IFn$_invoke$arity$1(k),w=new cljs.core.PersistentArrayMap(null,
2,[new cljs.core.Keyword(null,"total","total",1916810418),0,new cljs.core.Keyword(null,"destroyed","destroyed",-427566535),0],null);;){var x=cljs.core.nth.call(null,h,b);if(0===b)return w;var C=(new cljs.core.Keyword(null,"next-header","next-header",1386001069)).cljs$core$IFn$_invoke$arity$1(x);w=cljs.core._EQ_.call(null,weathergen.falcon.constants.RunwayPt,(new cljs.core.Keyword(null,"type","type",1174270348)).cljs$core$IFn$_invoke$arity$1(x))?cljs.core.update.call(null,cljs.core.update.call(null,
w,new cljs.core.Keyword(null,"total","total",1916810418),cljs.core.inc),new cljs.core.Keyword(null,"destroyed","destroyed",-427566535),cljs.core._PLUS_,cljs.core.truth_(cljs.core.some.call(null,cljs.core.PersistentHashSet.createAsIfByAssoc([weathergen.falcon.constants.VIS_DESTROYED]),cljs.core.map.call(null,new cljs.core.Keyword(null,"status","status",-1997798413),cljs.core.map.call(null,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,z,x){return function(a){return cljs.core.nth.call(null,w,a)}}(b,
w,x,a,c,d,e,f,g,h,k,k,l,m,n,p,q,r,u,t,v),cljs.core.take_while.call(null,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,z,x){return function(a){return 255>a}}(b,w,x,a,c,d,e,f,g,h,k,k,l,m,n,p,q,r,u,t,v),(new cljs.core.Keyword(null,"features","features",-1146962336)).cljs$core$IFn$_invoke$arity$1(x))))))?1:0):w;b=C}}(),x=null!=w&&(w.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===w.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,w):w;w=cljs.core.get.call(null,x,new cljs.core.Keyword(null,
"total","total",1916810418));x=cljs.core.get.call(null,x,new cljs.core.Keyword(null,"destroyed","destroyed",-427566535));w=0===w?100:100-cljs.core.long$.call(null,x/w*100);return w<v?w:v};weathergen.falcon.files.mission.objective_status=function(a,b){return weathergen.falcon.files.mission.airbase_status.call(null,a,b)};
weathergen.falcon.files.mission.air_icon_resource_prefix=new cljs.core.PersistentArrayMap(null,8,[new cljs.core.Keyword(null,"white","white",-483998618),"wh",new cljs.core.Keyword(null,"green","green",-945526839),"gn",new cljs.core.Keyword(null,"blue","blue",-622100620),"bl",new cljs.core.Keyword(null,"brown","brown",1414854429),"br",new cljs.core.Keyword(null,"orange","orange",73816386),"or",new cljs.core.Keyword(null,"yellow","yellow",-881035449),"yl",new cljs.core.Keyword(null,"red","red",-969428204),
"rd",new cljs.core.Keyword(null,"grey","grey",1875582333),"gy"],null);
weathergen.falcon.files.mission.squadron_image=function(a,b){var c=null!=b&&(b.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===b.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,b):b;c=cljs.core.get.call(null,c,new cljs.core.Keyword(null,"owner","owner",-392611939));b=weathergen.falcon.files.mission.unit_class_entry.call(null,a,b);b=null!=b&&(b.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===b.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,
b):b;b=cljs.core.get.call(null,b,new cljs.core.Keyword(null,"icon-index","icon-index",-42714286));var d=null!=a&&(a.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===a.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,a):a;d=cljs.core.get.call(null,d,new cljs.core.Keyword(null,"image-ids","image-ids",-529925649));return weathergen.falcon.files.images.make_descriptor.call(null,a,["resource/",cljs.core.str.cljs$core$IFn$_invoke$arity$1(weathergen.falcon.files.mission.air_icon_resource_prefix.call(null,
weathergen.falcon.files.mission.team_color.call(null,c))),"air_nn"].join(""),cljs.core.get_in.call(null,d,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"id-\x3ename","id-\x3ename",249122446),b],null)))};
weathergen.falcon.files.mission.icon_resource_prefix=new cljs.core.PersistentArrayMap(null,8,[new cljs.core.Keyword(null,"white","white",-483998618),"wht",new cljs.core.Keyword(null,"green","green",-945526839),"grn",new cljs.core.Keyword(null,"blue","blue",-622100620),"blu",new cljs.core.Keyword(null,"brown","brown",1414854429),"brn",new cljs.core.Keyword(null,"orange","orange",73816386),"orn",new cljs.core.Keyword(null,"yellow","yellow",-881035449),"ylw",new cljs.core.Keyword(null,"red","red",-969428204),
"red",new cljs.core.Keyword(null,"grey","grey",1875582333),"gry"],null);
weathergen.falcon.files.mission.objective_image=function(a,b){var c=null!=b&&(b.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===b.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,b):b;c=cljs.core.get.call(null,c,new cljs.core.Keyword(null,"owner","owner",-392611939));b=weathergen.falcon.files.mission.objective_class_entry.call(null,a,b);b=null!=b&&(b.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===b.cljs$core$ISeq$)?cljs.core.apply.call(null,
cljs.core.hash_map,b):b;b=cljs.core.get.call(null,b,new cljs.core.Keyword(null,"icon-index","icon-index",-42714286));var d=null!=a&&(a.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===a.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,a):a;d=cljs.core.get.call(null,d,new cljs.core.Keyword(null,"image-ids","image-ids",-529925649));return weathergen.falcon.files.images.make_descriptor.call(null,a,["resource/",cljs.core.str.cljs$core$IFn$_invoke$arity$1(weathergen.falcon.files.mission.icon_resource_prefix.call(null,
weathergen.falcon.files.mission.team_color.call(null,c))),"dark"].join(""),cljs.core.get_in.call(null,d,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"id-\x3ename","id-\x3ename",249122446),b],null)))};
weathergen.falcon.files.mission.unit_image=function(a,b){var c=null!=b&&(b.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===b.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,b):b;c=cljs.core.get.call(null,c,new cljs.core.Keyword(null,"owner","owner",-392611939));b=weathergen.falcon.files.mission.unit_class_entry.call(null,a,b);b=null!=b&&(b.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===b.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,
b):b;b=cljs.core.get.call(null,b,new cljs.core.Keyword(null,"icon-index","icon-index",-42714286));var d=null!=a&&(a.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===a.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,a):a;d=cljs.core.get.call(null,d,new cljs.core.Keyword(null,"image-ids","image-ids",-529925649));return weathergen.falcon.files.images.make_descriptor.call(null,a,["resource/",cljs.core.str.cljs$core$IFn$_invoke$arity$1(weathergen.falcon.files.mission.icon_resource_prefix.call(null,
weathergen.falcon.files.mission.team_color.call(null,c))),"dark"].join(""),cljs.core.get_in.call(null,d,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"id-\x3ename","id-\x3ename",249122446),b],null)))};weathergen.falcon.files.mission.squadron_type=function(a,b){return(new cljs.core.Keyword(null,"name","name",1843675177)).cljs$core$IFn$_invoke$arity$1(weathergen.falcon.files.mission.unit_class_entry.call(null,a,b))};
weathergen.falcon.files.mission.carrier_name=function(a,b){return(new cljs.core.Keyword(null,"name","name",1843675177)).cljs$core$IFn$_invoke$arity$1(cljs.core.nth.call(null,(new cljs.core.Keyword(null,"vehicle-class-data","vehicle-class-data",1666024339)).cljs$core$IFn$_invoke$arity$1(a),(new cljs.core.Keyword(null,"data-pointer","data-pointer",-1957576382)).cljs$core$IFn$_invoke$arity$1(weathergen.falcon.files.mission.class_table_entry.call(null,a,b))))};
weathergen.falcon.files.mission.squadron_airbase=function(a,b){var c=weathergen.falcon.files.mission.find_objective.call(null,a,new cljs.core.Keyword(null,"id","id",-1388402092),(new cljs.core.Keyword(null,"airbase-id","airbase-id",-1975592308)).cljs$core$IFn$_invoke$arity$1(b));if(cljs.core.truth_(c))return cljs.core.assoc.call(null,c,new cljs.core.Keyword("weathergen.falcon.files.mission","name","weathergen.falcon.files.mission/name",1235339975),weathergen.falcon.files.mission.objective_name.call(null,
a,c));b=weathergen.falcon.files.mission.find_unit.call(null,a,new cljs.core.Keyword(null,"id","id",-1388402092),(new cljs.core.Keyword(null,"airbase-id","airbase-id",-1975592308)).cljs$core$IFn$_invoke$arity$1(b));return cljs.core.truth_(b)?cljs.core.assoc.call(null,b,new cljs.core.Keyword("weathergen.falcon.files.mission","name","weathergen.falcon.files.mission/name",1235339975),weathergen.falcon.files.mission.carrier_name.call(null,a,b)):null};
weathergen.falcon.files.mission.flights=function(a){return weathergen.progress.with_step.call(null,"Processing flights",function(){var b=null==a?null:weathergen.falcon.files.mission.active_units.call(null,a),c=null==b?null:cljs.core.filter.call(null,function(a,b){return function(a){return cljs.core._EQ_.call(null,(new cljs.core.Keyword(null,"type","type",1174270348)).cljs$core$IFn$_invoke$arity$1(a),new cljs.core.Keyword(null,"flight","flight",-764860679))}}(a,b),b);return null==c?null:cljs.core.map.call(null,
function(b,c,f){return function(b){var c=weathergen.falcon.files.mission.find_unit.call(null,a,new cljs.core.Keyword(null,"id","id",-1388402092),(new cljs.core.Keyword(null,"squadron","squadron",-1131671273)).cljs$core$IFn$_invoke$arity$1(b));return cljs.core.assoc.call(null,b,new cljs.core.Keyword("weathergen.falcon.files.mission","mission","weathergen.falcon.files.mission/mission",43331456),new cljs.core.PersistentArrayMap(null,2,[new cljs.core.Keyword(null,"name","name",1843675177),weathergen.falcon.files.mission.flight_mission_name.call(null,
a,b),new cljs.core.Keyword(null,"category","category",-593092832),weathergen.falcon.files.mission.flight_mission_category.call(null,a,b)],null),new cljs.core.Keyword("weathergen.falcon.files.mission","squadron","weathergen.falcon.files.mission/squadron",463902337),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"name","name",1843675177),cljs.core.not.call(null,c)?"Unknown":weathergen.falcon.files.mission.unit_name.call(null,a,c)],null),new cljs.core.Keyword("weathergen.falcon.files.mission",
"squadron-image","weathergen.falcon.files.mission/squadron-image",-423118152),cljs.core.truth_(c)?weathergen.falcon.files.mission.squadron_image.call(null,a,c):null,new cljs.core.Keyword("weathergen.falcon.files.mission","airbase","weathergen.falcon.files.mission/airbase",-1926407441),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"name","name",1843675177),cljs.core.not.call(null,c)?"Unknown":(new cljs.core.Keyword("weathergen.falcon.files.mission","name","weathergen.falcon.files.mission/name",
1235339975)).cljs$core$IFn$_invoke$arity$1(weathergen.falcon.files.mission.squadron_airbase.call(null,a,c))],null),new cljs.core.Keyword("weathergen.falcon.files.mission","package","weathergen.falcon.files.mission/package",-1415630340),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"name","name",1843675177),weathergen.falcon.files.mission.package_name.call(null,a,(new cljs.core.Keyword(null,"package","package",1189062786)).cljs$core$IFn$_invoke$arity$1(b))],null),new cljs.core.Keyword("weathergen.falcon.files.mission",
"waypoints","weathergen.falcon.files.mission/waypoints",712228162),weathergen.falcon.files.mission.flight_waypoints.call(null,a,b),new cljs.core.Keyword("weathergen.falcon.files.mission","loadouts","weathergen.falcon.files.mission/loadouts",142269567),weathergen.falcon.files.mission.flight_loadouts.call(null,a,b),new cljs.core.Keyword("weathergen.falcon.files.mission","aircraft","weathergen.falcon.files.mission/aircraft",774567258),new cljs.core.PersistentArrayMap(null,2,[new cljs.core.Keyword(null,
"airframe","airframe",643222926),cljs.core.not.call(null,c)?"Unknown":(new cljs.core.Keyword(null,"airframe","airframe",643222926)).cljs$core$IFn$_invoke$arity$1(weathergen.falcon.files.mission.squadron_aircraft.call(null,a,c)),new cljs.core.Keyword(null,"quantity","quantity",-1929050694),weathergen.falcon.files.mission.flight_aircraft_quantity.call(null,b)],null))}}(a,b,c),c)})};
weathergen.falcon.files.mission.squadrons=function(a){return weathergen.progress.with_step.call(null,"Processing squadrons",function(){return cljs.core.group_by.call(null,new cljs.core.Keyword(null,"airbase-id","airbase-id",-1975592308),cljs.core.map.call(null,function(b){return cljs.core.assoc.call(null,b,new cljs.core.Keyword("weathergen.falcon.files.mission","aircraft","weathergen.falcon.files.mission/aircraft",774567258),weathergen.falcon.files.mission.squadron_aircraft.call(null,a,b),new cljs.core.Keyword("weathergen.falcon.files.mission",
"squadron-type","weathergen.falcon.files.mission/squadron-type",1124226793),weathergen.falcon.files.mission.squadron_type.call(null,a,b),new cljs.core.Keyword("weathergen.falcon.files.mission","image","weathergen.falcon.files.mission/image",-1683332210),weathergen.falcon.files.mission.squadron_image.call(null,a,b))},(new cljs.core.Keyword(null,"squadron","squadron",-1131671273)).cljs$core$IFn$_invoke$arity$1(cljs.core.group_by.call(null,new cljs.core.Keyword(null,"type","type",1174270348),weathergen.falcon.files.mission.active_units.call(null,
a)))))})};
weathergen.falcon.files.mission.objective_features=function(a,b){var c=null!=a&&(a.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===a.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,a):a,d=cljs.core.get.call(null,c,new cljs.core.Keyword(null,"class-table","class-table",207400992)),e=cljs.core.get.call(null,c,new cljs.core.Keyword(null,"objective-class-data","objective-class-data",-2036255156)),f=cljs.core.get.call(null,c,new cljs.core.Keyword(null,"feature-class-data","feature-class-data",
-794349644)),g=cljs.core.get.call(null,c,new cljs.core.Keyword(null,"feature-entry-data","feature-entry-data",-87481893)),h=cljs.core.get.call(null,c,new cljs.core.Keyword(null,"point-header-data","point-header-data",2108405911)),k=cljs.core.get.call(null,c,new cljs.core.Keyword(null,"objectives","objectives",933939509)),l=weathergen.falcon.files.mission.objective_class_entry.call(null,a,b),m=null!=l&&(l.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===l.cljs$core$ISeq$)?cljs.core.apply.call(null,
cljs.core.hash_map,l):l,n=cljs.core.get.call(null,m,new cljs.core.Keyword(null,"features","features",-1146962336)),p=cljs.core.get.call(null,m,new cljs.core.Keyword(null,"first-feature","first-feature",-1395776257)),q=cljs.core.map.call(null,function(a,b,c,d,e,f,g,h,k,l,m,n,p){return function(a){return cljs.core.nth.call(null,f,a)}}(a,c,d,e,f,g,h,k,l,l,m,n,p),cljs.core.range.call(null,p,p+n)),r=cljs.core.map.call(null,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q){return function(a){a=cljs.core.nth.call(null,
c,(new cljs.core.Keyword(null,"index","index",-1531685915)).cljs$core$IFn$_invoke$arity$1(a));return cljs.core.assoc.call(null,a,new cljs.core.Keyword("weathergen.falcon.files.mission","feature-class-info","weathergen.falcon.files.mission/feature-class-info",1346129647),cljs.core.nth.call(null,e,(new cljs.core.Keyword(null,"data-pointer","data-pointer",-1957576382)).cljs$core$IFn$_invoke$arity$1(a)))}}(a,c,d,e,f,g,h,k,l,l,m,n,p,q),q),u=function(){return function(a,c,d,e,f,g,h,k,l,m,n,p,q,r,u){return function I(t){return new cljs.core.LazySeq(null,
function(a,c,d,e,f,g,h,k,l,m,n,p,q,r,u){return function(){for(;;){var a=cljs.core.seq.call(null,t);if(a){if(cljs.core.chunked_seq_QMARK_.call(null,a)){var c=cljs.core.chunk_first.call(null,a),d=cljs.core.count.call(null,c),e=cljs.core.chunk_buffer.call(null,d);return function(){for(var a=0;;)if(a<d){var f=cljs.core._nth.call(null,c,a);cljs.core.chunk_append.call(null,e,function(){var a=cljs.core.long$.call(null,f/4),c=f-4*a;return 0>c||255<c||cljs.core.count.call(null,(new cljs.core.Keyword(null,
"f-status","f-status",782756103)).cljs$core$IFn$_invoke$arity$1(b))<=a?0:cljs.core.nth.call(null,(new cljs.core.Keyword(null,"f-status","f-status",782756103)).cljs$core$IFn$_invoke$arity$1(b),a,0)>>2*c&3}());a+=1}else return!0}()?cljs.core.chunk_cons.call(null,cljs.core.chunk.call(null,e),I.call(null,cljs.core.chunk_rest.call(null,a))):cljs.core.chunk_cons.call(null,cljs.core.chunk.call(null,e),null)}var f=cljs.core.first.call(null,a);return cljs.core.cons.call(null,function(){var a=cljs.core.long$.call(null,
f/4),c=f-4*a;return 0>c||255<c||cljs.core.count.call(null,(new cljs.core.Keyword(null,"f-status","f-status",782756103)).cljs$core$IFn$_invoke$arity$1(b))<=a?0:cljs.core.nth.call(null,(new cljs.core.Keyword(null,"f-status","f-status",782756103)).cljs$core$IFn$_invoke$arity$1(b),a,0)>>2*c&3}(),I.call(null,cljs.core.rest.call(null,a)))}return null}}}(a,c,d,e,f,g,h,k,l,m,n,p,q,r,u),null,null)}}(a,c,d,e,f,g,h,k,l,l,m,n,p,q,r).call(null,cljs.core.range.call(null,n))}();return cljs.core.mapv.call(null,function(a,
b,c,d,e,f,g,h,k,l,m,n,p,q,r,u){return function(a,b,c){return cljs.core.assoc.call(null,a,new cljs.core.Keyword("weathergen.falcon.files.mission","status","weathergen.falcon.files.mission/status",667063917),b,new cljs.core.Keyword("weathergen.falcon.files.mission","class-info","weathergen.falcon.files.mission/class-info",-1092492204),c)}}(a,c,d,e,f,g,h,k,l,l,m,n,p,q,r,u),q,u,r)};
weathergen.falcon.files.mission.objectives=function(a){return weathergen.progress.with_step.call(null,"Processing objectives",function(){return cljs.core.mapv.call(null,function(b){return cljs.core.assoc.call(null,b,new cljs.core.Keyword("weathergen.falcon.files.mission","location","weathergen.falcon.files.mission/location",125705122),cljs.core.select_keys.call(null,b,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"x","x",2099068185),new cljs.core.Keyword(null,
"y","y",-1757859776)],null)),new cljs.core.Keyword("weathergen.falcon.files.mission","status","weathergen.falcon.files.mission/status",667063917),weathergen.falcon.files.mission.objective_status.call(null,a,b),new cljs.core.Keyword("weathergen.falcon.files.mission","image","weathergen.falcon.files.mission/image",-1683332210),weathergen.falcon.files.mission.objective_image.call(null,a,b),new cljs.core.Keyword("weathergen.falcon.files.mission","name","weathergen.falcon.files.mission/name",1235339975),
weathergen.falcon.files.mission.objective_name.call(null,a,b),new cljs.core.Keyword("weathergen.falcon.files.mission","features","weathergen.falcon.files.mission/features",534334694),weathergen.falcon.files.mission.objective_features.call(null,a,b))},(new cljs.core.Keyword(null,"objectives","objectives",933939509)).cljs$core$IFn$_invoke$arity$1(a))})};
weathergen.falcon.files.mission.airbases=function(a){return weathergen.progress.with_step.call(null,"Processing airbases",function(){var b=cljs.core.set.call(null,cljs.core.map.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","index","weathergen.falcon.files.mission/index",-1989089649),cljs.core.remove.call(null,function(a){return cljs.core._EQ_.call(null,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[255,7],null),new cljs.core.PersistentVector(null,
2,5,cljs.core.PersistentVector.EMPTY_NODE,[cljs.core.get_in.call(null,a,new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"vu-class-data","vu-class-data",-1868219799),new cljs.core.Keyword(null,"class-info","class-info",-467052058),new cljs.core.Keyword(null,"stype","stype",-63678419)],null)),cljs.core.get_in.call(null,a,new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"vu-class-data",
"vu-class-data",-1868219799),new cljs.core.Keyword(null,"class-info","class-info",-467052058),new cljs.core.Keyword(null,"sptype","sptype",-1425026030)],null))],null))},cljs.core.filter.call(null,function(a){return cljs.core.PersistentHashSet.createAsIfByAssoc([weathergen.falcon.constants.TYPE_AIRBASE,weathergen.falcon.constants.TYPE_AIRSTRIP]).call(null,cljs.core.get_in.call(null,a,new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"vu-class-data",
"vu-class-data",-1868219799),new cljs.core.Keyword(null,"class-info","class-info",-467052058),new cljs.core.Keyword(null,"type","type",1174270348)],null)))},weathergen.util.filter_EQ_.call(null,function(a){return cljs.core.get_in.call(null,a,new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"vu-class-data","vu-class-data",-1868219799),new cljs.core.Keyword(null,"class-info","class-info",-467052058),new cljs.core.Keyword(null,"class","class",
-2030961996)],null))},weathergen.falcon.constants.CLASS_OBJECTIVE,weathergen.util.filter_EQ_.call(null,function(a){return cljs.core.get_in.call(null,a,new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"vu-class-data","vu-class-data",-1868219799),new cljs.core.Keyword(null,"class-info","class-info",-467052058),new cljs.core.Keyword(null,"domain","domain",1847214937)],null))},weathergen.falcon.constants.DOMAIN_LAND,(new cljs.core.Keyword(null,
"class-table","class-table",207400992)).cljs$core$IFn$_invoke$arity$1(a)))))));return cljs.core.mapv.call(null,function(b){return function(b){return cljs.core.assoc.call(null,b,new cljs.core.Keyword("weathergen.falcon.files.mission","squadrons","weathergen.falcon.files.mission/squadrons",47769110),cljs.core.get.call(null,(new cljs.core.Keyword("weathergen.falcon.files.mission","squadrons","weathergen.falcon.files.mission/squadrons",47769110)).cljs$core$IFn$_invoke$arity$1(a),(new cljs.core.Keyword(null,
"id","id",-1388402092)).cljs$core$IFn$_invoke$arity$1(b)))}}(b),cljs.core.filterv.call(null,function(a){return function(b){return a.call(null,(new cljs.core.Keyword(null,"entity-type","entity-type",-1957300125)).cljs$core$IFn$_invoke$arity$1(b)-100)}}(b),(new cljs.core.Keyword("weathergen.falcon.files.mission","objectives","weathergen.falcon.files.mission/objectives",410009507)).cljs$core$IFn$_invoke$arity$1(a)))})};
weathergen.falcon.files.mission.carriers=function(a){return weathergen.progress.with_step.call(null,"Processing carriers",function(){var b=cljs.core.set.call(null,cljs.core.map.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","index","weathergen.falcon.files.mission/index",-1989089649),weathergen.util.filter_EQ_.call(null,function(a){return cljs.core.get_in.call(null,a,new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"vu-class-data",
"vu-class-data",-1868219799),new cljs.core.Keyword(null,"class-info","class-info",-467052058),new cljs.core.Keyword(null,"stype","stype",-63678419)],null))},weathergen.falcon.constants.STYPE_UNIT_CARRIER,weathergen.util.filter_EQ_.call(null,function(a){return cljs.core.get_in.call(null,a,new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"vu-class-data","vu-class-data",-1868219799),new cljs.core.Keyword(null,"class-info","class-info",-467052058),
new cljs.core.Keyword(null,"type","type",1174270348)],null))},weathergen.falcon.constants.TYPE_TASKFORCE,weathergen.util.filter_EQ_.call(null,function(a){return cljs.core.get_in.call(null,a,new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"vu-class-data","vu-class-data",-1868219799),new cljs.core.Keyword(null,"class-info","class-info",-467052058),new cljs.core.Keyword(null,"class","class",-2030961996)],null))},weathergen.falcon.constants.CLASS_UNIT,
weathergen.util.filter_EQ_.call(null,function(a){return cljs.core.get_in.call(null,a,new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"vu-class-data","vu-class-data",-1868219799),new cljs.core.Keyword(null,"class-info","class-info",-467052058),new cljs.core.Keyword(null,"domain","domain",1847214937)],null),weathergen.falcon.constants.DOMAIN_SEA)},weathergen.falcon.constants.DOMAIN_SEA,(new cljs.core.Keyword(null,"class-table","class-table",
207400992)).cljs$core$IFn$_invoke$arity$1(a)))))));return cljs.core.mapv.call(null,function(b){return function(b){return cljs.core.assoc.call(null,b,new cljs.core.Keyword("weathergen.falcon.files.mission","location","weathergen.falcon.files.mission/location",125705122),cljs.core.select_keys.call(null,b,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"x","x",2099068185),new cljs.core.Keyword(null,"y","y",-1757859776)],null)),new cljs.core.Keyword("weathergen.falcon.files.mission",
"status","weathergen.falcon.files.mission/status",667063917),100,new cljs.core.Keyword("weathergen.falcon.files.mission","squadrons","weathergen.falcon.files.mission/squadrons",47769110),cljs.core.get.call(null,(new cljs.core.Keyword("weathergen.falcon.files.mission","squadrons","weathergen.falcon.files.mission/squadrons",47769110)).cljs$core$IFn$_invoke$arity$1(a),(new cljs.core.Keyword(null,"id","id",-1388402092)).cljs$core$IFn$_invoke$arity$1(b)),new cljs.core.Keyword("weathergen.falcon.files.mission",
"image","weathergen.falcon.files.mission/image",-1683332210),weathergen.falcon.files.mission.unit_image.call(null,a,b),new cljs.core.Keyword("weathergen.falcon.files.mission","name","weathergen.falcon.files.mission/name",1235339975),weathergen.falcon.files.mission.carrier_name.call(null,a,b))}}(b),cljs.core.filterv.call(null,function(a){return function(b){return a.call(null,(new cljs.core.Keyword(null,"entity-type","entity-type",-1957300125)).cljs$core$IFn$_invoke$arity$1(b)-100)}}(b),weathergen.falcon.files.mission.active_units.call(null,
a)))})};
weathergen.falcon.files.mission.army_bases=function(a){return weathergen.progress.with_step.call(null,"Processing army bases",function(){var b=cljs.core.set.call(null,cljs.core.map.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","index","weathergen.falcon.files.mission/index",-1989089649),weathergen.util.filter_EQ_.call(null,function(a){return cljs.core.get_in.call(null,a,new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"vu-class-data",
"vu-class-data",-1868219799),new cljs.core.Keyword(null,"class-info","class-info",-467052058),new cljs.core.Keyword(null,"type","type",1174270348)],null))},weathergen.falcon.constants.TYPE_ARMYBASE,weathergen.util.filter_EQ_.call(null,function(a){return cljs.core.get_in.call(null,a,new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"vu-class-data","vu-class-data",-1868219799),new cljs.core.Keyword(null,"class-info","class-info",-467052058),new cljs.core.Keyword(null,
"class","class",-2030961996)],null))},weathergen.falcon.constants.CLASS_OBJECTIVE,weathergen.util.filter_EQ_.call(null,function(a){return cljs.core.get_in.call(null,a,new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"vu-class-data","vu-class-data",-1868219799),new cljs.core.Keyword(null,"class-info","class-info",-467052058),new cljs.core.Keyword(null,"domain","domain",1847214937)],null))},weathergen.falcon.constants.DOMAIN_LAND,(new cljs.core.Keyword(null,
"class-table","class-table",207400992)).cljs$core$IFn$_invoke$arity$1(a))))));return cljs.core.mapv.call(null,function(b){return function(b){return cljs.core.assoc.call(null,b,new cljs.core.Keyword("weathergen.falcon.files.mission","squadrons","weathergen.falcon.files.mission/squadrons",47769110),cljs.core.get.call(null,(new cljs.core.Keyword("weathergen.falcon.files.mission","squadrons","weathergen.falcon.files.mission/squadrons",47769110)).cljs$core$IFn$_invoke$arity$1(a),(new cljs.core.Keyword(null,
"id","id",-1388402092)).cljs$core$IFn$_invoke$arity$1(b)))}}(b),cljs.core.filterv.call(null,function(a){return function(b){return a.call(null,(new cljs.core.Keyword(null,"entity-type","entity-type",-1957300125)).cljs$core$IFn$_invoke$arity$1(b)-100)}}(b),(new cljs.core.Keyword("weathergen.falcon.files.mission","objectives","weathergen.falcon.files.mission/objectives",410009507)).cljs$core$IFn$_invoke$arity$1(a)))})};
weathergen.falcon.files.mission.weapons=function(a){return weathergen.progress.with_step.call(null,"Processing weapons",function(){return cljs.core.mapv.call(null,function(b){return cljs.core.assoc.call(null,b,new cljs.core.Keyword("weathergen.falcon.files.mission","name","weathergen.falcon.files.mission/name",1235339975),(new cljs.core.Keyword(null,"name","name",1843675177)).cljs$core$IFn$_invoke$arity$1(b),new cljs.core.Keyword("weathergen.falcon.files.mission","sim-weapon-data","weathergen.falcon.files.mission/sim-weapon-data",
-1214423648),weathergen.falcon.files.mission.sim_weapon_data_entry.call(null,a,b))},(new cljs.core.Keyword(null,"weapon-class-data","weapon-class-data",-1828241433)).cljs$core$IFn$_invoke$arity$1(a))})};
weathergen.falcon.files.mission.report_airbases_with_invalid_owner=function(a){var b=cljs.core.count.call(null,(new cljs.core.Keyword(null,"teams","teams",1677714510)).cljs$core$IFn$_invoke$arity$1(a)),c=function(){return function(a){return function g(b){return new cljs.core.LazySeq(null,function(a){return function(){for(var c=b;;)if(c=cljs.core.seq.call(null,c)){if(cljs.core.chunked_seq_QMARK_.call(null,c)){var d=cljs.core.chunk_first.call(null,c),f=cljs.core.count.call(null,d),h=cljs.core.chunk_buffer.call(null,
f);a:for(var p=0;;)if(p<f){var q=cljs.core._nth.call(null,d,p);a<=(new cljs.core.Keyword(null,"owner","owner",-392611939)).cljs$core$IFn$_invoke$arity$1(q)&&cljs.core.chunk_append.call(null,h,q);p+=1}else{d=!0;break a}return d?cljs.core.chunk_cons.call(null,cljs.core.chunk.call(null,h),g.call(null,cljs.core.chunk_rest.call(null,c))):cljs.core.chunk_cons.call(null,cljs.core.chunk.call(null,h),null)}h=cljs.core.first.call(null,c);if(a<=(new cljs.core.Keyword(null,"owner","owner",-392611939)).cljs$core$IFn$_invoke$arity$1(h))return cljs.core.cons.call(null,
h,g.call(null,cljs.core.rest.call(null,c)));c=cljs.core.rest.call(null,c)}else return null}}(a),null,null)}}(b).call(null,(new cljs.core.Keyword("weathergen.falcon.files.mission","airbases","weathergen.falcon.files.mission/airbases",-216602213)).cljs$core$IFn$_invoke$arity$1(a))}();if(cljs.core.empty_QMARK_.call(null,c))return null;throw cljs.core.ex_info.call(null,["The following airbases have an invalid owner: \n   ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(weathergen.util.format_list.call(null,
new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"separator","separator",-1628749125),",\n  "],null),cljs.core.map.call(null,function(a,b){return function(a){var b=null!=a&&(a.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===a.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,a):a;a=cljs.core.get.call(null,b,new cljs.core.Keyword(null,"owner","owner",-392611939));b=cljs.core.get.call(null,b,new cljs.core.Keyword("weathergen.falcon.files.mission",
"name","weathergen.falcon.files.mission/name",1235339975));return[cljs.core.str.cljs$core$IFn$_invoke$arity$1(b)," has owner ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(a)].join("")}}(b,c),c))),".\n\nValid owners are: \n   ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(weathergen.util.format_list.call(null,new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"separator","separator",-1628749125),",\n  "],null),cljs.core.map.call(null,function(a,b){return function(a){return[cljs.core.str.cljs$core$IFn$_invoke$arity$1((new cljs.core.Keyword(null,
"name","name",1843675177)).cljs$core$IFn$_invoke$arity$1(a))," (",cljs.core.str.cljs$core$IFn$_invoke$arity$1((new cljs.core.Keyword(null,"who","who",-235935040)).cljs$core$IFn$_invoke$arity$1(a)),")"].join("")}}(b,c),cljs.core.map.call(null,new cljs.core.Keyword(null,"team","team",1355747699),(new cljs.core.Keyword(null,"teams","teams",1677714510)).cljs$core$IFn$_invoke$arity$1(a))))),"."].join(""),new cljs.core.PersistentArrayMap(null,2,[new cljs.core.Keyword(null,"reason","reason",-2070751759),
new cljs.core.Keyword(null,"invalid-airbase-owner","invalid-airbase-owner",1469788624),new cljs.core.Keyword(null,"omit-stack-trace?","omit-stack-trace?",1080142229),!0],null));};
weathergen.falcon.files.mission.report_squadrons_without_airbases=function(a){var b=function(){return function e(b){return new cljs.core.LazySeq(null,function(){for(var d=b;;){var g=cljs.core.seq.call(null,d);if(g){var h=g,k=cljs.core.first.call(null,h),l=cljs.core.nth.call(null,k,0,null),m=cljs.core.nth.call(null,k,1,null);g=function(b,d,e,f,g,h){return function x(k){return new cljs.core.LazySeq(null,function(b,d,e,f,g,h){return function(){for(var b=k;;)if(b=cljs.core.seq.call(null,b)){if(cljs.core.chunked_seq_QMARK_.call(null,
b)){var d=cljs.core.chunk_first.call(null,b),e=cljs.core.count.call(null,d),f=cljs.core.chunk_buffer.call(null,e);a:for(var g=0;;)if(g<e){var h=cljs.core._nth.call(null,d,g);null==weathergen.falcon.files.mission.squadron_airbase.call(null,a,h)&&cljs.core.chunk_append.call(null,f,h);g+=1}else{d=!0;break a}return d?cljs.core.chunk_cons.call(null,cljs.core.chunk.call(null,f),x.call(null,cljs.core.chunk_rest.call(null,b))):cljs.core.chunk_cons.call(null,cljs.core.chunk.call(null,f),null)}f=cljs.core.first.call(null,
b);if(null==weathergen.falcon.files.mission.squadron_airbase.call(null,a,f))return cljs.core.cons.call(null,f,x.call(null,cljs.core.rest.call(null,b)));b=cljs.core.rest.call(null,b)}else return null}}(b,d,e,f,g,h),null,null)}}(d,k,l,m,h,g);if(m=cljs.core.seq.call(null,g.call(null,m)))return cljs.core.concat.call(null,m,e.call(null,cljs.core.rest.call(null,d)));d=cljs.core.rest.call(null,d)}else return null}},null,null)}.call(null,(new cljs.core.Keyword("weathergen.falcon.files.mission","squadrons",
"weathergen.falcon.files.mission/squadrons",47769110)).cljs$core$IFn$_invoke$arity$1(a))}();return cljs.core.empty_QMARK_.call(null,b)?null:weathergen.progress.step_warn.call(null,["The following squadrons have no associated airbase: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(weathergen.util.format_list.call(null,cljs.core.map.call(null,function(b){return function(b){var c=null!=b&&(b.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===b.cljs$core$ISeq$)?cljs.core.apply.call(null,
cljs.core.hash_map,b):b;b=cljs.core.get.call(null,c,new cljs.core.Keyword(null,"owner","owner",-392611939));c=cljs.core.get.call(null,c,new cljs.core.Keyword(null,"name","name",1843675177));return[cljs.core.str.cljs$core$IFn$_invoke$arity$1(c)," (",cljs.core.str.cljs$core$IFn$_invoke$arity$1(weathergen.falcon.files.mission.team_name.call(null,a,b)),")"].join("")}}(b),b))),". Squadrons without an associated airbase are known to cause instability (crashes) in multiplayer flight. The recommended fix is to use Mission Commander to delete and recreate the corrupt squadrons and all associated flights. Please also help the dev team find the source of this bug by reporting it on the BMS website."].join(""))};
weathergen.falcon.files.mission.fixup_mission=function(a){return weathergen.progress.with_step.call(null,"Verifying mission integrity",function(){weathergen.falcon.files.mission.report_airbases_with_invalid_owner.call(null,a);return a})};
weathergen.falcon.files.mission.postprocess_mission=function(a){var b=function(a,b,e){return cljs.core.assoc.call(null,a,b,e.call(null,a))};return weathergen.falcon.files.mission.fixup_mission.call(null,b.call(null,b.call(null,b.call(null,b.call(null,b.call(null,b.call(null,b.call(null,cljs.core.assoc.call(null,a,new cljs.core.Keyword(null,"map-image","map-image",-5560498),weathergen.falcon.files.images.make_descriptor.call(null,a,"resource/campmap","BIG_MAP_ID")),new cljs.core.Keyword("weathergen.falcon.files.mission",
"objectives","weathergen.falcon.files.mission/objectives",410009507),weathergen.falcon.files.mission.objectives),new cljs.core.Keyword("weathergen.falcon.files.mission","squadrons","weathergen.falcon.files.mission/squadrons",47769110),weathergen.falcon.files.mission.squadrons),new cljs.core.Keyword("weathergen.falcon.files.mission","airbases","weathergen.falcon.files.mission/airbases",-216602213),weathergen.falcon.files.mission.airbases),new cljs.core.Keyword("weathergen.falcon.files.mission","flights",
"weathergen.falcon.files.mission/flights",-1943609790),weathergen.falcon.files.mission.flights),new cljs.core.Keyword("weathergen.falcon.files.mission","carriers","weathergen.falcon.files.mission/carriers",1286085937),weathergen.falcon.files.mission.carriers),new cljs.core.Keyword("weathergen.falcon.files.mission","army-bases","weathergen.falcon.files.mission/army-bases",-1064227486),weathergen.falcon.files.mission.army_bases),new cljs.core.Keyword("weathergen.falcon.files.mission","weapons","weathergen.falcon.files.mission/weapons",
-176268464),weathergen.falcon.files.mission.weapons))};
weathergen.falcon.files.mission.read_ppt_data=function(a,b){a=weathergen.falcon.files.mission.campaign_dir.call(null,a,b);b=weathergen.filesystem.path_combine.call(null,a,"ppt.ini");return weathergen.progress.with_step.call(null,["Reading PPT.INI from ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(a)].join(""),function(a,b){return function(){return cljs.core.mapv.call(null,function(a,b){return function(a){var b=cljs.core.nth.call(null,a,0,null),c=cljs.core.nth.call(null,a,1,null);a=cljs.core.nth.call(null,
a,2,null);return new cljs.core.PersistentArrayMap(null,3,[new cljs.core.Keyword(null,"id","id",-1388402092),b,new cljs.core.Keyword(null,"radius-ft","radius-ft",1860060448),weathergen.util.str__GT_float.call(null,c),new cljs.core.Keyword(null,"description","description",-1428560544),a],null)}}(a,b),cljs.core.map.call(null,function(a,b){return function(a){return clojure.string.split.call(null,a,weathergen.falcon.files.mission.whitespace,3)}}(a,b),cljs.core.remove.call(null,clojure.string.blank_QMARK_,
cljs.core.map.call(null,clojure.string.trim,clojure.string.split_lines.call(null,weathergen.filesystem.file_text.call(null,b))))))}}(a,b))};
cljs.spec.alpha.def_impl.call(null,new cljs.core.Symbol("weathergen.falcon.files.mission","read-mission","weathergen.falcon.files.mission/read-mission",1157331571,null),cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha","fspec","cljs.spec.alpha/fspec",-1289128341,null),new cljs.core.Keyword(null,"args","args",1315556576),cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha","cat","cljs.spec.alpha/cat",-1471398329,null),new cljs.core.Keyword(null,"installs","installs",-915592927),new cljs.core.Symbol("weathergen.falcon.files.mission",
"Installs","weathergen.falcon.files.mission/Installs",194555236,null),new cljs.core.Keyword(null,"path","path",-188191168),new cljs.core.Symbol("weathergen.falcon.files.mission","Path","weathergen.falcon.files.mission/Path",1128596705,null)),new cljs.core.Keyword(null,"ret","ret",-468222814),new cljs.core.Symbol("weathergen.falcon.files.mission","Mission","weathergen.falcon.files.mission/Mission",224672349,null)),cljs.spec.alpha.fspec_impl.call(null,cljs.spec.alpha.spec_impl.call(null,cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha",
"cat","cljs.spec.alpha/cat",-1471398329,null),new cljs.core.Keyword(null,"installs","installs",-915592927),new cljs.core.Symbol("weathergen.falcon.files.mission","Installs","weathergen.falcon.files.mission/Installs",194555236,null),new cljs.core.Keyword(null,"path","path",-188191168),new cljs.core.Symbol("weathergen.falcon.files.mission","Path","weathergen.falcon.files.mission/Path",1128596705,null)),cljs.spec.alpha.cat_impl.call(null,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,
[new cljs.core.Keyword(null,"installs","installs",-915592927),new cljs.core.Keyword(null,"path","path",-188191168)],null),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[weathergen.falcon.files.mission.Installs,weathergen.falcon.files.mission.Path],null),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol("weathergen.falcon.files.mission","Installs","weathergen.falcon.files.mission/Installs",194555236,null),new cljs.core.Symbol("weathergen.falcon.files.mission",
"Path","weathergen.falcon.files.mission/Path",1128596705,null)],null)),null,null),cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha","cat","cljs.spec.alpha/cat",-1471398329,null),new cljs.core.Keyword(null,"installs","installs",-915592927),new cljs.core.Symbol("weathergen.falcon.files.mission","Installs","weathergen.falcon.files.mission/Installs",194555236,null),new cljs.core.Keyword(null,"path","path",-188191168),new cljs.core.Symbol("weathergen.falcon.files.mission","Path","weathergen.falcon.files.mission/Path",
1128596705,null)),cljs.spec.alpha.spec_impl.call(null,new cljs.core.Symbol("weathergen.falcon.files.mission","Mission","weathergen.falcon.files.mission/Mission",224672349,null),weathergen.falcon.files.mission.Mission,null,null),new cljs.core.Symbol("weathergen.falcon.files.mission","Mission","weathergen.falcon.files.mission/Mission",224672349,null),null,null,null));
weathergen.falcon.files.mission.read_mission=function(a,b){var c=weathergen.progress.with_step.call(null,["Loading mission file into memory from ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(b)].join(""),function(){return weathergen.filesystem.file_buf.call(null,b)}),d=weathergen.progress.with_step.call(null,"Reading mission database version",function(a){return function(){return(new cljs.core.Keyword(null,"version","version",425292698)).cljs$core$IFn$_invoke$arity$1((new cljs.core.Keyword(null,"version",
"version",425292698)).cljs$core$IFn$_invoke$arity$1(weathergen.falcon.files.mission.read_embedded_files.call(null,a,null,new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword("weathergen.falcon.files.mission","file-types","weathergen.falcon.files.mission/file-types",2089227843),new cljs.core.PersistentHashSet(null,new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"version","version",425292698),null],null),null)],null))))}}(c)),e=taoensso.timbre._log_BANG_.call(null,taoensso.timbre._STAR_config_STAR_,
new cljs.core.Keyword(null,"debug","debug",-1608172596),"weathergen.falcon.files.mission",null,3036,new cljs.core.Keyword(null,"p","p",151049309),new cljs.core.Keyword(null,"auto","auto",-566279492),new cljs.core.Delay(function(a,b){return function(){return new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,["Version is ",b],null)}}(c,d),null),null,-37868203),f=weathergen.progress.with_step.call(null,"Locating installation directory",function(a,c,d){return function(){return weathergen.falcon.files.mission.find_install_dir.call(null,
b)}}(c,d,e)),g=weathergen.progress.with_step.call(null,["Scanning Falcon installation at ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(f)].join(""),function(a,b,c,d){return function(){return weathergen.falcon.files.mission.load_installation.call(null,d)}}(c,d,e,f)),h=weathergen.progress.with_step.call(null,"Determining theater",function(a,c,d,e,f){return function(){return weathergen.falcon.files.mission.find_theater.call(null,f,b)}}(c,d,e,f,g)),k=weathergen.falcon.files.mission.campaign_dir.call(null,
g,h),l=weathergen.progress.with_step.call(null,"Reading theater strings",function(a,b,c,d,e,f,g){return function(){return weathergen.falcon.files.mission.read_strings_file.call(null,g)}}(c,d,e,f,g,h,k)),m=weathergen.progress.with_step.call(null,"Reading theater data",function(a,b,c,d,e,f,g,h){return function(){return cljs.core.assoc.call(null,weathergen.falcon.files.mission.load_initial_database.call(null,e,f,new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword("database","version","database/version",
1963983397),b],null)),new cljs.core.Keyword(null,"strings","strings",-2055406807),h)}}(c,d,e,f,g,h,k,l)),n=weathergen.progress.with_step.call(null,"Parsing mission info",function(a,b,c,d,e,f,g,h,k){return function(){return weathergen.falcon.files.mission.read_embedded_files.call(null,a,k)}}(c,d,e,f,g,h,k,l,m)),p=(new cljs.core.Keyword(null,"campaign-info","campaign-info",1158908966)).cljs$core$IFn$_invoke$arity$1(n),q=null!=p&&(p.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===
p.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,p):p,r=cljs.core.get.call(null,q,new cljs.core.Keyword(null,"theater-name","theater-name",2077458810)),u=cljs.core.get.call(null,q,new cljs.core.Keyword(null,"scenario","scenario",-316635333)),t=weathergen.progress.with_step.call(null,"Reading theater names",function(a,b,c,d,e,f,g,h,k,l,m,n,p,q){return function(){return weathergen.falcon.files.mission.read_strings.call(null,g,p)}}(c,d,e,f,g,h,k,l,m,n,p,q,r,u)),v=[cljs.core.str.cljs$core$IFn$_invoke$arity$1(u),
cljs.core.str.cljs$core$IFn$_invoke$arity$1(weathergen.falcon.files.mission.extension.call(null,b))].join(""),w=weathergen.filesystem.path_combine.call(null,weathergen.filesystem.parent.call(null,b),v),x=weathergen.progress.with_step.call(null,["Reading scenario file: ",v].join(""),function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u){return function(){var a=weathergen.filesystem.file_buf.call(null,u);return weathergen.falcon.files.mission.read_embedded_files.call(null,a,k)}}(c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,
v,w)),y=weathergen.falcon.files.mission.read_ppt_data.call(null,g,h);a=cljs.core.merge.call(null,m,n,cljs.core.PersistentHashMap.fromArrays([new cljs.core.Keyword(null,"path","path",-188191168),new cljs.core.Keyword(null,"installs","installs",-915592927),new cljs.core.Keyword(null,"mission-name","mission-name",1479736582),new cljs.core.Keyword(null,"ppt-data","ppt-data",-1749164693),new cljs.core.Keyword(null,"candidate-installs","candidate-installs",1512655313),new cljs.core.Keyword(null,"installation",
"installation",943147954),new cljs.core.Keyword(null,"objectives","objectives",933939509),new cljs.core.Keyword(null,"theater","theater",258922071),new cljs.core.Keyword(null,"names","names",-1943074658),new cljs.core.Keyword(null,"scenario-files","scenario-files",-1697993090)],[b,a,weathergen.filesystem.basename.call(null,b),y,cljs.core.into.call(null,cljs.core.PersistentArrayMap.EMPTY,cljs.core.filter.call(null,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w){return function(a){cljs.core.nth.call(null,
a,0,null);a=cljs.core.nth.call(null,a,1,null);var b=weathergen.filesystem.exists_QMARK_.call(null,a);return cljs.core.truth_(b)?(b=weathergen.filesystem.exists_QMARK_.call(null,d),cljs.core.truth_(b)?weathergen.filesystem.identical_QMARK_.call(null,a,d):b):b}}(c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w,x,y),a)),g,weathergen.falcon.files.mission.merge_objective_deltas.call(null,(new cljs.core.Keyword(null,"objectives","objectives",933939509)).cljs$core$IFn$_invoke$arity$1(x),(new cljs.core.Keyword(null,"objective-deltas",
"objective-deltas",710518611)).cljs$core$IFn$_invoke$arity$1(n)),h,t,x]));taoensso.timbre._log_BANG_.call(null,taoensso.timbre._STAR_config_STAR_,new cljs.core.Keyword(null,"debug","debug",-1608172596),"weathergen.falcon.files.mission",null,3088,new cljs.core.Keyword(null,"p","p",151049309),new cljs.core.Keyword(null,"auto","auto",-566279492),new cljs.core.Delay(function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x){return function(){return new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,
["Candidate installs",(new cljs.core.Keyword(null,"candidate-installs","candidate-installs",1512655313)).cljs$core$IFn$_invoke$arity$1(x)],null)}}(c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w,x,y,a),null),null,1336889388);return weathergen.progress.with_step.call(null,"Finalizing mission data",function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x){return function(){return weathergen.falcon.files.mission.postprocess_mission.call(null,x)}}(c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w,x,y,a))};
weathergen.falcon.files.mission.mission__GT_briefing=function(a,b,c){return cljs.core.merge.call(null,new cljs.core.PersistentArrayMap(null,4,[new cljs.core.Keyword(null,"theaterdef-name","theaterdef-name",-635231832),weathergen.falcon.files.mission.theaterdef_name.call(null,a),new cljs.core.Keyword(null,"extension","extension",1453374065),function(){var b=null==a?null:(new cljs.core.Keyword(null,"original-briefing","original-briefing",1522332068)).cljs$core$IFn$_invoke$arity$1(a);b=null==b?null:
(new cljs.core.Keyword(null,"extension","extension",1453374065)).cljs$core$IFn$_invoke$arity$1(b);return cljs.core.truth_(b)?b:weathergen.falcon.files.mission.extension.call(null,(new cljs.core.Keyword(null,"path","path",-188191168)).cljs$core$IFn$_invoke$arity$1(a))}(),new cljs.core.Keyword(null,"install-id","install-id",-1310868737),b,new cljs.core.Keyword(null,"build-info","build-info",-622713066),c],null),cljs.core.select_keys.call(null,a,cljs.core.concat.call(null,cljs.core.vals.call(null,weathergen.falcon.files.mission.file_types),
new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"mission-name","mission-name",1479736582),new cljs.core.Keyword(null,"ppt-data","ppt-data",-1749164693)],null))))};
weathergen.falcon.files.mission.briefing__GT_mission=function(a){for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;b=2<b.length?new cljs.core.IndexedSeq(b.slice(2),0,null):null;return weathergen.falcon.files.mission.briefing__GT_mission.cljs$core$IFn$_invoke$arity$variadic(arguments[0],arguments[1],b)};
weathergen.falcon.files.mission.briefing__GT_mission.cljs$core$IFn$_invoke$arity$variadic=function(a,b,c){var d=cljs.core.nth.call(null,c,0,null),e=null!=d&&(d.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===d.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,d):d,f=cljs.core.get.call(null,e,new cljs.core.Keyword("database","version","database/version",1963983397)),g=null!=b&&(b.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===b.cljs$core$ISeq$)?
cljs.core.apply.call(null,cljs.core.hash_map,b):b,h=cljs.core.get.call(null,g,new cljs.core.Keyword(null,"theaterdef-name","theaterdef-name",-635231832)),k=cljs.core.get.call(null,g,new cljs.core.Keyword(null,"install-id","install-id",-1310868737)),l="string"===typeof k?k:cljs.core.first.call(null,k),m=weathergen.progress.with_step.call(null,["Looking for installation of BMS version '",cljs.core.str.cljs$core$IFn$_invoke$arity$1(l),"'."].join(""),function(b,c,d,e,f,g,h,k,l,m){return function(){var b=
cljs.core.get.call(null,a,f);if(cljs.core.truth_(b))return b;throw cljs.core.ex_info.call(null,"Not found",new cljs.core.PersistentArrayMap(null,4,[new cljs.core.Keyword(null,"reason","reason",-2070751759),new cljs.core.Keyword("weathergen.falcon.files.mission","install-not-found","weathergen.falcon.files.mission/install-not-found",852985674),new cljs.core.Keyword(null,"omit-stack-trace?","omit-stack-trace?",1080142229),!0,new cljs.core.Keyword(null,"installs","installs",-915592927),a,new cljs.core.Keyword(null,
"install-id","install-id",-1310868737),f],null));}}(b,g,h,k,l,c,d,e,e,f)),n=weathergen.falcon.files.mission.load_installation.call(null,m),p=cljs.core.first.call(null,cljs.core.filter.call(null,function(a,b,c,d,e,f,g,h,k,l,m,n){return function(a){return cljs.core._EQ_.call(null,c,(new cljs.core.Keyword(null,"name","name",1843675177)).cljs$core$IFn$_invoke$arity$1(a))}}(b,g,h,k,l,m,n,c,d,e,e,f),(new cljs.core.Keyword(null,"theaters","theaters",-1420445930)).cljs$core$IFn$_invoke$arity$1(n)));if(!cljs.core.truth_(p))throw cljs.core.ex_info.call(null,
["Theater ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(h)," does not seem to be installed."].join(""),new cljs.core.PersistentArrayMap(null,3,[new cljs.core.Keyword(null,"reason","reason",-2070751759),new cljs.core.Keyword("weathergen.falcon.files.mission","theater-not-found","weathergen.falcon.files.mission/theater-not-found",259752510),new cljs.core.Keyword(null,"install-dir","install-dir",2018055118),m,new cljs.core.Keyword(null,"theaterdef-name","theaterdef-name",-635231832),h],null));var q=
null,r=weathergen.falcon.files.mission.read_strings_file.call(null,weathergen.falcon.files.mission.campaign_dir.call(null,n,p)),u=cljs.core.assoc.call(null,weathergen.falcon.files.mission.load_initial_database.call(null,n,p,e),new cljs.core.Keyword(null,"strings","strings",-2055406807),r),t=(new cljs.core.Keyword(null,"campaign-info","campaign-info",1158908966)).cljs$core$IFn$_invoke$arity$1(b),v=null!=t&&(t.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===t.cljs$core$ISeq$)?
cljs.core.apply.call(null,cljs.core.hash_map,t):t,w=cljs.core.get.call(null,v,new cljs.core.Keyword(null,"theater-name","theater-name",2077458810)),x=cljs.core.get.call(null,v,new cljs.core.Keyword(null,"scenario","scenario",-316635333)),y=weathergen.falcon.files.mission.read_strings.call(null,weathergen.falcon.files.mission.campaign_dir.call(null,n,p),w),z=[cljs.core.str.cljs$core$IFn$_invoke$arity$1(x),cljs.core.str.cljs$core$IFn$_invoke$arity$1((new cljs.core.Keyword(null,"extension","extension",
1453374065)).cljs$core$IFn$_invoke$arity$1(b))].join(""),B=weathergen.filesystem.path_combine.call(null,weathergen.falcon.files.mission.campaign_dir.call(null,n,p),z);c=weathergen.progress.with_step.call(null,["Reading scenario file: ",z].join(""),function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,z,x,y,B){return function(){var a=weathergen.filesystem.file_buf.call(null,v);return weathergen.falcon.files.mission.read_embedded_files.call(null,a,m)}}(b,g,h,k,l,m,n,p,q,r,u,t,v,w,x,y,z,B,c,d,e,e,f));b=cljs.core.merge.call(null,
u,b,new cljs.core.PersistentArrayMap(null,7,[new cljs.core.Keyword(null,"objectives","objectives",933939509),weathergen.falcon.files.mission.merge_objective_deltas.call(null,(new cljs.core.Keyword(null,"objectives","objectives",933939509)).cljs$core$IFn$_invoke$arity$1(c),(new cljs.core.Keyword(null,"objective-deltas","objective-deltas",710518611)).cljs$core$IFn$_invoke$arity$1(b)),new cljs.core.Keyword(null,"scenario-files","scenario-files",-1697993090),c,new cljs.core.Keyword(null,"names","names",
-1943074658),y,new cljs.core.Keyword(null,"installation","installation",943147954),n,new cljs.core.Keyword(null,"theater","theater",258922071),p,new cljs.core.Keyword(null,"ppt-data","ppt-data",-1749164693),weathergen.falcon.files.mission.read_ppt_data.call(null,n,p),new cljs.core.Keyword(null,"original-briefing","original-briefing",1522332068),b],null));return weathergen.falcon.files.mission.postprocess_mission.call(null,b)};
weathergen.falcon.files.mission.briefing__GT_mission.cljs$lang$maxFixedArity=2;weathergen.falcon.files.mission.briefing__GT_mission.cljs$lang$applyTo=function(a){var b=cljs.core.first.call(null,a),c=cljs.core.next.call(null,a);a=cljs.core.first.call(null,c);c=cljs.core.next.call(null,c);return this.cljs$core$IFn$_invoke$arity$variadic(b,a,c)};
weathergen.falcon.files.mission.team_basic_info=octet.core.spec.call(null,new cljs.core.Keyword(null,"flag","flag",1088647881),octet.core.ubyte,new cljs.core.Keyword(null,"color","color",1011675173),octet.core.ubyte,new cljs.core.Keyword(null,"name","name",1843675177),weathergen.falcon.files.fixed_string.call(null,20),new cljs.core.Keyword(null,"motto","motto",-708709752),weathergen.falcon.files.fixed_string.call(null,200));
weathergen.falcon.files.mission.squadron_info=octet.core.spec.call(null,new cljs.core.Keyword(null,"x","x",2099068185),octet.core.float$,new cljs.core.Keyword(null,"y","y",-1757859776),octet.core.float$,new cljs.core.Keyword(null,"id","id",-1388402092),weathergen.falcon.files.mission.vu_id,new cljs.core.Keyword(null,"description-index","description-index",1949024606),octet.core.int16,new cljs.core.Keyword(null,"name-id","name-id",-279275372),octet.core.int16,new cljs.core.Keyword(null,"airbase-icon",
"airbase-icon",-1322581504),octet.core.int16,new cljs.core.Keyword(null,"squadron-patch","squadron-patch",883934030),octet.core.int16,new cljs.core.Keyword(null,"specialty","specialty",-159219386),octet.core.ubyte,new cljs.core.Keyword(null,"current-strength","current-strength",-809786824),octet.core.ubyte,new cljs.core.Keyword(null,"country","country",312965309),octet.core.ubyte,new cljs.core.Keyword(null,"airbase-name","airbase-name",-1509991393),weathergen.falcon.files.fixed_string.call(null,40),
new cljs.core.Keyword(null,"padding","padding",1660304693),octet.core.byte$);
weathergen.falcon.files.mission.event_node=octet.core.spec.call(null,new cljs.core.Keyword(null,"x","x",2099068185),octet.core.int16,new cljs.core.Keyword(null,"y","y",-1757859776),octet.core.int16,new cljs.core.Keyword(null,"time","time",1385887882),weathergen.falcon.files.mission.campaign_time,new cljs.core.Keyword(null,"flags","flags",1775418075),octet.core.ubyte,new cljs.core.Keyword(null,"team","team",1355747699),octet.core.ubyte,new cljs.core.Keyword(null,"padding","padding",1660304693),octet.core.repeat.call(null,
2,octet.core.byte$),new cljs.core.Keyword(null,"event-text","event-text",-1878870726),octet.core.int32,new cljs.core.Keyword(null,"ui-event-node","ui-event-node",-1345265994),octet.core.int32,new cljs.core.Keyword(null,"event-text","event-text",-1878870726),weathergen.falcon.files.lstring.call(null,octet.core.uint16));
weathergen.falcon.files.mission.cmp_spec=octet.core.spec.call(null,new cljs.core.Keyword(null,"current-time","current-time",-1609407134),weathergen.falcon.files.mission.campaign_time,new cljs.core.Keyword(null,"te-start","te-start",-810002242),weathergen.falcon.files.mission.campaign_time,new cljs.core.Keyword(null,"te-time-limit","te-time-limit",-309642932),weathergen.falcon.files.mission.campaign_time,new cljs.core.Keyword(null,"te-victory-points","te-victory-points",132309627),octet.core.int32,
new cljs.core.Keyword(null,"te-type","te-type",-255361660),octet.core.int32,new cljs.core.Keyword(null,"te-num-teams","te-num-teams",-1586070853),octet.core.int32,new cljs.core.Keyword(null,"te-num-aircraft","te-num-aircraft",318417356),octet.core.repeat.call(null,8,octet.core.int32),new cljs.core.Keyword(null,"te-num-f16s","te-num-f16s",-1823950404),octet.core.repeat.call(null,8,octet.core.int32),new cljs.core.Keyword(null,"te-team","te-team",268867708),octet.core.int32,new cljs.core.Keyword(null,
"te-team-points","te-team-points",2095170901),octet.core.repeat.call(null,8,octet.core.int32),new cljs.core.Keyword(null,"te-flags","te-flags",354248005),octet.core.int32,new cljs.core.Keyword(null,"team-info","team-info",-1689319883),octet.core.repeat.call(null,8,weathergen.falcon.files.mission.team_basic_info),new cljs.core.Keyword(null,"last-major-event","last-major-event",659606992),octet.core.uint32,new cljs.core.Keyword(null,"last-resupply","last-resupply",1047033340),octet.core.uint32,new cljs.core.Keyword(null,
"last-repair","last-repair",1138109175),octet.core.uint32,new cljs.core.Keyword(null,"last-reinforcement","last-reinforcement",292779879),octet.core.uint32,new cljs.core.Keyword(null,"time-stamp","time-stamp",-1161230692),octet.core.int16,new cljs.core.Keyword(null,"group","group",582596132),octet.core.int16,new cljs.core.Keyword(null,"ground-ratio","ground-ratio",-2128608539),octet.core.int16,new cljs.core.Keyword(null,"air-ratio","air-ratio",1013948242),octet.core.int16,new cljs.core.Keyword(null,
"air-defense-ratio","air-defense-ratio",1236036225),octet.core.int16,new cljs.core.Keyword(null,"naval-ratio","naval-ratio",1923404214),octet.core.int16,new cljs.core.Keyword(null,"brief","brief",-1044220717),octet.core.int16,new cljs.core.Keyword(null,"theater-size-x","theater-size-x",1642493141),octet.core.int16,new cljs.core.Keyword(null,"theater-size-y","theater-size-y",-1863614166),octet.core.int16,new cljs.core.Keyword(null,"current-day","current-day",129141412),octet.core.ubyte,new cljs.core.Keyword(null,
"active-team","active-team",-709241146),octet.core.ubyte,new cljs.core.Keyword(null,"day-zero","day-zero",1149503524),octet.core.ubyte,new cljs.core.Keyword(null,"endgame-result","endgame-result",-117243832),octet.core.ubyte,new cljs.core.Keyword(null,"situation","situation",-1432089725),octet.core.ubyte,new cljs.core.Keyword(null,"enemy-air-exp","enemy-air-exp",1693726133),octet.core.ubyte,new cljs.core.Keyword(null,"enemy-ad-exp","enemy-ad-exp",1654067742),octet.core.ubyte,new cljs.core.Keyword(null,
"bullseye-name","bullseye-name",-1974521298),octet.core.ubyte,new cljs.core.Keyword(null,"bullseye-x","bullseye-x",-1698783852),octet.core.int16,new cljs.core.Keyword(null,"bullseye-y","bullseye-y",904460818),octet.core.int16,new cljs.core.Keyword(null,"theater-name","theater-name",2077458810),weathergen.falcon.files.fixed_string.call(null,40),new cljs.core.Keyword(null,"scenario","scenario",-316635333),weathergen.falcon.files.fixed_string.call(null,40),new cljs.core.Keyword(null,"save-file","save-file",
-250442926),weathergen.falcon.files.fixed_string.call(null,40),new cljs.core.Keyword(null,"ui-name","ui-name",-5784516),weathergen.falcon.files.fixed_string.call(null,40),new cljs.core.Keyword(null,"player-squadron-id","player-squadron-id",269963792),weathergen.falcon.files.mission.vu_id,new cljs.core.Keyword(null,"recent-event-entries","recent-event-entries",1549481754),weathergen.falcon.files.larray.call(null,octet.core.int16,weathergen.falcon.files.mission.event_node),new cljs.core.Keyword(null,
"priority-event-entries","priority-event-entries",1522743125),weathergen.falcon.files.larray.call(null,octet.core.int16,weathergen.falcon.files.mission.event_node),new cljs.core.Keyword(null,"map","map",1371690461),weathergen.falcon.files.larray.call(null,octet.core.int16,octet.core.ubyte),new cljs.core.Keyword(null,"last-index-num","last-index-num",508638070),octet.core.int16,new cljs.core.Keyword(null,"squadron-info","squadron-info",-818676314),weathergen.falcon.files.larray.call(null,octet.core.int16,
weathergen.falcon.files.mission.squadron_info),new cljs.core.Keyword(null,"tempo","tempo",-1555208453),octet.core.ubyte,new cljs.core.Keyword(null,"creator-ip","creator-ip",1390615344),octet.core.int32,new cljs.core.Keyword(null,"creation-time","creation-time",-1921334563),octet.core.int32,new cljs.core.Keyword(null,"creation-rand","creation-rand",-844614550),octet.core.int32);
cljs.core._add_method.call(null,weathergen.falcon.files.mission.read_embedded_file_STAR_,new cljs.core.Keyword(null,"campaign-info","campaign-info",1158908966),function(a,b,c,d){b=null!=b&&(b.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===b.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,b):b;a=cljs.core.get.call(null,b,new cljs.core.Keyword(null,"offset","offset",296498311));cljs.core.get.call(null,b,new cljs.core.Keyword(null,"length","length",588987862));b=
octet.buffer._STAR_byte_order_STAR_;d=new cljs.core.Keyword(null,"little-endian","little-endian",1877303413);octet.buffer._STAR_byte_order_STAR_=d;try{var e=octet.core.spec.call(null,new cljs.core.Keyword(null,"compressed-size","compressed-size",-1517579578),octet.core.int32,new cljs.core.Keyword(null,"uncompressed-size","uncompressed-size",-434136147),octet.core.int32),f=octet.core.read.call(null,c,e,new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"offset","offset",296498311),
a],null)),g=null!=f&&(f.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===f.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,f):f,h=cljs.core.get.call(null,g,new cljs.core.Keyword(null,"compressed-size","compressed-size",-1517579578)),k=cljs.core.get.call(null,g,new cljs.core.Keyword(null,"uncompressed-size","uncompressed-size",-434136147)),l=h-octet.core.size.call(null,octet.core.int32),m=weathergen.lzss.expand.call(null,c,a+octet.core.size.call(null,e),l,k);return cljs.core.into.call(null,
cljs.core.sorted_map.call(null),octet.core.read.call(null,m,weathergen.falcon.files.mission.cmp_spec))}finally{octet.buffer._STAR_byte_order_STAR_=b}});weathergen.falcon.files.mission.objective_link=octet.core.spec.call(null,new cljs.core.Keyword(null,"costs","costs",2093295309),octet.core.repeat.call(null,weathergen.falcon.constants.MOVEMENT_TYPES,octet.core.ubyte),new cljs.core.Keyword(null,"id","id",-1388402092),weathergen.falcon.files.mission.vu_id);
weathergen.falcon.files.mission.objective_fields=weathergen.util.concatv.call(null,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"objective-type","objective-type",1907988670),octet.core.uint16],null),weathergen.falcon.files.mission.camp_base_fields,new cljs.core.PersistentVector(null,24,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"last-repair","last-repair",1138109175),weathergen.falcon.files.mission.campaign_time,
new cljs.core.Keyword(null,"obj-flags","obj-flags",-864355993),octet.core.uint32,new cljs.core.Keyword(null,"supply","supply",-1701696309),octet.core.ubyte,new cljs.core.Keyword(null,"fuel","fuel",10405485),octet.core.ubyte,new cljs.core.Keyword(null,"losses","losses",-189206407),octet.core.ubyte,new cljs.core.Keyword(null,"f-status","f-status",782756103),weathergen.falcon.files.larray.call(null,octet.core.ubyte,octet.core.ubyte),new cljs.core.Keyword(null,"priority","priority",1431093715),octet.core.ubyte,
new cljs.core.Keyword(null,"name-id","name-id",-279275372),octet.core.int16,new cljs.core.Keyword(null,"parent","parent",-878878779),weathergen.falcon.files.mission.vu_id,new cljs.core.Keyword(null,"first-owner","first-owner",911218300),octet.core.ubyte,new cljs.core.Keyword(null,"links","links",-654507394),weathergen.falcon.files.larray.call(null,octet.core.ubyte,weathergen.falcon.files.mission.objective_link),new cljs.core.Keyword(null,"radar-data","radar-data",-2114904134),function(){if("undefined"===
typeof weathergen||"undefined"===typeof weathergen.falcon||"undefined"===typeof weathergen.falcon.files||"undefined"===typeof weathergen.falcon.files.mission||"undefined"===typeof weathergen.falcon.files.mission.t_weathergen$falcon$files$mission29643)weathergen.falcon.files.mission.t_weathergen$falcon$files$mission29643=function(a){this.meta29644=a;this.cljs$lang$protocol_mask$partition0$=393216;this.cljs$lang$protocol_mask$partition1$=0},weathergen.falcon.files.mission.t_weathergen$falcon$files$mission29643.prototype.cljs$core$IWithMeta$_with_meta$arity$2=
function(a,b){return new weathergen.falcon.files.mission.t_weathergen$falcon$files$mission29643(b)},weathergen.falcon.files.mission.t_weathergen$falcon$files$mission29643.prototype.cljs$core$IMeta$_meta$arity$1=function(a){return this.meta29644},weathergen.falcon.files.mission.t_weathergen$falcon$files$mission29643.prototype.octet$spec$ISpec$=cljs.core.PROTOCOL_SENTINEL,weathergen.falcon.files.mission.t_weathergen$falcon$files$mission29643.prototype.octet$spec$ISpec$read$arity$3=function(a,b,c){var d=
octet.core.read_STAR_.call(null,b,octet.core.byte$,new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"offset","offset",296498311),c],null));a=cljs.core.nth.call(null,d,0,null);d=cljs.core.nth.call(null,d,1,null);return cljs.core._EQ_.call(null,1,d)&&octet.buffer.get_capacity.call(null,b)<=a+c?(weathergen.progress.step_warn.call(null,"Radar data flag indicates presence of radar detection ratios, but reading them would cause a buffer overflow. This appears to be a data integrity issue in the mission files. Proceeding under the assumption that radar detection ratios are not present."),
new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[a,new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"has-radar-data","has-radar-data",-1734005648),0],null)],null)):cljs.core._EQ_.call(null,1,d)?(c=octet.core.read_STAR_.call(null,b,octet.core.repeat.call(null,weathergen.falcon.constants.NUM_RADAR_ARCS,octet.core.float$),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"offset","offset",296498311),c+a],null)),b=cljs.core.nth.call(null,
c,0,null),c=cljs.core.nth.call(null,c,1,null),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[a+b,new cljs.core.PersistentArrayMap(null,2,[new cljs.core.Keyword(null,"has-radar-data","has-radar-data",-1734005648),d,new cljs.core.Keyword(null,"detect-ratio","detect-ratio",-1552651193),c],null)],null)):new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[a,new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"has-radar-data","has-radar-data",
-1734005648),d],null)],null)},weathergen.falcon.files.mission.t_weathergen$falcon$files$mission29643.getBasis=function(){return new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"meta29644","meta29644",101822698,null)],null)},weathergen.falcon.files.mission.t_weathergen$falcon$files$mission29643.cljs$lang$type=!0,weathergen.falcon.files.mission.t_weathergen$falcon$files$mission29643.cljs$lang$ctorStr="weathergen.falcon.files.mission/t_weathergen$falcon$files$mission29643",
weathergen.falcon.files.mission.t_weathergen$falcon$files$mission29643.cljs$lang$ctorPrWriter=function(a,b,c){return cljs.core._write.call(null,b,"weathergen.falcon.files.mission/t_weathergen$falcon$files$mission29643")},weathergen.falcon.files.mission.__GT_t_weathergen$falcon$files$mission29643=function(a){return new weathergen.falcon.files.mission.t_weathergen$falcon$files$mission29643(a)};return new weathergen.falcon.files.mission.t_weathergen$falcon$files$mission29643(cljs.core.PersistentArrayMap.EMPTY)}()],
null));
cljs.core._add_method.call(null,weathergen.falcon.files.mission.read_embedded_file_STAR_,new cljs.core.Keyword(null,"objectives","objectives",933939509),function(a,b,c,d){a=null!=b&&(b.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===b.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,b):b;d=cljs.core.get.call(null,a,new cljs.core.Keyword(null,"offset","offset",296498311));var e=cljs.core.get.call(null,a,new cljs.core.Keyword(null,"length","length",588987862)),f=octet.buffer._STAR_byte_order_STAR_,
g=new cljs.core.Keyword(null,"little-endian","little-endian",1877303413);octet.buffer._STAR_byte_order_STAR_=g;try{var h=octet.core.spec.call(null,new cljs.core.Keyword(null,"num-objectives","num-objectives",-1302595446),octet.core.int16,new cljs.core.Keyword(null,"uncompressed-size","uncompressed-size",-434136147),octet.core.int32,new cljs.core.Keyword(null,"compressed-size","compressed-size",-1517579578),octet.core.int32),k=octet.core.read.call(null,c,h,new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,
"offset","offset",296498311),d],null)),l=null!=k&&(k.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===k.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,k):k,m=cljs.core.get.call(null,l,new cljs.core.Keyword(null,"num-objectives","num-objectives",-1302595446)),n=cljs.core.get.call(null,l,new cljs.core.Keyword(null,"compressed-size","compressed-size",-1517579578)),p=cljs.core.get.call(null,l,new cljs.core.Keyword(null,"uncompressed-size","uncompressed-size",-434136147)),
q=weathergen.lzss.expand.call(null,c,d+octet.core.size.call(null,h),n,p);taoensso.timbre._log_BANG_.call(null,taoensso.timbre._STAR_config_STAR_,new cljs.core.Keyword(null,"debug","debug",-1608172596),"weathergen.falcon.files.mission",null,3337,new cljs.core.Keyword(null,"p","p",151049309),new cljs.core.Keyword(null,"auto","auto",-566279492),new cljs.core.Delay(function(a,b,c,d,e,f,g,h,k,l,m,n,p,q){return function(){return new cljs.core.PersistentVector(null,7,5,cljs.core.PersistentVector.EMPTY_NODE,
["read objectives",new cljs.core.Keyword(null,"num-objectives","num-objectives",-1302595446),d,new cljs.core.Keyword(null,"compressed-size","compressed-size",-1517579578),e,new cljs.core.Keyword(null,"uncompressed-size","uncompressed-size",-434136147),f],null)}}(h,k,l,m,n,p,q,f,g,b,a,a,d,e),null),null,484718606);var r=octet.core.read.call(null,q,octet.core.repeat.call(null,m,cljs.core.apply.call(null,octet.core.spec,weathergen.falcon.files.mission.objective_fields)));taoensso.timbre._log_BANG_.call(null,
taoensso.timbre._STAR_config_STAR_,new cljs.core.Keyword(null,"debug","debug",-1608172596),"weathergen.falcon.files.mission",null,3344,new cljs.core.Keyword(null,"p","p",151049309),new cljs.core.Keyword(null,"auto","auto",-566279492),new cljs.core.Delay(function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r){return function(){return new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,["Done reading objectives"],null)}}(r,h,k,l,m,n,p,q,f,g,b,a,a,d,e),null),null,104855836);return r}finally{octet.buffer._STAR_byte_order_STAR_=
f}});
weathergen.falcon.files.mission.objective_delta=octet.core.spec.call(null,new cljs.core.Keyword(null,"id","id",-1388402092),weathergen.falcon.files.mission.vu_id,new cljs.core.Keyword(null,"last-repair","last-repair",1138109175),weathergen.falcon.files.mission.campaign_time,new cljs.core.Keyword(null,"owner","owner",-392611939),octet.core.ubyte,new cljs.core.Keyword(null,"supply","supply",-1701696309),octet.core.ubyte,new cljs.core.Keyword(null,"fuel","fuel",10405485),octet.core.ubyte,new cljs.core.Keyword(null,"losses",
"losses",-189206407),octet.core.ubyte,new cljs.core.Keyword(null,"f-status","f-status",782756103),weathergen.falcon.files.larray.call(null,octet.core.ubyte,octet.core.ubyte));
cljs.core._add_method.call(null,weathergen.falcon.files.mission.read_embedded_file_STAR_,new cljs.core.Keyword(null,"objective-deltas","objective-deltas",710518611),function(a,b,c,d){b=null!=b&&(b.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===b.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,b):b;a=cljs.core.get.call(null,b,new cljs.core.Keyword(null,"offset","offset",296498311));cljs.core.get.call(null,b,new cljs.core.Keyword(null,"length","length",588987862));
b=octet.buffer._STAR_byte_order_STAR_;d=new cljs.core.Keyword(null,"little-endian","little-endian",1877303413);octet.buffer._STAR_byte_order_STAR_=d;try{var e=octet.core.spec.call(null,new cljs.core.Keyword(null,"compressed-size","compressed-size",-1517579578),octet.core.int32,new cljs.core.Keyword(null,"num-deltas","num-deltas",543784659),octet.core.int16,new cljs.core.Keyword(null,"uncompressed-size","uncompressed-size",-434136147),octet.core.int32),f=octet.core.read.call(null,c,e,new cljs.core.PersistentArrayMap(null,
1,[new cljs.core.Keyword(null,"offset","offset",296498311),a],null)),g=null!=f&&(f.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===f.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,f):f,h=cljs.core.get.call(null,g,new cljs.core.Keyword(null,"num-deltas","num-deltas",543784659)),k=cljs.core.get.call(null,g,new cljs.core.Keyword(null,"compressed-size","compressed-size",-1517579578)),l=cljs.core.get.call(null,g,new cljs.core.Keyword(null,"uncompressed-size","uncompressed-size",
-434136147)),m=weathergen.lzss.expand.call(null,c,a+octet.core.size.call(null,e),k,l);return octet.core.read.call(null,m,octet.core.repeat.call(null,h,weathergen.falcon.files.mission.objective_delta))}finally{octet.buffer._STAR_byte_order_STAR_=b}});
cljs.core._add_method.call(null,weathergen.falcon.files.mission.read_embedded_file_STAR_,new cljs.core.Keyword(null,"victory-conditions","victory-conditions",-1943285833),function(a,b,c,d){b=null!=b&&(b.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===b.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,b):b;a=cljs.core.get.call(null,b,new cljs.core.Keyword(null,"offset","offset",296498311));b=cljs.core.get.call(null,b,new cljs.core.Keyword(null,"length","length",588987862));
return octet.core.read.call(null,c,weathergen.falcon.files.fixed_string.call(null,b),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"offset","offset",296498311),a],null))});
weathergen.falcon.files.mission.team_air_action=octet.core.spec.call(null,new cljs.core.Keyword(null,"start","start",-355208981),weathergen.falcon.files.mission.campaign_time,new cljs.core.Keyword(null,"stop","stop",-2140911342),weathergen.falcon.files.mission.campaign_time,new cljs.core.Keyword(null,"objective","objective",1301058585),weathergen.falcon.files.mission.vu_id,new cljs.core.Keyword(null,"last-objective","last-objective",-1761076877),weathergen.falcon.files.mission.vu_id,new cljs.core.Keyword(null,
"type","type",1174270348),octet.core.ubyte,new cljs.core.Keyword(null,"padding","padding",1660304693),octet.core.repeat.call(null,3,octet.core.byte$));
weathergen.falcon.files.mission.team_ground_action=octet.core.spec.call(null,new cljs.core.Keyword(null,"time","time",1385887882),weathergen.falcon.files.mission.campaign_time,new cljs.core.Keyword(null,"timeout","timeout",-318625318),weathergen.falcon.files.mission.campaign_time,new cljs.core.Keyword(null,"objective","objective",1301058585),weathergen.falcon.files.mission.vu_id,new cljs.core.Keyword(null,"type","type",1174270348),octet.core.ubyte,new cljs.core.Keyword(null,"tempo","tempo",-1555208453),
octet.core.ubyte,new cljs.core.Keyword(null,"points","points",-1486596883),octet.core.ubyte);
weathergen.falcon.files.mission.team_status=octet.core.spec.call(null,new cljs.core.Keyword(null,"air-defence-vehicles","air-defence-vehicles",933914278),octet.core.uint16,new cljs.core.Keyword(null,"aircraft","aircraft",-790597916),octet.core.uint16,new cljs.core.Keyword(null,"ground-vehicles","ground-vehicles",-103851136),octet.core.uint16,new cljs.core.Keyword(null,"ships","ships",-875113158),octet.core.uint16,new cljs.core.Keyword(null,"supply","supply",-1701696309),octet.core.uint16,new cljs.core.Keyword(null,
"fuel","fuel",10405485),octet.core.uint16,new cljs.core.Keyword(null,"airbases","airbases",-1848087775),octet.core.uint16,new cljs.core.Keyword(null,"supply-level","supply-level",8080947),octet.core.ubyte,new cljs.core.Keyword(null,"fuel-level","fuel-level",1060451052),octet.core.ubyte);
weathergen.falcon.files.mission.atm_airbase=octet.core.spec.call(null,new cljs.core.Keyword(null,"id","id",-1388402092),weathergen.falcon.files.mission.vu_id,new cljs.core.Keyword(null,"schedule","schedule",349275266),octet.core.repeat.call(null,weathergen.falcon.constants.ATM_MAX_CYCLES,octet.core.ubyte));
weathergen.falcon.files.mission.tasking_manager_fields=new cljs.core.PersistentVector(null,8,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"id","id",-1388402092),weathergen.falcon.files.mission.vu_id,new cljs.core.Keyword(null,"entity-type","entity-type",-1957300125),octet.core.uint16,new cljs.core.Keyword(null,"manager-flags","manager-flags",2031008919),octet.core.int16,new cljs.core.Keyword(null,"owner","owner",-392611939),octet.core.ubyte],null);
weathergen.falcon.files.mission.mission_request=octet.core.spec.call(null,new cljs.core.Keyword(null,"requester","requester",2032946161),weathergen.falcon.files.mission.vu_id,new cljs.core.Keyword(null,"target","target",253001721),weathergen.falcon.files.mission.vu_id,new cljs.core.Keyword(null,"secondary","secondary",-669381460),weathergen.falcon.files.mission.vu_id,new cljs.core.Keyword(null,"pak","pak",-1071422534),weathergen.falcon.files.mission.vu_id,new cljs.core.Keyword(null,"who","who",-235935040),
octet.core.ubyte,new cljs.core.Keyword(null,"vs","vs",-2022097090),octet.core.ubyte,new cljs.core.Keyword(null,"padding","padding",1660304693),octet.core.repeat.call(null,2,octet.core.byte$),new cljs.core.Keyword(null,"tot","tot",2086174646),octet.core.uint32,new cljs.core.Keyword(null,"tx","tx",466630418),octet.core.int16,new cljs.core.Keyword(null,"ty","ty",158290825),octet.core.int16,new cljs.core.Keyword(null,"flags","flags",1775418075),octet.core.uint32,new cljs.core.Keyword(null,"caps","caps",
-183763072),octet.core.int16,new cljs.core.Keyword(null,"target-num","target-num",1623497814),octet.core.int16,new cljs.core.Keyword(null,"speed","speed",1257663751),octet.core.int16,new cljs.core.Keyword(null,"match-strength","match-strength",1432664922),octet.core.int16,new cljs.core.Keyword(null,"priority","priority",1431093715),octet.core.int16,new cljs.core.Keyword(null,"tot-type","tot-type",-524162589),octet.core.ubyte,new cljs.core.Keyword(null,"action-type","action-type",-1141667361),octet.core.ubyte,
new cljs.core.Keyword(null,"mission","mission",1740288522),octet.core.ubyte,new cljs.core.Keyword(null,"aircraft","aircraft",-790597916),octet.core.ubyte,new cljs.core.Keyword(null,"context","context",-830191113),octet.core.ubyte,new cljs.core.Keyword(null,"roe-check","roe-check",-302273906),octet.core.ubyte,new cljs.core.Keyword(null,"delayed","delayed",251992229),octet.core.ubyte,new cljs.core.Keyword(null,"start-block","start-block",885980136),octet.core.ubyte,new cljs.core.Keyword(null,"final-block",
"final-block",-1801414066),octet.core.ubyte,new cljs.core.Keyword(null,"slots","slots",276818598),octet.core.repeat.call(null,4,octet.core.ubyte),new cljs.core.Keyword(null,"min-to","min-to",-486357137),octet.core.byte$,new cljs.core.Keyword(null,"max-to","max-to",801697233),octet.core.byte$,new cljs.core.Keyword(null,"padding","padding",1660304693),octet.core.repeat.call(null,3,octet.core.byte$));
weathergen.falcon.files.mission.air_tasking_manager=cljs.core.apply.call(null,octet.core.spec,cljs.core.into.call(null,weathergen.falcon.files.mission.tasking_manager_fields,new cljs.core.PersistentVector(null,14,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"flags","flags",1775418075),octet.core.int16,new cljs.core.Keyword(null,"average-ca-strength","average-ca-strength",1605217659),octet.core.int16,new cljs.core.Keyword(null,"average-ca-missions","average-ca-missions",1515247290),
octet.core.int16,new cljs.core.Keyword(null,"sample-cycles","sample-cycles",1176043458),octet.core.ubyte,new cljs.core.Keyword(null,"airbases","airbases",-1848087775),weathergen.falcon.files.larray.call(null,octet.core.ubyte,weathergen.falcon.files.mission.atm_airbase),new cljs.core.Keyword(null,"cycle","cycle",710365284),octet.core.ubyte,new cljs.core.Keyword(null,"mission-requests","mission-requests",75740277),weathergen.falcon.files.larray.call(null,octet.core.int16,weathergen.falcon.files.mission.mission_request)],
null)));weathergen.falcon.files.mission.ground_tasking_manager=cljs.core.apply.call(null,octet.core.spec,cljs.core.into.call(null,weathergen.falcon.files.mission.tasking_manager_fields,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"flags","flags",1775418075),octet.core.int16],null)));
weathergen.falcon.files.mission.naval_tasking_manager=cljs.core.apply.call(null,octet.core.spec,cljs.core.into.call(null,weathergen.falcon.files.mission.tasking_manager_fields,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"flags","flags",1775418075),octet.core.int16],null)));
weathergen.falcon.files.mission.team=octet.core.spec.call(null,new cljs.core.Keyword(null,"id","id",-1388402092),weathergen.falcon.files.mission.vu_id,new cljs.core.Keyword(null,"entity-type","entity-type",-1957300125),octet.core.uint16,new cljs.core.Keyword(null,"who","who",-235935040),octet.core.ubyte,new cljs.core.Keyword(null,"c-team","c-team",1058111407),octet.core.ubyte,new cljs.core.Keyword(null,"flags","flags",1775418075),octet.core.uint16,new cljs.core.Keyword(null,"members","members",159001018),
octet.core.repeat.call(null,8,octet.core.ubyte),new cljs.core.Keyword(null,"stance","stance",1737508388),octet.core.repeat.call(null,8,octet.core.int16),new cljs.core.Keyword(null,"first-colonel","first-colonel",1587615555),octet.core.int16,new cljs.core.Keyword(null,"first-commander","first-commander",813403189),octet.core.int16,new cljs.core.Keyword(null,"first-wingman","first-wingman",1224041428),octet.core.int16,new cljs.core.Keyword(null,"last-wingman","last-wingman",199145869),octet.core.int16,
new cljs.core.Keyword(null,"air-experience","air-experience",1765463253),octet.core.ubyte,new cljs.core.Keyword(null,"air-defense-experience","air-defense-experience",-1710546376),octet.core.ubyte,new cljs.core.Keyword(null,"ground-experience","ground-experience",107729084),octet.core.ubyte,new cljs.core.Keyword(null,"naval-experience","naval-experience",-527591070),octet.core.ubyte,new cljs.core.Keyword(null,"initiatve","initiatve",-26014217),octet.core.int16,new cljs.core.Keyword(null,"supply-available",
"supply-available",2126380660),octet.core.uint16,new cljs.core.Keyword(null,"fuel-available","fuel-available",-1529395011),octet.core.uint16,new cljs.core.Keyword(null,"replacements-available","replacements-available",-1198113611),octet.core.uint16,new cljs.core.Keyword(null,"player-rating","player-rating",-961496862),octet.core.float$,new cljs.core.Keyword(null,"last-player-mission","last-player-mission",-137478691),weathergen.falcon.files.mission.campaign_time,new cljs.core.Keyword(null,"current-stats",
"current-stats",-1217775099),weathergen.falcon.files.mission.team_status,new cljs.core.Keyword(null,"start-stats","start-stats",-1172674533),weathergen.falcon.files.mission.team_status,new cljs.core.Keyword(null,"reinforcement","reinforcement",-1971947958),octet.core.int16,new cljs.core.Keyword(null,"bonus-objs","bonus-objs",-1412153629),octet.core.repeat.call(null,20,weathergen.falcon.files.mission.vu_id),new cljs.core.Keyword(null,"bonus-time","bonus-time",-1996956468),octet.core.repeat.call(null,
20,octet.core.uint32),new cljs.core.Keyword(null,"obj-type-priority","obj-type-priority",-1521374560),octet.core.repeat.call(null,36,octet.core.ubyte),new cljs.core.Keyword(null,"unit-type-priority","unit-type-priority",-1360846399),octet.core.repeat.call(null,20,octet.core.ubyte),new cljs.core.Keyword(null,"mission-priority","mission-priority",1715506931),octet.core.repeat.call(null,41,octet.core.ubyte),new cljs.core.Keyword(null,"max-vehicle","max-vehicle",1951303391),octet.core.repeat.call(null,
4,octet.core.ubyte),new cljs.core.Keyword(null,"team-flag","team-flag",-1307034656),octet.core.ubyte,new cljs.core.Keyword(null,"team-color","team-color",206199444),octet.core.ubyte,new cljs.core.Keyword(null,"equipment","equipment",790435115),octet.core.ubyte,new cljs.core.Keyword(null,"name","name",1843675177),weathergen.falcon.files.fixed_string.call(null,20),new cljs.core.Keyword(null,"motto","motto",-708709752),weathergen.falcon.files.fixed_string.call(null,200),new cljs.core.Keyword(null,"ground-action",
"ground-action",858540012),weathergen.falcon.files.mission.team_ground_action,new cljs.core.Keyword(null,"defensive-air-action","defensive-air-action",-480842903),weathergen.falcon.files.mission.team_air_action,new cljs.core.Keyword(null,"offensive-air-action","offensive-air-action",955423612),weathergen.falcon.files.mission.team_air_action);
weathergen.falcon.files.mission.team_record=octet.core.spec.call(null,new cljs.core.Keyword(null,"team","team",1355747699),weathergen.falcon.files.mission.team,new cljs.core.Keyword(null,"air-tasking-manager","air-tasking-manager",-279900872),weathergen.falcon.files.mission.air_tasking_manager,new cljs.core.Keyword(null,"ground-tasking-manager","ground-tasking-manager",1373954444),weathergen.falcon.files.mission.ground_tasking_manager,new cljs.core.Keyword(null,"naval-tasking-manager","naval-tasking-manager",
862649185),weathergen.falcon.files.mission.naval_tasking_manager);
cljs.core._add_method.call(null,weathergen.falcon.files.mission.read_embedded_file_STAR_,new cljs.core.Keyword(null,"teams","teams",1677714510),function(a,b,c,d){b=null!=b&&(b.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===b.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,b):b;a=cljs.core.get.call(null,b,new cljs.core.Keyword(null,"offset","offset",296498311));cljs.core.get.call(null,b,new cljs.core.Keyword(null,"length","length",588987862));b=octet.buffer._STAR_byte_order_STAR_;
d=new cljs.core.Keyword(null,"little-endian","little-endian",1877303413);octet.buffer._STAR_byte_order_STAR_=d;try{return octet.core.read.call(null,c,weathergen.falcon.files.larray.call(null,octet.core.int16,weathergen.falcon.files.mission.team_record),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"offset","offset",296498311),a],null))}finally{octet.buffer._STAR_byte_order_STAR_=b}});
cljs.core._add_method.call(null,weathergen.falcon.files.mission.read_embedded_file_STAR_,new cljs.core.Keyword(null,"version","version",425292698),function(a,b,c,d){b=null!=b&&(b.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===b.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,b):b;a=cljs.core.get.call(null,b,new cljs.core.Keyword(null,"offset","offset",296498311));b=cljs.core.get.call(null,b,new cljs.core.Keyword(null,"length","length",588987862));c=octet.core.read.call(null,
c,weathergen.falcon.files.fixed_string.call(null,b),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"offset","offset",296498311),a],null));return new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"version","version",425292698),cljs.core.long$.call(null,(new Number(c)).valueOf())],null)});
weathergen.falcon.files.mission.waypoint=function(){if("undefined"===typeof weathergen||"undefined"===typeof weathergen.falcon||"undefined"===typeof weathergen.falcon.files||"undefined"===typeof weathergen.falcon.files.mission||"undefined"===typeof weathergen.falcon.files.mission.t_weathergen$falcon$files$mission29677)weathergen.falcon.files.mission.t_weathergen$falcon$files$mission29677=function(a){this.meta29678=a;this.cljs$lang$protocol_mask$partition0$=393216;this.cljs$lang$protocol_mask$partition1$=
0},weathergen.falcon.files.mission.t_weathergen$falcon$files$mission29677.prototype.cljs$core$IWithMeta$_with_meta$arity$2=function(a,b){return new weathergen.falcon.files.mission.t_weathergen$falcon$files$mission29677(b)},weathergen.falcon.files.mission.t_weathergen$falcon$files$mission29677.prototype.cljs$core$IMeta$_meta$arity$1=function(a){return this.meta29678},weathergen.falcon.files.mission.t_weathergen$falcon$files$mission29677.prototype.octet$spec$ISpec$=cljs.core.PROTOCOL_SENTINEL,weathergen.falcon.files.mission.t_weathergen$falcon$files$mission29677.prototype.octet$spec$ISpec$read$arity$3=
function(a,b,c){return weathergen.falcon.files.read__GT_.call(null,b,c,cljs.core.constantly.call(null,octet.core.spec.call(null,new cljs.core.Keyword(null,"haves","haves",-405191810),weathergen.falcon.files.bitflags.call(null,octet.core.ubyte,new cljs.core.PersistentArrayMap(null,2,[new cljs.core.Keyword(null,"deptime","deptime",1842159584),1,new cljs.core.Keyword(null,"target","target",253001721),2],null)),new cljs.core.Keyword(null,"grid-x","grid-x",1935903622),octet.core.int16,new cljs.core.Keyword(null,
"grid-y","grid-y",1140315474),octet.core.int16,new cljs.core.Keyword(null,"grid-z","grid-z",855482282),octet.core.int16,new cljs.core.Keyword(null,"arrive","arrive",-284644322),weathergen.falcon.files.mission.campaign_time,new cljs.core.Keyword(null,"action","action",-811238024),octet.core.ubyte,new cljs.core.Keyword(null,"route-action","route-action",1993857154),octet.core.ubyte,new cljs.core.Keyword(null,"formation","formation",-38517787),octet.core.ubyte,new cljs.core.Keyword(null,"flags","flags",
1775418075),octet.core.uint32)),function(a){return function(a){a=null!=a&&(a.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===a.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,a):a;a=cljs.core.get.call(null,a,new cljs.core.Keyword(null,"haves","haves",-405191810));return cljs.core.truth_(a.call(null,new cljs.core.Keyword(null,"target","target",253001721)))?octet.core.spec.call(null,new cljs.core.Keyword(null,"target-id","target-id",-1438159155),weathergen.falcon.files.mission.vu_id,
new cljs.core.Keyword(null,"target-building","target-building",-464097984),octet.core.ubyte):weathergen.falcon.files.constant.call(null,new cljs.core.PersistentArrayMap(null,2,[new cljs.core.Keyword(null,"target-id","target-id",-1438159155),new cljs.core.PersistentArrayMap(null,2,[new cljs.core.Keyword(null,"name","name",1843675177),0,new cljs.core.Keyword(null,"creator","creator",-1069241724),0],null),new cljs.core.Keyword(null,"target-building","target-building",-464097984),255],null))}}(this),
function(a){return function(a){var b=null!=a&&(a.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===a.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,a):a;a=cljs.core.get.call(null,b,new cljs.core.Keyword(null,"haves","haves",-405191810));b=cljs.core.get.call(null,b,new cljs.core.Keyword(null,"arrive","arrive",-284644322));return cljs.core.truth_(a.call(null,new cljs.core.Keyword(null,"deptime","deptime",1842159584)))?octet.core.spec.call(null,new cljs.core.Keyword(null,
"depart","depart",-100007287),weathergen.falcon.files.mission.campaign_time):weathergen.falcon.files.constant.call(null,new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"depart","depart",-100007287),b],null))}}(this))},weathergen.falcon.files.mission.t_weathergen$falcon$files$mission29677.getBasis=function(){return new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"meta29678","meta29678",-1208443138,null)],null)},weathergen.falcon.files.mission.t_weathergen$falcon$files$mission29677.cljs$lang$type=
!0,weathergen.falcon.files.mission.t_weathergen$falcon$files$mission29677.cljs$lang$ctorStr="weathergen.falcon.files.mission/t_weathergen$falcon$files$mission29677",weathergen.falcon.files.mission.t_weathergen$falcon$files$mission29677.cljs$lang$ctorPrWriter=function(a,b,c){return cljs.core._write.call(null,b,"weathergen.falcon.files.mission/t_weathergen$falcon$files$mission29677")},weathergen.falcon.files.mission.__GT_t_weathergen$falcon$files$mission29677=function(a){return new weathergen.falcon.files.mission.t_weathergen$falcon$files$mission29677(a)};
return new weathergen.falcon.files.mission.t_weathergen$falcon$files$mission29677(cljs.core.PersistentArrayMap.EMPTY)}();
weathergen.falcon.files.mission.unit_fields=cljs.core.into.call(null,weathergen.falcon.files.mission.camp_base_fields,new cljs.core.PersistentVector(null,28,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"last-check","last-check",-339535317),weathergen.falcon.files.mission.campaign_time,new cljs.core.Keyword(null,"roster","roster",-2092272532),octet.core.int32,new cljs.core.Keyword(null,"unit-flags","unit-flags",-1443684773),weathergen.falcon.files.bitflags.call(null,octet.core.int32,
cljs.core.PersistentHashMap.fromArrays([new cljs.core.Keyword(null,"inactive","inactive",-306247616),new cljs.core.Keyword(null,"targeted","targeted",1866166976),new cljs.core.Keyword(null,"scripted","scripted",841874113),new cljs.core.Keyword(null,"cargo","cargo",1523239588),new cljs.core.Keyword(null,"dead","dead",-1946604091),new cljs.core.Keyword(null,"parent","parent",-878878779),new cljs.core.Keyword(null,"no-abort","no-abort",-1391513562),new cljs.core.Keyword(null,"broken","broken",-1742446874),
new cljs.core.Keyword(null,"supported","supported",495067239),new cljs.core.Keyword(null,"engaged","engaged",-2134702904),new cljs.core.Keyword(null,"b1","b1",-1270036758),new cljs.core.Keyword(null,"diverted","diverted",-1205267702),new cljs.core.Keyword(null,"assigned","assigned",902306794),new cljs.core.Keyword(null,"commando","commando",-1208493780),new cljs.core.Keyword(null,"detached","detached",-1742825972),new cljs.core.Keyword(null,"final","final",1157881357),new cljs.core.Keyword(null,"retreating",
"retreating",939624530),new cljs.core.Keyword(null,"ordered","ordered",1187041426),new cljs.core.Keyword(null,"temp-dest","temp-dest",1981885235),new cljs.core.Keyword(null,"locked","locked",-1658763820),new cljs.core.Keyword(null,"has-ecm","has-ecm",-911757707),new cljs.core.Keyword(null,"fired","fired",847762742),new cljs.core.Keyword(null,"b3","b3",1128981270),new cljs.core.Keyword(null,"has-pilots","has-pilots",2107982743),new cljs.core.Keyword(null,"fragmented","fragmented",2137375992),new cljs.core.Keyword(null,
"moving","moving",1760797240),new cljs.core.Keyword(null,"losses","losses",-189206407),new cljs.core.Keyword(null,"no-pllaning","no-pllaning",391157466),new cljs.core.Keyword(null,"ia-kill","ia-kill",-551424899),new cljs.core.Keyword(null,"refused","refused",1763905885),new cljs.core.Keyword(null,"combat","combat",517558269)],[131072,1048576,256,8192,1,32,67108864,32768,8388608,64,128,4194304,4,512,4194304,1048576,2097152,8,16777216,16777216,4096,8388608,2,2097152,262144,1024,65536,16,33554432,2048,
16384])),new cljs.core.Keyword(null,"destination-x","destination-x",360399650),octet.core.int16,new cljs.core.Keyword(null,"destination-y","destination-y",1591470692),octet.core.int16,new cljs.core.Keyword(null,"target-id","target-id",-1438159155),weathergen.falcon.files.mission.vu_id,new cljs.core.Keyword(null,"cargo-id","cargo-id",-1256830674),weathergen.falcon.files.mission.vu_id,new cljs.core.Keyword(null,"moved","moved",486549219),octet.core.ubyte,new cljs.core.Keyword(null,"losses","losses",
-189206407),octet.core.ubyte,new cljs.core.Keyword(null,"tactic","tactic",-761722830),octet.core.ubyte,new cljs.core.Keyword(null,"current-wp","current-wp",-661271807),octet.core.uint16,new cljs.core.Keyword(null,"name-id","name-id",-279275372),octet.core.int16,new cljs.core.Keyword(null,"reinforcement","reinforcement",-1971947958),octet.core.int16,new cljs.core.Keyword(null,"waypoints","waypoints",-844253224),weathergen.falcon.files.larray.call(null,octet.core.uint16,weathergen.falcon.files.mission.waypoint)],
null));
weathergen.falcon.files.mission.pilot=octet.core.spec.call(null,new cljs.core.Keyword(null,"id","id",-1388402092),octet.core.int16,new cljs.core.Keyword(null,"skill-and-rating","skill-and-rating",749733118),octet.core.ubyte,new cljs.core.Keyword(null,"status","status",-1997798413),octet.core.ubyte,new cljs.core.Keyword(null,"aa-kills","aa-kills",-876434324),octet.core.ubyte,new cljs.core.Keyword(null,"ag-kills","ag-kills",-1864909861),octet.core.ubyte,new cljs.core.Keyword(null,"as-kills","as-kills",
-1944782407),octet.core.ubyte,new cljs.core.Keyword(null,"an-kills","an-kills",-1903966172),octet.core.ubyte,new cljs.core.Keyword(null,"missions-flown","missions-flown",-1901147427),octet.core.int16);weathergen.falcon.files.mission.loadout=octet.core.spec.call(null,new cljs.core.Keyword(null,"id","id",-1388402092),octet.core.repeat.call(null,16,octet.core.uint16),new cljs.core.Keyword(null,"count","count",2139924085),octet.core.repeat.call(null,16,octet.core.ubyte));
weathergen.falcon.files.mission.flight=cljs.core.apply.call(null,octet.core.spec,cljs.core.into.call(null,weathergen.falcon.files.mission.unit_fields,cljs.core.PersistentVector.fromArray([new cljs.core.Keyword(null,"type","type",1174270348),weathergen.falcon.files.constant.call(null,new cljs.core.Keyword(null,"flight","flight",-764860679)),new cljs.core.Keyword(null,"pos-z","pos-z",-2046554196),octet.core.float$,new cljs.core.Keyword(null,"fuel-burnt","fuel-burnt",1132148442),octet.core.int32,new cljs.core.Keyword(null,
"initial-fuel","initial-fuel",-761608263),octet.core.repeat.call(null,4,octet.core.uint32),new cljs.core.Keyword(null,"laser-codes","laser-codes",1856569714),octet.core.repeat.call(null,4,octet.core.uint16),new cljs.core.Keyword(null,"last-move","last-move",2069214404),weathergen.falcon.files.debug_spec.call(null,new cljs.core.PersistentArrayMap(null,2,[new cljs.core.Keyword(null,"level","level",1290497552),new cljs.core.Keyword(null,"off","off",606440789),new cljs.core.Keyword(null,"msg","msg",-1386103444),
"last-move"],null),weathergen.falcon.files.mission.campaign_time),new cljs.core.Keyword(null,"last-combat","last-combat",406442709),weathergen.falcon.files.mission.campaign_time,new cljs.core.Keyword(null,"time-on-target","time-on-target",-857850216),weathergen.falcon.files.mission.campaign_time,new cljs.core.Keyword(null,"mission-over-time","mission-over-time",949947865),weathergen.falcon.files.mission.campaign_time,new cljs.core.Keyword(null,"mission-target","mission-target",467808629),weathergen.falcon.files.debug_spec.call(null,
new cljs.core.PersistentArrayMap(null,2,[new cljs.core.Keyword(null,"level","level",1290497552),new cljs.core.Keyword(null,"off","off",606440789),new cljs.core.Keyword(null,"msg","msg",-1386103444),"mission-target"],null),octet.core.int16),new cljs.core.Keyword(null,"loadouts","loadouts",1824879361),weathergen.falcon.files.debug_spec.call(null,new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"level","level",1290497552),new cljs.core.Keyword(null,"off","off",606440789)],null),weathergen.falcon.files.larray.call(null,
octet.core.ubyte,weathergen.falcon.files.mission.loadout)),new cljs.core.Keyword(null,"mission","mission",1740288522),octet.core.ubyte,new cljs.core.Keyword(null,"old-mission","old-mission",-292358051),octet.core.ubyte,new cljs.core.Keyword(null,"last-direction","last-direction",-1676432794),octet.core.ubyte,new cljs.core.Keyword(null,"priority","priority",1431093715),octet.core.ubyte,new cljs.core.Keyword(null,"mission-id","mission-id",1232466132),octet.core.ubyte,new cljs.core.Keyword(null,"eval-flags",
"eval-flags",1604606092),octet.core.ubyte,new cljs.core.Keyword(null,"mission-context","mission-context",-1613541188),octet.core.ubyte,new cljs.core.Keyword(null,"package","package",1189062786),weathergen.falcon.files.mission.vu_id,new cljs.core.Keyword(null,"squadron","squadron",-1131671273),weathergen.falcon.files.mission.vu_id,new cljs.core.Keyword(null,"requester","requester",2032946161),weathergen.falcon.files.mission.vu_id,new cljs.core.Keyword(null,"slots","slots",276818598),octet.core.repeat.call(null,
4,octet.core.ubyte),new cljs.core.Keyword(null,"pilots","pilots",353525853),weathergen.falcon.files.debug_spec.call(null,new cljs.core.PersistentArrayMap(null,2,[new cljs.core.Keyword(null,"level","level",1290497552),new cljs.core.Keyword(null,"off","off",606440789),new cljs.core.Keyword(null,"msg","msg",-1386103444),"pilots"],null),octet.core.repeat.call(null,4,octet.core.ubyte)),new cljs.core.Keyword(null,"plane-stats","plane-stats",-4010361),octet.core.repeat.call(null,4,octet.core.ubyte),new cljs.core.Keyword(null,
"player-slots","player-slots",-2024567622),octet.core.repeat.call(null,4,octet.core.ubyte),new cljs.core.Keyword(null,"last-player-slot","last-player-slot",-1491370688),octet.core.ubyte,new cljs.core.Keyword(null,"callsign-id","callsign-id",501232863),octet.core.ubyte,new cljs.core.Keyword(null,"callsign-num","callsign-num",-1771041170),octet.core.ubyte,new cljs.core.Keyword(null,"refuel-quantity","refuel-quantity",-765272130),octet.core.uint32],!0)));
weathergen.falcon.files.mission.squadron=cljs.core.apply.call(null,octet.core.spec,cljs.core.into.call(null,weathergen.falcon.files.mission.unit_fields,cljs.core.PersistentVector.fromArray([new cljs.core.Keyword(null,"type","type",1174270348),weathergen.falcon.files.constant.call(null,new cljs.core.Keyword(null,"squadron","squadron",-1131671273)),new cljs.core.Keyword(null,"fuel","fuel",10405485),octet.core.int32,new cljs.core.Keyword(null,"specialty","specialty",-159219386),octet.core.ubyte,new cljs.core.Keyword(null,
"stores","stores",1203804823),octet.core.repeat.call(null,1E3,octet.core.ubyte),new cljs.core.Keyword(null,"pilots","pilots",353525853),octet.core.repeat.call(null,48,weathergen.falcon.files.mission.pilot),new cljs.core.Keyword(null,"schedule","schedule",349275266),octet.core.repeat.call(null,16,octet.core.int32),new cljs.core.Keyword(null,"airbase-id","airbase-id",-1975592308),weathergen.falcon.files.mission.vu_id,new cljs.core.Keyword(null,"hot-spot","hot-spot",-1626884754),weathergen.falcon.files.mission.vu_id,
new cljs.core.Keyword(null,"rating","rating",144173662),octet.core.repeat.call(null,16,octet.core.ubyte),new cljs.core.Keyword(null,"aa-kills","aa-kills",-876434324),octet.core.int16,new cljs.core.Keyword(null,"ag-kills","ag-kills",-1864909861),octet.core.int16,new cljs.core.Keyword(null,"as-kills","as-kills",-1944782407),octet.core.int16,new cljs.core.Keyword(null,"an-kills","an-kills",-1903966172),octet.core.int16,new cljs.core.Keyword(null,"missions-flown","missions-flown",-1901147427),octet.core.int16,
new cljs.core.Keyword(null,"mission-score","mission-score",1969337799),octet.core.int16,new cljs.core.Keyword(null,"total-losses","total-losses",-404891334),octet.core.ubyte,new cljs.core.Keyword(null,"pilot-losses","pilot-losses",-1237633377),octet.core.ubyte,new cljs.core.Keyword(null,"squadron-patch","squadron-patch",883934030),octet.core.int16],!0)));
weathergen.falcon.files.mission.package$=function(){var a=cljs.core.apply.call(null,octet.core.spec,cljs.core.into.call(null,weathergen.falcon.files.mission.unit_fields,new cljs.core.PersistentVector(null,16,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"type","type",1174270348),weathergen.falcon.files.constant.call(null,new cljs.core.Keyword(null,"package","package",1189062786)),new cljs.core.Keyword(null,"elements","elements",657646735),weathergen.falcon.files.larray.call(null,
octet.core.ubyte,weathergen.falcon.files.mission.vu_id),new cljs.core.Keyword(null,"interceptor","interceptor",1127739076),weathergen.falcon.files.mission.vu_id,new cljs.core.Keyword(null,"awacs","awacs",296317915),weathergen.falcon.files.mission.vu_id,new cljs.core.Keyword(null,"jstar","jstar",942398657),weathergen.falcon.files.mission.vu_id,new cljs.core.Keyword(null,"ecm","ecm",1070201018),weathergen.falcon.files.mission.vu_id,new cljs.core.Keyword(null,"tanker","tanker",932081370),weathergen.falcon.files.mission.vu_id,
new cljs.core.Keyword(null,"wait-cycles","wait-cycles",1056333577),octet.core.ubyte],null)));if("undefined"===typeof weathergen||"undefined"===typeof weathergen.falcon||"undefined"===typeof weathergen.falcon.files||"undefined"===typeof weathergen.falcon.files.mission||"undefined"===typeof weathergen.falcon.files.mission.t_weathergen$falcon$files$mission29686)weathergen.falcon.files.mission.t_weathergen$falcon$files$mission29686=function(a,c){this.package_common=a;this.meta29687=c;this.cljs$lang$protocol_mask$partition0$=
393216;this.cljs$lang$protocol_mask$partition1$=0},weathergen.falcon.files.mission.t_weathergen$falcon$files$mission29686.prototype.cljs$core$IWithMeta$_with_meta$arity$2=function(a){return function(a,b){return new weathergen.falcon.files.mission.t_weathergen$falcon$files$mission29686(this.package_common,b)}}(a),weathergen.falcon.files.mission.t_weathergen$falcon$files$mission29686.prototype.cljs$core$IMeta$_meta$arity$1=function(a){return function(a){return this.meta29687}}(a),weathergen.falcon.files.mission.t_weathergen$falcon$files$mission29686.prototype.octet$spec$ISpec$=
cljs.core.PROTOCOL_SENTINEL,weathergen.falcon.files.mission.t_weathergen$falcon$files$mission29686.prototype.octet$spec$ISpec$read$arity$3=function(a){return function(b,d,e){return weathergen.falcon.files.read__GT_.call(null,d,e,cljs.core.constantly.call(null,this.package_common),function(a,b){return function(a){a=null!=a&&(a.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===a.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,a):a;var b=cljs.core.get.call(null,a,new cljs.core.Keyword(null,
"unit-flags","unit-flags",-1443684773)),c=cljs.core.get.call(null,a,new cljs.core.Keyword(null,"wait-cycles","wait-cycles",1056333577));return cljs.core.truth_(function(){var a=0===c;return a?b.call(null,new cljs.core.Keyword(null,"final","final",1157881357)):a}())?octet.core.spec.call(null,new cljs.core.Keyword(null,"requests","requests",-733055638),octet.core.int16,new cljs.core.Keyword(null,"responses","responses",1257546453),octet.core.int16,new cljs.core.Keyword(null,"mission-request","mission-request",
1082141061),octet.core.spec.call(null,new cljs.core.Keyword(null,"mission","mission",1740288522),octet.core.int16,new cljs.core.Keyword(null,"context","context",-830191113),octet.core.int16,new cljs.core.Keyword(null,"requester","requester",2032946161),weathergen.falcon.files.mission.vu_id,new cljs.core.Keyword(null,"target","target",253001721),weathergen.falcon.files.mission.vu_id,new cljs.core.Keyword(null,"tot","tot",2086174646),octet.core.uint32,new cljs.core.Keyword(null,"action-type","action-type",
-1141667361),octet.core.ubyte,new cljs.core.Keyword(null,"priority","priority",1431093715),octet.core.int16,new cljs.core.Keyword(null,"package-flags","package-flags",-1703964557),weathergen.falcon.files.constant.call(null,0))):octet.core.spec.call(null,new cljs.core.Keyword(null,"flights","flights",-1637719124),octet.core.ubyte,new cljs.core.Keyword(null,"wait-for","wait-for",603509654),octet.core.int16,new cljs.core.Keyword(null,"iax","iax",-433137964),octet.core.int16,new cljs.core.Keyword(null,
"iay","iay",-521538055),octet.core.int16,new cljs.core.Keyword(null,"eax","eax",-547444364),octet.core.int16,new cljs.core.Keyword(null,"eay","eay",1273269818),octet.core.int16,new cljs.core.Keyword(null,"bpx","bpx",1117947531),octet.core.int16,new cljs.core.Keyword(null,"bpy","bpy",1257027485),octet.core.int16,new cljs.core.Keyword(null,"tpx","tpx",-159997489),octet.core.int16,new cljs.core.Keyword(null,"tpy","tpy",-1818085337),octet.core.int16,new cljs.core.Keyword(null,"takeoff","takeoff",719937767),
weathergen.falcon.files.mission.campaign_time,new cljs.core.Keyword(null,"tp-time","tp-time",1666792567),weathergen.falcon.files.mission.campaign_time,new cljs.core.Keyword(null,"package-flags","package-flags",-1703964557),octet.core.uint32,new cljs.core.Keyword(null,"caps","caps",-183763072),octet.core.int16,new cljs.core.Keyword(null,"requests","requests",-733055638),octet.core.int16,new cljs.core.Keyword(null,"responses","responses",1257546453),octet.core.int16,new cljs.core.Keyword(null,"ingress-waypoints",
"ingress-waypoints",-335959125),weathergen.falcon.files.larray.call(null,octet.core.ubyte,weathergen.falcon.files.mission.waypoint),new cljs.core.Keyword(null,"egress-waypoints","egress-waypoints",1279029151),weathergen.falcon.files.larray.call(null,octet.core.ubyte,weathergen.falcon.files.mission.waypoint),new cljs.core.Keyword(null,"mission-request","mission-request",1082141061),weathergen.falcon.files.mission.mission_request)}}(this,a))}}(a),weathergen.falcon.files.mission.t_weathergen$falcon$files$mission29686.getBasis=
function(a){return function(){return new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"package-common","package-common",119587311,null),new cljs.core.Symbol(null,"meta29687","meta29687",-2047123773,null)],null)}}(a),weathergen.falcon.files.mission.t_weathergen$falcon$files$mission29686.cljs$lang$type=!0,weathergen.falcon.files.mission.t_weathergen$falcon$files$mission29686.cljs$lang$ctorStr="weathergen.falcon.files.mission/t_weathergen$falcon$files$mission29686",
weathergen.falcon.files.mission.t_weathergen$falcon$files$mission29686.cljs$lang$ctorPrWriter=function(a){return function(a,b,e){return cljs.core._write.call(null,b,"weathergen.falcon.files.mission/t_weathergen$falcon$files$mission29686")}}(a),weathergen.falcon.files.mission.__GT_t_weathergen$falcon$files$mission29686=function(a){return function(a,b){return new weathergen.falcon.files.mission.t_weathergen$falcon$files$mission29686(a,b)}}(a);return new weathergen.falcon.files.mission.t_weathergen$falcon$files$mission29686(a,
cljs.core.PersistentArrayMap.EMPTY)}();weathergen.falcon.files.mission.ground_unit_fields=cljs.core.into.call(null,weathergen.falcon.files.mission.unit_fields,new cljs.core.PersistentVector(null,6,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"orders","orders",-1032870176),octet.core.ubyte,new cljs.core.Keyword(null,"division","division",259369926),octet.core.int16,new cljs.core.Keyword(null,"aobj","aobj",-793409761),weathergen.falcon.files.mission.vu_id],null));
weathergen.falcon.files.mission.brigade=cljs.core.apply.call(null,octet.core.spec,cljs.core.into.call(null,weathergen.falcon.files.mission.ground_unit_fields,new cljs.core.PersistentVector(null,4,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"type","type",1174270348),weathergen.falcon.files.constant.call(null,new cljs.core.Keyword(null,"brigade","brigade",1288936530)),new cljs.core.Keyword(null,"elements","elements",657646735),weathergen.falcon.files.larray.call(null,octet.core.ubyte,
weathergen.falcon.files.mission.vu_id)],null)));
weathergen.falcon.files.mission.battalion=cljs.core.apply.call(null,octet.core.spec,cljs.core.into.call(null,weathergen.falcon.files.mission.ground_unit_fields,new cljs.core.PersistentVector(null,22,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"type","type",1174270348),weathergen.falcon.files.constant.call(null,new cljs.core.Keyword(null,"battalion","battalion",1283181700)),new cljs.core.Keyword(null,"last-move","last-move",2069214404),weathergen.falcon.files.mission.campaign_time,
new cljs.core.Keyword(null,"last-combat","last-combat",406442709),weathergen.falcon.files.mission.campaign_time,new cljs.core.Keyword(null,"parent-id","parent-id",-1400729131),weathergen.falcon.files.mission.vu_id,new cljs.core.Keyword(null,"last-obj","last-obj",-2066143568),weathergen.falcon.files.mission.vu_id,new cljs.core.Keyword(null,"supply","supply",-1701696309),octet.core.ubyte,new cljs.core.Keyword(null,"fatigue","fatigue",435886183),octet.core.ubyte,new cljs.core.Keyword(null,"morale","morale",
980493731),octet.core.ubyte,new cljs.core.Keyword(null,"heading","heading",-1312171873),octet.core.ubyte,new cljs.core.Keyword(null,"final-heading","final-heading",-13156462),octet.core.ubyte,new cljs.core.Keyword(null,"position","position",-2011731912),octet.core.ubyte],null)));
weathergen.falcon.files.mission.task_force=cljs.core.apply.call(null,octet.core.spec,cljs.core.into.call(null,weathergen.falcon.files.mission.unit_fields,new cljs.core.PersistentVector(null,6,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"type","type",1174270348),weathergen.falcon.files.constant.call(null,new cljs.core.Keyword(null,"task-force","task-force",1860415305)),new cljs.core.Keyword(null,"orders","orders",-1032870176),octet.core.ubyte,new cljs.core.Keyword(null,"supply",
"supply",-1701696309),octet.core.ubyte],null)));
weathergen.falcon.files.mission.unit_record=function(a){if("undefined"===typeof weathergen||"undefined"===typeof weathergen.falcon||"undefined"===typeof weathergen.falcon.files||"undefined"===typeof weathergen.falcon.files.mission||"undefined"===typeof weathergen.falcon.files.mission.t_weathergen$falcon$files$mission29692)weathergen.falcon.files.mission.t_weathergen$falcon$files$mission29692=function(a,c){this.database=a;this.meta29693=c;this.cljs$lang$protocol_mask$partition0$=393216;this.cljs$lang$protocol_mask$partition1$=
0},weathergen.falcon.files.mission.t_weathergen$falcon$files$mission29692.prototype.cljs$core$IWithMeta$_with_meta$arity$2=function(a,c){return new weathergen.falcon.files.mission.t_weathergen$falcon$files$mission29692(this.database,c)},weathergen.falcon.files.mission.t_weathergen$falcon$files$mission29692.prototype.cljs$core$IMeta$_meta$arity$1=function(a){return this.meta29693},weathergen.falcon.files.mission.t_weathergen$falcon$files$mission29692.prototype.octet$spec$ISpec$=cljs.core.PROTOCOL_SENTINEL,
weathergen.falcon.files.mission.t_weathergen$falcon$files$mission29692.prototype.octet$spec$ISpec$read$arity$3=function(a,c,d){var b=this,f=octet.core.read.call(null,c,octet.core.int16,new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"offset","offset",296498311),d],null));if(0===f)return taoensso.timbre._log_BANG_.call(null,taoensso.timbre._STAR_config_STAR_,new cljs.core.Keyword(null,"debug","debug",-1608172596),"weathergen.falcon.files.mission",null,3810,new cljs.core.Keyword(null,
"p","p",151049309),new cljs.core.Keyword(null,"auto","auto",-566279492),new cljs.core.Delay(function(a,b){return function(){return new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,["unit-record: found zero unit-type entry.."],null)}}(f,b),null),null,-728083912),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[2,null],null);var g=weathergen.falcon.files.mission.class_info.call(null,this.database,f),h=null!=g&&(g.cljs$lang$protocol_mask$partition0$&
64||cljs.core.PROTOCOL_SENTINEL===g.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,g):g,k=cljs.core.get.call(null,h,new cljs.core.Keyword(null,"domain","domain",1847214937)),l=cljs.core.get.call(null,h,new cljs.core.Keyword(null,"type","type",1174270348)),m=function(){var a=cljs.core._EQ_,b=new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[k,l],null);if(cljs.core.truth_(a.call(null,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,
[weathergen.falcon.constants.DOMAIN_AIR,weathergen.falcon.constants.TYPE_FLIGHT],null),b)))return weathergen.falcon.files.mission.flight;if(cljs.core.truth_(a.call(null,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[weathergen.falcon.constants.DOMAIN_AIR,weathergen.falcon.constants.TYPE_PACKAGE],null),b)))return weathergen.falcon.files.mission.package$;if(cljs.core.truth_(a.call(null,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[weathergen.falcon.constants.DOMAIN_AIR,
weathergen.falcon.constants.TYPE_SQUADRON],null),b)))return weathergen.falcon.files.mission.squadron;if(cljs.core.truth_(a.call(null,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[weathergen.falcon.constants.DOMAIN_LAND,weathergen.falcon.constants.TYPE_BATTALION],null),b)))return weathergen.falcon.files.mission.battalion;if(cljs.core.truth_(a.call(null,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[weathergen.falcon.constants.DOMAIN_LAND,
weathergen.falcon.constants.TYPE_BRIGADE],null),b)))return weathergen.falcon.files.mission.brigade;if(cljs.core.truth_(a.call(null,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[weathergen.falcon.constants.DOMAIN_SEA,weathergen.falcon.constants.TYPE_TASKFORCE],null),b)))return weathergen.falcon.files.mission.task_force;throw Error(["No matching clause: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(b)].join(""));}(),n=function(){try{return octet.core.read_STAR_.call(null,
c,m,new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"offset","offset",296498311),d+2],null))}catch(q){var a=q;taoensso.timbre._log_BANG_.call(null,taoensso.timbre._STAR_config_STAR_,new cljs.core.Keyword(null,"error","error",-978969032),"weathergen.falcon.files.mission",null,3851,new cljs.core.Keyword(null,"p","p",151049309),new cljs.core.Keyword(null,"auto","auto",-566279492),new cljs.core.Delay(function(a,b,c,e,f,g,h,k){return function(){return new cljs.core.PersistentVector(null,
8,5,cljs.core.PersistentVector.EMPTY_NODE,[a,"unit-record read",new cljs.core.Keyword(null,"domain","domain",1847214937),e,new cljs.core.Keyword(null,"type","type",1174270348),f,new cljs.core.Keyword(null,"pos","pos",-864607220),d],null)}}(a,g,h,k,l,m,f,b),null),null,-2072630389);throw a;}}();a=cljs.core.nth.call(null,n,0,null);n=cljs.core.nth.call(null,n,1,null);return new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[a+2,cljs.core.assoc.call(null,n,new cljs.core.Keyword(null,
"type-id","type-id",2030062700),f)],null)},weathergen.falcon.files.mission.t_weathergen$falcon$files$mission29692.getBasis=function(){return new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"database","database",-805348194,null),new cljs.core.Symbol(null,"meta29693","meta29693",1436998975,null)],null)},weathergen.falcon.files.mission.t_weathergen$falcon$files$mission29692.cljs$lang$type=!0,weathergen.falcon.files.mission.t_weathergen$falcon$files$mission29692.cljs$lang$ctorStr=
"weathergen.falcon.files.mission/t_weathergen$falcon$files$mission29692",weathergen.falcon.files.mission.t_weathergen$falcon$files$mission29692.cljs$lang$ctorPrWriter=function(a,c,d){return cljs.core._write.call(null,c,"weathergen.falcon.files.mission/t_weathergen$falcon$files$mission29692")},weathergen.falcon.files.mission.__GT_t_weathergen$falcon$files$mission29692=function(a,c){return new weathergen.falcon.files.mission.t_weathergen$falcon$files$mission29692(a,c)};return new weathergen.falcon.files.mission.t_weathergen$falcon$files$mission29692(a,
cljs.core.PersistentArrayMap.EMPTY)};
cljs.core._add_method.call(null,weathergen.falcon.files.mission.read_embedded_file_STAR_,new cljs.core.Keyword(null,"units","units",-533089095),function(a,b,c,d){a=null!=b&&(b.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===b.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,b):b;var e=cljs.core.get.call(null,a,new cljs.core.Keyword(null,"offset","offset",296498311)),f=cljs.core.get.call(null,a,new cljs.core.Keyword(null,"length","length",588987862)),g=null!=d&&(d.cljs$lang$protocol_mask$partition0$&
64||cljs.core.PROTOCOL_SENTINEL===d.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,d):d,h=cljs.core.get.call(null,g,new cljs.core.Keyword(null,"class-table","class-table",207400992)),k=octet.buffer._STAR_byte_order_STAR_,l=new cljs.core.Keyword(null,"little-endian","little-endian",1877303413);octet.buffer._STAR_byte_order_STAR_=l;try{var m=octet.core.spec.call(null,new cljs.core.Keyword(null,"compressed-size","compressed-size",-1517579578),octet.core.int32,new cljs.core.Keyword(null,
"num-units","num-units",1389753073),octet.core.int16,new cljs.core.Keyword(null,"uncompressed-size","uncompressed-size",-434136147),octet.core.int32),n=octet.core.read.call(null,c,m,new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"offset","offset",296498311),e],null)),p=null!=n&&(n.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===n.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,n):n,q=cljs.core.get.call(null,p,new cljs.core.Keyword(null,"compressed-size",
"compressed-size",-1517579578)),r=cljs.core.get.call(null,p,new cljs.core.Keyword(null,"num-units","num-units",1389753073)),u=cljs.core.get.call(null,p,new cljs.core.Keyword(null,"uncompressed-size","uncompressed-size",-434136147)),t=weathergen.lzss.expand.call(null,c,e+octet.core.size.call(null,m),f-6,u);return cljs.core.mapv.call(null,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,H){return function(a){return cljs.core.assoc.call(null,a,new cljs.core.Keyword(null,"name","name",1843675177),weathergen.falcon.files.mission.unit_name.call(null,
u,a))}}(m,n,p,q,r,u,t,k,l,b,a,a,e,f,d,g,g,h),cljs.core.remove.call(null,cljs.core.nil_QMARK_,octet.core.read.call(null,t,octet.core.repeat.call(null,r,weathergen.falcon.files.mission.unit_record.call(null,g)))))}finally{octet.buffer._STAR_byte_order_STAR_=k}});
cljs.core._add_method.call(null,weathergen.falcon.files.mission.read_embedded_file_STAR_,new cljs.core.Keyword(null,"default","default",-1987822328),function(a,b,c,d){return new cljs.core.Keyword(null,"not-yet-implemented","not-yet-implemented",354832030)});
weathergen.falcon.files.mission.oob_air=function(a){var b=null!=a&&(a.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===a.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,a):a;a=cljs.core.get.call(null,b,new cljs.core.Keyword("weathergen.falcon.files.mission","airbases","weathergen.falcon.files.mission/airbases",-216602213));var c=cljs.core.get.call(null,b,new cljs.core.Keyword("weathergen.falcon.files.mission","carriers","weathergen.falcon.files.mission/carriers",
1286085937));b=cljs.core.get.call(null,b,new cljs.core.Keyword("weathergen.falcon.files.mission","army-bases","weathergen.falcon.files.mission/army-bases",-1064227486));return cljs.core.vec.call(null,cljs.core.concat.call(null,a,c,b))};weathergen.falcon.files.mission.order_of_battle=function(a){return new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"air","air",-104121788),weathergen.falcon.files.mission.oob_air.call(null,a)],null)};
weathergen.falcon.files.mission.mission_time=function(a){return(new cljs.core.Keyword(null,"current-time","current-time",-1609407134)).cljs$core$IFn$_invoke$arity$1((new cljs.core.Keyword(null,"campaign-info","campaign-info",1158908966)).cljs$core$IFn$_invoke$arity$1(a))};hoplon.jquery={};hoplon.jquery.set_attributes_BANG_=function(a){switch(arguments.length){case 2:return hoplon.jquery.set_attributes_BANG_.cljs$core$IFn$_invoke$arity$2(arguments[0],arguments[1]);default:for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;b=new cljs.core.IndexedSeq(b.slice(3),0,null);return hoplon.jquery.set_attributes_BANG_.cljs$core$IFn$_invoke$arity$variadic(arguments[0],arguments[1],arguments[2],b)}};
hoplon.jquery.set_attributes_BANG_.cljs$core$IFn$_invoke$arity$2=function(a,b){a=jQuery(a);b=cljs.core.seq.call(null,b);for(var c=null,d=0,e=0;;)if(e<d){var f=cljs.core._nth.call(null,c,e),g=cljs.core.nth.call(null,f,0,null);f=cljs.core.nth.call(null,f,1,null);g=cljs.core.name.call(null,g);cljs.core._EQ_.call(null,!1,f)?a.removeAttr(g):a.attr(g,cljs.core._EQ_.call(null,!0,f)?g:f);e+=1}else if(b=cljs.core.seq.call(null,b))cljs.core.chunked_seq_QMARK_.call(null,b)?(g=cljs.core.chunk_first.call(null,
b),b=cljs.core.chunk_rest.call(null,b),c=g,d=g=cljs.core.count.call(null,g)):(c=cljs.core.first.call(null,b),g=cljs.core.nth.call(null,c,0,null),f=cljs.core.nth.call(null,c,1,null),c=cljs.core.name.call(null,g),cljs.core._EQ_.call(null,!1,f)?a.removeAttr(c):a.attr(c,cljs.core._EQ_.call(null,!0,f)?c:f),b=cljs.core.next.call(null,b),c=null,d=0),e=0;else return null};
hoplon.jquery.set_attributes_BANG_.cljs$core$IFn$_invoke$arity$variadic=function(a,b,c,d){return hoplon.jquery.set_attributes_BANG_.call(null,a,cljs.core.apply.call(null,cljs.core.hash_map,b,c,d))};
hoplon.jquery.set_attributes_BANG_.cljs$lang$applyTo=function(a){var b=cljs.core.first.call(null,a),c=cljs.core.next.call(null,a);a=cljs.core.first.call(null,c);var d=cljs.core.next.call(null,c);c=cljs.core.first.call(null,d);d=cljs.core.next.call(null,d);return this.cljs$core$IFn$_invoke$arity$variadic(b,a,c,d)};hoplon.jquery.set_attributes_BANG_.cljs$lang$maxFixedArity=3;
hoplon.jquery.set_styles_BANG_=function(a){switch(arguments.length){case 2:return hoplon.jquery.set_styles_BANG_.cljs$core$IFn$_invoke$arity$2(arguments[0],arguments[1]);default:for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;b=new cljs.core.IndexedSeq(b.slice(3),0,null);return hoplon.jquery.set_styles_BANG_.cljs$core$IFn$_invoke$arity$variadic(arguments[0],arguments[1],arguments[2],b)}};
hoplon.jquery.set_styles_BANG_.cljs$core$IFn$_invoke$arity$2=function(a,b){a=jQuery(a);b=cljs.core.seq.call(null,b);for(var c=null,d=0,e=0;;)if(e<d){var f=cljs.core._nth.call(null,c,e),g=cljs.core.nth.call(null,f,0,null);f=cljs.core.nth.call(null,f,1,null);a.css(cljs.core.name.call(null,g),cljs.core.str.cljs$core$IFn$_invoke$arity$1(f));e+=1}else if(b=cljs.core.seq.call(null,b))cljs.core.chunked_seq_QMARK_.call(null,b)?(c=cljs.core.chunk_first.call(null,b),b=cljs.core.chunk_rest.call(null,b),g=c,
d=cljs.core.count.call(null,c),c=g):(c=cljs.core.first.call(null,b),g=cljs.core.nth.call(null,c,0,null),f=cljs.core.nth.call(null,c,1,null),a.css(cljs.core.name.call(null,g),cljs.core.str.cljs$core$IFn$_invoke$arity$1(f)),b=cljs.core.next.call(null,b),c=null,d=0),e=0;else return null};hoplon.jquery.set_styles_BANG_.cljs$core$IFn$_invoke$arity$variadic=function(a,b,c,d){return hoplon.jquery.set_styles_BANG_.call(null,a,cljs.core.apply.call(null,cljs.core.hash_map,b,c,d))};
hoplon.jquery.set_styles_BANG_.cljs$lang$applyTo=function(a){var b=cljs.core.first.call(null,a),c=cljs.core.next.call(null,a);a=cljs.core.first.call(null,c);var d=cljs.core.next.call(null,c);c=cljs.core.first.call(null,d);d=cljs.core.next.call(null,d);return this.cljs$core$IFn$_invoke$arity$variadic(b,a,c,d)};hoplon.jquery.set_styles_BANG_.cljs$lang$maxFixedArity=3;
hoplon.jquery.text_val_BANG_=function(a){switch(arguments.length){case 1:return hoplon.jquery.text_val_BANG_.cljs$core$IFn$_invoke$arity$1(arguments[0]);case 2:return hoplon.jquery.text_val_BANG_.cljs$core$IFn$_invoke$arity$2(arguments[0],arguments[1]);default:throw Error(["Invalid arity: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(""));}};hoplon.jquery.text_val_BANG_.cljs$core$IFn$_invoke$arity$1=function(a){return a.val()};
hoplon.jquery.text_val_BANG_.cljs$core$IFn$_invoke$arity$2=function(a,b){b=cljs.core.str.cljs$core$IFn$_invoke$arity$1(b);return cljs.core.not_EQ_.call(null,b,hoplon.jquery.text_val_BANG_.call(null,a))?a.val(b):null};hoplon.jquery.text_val_BANG_.cljs$lang$maxFixedArity=2;
hoplon.jquery.check_val_BANG_=function(a){switch(arguments.length){case 1:return hoplon.jquery.check_val_BANG_.cljs$core$IFn$_invoke$arity$1(arguments[0]);case 2:return hoplon.jquery.check_val_BANG_.cljs$core$IFn$_invoke$arity$2(arguments[0],arguments[1]);default:throw Error(["Invalid arity: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(""));}};hoplon.jquery.check_val_BANG_.cljs$core$IFn$_invoke$arity$1=function(a){return a.is(":checked")};
hoplon.jquery.check_val_BANG_.cljs$core$IFn$_invoke$arity$2=function(a,b){return a.prop("checked",cljs.core.boolean$.call(null,b))};hoplon.jquery.check_val_BANG_.cljs$lang$maxFixedArity=2;cljs.core._add_method.call(null,hoplon.core.do_BANG_,new cljs.core.Keyword("hoplon.core","default","hoplon.core/default",-778824365),function(a,b,c){return hoplon.core.do_BANG_.call(null,a,new cljs.core.Keyword(null,"attr","attr",-604132353),cljs.core.PersistentArrayMap.createAsIfByAssoc([b,c]))});
cljs.core._add_method.call(null,hoplon.core.do_BANG_,new cljs.core.Keyword("css","*","css/*",-1295355419),function(a,b,c){return hoplon.jquery.set_styles_BANG_.call(null,a,b,c)});cljs.core._add_method.call(null,hoplon.core.do_BANG_,new cljs.core.Keyword("html","*","html/*",-1283138243),function(a,b,c){return hoplon.jquery.set_attributes_BANG_.call(null,a,b,c)});
cljs.core._add_method.call(null,hoplon.core.do_BANG_,new cljs.core.Keyword("svg","*","svg/*",-1295405562),function(a,b,c){return hoplon.jquery.set_attributes_BANG_.call(null,a,b,c)});cljs.core._add_method.call(null,hoplon.core.do_BANG_,new cljs.core.Keyword("attr","*","attr/*",-1283077225),function(a,b,c){return hoplon.jquery.set_attributes_BANG_.call(null,a,c)});
cljs.core._add_method.call(null,hoplon.core.do_BANG_,new cljs.core.Keyword("prop","*","prop/*",-1283942139),function(a,b,c){return jQuery(a).prop(cljs.core.name.call(null,b),c)});cljs.core._add_method.call(null,hoplon.core.do_BANG_,new cljs.core.Keyword("data","*","data/*",-1283013312),function(a,b,c){return jQuery(a).data(cljs.core.name.call(null,b),c)});
cljs.core._add_method.call(null,hoplon.core.do_BANG_,new cljs.core.Keyword(null,"attr","attr",-604132353),function(a,b,c){return hoplon.jquery.set_attributes_BANG_.call(null,a,c)});cljs.core._add_method.call(null,hoplon.core.do_BANG_,new cljs.core.Keyword(null,"css","css",1135045163),function(a,b,c){return hoplon.jquery.set_styles_BANG_.call(null,a,c)});
cljs.core._add_method.call(null,hoplon.core.do_BANG_,new cljs.core.Keyword(null,"value","value",305978217),function(){var a=function(a,b,e){a=jQuery(a);return cljs.core.apply.call(null,cljs.core._EQ_.call(null,"checkbox",a.attr("type"))?hoplon.jquery.check_val_BANG_:hoplon.jquery.text_val_BANG_,a,e)},b=function(b,d,e){var c=null;if(2<arguments.length){c=0;for(var g=Array(arguments.length-2);c<g.length;)g[c]=arguments[c+2],++c;c=new cljs.core.IndexedSeq(g,0,null)}return a.call(this,b,d,c)};b.cljs$lang$maxFixedArity=
2;b.cljs$lang$applyTo=function(b){var c=cljs.core.first(b);b=cljs.core.next(b);var e=cljs.core.first(b);b=cljs.core.rest(b);return a(c,e,b)};b.cljs$core$IFn$_invoke$arity$variadic=a;return b}());
cljs.core._add_method.call(null,hoplon.core.do_BANG_,new cljs.core.Keyword(null,"class","class",-2030961996),function(a,b,c){a=jQuery(a);c=hoplon.core.normalize_class.call(null,c);c=cljs.core.seq.call(null,c);for(var d=null,e=0,f=0;;)if(f<e){var g=cljs.core._nth.call(null,d,f);b=cljs.core.nth.call(null,g,0,null);g=cljs.core.nth.call(null,g,1,null);a.toggleClass(cljs.core.name.call(null,b),cljs.core.boolean$.call(null,g));f+=1}else if(c=cljs.core.seq.call(null,c))cljs.core.chunked_seq_QMARK_.call(null,
c)?(d=cljs.core.chunk_first.call(null,c),c=cljs.core.chunk_rest.call(null,c),b=d,e=cljs.core.count.call(null,d),d=b):(d=cljs.core.first.call(null,c),b=cljs.core.nth.call(null,d,0,null),g=cljs.core.nth.call(null,d,1,null),a.toggleClass(cljs.core.name.call(null,b),cljs.core.boolean$.call(null,g)),c=cljs.core.next.call(null,c),d=null,e=0),f=0;else return null});
cljs.core._add_method.call(null,hoplon.core.do_BANG_,new cljs.core.Keyword(null,"toggle","toggle",1291842030),function(a,b,c){return jQuery(a).toggle(cljs.core.boolean$.call(null,c))});cljs.core._add_method.call(null,hoplon.core.do_BANG_,new cljs.core.Keyword(null,"slide-toggle","slide-toggle",968641513),function(a,b,c){return cljs.core.truth_(c)?jQuery(a).hide().slideDown("fast"):jQuery(a).slideUp("fast")});
cljs.core._add_method.call(null,hoplon.core.do_BANG_,new cljs.core.Keyword(null,"fade-toggle","fade-toggle",-1468421852),function(a,b,c){return cljs.core.truth_(c)?jQuery(a).hide().fadeIn("fast"):jQuery(a).fadeOut("fast")});cljs.core._add_method.call(null,hoplon.core.do_BANG_,new cljs.core.Keyword(null,"focus","focus",234677911),function(a,b,c){return setTimeout(function(){return cljs.core.truth_(c)?jQuery(a).focus():jQuery(a).focusout()},0)});
cljs.core._add_method.call(null,hoplon.core.do_BANG_,new cljs.core.Keyword(null,"select","select",1147833503),function(a,b,c){return jQuery(a).select()});
cljs.core._add_method.call(null,hoplon.core.do_BANG_,new cljs.core.Keyword(null,"focus-select","focus-select",1107982934),function(a,b,c){return cljs.core.truth_(c)?(hoplon.core.do_BANG_.call(null,a,new cljs.core.Keyword(null,"focus","focus",234677911),c),hoplon.core.do_BANG_.call(null,a,new cljs.core.Keyword(null,"select","select",1147833503),c)):null});cljs.core._add_method.call(null,hoplon.core.do_BANG_,new cljs.core.Keyword(null,"text","text",-1790561697),function(a,b,c){return jQuery(a).text(cljs.core.str.cljs$core$IFn$_invoke$arity$1(c))});
cljs.core._add_method.call(null,hoplon.core.do_BANG_,new cljs.core.Keyword(null,"html","html",-998796897),function(a,b,c){return jQuery(a).html(c)});
cljs.core._add_method.call(null,hoplon.core.do_BANG_,new cljs.core.Keyword(null,"scroll-to","scroll-to",-34957602),function(a,b,c){return cljs.core.truth_(c)?(b=jQuery("body,html"),a=jQuery(a),b.animate(cljs.core.clj__GT_js.call(null,new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"scrollTop","scrollTop",-1143661921),a.offset().top],null)))):null});jQuery.Event.prototype.cljs$core$IDeref$=cljs.core.PROTOCOL_SENTINEL;jQuery.Event.prototype.cljs$core$IDeref$_deref$arity$1=function(a){return jQuery(this.target).val()};
cljs.core._add_method.call(null,hoplon.core.on_BANG_,new cljs.core.Keyword("hoplon.core","default","hoplon.core/default",-778824365),function(a,b,c){return hoplon.core.when_dom.call(null,a,function(){return jQuery(a).on(cljs.core.name.call(null,b),c)})});cljs.core._add_method.call(null,hoplon.core.on_BANG_,new cljs.core.Keyword("html","*","html/*",-1283138243),function(a,b,c){return hoplon.core.when_dom.call(null,a,function(){return jQuery(a).on(cljs.core.name.call(null,b),c)})});var garden={selectors:{}};garden.selectors.ICSSSelector=function(){};garden.selectors.css_selector=function(a){if(null!=a&&null!=a.garden$selectors$ICSSSelector$css_selector$arity$1)return a.garden$selectors$ICSSSelector$css_selector$arity$1(a);var b=garden.selectors.css_selector[goog.typeOf(null==a?null:a)];if(null!=b)return b.call(null,a);b=garden.selectors.css_selector._;if(null!=b)return b.call(null,a);throw cljs.core.missing_protocol.call(null,"ICSSSelector.css-selector",a);};
garden.selectors.selector_QMARK_=function(a){return null!=a?cljs.core.PROTOCOL_SENTINEL===a.garden$selectors$ICSSSelector$?!0:a.cljs$lang$protocol_mask$partition$?!1:cljs.core.native_satisfies_QMARK_.call(null,garden.selectors.ICSSSelector,a):cljs.core.native_satisfies_QMARK_.call(null,garden.selectors.ICSSSelector,a)};goog.object.set(garden.selectors.ICSSSelector,"string",!0);goog.object.set(garden.selectors.css_selector,"string",function(a){return a});
cljs.core.Keyword.prototype.garden$selectors$ICSSSelector$=cljs.core.PROTOCOL_SENTINEL;cljs.core.Keyword.prototype.garden$selectors$ICSSSelector$css_selector$arity$1=function(a){return cljs.core.name.call(null,this)};cljs.core.Symbol.prototype.garden$selectors$ICSSSelector$=cljs.core.PROTOCOL_SENTINEL;cljs.core.Symbol.prototype.garden$selectors$ICSSSelector$css_selector$arity$1=function(a){return cljs.core.name.call(null,this)};
garden.selectors.CSSSelector=function(a,b,c,d){this.selector=a;this.__meta=b;this.__extmap=c;this.__hash=d;this.cljs$lang$protocol_mask$partition0$=2230716171;this.cljs$lang$protocol_mask$partition1$=139264};garden.selectors.CSSSelector.prototype.cljs$core$ILookup$_lookup$arity$2=function(a,b){return this.cljs$core$ILookup$_lookup$arity$3(null,b,null)};
garden.selectors.CSSSelector.prototype.cljs$core$ILookup$_lookup$arity$3=function(a,b,c){switch(b instanceof cljs.core.Keyword?b.fqn:null){case "selector":return this.selector;default:return cljs.core.get.call(null,this.__extmap,b,c)}};
garden.selectors.CSSSelector.prototype.cljs$core$IKVReduce$_kv_reduce$arity$3=function(a,b,c){return cljs.core.reduce.call(null,function(a){return function(a,c){var d=cljs.core.nth.call(null,c,0,null);c=cljs.core.nth.call(null,c,1,null);return b.call(null,a,d,c)}}(this),c,this)};
garden.selectors.CSSSelector.prototype.cljs$core$IPrintWithWriter$_pr_writer$arity$3=function(a,b,c){a=function(a){return function(a){return cljs.core.pr_sequential_writer.call(null,b,cljs.core.pr_writer,""," ","",c,a)}}(this);return cljs.core.pr_sequential_writer.call(null,b,a,"#garden.selectors.CSSSelector{",", ","}",c,cljs.core.concat.call(null,new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,
[new cljs.core.Keyword(null,"selector","selector",762528866),this.selector],null)],null),this.__extmap))};garden.selectors.CSSSelector.prototype.cljs$core$IIterable$_iterator$arity$1=function(a){return new cljs.core.RecordIter(0,this,1,new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"selector","selector",762528866)],null),cljs.core.truth_(this.__extmap)?cljs.core._iterator.call(null,this.__extmap):cljs.core.nil_iter.call(null))};
garden.selectors.CSSSelector.prototype.cljs$core$IMeta$_meta$arity$1=function(a){return this.__meta};garden.selectors.CSSSelector.prototype.cljs$core$ICloneable$_clone$arity$1=function(a){return new garden.selectors.CSSSelector(this.selector,this.__meta,this.__extmap,this.__hash)};garden.selectors.CSSSelector.prototype.cljs$core$ICounted$_count$arity$1=function(a){return 1+cljs.core.count.call(null,this.__extmap)};
garden.selectors.CSSSelector.prototype.cljs$core$IHash$_hash$arity$1=function(a){a=this.__hash;return null!=a?a:this.__hash=a=function(a,c){return function(a){return-1534393016^cljs.core.hash_unordered_coll.call(null,a)}}(a,this).call(null,this)};garden.selectors.CSSSelector.prototype.cljs$core$IEquiv$_equiv$arity$2=function(a,b){return null!=b&&this.constructor===b.constructor&&cljs.core._EQ_.call(null,this.selector,b.selector)&&cljs.core._EQ_.call(null,this.__extmap,b.__extmap)};
garden.selectors.CSSSelector.prototype.garden$selectors$ICSSSelector$=cljs.core.PROTOCOL_SENTINEL;garden.selectors.CSSSelector.prototype.garden$selectors$ICSSSelector$css_selector$arity$1=function(a){return garden.selectors.css_selector.call(null,(new cljs.core.Keyword(null,"selector","selector",762528866)).cljs$core$IFn$_invoke$arity$1(this))};
garden.selectors.CSSSelector.prototype.cljs$core$IMap$_dissoc$arity$2=function(a,b){return cljs.core.contains_QMARK_.call(null,new cljs.core.PersistentHashSet(null,new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"selector","selector",762528866),null],null),null),b)?cljs.core.dissoc.call(null,cljs.core._with_meta.call(null,cljs.core.into.call(null,cljs.core.PersistentArrayMap.EMPTY,this),this.__meta),b):new garden.selectors.CSSSelector(this.selector,this.__meta,cljs.core.not_empty.call(null,
cljs.core.dissoc.call(null,this.__extmap,b)),null)};garden.selectors.CSSSelector.prototype.cljs$core$IAssociative$_assoc$arity$3=function(a,b,c){return cljs.core.truth_(cljs.core.keyword_identical_QMARK_.call(null,new cljs.core.Keyword(null,"selector","selector",762528866),b))?new garden.selectors.CSSSelector(c,this.__meta,this.__extmap,null):new garden.selectors.CSSSelector(this.selector,this.__meta,cljs.core.assoc.call(null,this.__extmap,b,c),null)};
garden.selectors.CSSSelector.prototype.cljs$core$ISeqable$_seq$arity$1=function(a){return cljs.core.seq.call(null,cljs.core.concat.call(null,new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.MapEntry(new cljs.core.Keyword(null,"selector","selector",762528866),this.selector,null)],null),this.__extmap))};
garden.selectors.CSSSelector.prototype.cljs$core$IWithMeta$_with_meta$arity$2=function(a,b){return new garden.selectors.CSSSelector(this.selector,b,this.__extmap,this.__hash)};garden.selectors.CSSSelector.prototype.cljs$core$ICollection$_conj$arity$2=function(a,b){return cljs.core.vector_QMARK_.call(null,b)?this.cljs$core$IAssociative$_assoc$arity$3(null,cljs.core._nth.call(null,b,0),cljs.core._nth.call(null,b,1)):cljs.core.reduce.call(null,cljs.core._conj,this,b)};
garden.selectors.CSSSelector.prototype.call=function(){var a=null,b=function(a,b){return new garden.selectors.CSSSelector([cljs.core.str.cljs$core$IFn$_invoke$arity$1(this.garden$selectors$ICSSSelector$css_selector$arity$1(null)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,b))].join(""),null,null,null)},c=function(a,b,c){return new garden.selectors.CSSSelector([cljs.core.str.cljs$core$IFn$_invoke$arity$1(this.garden$selectors$ICSSSelector$css_selector$arity$1(null)),
cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,b)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,c))].join(""),null,null,null)},d=function(a,b,c,d){return new garden.selectors.CSSSelector([cljs.core.str.cljs$core$IFn$_invoke$arity$1(this.garden$selectors$ICSSSelector$css_selector$arity$1(null)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,b)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,
c)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,d))].join(""),null,null,null)},e=function(a,b,c,d,e){return new garden.selectors.CSSSelector([cljs.core.str.cljs$core$IFn$_invoke$arity$1(this.garden$selectors$ICSSSelector$css_selector$arity$1(null)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,b)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,c)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,
d)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,e))].join(""),null,null,null)},f=function(a,b,c,d,e,f){return new garden.selectors.CSSSelector([cljs.core.str.cljs$core$IFn$_invoke$arity$1(this.garden$selectors$ICSSSelector$css_selector$arity$1(null)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,b)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,c)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,
d)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,e)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,f))].join(""),null,null,null)},g=function(a,b,c,d,e,f,g){return new garden.selectors.CSSSelector([cljs.core.str.cljs$core$IFn$_invoke$arity$1(this.garden$selectors$ICSSSelector$css_selector$arity$1(null)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,b)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,
c)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,d)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,e)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,f)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,g))].join(""),null,null,null)},h=function(a,b,c,d,e,f,g,h){return new garden.selectors.CSSSelector([cljs.core.str.cljs$core$IFn$_invoke$arity$1(this.garden$selectors$ICSSSelector$css_selector$arity$1(null)),
cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,b)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,c)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,d)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,e)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,f)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,
g)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,h))].join(""),null,null,null)},k=function(a,b,c,d,e,f,g,h,k){return new garden.selectors.CSSSelector([cljs.core.str.cljs$core$IFn$_invoke$arity$1(this.garden$selectors$ICSSSelector$css_selector$arity$1(null)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,b)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,c)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,
d)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,e)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,f)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,g)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,h)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,k))].join(""),null,null,null)},l=function(a,b,c,d,e,f,g,h,k,l){return new garden.selectors.CSSSelector([cljs.core.str.cljs$core$IFn$_invoke$arity$1(this.garden$selectors$ICSSSelector$css_selector$arity$1(null)),
cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,b)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,c)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,d)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,e)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,f)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,
g)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,h)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,k)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,l))].join(""),null,null,null)},m=function(a,b,c,d,e,f,g,h,k,l,m){return new garden.selectors.CSSSelector([cljs.core.str.cljs$core$IFn$_invoke$arity$1(this.garden$selectors$ICSSSelector$css_selector$arity$1(null)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,
b)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,c)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,d)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,e)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,f)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,g)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,
h)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,k)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,l)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,m))].join(""),null,null,null)},n=function(a,b,c,d,e,f,g,h,k,l,m,n){return new garden.selectors.CSSSelector([cljs.core.str.cljs$core$IFn$_invoke$arity$1(this.garden$selectors$ICSSSelector$css_selector$arity$1(null)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,
b)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,c)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,d)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,e)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,f)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,g)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,
h)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,k)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,l)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,m)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,n))].join(""),null,null,null)},p=function(a,b,c,d,e,f,g,h,k,l,m,n,p){return new garden.selectors.CSSSelector([cljs.core.str.cljs$core$IFn$_invoke$arity$1(this.garden$selectors$ICSSSelector$css_selector$arity$1(null)),
cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,b)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,c)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,d)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,e)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,f)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,
g)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,h)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,k)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,l)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,m)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,n)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,
p))].join(""),null,null,null)},q=function(a,b,c,d,e,f,g,h,k,l,m,n,p,q){return new garden.selectors.CSSSelector([cljs.core.str.cljs$core$IFn$_invoke$arity$1(this.garden$selectors$ICSSSelector$css_selector$arity$1(null)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,b)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,c)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,d)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,
e)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,f)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,g)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,h)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,k)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,l)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,
m)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,n)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,p)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,q))].join(""),null,null,null)},r=function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r){return new garden.selectors.CSSSelector([cljs.core.str.cljs$core$IFn$_invoke$arity$1(this.garden$selectors$ICSSSelector$css_selector$arity$1(null)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,
b)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,c)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,d)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,e)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,f)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,g)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,
h)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,k)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,l)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,m)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,n)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,p)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,
q)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,r))].join(""),null,null,null)},u=function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t){return new garden.selectors.CSSSelector([cljs.core.str.cljs$core$IFn$_invoke$arity$1(this.garden$selectors$ICSSSelector$css_selector$arity$1(null)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,b)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,c)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,
d)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,e)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,f)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,g)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,h)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,k)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,
l)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,m)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,n)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,p)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,q)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,r)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,
t))].join(""),null,null,null)},t=function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u){return new garden.selectors.CSSSelector([cljs.core.str.cljs$core$IFn$_invoke$arity$1(this.garden$selectors$ICSSSelector$css_selector$arity$1(null)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,b)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,c)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,d)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,
e)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,f)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,g)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,h)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,k)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,l)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,
m)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,n)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,p)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,q)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,r)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,t)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,
u))].join(""),null,null,null)},v=function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v){return new garden.selectors.CSSSelector([cljs.core.str.cljs$core$IFn$_invoke$arity$1(this.garden$selectors$ICSSSelector$css_selector$arity$1(null)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,b)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,c)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,d)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,
e)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,f)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,g)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,h)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,k)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,l)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,
m)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,n)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,p)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,q)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,r)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,t)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,
u)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,v))].join(""),null,null,null)},w=function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w){return new garden.selectors.CSSSelector([cljs.core.str.cljs$core$IFn$_invoke$arity$1(this.garden$selectors$ICSSSelector$css_selector$arity$1(null)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,b)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,c)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,
d)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,e)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,f)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,g)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,h)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,k)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,
l)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,m)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,n)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,p)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,q)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,r)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,
t)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,u)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,v)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,w))].join(""),null,null,null)},x=function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x){return new garden.selectors.CSSSelector([cljs.core.str.cljs$core$IFn$_invoke$arity$1(this.garden$selectors$ICSSSelector$css_selector$arity$1(null)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,
b)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,c)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,d)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,e)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,f)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,g)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,
h)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,k)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,l)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,m)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,n)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,p)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,
q)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,r)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,t)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,u)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,v)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,w)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,
x))].join(""),null,null,null)},y=function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,y){return new garden.selectors.CSSSelector([cljs.core.str.cljs$core$IFn$_invoke$arity$1(this.garden$selectors$ICSSSelector$css_selector$arity$1(null)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,b)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,c)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,d)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,
e)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,f)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,g)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,h)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,k)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,l)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,
m)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,n)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,p)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,q)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,r)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,t)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,
u)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,v)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,w)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,x)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,y))].join(""),null,null,null)};a=function(a,B,C,A,D,F,E,G,J,M,L,K,I,H,O,P,N,Q,R,S,T){switch(arguments.length){case 1:return this;case 2:return b.call(this,
a,B);case 3:return c.call(this,a,B,C);case 4:return d.call(this,a,B,C,A);case 5:return e.call(this,a,B,C,A,D);case 6:return f.call(this,a,B,C,A,D,F);case 7:return g.call(this,a,B,C,A,D,F,E);case 8:return h.call(this,a,B,C,A,D,F,E,G);case 9:return k.call(this,a,B,C,A,D,F,E,G,J);case 10:return l.call(this,a,B,C,A,D,F,E,G,J,M);case 11:return m.call(this,a,B,C,A,D,F,E,G,J,M,L);case 12:return n.call(this,a,B,C,A,D,F,E,G,J,M,L,K);case 13:return p.call(this,a,B,C,A,D,F,E,G,J,M,L,K,I);case 14:return q.call(this,
a,B,C,A,D,F,E,G,J,M,L,K,I,H);case 15:return r.call(this,a,B,C,A,D,F,E,G,J,M,L,K,I,H,O);case 16:return u.call(this,a,B,C,A,D,F,E,G,J,M,L,K,I,H,O,P);case 17:return t.call(this,a,B,C,A,D,F,E,G,J,M,L,K,I,H,O,P,N);case 18:return v.call(this,a,B,C,A,D,F,E,G,J,M,L,K,I,H,O,P,N,Q);case 19:return w.call(this,a,B,C,A,D,F,E,G,J,M,L,K,I,H,O,P,N,Q,R);case 20:return x.call(this,a,B,C,A,D,F,E,G,J,M,L,K,I,H,O,P,N,Q,R,S);case 21:return y.call(this,a,B,C,A,D,F,E,G,J,M,L,K,I,H,O,P,N,Q,R,S,T)}throw Error("Invalid arity: "+
(arguments.length-1));};a.cljs$core$IFn$_invoke$arity$1=function(a){return this};a.cljs$core$IFn$_invoke$arity$2=b;a.cljs$core$IFn$_invoke$arity$3=c;a.cljs$core$IFn$_invoke$arity$4=d;a.cljs$core$IFn$_invoke$arity$5=e;a.cljs$core$IFn$_invoke$arity$6=f;a.cljs$core$IFn$_invoke$arity$7=g;a.cljs$core$IFn$_invoke$arity$8=h;a.cljs$core$IFn$_invoke$arity$9=k;a.cljs$core$IFn$_invoke$arity$10=l;a.cljs$core$IFn$_invoke$arity$11=m;a.cljs$core$IFn$_invoke$arity$12=n;a.cljs$core$IFn$_invoke$arity$13=p;a.cljs$core$IFn$_invoke$arity$14=
q;a.cljs$core$IFn$_invoke$arity$15=r;a.cljs$core$IFn$_invoke$arity$16=u;a.cljs$core$IFn$_invoke$arity$17=t;a.cljs$core$IFn$_invoke$arity$18=v;a.cljs$core$IFn$_invoke$arity$19=w;a.cljs$core$IFn$_invoke$arity$20=x;a.cljs$core$IFn$_invoke$arity$21=y;return a}();garden.selectors.CSSSelector.prototype.apply=function(a,b){return this.call.apply(this,[this].concat(cljs.core.aclone.call(null,b)))};garden.selectors.CSSSelector.prototype.cljs$core$IFn$_invoke$arity$0=function(){return this};
garden.selectors.CSSSelector.prototype.cljs$core$IFn$_invoke$arity$1=function(a){return new garden.selectors.CSSSelector([cljs.core.str.cljs$core$IFn$_invoke$arity$1(this.garden$selectors$ICSSSelector$css_selector$arity$1(null)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,a))].join(""),null,null,null)};
garden.selectors.CSSSelector.prototype.cljs$core$IFn$_invoke$arity$2=function(a,b){return new garden.selectors.CSSSelector([cljs.core.str.cljs$core$IFn$_invoke$arity$1(this.garden$selectors$ICSSSelector$css_selector$arity$1(null)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,a)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,b))].join(""),null,null,null)};
garden.selectors.CSSSelector.prototype.cljs$core$IFn$_invoke$arity$3=function(a,b,c){return new garden.selectors.CSSSelector([cljs.core.str.cljs$core$IFn$_invoke$arity$1(this.garden$selectors$ICSSSelector$css_selector$arity$1(null)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,a)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,b)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,c))].join(""),
null,null,null)};
garden.selectors.CSSSelector.prototype.cljs$core$IFn$_invoke$arity$4=function(a,b,c,d){return new garden.selectors.CSSSelector([cljs.core.str.cljs$core$IFn$_invoke$arity$1(this.garden$selectors$ICSSSelector$css_selector$arity$1(null)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,a)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,b)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,c)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,
d))].join(""),null,null,null)};
garden.selectors.CSSSelector.prototype.cljs$core$IFn$_invoke$arity$5=function(a,b,c,d,e){return new garden.selectors.CSSSelector([cljs.core.str.cljs$core$IFn$_invoke$arity$1(this.garden$selectors$ICSSSelector$css_selector$arity$1(null)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,a)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,b)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,c)),
cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,d)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,e))].join(""),null,null,null)};
garden.selectors.CSSSelector.prototype.cljs$core$IFn$_invoke$arity$6=function(a,b,c,d,e,f){return new garden.selectors.CSSSelector([cljs.core.str.cljs$core$IFn$_invoke$arity$1(this.garden$selectors$ICSSSelector$css_selector$arity$1(null)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,a)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,b)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,c)),
cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,d)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,e)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,f))].join(""),null,null,null)};
garden.selectors.CSSSelector.prototype.cljs$core$IFn$_invoke$arity$7=function(a,b,c,d,e,f,g){return new garden.selectors.CSSSelector([cljs.core.str.cljs$core$IFn$_invoke$arity$1(this.garden$selectors$ICSSSelector$css_selector$arity$1(null)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,a)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,b)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,
c)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,d)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,e)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,f)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,g))].join(""),null,null,null)};
garden.selectors.CSSSelector.prototype.cljs$core$IFn$_invoke$arity$8=function(a,b,c,d,e,f,g,h){return new garden.selectors.CSSSelector([cljs.core.str.cljs$core$IFn$_invoke$arity$1(this.garden$selectors$ICSSSelector$css_selector$arity$1(null)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,a)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,b)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,
c)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,d)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,e)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,f)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,g)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,h))].join(""),null,null,null)};
garden.selectors.CSSSelector.prototype.cljs$core$IFn$_invoke$arity$9=function(a,b,c,d,e,f,g,h,k){return new garden.selectors.CSSSelector([cljs.core.str.cljs$core$IFn$_invoke$arity$1(this.garden$selectors$ICSSSelector$css_selector$arity$1(null)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,a)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,b)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,
c)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,d)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,e)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,f)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,g)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,h)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,
k))].join(""),null,null,null)};
garden.selectors.CSSSelector.prototype.cljs$core$IFn$_invoke$arity$10=function(a,b,c,d,e,f,g,h,k,l){return new garden.selectors.CSSSelector([cljs.core.str.cljs$core$IFn$_invoke$arity$1(this.garden$selectors$ICSSSelector$css_selector$arity$1(null)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,a)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,b)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,c)),
cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,d)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,e)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,f)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,g)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,h)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,
k)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,l))].join(""),null,null,null)};
garden.selectors.CSSSelector.prototype.cljs$core$IFn$_invoke$arity$11=function(a,b,c,d,e,f,g,h,k,l,m){return new garden.selectors.CSSSelector([cljs.core.str.cljs$core$IFn$_invoke$arity$1(this.garden$selectors$ICSSSelector$css_selector$arity$1(null)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,a)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,b)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,
c)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,d)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,e)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,f)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,g)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,h)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,
k)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,l)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,m))].join(""),null,null,null)};
garden.selectors.CSSSelector.prototype.cljs$core$IFn$_invoke$arity$12=function(a,b,c,d,e,f,g,h,k,l,m,n){return new garden.selectors.CSSSelector([cljs.core.str.cljs$core$IFn$_invoke$arity$1(this.garden$selectors$ICSSSelector$css_selector$arity$1(null)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,a)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,b)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,
c)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,d)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,e)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,f)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,g)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,h)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,
k)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,l)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,m)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,n))].join(""),null,null,null)};
garden.selectors.CSSSelector.prototype.cljs$core$IFn$_invoke$arity$13=function(a,b,c,d,e,f,g,h,k,l,m,n,p){return new garden.selectors.CSSSelector([cljs.core.str.cljs$core$IFn$_invoke$arity$1(this.garden$selectors$ICSSSelector$css_selector$arity$1(null)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,a)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,b)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,
c)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,d)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,e)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,f)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,g)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,h)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,
k)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,l)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,m)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,n)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,p))].join(""),null,null,null)};
garden.selectors.CSSSelector.prototype.cljs$core$IFn$_invoke$arity$14=function(a,b,c,d,e,f,g,h,k,l,m,n,p,q){return new garden.selectors.CSSSelector([cljs.core.str.cljs$core$IFn$_invoke$arity$1(this.garden$selectors$ICSSSelector$css_selector$arity$1(null)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,a)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,b)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,
c)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,d)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,e)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,f)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,g)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,h)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,
k)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,l)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,m)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,n)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,p)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,q))].join(""),null,null,null)};
garden.selectors.CSSSelector.prototype.cljs$core$IFn$_invoke$arity$15=function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r){return new garden.selectors.CSSSelector([cljs.core.str.cljs$core$IFn$_invoke$arity$1(this.garden$selectors$ICSSSelector$css_selector$arity$1(null)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,a)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,b)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,
c)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,d)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,e)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,f)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,g)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,h)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,
k)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,l)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,m)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,n)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,p)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,q)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,
r))].join(""),null,null,null)};
garden.selectors.CSSSelector.prototype.cljs$core$IFn$_invoke$arity$16=function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u){return new garden.selectors.CSSSelector([cljs.core.str.cljs$core$IFn$_invoke$arity$1(this.garden$selectors$ICSSSelector$css_selector$arity$1(null)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,a)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,b)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,c)),
cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,d)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,e)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,f)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,g)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,h)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,
k)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,l)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,m)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,n)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,p)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,q)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,
r)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,u))].join(""),null,null,null)};
garden.selectors.CSSSelector.prototype.cljs$core$IFn$_invoke$arity$17=function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t){return new garden.selectors.CSSSelector([cljs.core.str.cljs$core$IFn$_invoke$arity$1(this.garden$selectors$ICSSSelector$css_selector$arity$1(null)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,a)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,b)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,
c)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,d)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,e)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,f)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,g)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,h)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,
k)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,l)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,m)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,n)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,p)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,q)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,
r)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,u)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,t))].join(""),null,null,null)};
garden.selectors.CSSSelector.prototype.cljs$core$IFn$_invoke$arity$18=function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v){return new garden.selectors.CSSSelector([cljs.core.str.cljs$core$IFn$_invoke$arity$1(this.garden$selectors$ICSSSelector$css_selector$arity$1(null)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,a)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,b)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,
c)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,d)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,e)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,f)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,g)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,h)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,
k)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,l)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,m)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,n)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,p)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,q)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,
r)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,u)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,t)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,v))].join(""),null,null,null)};
garden.selectors.CSSSelector.prototype.cljs$core$IFn$_invoke$arity$19=function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w){return new garden.selectors.CSSSelector([cljs.core.str.cljs$core$IFn$_invoke$arity$1(this.garden$selectors$ICSSSelector$css_selector$arity$1(null)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,a)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,b)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,
c)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,d)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,e)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,f)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,g)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,h)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,
k)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,l)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,m)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,n)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,p)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,q)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,
r)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,u)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,t)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,v)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,w))].join(""),null,null,null)};
garden.selectors.CSSSelector.prototype.cljs$core$IFn$_invoke$arity$20=function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w,x){return new garden.selectors.CSSSelector([cljs.core.str.cljs$core$IFn$_invoke$arity$1(this.garden$selectors$ICSSSelector$css_selector$arity$1(null)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,a)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,b)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,
c)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,d)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,e)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,f)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,g)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,h)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,
k)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,l)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,m)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,n)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,p)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,q)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,
r)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,u)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,t)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,v)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,w)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,x))].join(""),null,null,null)};
garden.selectors.CSSSelector.getBasis=function(){return new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"selector","selector",-1891906903,null)],null)};garden.selectors.CSSSelector.cljs$lang$type=!0;garden.selectors.CSSSelector.cljs$lang$ctorPrSeq=function(a){return new cljs.core.List(null,"garden.selectors/CSSSelector",null,1,null)};garden.selectors.CSSSelector.cljs$lang$ctorPrWriter=function(a,b){return cljs.core._write.call(null,b,"garden.selectors/CSSSelector")};
garden.selectors.__GT_CSSSelector=function(a){return new garden.selectors.CSSSelector(a,null,null,null)};
garden.selectors.map__GT_CSSSelector=function(a){var b=cljs.core.dissoc.call(null,a,new cljs.core.Keyword(null,"selector","selector",762528866));b=cljs.core.record_QMARK_.call(null,a)?cljs.core.into.call(null,cljs.core.PersistentArrayMap.EMPTY,b):b;return new garden.selectors.CSSSelector((new cljs.core.Keyword(null,"selector","selector",762528866)).cljs$core$IFn$_invoke$arity$1(a),null,cljs.core.not_empty.call(null,b),null)};
garden.selectors.selector=function(a){return new garden.selectors.CSSSelector(a,null,null,null)};
garden.selectors.html_tags=cljs.core.PersistentVector.fromArray([new cljs.core.Symbol(null,"a","a",-482876059,null),new cljs.core.Symbol(null,"abbr","abbr",-565843885,null),new cljs.core.Symbol(null,"address","address",-2094936343,null),new cljs.core.Symbol(null,"area","area",2112538783,null),new cljs.core.Symbol(null,"article","article",1618846482,null),new cljs.core.Symbol(null,"aside","aside",-1240038232,null),new cljs.core.Symbol(null,"audio","audio",-835308448,null),new cljs.core.Symbol(null,
"b","b",-1172211299,null),new cljs.core.Symbol(null,"base","base",1825810849,null),new cljs.core.Symbol(null,"bdi","bdi",317505641,null),new cljs.core.Symbol(null,"bdo","bdo",-490616675,null),new cljs.core.Symbol(null,"blockquote","blockquote",2012795717,null),new cljs.core.Symbol(null,"body","body",-408674142,null),new cljs.core.Symbol(null,"br","br",-1720330977,null),new cljs.core.Symbol(null,"button","button",-1197855826,null),new cljs.core.Symbol(null,"canvas","canvas",-158285962,null),new cljs.core.Symbol(null,
"caption","caption",785147625,null),new cljs.core.Symbol(null,"cite","cite",-744995773,null),new cljs.core.Symbol(null,"code","code",-1068142627,null),new cljs.core.Symbol(null,"col","col",-318831557,null),new cljs.core.Symbol(null,"colgroup","colgroup",-2003317124,null),new cljs.core.Symbol(null,"command","command",745990803,null),new cljs.core.Symbol(null,"datalist","datalist",405488053,null),new cljs.core.Symbol(null,"dd","dd",300093898,null),new cljs.core.Symbol(null,"del","del",-2079460185,null),
new cljs.core.Symbol(null,"details","details",-697640358,null),new cljs.core.Symbol(null,"dfn","dfn",1882439694,null),new cljs.core.Symbol(null,"div","div",-1597244137,null),new cljs.core.Symbol(null,"dl","dl",-499620186,null),new cljs.core.Symbol(null,"dt","dt",1272086768,null),new cljs.core.Symbol(null,"em","em",-1946622734,null),new cljs.core.Symbol(null,"embed","embed",285618178,null),new cljs.core.Symbol(null,"fieldset","fieldset",-309239289,null),new cljs.core.Symbol(null,"figcaption","figcaption",
-149590520,null),new cljs.core.Symbol(null,"figure","figure",1079137448,null),new cljs.core.Symbol(null,"footer","footer",-1047990379,null),new cljs.core.Symbol(null,"form","form",16469056,null),new cljs.core.Symbol(null,"h1","h1",-256355935,null),new cljs.core.Symbol(null,"h2","h2",1267868799,null),new cljs.core.Symbol(null,"h3","h3",-586824606,null),new cljs.core.Symbol(null,"h4","h4",-649572776,null),new cljs.core.Symbol(null,"h5","h5",-188625098,null),new cljs.core.Symbol(null,"h6","h6",-2097141989,
null),new cljs.core.Symbol(null,"head","head",869147608,null),new cljs.core.Symbol(null,"header","header",1759972661,null),new cljs.core.Symbol(null,"hgroup","hgroup",-1525585280,null),new cljs.core.Symbol(null,"hr","hr",-1276695702,null),new cljs.core.Symbol(null,"html","html",641734630,null),new cljs.core.Symbol(null,"i","i",253690212,null),new cljs.core.Symbol(null,"iframe","iframe",-1770013743,null),new cljs.core.Symbol(null,"img","img",-1211748411,null),new cljs.core.Symbol(null,"input","input",
-2097503808,null),new cljs.core.Symbol(null,"ins","ins",618547957,null),new cljs.core.Symbol(null,"kbd","kbd",1956688402,null),new cljs.core.Symbol(null,"keygen","keygen",1068838274,null),new cljs.core.Symbol(null,"label","label",-936024965,null),new cljs.core.Symbol(null,"legend","legend",613339282,null),new cljs.core.Symbol(null,"li","li",-1930876848,null),new cljs.core.Symbol(null,"link","link",-128631941,null),new cljs.core.Symbol(null,"map","map",-1282745308,null),new cljs.core.Symbol(null,"mark",
"mark",1266715182,null),new cljs.core.Symbol(null,"math","math",-386381276,null),new cljs.core.Symbol(null,"menu","menu",1992786725,null),new cljs.core.Symbol(null,"meta","meta",-1154898805,null),new cljs.core.Symbol(null,"meter","meter",1452889916,null),new cljs.core.Symbol(null,"nav","nav",-1934895292,null),new cljs.core.Symbol(null,"noscript","noscript",935754238,null),new cljs.core.Symbol(null,"object","object",-1179821820,null),new cljs.core.Symbol(null,"ol","ol",-1721911718,null),new cljs.core.Symbol(null,
"optgroup","optgroup",-916153551,null),new cljs.core.Symbol(null,"option","option",1705663799,null),new cljs.core.Symbol(null,"output","output",534662484,null),new cljs.core.Symbol(null,"p","p",1791580836,null),new cljs.core.Symbol(null,"param","param",-640803946,null),new cljs.core.Symbol(null,"pre","pre",-535978900,null),new cljs.core.Symbol(null,"progress","progress",1884855074,null),new cljs.core.Symbol(null,"q","q",-1965434072,null),new cljs.core.Symbol(null,"rp","rp",-647737686,null),new cljs.core.Symbol(null,
"rt","rt",-2030955077,null),new cljs.core.Symbol(null,"ruby","ruby",-653698108,null),new cljs.core.Symbol(null,"s","s",-948495851,null),new cljs.core.Symbol(null,"samp","samp",-1148294633,null),new cljs.core.Symbol(null,"script","script",336087726,null),new cljs.core.Symbol(null,"section","section",1340390001,null),new cljs.core.Symbol(null,"select","select",-1506602266,null),new cljs.core.Symbol(null,"small","small",-520957065,null),new cljs.core.Symbol(null,"source","source",1206599988,null),new cljs.core.Symbol(null,
"span","span",-1259562778,null),new cljs.core.Symbol(null,"strong","strong",1910060527,null),new cljs.core.Symbol(null,"style","style",1143888791,null),new cljs.core.Symbol(null,"sub","sub",-453228498,null),new cljs.core.Symbol(null,"summary","summary",2021379479,null),new cljs.core.Symbol(null,"sup","sup",-398960819,null),new cljs.core.Symbol(null,"svg","svg",-1797646627,null),new cljs.core.Symbol(null,"table","table",1075588491,null),new cljs.core.Symbol(null,"tbody","tbody",1559853227,null),new cljs.core.Symbol(null,
"td","td",-1174502416,null),new cljs.core.Symbol(null,"textarea","textarea",990155703,null),new cljs.core.Symbol(null,"tfoot","tfoot",938931637,null),new cljs.core.Symbol(null,"th","th",1094922961,null),new cljs.core.Symbol(null,"thead","thead",1348656231,null),new cljs.core.Symbol(null,"time","time",-1268547887,null),new cljs.core.Symbol(null,"title","title",-2017930186,null),new cljs.core.Symbol(null,"tr","tr",215756881,null),new cljs.core.Symbol(null,"track","track",1836319014,null),new cljs.core.Symbol(null,
"u","u",483896742,null),new cljs.core.Symbol(null,"ul","ul",291010124,null),new cljs.core.Symbol(null,"var","var",870848730,null),new cljs.core.Symbol(null,"video","video",1797419657,null),new cljs.core.Symbol(null,"wbr","wbr",1869193327,null)],!0);garden.selectors.a=garden.selectors.selector.call(null,"a");garden.selectors.abbr=garden.selectors.selector.call(null,"abbr");garden.selectors.address=garden.selectors.selector.call(null,"address");
garden.selectors.area=garden.selectors.selector.call(null,"area");garden.selectors.article=garden.selectors.selector.call(null,"article");garden.selectors.aside=garden.selectors.selector.call(null,"aside");garden.selectors.audio=garden.selectors.selector.call(null,"audio");garden.selectors.b=garden.selectors.selector.call(null,"b");garden.selectors.base=garden.selectors.selector.call(null,"base");garden.selectors.bdi=garden.selectors.selector.call(null,"bdi");
garden.selectors.bdo=garden.selectors.selector.call(null,"bdo");garden.selectors.blockquote=garden.selectors.selector.call(null,"blockquote");garden.selectors.body=garden.selectors.selector.call(null,"body");garden.selectors.br=garden.selectors.selector.call(null,"br");garden.selectors.button=garden.selectors.selector.call(null,"button");garden.selectors.canvas=garden.selectors.selector.call(null,"canvas");garden.selectors.caption=garden.selectors.selector.call(null,"caption");
garden.selectors.cite=garden.selectors.selector.call(null,"cite");garden.selectors.code=garden.selectors.selector.call(null,"code");garden.selectors.col=garden.selectors.selector.call(null,"col");garden.selectors.colgroup=garden.selectors.selector.call(null,"colgroup");garden.selectors.command=garden.selectors.selector.call(null,"command");garden.selectors.datalist=garden.selectors.selector.call(null,"datalist");garden.selectors.dd=garden.selectors.selector.call(null,"dd");
garden.selectors.del=garden.selectors.selector.call(null,"del");garden.selectors.details=garden.selectors.selector.call(null,"details");garden.selectors.dfn=garden.selectors.selector.call(null,"dfn");garden.selectors.div=garden.selectors.selector.call(null,"div");garden.selectors.dl=garden.selectors.selector.call(null,"dl");garden.selectors.dt=garden.selectors.selector.call(null,"dt");garden.selectors.em=garden.selectors.selector.call(null,"em");
garden.selectors.embed=garden.selectors.selector.call(null,"embed");garden.selectors.fieldset=garden.selectors.selector.call(null,"fieldset");garden.selectors.figcaption=garden.selectors.selector.call(null,"figcaption");garden.selectors.figure=garden.selectors.selector.call(null,"figure");garden.selectors.footer=garden.selectors.selector.call(null,"footer");garden.selectors.form=garden.selectors.selector.call(null,"form");garden.selectors.h1=garden.selectors.selector.call(null,"h1");
garden.selectors.h2=garden.selectors.selector.call(null,"h2");garden.selectors.h3=garden.selectors.selector.call(null,"h3");garden.selectors.h4=garden.selectors.selector.call(null,"h4");garden.selectors.h5=garden.selectors.selector.call(null,"h5");garden.selectors.h6=garden.selectors.selector.call(null,"h6");garden.selectors.head=garden.selectors.selector.call(null,"head");garden.selectors.header=garden.selectors.selector.call(null,"header");
garden.selectors.hgroup=garden.selectors.selector.call(null,"hgroup");garden.selectors.hr=garden.selectors.selector.call(null,"hr");garden.selectors.html=garden.selectors.selector.call(null,"html");garden.selectors.i=garden.selectors.selector.call(null,"i");garden.selectors.iframe=garden.selectors.selector.call(null,"iframe");garden.selectors.img=garden.selectors.selector.call(null,"img");garden.selectors.input=garden.selectors.selector.call(null,"input");
garden.selectors.ins=garden.selectors.selector.call(null,"ins");garden.selectors.kbd=garden.selectors.selector.call(null,"kbd");garden.selectors.keygen=garden.selectors.selector.call(null,"keygen");garden.selectors.label=garden.selectors.selector.call(null,"label");garden.selectors.legend=garden.selectors.selector.call(null,"legend");garden.selectors.li=garden.selectors.selector.call(null,"li");garden.selectors.link=garden.selectors.selector.call(null,"link");
garden.selectors.map=garden.selectors.selector.call(null,"map");garden.selectors.mark=garden.selectors.selector.call(null,"mark");garden.selectors.math=garden.selectors.selector.call(null,"math");garden.selectors.menu=garden.selectors.selector.call(null,"menu");garden.selectors.meta=garden.selectors.selector.call(null,"meta");garden.selectors.meter=garden.selectors.selector.call(null,"meter");garden.selectors.nav=garden.selectors.selector.call(null,"nav");
garden.selectors.noscript=garden.selectors.selector.call(null,"noscript");garden.selectors.object=garden.selectors.selector.call(null,"object");garden.selectors.ol=garden.selectors.selector.call(null,"ol");garden.selectors.optgroup=garden.selectors.selector.call(null,"optgroup");garden.selectors.option=garden.selectors.selector.call(null,"option");garden.selectors.output=garden.selectors.selector.call(null,"output");garden.selectors.p=garden.selectors.selector.call(null,"p");
garden.selectors.param=garden.selectors.selector.call(null,"param");garden.selectors.pre=garden.selectors.selector.call(null,"pre");garden.selectors.progress=garden.selectors.selector.call(null,"progress");garden.selectors.q=garden.selectors.selector.call(null,"q");garden.selectors.rp=garden.selectors.selector.call(null,"rp");garden.selectors.rt=garden.selectors.selector.call(null,"rt");garden.selectors.ruby=garden.selectors.selector.call(null,"ruby");
garden.selectors.s=garden.selectors.selector.call(null,"s");garden.selectors.samp=garden.selectors.selector.call(null,"samp");garden.selectors.script=garden.selectors.selector.call(null,"script");garden.selectors.section=garden.selectors.selector.call(null,"section");garden.selectors.select=garden.selectors.selector.call(null,"select");garden.selectors.small=garden.selectors.selector.call(null,"small");garden.selectors.source=garden.selectors.selector.call(null,"source");
garden.selectors.span=garden.selectors.selector.call(null,"span");garden.selectors.strong=garden.selectors.selector.call(null,"strong");garden.selectors.style=garden.selectors.selector.call(null,"style");garden.selectors.sub=garden.selectors.selector.call(null,"sub");garden.selectors.summary=garden.selectors.selector.call(null,"summary");garden.selectors.sup=garden.selectors.selector.call(null,"sup");garden.selectors.svg=garden.selectors.selector.call(null,"svg");
garden.selectors.table=garden.selectors.selector.call(null,"table");garden.selectors.tbody=garden.selectors.selector.call(null,"tbody");garden.selectors.td=garden.selectors.selector.call(null,"td");garden.selectors.textarea=garden.selectors.selector.call(null,"textarea");garden.selectors.tfoot=garden.selectors.selector.call(null,"tfoot");garden.selectors.th=garden.selectors.selector.call(null,"th");garden.selectors.thead=garden.selectors.selector.call(null,"thead");
garden.selectors.time=garden.selectors.selector.call(null,"time");garden.selectors.title=garden.selectors.selector.call(null,"title");garden.selectors.tr=garden.selectors.selector.call(null,"tr");garden.selectors.track=garden.selectors.selector.call(null,"track");garden.selectors.u=garden.selectors.selector.call(null,"u");garden.selectors.ul=garden.selectors.selector.call(null,"ul");garden.selectors.var$=garden.selectors.selector.call(null,"var");
garden.selectors.video=garden.selectors.selector.call(null,"video");garden.selectors.wbr=garden.selectors.selector.call(null,"wbr");
garden.selectors.pseudo_classes=cljs.core.PersistentVector.fromArray([new cljs.core.Symbol(null,"active","active",-758473701,null),new cljs.core.Symbol(null,"checked","checked",1589575708,null),new cljs.core.Symbol(null,"default","default",-347290801,null),new cljs.core.Symbol(null,"disabled","disabled",110747309,null),new cljs.core.Symbol(null,"empty","empty",-1886564811,null),new cljs.core.Symbol(null,"enabled","enabled",-1458526013,null),new cljs.core.Symbol(null,"first","first",996428481,null),
new cljs.core.Symbol(null,"first-child","first-child",-540335927,null),new cljs.core.Symbol(null,"first-of-type","first-of-type",900311874,null),new cljs.core.Symbol(null,"fullscreen","fullscreen",1636160473,null),new cljs.core.Symbol(null,"focus","focus",1875209438,null),new cljs.core.Symbol(null,"hover","hover",1299389816,null),new cljs.core.Symbol(null,"indeterminate","indeterminate",1127490551,null),new cljs.core.Symbol(null,"in-range","in-range",-1297863944,null),new cljs.core.Symbol(null,"invalid",
"invalid",2053401043,null),new cljs.core.Symbol(null,"last-child","last-child",-1323765444,null),new cljs.core.Symbol(null,"last-of-type","last-of-type",986453331,null),new cljs.core.Symbol(null,"left","left",1241415590,null),new cljs.core.Symbol(null,"links","links",986024133,null),new cljs.core.Symbol(null,"only-child","only-child",220029032,null),new cljs.core.Symbol(null,"only-of-type","only-of-type",-1960460626,null),new cljs.core.Symbol(null,"optional","optional",-600484260,null),new cljs.core.Symbol(null,
"out-of-range","out-of-range",-1962117180,null),new cljs.core.Symbol(null,"read-only","read-only",1448824641,null),new cljs.core.Symbol(null,"read-write","read-write",1818554410,null),new cljs.core.Symbol(null,"required","required",-846788763,null),new cljs.core.Symbol(null,"right","right",1187949694,null),new cljs.core.Symbol(null,"root","root",1191874074,null),new cljs.core.Symbol(null,"scope","scope",1201173109,null),new cljs.core.Symbol(null,"target","target",1893533248,null),new cljs.core.Symbol(null,
"valid","valid",1796145767,null),new cljs.core.Symbol(null,"visited","visited",29677652,null)],!0);garden.selectors.active=garden.selectors.selector.call(null,":active");garden.selectors.checked=garden.selectors.selector.call(null,":checked");garden.selectors.default$=garden.selectors.selector.call(null,":default");garden.selectors.disabled=garden.selectors.selector.call(null,":disabled");garden.selectors.empty=garden.selectors.selector.call(null,":empty");
garden.selectors.enabled=garden.selectors.selector.call(null,":enabled");garden.selectors.first=garden.selectors.selector.call(null,":first");garden.selectors.first_child=garden.selectors.selector.call(null,":first-child");garden.selectors.first_of_type=garden.selectors.selector.call(null,":first-of-type");garden.selectors.fullscreen=garden.selectors.selector.call(null,":fullscreen");garden.selectors.focus=garden.selectors.selector.call(null,":focus");
garden.selectors.hover=garden.selectors.selector.call(null,":hover");garden.selectors.indeterminate=garden.selectors.selector.call(null,":indeterminate");garden.selectors.in_range=garden.selectors.selector.call(null,":in-range");garden.selectors.invalid=garden.selectors.selector.call(null,":invalid");garden.selectors.last_child=garden.selectors.selector.call(null,":last-child");garden.selectors.last_of_type=garden.selectors.selector.call(null,":last-of-type");
garden.selectors.left=garden.selectors.selector.call(null,":left");garden.selectors.links=garden.selectors.selector.call(null,":links");garden.selectors.only_child=garden.selectors.selector.call(null,":only-child");garden.selectors.only_of_type=garden.selectors.selector.call(null,":only-of-type");garden.selectors.optional=garden.selectors.selector.call(null,":optional");garden.selectors.out_of_range=garden.selectors.selector.call(null,":out-of-range");
garden.selectors.read_only=garden.selectors.selector.call(null,":read-only");garden.selectors.read_write=garden.selectors.selector.call(null,":read-write");garden.selectors.required=garden.selectors.selector.call(null,":required");garden.selectors.right=garden.selectors.selector.call(null,":right");garden.selectors.root=garden.selectors.selector.call(null,":root");garden.selectors.scope=garden.selectors.selector.call(null,":scope");garden.selectors.target=garden.selectors.selector.call(null,":target");
garden.selectors.valid=garden.selectors.selector.call(null,":valid");garden.selectors.visited=garden.selectors.selector.call(null,":visited");
garden.selectors.lang=cljs.core.with_meta(function(){var a=function(a){a=cljs.core.apply.call(null,function(a){return cljs.core.name.call(null,a)},a);a=garden.selectors.selector_QMARK_.call(null,a)?garden.selectors.css_selector.call(null,a):a;return garden.selectors.selector.call(null,[":lang(",cljs.core.str.cljs$core$IFn$_invoke$arity$1(a),")"].join(""))},b=function(b){var c=null;if(0<arguments.length){c=0;for(var e=Array(arguments.length-0);c<e.length;)e[c]=arguments[c+0],++c;c=new cljs.core.IndexedSeq(e,
0,null)}return a.call(this,c)};b.cljs$lang$maxFixedArity=0;b.cljs$lang$applyTo=function(b){b=cljs.core.seq(b);return a(b)};b.cljs$core$IFn$_invoke$arity$variadic=a;return b}(),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"rettag","rettag",-602973235),null],null));
garden.selectors.not=cljs.core.with_meta(function(){var a=function(a){a=cljs.core.apply.call(null,function(a){return garden.selectors.css_selector.call(null,a)},a);a=garden.selectors.selector_QMARK_.call(null,a)?garden.selectors.css_selector.call(null,a):a;return garden.selectors.selector.call(null,[":not(",cljs.core.str.cljs$core$IFn$_invoke$arity$1(a),")"].join(""))},b=function(b){var c=null;if(0<arguments.length){c=0;for(var e=Array(arguments.length-0);c<e.length;)e[c]=arguments[c+0],++c;c=new cljs.core.IndexedSeq(e,
0,null)}return a.call(this,c)};b.cljs$lang$maxFixedArity=0;b.cljs$lang$applyTo=function(b){b=cljs.core.seq(b);return a(b)};b.cljs$core$IFn$_invoke$arity$variadic=a;return b}(),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"rettag","rettag",-602973235),null],null));garden.selectors.nth_child_re=/\s*(?:[-+]?\d+n\s*(?:[-+]\s*\d+)?|[-+]?\d+|odd|even)\s*/i;
garden.selectors.nth_x=function(a){if(!("string"===typeof a||a instanceof cljs.core.Keyword||a instanceof cljs.core.Symbol))throw Error("Assert failed: Argument must be a string, keyword, or symbol\n(or (string? x) (keyword? x) (symbol? x))");a=cljs.core.name.call(null,a);var b=cljs.core.re_matches.call(null,garden.selectors.nth_child_re,a);if(cljs.core.truth_(b))return b;throw cljs.core.ex_info.call(null,"Selector must be either a keyword, string, or symbol.",["Invalid value ",cljs.core.pr_str.call(null,
a)].join(""));};
garden.selectors.nth_child=cljs.core.with_meta(function(){var a=function(a){a=cljs.core.apply.call(null,function(a){return"number"===typeof a?garden.selectors.nth_x.call(null,[cljs.core.str.cljs$core$IFn$_invoke$arity$1(a),"n"].join("")):garden.selectors.nth_x.call(null,a)},a);a=garden.selectors.selector_QMARK_.call(null,a)?garden.selectors.css_selector.call(null,a):a;return garden.selectors.selector.call(null,[":nth-child(",cljs.core.str.cljs$core$IFn$_invoke$arity$1(a),")"].join(""))},b=function(b){var c=
null;if(0<arguments.length){c=0;for(var e=Array(arguments.length-0);c<e.length;)e[c]=arguments[c+0],++c;c=new cljs.core.IndexedSeq(e,0,null)}return a.call(this,c)};b.cljs$lang$maxFixedArity=0;b.cljs$lang$applyTo=function(b){b=cljs.core.seq(b);return a(b)};b.cljs$core$IFn$_invoke$arity$variadic=a;return b}(),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"rettag","rettag",-602973235),null],null));
garden.selectors.nth_last_child=cljs.core.with_meta(function(){var a=function(a){a=cljs.core.apply.call(null,function(a){return garden.selectors.nth_x.call(null,a)},a);a=garden.selectors.selector_QMARK_.call(null,a)?garden.selectors.css_selector.call(null,a):a;return garden.selectors.selector.call(null,[":nth-last-child(",cljs.core.str.cljs$core$IFn$_invoke$arity$1(a),")"].join(""))},b=function(b){var c=null;if(0<arguments.length){c=0;for(var e=Array(arguments.length-0);c<e.length;)e[c]=arguments[c+
0],++c;c=new cljs.core.IndexedSeq(e,0,null)}return a.call(this,c)};b.cljs$lang$maxFixedArity=0;b.cljs$lang$applyTo=function(b){b=cljs.core.seq(b);return a(b)};b.cljs$core$IFn$_invoke$arity$variadic=a;return b}(),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"rettag","rettag",-602973235),null],null));
garden.selectors.nth_of_type=cljs.core.with_meta(function(){var a=function(a){a=cljs.core.apply.call(null,function(a){return garden.selectors.nth_x.call(null,a)},a);a=garden.selectors.selector_QMARK_.call(null,a)?garden.selectors.css_selector.call(null,a):a;return garden.selectors.selector.call(null,[":nth-of-type(",cljs.core.str.cljs$core$IFn$_invoke$arity$1(a),")"].join(""))},b=function(b){var c=null;if(0<arguments.length){c=0;for(var e=Array(arguments.length-0);c<e.length;)e[c]=arguments[c+0],
++c;c=new cljs.core.IndexedSeq(e,0,null)}return a.call(this,c)};b.cljs$lang$maxFixedArity=0;b.cljs$lang$applyTo=function(b){b=cljs.core.seq(b);return a(b)};b.cljs$core$IFn$_invoke$arity$variadic=a;return b}(),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"rettag","rettag",-602973235),null],null));
garden.selectors.nth_last_of_type=cljs.core.with_meta(function(){var a=function(a){a=cljs.core.apply.call(null,function(a){return garden.selectors.nth_x.call(null,a)},a);a=garden.selectors.selector_QMARK_.call(null,a)?garden.selectors.css_selector.call(null,a):a;return garden.selectors.selector.call(null,[":nth-last-of-type(",cljs.core.str.cljs$core$IFn$_invoke$arity$1(a),")"].join(""))},b=function(b){var c=null;if(0<arguments.length){c=0;for(var e=Array(arguments.length-0);c<e.length;)e[c]=arguments[c+
0],++c;c=new cljs.core.IndexedSeq(e,0,null)}return a.call(this,c)};b.cljs$lang$maxFixedArity=0;b.cljs$lang$applyTo=function(b){b=cljs.core.seq(b);return a(b)};b.cljs$core$IFn$_invoke$arity$variadic=a;return b}(),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"rettag","rettag",-602973235),null],null));garden.selectors.after=garden.selectors.selector.call(null,"::after");garden.selectors.before=garden.selectors.selector.call(null,"::before");
garden.selectors.first_letter=garden.selectors.selector.call(null,"::first-letter");garden.selectors.first_line=garden.selectors.selector.call(null,"::first-line");
garden.selectors.attr=function(a){switch(arguments.length){case 1:return garden.selectors.attr.cljs$core$IFn$_invoke$arity$1(arguments[0]);case 3:return garden.selectors.attr.cljs$core$IFn$_invoke$arity$3(arguments[0],arguments[1],arguments[2]);default:throw Error(["Invalid arity: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(""));}};garden.selectors.attr.cljs$core$IFn$_invoke$arity$1=function(a){return garden.selectors.selector.call(null,["[",cljs.core.name.call(null,a),"]"].join(""))};
garden.selectors.attr.cljs$core$IFn$_invoke$arity$3=function(a,b,c){c=cljs.core.name.call(null,c);c=cljs.core.truth_(cljs.core.re_matches.call(null,/"(\\|[^"])*"|'(\\|[^'])*'/,c))?c:cljs.core.pr_str.call(null,c);return garden.selectors.selector.call(null,["[",cljs.core.name.call(null,a),cljs.core.name.call(null,b),c,"]"].join(""))};garden.selectors.attr.cljs$lang$maxFixedArity=3;garden.selectors.attr_EQ_=function(a,b){return garden.selectors.attr.call(null,a,"\x3d",b)};
garden.selectors.attr_contains=function(a,b){return garden.selectors.attr.call(null,a,"~\x3d",b)};garden.selectors.attr_starts_with=function(a,b){return garden.selectors.attr.call(null,a,"^\x3d",b)};garden.selectors.attr_starts_with_STAR_=function(a,b){return garden.selectors.attr.call(null,a,"|\x3d",b)};garden.selectors.attr_ends_with=function(a,b){return garden.selectors.attr.call(null,a,"$\x3d",b)};garden.selectors.attr_matches=function(a,b){return garden.selectors.attr.call(null,a,"*\x3d",b)};
garden.selectors.descendant=function(a){switch(arguments.length){case 2:return garden.selectors.descendant.cljs$core$IFn$_invoke$arity$2(arguments[0],arguments[1]);default:for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;b=new cljs.core.IndexedSeq(b.slice(2),0,null);return garden.selectors.descendant.cljs$core$IFn$_invoke$arity$variadic(arguments[0],arguments[1],b)}};
garden.selectors.descendant.cljs$core$IFn$_invoke$arity$2=function(a,b){return garden.selectors.selector.call(null,[cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,a))," ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,b))].join(""))};
garden.selectors.descendant.cljs$core$IFn$_invoke$arity$variadic=function(a,b,c){return garden.selectors.selector.call(null,clojure.string.join.call(null," ",cljs.core.map.call(null,garden.selectors.css_selector,cljs.core.cons.call(null,garden.selectors.descendant.call(null,a,b),c))))};
garden.selectors.descendant.cljs$lang$applyTo=function(a){var b=cljs.core.first.call(null,a),c=cljs.core.next.call(null,a);a=cljs.core.first.call(null,c);c=cljs.core.next.call(null,c);return this.cljs$core$IFn$_invoke$arity$variadic(b,a,c)};garden.selectors.descendant.cljs$lang$maxFixedArity=2;
garden.selectors._PLUS_=function(a,b){return garden.selectors.selector.call(null,[cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,a))," + ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,b))].join(""))};
garden.selectors._=function(a,b){return garden.selectors.selector.call(null,[cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,a))," ~ ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,b))].join(""))};
garden.selectors._GT_=function(a){switch(arguments.length){case 1:return garden.selectors._GT_.cljs$core$IFn$_invoke$arity$1(arguments[0]);case 2:return garden.selectors._GT_.cljs$core$IFn$_invoke$arity$2(arguments[0],arguments[1]);default:for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;b=new cljs.core.IndexedSeq(b.slice(2),0,null);return garden.selectors._GT_.cljs$core$IFn$_invoke$arity$variadic(arguments[0],arguments[1],b)}};
garden.selectors._GT_.cljs$core$IFn$_invoke$arity$1=function(a){return garden.selectors.selector.call(null,a)};garden.selectors._GT_.cljs$core$IFn$_invoke$arity$2=function(a,b){return garden.selectors.selector.call(null,[cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,a))," \x3e ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,b))].join(""))};
garden.selectors._GT_.cljs$core$IFn$_invoke$arity$variadic=function(a,b,c){return garden.selectors.selector.call(null,clojure.string.join.call(null," \x3e ",cljs.core.map.call(null,garden.selectors.css_selector,cljs.core.cons.call(null,garden.selectors._GT_.call(null,a,b),c))))};
garden.selectors._GT_.cljs$lang$applyTo=function(a){var b=cljs.core.first.call(null,a),c=cljs.core.next.call(null,a);a=cljs.core.first.call(null,c);c=cljs.core.next.call(null,c);return this.cljs$core$IFn$_invoke$arity$variadic(b,a,c)};garden.selectors._GT_.cljs$lang$maxFixedArity=2;garden.selectors._AMPERSAND_=garden.selectors.selector.call(null,"\x26");
garden.selectors.lex_specificity=function(a){var b=/^#[a-zA-Z][\w-]*/,c=/^\.[a-zA-Z][\w-]*/,d=/^\[[^\]]*\]/,e=/^[a-zA-Z][\w-]/,f=/^:[a-zA-Z][\w-]*(?:\([^\)]+\))?/,g=/^::[a-zA-Z][\w-]*/;return cljs.core.some.call(null,function(b,c,d,e,f,g){return function(b){var c=cljs.core.nth.call(null,b,0,null);b=cljs.core.nth.call(null,b,1,null);c=cljs.core.re_find.call(null,c,a);return cljs.core.truth_(c)?new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[c,b],null):null}}(b,c,d,e,
f,g),new cljs.core.PersistentVector(null,6,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[b,new cljs.core.Keyword(null,"a","a",-2123407586)],null),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[c,new cljs.core.Keyword(null,"b","b",1482224470)],null),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[d,new cljs.core.Keyword(null,"b","b",1482224470)],null),new cljs.core.PersistentVector(null,
2,5,cljs.core.PersistentVector.EMPTY_NODE,[f,new cljs.core.Keyword(null,"b","b",1482224470)],null),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[e,new cljs.core.Keyword(null,"c","c",-1763192079)],null),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[g,new cljs.core.Keyword(null,"c","c",-1763192079)],null)],null))};
garden.selectors.specificity_STAR_=function(a){a=garden.selectors.css_selector.call(null,a);for(var b=new cljs.core.PersistentArrayMap(null,3,[new cljs.core.Keyword(null,"a","a",-2123407586),0,new cljs.core.Keyword(null,"b","b",1482224470),0,new cljs.core.Keyword(null,"c","c",-1763192079),0],null);;){if(cljs.core.empty_QMARK_.call(null,a))return b;var c=garden.selectors.lex_specificity.call(null,a);if(cljs.core.truth_(c)){var d=c;c=cljs.core.nth.call(null,d,0,null);d=cljs.core.nth.call(null,d,1,null);
var e=cljs.core.re_find.call(null,/^:not\(([^\)]*)\)/,c);cljs.core.truth_(e)?(d=e,cljs.core.nth.call(null,d,0,null),d=cljs.core.nth.call(null,d,1,null),a=cljs.core.subs.call(null,a,cljs.core.count.call(null,c)),b=cljs.core.merge_with.call(null,cljs.core._PLUS_,b,garden.selectors.specificity_STAR_.call(null,d))):(a=cljs.core.subs.call(null,a,cljs.core.count.call(null,c)),b=cljs.core.update_in.call(null,b,new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[d],null),cljs.core.inc))}else a=
cljs.core.subs.call(null,a,1)}};
garden.selectors.specificity=function(a){if(!(null!=a?cljs.core.PROTOCOL_SENTINEL===a.garden$selectors$ICSSSelector$||(a.cljs$lang$protocol_mask$partition$?0:cljs.core.native_satisfies_QMARK_.call(null,garden.selectors.ICSSSelector,a)):cljs.core.native_satisfies_QMARK_.call(null,garden.selectors.ICSSSelector,a)))throw Error("Assert failed: (satisfies? ICSSSelector selector)");a=garden.selectors.specificity_STAR_.call(null,a);var b=null!=a&&(a.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===
a.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,a):a;a=cljs.core.get.call(null,b,new cljs.core.Keyword(null,"a","a",-2123407586));var c=cljs.core.get.call(null,b,new cljs.core.Keyword(null,"b","b",1482224470));b=cljs.core.get.call(null,b,new cljs.core.Keyword(null,"c","c",-1763192079));a=clojure.string.replace.call(null,[cljs.core.str.cljs$core$IFn$_invoke$arity$1(a),cljs.core.str.cljs$core$IFn$_invoke$arity$1(c),cljs.core.str.cljs$core$IFn$_invoke$arity$1(b)].join(""),/^0*/,"");return cljs.core.empty_QMARK_.call(null,
a)?0:parseInt(a)};weathergen.settings={};weathergen.settings.electron=require("electron");weathergen.settings.remote=weathergen.settings.electron.remote;weathergen.settings.app=function(){return cljs.core._EQ_.call(null,void 0,weathergen.settings.remote)?weathergen.settings.electron.app:weathergen.settings.remote.app};weathergen.settings.app_dir=weathergen.filesystem.path_combine.call(null,weathergen.settings.app.call(null).getPath("appData"),"craigandera.org","VMT");
weathergen.settings.settings_path=weathergen.filesystem.path_combine.call(null,weathergen.settings.app_dir,"settings.edn");weathergen.settings.load_settings=function(){return cljs.core.truth_(weathergen.filesystem.exists_QMARK_.call(null,weathergen.settings.settings_path))?cljs.reader.read_string.call(null,weathergen.filesystem.file_text.call(null,weathergen.settings.settings_path)):null};hoplon.storage_atom={};hoplon.storage_atom.IStorageBackend=function(){};hoplon.storage_atom._get=function(a,b){if(null!=a&&null!=a.hoplon$storage_atom$IStorageBackend$_get$arity$2)return a.hoplon$storage_atom$IStorageBackend$_get$arity$2(a,b);var c=hoplon.storage_atom._get[goog.typeOf(null==a?null:a)];if(null!=c)return c.call(null,a,b);c=hoplon.storage_atom._get._;if(null!=c)return c.call(null,a,b);throw cljs.core.missing_protocol.call(null,"IStorageBackend.-get",a);};
hoplon.storage_atom._commit_BANG_=function(a,b){if(null!=a&&null!=a.hoplon$storage_atom$IStorageBackend$_commit_BANG_$arity$2)return a.hoplon$storage_atom$IStorageBackend$_commit_BANG_$arity$2(a,b);var c=hoplon.storage_atom._commit_BANG_[goog.typeOf(null==a?null:a)];if(null!=c)return c.call(null,a,b);c=hoplon.storage_atom._commit_BANG_._;if(null!=c)return c.call(null,a,b);throw cljs.core.missing_protocol.call(null,"IStorageBackend.-commit!",a);};
hoplon.storage_atom.StorageBackend=function(a,b){this.store=a;this.key=b};hoplon.storage_atom.StorageBackend.prototype.hoplon$storage_atom$IStorageBackend$=cljs.core.PROTOCOL_SENTINEL;hoplon.storage_atom.StorageBackend.prototype.hoplon$storage_atom$IStorageBackend$_get$arity$2=function(a,b){a=this.store.getItem(cljs.core.pr_str.call(null,this.key));return cljs.core.truth_(a)?cljs.reader.read_string.call(null,a):b};
hoplon.storage_atom.StorageBackend.prototype.hoplon$storage_atom$IStorageBackend$_commit_BANG_$arity$2=function(a,b){return this.store.setItem(cljs.core.pr_str.call(null,this.key),cljs.core.pr_str.call(null,b))};hoplon.storage_atom.StorageBackend.getBasis=function(){return new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"store","store",-1142205747,null),new cljs.core.Symbol(null,"key","key",124488940,null)],null)};
hoplon.storage_atom.StorageBackend.cljs$lang$type=!0;hoplon.storage_atom.StorageBackend.cljs$lang$ctorStr="hoplon.storage-atom/StorageBackend";hoplon.storage_atom.StorageBackend.cljs$lang$ctorPrWriter=function(a,b,c){return cljs.core._write.call(null,b,"hoplon.storage-atom/StorageBackend")};hoplon.storage_atom.__GT_StorageBackend=function(a,b){return new hoplon.storage_atom.StorageBackend(a,b)};
hoplon.storage_atom.store=function(a){for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;b=2<b.length?new cljs.core.IndexedSeq(b.slice(2),0,null):null;return hoplon.storage_atom.store.cljs$core$IFn$_invoke$arity$variadic(arguments[0],arguments[1],b)};
hoplon.storage_atom.store.cljs$core$IFn$_invoke$arity$variadic=function(a,b,c){var d=null!=c&&(c.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===c.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,c):c,e=cljs.core.get.call(null,d,new cljs.core.Keyword(null,"ignore-existing","ignore-existing",1266811770)),f=function(){var a=cljs.core.truth_(e)?new cljs.core.Keyword("hoplon.storage-atom","none","hoplon.storage-atom/none",-1380531245):e;return cljs.core.truth_(a)?a:
hoplon.storage_atom._get.call(null,b,new cljs.core.Keyword("hoplon.storage-atom","none","hoplon.storage-atom/none",-1380531245))}();cljs.core._EQ_.call(null,new cljs.core.Keyword("hoplon.storage-atom","none","hoplon.storage-atom/none",-1380531245),f)?hoplon.storage_atom._commit_BANG_.call(null,b,cljs.core.deref.call(null,a)):cljs.core.reset_BANG_.call(null,a,f);cljs.core.add_watch.call(null,a,new cljs.core.Keyword("hoplon.storage-atom","storage-watch","hoplon.storage-atom/storage-watch",-690647421),
function(a,c,d,e,f){return function(a,c,d,e){return hoplon.storage_atom._commit_BANG_.call(null,b,e)}}(a,f,c,d,e));return a};hoplon.storage_atom.store.cljs$lang$maxFixedArity=2;hoplon.storage_atom.store.cljs$lang$applyTo=function(a){var b=cljs.core.first.call(null,a),c=cljs.core.next.call(null,a);a=cljs.core.first.call(null,c);c=cljs.core.next.call(null,c);return this.cljs$core$IFn$_invoke$arity$variadic(b,a,c)};
hoplon.storage_atom.html_storage=function(a){for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;b=3<b.length?new cljs.core.IndexedSeq(b.slice(3),0,null):null;return hoplon.storage_atom.html_storage.cljs$core$IFn$_invoke$arity$variadic(arguments[0],arguments[1],arguments[2],b)};
hoplon.storage_atom.html_storage.cljs$core$IFn$_invoke$arity$variadic=function(a,b,c,d){d=null!=d&&(d.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===d.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,d):d;d=cljs.core.get.call(null,d,new cljs.core.Keyword(null,"ignore-existing","ignore-existing",1266811770));return hoplon.storage_atom.store.call(null,a,new hoplon.storage_atom.StorageBackend(b,c),new cljs.core.Keyword(null,"ignore-existing","ignore-existing",1266811770),
d)};hoplon.storage_atom.html_storage.cljs$lang$maxFixedArity=3;hoplon.storage_atom.html_storage.cljs$lang$applyTo=function(a){var b=cljs.core.first.call(null,a),c=cljs.core.next.call(null,a);a=cljs.core.first.call(null,c);var d=cljs.core.next.call(null,c);c=cljs.core.first.call(null,d);d=cljs.core.next.call(null,d);return this.cljs$core$IFn$_invoke$arity$variadic(b,a,c,d)};
hoplon.storage_atom.local_storage=function(a){for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;b=2<b.length?new cljs.core.IndexedSeq(b.slice(2),0,null):null;return hoplon.storage_atom.local_storage.cljs$core$IFn$_invoke$arity$variadic(arguments[0],arguments[1],b)};
hoplon.storage_atom.local_storage.cljs$core$IFn$_invoke$arity$variadic=function(a,b,c){c=null!=c&&(c.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===c.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,c):c;c=cljs.core.get.call(null,c,new cljs.core.Keyword(null,"ignore-existing","ignore-existing",1266811770));return hoplon.storage_atom.html_storage.call(null,a,localStorage,b,new cljs.core.Keyword(null,"ignore-existing","ignore-existing",1266811770),c)};
hoplon.storage_atom.local_storage.cljs$lang$maxFixedArity=2;hoplon.storage_atom.local_storage.cljs$lang$applyTo=function(a){var b=cljs.core.first.call(null,a),c=cljs.core.next.call(null,a);a=cljs.core.first.call(null,c);c=cljs.core.next.call(null,c);return this.cljs$core$IFn$_invoke$arity$variadic(b,a,c)};
hoplon.storage_atom.session_storage=function(a){for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;b=2<b.length?new cljs.core.IndexedSeq(b.slice(2),0,null):null;return hoplon.storage_atom.session_storage.cljs$core$IFn$_invoke$arity$variadic(arguments[0],arguments[1],b)};
hoplon.storage_atom.session_storage.cljs$core$IFn$_invoke$arity$variadic=function(a,b,c){c=null!=c&&(c.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===c.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,c):c;c=cljs.core.get.call(null,c,new cljs.core.Keyword(null,"ignore-existing","ignore-existing",1266811770));return hoplon.storage_atom.html_storage.call(null,a,sessionStorage,b,new cljs.core.Keyword(null,"ignore-existing","ignore-existing",1266811770),c)};
hoplon.storage_atom.session_storage.cljs$lang$maxFixedArity=2;hoplon.storage_atom.session_storage.cljs$lang$applyTo=function(a){var b=cljs.core.first.call(null,a),c=cljs.core.next.call(null,a);a=cljs.core.first.call(null,c);c=cljs.core.next.call(null,c);return this.cljs$core$IFn$_invoke$arity$variadic(b,a,c)};garden.types={};garden.types.CSSUnit=function(a,b,c,d,e){this.unit=a;this.magnitude=b;this.__meta=c;this.__extmap=d;this.__hash=e;this.cljs$lang$protocol_mask$partition0$=2230716170;this.cljs$lang$protocol_mask$partition1$=139264};garden.types.CSSUnit.prototype.cljs$core$ILookup$_lookup$arity$2=function(a,b){return this.cljs$core$ILookup$_lookup$arity$3(null,b,null)};
garden.types.CSSUnit.prototype.cljs$core$ILookup$_lookup$arity$3=function(a,b,c){switch(b instanceof cljs.core.Keyword?b.fqn:null){case "unit":return this.unit;case "magnitude":return this.magnitude;default:return cljs.core.get.call(null,this.__extmap,b,c)}};
garden.types.CSSUnit.prototype.cljs$core$IKVReduce$_kv_reduce$arity$3=function(a,b,c){return cljs.core.reduce.call(null,function(a){return function(a,c){var d=cljs.core.nth.call(null,c,0,null);c=cljs.core.nth.call(null,c,1,null);return b.call(null,a,d,c)}}(this),c,this)};
garden.types.CSSUnit.prototype.cljs$core$IPrintWithWriter$_pr_writer$arity$3=function(a,b,c){a=function(a){return function(a){return cljs.core.pr_sequential_writer.call(null,b,cljs.core.pr_writer,""," ","",c,a)}}(this);return cljs.core.pr_sequential_writer.call(null,b,a,"#garden.types.CSSUnit{",", ","}",c,cljs.core.concat.call(null,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,
"unit","unit",375175175),this.unit],null),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"magnitude","magnitude",1924274222),this.magnitude],null)],null),this.__extmap))};
garden.types.CSSUnit.prototype.cljs$core$IIterable$_iterator$arity$1=function(a){return new cljs.core.RecordIter(0,this,2,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"unit","unit",375175175),new cljs.core.Keyword(null,"magnitude","magnitude",1924274222)],null),cljs.core.truth_(this.__extmap)?cljs.core._iterator.call(null,this.__extmap):cljs.core.nil_iter.call(null))};garden.types.CSSUnit.prototype.cljs$core$IMeta$_meta$arity$1=function(a){return this.__meta};
garden.types.CSSUnit.prototype.cljs$core$ICloneable$_clone$arity$1=function(a){return new garden.types.CSSUnit(this.unit,this.magnitude,this.__meta,this.__extmap,this.__hash)};garden.types.CSSUnit.prototype.cljs$core$ICounted$_count$arity$1=function(a){return 2+cljs.core.count.call(null,this.__extmap)};
garden.types.CSSUnit.prototype.cljs$core$IHash$_hash$arity$1=function(a){a=this.__hash;return null!=a?a:this.__hash=a=function(a,c){return function(a){return 70281654^cljs.core.hash_unordered_coll.call(null,a)}}(a,this).call(null,this)};
garden.types.CSSUnit.prototype.cljs$core$IEquiv$_equiv$arity$2=function(a,b){return null!=b&&this.constructor===b.constructor&&cljs.core._EQ_.call(null,this.unit,b.unit)&&cljs.core._EQ_.call(null,this.magnitude,b.magnitude)&&cljs.core._EQ_.call(null,this.__extmap,b.__extmap)};
garden.types.CSSUnit.prototype.cljs$core$IMap$_dissoc$arity$2=function(a,b){return cljs.core.contains_QMARK_.call(null,new cljs.core.PersistentHashSet(null,new cljs.core.PersistentArrayMap(null,2,[new cljs.core.Keyword(null,"unit","unit",375175175),null,new cljs.core.Keyword(null,"magnitude","magnitude",1924274222),null],null),null),b)?cljs.core.dissoc.call(null,cljs.core._with_meta.call(null,cljs.core.into.call(null,cljs.core.PersistentArrayMap.EMPTY,this),this.__meta),b):new garden.types.CSSUnit(this.unit,
this.magnitude,this.__meta,cljs.core.not_empty.call(null,cljs.core.dissoc.call(null,this.__extmap,b)),null)};
garden.types.CSSUnit.prototype.cljs$core$IAssociative$_assoc$arity$3=function(a,b,c){a=cljs.core.keyword_identical_QMARK_;return cljs.core.truth_(a.call(null,new cljs.core.Keyword(null,"unit","unit",375175175),b))?new garden.types.CSSUnit(c,this.magnitude,this.__meta,this.__extmap,null):cljs.core.truth_(a.call(null,new cljs.core.Keyword(null,"magnitude","magnitude",1924274222),b))?new garden.types.CSSUnit(this.unit,c,this.__meta,this.__extmap,null):new garden.types.CSSUnit(this.unit,this.magnitude,
this.__meta,cljs.core.assoc.call(null,this.__extmap,b,c),null)};garden.types.CSSUnit.prototype.cljs$core$ISeqable$_seq$arity$1=function(a){return cljs.core.seq.call(null,cljs.core.concat.call(null,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.MapEntry(new cljs.core.Keyword(null,"unit","unit",375175175),this.unit,null),new cljs.core.MapEntry(new cljs.core.Keyword(null,"magnitude","magnitude",1924274222),this.magnitude,null)],null),this.__extmap))};
garden.types.CSSUnit.prototype.cljs$core$IWithMeta$_with_meta$arity$2=function(a,b){return new garden.types.CSSUnit(this.unit,this.magnitude,b,this.__extmap,this.__hash)};garden.types.CSSUnit.prototype.cljs$core$ICollection$_conj$arity$2=function(a,b){return cljs.core.vector_QMARK_.call(null,b)?this.cljs$core$IAssociative$_assoc$arity$3(null,cljs.core._nth.call(null,b,0),cljs.core._nth.call(null,b,1)):cljs.core.reduce.call(null,cljs.core._conj,this,b)};
garden.types.CSSUnit.getBasis=function(){return new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"unit","unit",2015706702,null),new cljs.core.Symbol(null,"magnitude","magnitude",-730161547,null)],null)};garden.types.CSSUnit.cljs$lang$type=!0;garden.types.CSSUnit.cljs$lang$ctorPrSeq=function(a){return new cljs.core.List(null,"garden.types/CSSUnit",null,1,null)};
garden.types.CSSUnit.cljs$lang$ctorPrWriter=function(a,b){return cljs.core._write.call(null,b,"garden.types/CSSUnit")};garden.types.__GT_CSSUnit=function(a,b){return new garden.types.CSSUnit(a,b,null,null,null)};
garden.types.map__GT_CSSUnit=function(a){var b=cljs.core.dissoc.call(null,a,new cljs.core.Keyword(null,"unit","unit",375175175),new cljs.core.Keyword(null,"magnitude","magnitude",1924274222));b=cljs.core.record_QMARK_.call(null,a)?cljs.core.into.call(null,cljs.core.PersistentArrayMap.EMPTY,b):b;return new garden.types.CSSUnit((new cljs.core.Keyword(null,"unit","unit",375175175)).cljs$core$IFn$_invoke$arity$1(a),(new cljs.core.Keyword(null,"magnitude","magnitude",1924274222)).cljs$core$IFn$_invoke$arity$1(a),
null,cljs.core.not_empty.call(null,b),null)};garden.types.CSSFunction=function(a,b,c,d,e){this.f=a;this.args=b;this.__meta=c;this.__extmap=d;this.__hash=e;this.cljs$lang$protocol_mask$partition0$=2230716170;this.cljs$lang$protocol_mask$partition1$=139264};garden.types.CSSFunction.prototype.cljs$core$ILookup$_lookup$arity$2=function(a,b){return this.cljs$core$ILookup$_lookup$arity$3(null,b,null)};
garden.types.CSSFunction.prototype.cljs$core$ILookup$_lookup$arity$3=function(a,b,c){switch(b instanceof cljs.core.Keyword?b.fqn:null){case "f":return this.f;case "args":return this.args;default:return cljs.core.get.call(null,this.__extmap,b,c)}};
garden.types.CSSFunction.prototype.cljs$core$IKVReduce$_kv_reduce$arity$3=function(a,b,c){return cljs.core.reduce.call(null,function(a){return function(a,c){var d=cljs.core.nth.call(null,c,0,null);c=cljs.core.nth.call(null,c,1,null);return b.call(null,a,d,c)}}(this),c,this)};
garden.types.CSSFunction.prototype.cljs$core$IPrintWithWriter$_pr_writer$arity$3=function(a,b,c){a=function(a){return function(a){return cljs.core.pr_sequential_writer.call(null,b,cljs.core.pr_writer,""," ","",c,a)}}(this);return cljs.core.pr_sequential_writer.call(null,b,a,"#garden.types.CSSFunction{",", ","}",c,cljs.core.concat.call(null,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,
"f","f",-1597136552),this.f],null),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"args","args",1315556576),this.args],null)],null),this.__extmap))};
garden.types.CSSFunction.prototype.cljs$core$IIterable$_iterator$arity$1=function(a){return new cljs.core.RecordIter(0,this,2,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"f","f",-1597136552),new cljs.core.Keyword(null,"args","args",1315556576)],null),cljs.core.truth_(this.__extmap)?cljs.core._iterator.call(null,this.__extmap):cljs.core.nil_iter.call(null))};garden.types.CSSFunction.prototype.cljs$core$IMeta$_meta$arity$1=function(a){return this.__meta};
garden.types.CSSFunction.prototype.cljs$core$ICloneable$_clone$arity$1=function(a){return new garden.types.CSSFunction(this.f,this.args,this.__meta,this.__extmap,this.__hash)};garden.types.CSSFunction.prototype.cljs$core$ICounted$_count$arity$1=function(a){return 2+cljs.core.count.call(null,this.__extmap)};
garden.types.CSSFunction.prototype.cljs$core$IHash$_hash$arity$1=function(a){a=this.__hash;return null!=a?a:this.__hash=a=function(a,c){return function(a){return 1910311650^cljs.core.hash_unordered_coll.call(null,a)}}(a,this).call(null,this)};garden.types.CSSFunction.prototype.cljs$core$IEquiv$_equiv$arity$2=function(a,b){return null!=b&&this.constructor===b.constructor&&cljs.core._EQ_.call(null,this.f,b.f)&&cljs.core._EQ_.call(null,this.args,b.args)&&cljs.core._EQ_.call(null,this.__extmap,b.__extmap)};
garden.types.CSSFunction.prototype.cljs$core$IMap$_dissoc$arity$2=function(a,b){return cljs.core.contains_QMARK_.call(null,new cljs.core.PersistentHashSet(null,new cljs.core.PersistentArrayMap(null,2,[new cljs.core.Keyword(null,"args","args",1315556576),null,new cljs.core.Keyword(null,"f","f",-1597136552),null],null),null),b)?cljs.core.dissoc.call(null,cljs.core._with_meta.call(null,cljs.core.into.call(null,cljs.core.PersistentArrayMap.EMPTY,this),this.__meta),b):new garden.types.CSSFunction(this.f,
this.args,this.__meta,cljs.core.not_empty.call(null,cljs.core.dissoc.call(null,this.__extmap,b)),null)};
garden.types.CSSFunction.prototype.cljs$core$IAssociative$_assoc$arity$3=function(a,b,c){a=cljs.core.keyword_identical_QMARK_;return cljs.core.truth_(a.call(null,new cljs.core.Keyword(null,"f","f",-1597136552),b))?new garden.types.CSSFunction(c,this.args,this.__meta,this.__extmap,null):cljs.core.truth_(a.call(null,new cljs.core.Keyword(null,"args","args",1315556576),b))?new garden.types.CSSFunction(this.f,c,this.__meta,this.__extmap,null):new garden.types.CSSFunction(this.f,this.args,this.__meta,
cljs.core.assoc.call(null,this.__extmap,b,c),null)};garden.types.CSSFunction.prototype.cljs$core$ISeqable$_seq$arity$1=function(a){return cljs.core.seq.call(null,cljs.core.concat.call(null,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.MapEntry(new cljs.core.Keyword(null,"f","f",-1597136552),this.f,null),new cljs.core.MapEntry(new cljs.core.Keyword(null,"args","args",1315556576),this.args,null)],null),this.__extmap))};
garden.types.CSSFunction.prototype.cljs$core$IWithMeta$_with_meta$arity$2=function(a,b){return new garden.types.CSSFunction(this.f,this.args,b,this.__extmap,this.__hash)};garden.types.CSSFunction.prototype.cljs$core$ICollection$_conj$arity$2=function(a,b){return cljs.core.vector_QMARK_.call(null,b)?this.cljs$core$IAssociative$_assoc$arity$3(null,cljs.core._nth.call(null,b,0),cljs.core._nth.call(null,b,1)):cljs.core.reduce.call(null,cljs.core._conj,this,b)};
garden.types.CSSFunction.getBasis=function(){return new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"f","f",43394975,null),new cljs.core.Symbol(null,"args","args",-1338879193,null)],null)};garden.types.CSSFunction.cljs$lang$type=!0;garden.types.CSSFunction.cljs$lang$ctorPrSeq=function(a){return new cljs.core.List(null,"garden.types/CSSFunction",null,1,null)};
garden.types.CSSFunction.cljs$lang$ctorPrWriter=function(a,b){return cljs.core._write.call(null,b,"garden.types/CSSFunction")};garden.types.__GT_CSSFunction=function(a,b){return new garden.types.CSSFunction(a,b,null,null,null)};
garden.types.map__GT_CSSFunction=function(a){var b=cljs.core.dissoc.call(null,a,new cljs.core.Keyword(null,"f","f",-1597136552),new cljs.core.Keyword(null,"args","args",1315556576));b=cljs.core.record_QMARK_.call(null,a)?cljs.core.into.call(null,cljs.core.PersistentArrayMap.EMPTY,b):b;return new garden.types.CSSFunction((new cljs.core.Keyword(null,"f","f",-1597136552)).cljs$core$IFn$_invoke$arity$1(a),(new cljs.core.Keyword(null,"args","args",1315556576)).cljs$core$IFn$_invoke$arity$1(a),null,cljs.core.not_empty.call(null,
b),null)};garden.types.CSSAtRule=function(a,b,c,d,e){this.identifier=a;this.value=b;this.__meta=c;this.__extmap=d;this.__hash=e;this.cljs$lang$protocol_mask$partition0$=2230716170;this.cljs$lang$protocol_mask$partition1$=139264};garden.types.CSSAtRule.prototype.cljs$core$ILookup$_lookup$arity$2=function(a,b){return this.cljs$core$ILookup$_lookup$arity$3(null,b,null)};
garden.types.CSSAtRule.prototype.cljs$core$ILookup$_lookup$arity$3=function(a,b,c){switch(b instanceof cljs.core.Keyword?b.fqn:null){case "identifier":return this.identifier;case "value":return this.value;default:return cljs.core.get.call(null,this.__extmap,b,c)}};
garden.types.CSSAtRule.prototype.cljs$core$IKVReduce$_kv_reduce$arity$3=function(a,b,c){return cljs.core.reduce.call(null,function(a){return function(a,c){var d=cljs.core.nth.call(null,c,0,null);c=cljs.core.nth.call(null,c,1,null);return b.call(null,a,d,c)}}(this),c,this)};
garden.types.CSSAtRule.prototype.cljs$core$IPrintWithWriter$_pr_writer$arity$3=function(a,b,c){a=function(a){return function(a){return cljs.core.pr_sequential_writer.call(null,b,cljs.core.pr_writer,""," ","",c,a)}}(this);return cljs.core.pr_sequential_writer.call(null,b,a,"#garden.types.CSSAtRule{",", ","}",c,cljs.core.concat.call(null,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,
"identifier","identifier",-805503498),this.identifier],null),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"value","value",305978217),this.value],null)],null),this.__extmap))};
garden.types.CSSAtRule.prototype.cljs$core$IIterable$_iterator$arity$1=function(a){return new cljs.core.RecordIter(0,this,2,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"identifier","identifier",-805503498),new cljs.core.Keyword(null,"value","value",305978217)],null),cljs.core.truth_(this.__extmap)?cljs.core._iterator.call(null,this.__extmap):cljs.core.nil_iter.call(null))};
garden.types.CSSAtRule.prototype.cljs$core$IMeta$_meta$arity$1=function(a){return this.__meta};garden.types.CSSAtRule.prototype.cljs$core$ICloneable$_clone$arity$1=function(a){return new garden.types.CSSAtRule(this.identifier,this.value,this.__meta,this.__extmap,this.__hash)};garden.types.CSSAtRule.prototype.cljs$core$ICounted$_count$arity$1=function(a){return 2+cljs.core.count.call(null,this.__extmap)};
garden.types.CSSAtRule.prototype.cljs$core$IHash$_hash$arity$1=function(a){a=this.__hash;return null!=a?a:this.__hash=a=function(a,c){return function(a){return-1632374092^cljs.core.hash_unordered_coll.call(null,a)}}(a,this).call(null,this)};
garden.types.CSSAtRule.prototype.cljs$core$IEquiv$_equiv$arity$2=function(a,b){return null!=b&&this.constructor===b.constructor&&cljs.core._EQ_.call(null,this.identifier,b.identifier)&&cljs.core._EQ_.call(null,this.value,b.value)&&cljs.core._EQ_.call(null,this.__extmap,b.__extmap)};
garden.types.CSSAtRule.prototype.cljs$core$IMap$_dissoc$arity$2=function(a,b){return cljs.core.contains_QMARK_.call(null,new cljs.core.PersistentHashSet(null,new cljs.core.PersistentArrayMap(null,2,[new cljs.core.Keyword(null,"value","value",305978217),null,new cljs.core.Keyword(null,"identifier","identifier",-805503498),null],null),null),b)?cljs.core.dissoc.call(null,cljs.core._with_meta.call(null,cljs.core.into.call(null,cljs.core.PersistentArrayMap.EMPTY,this),this.__meta),b):new garden.types.CSSAtRule(this.identifier,
this.value,this.__meta,cljs.core.not_empty.call(null,cljs.core.dissoc.call(null,this.__extmap,b)),null)};
garden.types.CSSAtRule.prototype.cljs$core$IAssociative$_assoc$arity$3=function(a,b,c){a=cljs.core.keyword_identical_QMARK_;return cljs.core.truth_(a.call(null,new cljs.core.Keyword(null,"identifier","identifier",-805503498),b))?new garden.types.CSSAtRule(c,this.value,this.__meta,this.__extmap,null):cljs.core.truth_(a.call(null,new cljs.core.Keyword(null,"value","value",305978217),b))?new garden.types.CSSAtRule(this.identifier,c,this.__meta,this.__extmap,null):new garden.types.CSSAtRule(this.identifier,
this.value,this.__meta,cljs.core.assoc.call(null,this.__extmap,b,c),null)};garden.types.CSSAtRule.prototype.cljs$core$ISeqable$_seq$arity$1=function(a){return cljs.core.seq.call(null,cljs.core.concat.call(null,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.MapEntry(new cljs.core.Keyword(null,"identifier","identifier",-805503498),this.identifier,null),new cljs.core.MapEntry(new cljs.core.Keyword(null,"value","value",305978217),this.value,null)],null),this.__extmap))};
garden.types.CSSAtRule.prototype.cljs$core$IWithMeta$_with_meta$arity$2=function(a,b){return new garden.types.CSSAtRule(this.identifier,this.value,b,this.__extmap,this.__hash)};garden.types.CSSAtRule.prototype.cljs$core$ICollection$_conj$arity$2=function(a,b){return cljs.core.vector_QMARK_.call(null,b)?this.cljs$core$IAssociative$_assoc$arity$3(null,cljs.core._nth.call(null,b,0),cljs.core._nth.call(null,b,1)):cljs.core.reduce.call(null,cljs.core._conj,this,b)};
garden.types.CSSAtRule.getBasis=function(){return new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"identifier","identifier",835028029,null),new cljs.core.Symbol(null,"value","value",1946509744,null)],null)};garden.types.CSSAtRule.cljs$lang$type=!0;garden.types.CSSAtRule.cljs$lang$ctorPrSeq=function(a){return new cljs.core.List(null,"garden.types/CSSAtRule",null,1,null)};
garden.types.CSSAtRule.cljs$lang$ctorPrWriter=function(a,b){return cljs.core._write.call(null,b,"garden.types/CSSAtRule")};garden.types.__GT_CSSAtRule=function(a,b){return new garden.types.CSSAtRule(a,b,null,null,null)};
garden.types.map__GT_CSSAtRule=function(a){var b=cljs.core.dissoc.call(null,a,new cljs.core.Keyword(null,"identifier","identifier",-805503498),new cljs.core.Keyword(null,"value","value",305978217));b=cljs.core.record_QMARK_.call(null,a)?cljs.core.into.call(null,cljs.core.PersistentArrayMap.EMPTY,b):b;return new garden.types.CSSAtRule((new cljs.core.Keyword(null,"identifier","identifier",-805503498)).cljs$core$IFn$_invoke$arity$1(a),(new cljs.core.Keyword(null,"value","value",305978217)).cljs$core$IFn$_invoke$arity$1(a),
null,cljs.core.not_empty.call(null,b),null)};garden.util={};garden.util.format=function(a){for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;b=1<b.length?new cljs.core.IndexedSeq(b.slice(1),0,null):null;return garden.util.format.cljs$core$IFn$_invoke$arity$variadic(arguments[0],b)};garden.util.format.cljs$core$IFn$_invoke$arity$variadic=function(a,b){return cljs.core.apply.call(null,goog.string.format,a,b)};garden.util.format.cljs$lang$maxFixedArity=1;
garden.util.format.cljs$lang$applyTo=function(a){var b=cljs.core.first.call(null,a);a=cljs.core.next.call(null,a);return this.cljs$core$IFn$_invoke$arity$variadic(b,a)};garden.util.ToString=function(){};
garden.util.to_str=function(a){if(null!=a&&null!=a.garden$util$ToString$to_str$arity$1)return a.garden$util$ToString$to_str$arity$1(a);var b=garden.util.to_str[goog.typeOf(null==a?null:a)];if(null!=b)return b.call(null,a);b=garden.util.to_str._;if(null!=b)return b.call(null,a);throw cljs.core.missing_protocol.call(null,"ToString.to-str",a);};cljs.core.Keyword.prototype.garden$util$ToString$=cljs.core.PROTOCOL_SENTINEL;
cljs.core.Keyword.prototype.garden$util$ToString$to_str$arity$1=function(a){return cljs.core.name.call(null,this)};goog.object.set(garden.util.ToString,"_",!0);goog.object.set(garden.util.to_str,"_",function(a){return cljs.core.str.cljs$core$IFn$_invoke$arity$1(a)});goog.object.set(garden.util.ToString,"null",!0);goog.object.set(garden.util.to_str,"null",function(a){return""});
garden.util.as_str=function(a){for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;b=0<b.length?new cljs.core.IndexedSeq(b.slice(0),0,null):null;return garden.util.as_str.cljs$core$IFn$_invoke$arity$variadic(b)};garden.util.as_str.cljs$core$IFn$_invoke$arity$variadic=function(a){return cljs.core.apply.call(null,cljs.core.str,cljs.core.map.call(null,garden.util.to_str,a))};garden.util.as_str.cljs$lang$maxFixedArity=0;
garden.util.as_str.cljs$lang$applyTo=function(a){return this.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq.call(null,a))};garden.util.string__GT_int=function(a){for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;b=1<b.length?new cljs.core.IndexedSeq(b.slice(1),0,null):null;return garden.util.string__GT_int.cljs$core$IFn$_invoke$arity$variadic(arguments[0],b)};
garden.util.string__GT_int.cljs$core$IFn$_invoke$arity$variadic=function(a,b){b=cljs.core.nth.call(null,b,0,null);b=cljs.core.truth_(b)?b:10;return parseInt(a,b)};garden.util.string__GT_int.cljs$lang$maxFixedArity=1;garden.util.string__GT_int.cljs$lang$applyTo=function(a){var b=cljs.core.first.call(null,a);a=cljs.core.next.call(null,a);return this.cljs$core$IFn$_invoke$arity$variadic(b,a)};
garden.util.int__GT_string=function(a){for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;b=1<b.length?new cljs.core.IndexedSeq(b.slice(1),0,null):null;return garden.util.int__GT_string.cljs$core$IFn$_invoke$arity$variadic(arguments[0],b)};garden.util.int__GT_string.cljs$core$IFn$_invoke$arity$variadic=function(a,b){b=cljs.core.nth.call(null,b,0,null);b=cljs.core.truth_(b)?b:10;return a.toString(b)};garden.util.int__GT_string.cljs$lang$maxFixedArity=1;
garden.util.int__GT_string.cljs$lang$applyTo=function(a){var b=cljs.core.first.call(null,a);a=cljs.core.next.call(null,a);return this.cljs$core$IFn$_invoke$arity$variadic(b,a)};garden.util.space_join=function(a){return clojure.string.join.call(null," ",cljs.core.map.call(null,garden.util.to_str,a))};
garden.util.comma_join=function(a){var b=function(){return function e(a){return new cljs.core.LazySeq(null,function(){for(;;){var b=cljs.core.seq.call(null,a);if(b){if(cljs.core.chunked_seq_QMARK_.call(null,b)){var d=cljs.core.chunk_first.call(null,b),h=cljs.core.count.call(null,d),k=cljs.core.chunk_buffer.call(null,h);a:for(var l=0;;)if(l<h){var m=cljs.core._nth.call(null,d,l);cljs.core.chunk_append.call(null,k,cljs.core.sequential_QMARK_.call(null,m)?garden.util.space_join.call(null,m):garden.util.to_str.call(null,
m));l+=1}else{d=!0;break a}return d?cljs.core.chunk_cons.call(null,cljs.core.chunk.call(null,k),e.call(null,cljs.core.chunk_rest.call(null,b))):cljs.core.chunk_cons.call(null,cljs.core.chunk.call(null,k),null)}k=cljs.core.first.call(null,b);return cljs.core.cons.call(null,cljs.core.sequential_QMARK_.call(null,k)?garden.util.space_join.call(null,k):garden.util.to_str.call(null,k),e.call(null,cljs.core.rest.call(null,b)))}return null}},null,null)}.call(null,a)}();return clojure.string.join.call(null,
", ",b)};garden.util.wrap_quotes=function(a){return['"',cljs.core.str.cljs$core$IFn$_invoke$arity$1(a),'"'].join("")};garden.util.hash_map_QMARK_=function(a){return cljs.core.map_QMARK_.call(null,a)&&!cljs.core.record_QMARK_.call(null,a)};garden.util.rule_QMARK_=cljs.core.vector_QMARK_;garden.util.declaration_QMARK_=garden.util.hash_map_QMARK_;garden.util.at_rule_QMARK_=function(a){return a instanceof garden.types.CSSAtRule};
garden.util.at_media_QMARK_=function(a){return garden.util.at_rule_QMARK_.call(null,a)&&cljs.core._EQ_.call(null,(new cljs.core.Keyword(null,"identifier","identifier",-805503498)).cljs$core$IFn$_invoke$arity$1(a),new cljs.core.Keyword(null,"media","media",-1066138403))};
garden.util.at_supports_QMARK_=function(a){return garden.util.at_rule_QMARK_.call(null,a)&&cljs.core._EQ_.call(null,(new cljs.core.Keyword(null,"identifier","identifier",-805503498)).cljs$core$IFn$_invoke$arity$1(a),new cljs.core.Keyword(null,"feature","feature",27242652))};
garden.util.at_keyframes_QMARK_=function(a){return garden.util.at_rule_QMARK_.call(null,a)&&cljs.core._EQ_.call(null,(new cljs.core.Keyword(null,"identifier","identifier",-805503498)).cljs$core$IFn$_invoke$arity$1(a),new cljs.core.Keyword(null,"keyframes","keyframes",-1437976012))};
garden.util.at_import_QMARK_=function(a){return garden.util.at_rule_QMARK_.call(null,a)&&cljs.core._EQ_.call(null,(new cljs.core.Keyword(null,"identifier","identifier",-805503498)).cljs$core$IFn$_invoke$arity$1(a),new cljs.core.Keyword(null,"import","import",-1399500709))};
garden.util.prefix=function(a,b){a=garden.util.to_str.call(null,a);return cljs.core._EQ_.call(null,"-",cljs.core.last.call(null,a))?[cljs.core.str.cljs$core$IFn$_invoke$arity$1(a),cljs.core.str.cljs$core$IFn$_invoke$arity$1(b)].join(""):[cljs.core.str.cljs$core$IFn$_invoke$arity$1(a),"-",cljs.core.str.cljs$core$IFn$_invoke$arity$1(b)].join("")};
garden.util.vendor_prefix=function(a,b){a=garden.util.to_str.call(null,a);return cljs.core._EQ_.call(null,"-",cljs.core.first.call(null,a))?garden.util.prefix.call(null,a,b):garden.util.prefix.call(null,["-",cljs.core.str.cljs$core$IFn$_invoke$arity$1(a)].join(""),b)};garden.util.natural_QMARK_=function(a){return cljs.core.integer_QMARK_.call(null,a)&&0<a};garden.util.between_QMARK_=function(a,b,c){return a>=(b<c?b:c)&&a<=(b>c?b:c)};
garden.util.clip=function(a,b,c){b=a<=b?new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[a,b],null):new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[b,a],null);a=cljs.core.nth.call(null,b,0,null);b=cljs.core.nth.call(null,b,1,null);c=b<c?b:c;return a>c?a:c};
garden.util.average=function(a){for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;b=2<b.length?new cljs.core.IndexedSeq(b.slice(2),0,null):null;return garden.util.average.cljs$core$IFn$_invoke$arity$variadic(arguments[0],arguments[1],b)};garden.util.average.cljs$core$IFn$_invoke$arity$variadic=function(a,b,c){return cljs.core.apply.call(null,cljs.core._PLUS_,a,b,c)/(2+cljs.core.count.call(null,c))};garden.util.average.cljs$lang$maxFixedArity=2;
garden.util.average.cljs$lang$applyTo=function(a){var b=cljs.core.first.call(null,a),c=cljs.core.next.call(null,a);a=cljs.core.first.call(null,c);c=cljs.core.next.call(null,c);return this.cljs$core$IFn$_invoke$arity$variadic(b,a,c)};garden.util.cartesian_product=function(a){for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;b=0<b.length?new cljs.core.IndexedSeq(b.slice(0),0,null):null;return garden.util.cartesian_product.cljs$core$IFn$_invoke$arity$variadic(b)};
garden.util.cartesian_product.cljs$core$IFn$_invoke$arity$variadic=function(a){var b=cljs.core.vec.call(null,a),c=function(a){return function g(b){var c=function(a){return function(b){for(var c=cljs.core.count.call(null,b)-1;;){if(cljs.core._EQ_.call(null,c,-1))return null;var d=cljs.core.next.call(null,b.call(null,c));if(d)return cljs.core.assoc.call(null,b,c,d);d=c-1;b=cljs.core.assoc.call(null,b,c,a.call(null,c));c=d}}}(a);return cljs.core.truth_(b)?cljs.core.cons.call(null,cljs.core.map.call(null,
cljs.core.first,b),new cljs.core.LazySeq(null,function(a,c){return function(){return g.call(null,a.call(null,b))}}(c,a),null,null)):null}}(b);return cljs.core.every_QMARK_.call(null,cljs.core.seq,a)?new cljs.core.LazySeq(null,function(a,b){return function(){return b.call(null,a)}}(b,c),null,null):null};garden.util.cartesian_product.cljs$lang$maxFixedArity=0;garden.util.cartesian_product.cljs$lang$applyTo=function(a){return this.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq.call(null,a))};garden.color={};garden.color.CSSColor=function(a,b,c,d,e,f,g,h,k,l){this.red=a;this.green=b;this.blue=c;this.hue=d;this.saturation=e;this.lightness=f;this.alpha=g;this.__meta=h;this.__extmap=k;this.__hash=l;this.cljs$lang$protocol_mask$partition0$=2230716171;this.cljs$lang$protocol_mask$partition1$=139264};garden.color.CSSColor.prototype.cljs$core$ILookup$_lookup$arity$2=function(a,b){return this.cljs$core$ILookup$_lookup$arity$3(null,b,null)};
garden.color.CSSColor.prototype.cljs$core$ILookup$_lookup$arity$3=function(a,b,c){switch(b instanceof cljs.core.Keyword?b.fqn:null){case "red":return this.red;case "green":return this.green;case "blue":return this.blue;case "hue":return this.hue;case "saturation":return this.saturation;case "lightness":return this.lightness;case "alpha":return this.alpha;default:return cljs.core.get.call(null,this.__extmap,b,c)}};
garden.color.CSSColor.prototype.cljs$core$IKVReduce$_kv_reduce$arity$3=function(a,b,c){return cljs.core.reduce.call(null,function(a){return function(a,c){var d=cljs.core.nth.call(null,c,0,null);c=cljs.core.nth.call(null,c,1,null);return b.call(null,a,d,c)}}(this),c,this)};
garden.color.CSSColor.prototype.cljs$core$IPrintWithWriter$_pr_writer$arity$3=function(a,b,c){a=function(a){return function(a){return cljs.core.pr_sequential_writer.call(null,b,cljs.core.pr_writer,""," ","",c,a)}}(this);return cljs.core.pr_sequential_writer.call(null,b,a,"#garden.color.CSSColor{",", ","}",c,cljs.core.concat.call(null,new cljs.core.PersistentVector(null,7,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,
"red","red",-969428204),this.red],null),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"green","green",-945526839),this.green],null),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"blue","blue",-622100620),this.blue],null),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"hue","hue",-508078848),this.hue],null),new cljs.core.PersistentVector(null,
2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"saturation","saturation",-14247929),this.saturation],null),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"lightness","lightness",-2040901930),this.lightness],null),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"alpha","alpha",-1574982441),this.alpha],null)],null),this.__extmap))};
garden.color.CSSColor.prototype.cljs$core$IIterable$_iterator$arity$1=function(a){return new cljs.core.RecordIter(0,this,7,new cljs.core.PersistentVector(null,7,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"red","red",-969428204),new cljs.core.Keyword(null,"green","green",-945526839),new cljs.core.Keyword(null,"blue","blue",-622100620),new cljs.core.Keyword(null,"hue","hue",-508078848),new cljs.core.Keyword(null,"saturation","saturation",-14247929),new cljs.core.Keyword(null,
"lightness","lightness",-2040901930),new cljs.core.Keyword(null,"alpha","alpha",-1574982441)],null),cljs.core.truth_(this.__extmap)?cljs.core._iterator.call(null,this.__extmap):cljs.core.nil_iter.call(null))};garden.color.CSSColor.prototype.cljs$core$IMeta$_meta$arity$1=function(a){return this.__meta};
garden.color.CSSColor.prototype.cljs$core$ICloneable$_clone$arity$1=function(a){return new garden.color.CSSColor(this.red,this.green,this.blue,this.hue,this.saturation,this.lightness,this.alpha,this.__meta,this.__extmap,this.__hash)};garden.color.CSSColor.prototype.cljs$core$ICounted$_count$arity$1=function(a){return 7+cljs.core.count.call(null,this.__extmap)};
garden.color.CSSColor.prototype.cljs$core$IHash$_hash$arity$1=function(a){a=this.__hash;return null!=a?a:this.__hash=a=function(a,c){return function(a){return 1154778435^cljs.core.hash_unordered_coll.call(null,a)}}(a,this).call(null,this)};
garden.color.CSSColor.prototype.cljs$core$IEquiv$_equiv$arity$2=function(a,b){return null!=b&&this.constructor===b.constructor&&cljs.core._EQ_.call(null,this.red,b.red)&&cljs.core._EQ_.call(null,this.green,b.green)&&cljs.core._EQ_.call(null,this.blue,b.blue)&&cljs.core._EQ_.call(null,this.hue,b.hue)&&cljs.core._EQ_.call(null,this.saturation,b.saturation)&&cljs.core._EQ_.call(null,this.lightness,b.lightness)&&cljs.core._EQ_.call(null,this.alpha,b.alpha)&&cljs.core._EQ_.call(null,this.__extmap,b.__extmap)};
garden.color.CSSColor.prototype.cljs$core$IMap$_dissoc$arity$2=function(a,b){return cljs.core.contains_QMARK_.call(null,new cljs.core.PersistentHashSet(null,new cljs.core.PersistentArrayMap(null,7,[new cljs.core.Keyword(null,"hue","hue",-508078848),null,new cljs.core.Keyword(null,"saturation","saturation",-14247929),null,new cljs.core.Keyword(null,"green","green",-945526839),null,new cljs.core.Keyword(null,"red","red",-969428204),null,new cljs.core.Keyword(null,"blue","blue",-622100620),null,new cljs.core.Keyword(null,
"lightness","lightness",-2040901930),null,new cljs.core.Keyword(null,"alpha","alpha",-1574982441),null],null),null),b)?cljs.core.dissoc.call(null,cljs.core._with_meta.call(null,cljs.core.into.call(null,cljs.core.PersistentArrayMap.EMPTY,this),this.__meta),b):new garden.color.CSSColor(this.red,this.green,this.blue,this.hue,this.saturation,this.lightness,this.alpha,this.__meta,cljs.core.not_empty.call(null,cljs.core.dissoc.call(null,this.__extmap,b)),null)};
garden.color.CSSColor.prototype.cljs$core$IAssociative$_assoc$arity$3=function(a,b,c){a=cljs.core.keyword_identical_QMARK_;return cljs.core.truth_(a.call(null,new cljs.core.Keyword(null,"red","red",-969428204),b))?new garden.color.CSSColor(c,this.green,this.blue,this.hue,this.saturation,this.lightness,this.alpha,this.__meta,this.__extmap,null):cljs.core.truth_(a.call(null,new cljs.core.Keyword(null,"green","green",-945526839),b))?new garden.color.CSSColor(this.red,c,this.blue,this.hue,this.saturation,
this.lightness,this.alpha,this.__meta,this.__extmap,null):cljs.core.truth_(a.call(null,new cljs.core.Keyword(null,"blue","blue",-622100620),b))?new garden.color.CSSColor(this.red,this.green,c,this.hue,this.saturation,this.lightness,this.alpha,this.__meta,this.__extmap,null):cljs.core.truth_(a.call(null,new cljs.core.Keyword(null,"hue","hue",-508078848),b))?new garden.color.CSSColor(this.red,this.green,this.blue,c,this.saturation,this.lightness,this.alpha,this.__meta,this.__extmap,null):cljs.core.truth_(a.call(null,
new cljs.core.Keyword(null,"saturation","saturation",-14247929),b))?new garden.color.CSSColor(this.red,this.green,this.blue,this.hue,c,this.lightness,this.alpha,this.__meta,this.__extmap,null):cljs.core.truth_(a.call(null,new cljs.core.Keyword(null,"lightness","lightness",-2040901930),b))?new garden.color.CSSColor(this.red,this.green,this.blue,this.hue,this.saturation,c,this.alpha,this.__meta,this.__extmap,null):cljs.core.truth_(a.call(null,new cljs.core.Keyword(null,"alpha","alpha",-1574982441),
b))?new garden.color.CSSColor(this.red,this.green,this.blue,this.hue,this.saturation,this.lightness,c,this.__meta,this.__extmap,null):new garden.color.CSSColor(this.red,this.green,this.blue,this.hue,this.saturation,this.lightness,this.alpha,this.__meta,cljs.core.assoc.call(null,this.__extmap,b,c),null)};
garden.color.CSSColor.prototype.cljs$core$ISeqable$_seq$arity$1=function(a){return cljs.core.seq.call(null,cljs.core.concat.call(null,new cljs.core.PersistentVector(null,7,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.MapEntry(new cljs.core.Keyword(null,"red","red",-969428204),this.red,null),new cljs.core.MapEntry(new cljs.core.Keyword(null,"green","green",-945526839),this.green,null),new cljs.core.MapEntry(new cljs.core.Keyword(null,"blue","blue",-622100620),this.blue,null),new cljs.core.MapEntry(new cljs.core.Keyword(null,
"hue","hue",-508078848),this.hue,null),new cljs.core.MapEntry(new cljs.core.Keyword(null,"saturation","saturation",-14247929),this.saturation,null),new cljs.core.MapEntry(new cljs.core.Keyword(null,"lightness","lightness",-2040901930),this.lightness,null),new cljs.core.MapEntry(new cljs.core.Keyword(null,"alpha","alpha",-1574982441),this.alpha,null)],null),this.__extmap))};
garden.color.CSSColor.prototype.cljs$core$IWithMeta$_with_meta$arity$2=function(a,b){return new garden.color.CSSColor(this.red,this.green,this.blue,this.hue,this.saturation,this.lightness,this.alpha,b,this.__extmap,this.__hash)};
garden.color.CSSColor.prototype.cljs$core$ICollection$_conj$arity$2=function(a,b){return cljs.core.vector_QMARK_.call(null,b)?this.cljs$core$IAssociative$_assoc$arity$3(null,cljs.core._nth.call(null,b,0),cljs.core._nth.call(null,b,1)):cljs.core.reduce.call(null,cljs.core._conj,this,b)};
garden.color.CSSColor.prototype.call=function(){var a=null,b=function(a,b){return cljs.core.get.call(null,this,b)},c=function(a,b,c){return cljs.core.get.call(null,this,b,c)};a=function(a,e,f){switch(arguments.length){case 1:return this;case 2:return b.call(this,a,e);case 3:return c.call(this,a,e,f)}throw Error("Invalid arity: "+(arguments.length-1));};a.cljs$core$IFn$_invoke$arity$1=function(a){return this};a.cljs$core$IFn$_invoke$arity$2=b;a.cljs$core$IFn$_invoke$arity$3=c;return a}();
garden.color.CSSColor.prototype.apply=function(a,b){return this.call.apply(this,[this].concat(cljs.core.aclone.call(null,b)))};garden.color.CSSColor.prototype.cljs$core$IFn$_invoke$arity$0=function(){return this};garden.color.CSSColor.prototype.cljs$core$IFn$_invoke$arity$1=function(a){return cljs.core.get.call(null,this,a)};garden.color.CSSColor.prototype.cljs$core$IFn$_invoke$arity$2=function(a,b){return cljs.core.get.call(null,this,a,b)};
garden.color.CSSColor.getBasis=function(){return new cljs.core.PersistentVector(null,7,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"red","red",671103323,null),new cljs.core.Symbol(null,"green","green",695004688,null),new cljs.core.Symbol(null,"blue","blue",1018430907,null),new cljs.core.Symbol(null,"hue","hue",1132452679,null),new cljs.core.Symbol(null,"saturation","saturation",1626283598,null),new cljs.core.Symbol(null,"lightness","lightness",-400370403,null),new cljs.core.Symbol(null,
"alpha","alpha",65549086,null)],null)};garden.color.CSSColor.cljs$lang$type=!0;garden.color.CSSColor.cljs$lang$ctorPrSeq=function(a){return new cljs.core.List(null,"garden.color/CSSColor",null,1,null)};garden.color.CSSColor.cljs$lang$ctorPrWriter=function(a,b){return cljs.core._write.call(null,b,"garden.color/CSSColor")};garden.color.__GT_CSSColor=function(a,b,c,d,e,f,g){return new garden.color.CSSColor(a,b,c,d,e,f,g,null,null,null)};
garden.color.map__GT_CSSColor=function(a){var b=cljs.core.dissoc.call(null,a,new cljs.core.Keyword(null,"red","red",-969428204),new cljs.core.Keyword(null,"green","green",-945526839),new cljs.core.Keyword(null,"blue","blue",-622100620),new cljs.core.Keyword(null,"hue","hue",-508078848),new cljs.core.Keyword(null,"saturation","saturation",-14247929),new cljs.core.Keyword(null,"lightness","lightness",-2040901930),new cljs.core.Keyword(null,"alpha","alpha",-1574982441));b=cljs.core.record_QMARK_.call(null,
a)?cljs.core.into.call(null,cljs.core.PersistentArrayMap.EMPTY,b):b;return new garden.color.CSSColor((new cljs.core.Keyword(null,"red","red",-969428204)).cljs$core$IFn$_invoke$arity$1(a),(new cljs.core.Keyword(null,"green","green",-945526839)).cljs$core$IFn$_invoke$arity$1(a),(new cljs.core.Keyword(null,"blue","blue",-622100620)).cljs$core$IFn$_invoke$arity$1(a),(new cljs.core.Keyword(null,"hue","hue",-508078848)).cljs$core$IFn$_invoke$arity$1(a),(new cljs.core.Keyword(null,"saturation","saturation",
-14247929)).cljs$core$IFn$_invoke$arity$1(a),(new cljs.core.Keyword(null,"lightness","lightness",-2040901930)).cljs$core$IFn$_invoke$arity$1(a),(new cljs.core.Keyword(null,"alpha","alpha",-1574982441)).cljs$core$IFn$_invoke$arity$1(a),null,cljs.core.not_empty.call(null,b),null)};garden.color.as_color=garden.color.map__GT_CSSColor;
garden.color.rgb=function(a){switch(arguments.length){case 1:return garden.color.rgb.cljs$core$IFn$_invoke$arity$1(arguments[0]);case 3:return garden.color.rgb.cljs$core$IFn$_invoke$arity$3(arguments[0],arguments[1],arguments[2]);default:throw Error(["Invalid arity: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(""));}};
garden.color.rgb.cljs$core$IFn$_invoke$arity$1=function(a){var b=cljs.core.nth.call(null,a,0,null),c=cljs.core.nth.call(null,a,1,null),d=cljs.core.nth.call(null,a,2,null);if(cljs.core.every_QMARK_.call(null,function(a,b,c,d,k){return function(a){return garden.util.between_QMARK_.call(null,a,0,255)}}(a,b,c,d,a),a))return garden.color.as_color.call(null,new cljs.core.PersistentArrayMap(null,3,[new cljs.core.Keyword(null,"red","red",-969428204),b,new cljs.core.Keyword(null,"green","green",-945526839),
c,new cljs.core.Keyword(null,"blue","blue",-622100620),d],null));throw cljs.core.ex_info.call(null,"RGB values must be between 0 and 255",cljs.core.PersistentArrayMap.EMPTY);};garden.color.rgb.cljs$core$IFn$_invoke$arity$3=function(a,b,c){return garden.color.rgb.call(null,new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,[a,b,c],null))};garden.color.rgb.cljs$lang$maxFixedArity=3;
garden.color.rgba=function(a){switch(arguments.length){case 1:return garden.color.rgba.cljs$core$IFn$_invoke$arity$1(arguments[0]);case 4:return garden.color.rgba.cljs$core$IFn$_invoke$arity$4(arguments[0],arguments[1],arguments[2],arguments[3]);default:throw Error(["Invalid arity: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(""));}};
garden.color.rgba.cljs$core$IFn$_invoke$arity$1=function(a){var b=cljs.core.nth.call(null,a,0,null),c=cljs.core.nth.call(null,a,1,null),d=cljs.core.nth.call(null,a,2,null);a=cljs.core.nth.call(null,a,3,null);if(garden.util.between_QMARK_.call(null,a,0,1))return garden.color.as_color.call(null,cljs.core.assoc.call(null,garden.color.rgb.call(null,new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,[b,c,d],null)),new cljs.core.Keyword(null,"alpha","alpha",-1574982441),a));throw cljs.core.ex_info.call(null,
"Alpha value must be between 0 and 1",cljs.core.PersistentArrayMap.EMPTY);};garden.color.rgba.cljs$core$IFn$_invoke$arity$4=function(a,b,c,d){return garden.color.rgba.call(null,new cljs.core.PersistentVector(null,4,5,cljs.core.PersistentVector.EMPTY_NODE,[a,b,c,d],null))};garden.color.rgba.cljs$lang$maxFixedArity=4;
garden.color.hsl=function(a){switch(arguments.length){case 1:return garden.color.hsl.cljs$core$IFn$_invoke$arity$1(arguments[0]);case 3:return garden.color.hsl.cljs$core$IFn$_invoke$arity$3(arguments[0],arguments[1],arguments[2]);default:throw Error(["Invalid arity: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(""));}};
garden.color.hsl.cljs$core$IFn$_invoke$arity$1=function(a){var b=cljs.core.nth.call(null,a,0,null),c=cljs.core.nth.call(null,a,1,null),d=cljs.core.nth.call(null,a,2,null);c=cljs.core.map.call(null,function(a,b,c,d){return function(a){return cljs.core.get.call(null,a,new cljs.core.Keyword(null,"magnitude","magnitude",1924274222),a)}}(a,b,c,d),new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,[b,c,d],null));a=cljs.core.nth.call(null,c,0,null);b=cljs.core.nth.call(null,c,
1,null);c=cljs.core.nth.call(null,c,2,null);if(garden.util.between_QMARK_.call(null,b,0,100)&&garden.util.between_QMARK_.call(null,c,0,100))return garden.color.as_color.call(null,new cljs.core.PersistentArrayMap(null,3,[new cljs.core.Keyword(null,"hue","hue",-508078848),cljs.core.mod.call(null,a,360),new cljs.core.Keyword(null,"saturation","saturation",-14247929),b,new cljs.core.Keyword(null,"lightness","lightness",-2040901930),c],null));throw cljs.core.ex_info.call(null,"Saturation and lightness must be between 0(%) and 100(%)",
cljs.core.PersistentArrayMap.EMPTY);};garden.color.hsl.cljs$core$IFn$_invoke$arity$3=function(a,b,c){return garden.color.hsl.call(null,new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,[a,b,c],null))};garden.color.hsl.cljs$lang$maxFixedArity=3;
garden.color.hsla=function(a){switch(arguments.length){case 1:return garden.color.hsla.cljs$core$IFn$_invoke$arity$1(arguments[0]);case 4:return garden.color.hsla.cljs$core$IFn$_invoke$arity$4(arguments[0],arguments[1],arguments[2],arguments[3]);default:throw Error(["Invalid arity: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(""));}};
garden.color.hsla.cljs$core$IFn$_invoke$arity$1=function(a){var b=cljs.core.nth.call(null,a,0,null),c=cljs.core.nth.call(null,a,1,null),d=cljs.core.nth.call(null,a,2,null);a=cljs.core.nth.call(null,a,3,null);if(garden.util.between_QMARK_.call(null,a,0,1))return garden.color.as_color.call(null,cljs.core.assoc.call(null,garden.color.hsl.call(null,new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,[b,c,d],null)),new cljs.core.Keyword(null,"alpha","alpha",-1574982441),a));throw cljs.core.ex_info.call(null,
"Alpha value must be between 0 and 1",cljs.core.PersistentArrayMap.EMPTY);};garden.color.hsla.cljs$core$IFn$_invoke$arity$4=function(a,b,c,d){return garden.color.hsla.call(null,new cljs.core.PersistentVector(null,4,5,cljs.core.PersistentVector.EMPTY_NODE,[a,b,c,d],null))};garden.color.hsla.cljs$lang$maxFixedArity=4;
garden.color.rgb_QMARK_=function(a){return cljs.core.map_QMARK_.call(null,a)&&cljs.core.every_QMARK_.call(null,a,new cljs.core.PersistentHashSet(null,new cljs.core.PersistentArrayMap(null,3,[new cljs.core.Keyword(null,"green","green",-945526839),null,new cljs.core.Keyword(null,"red","red",-969428204),null,new cljs.core.Keyword(null,"blue","blue",-622100620),null],null),null))};
garden.color.hsl_QMARK_=function(a){return cljs.core.map_QMARK_.call(null,a)&&cljs.core.every_QMARK_.call(null,a,new cljs.core.PersistentHashSet(null,new cljs.core.PersistentArrayMap(null,3,[new cljs.core.Keyword(null,"hue","hue",-508078848),null,new cljs.core.Keyword(null,"saturation","saturation",-14247929),null,new cljs.core.Keyword(null,"lightness","lightness",-2040901930),null],null),null))};
garden.color.hsla_QMARK_=function(a){return cljs.core.map_QMARK_.call(null,a)&&cljs.core.every_QMARK_.call(null,a,new cljs.core.PersistentHashSet(null,new cljs.core.PersistentArrayMap(null,4,[new cljs.core.Keyword(null,"hue","hue",-508078848),null,new cljs.core.Keyword(null,"saturation","saturation",-14247929),null,new cljs.core.Keyword(null,"lightness","lightness",-2040901930),null,new cljs.core.Keyword(null,"alpha","alpha",-1574982441),null],null),null))};
garden.color.color_QMARK_=function(a){return garden.color.rgb_QMARK_.call(null,a)||garden.color.hsl_QMARK_.call(null,a)};garden.color.hex_re=/#?([\da-fA-F]{6}|[\da-fA-F]{3})/;garden.color.hex_QMARK_=function(a){return cljs.core.boolean$.call(null,function(){var b="string"===typeof a;return b?cljs.core.re_matches.call(null,garden.color.hex_re,a):b}())};
garden.color.hex__GT_rgb=function(a){a=cljs.core.re_matches.call(null,garden.color.hex_re,a);if(cljs.core.truth_(a)){var b=cljs.core.nth.call(null,a,0,null),c=cljs.core.nth.call(null,a,1,null),d=cljs.core._EQ_.call(null,3,cljs.core.count.call(null,c))?cljs.core.apply.call(null,cljs.core.str,cljs.core.mapcat.call(null,function(a,b,c,d){return function(a){return new cljs.core.List(null,a,new cljs.core.List(null,a,null,1,null),2,null)}}(a,b,c,a),c)):c;return garden.color.rgb.call(null,cljs.core.map.call(null,
function(a,b,c,d,k){return function(a){return garden.util.string__GT_int.call(null,a,16)}}(d,a,b,c,a),cljs.core.re_seq.call(null,/[\da-fA-F]{2}/,d)))}return null};
garden.color.rgb__GT_hex=function(a){var b=null!=a&&(a.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===a.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,a):a,c=cljs.core.get.call(null,b,new cljs.core.Keyword(null,"red","red",-969428204)),d=cljs.core.get.call(null,b,new cljs.core.Keyword(null,"green","green",-945526839)),e=cljs.core.get.call(null,b,new cljs.core.Keyword(null,"blue","blue",-622100620));a=function(a,b,c,d,e){return function(a){return clojure.string.replace.call(null,
garden.util.format.call(null,"%2s",garden.util.int__GT_string.call(null,a,16))," ","0")}}(a,b,c,d,e);return cljs.core.apply.call(null,cljs.core.str,"#",cljs.core.map.call(null,a,new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,[c,d,e],null)))};garden.color.trim_one=function(a){return 1<a?1:a};
garden.color.rgb__GT_hsl=function(a){var b=null!=a&&(a.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===a.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,a):a,c=cljs.core.get.call(null,b,new cljs.core.Keyword(null,"red","red",-969428204)),d=cljs.core.get.call(null,b,new cljs.core.Keyword(null,"green","green",-945526839)),e=cljs.core.get.call(null,b,new cljs.core.Keyword(null,"blue","blue",-622100620));if(garden.color.hsl_QMARK_.call(null,b))return b;a=cljs.core.map.call(null,
function(a,b,c,d,e,f){return function(a){return a/255}}(a,b,b,c,d,e),new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,[c,d,e],null));var f=cljs.core.nth.call(null,a,0,null),g=cljs.core.nth.call(null,a,1,null),h=cljs.core.nth.call(null,a,2,null),k=function(){var a=f>g?f:g;return a>h?a:h}(),l=function(){var a=f<g?f:g;return a<h?a:h}(),m=k-l;a=function(){var a=cljs.core._EQ_;if(cljs.core.truth_(a.call(null,l,k)))return 0;if(cljs.core.truth_(a.call(null,f,k)))return(g-h)/
m*60;if(cljs.core.truth_(a.call(null,g,k)))return(h-f)/m*60+120;if(cljs.core.truth_(a.call(null,h,k)))return(f-g)/m*60+240;throw Error(["No matching clause: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(k)].join(""));}();b=garden.color.trim_one.call(null,(k+l)/2);c=garden.color.trim_one.call(null,cljs.core._EQ_.call(null,k,l)?0:.5>b?m/(2*b):m/(2-2*b));return garden.color.hsl.call(null,cljs.core.mod.call(null,a,360),100*c,100*b)};
garden.color.hsl__GT_rgb=function(a){var b=null!=a&&(a.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===a.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,a):a,c=cljs.core.get.call(null,b,new cljs.core.Keyword(null,"hue","hue",-508078848)),d=cljs.core.get.call(null,b,new cljs.core.Keyword(null,"saturation","saturation",-14247929)),e=cljs.core.get.call(null,b,new cljs.core.Keyword(null,"lightness","lightness",-2040901930));if(garden.color.rgb_QMARK_.call(null,b))return b;
var f=c/360,g=d/100,h=e/100,k=.5>=h?h*(g+1):h+g-h*g,l=2*h-k;c=cljs.core.map.call(null,function(a,b,c,d,e,f,g,h,k,l,y){return function(a){return Math.round(255*a)}}(f,g,h,k,l,a,b,b,c,d,e),new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,[garden.color.hue__GT_rgb.call(null,l,k,f+1/3),garden.color.hue__GT_rgb.call(null,l,k,f),garden.color.hue__GT_rgb.call(null,l,k,f-1/3)],null));a=cljs.core.nth.call(null,c,0,null);b=cljs.core.nth.call(null,c,1,null);c=cljs.core.nth.call(null,
c,2,null);return garden.color.rgb.call(null,new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,[a,b,c],null))};garden.color.hue__GT_rgb=function(a,b,c){c=0>c?c+1:1<c?c-1:c;return 1>6*c?a+(b-a)*c*6:1>2*c?b:2>3*c?a+(b-a)*(2/3-c)*6:a};garden.color.hsl__GT_hex=function(a){return garden.color.rgb__GT_hex.call(null,garden.color.hsl__GT_rgb.call(null,a))};garden.color.hex__GT_hsl=function(a){return garden.color.rgb__GT_hsl.call(null,garden.color.hex__GT_rgb.call(null,a))};
garden.color.percent_clip=cljs.core.partial.call(null,garden.util.clip,0,100);garden.color.zero_to_one_clip=cljs.core.partial.call(null,garden.util.clip,0,1);garden.color.rgb_clip=cljs.core.partial.call(null,garden.util.clip,0,255);
garden.color.as_hex=function(a){if(garden.color.hex_QMARK_.call(null,a))return a;if(garden.color.rgb_QMARK_.call(null,a))return garden.color.rgb__GT_hex.call(null,a);if(garden.color.hsl_QMARK_.call(null,a))return garden.color.hsl__GT_hex.call(null,a);throw cljs.core.ex_info.call(null,["Can't convert ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(a)," to a color."].join(""),cljs.core.PersistentArrayMap.EMPTY);};
garden.color.as_rgb=function(a){if(garden.color.rgb_QMARK_.call(null,a))return a;if(garden.color.hsl_QMARK_.call(null,a))return garden.color.hsl__GT_rgb.call(null,a);if(garden.color.hex_QMARK_.call(null,a))return garden.color.hex__GT_rgb.call(null,a);if("number"===typeof a)return garden.color.rgb.call(null,cljs.core.map.call(null,garden.color.rgb_clip,new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,[a,a,a],null)));throw cljs.core.ex_info.call(null,["Can't convert ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(a),
" to a color."].join(""),cljs.core.PersistentArrayMap.EMPTY);};
garden.color.as_hsl=function(a){if(garden.color.hsl_QMARK_.call(null,a))return a;if(garden.color.rgb_QMARK_.call(null,a))return garden.color.rgb__GT_hsl.call(null,a);if(garden.color.hex_QMARK_.call(null,a))return garden.color.hex__GT_hsl.call(null,a);if("number"===typeof a)return garden.color.hsl.call(null,new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,[a,garden.color.percent_clip.call(null,a),garden.color.percent_clip.call(null,a)],null));throw cljs.core.ex_info.call(null,
["Can't convert ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(a)," to a color."].join(""),cljs.core.PersistentArrayMap.EMPTY);};garden.color.as_hsla=function(a){var b=cljs.core.get.call(null,a,new cljs.core.Keyword(null,"alpha","alpha",-1574982441),1);return garden.color.hsla_QMARK_.call(null,a)?a:cljs.core.assoc.call(null,garden.color.as_hsl.call(null,a),new cljs.core.Keyword(null,"alpha","alpha",-1574982441),b)};
garden.color.restrict_rgb=function(a){return cljs.core.select_keys.call(null,a,new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"red","red",-969428204),new cljs.core.Keyword(null,"green","green",-945526839),new cljs.core.Keyword(null,"blue","blue",-622100620)],null))};
garden.color.make_color_operation=function(a){return function(){var b=null,c=function(b,c){var d=cljs.core.comp.call(null,garden.color.rgb_clip,a);b=garden.color.restrict_rgb.call(null,garden.color.as_rgb.call(null,b));c=garden.color.restrict_rgb.call(null,garden.color.as_rgb.call(null,c));return garden.color.as_color.call(null,cljs.core.merge_with.call(null,d,b,c))},d=function(){var a=function(a,c,d){return cljs.core.reduce.call(null,b,b.call(null,a,c),d)},c=function(b,c,d){var e=null;if(2<arguments.length){e=
0;for(var f=Array(arguments.length-2);e<f.length;)f[e]=arguments[e+2],++e;e=new cljs.core.IndexedSeq(f,0,null)}return a.call(this,b,c,e)};c.cljs$lang$maxFixedArity=2;c.cljs$lang$applyTo=function(b){var c=cljs.core.first(b);b=cljs.core.next(b);var d=cljs.core.first(b);b=cljs.core.rest(b);return a(c,d,b)};c.cljs$core$IFn$_invoke$arity$variadic=a;return c}();b=function(a,b,g){switch(arguments.length){case 1:return a;case 2:return c.call(this,a,b);default:var e=null;if(2<arguments.length){e=0;for(var f=
Array(arguments.length-2);e<f.length;)f[e]=arguments[e+2],++e;e=new cljs.core.IndexedSeq(f,0,null)}return d.cljs$core$IFn$_invoke$arity$variadic(a,b,e)}throw Error("Invalid arity: "+arguments.length);};b.cljs$lang$maxFixedArity=2;b.cljs$lang$applyTo=d.cljs$lang$applyTo;b.cljs$core$IFn$_invoke$arity$1=function(a){return a};b.cljs$core$IFn$_invoke$arity$2=c;b.cljs$core$IFn$_invoke$arity$variadic=d.cljs$core$IFn$_invoke$arity$variadic;return b}()};
garden.color.color_PLUS_=garden.color.make_color_operation.call(null,cljs.core._PLUS_);garden.color.color_=garden.color.make_color_operation.call(null,cljs.core._);garden.color.color_STAR_=garden.color.make_color_operation.call(null,cljs.core._STAR_);garden.color.color_div=garden.color.make_color_operation.call(null,cljs.core._SLASH_);
garden.color.update_hsla_field=function(a,b,c,d){d=(new cljs.core.Keyword(null,"magnitude","magnitude",1924274222)).cljs$core$IFn$_invoke$arity$2(d,d);return cljs.core.update.call(null,garden.color.as_hsla.call(null,a),b,c,d)};garden.color.rotate_hue=function(a,b){return garden.color.update_hsla_field.call(null,a,new cljs.core.Keyword(null,"hue","hue",-508078848),cljs.core.comp.call(null,function(a){return cljs.core.mod.call(null,a,360)},cljs.core._PLUS_),b)};
garden.color.saturate=function(a,b){return garden.color.update_hsla_field.call(null,a,new cljs.core.Keyword(null,"saturation","saturation",-14247929),cljs.core.comp.call(null,garden.color.percent_clip,cljs.core._PLUS_),b)};garden.color.desaturate=function(a,b){return garden.color.update_hsla_field.call(null,a,new cljs.core.Keyword(null,"saturation","saturation",-14247929),cljs.core.comp.call(null,garden.color.percent_clip,cljs.core._),b)};
garden.color.lighten=function(a,b){return garden.color.update_hsla_field.call(null,a,new cljs.core.Keyword(null,"lightness","lightness",-2040901930),cljs.core.comp.call(null,garden.color.percent_clip,cljs.core._PLUS_),b)};garden.color.darken=function(a,b){return garden.color.update_hsla_field.call(null,a,new cljs.core.Keyword(null,"lightness","lightness",-2040901930),cljs.core.comp.call(null,garden.color.percent_clip,cljs.core._),b)};
garden.color.transparentize=function(a,b){return garden.color.update_hsla_field.call(null,a,new cljs.core.Keyword(null,"alpha","alpha",-1574982441),cljs.core.comp.call(null,garden.color.zero_to_one_clip,cljs.core._),b)};garden.color.opacify=function(a,b){return garden.color.update_hsla_field.call(null,a,new cljs.core.Keyword(null,"alpha","alpha",-1574982441),cljs.core.comp.call(null,garden.color.zero_to_one_clip,cljs.core._PLUS_),b)};
garden.color.invert=function(a){return garden.color.as_color.call(null,cljs.core.merge_with.call(null,cljs.core._,new cljs.core.PersistentArrayMap(null,3,[new cljs.core.Keyword(null,"red","red",-969428204),255,new cljs.core.Keyword(null,"green","green",-945526839),255,new cljs.core.Keyword(null,"blue","blue",-622100620),255],null),garden.color.as_rgb.call(null,a)))};
garden.color.mix=function(a){switch(arguments.length){case 2:return garden.color.mix.cljs$core$IFn$_invoke$arity$2(arguments[0],arguments[1]);default:for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;b=new cljs.core.IndexedSeq(b.slice(2),0,null);return garden.color.mix.cljs$core$IFn$_invoke$arity$variadic(arguments[0],arguments[1],b)}};
garden.color.mix.cljs$core$IFn$_invoke$arity$2=function(a,b){a=garden.color.restrict_rgb.call(null,garden.color.as_rgb.call(null,a));b=garden.color.restrict_rgb.call(null,garden.color.as_rgb.call(null,b));return garden.color.as_color.call(null,cljs.core.merge_with.call(null,garden.util.average,a,b))};garden.color.mix.cljs$core$IFn$_invoke$arity$variadic=function(a,b,c){return cljs.core.reduce.call(null,garden.color.mix,garden.color.mix.call(null,a,b),c)};
garden.color.mix.cljs$lang$applyTo=function(a){var b=cljs.core.first.call(null,a),c=cljs.core.next.call(null,a);a=cljs.core.first.call(null,c);c=cljs.core.next.call(null,c);return this.cljs$core$IFn$_invoke$arity$variadic(b,a,c)};garden.color.mix.cljs$lang$maxFixedArity=2;garden.color.complement=function(a){return garden.color.rotate_hue.call(null,a,180)};
garden.color.hue_rotations=function(a){for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;b=1<b.length?new cljs.core.IndexedSeq(b.slice(1),0,null):null;return garden.color.hue_rotations.cljs$core$IFn$_invoke$arity$variadic(arguments[0],b)};garden.color.hue_rotations.cljs$core$IFn$_invoke$arity$variadic=function(a,b){return cljs.core.map.call(null,cljs.core.partial.call(null,garden.color.rotate_hue,a),b)};garden.color.hue_rotations.cljs$lang$maxFixedArity=1;
garden.color.hue_rotations.cljs$lang$applyTo=function(a){var b=cljs.core.first.call(null,a);a=cljs.core.next.call(null,a);return this.cljs$core$IFn$_invoke$arity$variadic(b,a)};
garden.color.analogous=function(a){switch(arguments.length){case 1:return garden.color.analogous.cljs$core$IFn$_invoke$arity$1(arguments[0]);case 2:return garden.color.analogous.cljs$core$IFn$_invoke$arity$2(arguments[0],arguments[1]);default:throw Error(["Invalid arity: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(""));}};garden.color.analogous.cljs$core$IFn$_invoke$arity$1=function(a){return garden.color.analogous.call(null,a,!0)};
garden.color.analogous.cljs$core$IFn$_invoke$arity$2=function(a,b){b=cljs.core.truth_(b)?cljs.core._PLUS_:cljs.core._;return garden.color.hue_rotations.call(null,a,0,b.call(null,30),b.call(null,60))};garden.color.analogous.cljs$lang$maxFixedArity=2;garden.color.triad=function(a){return garden.color.hue_rotations.call(null,a,0,120,240)};
garden.color.split_complement=function(a){switch(arguments.length){case 1:return garden.color.split_complement.cljs$core$IFn$_invoke$arity$1(arguments[0]);case 2:return garden.color.split_complement.cljs$core$IFn$_invoke$arity$2(arguments[0],arguments[1]);default:throw Error(["Invalid arity: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(""));}};garden.color.split_complement.cljs$core$IFn$_invoke$arity$1=function(a){return garden.color.split_complement.call(null,a,130)};
garden.color.split_complement.cljs$core$IFn$_invoke$arity$2=function(a,b){b=garden.util.clip.call(null,1,179,b);return garden.color.hue_rotations.call(null,a,0,b,-b)};garden.color.split_complement.cljs$lang$maxFixedArity=2;
garden.color.tetrad=function(a){switch(arguments.length){case 1:return garden.color.tetrad.cljs$core$IFn$_invoke$arity$1(arguments[0]);case 2:return garden.color.tetrad.cljs$core$IFn$_invoke$arity$2(arguments[0],arguments[1]);default:throw Error(["Invalid arity: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(""));}};garden.color.tetrad.cljs$core$IFn$_invoke$arity$1=function(a){return garden.color.tetrad.call(null,a,90)};
garden.color.tetrad.cljs$core$IFn$_invoke$arity$2=function(a,b){b=garden.util.clip.call(null,1,90,Math.abs((new cljs.core.Keyword(null,"magnitude","magnitude",1924274222)).cljs$core$IFn$_invoke$arity$2(b,b)));b=garden.color.rotate_hue.call(null,a,b);return new cljs.core.PersistentVector(null,4,5,cljs.core.PersistentVector.EMPTY_NODE,[garden.color.rotate_hue.call(null,a,0),garden.color.complement.call(null,a),b,garden.color.complement.call(null,b)],null)};
garden.color.tetrad.cljs$lang$maxFixedArity=2;garden.color.shades=function(a){switch(arguments.length){case 1:return garden.color.shades.cljs$core$IFn$_invoke$arity$1(arguments[0]);case 2:return garden.color.shades.cljs$core$IFn$_invoke$arity$2(arguments[0],arguments[1]);default:throw Error(["Invalid arity: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(""));}};garden.color.shades.cljs$core$IFn$_invoke$arity$1=function(a){return garden.color.shades.call(null,a,10)};
garden.color.shades.cljs$core$IFn$_invoke$arity$2=function(a,b){return function(a){return function f(c){return new cljs.core.LazySeq(null,function(a){return function(){for(;;){var e=cljs.core.seq.call(null,c);if(e){if(cljs.core.chunked_seq_QMARK_.call(null,e)){var g=cljs.core.chunk_first.call(null,e),l=cljs.core.count.call(null,g),m=cljs.core.chunk_buffer.call(null,l);a:for(var n=0;;)if(n<l){var p=cljs.core._nth.call(null,g,n);cljs.core.chunk_append.call(null,m,cljs.core.assoc.call(null,a,new cljs.core.Keyword(null,
"lightness","lightness",-2040901930),p*b));n+=1}else{g=!0;break a}return g?cljs.core.chunk_cons.call(null,cljs.core.chunk.call(null,m),f.call(null,cljs.core.chunk_rest.call(null,e))):cljs.core.chunk_cons.call(null,cljs.core.chunk.call(null,m),null)}m=cljs.core.first.call(null,e);return cljs.core.cons.call(null,cljs.core.assoc.call(null,a,new cljs.core.Keyword(null,"lightness","lightness",-2040901930),m*b),f.call(null,cljs.core.rest.call(null,e)))}return null}}}(a),null,null)}}(garden.color.as_hsl.call(null,
a)).call(null,cljs.core.range.call(null,1,Math.floor(100/b)))};garden.color.shades.cljs$lang$maxFixedArity=2;
garden.color.color_name__GT_hex=cljs.core.PersistentHashMap.fromArrays([new cljs.core.Keyword(null,"aquamarine","aquamarine",263648544),new cljs.core.Keyword(null,"lime","lime",-1796425088),new cljs.core.Keyword(null,"deepskyblue","deepskyblue",-1691758944),new cljs.core.Keyword(null,"darksalmon","darksalmon",-896495551),new cljs.core.Keyword(null,"antiquewhite","antiquewhite",-1702201183),new cljs.core.Keyword(null,"mediumturquoise","mediumturquoise",2112212449),new cljs.core.Keyword(null,"slategrey",
"slategrey",-1531406687),new cljs.core.Keyword(null,"slategray","slategray",-178672671),new cljs.core.Keyword(null,"sienna","sienna",-1559699358),new cljs.core.Keyword(null,"orange","orange",73816386),new cljs.core.Keyword(null,"navajowhite","navajowhite",1463125346),new cljs.core.Keyword(null,"lavenderblush","lavenderblush",667482818),new cljs.core.Keyword(null,"firebrick","firebrick",-214380606),new cljs.core.Keyword(null,"orangered","orangered",-1851964317),new cljs.core.Keyword(null,"palevioletred",
"palevioletred",-1198100061),new cljs.core.Keyword(null,"lawngreen","lawngreen",672111043),new cljs.core.Keyword(null,"seashell","seashell",1208259012),new cljs.core.Keyword(null,"lightpink","lightpink",808485476),new cljs.core.Keyword(null,"darkolivegreen","darkolivegreen",-2098617596),new cljs.core.Keyword(null,"aliceblue","aliceblue",-1185534108),new cljs.core.Keyword(null,"gray","gray",1013268388),new cljs.core.Keyword(null,"lightsteelblue","lightsteelblue",-209586236),new cljs.core.Keyword(null,
"whitesmoke","whitesmoke",1847137252),new cljs.core.Keyword(null,"darkgoldenrod","darkgoldenrod",-1115778811),new cljs.core.Keyword(null,"tan","tan",1273609893),new cljs.core.Keyword(null,"bisque","bisque",-862836634),new cljs.core.Keyword(null,"white","white",-483998618),new cljs.core.Keyword(null,"lightgreen","lightgreen",-1542529498),new cljs.core.Keyword(null,"darkseagreen","darkseagreen",410063911),new cljs.core.Keyword(null,"crimson","crimson",-1192060857),new cljs.core.Keyword(null,"darkslategray",
"darkslategray",348576839),new cljs.core.Keyword(null,"mistyrose","mistyrose",-619815737),new cljs.core.Keyword(null,"chocolate","chocolate",772404615),new cljs.core.Keyword(null,"yellow","yellow",-881035449),new cljs.core.Keyword(null,"cadetblue","cadetblue",1126335112),new cljs.core.Keyword(null,"navy","navy",1626342120),new cljs.core.Keyword(null,"ghostwhite","ghostwhite",-1030428888),new cljs.core.Keyword(null,"dimgrey","dimgrey",265814984),new cljs.core.Keyword(null,"seagreen","seagreen",1345424905),
new cljs.core.Keyword(null,"green","green",-945526839),new cljs.core.Keyword(null,"mediumseagreen","mediumseagreen",2130779146),new cljs.core.Keyword(null,"indigo","indigo",-280252374),new cljs.core.Keyword(null,"olivedrab","olivedrab",477000042),new cljs.core.Keyword(null,"cyan","cyan",1118839274),new cljs.core.Keyword(null,"peachpuff","peachpuff",-1932127734),new cljs.core.Keyword(null,"limegreen","limegreen",-121735638),new cljs.core.Keyword(null,"mediumslateblue","mediumslateblue",-900241526),
new cljs.core.Keyword(null,"violet","violet",-1351470549),new cljs.core.Keyword(null,"sandybrown","sandybrown",-417646484),new cljs.core.Keyword(null,"yellowgreen","yellowgreen",844595052),new cljs.core.Keyword(null,"mediumspringgreen","mediumspringgreen",-257604339),new cljs.core.Keyword(null,"steelblue","steelblue",1620562381),new cljs.core.Keyword(null,"rosybrown","rosybrown",1634897517),new cljs.core.Keyword(null,"cornflowerblue","cornflowerblue",-1713148307),new cljs.core.Keyword(null,"ivory",
"ivory",-1259182451),new cljs.core.Keyword(null,"lightgoldenrodyellow","lightgoldenrodyellow",1849392877),new cljs.core.Keyword(null,"salmon","salmon",-1093653298),new cljs.core.Keyword(null,"darkcyan","darkcyan",-1999655442),new cljs.core.Keyword(null,"peru","peru",1147074382),new cljs.core.Keyword(null,"cornsilk","cornsilk",-1628976146),new cljs.core.Keyword(null,"lightslategray","lightslategray",-1109503825),new cljs.core.Keyword(null,"blueviolet","blueviolet",887936463),new cljs.core.Keyword(null,
"forestgreen","forestgreen",1609185807),new cljs.core.Keyword(null,"lightseagreen","lightseagreen",-1503692817),new cljs.core.Keyword(null,"gold","gold",-806826416),new cljs.core.Keyword(null,"gainsboro","gainsboro",-218568880),new cljs.core.Keyword(null,"darkorchid","darkorchid",-1255783536),new cljs.core.Keyword(null,"burlywood","burlywood",1747294160),new cljs.core.Keyword(null,"lightskyblue","lightskyblue",397352944),new cljs.core.Keyword(null,"chartreuse","chartreuse",-1626529775),new cljs.core.Keyword(null,
"snow","snow",1266930033),new cljs.core.Keyword(null,"moccasin","moccasin",885646097),new cljs.core.Keyword(null,"honeydew","honeydew",297211825),new cljs.core.Keyword(null,"aqua","aqua",745022417),new cljs.core.Keyword(null,"darkred","darkred",1564487633),new cljs.core.Keyword(null,"mediumorchid","mediumorchid",114416082),new cljs.core.Keyword(null,"lightsalmon","lightsalmon",278000114),new cljs.core.Keyword(null,"saddlebrown","saddlebrown",-1556765006),new cljs.core.Keyword(null,"wheat","wheat",
783520466),new cljs.core.Keyword(null,"springgreen","springgreen",-1241565454),new cljs.core.Keyword(null,"lightslategrey","lightslategrey",1806136178),new cljs.core.Keyword(null,"darkblue","darkblue",511597490),new cljs.core.Keyword(null,"powderblue","powderblue",65928114),new cljs.core.Keyword(null,"turquoise","turquoise",876845491),new cljs.core.Keyword(null,"blanchedalmond","blanchedalmond",-1397674477),new cljs.core.Keyword(null,"papayawhip","papayawhip",-330388621),new cljs.core.Keyword(null,
"slateblue","slateblue",79472627),new cljs.core.Keyword(null,"lightblue","lightblue",-1333083084),new cljs.core.Keyword(null,"skyblue","skyblue",-2076132812),new cljs.core.Keyword(null,"red","red",-969428204),new cljs.core.Keyword(null,"lightyellow","lightyellow",1576303380),new cljs.core.Keyword(null,"blue","blue",-622100620),new cljs.core.Keyword(null,"palegreen","palegreen",1360601109),new cljs.core.Keyword(null,"greenyellow","greenyellow",1380924629),new cljs.core.Keyword(null,"khaki","khaki",
-1417823979),new cljs.core.Keyword(null,"maroon","maroon",-952210123),new cljs.core.Keyword(null,"darkgrey","darkgrey",-860992715),new cljs.core.Keyword(null,"midnightblue","midnightblue",688164725),new cljs.core.Keyword(null,"floralwhite","floralwhite",1656937461),new cljs.core.Keyword(null,"deeppink","deeppink",1577828374),new cljs.core.Keyword(null,"paleturquoise","paleturquoise",1255621750),new cljs.core.Keyword(null,"darkkhaki","darkkhaki",1599585526),new cljs.core.Keyword(null,"azure","azure",
1864287702),new cljs.core.Keyword(null,"indianred","indianred",-1829312906),new cljs.core.Keyword(null,"darkviolet","darkviolet",552615766),new cljs.core.Keyword(null,"mediumpurple","mediumpurple",-1891751018),new cljs.core.Keyword(null,"fuchsia","fuchsia",990719926),new cljs.core.Keyword(null,"coral","coral",1082484055),new cljs.core.Keyword(null,"mediumvioletred","mediumvioletred",-1767902505),new cljs.core.Keyword(null,"lemonchiffon","lemonchiffon",1115945815),new cljs.core.Keyword(null,"mediumblue",
"mediumblue",-1579936616),new cljs.core.Keyword(null,"darkmagenta","darkmagenta",-1534491240),new cljs.core.Keyword(null,"goldenrod","goldenrod",2000666104),new cljs.core.Keyword(null,"darkorange","darkorange",1453996632),new cljs.core.Keyword(null,"orchid","orchid",-1953715528),new cljs.core.Keyword(null,"plum","plum",2022177528),new cljs.core.Keyword(null,"pink","pink",393815864),new cljs.core.Keyword(null,"teal","teal",1231496088),new cljs.core.Keyword(null,"magenta","magenta",1687937081),new cljs.core.Keyword(null,
"lightgrey","lightgrey",-729897351),new cljs.core.Keyword(null,"purple","purple",-876021126),new cljs.core.Keyword(null,"dodgerblue","dodgerblue",-1678389350),new cljs.core.Keyword(null,"darkturquoise","darkturquoise",-80977765),new cljs.core.Keyword(null,"mintcream","mintcream",1437895067),new cljs.core.Keyword(null,"hotpink","hotpink",1103829723),new cljs.core.Keyword(null,"thistle","thistle",1477120028),new cljs.core.Keyword(null,"royalblue","royalblue",978912636),new cljs.core.Keyword(null,"darkgreen",
"darkgreen",2002841276),new cljs.core.Keyword(null,"darkslateblue","darkslateblue",807219996),new cljs.core.Keyword(null,"silver","silver",1044501468),new cljs.core.Keyword(null,"darkgray","darkgray",-1229776547),new cljs.core.Keyword(null,"oldlace","oldlace",-966038915),new cljs.core.Keyword(null,"mediumaquamarine","mediumaquamarine",1476241181),new cljs.core.Keyword(null,"brown","brown",1414854429),new cljs.core.Keyword(null,"lightgray","lightgray",-845833379),new cljs.core.Keyword(null,"olive",
"olive",-2080542466),new cljs.core.Keyword(null,"lightcoral","lightcoral",-988903010),new cljs.core.Keyword(null,"tomato","tomato",1086708254),new cljs.core.Keyword(null,"lightcyan","lightcyan",-481418530),new cljs.core.Keyword(null,"linen","linen",-1305214018),new cljs.core.Keyword(null,"darkslategrey","darkslategrey",-114797409),new cljs.core.Keyword(null,"lavender","lavender",-1469567809),new cljs.core.Keyword(null,"dimgray","dimgray",-412750241),new cljs.core.Keyword(null,"palegoldenrod","palegoldenrod",
-2067529985),new cljs.core.Keyword(null,"beige","beige",836725695),new cljs.core.Keyword(null,"black","black",1294279647)],"#7fffd4 #00ff00 #00bfff #e9967a #faebd7 #48d1cc #708090 #708090 #a0522d #ffa500 #ffdead #fff0f5 #b22222 #ff4500 #db7093 #7cfc00 #fff5ee #ffb6c1 #556b2f #f0f8ff #808080 #b0c4de #f5f5f5 #b8860b #d2b48c #ffe4c4 #ffffff #90ee90 #8fbc8f #dc143c #2f4f4f #ffe4e1 #d2691e #ffff00 #5f9ea0 #000080 #f8f8ff #696969 #2e8b57 #008000 #3cb371 #4b0082 #6b8e23 #00ffff #ffdab9 #32cd32 #7b68ee #ee82ee #f4a460 #9acd32 #00fa9a #4682b4 #bc8f8f #6495ed #fffff0 #fafad2 #fa8072 #008b8b #cd853f #fff8dc #778899 #8a2be2 #228b22 #20b2aa #ffd700 #dcdcdc #9932cc #deb887 #87cefa #7fff00 #fffafa #ffe4b5 #f0fff0 #00ffff #8b0000 #ba55d3 #ffa07a #8b4513 #f5deb3 #00ff7f #778899 #00008b #b0e0e6 #40e0d0 #ffebcd #ffefd5 #6a5acd #add8e6 #87ceeb #ff0000 #ffffe0 #0000ff #98fb98 #adff2f #f0e68c #800000 #a9a9a9 #191970 #fffaf0 #ff1493 #afeeee #bdb76b #f0ffff #cd5c5c #9400d3 #9370db #ff00ff #ff7f50 #c71585 #fffacd #0000cd #8b008b #daa520 #ff8c00 #da70d6 #dda0dd #ffc0cb #008080 #ff00ff #d3d3d3 #800080 #1e90ff #00ced1 #f5fffa #ff69b4 #d8bfd8 #4169e1 #006400 #483d8b #c0c0c0 #a9a9a9 #fdf5e6 #66cdaa #a52a2a #d3d3d3 #808000 #f08080 #ff6347 #e0ffff #faf0e6 #2f4f4f #e6e6fa #696969 #eee8aa #f5f5dc #000000".split(" "));
garden.color.ex_info_color_name=function(a){return cljs.core.ex_info.call(null,["Unknown color ",cljs.core.pr_str.call(null,a)," see (:expected (ex-data e)) for a list of color names"].join(""),new cljs.core.PersistentArrayMap(null,2,[new cljs.core.Keyword(null,"given","given",716253602),a,new cljs.core.Keyword(null,"expected","expected",1583670997),cljs.core.set.call(null,cljs.core.keys.call(null,garden.color.color_name__GT_hex))],null))};
garden.color.color_name__GT_color=cljs.core.memoize.call(null,function(a){return garden.color.color_name__GT_hex.call(null,a)});garden.color.from_name=function(a){var b=garden.color.color_name__GT_color.call(null,cljs.core.keyword.call(null,a));if(cljs.core.truth_(b))return b;throw garden.color.ex_info_color_name.call(null,a);};
garden.color.scale_color_value=function(a){switch(arguments.length){case 2:return garden.color.scale_color_value.cljs$core$IFn$_invoke$arity$2(arguments[0],arguments[1]);case 4:return garden.color.scale_color_value.cljs$core$IFn$_invoke$arity$4(arguments[0],arguments[1],arguments[2],arguments[3]);default:throw Error(["Invalid arity: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(""));}};
garden.color.scale_color_value.cljs$core$IFn$_invoke$arity$2=function(a,b){return garden.color.scale_color_value.call(null,a,b,0,100)};garden.color.scale_color_value.cljs$core$IFn$_invoke$arity$4=function(a,b,c,d){return garden.util.clip.call(null,c,d,a*(1+b/100))};garden.color.scale_color_value.cljs$lang$maxFixedArity=4;
garden.color.scale_lightness=function(a,b){return garden.color.update_hsla_field.call(null,a,new cljs.core.Keyword(null,"lightness","lightness",-2040901930),garden.color.scale_color_value,b)};garden.color.scale_saturation=function(a,b){return garden.color.update_hsla_field.call(null,a,new cljs.core.Keyword(null,"saturation","saturation",-14247929),garden.color.scale_color_value,b)};
garden.color.scale_alpha=function(a,b){return garden.color.update_hsla_field.call(null,a,new cljs.core.Keyword(null,"alpha","alpha",-1574982441),function(a,b){return garden.color.zero_to_one_clip.call(null,a*(1+b/100))},b)};garden.color.decrown_hex=function(a){return clojure.string.replace.call(null,a,/^#/,"")};garden.color.crown_hex=function(a){return cljs.core.truth_(cljs.core.re_find.call(null,/^#/,a))?a:["#",cljs.core.str.cljs$core$IFn$_invoke$arity$1(a)].join("")};
garden.color.expand_hex=function(a){a=garden.color.decrown_hex.call(null,a);return cljs.core._EQ_.call(null,3,cljs.core.count.call(null,a))?clojure.string.join.call(null,cljs.core.mapcat.call(null,cljs.core.vector,a,a)):cljs.core._EQ_.call(null,1,cljs.core.count.call(null,a))?clojure.string.join.call(null,cljs.core.repeat.call(null,6,a)):a};garden.color.hex__GT_long=function(a){return parseInt(garden.color.expand_hex.call(null,clojure.string.replace.call(null,a,/^#/,"")),16)};
garden.color.long__GT_hex=function(a){return a.toString(16)};
garden.color.weighted_mix=function(a,b,c){var d=cljs.core.map.call(null,function(a){return a/100},new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[100-c,c],null));c=cljs.core.nth.call(null,d,0,null);d=cljs.core.nth.call(null,d,1,null);b=cljs.core.map.call(null,cljs.core.comp.call(null,garden.color.hex__GT_long,garden.color.as_hex),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[a,b],null));a=cljs.core.nth.call(null,b,0,null);b=cljs.core.nth.call(null,
b,1,null);return garden.color.crown_hex.call(null,garden.color.expand_hex.call(null,garden.color.long__GT_hex.call(null,a*c+b*d)))};garden.stylesheet={};garden.stylesheet.rule=function(a){for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;b=1<b.length?new cljs.core.IndexedSeq(b.slice(1),0,null):null;return garden.stylesheet.rule.cljs$core$IFn$_invoke$arity$variadic(arguments[0],b)};
garden.stylesheet.rule.cljs$core$IFn$_invoke$arity$variadic=function(a,b){if(a instanceof cljs.core.Keyword||"string"===typeof a||a instanceof cljs.core.Symbol)return function(){var c=function(c){return cljs.core.into.call(null,cljs.core.apply.call(null,cljs.core.vector,a,b),c)},d=function(a){var b=null;if(0<arguments.length){b=0;for(var d=Array(arguments.length-0);b<d.length;)d[b]=arguments[b+0],++b;b=new cljs.core.IndexedSeq(d,0,null)}return c.call(this,b)};d.cljs$lang$maxFixedArity=0;d.cljs$lang$applyTo=
function(a){a=cljs.core.seq(a);return c(a)};d.cljs$core$IFn$_invoke$arity$variadic=c;return d}();throw cljs.core.ex_info.call(null,"Selector must be either a keyword, string, or symbol.",cljs.core.PersistentArrayMap.EMPTY);};garden.stylesheet.rule.cljs$lang$maxFixedArity=1;garden.stylesheet.rule.cljs$lang$applyTo=function(a){var b=cljs.core.first.call(null,a);a=cljs.core.next.call(null,a);return this.cljs$core$IFn$_invoke$arity$variadic(b,a)};
garden.stylesheet.cssfn=function(a){return function(){var b=function(b){return new garden.types.CSSFunction(a,b,null,null,null)},c=function(a){var c=null;if(0<arguments.length){c=0;for(var d=Array(arguments.length-0);c<d.length;)d[c]=arguments[c+0],++c;c=new cljs.core.IndexedSeq(d,0,null)}return b.call(this,c)};c.cljs$lang$maxFixedArity=0;c.cljs$lang$applyTo=function(a){a=cljs.core.seq(a);return b(a)};c.cljs$core$IFn$_invoke$arity$variadic=b;return c}()};
garden.stylesheet.at_rule=function(a,b){return new garden.types.CSSAtRule(a,b,null,null,null)};garden.stylesheet.at_font_face=function(a){for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;b=0<b.length?new cljs.core.IndexedSeq(b.slice(0),0,null):null;return garden.stylesheet.at_font_face.cljs$core$IFn$_invoke$arity$variadic(b)};
garden.stylesheet.at_font_face.cljs$core$IFn$_invoke$arity$variadic=function(a){return new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,["@font-face",a],null)};garden.stylesheet.at_font_face.cljs$lang$maxFixedArity=0;garden.stylesheet.at_font_face.cljs$lang$applyTo=function(a){return this.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq.call(null,a))};
garden.stylesheet.at_import=function(a){switch(arguments.length){case 1:return garden.stylesheet.at_import.cljs$core$IFn$_invoke$arity$1(arguments[0]);default:for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;b=new cljs.core.IndexedSeq(b.slice(1),0,null);return garden.stylesheet.at_import.cljs$core$IFn$_invoke$arity$variadic(arguments[0],b)}};
garden.stylesheet.at_import.cljs$core$IFn$_invoke$arity$1=function(a){return garden.stylesheet.at_rule.call(null,new cljs.core.Keyword(null,"import","import",-1399500709),new cljs.core.PersistentArrayMap(null,2,[new cljs.core.Keyword(null,"url","url",276297046),a,new cljs.core.Keyword(null,"media-queries","media-queries",-1563277678),null],null))};
garden.stylesheet.at_import.cljs$core$IFn$_invoke$arity$variadic=function(a,b){return garden.stylesheet.at_rule.call(null,new cljs.core.Keyword(null,"import","import",-1399500709),new cljs.core.PersistentArrayMap(null,2,[new cljs.core.Keyword(null,"url","url",276297046),a,new cljs.core.Keyword(null,"media-queries","media-queries",-1563277678),b],null))};
garden.stylesheet.at_import.cljs$lang$applyTo=function(a){var b=cljs.core.first.call(null,a);a=cljs.core.next.call(null,a);return this.cljs$core$IFn$_invoke$arity$variadic(b,a)};garden.stylesheet.at_import.cljs$lang$maxFixedArity=1;garden.stylesheet.at_media=function(a){for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;b=1<b.length?new cljs.core.IndexedSeq(b.slice(1),0,null):null;return garden.stylesheet.at_media.cljs$core$IFn$_invoke$arity$variadic(arguments[0],b)};
garden.stylesheet.at_media.cljs$core$IFn$_invoke$arity$variadic=function(a,b){return garden.stylesheet.at_rule.call(null,new cljs.core.Keyword(null,"media","media",-1066138403),new cljs.core.PersistentArrayMap(null,2,[new cljs.core.Keyword(null,"media-queries","media-queries",-1563277678),a,new cljs.core.Keyword(null,"rules","rules",1198912366),b],null))};garden.stylesheet.at_media.cljs$lang$maxFixedArity=1;
garden.stylesheet.at_media.cljs$lang$applyTo=function(a){var b=cljs.core.first.call(null,a);a=cljs.core.next.call(null,a);return this.cljs$core$IFn$_invoke$arity$variadic(b,a)};garden.stylesheet.at_supports=function(a){for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;b=1<b.length?new cljs.core.IndexedSeq(b.slice(1),0,null):null;return garden.stylesheet.at_supports.cljs$core$IFn$_invoke$arity$variadic(arguments[0],b)};
garden.stylesheet.at_supports.cljs$core$IFn$_invoke$arity$variadic=function(a,b){return garden.stylesheet.at_rule.call(null,new cljs.core.Keyword(null,"feature","feature",27242652),new cljs.core.PersistentArrayMap(null,2,[new cljs.core.Keyword(null,"feature-queries","feature-queries",-1340998408),a,new cljs.core.Keyword(null,"rules","rules",1198912366),b],null))};garden.stylesheet.at_supports.cljs$lang$maxFixedArity=1;
garden.stylesheet.at_supports.cljs$lang$applyTo=function(a){var b=cljs.core.first.call(null,a);a=cljs.core.next.call(null,a);return this.cljs$core$IFn$_invoke$arity$variadic(b,a)};garden.stylesheet.at_keyframes=function(a){for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;b=1<b.length?new cljs.core.IndexedSeq(b.slice(1),0,null):null;return garden.stylesheet.at_keyframes.cljs$core$IFn$_invoke$arity$variadic(arguments[0],b)};
garden.stylesheet.at_keyframes.cljs$core$IFn$_invoke$arity$variadic=function(a,b){return garden.stylesheet.at_rule.call(null,new cljs.core.Keyword(null,"keyframes","keyframes",-1437976012),new cljs.core.PersistentArrayMap(null,2,[new cljs.core.Keyword(null,"identifier","identifier",-805503498),a,new cljs.core.Keyword(null,"frames","frames",1765687497),b],null))};garden.stylesheet.at_keyframes.cljs$lang$maxFixedArity=1;
garden.stylesheet.at_keyframes.cljs$lang$applyTo=function(a){var b=cljs.core.first.call(null,a);a=cljs.core.next.call(null,a);return this.cljs$core$IFn$_invoke$arity$variadic(b,a)};garden.stylesheet.rgb=function(a,b,c){return garden.color.rgb.call(null,new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,[a,b,c],null))};
garden.stylesheet.hsl=function(a,b,c){return garden.color.hsl.call(null,new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,[a,b,c],null))};clojure.data={};clojure.data.atom_diff=function(a,b){return cljs.core._EQ_.call(null,a,b)?new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,[null,null,a],null):new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,[a,b,null],null)};
clojure.data.vectorize=function(a){return cljs.core.seq.call(null,a)?cljs.core.reduce.call(null,function(a,c){var b=cljs.core.nth.call(null,c,0,null);c=cljs.core.nth.call(null,c,1,null);return cljs.core.assoc.call(null,a,b,c)},cljs.core.vec.call(null,cljs.core.repeat.call(null,cljs.core.apply.call(null,cljs.core.max,cljs.core.keys.call(null,a)),null)),a):null};
clojure.data.diff_associative_key=function(a,b,c){var d=cljs.core.get.call(null,a,c),e=cljs.core.get.call(null,b,c),f=clojure.data.diff.call(null,d,e),g=cljs.core.nth.call(null,f,0,null),h=cljs.core.nth.call(null,f,1,null);f=cljs.core.nth.call(null,f,2,null);a=cljs.core.contains_QMARK_.call(null,a,c);b=cljs.core.contains_QMARK_.call(null,b,c);d=a&&b&&(null!=f||null==d&&null==e);return new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,[!a||null==g&&d?null:cljs.core.PersistentArrayMap.createAsIfByAssoc([c,
g]),!b||null==h&&d?null:cljs.core.PersistentArrayMap.createAsIfByAssoc([c,h]),d?cljs.core.PersistentArrayMap.createAsIfByAssoc([c,f]):null],null)};
clojure.data.diff_associative=function(a){switch(arguments.length){case 2:return clojure.data.diff_associative.cljs$core$IFn$_invoke$arity$2(arguments[0],arguments[1]);case 3:return clojure.data.diff_associative.cljs$core$IFn$_invoke$arity$3(arguments[0],arguments[1],arguments[2]);default:throw Error(["Invalid arity: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(""));}};
clojure.data.diff_associative.cljs$core$IFn$_invoke$arity$2=function(a,b){return clojure.data.diff_associative.call(null,a,b,clojure.set.union.call(null,cljs.core.keys.call(null,a),cljs.core.keys.call(null,b)))};
clojure.data.diff_associative.cljs$core$IFn$_invoke$arity$3=function(a,b,c){return cljs.core.reduce.call(null,function(a,b){return cljs.core.doall.call(null,cljs.core.map.call(null,cljs.core.merge,a,b))},new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,[null,null,null],null),cljs.core.map.call(null,cljs.core.partial.call(null,clojure.data.diff_associative_key,a,b),c))};clojure.data.diff_associative.cljs$lang$maxFixedArity=3;
clojure.data.diff_sequential=function(a,b){return cljs.core.vec.call(null,cljs.core.map.call(null,clojure.data.vectorize,clojure.data.diff_associative.call(null,cljs.core.vector_QMARK_.call(null,a)?a:cljs.core.vec.call(null,a),cljs.core.vector_QMARK_.call(null,b)?b:cljs.core.vec.call(null,b),cljs.core.range.call(null,function(){var c=cljs.core.count.call(null,a),d=cljs.core.count.call(null,b);return c>d?c:d}()))))};
clojure.data.diff_set=function(a,b){return new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,[cljs.core.not_empty.call(null,clojure.set.difference.call(null,a,b)),cljs.core.not_empty.call(null,clojure.set.difference.call(null,b,a)),cljs.core.not_empty.call(null,clojure.set.intersection.call(null,a,b))],null)};clojure.data.EqualityPartition=function(){};
clojure.data.equality_partition=function(a){if(null!=a&&null!=a.clojure$data$EqualityPartition$equality_partition$arity$1)return a.clojure$data$EqualityPartition$equality_partition$arity$1(a);var b=clojure.data.equality_partition[goog.typeOf(null==a?null:a)];if(null!=b)return b.call(null,a);b=clojure.data.equality_partition._;if(null!=b)return b.call(null,a);throw cljs.core.missing_protocol.call(null,"EqualityPartition.equality-partition",a);};clojure.data.Diff=function(){};
clojure.data.diff_similar=function(a,b){if(null!=a&&null!=a.clojure$data$Diff$diff_similar$arity$2)return a.clojure$data$Diff$diff_similar$arity$2(a,b);var c=clojure.data.diff_similar[goog.typeOf(null==a?null:a)];if(null!=c)return c.call(null,a,b);c=clojure.data.diff_similar._;if(null!=c)return c.call(null,a,b);throw cljs.core.missing_protocol.call(null,"Diff.diff-similar",a);};goog.object.set(clojure.data.EqualityPartition,"null",!0);
goog.object.set(clojure.data.equality_partition,"null",function(a){return new cljs.core.Keyword(null,"atom","atom",-397043653)});goog.object.set(clojure.data.EqualityPartition,"string",!0);goog.object.set(clojure.data.equality_partition,"string",function(a){return new cljs.core.Keyword(null,"atom","atom",-397043653)});goog.object.set(clojure.data.EqualityPartition,"number",!0);goog.object.set(clojure.data.equality_partition,"number",function(a){return new cljs.core.Keyword(null,"atom","atom",-397043653)});
goog.object.set(clojure.data.EqualityPartition,"array",!0);goog.object.set(clojure.data.equality_partition,"array",function(a){return new cljs.core.Keyword(null,"sequential","sequential",-1082983960)});goog.object.set(clojure.data.EqualityPartition,"function",!0);goog.object.set(clojure.data.equality_partition,"function",function(a){return new cljs.core.Keyword(null,"atom","atom",-397043653)});goog.object.set(clojure.data.EqualityPartition,"boolean",!0);
goog.object.set(clojure.data.equality_partition,"boolean",function(a){return new cljs.core.Keyword(null,"atom","atom",-397043653)});goog.object.set(clojure.data.EqualityPartition,"_",!0);
goog.object.set(clojure.data.equality_partition,"_",function(a){return(null!=a?a.cljs$lang$protocol_mask$partition0$&1024||cljs.core.PROTOCOL_SENTINEL===a.cljs$core$IMap$||(a.cljs$lang$protocol_mask$partition0$?0:cljs.core.native_satisfies_QMARK_.call(null,cljs.core.IMap,a)):cljs.core.native_satisfies_QMARK_.call(null,cljs.core.IMap,a))?new cljs.core.Keyword(null,"map","map",1371690461):(null!=a?a.cljs$lang$protocol_mask$partition0$&4096||cljs.core.PROTOCOL_SENTINEL===a.cljs$core$ISet$||(a.cljs$lang$protocol_mask$partition0$?
0:cljs.core.native_satisfies_QMARK_.call(null,cljs.core.ISet,a)):cljs.core.native_satisfies_QMARK_.call(null,cljs.core.ISet,a))?new cljs.core.Keyword(null,"set","set",304602554):(null!=a?a.cljs$lang$protocol_mask$partition0$&16777216||cljs.core.PROTOCOL_SENTINEL===a.cljs$core$ISequential$||(a.cljs$lang$protocol_mask$partition0$?0:cljs.core.native_satisfies_QMARK_.call(null,cljs.core.ISequential,a)):cljs.core.native_satisfies_QMARK_.call(null,cljs.core.ISequential,a))?new cljs.core.Keyword(null,"sequential",
"sequential",-1082983960):new cljs.core.Keyword(null,"atom","atom",-397043653)});goog.object.set(clojure.data.Diff,"null",!0);goog.object.set(clojure.data.diff_similar,"null",function(a,b){return clojure.data.atom_diff.call(null,a,b)});goog.object.set(clojure.data.Diff,"string",!0);goog.object.set(clojure.data.diff_similar,"string",function(a,b){return clojure.data.atom_diff.call(null,a,b)});goog.object.set(clojure.data.Diff,"number",!0);
goog.object.set(clojure.data.diff_similar,"number",function(a,b){return clojure.data.atom_diff.call(null,a,b)});goog.object.set(clojure.data.Diff,"array",!0);goog.object.set(clojure.data.diff_similar,"array",function(a,b){return clojure.data.diff_sequential.call(null,a,b)});goog.object.set(clojure.data.Diff,"function",!0);goog.object.set(clojure.data.diff_similar,"function",function(a,b){return clojure.data.atom_diff.call(null,a,b)});goog.object.set(clojure.data.Diff,"boolean",!0);
goog.object.set(clojure.data.diff_similar,"boolean",function(a,b){return clojure.data.atom_diff.call(null,a,b)});goog.object.set(clojure.data.Diff,"_",!0);
goog.object.set(clojure.data.diff_similar,"_",function(a,b){return function(){var b=clojure.data.equality_partition.call(null,a);b=b instanceof cljs.core.Keyword?b.fqn:null;switch(b){case "atom":return clojure.data.atom_diff;case "set":return clojure.data.diff_set;case "sequential":return clojure.data.diff_sequential;case "map":return clojure.data.diff_associative;default:throw Error(["No matching clause: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(b)].join(""));}}().call(null,a,b)});
clojure.data.diff=function(a,b){return cljs.core._EQ_.call(null,a,b)?new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,[null,null,a],null):cljs.core._EQ_.call(null,clojure.data.equality_partition.call(null,a),clojure.data.equality_partition.call(null,b))?clojure.data.diff_similar.call(null,a,b):clojure.data.atom_diff.call(null,a,b)};garden.units={};garden.units.length_units=cljs.core.PersistentHashSet.createAsIfByAssoc([new cljs.core.Keyword(null,"mm","mm",-1652850560),new cljs.core.Keyword(null,"pt","pt",556460867),new cljs.core.Keyword(null,"px","px",281329899),new cljs.core.Keyword(null,"pc","pc",512913453),cljs.core.keyword.call(null,"%"),new cljs.core.Keyword(null,"cm","cm",540591536),new cljs.core.Keyword(null,"in","in",-1531184865)]);
garden.units.angular_units=new cljs.core.PersistentHashSet(null,new cljs.core.PersistentArrayMap(null,4,[new cljs.core.Keyword(null,"deg","deg",-681556081),null,new cljs.core.Keyword(null,"turn","turn",75759344),null,new cljs.core.Keyword(null,"rad","rad",-833983012),null,new cljs.core.Keyword(null,"grad","grad",1125187229),null],null),null);
garden.units.time_units=new cljs.core.PersistentHashSet(null,new cljs.core.PersistentArrayMap(null,2,[new cljs.core.Keyword(null,"s","s",1705939918),null,new cljs.core.Keyword(null,"ms","ms",-1152709733),null],null),null);garden.units.frequency_units=new cljs.core.PersistentHashSet(null,new cljs.core.PersistentArrayMap(null,2,[new cljs.core.Keyword(null,"kHz","kHz",240398466),null,new cljs.core.Keyword(null,"Hz","Hz",-1958732916),null],null),null);
garden.units.resolution_units=new cljs.core.PersistentHashSet(null,new cljs.core.PersistentArrayMap(null,3,[new cljs.core.Keyword(null,"dppx","dppx",1920508843),null,new cljs.core.Keyword(null,"dpcm","dpcm",-1187601236),null,new cljs.core.Keyword(null,"dpi","dpi",-986162832),null],null),null);garden.units.unit_QMARK_=function(a){return a instanceof garden.types.CSSUnit};
garden.units.length_QMARK_=function(a){return garden.units.unit_QMARK_.call(null,a)&&cljs.core.contains_QMARK_.call(null,garden.units.length_units,(new cljs.core.Keyword(null,"unit","unit",375175175)).cljs$core$IFn$_invoke$arity$1(a))};garden.units.angle_QMARK_=function(a){return garden.units.unit_QMARK_.call(null,a)&&cljs.core.contains_QMARK_.call(null,garden.units.angular_units,(new cljs.core.Keyword(null,"unit","unit",375175175)).cljs$core$IFn$_invoke$arity$1(a))};
garden.units.time_QMARK_=function(a){return garden.units.unit_QMARK_.call(null,a)&&cljs.core.contains_QMARK_.call(null,garden.units.time_units,(new cljs.core.Keyword(null,"unit","unit",375175175)).cljs$core$IFn$_invoke$arity$1(a))};garden.units.frequency_QMARK_=function(a){return garden.units.unit_QMARK_.call(null,a)&&cljs.core.contains_QMARK_.call(null,garden.units.frequency_units,(new cljs.core.Keyword(null,"unit","unit",375175175)).cljs$core$IFn$_invoke$arity$1(a))};
garden.units.resolution_QMARK_=function(a){return garden.units.unit_QMARK_.call(null,a)&&cljs.core.contains_QMARK_.call(null,garden.units.resolution_units,(new cljs.core.Keyword(null,"unit","unit",375175175)).cljs$core$IFn$_invoke$arity$1(a))};
garden.units.conversions=cljs.core.PersistentHashMap.fromArrays([new cljs.core.Keyword(null,"mm","mm",-1652850560),new cljs.core.Keyword(null,"kHz","kHz",240398466),new cljs.core.Keyword(null,"pt","pt",556460867),new cljs.core.Keyword(null,"px","px",281329899),new cljs.core.Keyword(null,"rem","rem",-976484757),new cljs.core.Keyword(null,"em","em",707813035),new cljs.core.Keyword(null,"Hz","Hz",-1958732916),new cljs.core.Keyword(null,"pc","pc",512913453),cljs.core.keyword.call(null,"%"),new cljs.core.Keyword(null,
"s","s",1705939918),new cljs.core.Keyword(null,"deg","deg",-681556081),new cljs.core.Keyword(null,"cm","cm",540591536),new cljs.core.Keyword(null,"turn","turn",75759344),new cljs.core.Keyword(null,"ms","ms",-1152709733),new cljs.core.Keyword(null,"rad","rad",-833983012),new cljs.core.Keyword(null,"grad","grad",1125187229),new cljs.core.Keyword(null,"in","in",-1531184865)],[new cljs.core.PersistentArrayMap(null,3,[new cljs.core.Keyword(null,"mm","mm",-1652850560),1,new cljs.core.Keyword(null,"pt",
"pt",556460867),2.83464567,new cljs.core.Keyword(null,"px","px",281329899),3.7795275591],null),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"kHz","kHz",240398466),1],null),new cljs.core.PersistentArrayMap(null,2,[new cljs.core.Keyword(null,"pt","pt",556460867),1,new cljs.core.Keyword(null,"px","px",281329899),1.3333333333],null),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"px","px",281329899),1],null),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,
"rem","rem",-976484757),1],null),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"em","em",707813035),1],null),new cljs.core.PersistentArrayMap(null,2,[new cljs.core.Keyword(null,"Hz","Hz",-1958732916),1,new cljs.core.Keyword(null,"kHz","kHz",240398466),.001],null),new cljs.core.PersistentArrayMap(null,4,[new cljs.core.Keyword(null,"mm","mm",-1652850560),4.23333333,new cljs.core.Keyword(null,"pc","pc",512913453),1,new cljs.core.Keyword(null,"pt","pt",556460867),12,new cljs.core.Keyword(null,
"px","px",281329899),16],null),cljs.core.PersistentArrayMap.createAsIfByAssoc([cljs.core.keyword.call(null,"%"),1]),new cljs.core.PersistentArrayMap(null,2,[new cljs.core.Keyword(null,"ms","ms",-1152709733),1E3,new cljs.core.Keyword(null,"s","s",1705939918),1],null),new cljs.core.PersistentArrayMap(null,4,[new cljs.core.Keyword(null,"deg","deg",-681556081),1,new cljs.core.Keyword(null,"grad","grad",1125187229),1.111111111,new cljs.core.Keyword(null,"rad","rad",-833983012),.0174532925,new cljs.core.Keyword(null,
"turn","turn",75759344),.002777778],null),new cljs.core.PersistentArrayMap(null,5,[new cljs.core.Keyword(null,"cm","cm",540591536),1,new cljs.core.Keyword(null,"mm","mm",-1652850560),10,new cljs.core.Keyword(null,"pc","pc",512913453),2.36220473,new cljs.core.Keyword(null,"pt","pt",556460867),28.3464567,new cljs.core.Keyword(null,"px","px",281329899),37.795275591],null),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"turn","turn",75759344),1],null),new cljs.core.PersistentArrayMap(null,
1,[new cljs.core.Keyword(null,"ms","ms",-1152709733),1],null),new cljs.core.PersistentArrayMap(null,2,[new cljs.core.Keyword(null,"rad","rad",-833983012),1,new cljs.core.Keyword(null,"turn","turn",75759344),.159154943],null),new cljs.core.PersistentArrayMap(null,3,[new cljs.core.Keyword(null,"grad","grad",1125187229),1,new cljs.core.Keyword(null,"rad","rad",-833983012),63.661977237,new cljs.core.Keyword(null,"turn","turn",75759344),.0025],null),new cljs.core.PersistentArrayMap(null,6,[new cljs.core.Keyword(null,
"cm","cm",540591536),2.54,new cljs.core.Keyword(null,"in","in",-1531184865),1,new cljs.core.Keyword(null,"mm","mm",-1652850560),25.4,new cljs.core.Keyword(null,"pc","pc",512913453),6,new cljs.core.Keyword(null,"pt","pt",556460867),72,new cljs.core.Keyword(null,"px","px",281329899),96],null)]);garden.units.convertable_QMARK_=function(a){return cljs.core.contains_QMARK_.call(null,garden.units.conversions,a)};
garden.units.convert=function(a,b){var c=null!=a&&(a.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===a.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,a):a;a=cljs.core.get.call(null,c,new cljs.core.Keyword(null,"magnitude","magnitude",1924274222));c=cljs.core.get.call(null,c,new cljs.core.Keyword(null,"unit","unit",375175175));if(cljs.core.every_QMARK_.call(null,garden.units.convertable_QMARK_,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,
[c,b],null))){var d=cljs.core.get_in.call(null,garden.units.conversions,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[c,b],null)),e=cljs.core.get_in.call(null,garden.units.conversions,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[b,c],null));if(cljs.core.truth_(d))return new garden.types.CSSUnit(b,d*a,null,null,null);if(cljs.core.truth_(e))return new garden.types.CSSUnit(b,a/e,null,null,null);throw cljs.core.ex_info.call(null,garden.util.format.call(null,
"Can't convert %s to %s",cljs.core.name.call(null,c),cljs.core.name.call(null,b)),cljs.core.PersistentArrayMap.EMPTY);}b=cljs.core.first.call(null,cljs.core.drop_while.call(null,garden.units.convertable_QMARK_,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[c,b],null)));throw cljs.core.ex_info.call(null,["Inconvertible unit ",cljs.core.name.call(null,b)].join(""),cljs.core.PersistentArrayMap.EMPTY);};garden.units.unit_re=/([+-]?\d+(?:\.?\d+)?)(p[xtc]|in|[cm]m|%|r?em|ex|ch|v(?:[wh]|m(?:in|ax))|deg|g?rad|turn|m?s|k?Hz|dp(?:i|cm|px))/;
garden.units.read_unit=function(a){var b=cljs.core.re_matches.call(null,garden.units.unit_re,a);return cljs.core.truth_(b)?(cljs.core.nth.call(null,b,0,null),a=cljs.core.nth.call(null,b,1,null),b=cljs.core.nth.call(null,b,2,null),b=cljs.core.keyword.call(null,b),a=cljs.core.truth_(a)?cljs.reader.read_string.call(null,a):0,new garden.types.CSSUnit(b,a,null,null,null)):null};
garden.units.make_unit_predicate=function(a){return function(b){return garden.units.unit_QMARK_.call(null,b)&&cljs.core._EQ_.call(null,(new cljs.core.Keyword(null,"unit","unit",375175175)).cljs$core$IFn$_invoke$arity$1(b),a)}};
garden.units.make_unit_fn=function(a){return function(b){if("number"===typeof b)return new garden.types.CSSUnit(a,b,null,null,null);if(garden.units.unit_QMARK_.call(null,b))return cljs.core._EQ_.call(null,a.call(null,b),a)?b:garden.units.convert.call(null,b,a);b=garden.util.format.call(null,"Unable to convert from %s to %s",cljs.core.type.getName(),cljs.core.name.call(null,a));var c=new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"given","given",716253602),new cljs.core.PersistentArrayMap(null,
2,[new cljs.core.Keyword(null,"type","type",1174270348),cljs.core.type,new cljs.core.Keyword(null,"unit","unit",375175175),a],null)],null);throw cljs.core.ex_info.call(null,b,c);}};
garden.units.make_unit_adder=function(a){return function(a){return function(){var b=null,d=function(){return a.call(null,0)},e=function(b){return a.call(null,b)},f=function(b,c){b=a.call(null,b);b=null!=b&&(b.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===b.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,b):b;b=cljs.core.get.call(null,b,new cljs.core.Keyword(null,"magnitude","magnitude",1924274222));c=a.call(null,c);c=null!=c&&(c.cljs$lang$protocol_mask$partition0$&
64||cljs.core.PROTOCOL_SENTINEL===c.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,c):c;c=cljs.core.get.call(null,c,new cljs.core.Keyword(null,"magnitude","magnitude",1924274222));return a.call(null,b+c)},g=function(){var a=function(a,c,d){return cljs.core.reduce.call(null,b,b.call(null,a,c),d)},c=function(b,c,d){var e=null;if(2<arguments.length){e=0;for(var f=Array(arguments.length-2);e<f.length;)f[e]=arguments[e+2],++e;e=new cljs.core.IndexedSeq(f,0,null)}return a.call(this,b,c,e)};
c.cljs$lang$maxFixedArity=2;c.cljs$lang$applyTo=function(b){var c=cljs.core.first(b);b=cljs.core.next(b);var d=cljs.core.first(b);b=cljs.core.rest(b);return a(c,d,b)};c.cljs$core$IFn$_invoke$arity$variadic=a;return c}();b=function(a,b,c){switch(arguments.length){case 0:return d.call(this);case 1:return e.call(this,a);case 2:return f.call(this,a,b);default:var h=null;if(2<arguments.length){h=0;for(var k=Array(arguments.length-2);h<k.length;)k[h]=arguments[h+2],++h;h=new cljs.core.IndexedSeq(k,0,null)}return g.cljs$core$IFn$_invoke$arity$variadic(a,
b,h)}throw Error("Invalid arity: "+arguments.length);};b.cljs$lang$maxFixedArity=2;b.cljs$lang$applyTo=g.cljs$lang$applyTo;b.cljs$core$IFn$_invoke$arity$0=d;b.cljs$core$IFn$_invoke$arity$1=e;b.cljs$core$IFn$_invoke$arity$2=f;b.cljs$core$IFn$_invoke$arity$variadic=g.cljs$core$IFn$_invoke$arity$variadic;return b}()}(garden.units.make_unit_fn.call(null,a))};
garden.units.make_unit_subtractor=function(a){return function(a){return function(){var b=null,d=function(b){return a.call(null,-b)},e=function(b,c){b=a.call(null,b);b=null!=b&&(b.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===b.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,b):b;b=cljs.core.get.call(null,b,new cljs.core.Keyword(null,"magnitude","magnitude",1924274222));c=a.call(null,c);c=null!=c&&(c.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===
c.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,c):c;c=cljs.core.get.call(null,c,new cljs.core.Keyword(null,"magnitude","magnitude",1924274222));return a.call(null,b-c)},f=function(){var a=function(a,c,d){return cljs.core.reduce.call(null,b,b.call(null,a,c),d)},c=function(b,c,d){var e=null;if(2<arguments.length){e=0;for(var f=Array(arguments.length-2);e<f.length;)f[e]=arguments[e+2],++e;e=new cljs.core.IndexedSeq(f,0,null)}return a.call(this,b,c,e)};c.cljs$lang$maxFixedArity=2;c.cljs$lang$applyTo=
function(b){var c=cljs.core.first(b);b=cljs.core.next(b);var d=cljs.core.first(b);b=cljs.core.rest(b);return a(c,d,b)};c.cljs$core$IFn$_invoke$arity$variadic=a;return c}();b=function(a,b,c){switch(arguments.length){case 1:return d.call(this,a);case 2:return e.call(this,a,b);default:var g=null;if(2<arguments.length){g=0;for(var h=Array(arguments.length-2);g<h.length;)h[g]=arguments[g+2],++g;g=new cljs.core.IndexedSeq(h,0,null)}return f.cljs$core$IFn$_invoke$arity$variadic(a,b,g)}throw Error("Invalid arity: "+
arguments.length);};b.cljs$lang$maxFixedArity=2;b.cljs$lang$applyTo=f.cljs$lang$applyTo;b.cljs$core$IFn$_invoke$arity$1=d;b.cljs$core$IFn$_invoke$arity$2=e;b.cljs$core$IFn$_invoke$arity$variadic=f.cljs$core$IFn$_invoke$arity$variadic;return b}()}(garden.units.make_unit_fn.call(null,a))};
garden.units.make_unit_multiplier=function(a){var b=garden.units.make_unit_fn.call(null,a);a=cljs.core._EQ_.call(null,a,new cljs.core.Keyword(null,"%","%",1704198600))?function(a){return function(a,b){return a*b/100}}(b):cljs.core._STAR_;return function(a,b){return function(){var c=null,d=function(){return a.call(null,1)},g=function(b){return a.call(null,b)},h=function(c,d){c=a.call(null,c);c=null!=c&&(c.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===c.cljs$core$ISeq$)?cljs.core.apply.call(null,
cljs.core.hash_map,c):c;c=cljs.core.get.call(null,c,new cljs.core.Keyword(null,"magnitude","magnitude",1924274222));d=a.call(null,d);d=null!=d&&(d.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===d.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,d):d;d=cljs.core.get.call(null,d,new cljs.core.Keyword(null,"magnitude","magnitude",1924274222));return a.call(null,b.call(null,c,d))},k=function(){var a=function(a,b,d){return cljs.core.reduce.call(null,c,c.call(null,a,
b),d)},b=function(b,c,d){var e=null;if(2<arguments.length){e=0;for(var f=Array(arguments.length-2);e<f.length;)f[e]=arguments[e+2],++e;e=new cljs.core.IndexedSeq(f,0,null)}return a.call(this,b,c,e)};b.cljs$lang$maxFixedArity=2;b.cljs$lang$applyTo=function(b){var c=cljs.core.first(b);b=cljs.core.next(b);var d=cljs.core.first(b);b=cljs.core.rest(b);return a(c,d,b)};b.cljs$core$IFn$_invoke$arity$variadic=a;return b}();c=function(a,b,c){switch(arguments.length){case 0:return d.call(this);case 1:return g.call(this,
a);case 2:return h.call(this,a,b);default:var e=null;if(2<arguments.length){e=0;for(var f=Array(arguments.length-2);e<f.length;)f[e]=arguments[e+2],++e;e=new cljs.core.IndexedSeq(f,0,null)}return k.cljs$core$IFn$_invoke$arity$variadic(a,b,e)}throw Error("Invalid arity: "+arguments.length);};c.cljs$lang$maxFixedArity=2;c.cljs$lang$applyTo=k.cljs$lang$applyTo;c.cljs$core$IFn$_invoke$arity$0=d;c.cljs$core$IFn$_invoke$arity$1=g;c.cljs$core$IFn$_invoke$arity$2=h;c.cljs$core$IFn$_invoke$arity$variadic=
k.cljs$core$IFn$_invoke$arity$variadic;return c}()}(b,a)};
garden.units.make_unit_divider=function(a){var b=garden.units.make_unit_fn.call(null,a);a=cljs.core._EQ_.call(null,a,new cljs.core.Keyword(null,"%","%",1704198600))?function(a){return function(a,b){return a/b*100}}(b):cljs.core._SLASH_;return function(a,b){return function(){var c=null,d=function(b){return a.call(null,1/b)},g=function(c,d){c=a.call(null,c);c=null!=c&&(c.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===c.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,
c):c;c=cljs.core.get.call(null,c,new cljs.core.Keyword(null,"magnitude","magnitude",1924274222));d=a.call(null,d);d=null!=d&&(d.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===d.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,d):d;d=cljs.core.get.call(null,d,new cljs.core.Keyword(null,"magnitude","magnitude",1924274222));return a.call(null,b.call(null,c,d))},h=function(){var a=function(a,b,d){return cljs.core.reduce.call(null,c,c.call(null,a,b),d)},b=function(b,
c,d){var e=null;if(2<arguments.length){e=0;for(var f=Array(arguments.length-2);e<f.length;)f[e]=arguments[e+2],++e;e=new cljs.core.IndexedSeq(f,0,null)}return a.call(this,b,c,e)};b.cljs$lang$maxFixedArity=2;b.cljs$lang$applyTo=function(b){var c=cljs.core.first(b);b=cljs.core.next(b);var d=cljs.core.first(b);b=cljs.core.rest(b);return a(c,d,b)};b.cljs$core$IFn$_invoke$arity$variadic=a;return b}();c=function(a,b,c){switch(arguments.length){case 1:return d.call(this,a);case 2:return g.call(this,a,b);
default:var e=null;if(2<arguments.length){e=0;for(var f=Array(arguments.length-2);e<f.length;)f[e]=arguments[e+2],++e;e=new cljs.core.IndexedSeq(f,0,null)}return h.cljs$core$IFn$_invoke$arity$variadic(a,b,e)}throw Error("Invalid arity: "+arguments.length);};c.cljs$lang$maxFixedArity=2;c.cljs$lang$applyTo=h.cljs$lang$applyTo;c.cljs$core$IFn$_invoke$arity$1=d;c.cljs$core$IFn$_invoke$arity$2=g;c.cljs$core$IFn$_invoke$arity$variadic=h.cljs$core$IFn$_invoke$arity$variadic;return c}()}(b,a)};
garden.units.cm=garden.units.make_unit_fn.call(null,new cljs.core.Keyword(null,"cm","cm",540591536));garden.units.cm_QMARK_=garden.units.make_unit_predicate.call(null,new cljs.core.Keyword(null,"cm","cm",540591536));garden.units.cm_PLUS_=garden.units.make_unit_adder.call(null,new cljs.core.Keyword(null,"cm","cm",540591536));garden.units.cm_=garden.units.make_unit_subtractor.call(null,new cljs.core.Keyword(null,"cm","cm",540591536));
garden.units.cm_STAR_=garden.units.make_unit_multiplier.call(null,new cljs.core.Keyword(null,"cm","cm",540591536));garden.units.cm_div=garden.units.make_unit_divider.call(null,new cljs.core.Keyword(null,"cm","cm",540591536));garden.units.mm=garden.units.make_unit_fn.call(null,new cljs.core.Keyword(null,"mm","mm",-1652850560));garden.units.mm_QMARK_=garden.units.make_unit_predicate.call(null,new cljs.core.Keyword(null,"mm","mm",-1652850560));
garden.units.mm_PLUS_=garden.units.make_unit_adder.call(null,new cljs.core.Keyword(null,"mm","mm",-1652850560));garden.units.mm_=garden.units.make_unit_subtractor.call(null,new cljs.core.Keyword(null,"mm","mm",-1652850560));garden.units.mm_STAR_=garden.units.make_unit_multiplier.call(null,new cljs.core.Keyword(null,"mm","mm",-1652850560));garden.units.mm_div=garden.units.make_unit_divider.call(null,new cljs.core.Keyword(null,"mm","mm",-1652850560));
garden.units.in$=garden.units.make_unit_fn.call(null,new cljs.core.Keyword(null,"in","in",-1531184865));garden.units.in_QMARK_=garden.units.make_unit_predicate.call(null,new cljs.core.Keyword(null,"in","in",-1531184865));garden.units.in_PLUS_=garden.units.make_unit_adder.call(null,new cljs.core.Keyword(null,"in","in",-1531184865));garden.units.in_=garden.units.make_unit_subtractor.call(null,new cljs.core.Keyword(null,"in","in",-1531184865));
garden.units.in_STAR_=garden.units.make_unit_multiplier.call(null,new cljs.core.Keyword(null,"in","in",-1531184865));garden.units.in_div=garden.units.make_unit_divider.call(null,new cljs.core.Keyword(null,"in","in",-1531184865));garden.units.px=garden.units.make_unit_fn.call(null,new cljs.core.Keyword(null,"px","px",281329899));garden.units.px_QMARK_=garden.units.make_unit_predicate.call(null,new cljs.core.Keyword(null,"px","px",281329899));
garden.units.px_PLUS_=garden.units.make_unit_adder.call(null,new cljs.core.Keyword(null,"px","px",281329899));garden.units.px_=garden.units.make_unit_subtractor.call(null,new cljs.core.Keyword(null,"px","px",281329899));garden.units.px_STAR_=garden.units.make_unit_multiplier.call(null,new cljs.core.Keyword(null,"px","px",281329899));garden.units.px_div=garden.units.make_unit_divider.call(null,new cljs.core.Keyword(null,"px","px",281329899));
garden.units.pt=garden.units.make_unit_fn.call(null,new cljs.core.Keyword(null,"pt","pt",556460867));garden.units.pt_QMARK_=garden.units.make_unit_predicate.call(null,new cljs.core.Keyword(null,"pt","pt",556460867));garden.units.pt_PLUS_=garden.units.make_unit_adder.call(null,new cljs.core.Keyword(null,"pt","pt",556460867));garden.units.pt_=garden.units.make_unit_subtractor.call(null,new cljs.core.Keyword(null,"pt","pt",556460867));
garden.units.pt_STAR_=garden.units.make_unit_multiplier.call(null,new cljs.core.Keyword(null,"pt","pt",556460867));garden.units.pt_div=garden.units.make_unit_divider.call(null,new cljs.core.Keyword(null,"pt","pt",556460867));garden.units.pc=garden.units.make_unit_fn.call(null,new cljs.core.Keyword(null,"pc","pc",512913453));garden.units.pc_QMARK_=garden.units.make_unit_predicate.call(null,new cljs.core.Keyword(null,"pc","pc",512913453));
garden.units.pc_PLUS_=garden.units.make_unit_adder.call(null,new cljs.core.Keyword(null,"pc","pc",512913453));garden.units.pc_=garden.units.make_unit_subtractor.call(null,new cljs.core.Keyword(null,"pc","pc",512913453));garden.units.pc_STAR_=garden.units.make_unit_multiplier.call(null,new cljs.core.Keyword(null,"pc","pc",512913453));garden.units.pc_div=garden.units.make_unit_divider.call(null,new cljs.core.Keyword(null,"pc","pc",512913453));
garden.units.percent=garden.units.make_unit_fn.call(null,new cljs.core.Keyword(null,"%","%",1704198600));garden.units.percent_QMARK_=garden.units.make_unit_predicate.call(null,new cljs.core.Keyword(null,"%","%",1704198600));garden.units.percent_PLUS_=garden.units.make_unit_adder.call(null,new cljs.core.Keyword(null,"%","%",1704198600));garden.units.percent_=garden.units.make_unit_subtractor.call(null,new cljs.core.Keyword(null,"%","%",1704198600));
garden.units.percent_STAR_=garden.units.make_unit_multiplier.call(null,new cljs.core.Keyword(null,"%","%",1704198600));garden.units.percent_div=garden.units.make_unit_divider.call(null,new cljs.core.Keyword(null,"%","%",1704198600));garden.units.em=garden.units.make_unit_fn.call(null,new cljs.core.Keyword(null,"em","em",707813035));garden.units.em_QMARK_=garden.units.make_unit_predicate.call(null,new cljs.core.Keyword(null,"em","em",707813035));
garden.units.em_PLUS_=garden.units.make_unit_adder.call(null,new cljs.core.Keyword(null,"em","em",707813035));garden.units.em_=garden.units.make_unit_subtractor.call(null,new cljs.core.Keyword(null,"em","em",707813035));garden.units.em_STAR_=garden.units.make_unit_multiplier.call(null,new cljs.core.Keyword(null,"em","em",707813035));garden.units.em_div=garden.units.make_unit_divider.call(null,new cljs.core.Keyword(null,"em","em",707813035));
garden.units.ex=garden.units.make_unit_fn.call(null,new cljs.core.Keyword(null,"ex","ex",-1413771341));garden.units.ex_QMARK_=garden.units.make_unit_predicate.call(null,new cljs.core.Keyword(null,"ex","ex",-1413771341));garden.units.ex_PLUS_=garden.units.make_unit_adder.call(null,new cljs.core.Keyword(null,"ex","ex",-1413771341));garden.units.ex_=garden.units.make_unit_subtractor.call(null,new cljs.core.Keyword(null,"ex","ex",-1413771341));
garden.units.ex_STAR_=garden.units.make_unit_multiplier.call(null,new cljs.core.Keyword(null,"ex","ex",-1413771341));garden.units.ex_div=garden.units.make_unit_divider.call(null,new cljs.core.Keyword(null,"ex","ex",-1413771341));garden.units.ch=garden.units.make_unit_fn.call(null,new cljs.core.Keyword(null,"ch","ch",-554717905));garden.units.ch_QMARK_=garden.units.make_unit_predicate.call(null,new cljs.core.Keyword(null,"ch","ch",-554717905));
garden.units.ch_PLUS_=garden.units.make_unit_adder.call(null,new cljs.core.Keyword(null,"ch","ch",-554717905));garden.units.ch_=garden.units.make_unit_subtractor.call(null,new cljs.core.Keyword(null,"ch","ch",-554717905));garden.units.ch_STAR_=garden.units.make_unit_multiplier.call(null,new cljs.core.Keyword(null,"ch","ch",-554717905));garden.units.ch_div=garden.units.make_unit_divider.call(null,new cljs.core.Keyword(null,"ch","ch",-554717905));
garden.units.rem=garden.units.make_unit_fn.call(null,new cljs.core.Keyword(null,"rem","rem",-976484757));garden.units.rem_QMARK_=garden.units.make_unit_predicate.call(null,new cljs.core.Keyword(null,"rem","rem",-976484757));garden.units.rem_PLUS_=garden.units.make_unit_adder.call(null,new cljs.core.Keyword(null,"rem","rem",-976484757));garden.units.rem_=garden.units.make_unit_subtractor.call(null,new cljs.core.Keyword(null,"rem","rem",-976484757));
garden.units.rem_STAR_=garden.units.make_unit_multiplier.call(null,new cljs.core.Keyword(null,"rem","rem",-976484757));garden.units.rem_div=garden.units.make_unit_divider.call(null,new cljs.core.Keyword(null,"rem","rem",-976484757));garden.units.vw=garden.units.make_unit_fn.call(null,new cljs.core.Keyword(null,"vw","vw",1941049135));garden.units.vw_QMARK_=garden.units.make_unit_predicate.call(null,new cljs.core.Keyword(null,"vw","vw",1941049135));
garden.units.vw_PLUS_=garden.units.make_unit_adder.call(null,new cljs.core.Keyword(null,"vw","vw",1941049135));garden.units.vw_=garden.units.make_unit_subtractor.call(null,new cljs.core.Keyword(null,"vw","vw",1941049135));garden.units.vw_STAR_=garden.units.make_unit_multiplier.call(null,new cljs.core.Keyword(null,"vw","vw",1941049135));garden.units.vw_div=garden.units.make_unit_divider.call(null,new cljs.core.Keyword(null,"vw","vw",1941049135));
garden.units.vh=garden.units.make_unit_fn.call(null,new cljs.core.Keyword(null,"vh","vh",79552846));garden.units.vh_QMARK_=garden.units.make_unit_predicate.call(null,new cljs.core.Keyword(null,"vh","vh",79552846));garden.units.vh_PLUS_=garden.units.make_unit_adder.call(null,new cljs.core.Keyword(null,"vh","vh",79552846));garden.units.vh_=garden.units.make_unit_subtractor.call(null,new cljs.core.Keyword(null,"vh","vh",79552846));
garden.units.vh_STAR_=garden.units.make_unit_multiplier.call(null,new cljs.core.Keyword(null,"vh","vh",79552846));garden.units.vh_div=garden.units.make_unit_divider.call(null,new cljs.core.Keyword(null,"vh","vh",79552846));garden.units.vmin=garden.units.make_unit_fn.call(null,new cljs.core.Keyword(null,"vmin","vmin",446546816));garden.units.vmin_QMARK_=garden.units.make_unit_predicate.call(null,new cljs.core.Keyword(null,"vmin","vmin",446546816));
garden.units.vmin_PLUS_=garden.units.make_unit_adder.call(null,new cljs.core.Keyword(null,"vmin","vmin",446546816));garden.units.vmin_=garden.units.make_unit_subtractor.call(null,new cljs.core.Keyword(null,"vmin","vmin",446546816));garden.units.vmin_STAR_=garden.units.make_unit_multiplier.call(null,new cljs.core.Keyword(null,"vmin","vmin",446546816));garden.units.vmin_div=garden.units.make_unit_divider.call(null,new cljs.core.Keyword(null,"vmin","vmin",446546816));
garden.units.vmax=garden.units.make_unit_fn.call(null,new cljs.core.Keyword(null,"vmax","vmax",-1435213544));garden.units.vmax_QMARK_=garden.units.make_unit_predicate.call(null,new cljs.core.Keyword(null,"vmax","vmax",-1435213544));garden.units.vmax_PLUS_=garden.units.make_unit_adder.call(null,new cljs.core.Keyword(null,"vmax","vmax",-1435213544));garden.units.vmax_=garden.units.make_unit_subtractor.call(null,new cljs.core.Keyword(null,"vmax","vmax",-1435213544));
garden.units.vmax_STAR_=garden.units.make_unit_multiplier.call(null,new cljs.core.Keyword(null,"vmax","vmax",-1435213544));garden.units.vmax_div=garden.units.make_unit_divider.call(null,new cljs.core.Keyword(null,"vmax","vmax",-1435213544));garden.units.deg=garden.units.make_unit_fn.call(null,new cljs.core.Keyword(null,"deg","deg",-681556081));garden.units.deg_QMARK_=garden.units.make_unit_predicate.call(null,new cljs.core.Keyword(null,"deg","deg",-681556081));
garden.units.deg_PLUS_=garden.units.make_unit_adder.call(null,new cljs.core.Keyword(null,"deg","deg",-681556081));garden.units.deg_=garden.units.make_unit_subtractor.call(null,new cljs.core.Keyword(null,"deg","deg",-681556081));garden.units.deg_STAR_=garden.units.make_unit_multiplier.call(null,new cljs.core.Keyword(null,"deg","deg",-681556081));garden.units.deg_div=garden.units.make_unit_divider.call(null,new cljs.core.Keyword(null,"deg","deg",-681556081));
garden.units.grad=garden.units.make_unit_fn.call(null,new cljs.core.Keyword(null,"grad","grad",1125187229));garden.units.grad_QMARK_=garden.units.make_unit_predicate.call(null,new cljs.core.Keyword(null,"grad","grad",1125187229));garden.units.grad_PLUS_=garden.units.make_unit_adder.call(null,new cljs.core.Keyword(null,"grad","grad",1125187229));garden.units.grad_=garden.units.make_unit_subtractor.call(null,new cljs.core.Keyword(null,"grad","grad",1125187229));
garden.units.grad_STAR_=garden.units.make_unit_multiplier.call(null,new cljs.core.Keyword(null,"grad","grad",1125187229));garden.units.grad_div=garden.units.make_unit_divider.call(null,new cljs.core.Keyword(null,"grad","grad",1125187229));garden.units.rad=garden.units.make_unit_fn.call(null,new cljs.core.Keyword(null,"rad","rad",-833983012));garden.units.rad_QMARK_=garden.units.make_unit_predicate.call(null,new cljs.core.Keyword(null,"rad","rad",-833983012));
garden.units.rad_PLUS_=garden.units.make_unit_adder.call(null,new cljs.core.Keyword(null,"rad","rad",-833983012));garden.units.rad_=garden.units.make_unit_subtractor.call(null,new cljs.core.Keyword(null,"rad","rad",-833983012));garden.units.rad_STAR_=garden.units.make_unit_multiplier.call(null,new cljs.core.Keyword(null,"rad","rad",-833983012));garden.units.rad_div=garden.units.make_unit_divider.call(null,new cljs.core.Keyword(null,"rad","rad",-833983012));
garden.units.turn=garden.units.make_unit_fn.call(null,new cljs.core.Keyword(null,"turn","turn",75759344));garden.units.turn_QMARK_=garden.units.make_unit_predicate.call(null,new cljs.core.Keyword(null,"turn","turn",75759344));garden.units.turn_PLUS_=garden.units.make_unit_adder.call(null,new cljs.core.Keyword(null,"turn","turn",75759344));garden.units.turn_=garden.units.make_unit_subtractor.call(null,new cljs.core.Keyword(null,"turn","turn",75759344));
garden.units.turn_STAR_=garden.units.make_unit_multiplier.call(null,new cljs.core.Keyword(null,"turn","turn",75759344));garden.units.turn_div=garden.units.make_unit_divider.call(null,new cljs.core.Keyword(null,"turn","turn",75759344));garden.units.s=garden.units.make_unit_fn.call(null,new cljs.core.Keyword(null,"s","s",1705939918));garden.units.s_QMARK_=garden.units.make_unit_predicate.call(null,new cljs.core.Keyword(null,"s","s",1705939918));
garden.units.s_PLUS_=garden.units.make_unit_adder.call(null,new cljs.core.Keyword(null,"s","s",1705939918));garden.units.s_=garden.units.make_unit_subtractor.call(null,new cljs.core.Keyword(null,"s","s",1705939918));garden.units.s_STAR_=garden.units.make_unit_multiplier.call(null,new cljs.core.Keyword(null,"s","s",1705939918));garden.units.s_div=garden.units.make_unit_divider.call(null,new cljs.core.Keyword(null,"s","s",1705939918));
garden.units.ms=garden.units.make_unit_fn.call(null,new cljs.core.Keyword(null,"ms","ms",-1152709733));garden.units.ms_QMARK_=garden.units.make_unit_predicate.call(null,new cljs.core.Keyword(null,"ms","ms",-1152709733));garden.units.ms_PLUS_=garden.units.make_unit_adder.call(null,new cljs.core.Keyword(null,"ms","ms",-1152709733));garden.units.ms_=garden.units.make_unit_subtractor.call(null,new cljs.core.Keyword(null,"ms","ms",-1152709733));
garden.units.ms_STAR_=garden.units.make_unit_multiplier.call(null,new cljs.core.Keyword(null,"ms","ms",-1152709733));garden.units.ms_div=garden.units.make_unit_divider.call(null,new cljs.core.Keyword(null,"ms","ms",-1152709733));garden.units.Hz=garden.units.make_unit_fn.call(null,new cljs.core.Keyword(null,"Hz","Hz",-1958732916));garden.units.Hz_QMARK_=garden.units.make_unit_predicate.call(null,new cljs.core.Keyword(null,"Hz","Hz",-1958732916));
garden.units.Hz_PLUS_=garden.units.make_unit_adder.call(null,new cljs.core.Keyword(null,"Hz","Hz",-1958732916));garden.units.Hz_=garden.units.make_unit_subtractor.call(null,new cljs.core.Keyword(null,"Hz","Hz",-1958732916));garden.units.Hz_STAR_=garden.units.make_unit_multiplier.call(null,new cljs.core.Keyword(null,"Hz","Hz",-1958732916));garden.units.Hz_div=garden.units.make_unit_divider.call(null,new cljs.core.Keyword(null,"Hz","Hz",-1958732916));
garden.units.kHz=garden.units.make_unit_fn.call(null,new cljs.core.Keyword(null,"kHz","kHz",240398466));garden.units.kHz_QMARK_=garden.units.make_unit_predicate.call(null,new cljs.core.Keyword(null,"kHz","kHz",240398466));garden.units.kHz_PLUS_=garden.units.make_unit_adder.call(null,new cljs.core.Keyword(null,"kHz","kHz",240398466));garden.units.kHz_=garden.units.make_unit_subtractor.call(null,new cljs.core.Keyword(null,"kHz","kHz",240398466));
garden.units.kHz_STAR_=garden.units.make_unit_multiplier.call(null,new cljs.core.Keyword(null,"kHz","kHz",240398466));garden.units.kHz_div=garden.units.make_unit_divider.call(null,new cljs.core.Keyword(null,"kHz","kHz",240398466));garden.units.dpi=garden.units.make_unit_fn.call(null,new cljs.core.Keyword(null,"dpi","dpi",-986162832));garden.units.dpi_QMARK_=garden.units.make_unit_predicate.call(null,new cljs.core.Keyword(null,"dpi","dpi",-986162832));
garden.units.dpi_PLUS_=garden.units.make_unit_adder.call(null,new cljs.core.Keyword(null,"dpi","dpi",-986162832));garden.units.dpi_=garden.units.make_unit_subtractor.call(null,new cljs.core.Keyword(null,"dpi","dpi",-986162832));garden.units.dpi_STAR_=garden.units.make_unit_multiplier.call(null,new cljs.core.Keyword(null,"dpi","dpi",-986162832));garden.units.dpi_div=garden.units.make_unit_divider.call(null,new cljs.core.Keyword(null,"dpi","dpi",-986162832));
garden.units.dpcm=garden.units.make_unit_fn.call(null,new cljs.core.Keyword(null,"dpcm","dpcm",-1187601236));garden.units.dpcm_QMARK_=garden.units.make_unit_predicate.call(null,new cljs.core.Keyword(null,"dpcm","dpcm",-1187601236));garden.units.dpcm_PLUS_=garden.units.make_unit_adder.call(null,new cljs.core.Keyword(null,"dpcm","dpcm",-1187601236));garden.units.dpcm_=garden.units.make_unit_subtractor.call(null,new cljs.core.Keyword(null,"dpcm","dpcm",-1187601236));
garden.units.dpcm_STAR_=garden.units.make_unit_multiplier.call(null,new cljs.core.Keyword(null,"dpcm","dpcm",-1187601236));garden.units.dpcm_div=garden.units.make_unit_divider.call(null,new cljs.core.Keyword(null,"dpcm","dpcm",-1187601236));garden.units.dppx=garden.units.make_unit_fn.call(null,new cljs.core.Keyword(null,"dppx","dppx",1920508843));garden.units.dppx_QMARK_=garden.units.make_unit_predicate.call(null,new cljs.core.Keyword(null,"dppx","dppx",1920508843));
garden.units.dppx_PLUS_=garden.units.make_unit_adder.call(null,new cljs.core.Keyword(null,"dppx","dppx",1920508843));garden.units.dppx_=garden.units.make_unit_subtractor.call(null,new cljs.core.Keyword(null,"dppx","dppx",1920508843));garden.units.dppx_STAR_=garden.units.make_unit_multiplier.call(null,new cljs.core.Keyword(null,"dppx","dppx",1920508843));garden.units.dppx_div=garden.units.make_unit_divider.call(null,new cljs.core.Keyword(null,"dppx","dppx",1920508843));garden.compression={};garden.compression.token_fn=function(a){var b=cljs.core.nth.call(null,a,0,null),c=cljs.core.nth.call(null,a,1,null);return function(a,b,c){return function(a){a=cljs.core.re_find.call(null,c,a);return cljs.core.truth_(a)?new cljs.core.PersistentArrayMap(null,3,[new cljs.core.Keyword(null,"tag","tag",-1290361223),b,new cljs.core.Keyword(null,"chunk","chunk",-1191159620),a,new cljs.core.Keyword(null,"size","size",1098693007),cljs.core.count.call(null,a)],null):null}}(a,b,c)};
garden.compression.tokenizer=function(a){for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;b=0<b.length?new cljs.core.IndexedSeq(b.slice(0),0,null):null;return garden.compression.tokenizer.cljs$core$IFn$_invoke$arity$variadic(b)};
garden.compression.tokenizer.cljs$core$IFn$_invoke$arity$variadic=function(a){return function(a){return function(b){return cljs.core.some.call(null,function(a){return function(a){return a.call(null,b)}}(a),a)}}(cljs.core.map.call(null,garden.compression.token_fn,a))};garden.compression.tokenizer.cljs$lang$maxFixedArity=0;garden.compression.tokenizer.cljs$lang$applyTo=function(a){return this.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq.call(null,a))};
garden.compression.stylesheet_tokenizer=garden.compression.tokenizer.call(null,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"string","string",-1989541586),/^"(?:\\.|[^"])*"/],null),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"r-brace","r-brace",-1335738887),/^\s*\{\s*/],null),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,
"l-brace","l-brace",613286657),/^;?\s*}/],null),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"r-paren","r-paren",-1688338021),/^\s*\(\s*/],null),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"l-paren","l-paren",2052672514),/^\s*\)/],null),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"comma","comma",1699024745),/^,\s*/],
null),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"colon","colon",-965200945),/^:\s*/],null),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"semicolon","semicolon",797086549),/^;/],null),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"and","and",-971899817),/^and\s+/],null),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,
[new cljs.core.Keyword(null,"space+","space+",378127624),/^ +/],null),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"white-space+","white-space+",1452157162),/^\s+/],null),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"any","any",1705907423),/^./],null));
garden.compression.compress_stylesheet=function(a){for(var b="";;){var c=garden.compression.stylesheet_tokenizer.call(null,a);if(cljs.core.truth_(c)){c=null!=c&&(c.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===c.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,c):c;var d=cljs.core.get.call(null,c,new cljs.core.Keyword(null,"tag","tag",-1290361223)),e=cljs.core.get.call(null,c,new cljs.core.Keyword(null,"chunk","chunk",-1191159620));c=cljs.core.get.call(null,c,
new cljs.core.Keyword(null,"size","size",1098693007));a=cljs.core.subs.call(null,a,c);b=[b,cljs.core.str.cljs$core$IFn$_invoke$arity$1(function(){var a=d;switch(a instanceof cljs.core.Keyword?a.fqn:null){case "string":return e;case "r-brace":return"{";case "l-brace":return"}";case "r-paren":return"(";case "l-paren":return")";case "and":return"and ";case "comma":return",";case "semi-comma":return";";case "colon":return":";case "space+":return" ";case "white-space+":return"";default:return e}}())].join("")}else return b}};garden.compiler={};
garden.compiler._STAR_flags_STAR_=new cljs.core.PersistentArrayMap(null,6,[new cljs.core.Keyword(null,"pretty-print?","pretty-print?",1932217158),!0,new cljs.core.Keyword(null,"preamble","preamble",1641040241),cljs.core.PersistentVector.EMPTY,new cljs.core.Keyword(null,"output-to","output-to",-965533968),null,new cljs.core.Keyword(null,"vendors","vendors",-153040496),cljs.core.PersistentVector.EMPTY,new cljs.core.Keyword(null,"auto-prefix","auto-prefix",1484803466),cljs.core.PersistentHashSet.EMPTY,new cljs.core.Keyword(null,
"media-expressions","media-expressions",1920421643),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"nesting-behavior","nesting-behavior",-1555995755),new cljs.core.Keyword(null,"default","default",-1987822328)],null)],null);
garden.compiler.media_expression_behavior=new cljs.core.PersistentArrayMap(null,2,[new cljs.core.Keyword(null,"merge","merge",-1804319409),function(a,b){return cljs.core.merge.call(null,b,a)},new cljs.core.Keyword(null,"default","default",-1987822328),function(a,b){return a}],null);garden.compiler._STAR_selector_context_STAR_=null;garden.compiler._STAR_media_query_context_STAR_=null;
var ret__4776__auto___31332=function(){garden.compiler.with_selector_context=function(a){for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;b=3<b.length?new cljs.core.IndexedSeq(b.slice(3),0,null):null;return garden.compiler.with_selector_context.cljs$core$IFn$_invoke$arity$variadic(arguments[0],arguments[1],arguments[2],b)};garden.compiler.with_selector_context.cljs$core$IFn$_invoke$arity$variadic=function(a,b,c,d){return cljs.core.sequence.call(null,cljs.core.seq.call(null,
cljs.core.concat.call(null,new cljs.core.List(null,new cljs.core.Symbol("cljs.core","binding","cljs.core/binding",2050379843,null),null,1,null),new cljs.core.List(null,cljs.core.vec.call(null,cljs.core.sequence.call(null,cljs.core.seq.call(null,cljs.core.concat.call(null,new cljs.core.List(null,new cljs.core.Symbol("garden.compiler","*selector-context*","garden.compiler/*selector-context*",1030088346,null),null,1,null),new cljs.core.List(null,c,null,1,null))))),null,1,null),new cljs.core.List(null,
cljs.core.sequence.call(null,cljs.core.seq.call(null,cljs.core.concat.call(null,new cljs.core.List(null,new cljs.core.Symbol(null,"do","do",1686842252,null),null,1,null),d))),null,1,null))))};garden.compiler.with_selector_context.cljs$lang$maxFixedArity=3;garden.compiler.with_selector_context.cljs$lang$applyTo=function(a){var b=cljs.core.first.call(null,a),c=cljs.core.next.call(null,a);a=cljs.core.first.call(null,c);var d=cljs.core.next.call(null,c);c=cljs.core.first.call(null,d);d=cljs.core.next.call(null,
d);return this.cljs$core$IFn$_invoke$arity$variadic(b,a,c,d)};return null}();garden.compiler.with_selector_context.cljs$lang$macro=!0;
var ret__4776__auto___31340=function(){garden.compiler.with_media_query_context=function(a){for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;b=3<b.length?new cljs.core.IndexedSeq(b.slice(3),0,null):null;return garden.compiler.with_media_query_context.cljs$core$IFn$_invoke$arity$variadic(arguments[0],arguments[1],arguments[2],b)};garden.compiler.with_media_query_context.cljs$core$IFn$_invoke$arity$variadic=function(a,b,c,d){return cljs.core.sequence.call(null,cljs.core.seq.call(null,
cljs.core.concat.call(null,new cljs.core.List(null,new cljs.core.Symbol("cljs.core","binding","cljs.core/binding",2050379843,null),null,1,null),new cljs.core.List(null,cljs.core.vec.call(null,cljs.core.sequence.call(null,cljs.core.seq.call(null,cljs.core.concat.call(null,new cljs.core.List(null,new cljs.core.Symbol("garden.compiler","*media-query-context*","garden.compiler/*media-query-context*",-1783105708,null),null,1,null),new cljs.core.List(null,c,null,1,null))))),null,1,null),new cljs.core.List(null,
cljs.core.sequence.call(null,cljs.core.seq.call(null,cljs.core.concat.call(null,new cljs.core.List(null,new cljs.core.Symbol(null,"do","do",1686842252,null),null,1,null),d))),null,1,null))))};garden.compiler.with_media_query_context.cljs$lang$maxFixedArity=3;garden.compiler.with_media_query_context.cljs$lang$applyTo=function(a){var b=cljs.core.first.call(null,a),c=cljs.core.next.call(null,a);a=cljs.core.first.call(null,c);var d=cljs.core.next.call(null,c);c=cljs.core.first.call(null,d);d=cljs.core.next.call(null,
d);return this.cljs$core$IFn$_invoke$arity$variadic(b,a,c,d)};return null}();garden.compiler.with_media_query_context.cljs$lang$macro=!0;garden.compiler.vendors=function(){return cljs.core.seq.call(null,(new cljs.core.Keyword(null,"vendors","vendors",-153040496)).cljs$core$IFn$_invoke$arity$1(garden.compiler._STAR_flags_STAR_))};
garden.compiler.auto_prefixed_properties=function(){return cljs.core.set.call(null,cljs.core.map.call(null,cljs.core.name,(new cljs.core.Keyword(null,"auto-prefix","auto-prefix",1484803466)).cljs$core$IFn$_invoke$arity$1(garden.compiler._STAR_flags_STAR_)))};garden.compiler.auto_prefix_QMARK_=function(a){return cljs.core.contains_QMARK_.call(null,garden.compiler.auto_prefixed_properties.call(null),a)};
garden.compiler.top_level_expression_QMARK_=function(a){var b=garden.util.rule_QMARK_.call(null,a);return cljs.core.truth_(b)?b:garden.util.at_import_QMARK_.call(null,a)||garden.util.at_media_QMARK_.call(null,a)||garden.util.at_supports_QMARK_.call(null,a)||garden.util.at_keyframes_QMARK_.call(null,a)};garden.compiler.divide_vec=function(a,b){return cljs.core.juxt.call(null,cljs.core.filter,cljs.core.remove).call(null,a,b)};garden.compiler.IExpandable=function(){};
garden.compiler.expand=function(a){if(null!=a&&null!=a.garden$compiler$IExpandable$expand$arity$1)return a.garden$compiler$IExpandable$expand$arity$1(a);var b=garden.compiler.expand[goog.typeOf(null==a?null:a)];if(null!=b)return b.call(null,a);b=garden.compiler.expand._;if(null!=b)return b.call(null,a);throw cljs.core.missing_protocol.call(null,"IExpandable.expand",a);};
garden.compiler.expand_seqs=function(a){return cljs.core.mapcat.call(null,function(a){return cljs.core.seq_QMARK_.call(null,a)?garden.compiler.expand_seqs.call(null,a):new cljs.core.List(null,a,null,1,null)},a)};
garden.compiler.expand_declaration_1=function(a){if(!cljs.core.map_QMARK_.call(null,a))throw Error("Assert failed: (map? declaration)");return cljs.core.reduce.call(null,function(a){return function(b,d){var c=cljs.core.nth.call(null,d,0,null),f=cljs.core.nth.call(null,d,1,null);return garden.util.hash_map_QMARK_.call(null,f)?cljs.core.reduce.call(null,function(a,b,c,d){return function(a,c){var e=cljs.core.nth.call(null,c,0,null);c=cljs.core.nth.call(null,c,1,null);return cljs.core.assoc.call(null,
a,d.call(null,b,e),c)}}(d,c,f,a),b,garden.compiler.expand_declaration_1.call(null,f)):cljs.core.assoc.call(null,b,garden.util.to_str.call(null,c),f)}}(function(a,c){return garden.util.as_str.call(null,a,"-",c)}),cljs.core.empty.call(null,a),a)};garden.compiler.expand_declaration=function(a){return cljs.core.empty_QMARK_.call(null,a)?a:cljs.core.with_meta.call(null,garden.compiler.expand_declaration_1.call(null,a),cljs.core.meta.call(null,a))};garden.compiler.parent_selector_re=/^&(?:\S+)?$/;
garden.compiler.extract_reference=function(a){a=cljs.core.re_find.call(null,garden.compiler.parent_selector_re,garden.util.to_str.call(null,cljs.core.last.call(null,a)));return cljs.core.truth_(a)?cljs.core.apply.call(null,cljs.core.str,cljs.core.rest.call(null,a)):null};
garden.compiler.expand_selector_reference=function(a){var b=garden.compiler.extract_reference.call(null,a);return cljs.core.truth_(b)?(a=cljs.core.butlast.call(null,a),cljs.core.concat.call(null,cljs.core.butlast.call(null,a),new cljs.core.List(null,garden.util.as_str.call(null,cljs.core.last.call(null,a),b),null,1,null))):a};
garden.compiler.expand_selector=function(a,b){a=cljs.core.map.call(null,garden.selectors.css_selector,a);b=cljs.core.seq.call(null,b)?cljs.core.map.call(null,cljs.core.flatten,garden.util.cartesian_product.call(null,b,a)):cljs.core.map.call(null,cljs.core.list,a);return cljs.core.map.call(null,garden.compiler.expand_selector_reference,b)};
garden.compiler.expand_rule=function(a){var b=cljs.core.split_with.call(null,garden.selectors.selector_QMARK_,a);a=cljs.core.nth.call(null,b,0,null);b=cljs.core.nth.call(null,b,1,null);a=garden.compiler.expand_selector.call(null,a,garden.compiler._STAR_selector_context_STAR_);b=garden.compiler.expand.call(null,b);var c=garden.compiler.divide_vec.call(null,garden.util.declaration_QMARK_,b);b=cljs.core.nth.call(null,c,0,null);c=cljs.core.nth.call(null,c,1,null);a:{var d=garden.compiler._STAR_selector_context_STAR_,
e=cljs.core.seq.call(null,a)?a:garden.compiler._STAR_selector_context_STAR_;garden.compiler._STAR_selector_context_STAR_=e;try{var f=cljs.core.doall.call(null,cljs.core.mapcat.call(null,garden.compiler.expand,c));break a}finally{garden.compiler._STAR_selector_context_STAR_=d}f=void 0}return cljs.core.conj.call(null,f,cljs.core.conj.call(null,new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[a],null),cljs.core.mapcat.call(null,garden.compiler.expand,b)))};
if("undefined"===typeof garden||"undefined"===typeof garden.compiler||"undefined"===typeof garden.compiler.expand_at_rule)garden.compiler.expand_at_rule=function(){var a=cljs.core.atom.call(null,cljs.core.PersistentArrayMap.EMPTY),b=cljs.core.atom.call(null,cljs.core.PersistentArrayMap.EMPTY),c=cljs.core.atom.call(null,cljs.core.PersistentArrayMap.EMPTY),d=cljs.core.atom.call(null,cljs.core.PersistentArrayMap.EMPTY),e=cljs.core.get.call(null,cljs.core.PersistentArrayMap.EMPTY,new cljs.core.Keyword(null,
"hierarchy","hierarchy",-1053470341),cljs.core.get_global_hierarchy.call(null));return new cljs.core.MultiFn(cljs.core.symbol.call(null,"garden.compiler","expand-at-rule"),new cljs.core.Keyword(null,"identifier","identifier",-805503498),new cljs.core.Keyword(null,"default","default",-1987822328),e,a,b,c,d)}();cljs.core._add_method.call(null,garden.compiler.expand_at_rule,new cljs.core.Keyword(null,"default","default",-1987822328),function(a){return new cljs.core.List(null,a,null,1,null)});
cljs.core._add_method.call(null,garden.compiler.expand_at_rule,new cljs.core.Keyword(null,"keyframes","keyframes",-1437976012),function(a){a=null!=a&&(a.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===a.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,a):a;a=cljs.core.get.call(null,a,new cljs.core.Keyword(null,"value","value",305978217));var b=null!=a&&(a.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===a.cljs$core$ISeq$)?cljs.core.apply.call(null,
cljs.core.hash_map,a):a;a=cljs.core.get.call(null,b,new cljs.core.Keyword(null,"identifier","identifier",-805503498));b=cljs.core.get.call(null,b,new cljs.core.Keyword(null,"frames","frames",1765687497));return new cljs.core.List(null,new garden.types.CSSAtRule(new cljs.core.Keyword(null,"keyframes","keyframes",-1437976012),new cljs.core.PersistentArrayMap(null,2,[new cljs.core.Keyword(null,"identifier","identifier",-805503498),garden.util.to_str.call(null,a),new cljs.core.Keyword(null,"frames","frames",
1765687497),cljs.core.mapcat.call(null,garden.compiler.expand,b)],null),null,null,null),null,1,null)});
garden.compiler.expand_media_query_expression=function(a){var b=garden.compiler.media_expression_behavior.call(null,cljs.core.get_in.call(null,garden.compiler._STAR_flags_STAR_,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"media-expressions","media-expressions",1920421643),new cljs.core.Keyword(null,"nesting-behavior","nesting-behavior",-1555995755)],null)));return cljs.core.truth_(b)?b.call(null,a,garden.compiler._STAR_media_query_context_STAR_):
a};
cljs.core._add_method.call(null,garden.compiler.expand_at_rule,new cljs.core.Keyword(null,"media","media",-1066138403),function(a){a=null!=a&&(a.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===a.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,a):a;a=cljs.core.get.call(null,a,new cljs.core.Keyword(null,"value","value",305978217));var b=null!=a&&(a.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===a.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,
a):a;a=cljs.core.get.call(null,b,new cljs.core.Keyword(null,"media-queries","media-queries",-1563277678));b=cljs.core.get.call(null,b,new cljs.core.Keyword(null,"rules","rules",1198912366));a=garden.compiler.expand_media_query_expression.call(null,a);a:{var c=garden.compiler._STAR_media_query_context_STAR_;garden.compiler._STAR_media_query_context_STAR_=a;try{var d=cljs.core.doall.call(null,cljs.core.mapcat.call(null,garden.compiler.expand,garden.compiler.expand.call(null,b)));break a}finally{garden.compiler._STAR_media_query_context_STAR_=
c}d=void 0}b=garden.compiler.divide_vec.call(null,garden.util.at_media_QMARK_,d);d=cljs.core.nth.call(null,b,0,null);b=cljs.core.nth.call(null,b,1,null);return cljs.core.cons.call(null,new garden.types.CSSAtRule(new cljs.core.Keyword(null,"media","media",-1066138403),new cljs.core.PersistentArrayMap(null,2,[new cljs.core.Keyword(null,"media-queries","media-queries",-1563277678),a,new cljs.core.Keyword(null,"rules","rules",1198912366),b],null),null,null,null),d)});
cljs.core._add_method.call(null,garden.compiler.expand_at_rule,new cljs.core.Keyword(null,"feature","feature",27242652),function(a){a=null!=a&&(a.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===a.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,a):a;a=cljs.core.get.call(null,a,new cljs.core.Keyword(null,"value","value",305978217));var b=null!=a&&(a.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===a.cljs$core$ISeq$)?cljs.core.apply.call(null,
cljs.core.hash_map,a):a;a=cljs.core.get.call(null,b,new cljs.core.Keyword(null,"feature-queries","feature-queries",-1340998408));b=cljs.core.get.call(null,b,new cljs.core.Keyword(null,"rules","rules",1198912366));a=garden.compiler.expand_media_query_expression.call(null,a);a:{var c=garden.compiler._STAR_media_query_context_STAR_;garden.compiler._STAR_media_query_context_STAR_=a;try{var d=cljs.core.doall.call(null,cljs.core.mapcat.call(null,garden.compiler.expand,garden.compiler.expand.call(null,b)));
break a}finally{garden.compiler._STAR_media_query_context_STAR_=c}d=void 0}b=garden.compiler.divide_vec.call(null,garden.util.at_supports_QMARK_,d);d=cljs.core.nth.call(null,b,0,null);b=cljs.core.nth.call(null,b,1,null);return cljs.core.cons.call(null,new garden.types.CSSAtRule(new cljs.core.Keyword(null,"feature","feature",27242652),new cljs.core.PersistentArrayMap(null,2,[new cljs.core.Keyword(null,"feature-queries","feature-queries",-1340998408),a,new cljs.core.Keyword(null,"rules","rules",1198912366),
b],null),null,null,null),d)});garden.compiler.expand_stylesheet=function(a){return cljs.core.apply.call(null,cljs.core.concat,cljs.core.map.call(null,garden.compiler.expand,garden.compiler.expand.call(null,a)))};goog.object.set(garden.compiler.IExpandable,"null",!0);goog.object.set(garden.compiler.expand,"null",function(a){return null});cljs.core.IndexedSeq.prototype.garden$compiler$IExpandable$=cljs.core.PROTOCOL_SENTINEL;
cljs.core.IndexedSeq.prototype.garden$compiler$IExpandable$expand$arity$1=function(a){return garden.compiler.expand_seqs.call(null,this)};cljs.core.LazySeq.prototype.garden$compiler$IExpandable$=cljs.core.PROTOCOL_SENTINEL;cljs.core.LazySeq.prototype.garden$compiler$IExpandable$expand$arity$1=function(a){return garden.compiler.expand_seqs.call(null,this)};cljs.core.NodeSeq.prototype.garden$compiler$IExpandable$=cljs.core.PROTOCOL_SENTINEL;
cljs.core.NodeSeq.prototype.garden$compiler$IExpandable$expand$arity$1=function(a){return garden.compiler.expand_seqs.call(null,this)};cljs.core.BlackNode.prototype.garden$compiler$IExpandable$=cljs.core.PROTOCOL_SENTINEL;cljs.core.BlackNode.prototype.garden$compiler$IExpandable$expand$arity$1=function(a){return garden.compiler.expand_rule.call(null,this)};cljs.core.PersistentArrayMapSeq.prototype.garden$compiler$IExpandable$=cljs.core.PROTOCOL_SENTINEL;
cljs.core.PersistentArrayMapSeq.prototype.garden$compiler$IExpandable$expand$arity$1=function(a){return garden.compiler.expand_seqs.call(null,this)};cljs.core.ChunkedSeq.prototype.garden$compiler$IExpandable$=cljs.core.PROTOCOL_SENTINEL;cljs.core.ChunkedSeq.prototype.garden$compiler$IExpandable$expand$arity$1=function(a){return garden.compiler.expand_seqs.call(null,this)};cljs.core.Cons.prototype.garden$compiler$IExpandable$=cljs.core.PROTOCOL_SENTINEL;
cljs.core.Cons.prototype.garden$compiler$IExpandable$expand$arity$1=function(a){return garden.compiler.expand_seqs.call(null,this)};cljs.core.RSeq.prototype.garden$compiler$IExpandable$=cljs.core.PROTOCOL_SENTINEL;cljs.core.RSeq.prototype.garden$compiler$IExpandable$expand$arity$1=function(a){return garden.compiler.expand_seqs.call(null,this)};garden.types.CSSFunction.prototype.garden$compiler$IExpandable$=cljs.core.PROTOCOL_SENTINEL;
garden.types.CSSFunction.prototype.garden$compiler$IExpandable$expand$arity$1=function(a){return new cljs.core.List(null,this,null,1,null)};cljs.core.PersistentHashMap.prototype.garden$compiler$IExpandable$=cljs.core.PROTOCOL_SENTINEL;cljs.core.PersistentHashMap.prototype.garden$compiler$IExpandable$expand$arity$1=function(a){return new cljs.core.List(null,garden.compiler.expand_declaration.call(null,this),null,1,null)};cljs.core.ArrayNodeSeq.prototype.garden$compiler$IExpandable$=cljs.core.PROTOCOL_SENTINEL;
cljs.core.ArrayNodeSeq.prototype.garden$compiler$IExpandable$expand$arity$1=function(a){return garden.compiler.expand_seqs.call(null,this)};cljs.core.Subvec.prototype.garden$compiler$IExpandable$=cljs.core.PROTOCOL_SENTINEL;cljs.core.Subvec.prototype.garden$compiler$IExpandable$expand$arity$1=function(a){return garden.compiler.expand_rule.call(null,this)};goog.object.set(garden.compiler.IExpandable,"_",!0);
goog.object.set(garden.compiler.expand,"_",function(a){return new cljs.core.List(null,a,null,1,null)});cljs.core.PersistentTreeMap.prototype.garden$compiler$IExpandable$=cljs.core.PROTOCOL_SENTINEL;cljs.core.PersistentTreeMap.prototype.garden$compiler$IExpandable$expand$arity$1=function(a){return new cljs.core.List(null,garden.compiler.expand_declaration.call(null,this),null,1,null)};cljs.core.ChunkedCons.prototype.garden$compiler$IExpandable$=cljs.core.PROTOCOL_SENTINEL;
cljs.core.ChunkedCons.prototype.garden$compiler$IExpandable$expand$arity$1=function(a){return garden.compiler.expand_seqs.call(null,this)};garden.types.CSSAtRule.prototype.garden$compiler$IExpandable$=cljs.core.PROTOCOL_SENTINEL;garden.types.CSSAtRule.prototype.garden$compiler$IExpandable$expand$arity$1=function(a){return garden.compiler.expand_at_rule.call(null,this)};cljs.core.RedNode.prototype.garden$compiler$IExpandable$=cljs.core.PROTOCOL_SENTINEL;
cljs.core.RedNode.prototype.garden$compiler$IExpandable$expand$arity$1=function(a){return garden.compiler.expand_rule.call(null,this)};cljs.core.PersistentVector.prototype.garden$compiler$IExpandable$=cljs.core.PROTOCOL_SENTINEL;cljs.core.PersistentVector.prototype.garden$compiler$IExpandable$expand$arity$1=function(a){return garden.compiler.expand_rule.call(null,this)};cljs.core.PersistentArrayMap.prototype.garden$compiler$IExpandable$=cljs.core.PROTOCOL_SENTINEL;
cljs.core.PersistentArrayMap.prototype.garden$compiler$IExpandable$expand$arity$1=function(a){return new cljs.core.List(null,garden.compiler.expand_declaration.call(null,this),null,1,null)};garden.color.CSSColor.prototype.garden$compiler$IExpandable$=cljs.core.PROTOCOL_SENTINEL;garden.color.CSSColor.prototype.garden$compiler$IExpandable$expand$arity$1=function(a){return new cljs.core.List(null,this,null,1,null)};cljs.core.List.prototype.garden$compiler$IExpandable$=cljs.core.PROTOCOL_SENTINEL;
cljs.core.List.prototype.garden$compiler$IExpandable$expand$arity$1=function(a){return garden.compiler.expand_seqs.call(null,this)};garden.compiler.CSSRenderer=function(){};
garden.compiler.render_css=function(a){if(null!=a&&null!=a.garden$compiler$CSSRenderer$render_css$arity$1)return a.garden$compiler$CSSRenderer$render_css$arity$1(a);var b=garden.compiler.render_css[goog.typeOf(null==a?null:a)];if(null!=b)return b.call(null,a);b=garden.compiler.render_css._;if(null!=b)return b.call(null,a);throw cljs.core.missing_protocol.call(null,"CSSRenderer.render-css",a);};garden.compiler.comma=", ";garden.compiler.colon=": ";garden.compiler.semicolon=";";
garden.compiler.l_brace=" {\n";garden.compiler.r_brace="\n}";garden.compiler.l_brace_1=" {\n\n";garden.compiler.r_brace_1="\n\n}";garden.compiler.rule_sep="\n\n";garden.compiler.indent="  ";
garden.compiler.space_separated_list=function(a){switch(arguments.length){case 1:return garden.compiler.space_separated_list.cljs$core$IFn$_invoke$arity$1(arguments[0]);case 2:return garden.compiler.space_separated_list.cljs$core$IFn$_invoke$arity$2(arguments[0],arguments[1]);default:throw Error(["Invalid arity: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(""));}};
garden.compiler.space_separated_list.cljs$core$IFn$_invoke$arity$1=function(a){return garden.compiler.space_separated_list.call(null,garden.compiler.render_css,a)};garden.compiler.space_separated_list.cljs$core$IFn$_invoke$arity$2=function(a,b){return clojure.string.join.call(null," ",cljs.core.map.call(null,a,b))};garden.compiler.space_separated_list.cljs$lang$maxFixedArity=2;
garden.compiler.comma_separated_list=function(a){switch(arguments.length){case 1:return garden.compiler.comma_separated_list.cljs$core$IFn$_invoke$arity$1(arguments[0]);case 2:return garden.compiler.comma_separated_list.cljs$core$IFn$_invoke$arity$2(arguments[0],arguments[1]);default:throw Error(["Invalid arity: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(""));}};
garden.compiler.comma_separated_list.cljs$core$IFn$_invoke$arity$1=function(a){return garden.compiler.comma_separated_list.call(null,garden.compiler.render_css,a)};
garden.compiler.comma_separated_list.cljs$core$IFn$_invoke$arity$2=function(a,b){var c=function(){return function f(b){return new cljs.core.LazySeq(null,function(){for(;;){var c=cljs.core.seq.call(null,b);if(c){if(cljs.core.chunked_seq_QMARK_.call(null,c)){var e=cljs.core.chunk_first.call(null,c),k=cljs.core.count.call(null,e),l=cljs.core.chunk_buffer.call(null,k);a:for(var m=0;;)if(m<k){var n=cljs.core._nth.call(null,e,m);cljs.core.chunk_append.call(null,l,cljs.core.sequential_QMARK_.call(null,n)?
garden.compiler.space_separated_list.call(null,a,n):a.call(null,n));m+=1}else{e=!0;break a}return e?cljs.core.chunk_cons.call(null,cljs.core.chunk.call(null,l),f.call(null,cljs.core.chunk_rest.call(null,c))):cljs.core.chunk_cons.call(null,cljs.core.chunk.call(null,l),null)}l=cljs.core.first.call(null,c);return cljs.core.cons.call(null,cljs.core.sequential_QMARK_.call(null,l)?garden.compiler.space_separated_list.call(null,a,l):a.call(null,l),f.call(null,cljs.core.rest.call(null,c)))}return null}},
null,null)}.call(null,b)}();return clojure.string.join.call(null,garden.compiler.comma,c)};garden.compiler.comma_separated_list.cljs$lang$maxFixedArity=2;garden.compiler.rule_join=function(a){return clojure.string.join.call(null,garden.compiler.rule_sep,a)};garden.compiler.indent_loc_re=/(?=[ A-Za-z#.}-]+)^/gm;garden.compiler.indent_str=function(a){return a.replace(garden.compiler.indent_loc_re,garden.compiler.indent)};
garden.compiler.render_value=function(a){return garden.util.at_keyframes_QMARK_.call(null,a)?garden.util.to_str.call(null,cljs.core.get_in.call(null,a,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"value","value",305978217),new cljs.core.Keyword(null,"identifier","identifier",-805503498)],null))):garden.compiler.render_css.call(null,a)};
garden.compiler.render_property_and_value=function(a){var b=cljs.core.nth.call(null,a,0,null);a=cljs.core.nth.call(null,a,1,null);if(cljs.core.set_QMARK_.call(null,a))return clojure.string.join.call(null,"\n",cljs.core.map.call(null,garden.compiler.render_property_and_value,cljs.core.partition.call(null,2,cljs.core.interleave.call(null,cljs.core.repeat.call(null,b),a))));a=cljs.core.sequential_QMARK_.call(null,a)?garden.compiler.comma_separated_list.call(null,garden.compiler.render_value,a):garden.compiler.render_value.call(null,
a);return garden.util.as_str.call(null,b,garden.compiler.colon,a,garden.compiler.semicolon)};garden.compiler.add_blocks=function(a,b){return cljs.core.mapcat.call(null,function(b){return cljs.core.cons.call(null,b,a.call(null,b))},b)};
garden.compiler.prefixed_blocks=function(a,b){var c=cljs.core.nth.call(null,b,0,null),d=cljs.core.nth.call(null,b,1,null);return function(a,b,c){return function l(d){return new cljs.core.LazySeq(null,function(a,b,c){return function(){for(;;){var a=cljs.core.seq.call(null,d);if(a){if(cljs.core.chunked_seq_QMARK_.call(null,a)){var e=cljs.core.chunk_first.call(null,a),f=cljs.core.count.call(null,e),g=cljs.core.chunk_buffer.call(null,f);a:for(var k=0;;)if(k<f){var m=cljs.core._nth.call(null,e,k);cljs.core.chunk_append.call(null,
g,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[garden.util.vendor_prefix.call(null,m,cljs.core.name.call(null,b)),c],null));k+=1}else{e=!0;break a}return e?cljs.core.chunk_cons.call(null,cljs.core.chunk.call(null,g),l.call(null,cljs.core.chunk_rest.call(null,a))):cljs.core.chunk_cons.call(null,cljs.core.chunk.call(null,g),null)}g=cljs.core.first.call(null,a);return cljs.core.cons.call(null,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,
[garden.util.vendor_prefix.call(null,g,cljs.core.name.call(null,b)),c],null),l.call(null,cljs.core.rest.call(null,a)))}return null}}}(a,b,c),null,null)}}(b,c,d).call(null,a)};garden.compiler.prefix_all_properties=function(a,b){return garden.compiler.add_blocks.call(null,cljs.core.partial.call(null,garden.compiler.prefixed_blocks,a),b)};
garden.compiler.prefix_auto_properties=function(a,b){return garden.compiler.add_blocks.call(null,function(b){var c=cljs.core.nth.call(null,b,0,null);cljs.core.nth.call(null,b,1,null);return garden.compiler.auto_prefix_QMARK_.call(null,cljs.core.name.call(null,c))?garden.compiler.prefixed_blocks.call(null,a,b):null},b)};
garden.compiler.prefix_declaration=function(a){var b=(new cljs.core.Keyword(null,"vendors","vendors",-153040496)).cljs$core$IFn$_invoke$arity$1(cljs.core.meta.call(null,a));b=cljs.core.truth_(b)?b:garden.compiler.vendors.call(null);return(cljs.core.truth_((new cljs.core.Keyword(null,"prefix","prefix",-265908465)).cljs$core$IFn$_invoke$arity$1(cljs.core.meta.call(null,a)))?garden.compiler.prefix_all_properties:garden.compiler.prefix_auto_properties).call(null,b,a)};
garden.compiler.render_declaration=function(a){return clojure.string.join.call(null,"\n",cljs.core.map.call(null,garden.compiler.render_property_and_value,garden.compiler.prefix_declaration.call(null,a)))};garden.compiler.render_selector=function(a){return garden.compiler.comma_separated_list.call(null,a)};
garden.compiler.render_rule=function(a){var b=cljs.core.nth.call(null,a,0,null),c=cljs.core.nth.call(null,a,1,null);return cljs.core.seq.call(null,a)&&cljs.core.every_QMARK_.call(null,cljs.core.seq,a)?[cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.compiler.render_selector.call(null,b)),garden.compiler.l_brace,cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.compiler.indent_str.call(null,clojure.string.join.call(null,"\n",cljs.core.map.call(null,garden.compiler.render_css,c)))),garden.compiler.r_brace].join(""):
null};
garden.compiler.render_media_expr_part=function(a){var b=cljs.core.nth.call(null,a,0,null);a=cljs.core.nth.call(null,a,1,null);var c=cljs.core.map.call(null,garden.compiler.render_value,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[b,a],null));b=cljs.core.nth.call(null,c,0,null);c=cljs.core.nth.call(null,c,1,null);return!0===a?b:!1===a?["not ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(b)].join(""):cljs.core._EQ_.call(null,"only",c)?["only ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(b)].join(""):cljs.core.truth_(cljs.core.truth_(a)?
cljs.core.seq.call(null,c):a)?["(",cljs.core.str.cljs$core$IFn$_invoke$arity$1(b),garden.compiler.colon,cljs.core.str.cljs$core$IFn$_invoke$arity$1(c),")"].join(""):["(",cljs.core.str.cljs$core$IFn$_invoke$arity$1(b),")"].join("")};
garden.compiler.render_media_expr=function(a){return cljs.core.sequential_QMARK_.call(null,a)?garden.compiler.comma_separated_list.call(null,cljs.core.map.call(null,garden.compiler.render_media_expr,a)):clojure.string.join.call(null," and ",cljs.core.map.call(null,garden.compiler.render_media_expr_part,a))};
garden.compiler.render_feature_expr_part=function(a){var b=cljs.core.nth.call(null,a,0,null);a=cljs.core.nth.call(null,a,1,null);var c=cljs.core.map.call(null,garden.compiler.render_value,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[b,a],null));b=cljs.core.nth.call(null,c,0,null);c=cljs.core.nth.call(null,c,1,null);return cljs.core.truth_(cljs.core.truth_(a)?cljs.core.seq.call(null,c):a)?["(",cljs.core.str.cljs$core$IFn$_invoke$arity$1(b),garden.compiler.colon,cljs.core.str.cljs$core$IFn$_invoke$arity$1(c),
")"].join(""):["(",cljs.core.str.cljs$core$IFn$_invoke$arity$1(b),")"].join("")};garden.compiler.render_feature_expr=function(a){return cljs.core.sequential_QMARK_.call(null,a)?garden.compiler.comma_separated_list.call(null,cljs.core.map.call(null,garden.compiler.render_feature_expr,a)):clojure.string.join.call(null," and ",cljs.core.map.call(null,garden.compiler.render_feature_expr_part,a))};
garden.compiler.render_unit=function(a){var b=null!=a&&(a.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===a.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,a):a;a=cljs.core.get.call(null,b,new cljs.core.Keyword(null,"magnitude","magnitude",1924274222));b=cljs.core.get.call(null,b,new cljs.core.Keyword(null,"unit","unit",375175175));return[cljs.core.str.cljs$core$IFn$_invoke$arity$1(a),cljs.core.name.call(null,b)].join("")};
garden.compiler.render_function=function(a){var b=null!=a&&(a.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===a.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,a):a;a=cljs.core.get.call(null,b,new cljs.core.Keyword(null,"f","f",-1597136552));b=cljs.core.get.call(null,b,new cljs.core.Keyword(null,"args","args",1315556576));b=cljs.core.sequential_QMARK_.call(null,b)?garden.compiler.comma_separated_list.call(null,b):garden.util.to_str.call(null,b);return garden.util.format.call(null,
"%s(%s)",garden.util.to_str.call(null,a),b)};
garden.compiler.render_color=function(a){var b=(new cljs.core.Keyword(null,"alpha","alpha",-1574982441)).cljs$core$IFn$_invoke$arity$1(a);if(cljs.core.truth_(b)){a=garden.color.as_hsl.call(null,a);var c=null!=a&&(a.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===a.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,a):a;a=cljs.core.get.call(null,c,new cljs.core.Keyword(null,"hue","hue",-508078848));var d=cljs.core.get.call(null,c,new cljs.core.Keyword(null,"saturation",
"saturation",-14247929));c=cljs.core.get.call(null,c,new cljs.core.Keyword(null,"lightness","lightness",-2040901930));c=cljs.core.map.call(null,garden.units.percent,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[d,c],null));d=cljs.core.nth.call(null,c,0,null);c=cljs.core.nth.call(null,c,1,null);return garden.util.format.call(null,"hsla(%s)",garden.compiler.comma_separated_list.call(null,new cljs.core.PersistentVector(null,4,5,cljs.core.PersistentVector.EMPTY_NODE,[a,
d,c,b],null)))}return garden.color.as_hex.call(null,a)};
if("undefined"===typeof garden||"undefined"===typeof garden.compiler||"undefined"===typeof garden.compiler.render_at_rule)garden.compiler.render_at_rule=function(){var a=cljs.core.atom.call(null,cljs.core.PersistentArrayMap.EMPTY),b=cljs.core.atom.call(null,cljs.core.PersistentArrayMap.EMPTY),c=cljs.core.atom.call(null,cljs.core.PersistentArrayMap.EMPTY),d=cljs.core.atom.call(null,cljs.core.PersistentArrayMap.EMPTY),e=cljs.core.get.call(null,cljs.core.PersistentArrayMap.EMPTY,new cljs.core.Keyword(null,
"hierarchy","hierarchy",-1053470341),cljs.core.get_global_hierarchy.call(null));return new cljs.core.MultiFn(cljs.core.symbol.call(null,"garden.compiler","render-at-rule"),new cljs.core.Keyword(null,"identifier","identifier",-805503498),new cljs.core.Keyword(null,"default","default",-1987822328),e,a,b,c,d)}();cljs.core._add_method.call(null,garden.compiler.render_at_rule,new cljs.core.Keyword(null,"default","default",-1987822328),function(a){return null});
cljs.core._add_method.call(null,garden.compiler.render_at_rule,new cljs.core.Keyword(null,"import","import",-1399500709),function(a){a=null!=a&&(a.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===a.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,a):a;a=cljs.core.get.call(null,a,new cljs.core.Keyword(null,"value","value",305978217));var b=null!=a&&(a.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===a.cljs$core$ISeq$)?cljs.core.apply.call(null,
cljs.core.hash_map,a):a;a=cljs.core.get.call(null,b,new cljs.core.Keyword(null,"url","url",276297046));b=cljs.core.get.call(null,b,new cljs.core.Keyword(null,"media-queries","media-queries",-1563277678));a="string"===typeof a?garden.util.wrap_quotes.call(null,a):garden.compiler.render_css.call(null,a);b=cljs.core.truth_(b)?garden.compiler.render_media_expr.call(null,b):null;return["@import ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.core.truth_(b)?[cljs.core.str.cljs$core$IFn$_invoke$arity$1(a),
" ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(b)].join(""):a),garden.compiler.semicolon].join("")});
cljs.core._add_method.call(null,garden.compiler.render_at_rule,new cljs.core.Keyword(null,"keyframes","keyframes",-1437976012),function(a){var b=null!=a&&(a.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===a.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,a):a,c=cljs.core.get.call(null,b,new cljs.core.Keyword(null,"value","value",305978217)),d=null!=c&&(c.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===c.cljs$core$ISeq$)?cljs.core.apply.call(null,
cljs.core.hash_map,c):c,e=cljs.core.get.call(null,d,new cljs.core.Keyword(null,"identifier","identifier",-805503498)),f=cljs.core.get.call(null,d,new cljs.core.Keyword(null,"frames","frames",1765687497));if(cljs.core.seq.call(null,f)){var g=[cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.util.to_str.call(null,e)),garden.compiler.l_brace_1,cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.compiler.indent_str.call(null,garden.compiler.rule_join.call(null,cljs.core.map.call(null,garden.compiler.render_css,
f)))),garden.compiler.r_brace_1].join(""),h=function(a,b,c,d,e,f,g,h){return function(a){return["@",garden.util.vendor_prefix.call(null,a,"keyframes ")].join("")}}(g,c,d,e,f,a,b,c);return garden.compiler.rule_join.call(null,cljs.core.map.call(null,function(a,b,c,d,e,f,g,h,t){return function(b){return[cljs.core.str.cljs$core$IFn$_invoke$arity$1(b),a].join("")}}(g,h,c,d,e,f,a,b,c),cljs.core.cons.call(null,"@keyframes ",cljs.core.map.call(null,h,garden.compiler.vendors.call(null)))))}return null});
cljs.core._add_method.call(null,garden.compiler.render_at_rule,new cljs.core.Keyword(null,"media","media",-1066138403),function(a){a=null!=a&&(a.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===a.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,a):a;a=cljs.core.get.call(null,a,new cljs.core.Keyword(null,"value","value",305978217));var b=null!=a&&(a.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===a.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,
a):a;a=cljs.core.get.call(null,b,new cljs.core.Keyword(null,"media-queries","media-queries",-1563277678));b=cljs.core.get.call(null,b,new cljs.core.Keyword(null,"rules","rules",1198912366));return cljs.core.seq.call(null,b)?["@media ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.compiler.render_media_expr.call(null,a)),garden.compiler.l_brace_1,cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.compiler.indent_str.call(null,garden.compiler.rule_join.call(null,cljs.core.map.call(null,garden.compiler.render_css,
b)))),garden.compiler.r_brace_1].join(""):null});
cljs.core._add_method.call(null,garden.compiler.render_at_rule,new cljs.core.Keyword(null,"feature","feature",27242652),function(a){a=null!=a&&(a.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===a.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,a):a;a=cljs.core.get.call(null,a,new cljs.core.Keyword(null,"value","value",305978217));var b=null!=a&&(a.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===a.cljs$core$ISeq$)?cljs.core.apply.call(null,
cljs.core.hash_map,a):a;a=cljs.core.get.call(null,b,new cljs.core.Keyword(null,"feature-queries","feature-queries",-1340998408));b=cljs.core.get.call(null,b,new cljs.core.Keyword(null,"rules","rules",1198912366));return cljs.core.seq.call(null,b)?["@supports ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.compiler.render_feature_expr.call(null,a)),garden.compiler.l_brace_1,cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.compiler.indent_str.call(null,garden.compiler.rule_join.call(null,cljs.core.map.call(null,
garden.compiler.render_css,b)))),garden.compiler.r_brace_1].join(""):null});goog.object.set(garden.compiler.CSSRenderer,"null",!0);goog.object.set(garden.compiler.render_css,"null",function(a){return""});garden.color.CSSColor.prototype.garden$compiler$CSSRenderer$=cljs.core.PROTOCOL_SENTINEL;garden.color.CSSColor.prototype.garden$compiler$CSSRenderer$render_css$arity$1=function(a){return garden.compiler.render_color.call(null,this)};cljs.core.IndexedSeq.prototype.garden$compiler$CSSRenderer$=cljs.core.PROTOCOL_SENTINEL;
cljs.core.IndexedSeq.prototype.garden$compiler$CSSRenderer$render_css$arity$1=function(a){return cljs.core.map.call(null,garden.compiler.render_css,this)};cljs.core.LazySeq.prototype.garden$compiler$CSSRenderer$=cljs.core.PROTOCOL_SENTINEL;cljs.core.LazySeq.prototype.garden$compiler$CSSRenderer$render_css$arity$1=function(a){return cljs.core.map.call(null,garden.compiler.render_css,this)};cljs.core.NodeSeq.prototype.garden$compiler$CSSRenderer$=cljs.core.PROTOCOL_SENTINEL;
cljs.core.NodeSeq.prototype.garden$compiler$CSSRenderer$render_css$arity$1=function(a){return cljs.core.map.call(null,garden.compiler.render_css,this)};cljs.core.BlackNode.prototype.garden$compiler$CSSRenderer$=cljs.core.PROTOCOL_SENTINEL;cljs.core.BlackNode.prototype.garden$compiler$CSSRenderer$render_css$arity$1=function(a){return garden.compiler.render_rule.call(null,this)};cljs.core.PersistentArrayMapSeq.prototype.garden$compiler$CSSRenderer$=cljs.core.PROTOCOL_SENTINEL;
cljs.core.PersistentArrayMapSeq.prototype.garden$compiler$CSSRenderer$render_css$arity$1=function(a){return cljs.core.map.call(null,garden.compiler.render_css,this)};garden.types.CSSUnit.prototype.garden$compiler$CSSRenderer$=cljs.core.PROTOCOL_SENTINEL;garden.types.CSSUnit.prototype.garden$compiler$CSSRenderer$render_css$arity$1=function(a){return garden.compiler.render_unit.call(null,this)};cljs.core.ChunkedSeq.prototype.garden$compiler$CSSRenderer$=cljs.core.PROTOCOL_SENTINEL;
cljs.core.ChunkedSeq.prototype.garden$compiler$CSSRenderer$render_css$arity$1=function(a){return cljs.core.map.call(null,garden.compiler.render_css,this)};cljs.core.Cons.prototype.garden$compiler$CSSRenderer$=cljs.core.PROTOCOL_SENTINEL;cljs.core.Cons.prototype.garden$compiler$CSSRenderer$render_css$arity$1=function(a){return cljs.core.map.call(null,garden.compiler.render_css,this)};cljs.core.RSeq.prototype.garden$compiler$CSSRenderer$=cljs.core.PROTOCOL_SENTINEL;
cljs.core.RSeq.prototype.garden$compiler$CSSRenderer$render_css$arity$1=function(a){return cljs.core.map.call(null,garden.compiler.render_css,this)};goog.object.set(garden.compiler.CSSRenderer,"number",!0);goog.object.set(garden.compiler.render_css,"number",function(a){return cljs.core.str.cljs$core$IFn$_invoke$arity$1(a)});garden.types.CSSFunction.prototype.garden$compiler$CSSRenderer$=cljs.core.PROTOCOL_SENTINEL;
garden.types.CSSFunction.prototype.garden$compiler$CSSRenderer$render_css$arity$1=function(a){return garden.compiler.render_function.call(null,this)};cljs.core.PersistentHashMap.prototype.garden$compiler$CSSRenderer$=cljs.core.PROTOCOL_SENTINEL;cljs.core.PersistentHashMap.prototype.garden$compiler$CSSRenderer$render_css$arity$1=function(a){return garden.compiler.render_declaration.call(null,this)};cljs.core.ArrayNodeSeq.prototype.garden$compiler$CSSRenderer$=cljs.core.PROTOCOL_SENTINEL;
cljs.core.ArrayNodeSeq.prototype.garden$compiler$CSSRenderer$render_css$arity$1=function(a){return cljs.core.map.call(null,garden.compiler.render_css,this)};cljs.core.Subvec.prototype.garden$compiler$CSSRenderer$=cljs.core.PROTOCOL_SENTINEL;cljs.core.Subvec.prototype.garden$compiler$CSSRenderer$render_css$arity$1=function(a){return garden.compiler.render_rule.call(null,this)};goog.object.set(garden.compiler.CSSRenderer,"_",!0);goog.object.set(garden.compiler.render_css,"_",function(a){return cljs.core.str.cljs$core$IFn$_invoke$arity$1(a)});
cljs.core.PersistentTreeMap.prototype.garden$compiler$CSSRenderer$=cljs.core.PROTOCOL_SENTINEL;cljs.core.PersistentTreeMap.prototype.garden$compiler$CSSRenderer$render_css$arity$1=function(a){return garden.compiler.render_declaration.call(null,this)};cljs.core.ChunkedCons.prototype.garden$compiler$CSSRenderer$=cljs.core.PROTOCOL_SENTINEL;cljs.core.ChunkedCons.prototype.garden$compiler$CSSRenderer$render_css$arity$1=function(a){return cljs.core.map.call(null,garden.compiler.render_css,this)};
garden.types.CSSAtRule.prototype.garden$compiler$CSSRenderer$=cljs.core.PROTOCOL_SENTINEL;garden.types.CSSAtRule.prototype.garden$compiler$CSSRenderer$render_css$arity$1=function(a){return garden.compiler.render_at_rule.call(null,this)};cljs.core.RedNode.prototype.garden$compiler$CSSRenderer$=cljs.core.PROTOCOL_SENTINEL;cljs.core.RedNode.prototype.garden$compiler$CSSRenderer$render_css$arity$1=function(a){return garden.compiler.render_rule.call(null,this)};
cljs.core.PersistentVector.prototype.garden$compiler$CSSRenderer$=cljs.core.PROTOCOL_SENTINEL;cljs.core.PersistentVector.prototype.garden$compiler$CSSRenderer$render_css$arity$1=function(a){return garden.compiler.render_rule.call(null,this)};cljs.core.Keyword.prototype.garden$compiler$CSSRenderer$=cljs.core.PROTOCOL_SENTINEL;cljs.core.Keyword.prototype.garden$compiler$CSSRenderer$render_css$arity$1=function(a){return cljs.core.name.call(null,this)};
cljs.core.PersistentArrayMap.prototype.garden$compiler$CSSRenderer$=cljs.core.PROTOCOL_SENTINEL;cljs.core.PersistentArrayMap.prototype.garden$compiler$CSSRenderer$render_css$arity$1=function(a){return garden.compiler.render_declaration.call(null,this)};cljs.core.List.prototype.garden$compiler$CSSRenderer$=cljs.core.PROTOCOL_SENTINEL;cljs.core.List.prototype.garden$compiler$CSSRenderer$render_css$arity$1=function(a){return cljs.core.map.call(null,garden.compiler.render_css,this)};
garden.compiler.compile_style=function(a){return cljs.core.first.call(null,garden.compiler.render_css.call(null,garden.compiler.expand.call(null,cljs.core.reduce.call(null,cljs.core.merge,cljs.core.filter.call(null,garden.util.declaration_QMARK_,a)))))};
garden.compiler.do_compile=function(a,b){var c=garden.compiler._STAR_flags_STAR_;garden.compiler._STAR_flags_STAR_=a;try{return garden.compiler.rule_join.call(null,cljs.core.remove.call(null,cljs.core.nil_QMARK_,cljs.core.map.call(null,garden.compiler.render_css,cljs.core.filter.call(null,garden.compiler.top_level_expression_QMARK_,garden.compiler.expand_stylesheet.call(null,b)))))}finally{garden.compiler._STAR_flags_STAR_=c}};
garden.compiler.do_preamble=function(a,b){a=null!=a&&(a.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===a.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,a):a;cljs.core.get.call(null,a,new cljs.core.Keyword(null,"preamble","preamble",1641040241));return b};
garden.compiler.do_compression=function(a,b){var c=null!=a&&(a.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===a.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,a):a;a=cljs.core.get.call(null,c,new cljs.core.Keyword(null,"pretty-print?","pretty-print?",1932217158));c=cljs.core.get.call(null,c,new cljs.core.Keyword(null,"pretty-print","pretty-print",-1314067013));return cljs.core.truth_(cljs.core.truth_(a)?a:c)?b:garden.compression.compress_stylesheet.call(null,
b)};garden.compiler.do_output_to=function(a,b){a=null!=a&&(a.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===a.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,a):a;cljs.core.get.call(null,a,new cljs.core.Keyword(null,"output-to","output-to",-965533968));return b};
garden.compiler.compile_css=function(a){for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;b=1<b.length?new cljs.core.IndexedSeq(b.slice(1),0,null):null;return garden.compiler.compile_css.cljs$core$IFn$_invoke$arity$variadic(arguments[0],b)};
garden.compiler.compile_css.cljs$core$IFn$_invoke$arity$variadic=function(a,b){var c=cljs.core.truth_(function(){var b=garden.util.hash_map_QMARK_.call(null,a);return b?cljs.core.some.call(null,cljs.core.set.call(null,cljs.core.keys.call(null,a)),cljs.core.keys.call(null,garden.compiler._STAR_flags_STAR_)):b}())?new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[cljs.core.merge.call(null,garden.compiler._STAR_flags_STAR_,a),b],null):new cljs.core.PersistentVector(null,
2,5,cljs.core.PersistentVector.EMPTY_NODE,[garden.compiler._STAR_flags_STAR_,cljs.core.cons.call(null,a,b)],null);b=cljs.core.nth.call(null,c,0,null);c=cljs.core.nth.call(null,c,1,null);return garden.compiler.do_output_to.call(null,b,garden.compiler.do_compression.call(null,b,garden.compiler.do_preamble.call(null,b,garden.compiler.do_compile.call(null,b,c))))};garden.compiler.compile_css.cljs$lang$maxFixedArity=1;
garden.compiler.compile_css.cljs$lang$applyTo=function(a){var b=cljs.core.first.call(null,a);a=cljs.core.next.call(null,a);return this.cljs$core$IFn$_invoke$arity$variadic(b,a)};garden.core={};garden.core.css=function(a){for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;b=0<b.length?new cljs.core.IndexedSeq(b.slice(0),0,null):null;return garden.core.css.cljs$core$IFn$_invoke$arity$variadic(b)};garden.core.css.cljs$core$IFn$_invoke$arity$variadic=function(a){return cljs.core.apply.call(null,garden.compiler.compile_css,a)};garden.core.css.cljs$lang$maxFixedArity=0;
garden.core.css.cljs$lang$applyTo=function(a){return this.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq.call(null,a))};garden.core.style=function(a){for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;b=0<b.length?new cljs.core.IndexedSeq(b.slice(0),0,null):null;return garden.core.style.cljs$core$IFn$_invoke$arity$variadic(b)};garden.core.style.cljs$core$IFn$_invoke$arity$variadic=function(a){return garden.compiler.compile_style.call(null,a)};
garden.core.style.cljs$lang$maxFixedArity=0;garden.core.style.cljs$lang$applyTo=function(a){return this.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq.call(null,a))};weathergen.ui={};weathergen.ui.common={};weathergen.ui.common.electron=require("electron");weathergen.ui.common.tinycolor=require("tinycolor2");weathergen.ui.common.parse_int=function(a){a=(new Number(a)).valueOf();var b=cljs.core.long$.call(null,a);return cljs.core.int_QMARK_.call(null,a)?b:null};weathergen.ui.common.parse_float=function(a){a=(new Number(a)).valueOf();return cljs.core.truth_(isNaN(a))?null:a};
var registry_31516=cljs.core.atom.call(null,cljs.core.PersistentHashSet.EMPTY),batch_31517=10,min_interval_31518=1,interval_31519=cljs.core.atom.call(null,min_interval_31518),max_interval_31520=200,pending_call_31521=cljs.core.atom.call(null,!1);
weathergen.ui.common.process=function(a,b,c,d,e,f){return function(){var g=function(){var c=cljs.core.take.call(null,b,cljs.core.shuffle.call(null,cljs.core.deref.call(null,a))),d=cljs.core.seq.call(null,c),e=cljs.core.first.call(null,d);cljs.core.next.call(null,d);d=null!=e&&(e.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===e.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,e):e;cljs.core.get.call(null,d,new cljs.core.Keyword(null,"elem","elem",618631056));cljs.core.get.call(null,
d,new cljs.core.Keyword(null,"f","f",-1597136552));d=!1;for(e=c;;){c=d;d=cljs.core.seq.call(null,e);e=cljs.core.first.call(null,d);d=cljs.core.next.call(null,d);var f=null!=e&&(e.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===e.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,e):e;e=f;var g=cljs.core.get.call(null,f,new cljs.core.Keyword(null,"elem","elem",618631056));f=cljs.core.get.call(null,f,new cljs.core.Keyword(null,"f","f",-1597136552));var p=document.documentElement.contains(g);
if(cljs.core.truth_(p)){cljs.core.swap_BANG_.call(null,a,cljs.core.disj,e);try{f.call(null)}catch(q){warn.log("Error while invoking when-dom handler",g,q)}}if(cljs.core.seq.call(null,d))c=cljs.core.truth_(c)?c:p,e=d,d=c;else return c}}();cljs.core.swap_BANG_.call(null,d,function(a,b,c,d,e,f,g){return function(b){if(cljs.core.truth_(a))return d;b*=2;return f>b?f:b}}(g,a,b,c,d,e,f));cljs.core.reset_BANG_.call(null,f,!1);return setTimeout(function(a,b,c,d,e,f,g){return function(){return weathergen.ui.common.process.call(null)}}(g,
a,b,c,d,e,f),cljs.core.deref.call(null,d))}}(registry_31516,batch_31517,min_interval_31518,interval_31519,max_interval_31520,pending_call_31521);setTimeout(function(a,b,c,d,e,f){return function(){return weathergen.ui.common.process.call(null)}}(registry_31516,batch_31517,min_interval_31518,interval_31519,max_interval_31520,pending_call_31521),cljs.core.deref.call(null,interval_31519));
weathergen.ui.common.when_dom5=function(a,b,c,d,e,f){return function(g,h){cljs.core.swap_BANG_.call(null,a,cljs.core.conj,new cljs.core.PersistentArrayMap(null,2,[new cljs.core.Keyword(null,"elem","elem",618631056),g,new cljs.core.Keyword(null,"f","f",-1597136552),h],null));if(cljs.core.truth_(cljs.core.deref.call(null,f)))return null;cljs.core.reset_BANG_.call(null,f,!0);return setTimeout(function(a,b,c,d,e,f){return function(){return weathergen.ui.common.process.call(null)}}(a,b,c,d,e,f),c)}}(registry_31516,
batch_31517,min_interval_31518,interval_31519,max_interval_31520,pending_call_31521);
var agenda_31613=cljs.core.atom.call(null,cljs.core.sorted_map.call(null)),timer_interval_31614=5,max_interval_31615=150,now_31616=function(a,b,c){return function(){return(new Date).getTime()}}(agenda_31613,timer_interval_31614,max_interval_31615),process_31617=function(a,b,c,d){return function f(){for(var g=d.call(null),h=cljs.core.seq.call(null,cljs.core.filter.call(null,function(a,b,c,d,f){return function(b){var c=cljs.core.nth.call(null,b,0,null);cljs.core.nth.call(null,b,1,null);return c<a}}(g,
a,b,c,d),cljs.core.deref.call(null,a))),k=null,l=0,m=0;;)if(m<l){var n=cljs.core._nth.call(null,k,m),p=cljs.core.nth.call(null,n,0,null);n=cljs.core.nth.call(null,n,1,null);cljs.core.swap_BANG_.call(null,a,cljs.core.dissoc,p);p=cljs.core.seq.call(null,n);n=null;for(var q=0,r=0;;)if(r<q){var u=cljs.core._nth.call(null,n,r),t=null!=u&&(u.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===u.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,u):u;u=t;var v=cljs.core.get.call(null,
t,new cljs.core.Keyword(null,"elem","elem",618631056)),w=cljs.core.get.call(null,t,new cljs.core.Keyword(null,"f","f",-1597136552)),x=cljs.core.get.call(null,t,new cljs.core.Keyword(null,"interval","interval",1708495417));if(cljs.core.truth_(document.documentElement.contains(v)))try{w.call(null)}catch(C){warn.log("Error while invoking when-dom handler",v,C)}else t=function(){var a=2*x;return c>a?c:a}(),cljs.core.swap_BANG_.call(null,a,cljs.core.update,g+t,cljs.core.conj,cljs.core.assoc.call(null,
u,new cljs.core.Keyword(null,"interval","interval",1708495417),t));r+=1}else if(p=cljs.core.seq.call(null,p)){if(cljs.core.chunked_seq_QMARK_.call(null,p))q=cljs.core.chunk_first.call(null,p),p=cljs.core.chunk_rest.call(null,p),n=q,q=cljs.core.count.call(null,q);else{n=cljs.core.first.call(null,p);n=q=null!=n&&(n.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===n.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,n):n;r=cljs.core.get.call(null,q,new cljs.core.Keyword(null,
"elem","elem",618631056));u=cljs.core.get.call(null,q,new cljs.core.Keyword(null,"f","f",-1597136552));var y=cljs.core.get.call(null,q,new cljs.core.Keyword(null,"interval","interval",1708495417));if(cljs.core.truth_(document.documentElement.contains(r)))try{u.call(null)}catch(C){warn.log("Error while invoking when-dom handler",r,C)}else q=function(){var a=2*y;return c>a?c:a}(),cljs.core.swap_BANG_.call(null,a,cljs.core.update,g+q,cljs.core.conj,cljs.core.assoc.call(null,n,new cljs.core.Keyword(null,
"interval","interval",1708495417),q));p=cljs.core.next.call(null,p);n=null;q=0}r=0}else break;m+=1}else if(h=cljs.core.seq.call(null,h)){if(cljs.core.chunked_seq_QMARK_.call(null,h))l=cljs.core.chunk_first.call(null,h),h=cljs.core.chunk_rest.call(null,h),k=l,l=cljs.core.count.call(null,l);else{l=cljs.core.first.call(null,h);k=cljs.core.nth.call(null,l,0,null);l=cljs.core.nth.call(null,l,1,null);cljs.core.swap_BANG_.call(null,a,cljs.core.dissoc,k);k=cljs.core.seq.call(null,l);l=null;for(p=m=0;;)if(p<
m){n=cljs.core._nth.call(null,l,p);n=q=null!=n&&(n.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===n.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,n):n;r=cljs.core.get.call(null,q,new cljs.core.Keyword(null,"elem","elem",618631056));u=cljs.core.get.call(null,q,new cljs.core.Keyword(null,"f","f",-1597136552));var z=cljs.core.get.call(null,q,new cljs.core.Keyword(null,"interval","interval",1708495417));if(cljs.core.truth_(document.documentElement.contains(r)))try{u.call(null)}catch(C){warn.log("Error while invoking when-dom handler",
r,C)}else q=function(){var a=2*z;return c>a?c:a}(),cljs.core.swap_BANG_.call(null,a,cljs.core.update,g+q,cljs.core.conj,cljs.core.assoc.call(null,n,new cljs.core.Keyword(null,"interval","interval",1708495417),q));p+=1}else if(k=cljs.core.seq.call(null,k)){if(cljs.core.chunked_seq_QMARK_.call(null,k))m=cljs.core.chunk_first.call(null,k),k=cljs.core.chunk_rest.call(null,k),l=m,m=cljs.core.count.call(null,m);else{l=cljs.core.first.call(null,k);l=m=null!=l&&(l.cljs$lang$protocol_mask$partition0$&64||
cljs.core.PROTOCOL_SENTINEL===l.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,l):l;p=cljs.core.get.call(null,m,new cljs.core.Keyword(null,"elem","elem",618631056));n=cljs.core.get.call(null,m,new cljs.core.Keyword(null,"f","f",-1597136552));var B=cljs.core.get.call(null,m,new cljs.core.Keyword(null,"interval","interval",1708495417));if(cljs.core.truth_(document.documentElement.contains(p)))try{n.call(null)}catch(C){warn.log("Error while invoking when-dom handler",p,C)}else m=function(){var a=
2*B;return c>a?c:a}(),cljs.core.swap_BANG_.call(null,a,cljs.core.update,g+m,cljs.core.conj,cljs.core.assoc.call(null,l,new cljs.core.Keyword(null,"interval","interval",1708495417),m));k=cljs.core.next.call(null,k);l=null;m=0}p=0}else break;h=cljs.core.next.call(null,h);k=null;l=0}m=0}else break;return setTimeout(function(a,b,c,d){return function(){return f.call(null)}}(a,b,c,d),b)}}(agenda_31613,timer_interval_31614,max_interval_31615,now_31616);
setTimeout(function(a,b,c,d,e){return function(){return e.call(null)}}(agenda_31613,timer_interval_31614,max_interval_31615,now_31616,process_31617),timer_interval_31614);
weathergen.ui.common.when_dom6=function(a,b,c,d,e){return function(b,c){return cljs.core.swap_BANG_.call(null,a,cljs.core.update,d.call(null),cljs.core.conj,new cljs.core.PersistentArrayMap(null,3,[new cljs.core.Keyword(null,"elem","elem",618631056),b,new cljs.core.Keyword(null,"f","f",-1597136552),c,new cljs.core.Keyword(null,"interval","interval",1708495417),1],null))}}(agenda_31613,timer_interval_31614,max_interval_31615,now_31616,process_31617);
weathergen.ui.common.when_dom_STAR_=function(a,b){weathergen.ui.common.when_dom6.call(null,a,b);return a};weathergen.ui.common.measurement=function(a){for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;b=1<b.length?new cljs.core.IndexedSeq(b.slice(1),0,null):null;return weathergen.ui.common.measurement.cljs$core$IFn$_invoke$arity$variadic(arguments[0],b)};
weathergen.ui.common.measurement.cljs$core$IFn$_invoke$arity$variadic=function(a,b){return clojure.string.join.call(null," ",cljs.core.map.call(null,function(b){return[cljs.core.str.cljs$core$IFn$_invoke$arity$1(b),cljs.core.str.cljs$core$IFn$_invoke$arity$1(a)].join("")},b))};weathergen.ui.common.measurement.cljs$lang$maxFixedArity=1;
weathergen.ui.common.measurement.cljs$lang$applyTo=function(a){var b=cljs.core.first.call(null,a);a=cljs.core.next.call(null,a);return this.cljs$core$IFn$_invoke$arity$variadic(b,a)};weathergen.ui.common.px=function(a){for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;b=0<b.length?new cljs.core.IndexedSeq(b.slice(0),0,null):null;return weathergen.ui.common.px.cljs$core$IFn$_invoke$arity$variadic(b)};
weathergen.ui.common.px.cljs$core$IFn$_invoke$arity$variadic=function(a){return cljs.core.apply.call(null,weathergen.ui.common.measurement,"px",a)};weathergen.ui.common.px.cljs$lang$maxFixedArity=0;weathergen.ui.common.px.cljs$lang$applyTo=function(a){return this.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq.call(null,a))};
weathergen.ui.common.pct=function(a){for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;b=0<b.length?new cljs.core.IndexedSeq(b.slice(0),0,null):null;return weathergen.ui.common.pct.cljs$core$IFn$_invoke$arity$variadic(b)};weathergen.ui.common.pct.cljs$core$IFn$_invoke$arity$variadic=function(a){return cljs.core.apply.call(null,weathergen.ui.common.measurement,"%",a)};weathergen.ui.common.pct.cljs$lang$maxFixedArity=0;
weathergen.ui.common.pct.cljs$lang$applyTo=function(a){return this.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq.call(null,a))};weathergen.ui.common.ems=function(a){for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;b=0<b.length?new cljs.core.IndexedSeq(b.slice(0),0,null):null;return weathergen.ui.common.ems.cljs$core$IFn$_invoke$arity$variadic(b)};
weathergen.ui.common.ems.cljs$core$IFn$_invoke$arity$variadic=function(a){return cljs.core.apply.call(null,weathergen.ui.common.measurement,"em",a)};weathergen.ui.common.ems.cljs$lang$maxFixedArity=0;weathergen.ui.common.ems.cljs$lang$applyTo=function(a){return this.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq.call(null,a))};
weathergen.ui.common.colors=new cljs.core.PersistentArrayMap(null,6,[new cljs.core.Keyword(null,"invalid","invalid",412869516),"#c70505",new cljs.core.Keyword(null,"invalid-background","invalid-background",-917496690),"#fcc",new cljs.core.Keyword(null,"error-message","error-message",1756021561),"#c70505",new cljs.core.Keyword(null,"edit","edit",-1641834166),"rgba(128,128,255,0.5)",new cljs.core.Keyword(null,"header-background","header-background",1686840154),"lightgray",new cljs.core.Keyword(null,
"team","team",1355747699),new cljs.core.PersistentArrayMap(null,2,[new cljs.core.Keyword(null,"dark-text","dark-text",814777253),new cljs.core.PersistentArrayMap(null,8,[new cljs.core.Keyword(null,"white","white",-483998618),"gray",new cljs.core.Keyword(null,"green","green",-945526839),"green",new cljs.core.Keyword(null,"blue","blue",-622100620),"blue",new cljs.core.Keyword(null,"brown","brown",1414854429),"#923c25",new cljs.core.Keyword(null,"orange","orange",73816386),"darkorange",new cljs.core.Keyword(null,
"yellow","yellow",-881035449),"#caae18",new cljs.core.Keyword(null,"red","red",-969428204),"red",new cljs.core.Keyword(null,"gray","gray",1013268388),"darkgray"],null),new cljs.core.Keyword(null,"light-text","light-text",-274885440),new cljs.core.PersistentArrayMap(null,8,[new cljs.core.Keyword(null,"white","white",-483998618),"white",new cljs.core.Keyword(null,"green","green",-945526839),"lightgreen",new cljs.core.Keyword(null,"blue","blue",-622100620),"#8ddbf5",new cljs.core.Keyword(null,"brown",
"brown",1414854429),"#e27e43",new cljs.core.Keyword(null,"orange","orange",73816386),"orange",new cljs.core.Keyword(null,"yellow","yellow",-881035449),"yellow",new cljs.core.Keyword(null,"red","red",-969428204),"#f9adad",new cljs.core.Keyword(null,"gray","gray",1013268388),"lightgray"],null)],null)],null);
weathergen.ui.common.team_color=function(a,b){return cljs.core.get_in.call(null,weathergen.ui.common.colors,new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"team","team",1355747699),b,weathergen.falcon.files.mission.team_color.call(null,a)],null))};
weathergen.ui.common.class_for=cljs.core.memoize.call(null,function(a){return clojure.string.replace.call(null,cljs.core.subs.call(null,cljs.core.str.cljs$core$IFn$_invoke$arity$1(a),1),/[^a-zA-Z0-9]/,"-")});weathergen.ui.common.class_selector_for=function(a){return garden.selectors.selector.call(null,[".",cljs.core.str.cljs$core$IFn$_invoke$arity$1(weathergen.ui.common.class_for.call(null,a))].join(""))};
weathergen.ui.common.classes=function(a){return function d(a){return new cljs.core.LazySeq(null,function(){for(var c=a;;)if(c=cljs.core.seq.call(null,c)){if(cljs.core.chunked_seq_QMARK_.call(null,c)){var f=cljs.core.chunk_first.call(null,c),g=cljs.core.count.call(null,f),h=cljs.core.chunk_buffer.call(null,g);a:for(var k=0;;)if(k<g){var l=cljs.core._nth.call(null,f,k),m=cljs.core.nth.call(null,l,0,null);l=cljs.core.nth.call(null,l,1,null);cljs.core.truth_(l)&&cljs.core.chunk_append.call(null,h,m);
k+=1}else{f=!0;break a}return f?cljs.core.chunk_cons.call(null,cljs.core.chunk.call(null,h),d.call(null,cljs.core.chunk_rest.call(null,c))):cljs.core.chunk_cons.call(null,cljs.core.chunk.call(null,h),null)}f=cljs.core.first.call(null,c);h=cljs.core.nth.call(null,f,0,null);f=cljs.core.nth.call(null,f,1,null);if(cljs.core.truth_(f))return cljs.core.cons.call(null,h,d.call(null,cljs.core.rest.call(null,c)));c=cljs.core.rest.call(null,c)}else return null},null,null)}.call(null,a)};
var registered_styles_31767=cljs.core.atom.call(null,cljs.core.PersistentHashSet.EMPTY),pending_31768=cljs.core.atom.call(null,cljs.core.PersistentArrayMap.EMPTY);
weathergen.ui.common.register_style_BANG_=function(a,b){return function(c,d){taoensso.timbre._log_BANG_.call(null,taoensso.timbre._STAR_config_STAR_,new cljs.core.Keyword(null,"debug","debug",-1608172596),"weathergen.ui.common",null,248,new cljs.core.Keyword(null,"p","p",151049309),new cljs.core.Keyword(null,"auto","auto",-566279492),new cljs.core.Delay(function(a,b){return function(){return new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,["Registering style",c],null)}}(a,
b),null),null,572077087);document.head.appendChild(hoplon.core.style.call(null,new cljs.core.Keyword(null,"type","type",1174270348),"text/css",new cljs.core.Keyword(null,"debug","debug",-1608172596),cljs.core.str.cljs$core$IFn$_invoke$arity$1(c),javelin.core.formula.call(null,function(a,b){return function(a,b){return a.call(null,b)}}(a,b)).call(null,garden.core.css,d)));cljs.core.swap_BANG_.call(null,a,cljs.core.conj,c);return taoensso.timbre._log_BANG_.call(null,taoensso.timbre._STAR_config_STAR_,
new cljs.core.Keyword(null,"debug","debug",-1608172596),"weathergen.ui.common",null,255,new cljs.core.Keyword(null,"p","p",151049309),new cljs.core.Keyword(null,"auto","auto",-566279492),new cljs.core.Delay(function(a,b){return function(){return new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,["Registered style",c],null)}}(a,b),null),null,-1774871361)}}(registered_styles_31767,pending_31768);
document.addEventListener("DOMContentLoaded",function(a,b){return function(c){taoensso.timbre._log_BANG_.call(null,taoensso.timbre._STAR_config_STAR_,new cljs.core.Keyword(null,"debug","debug",-1608172596),"weathergen.ui.common",null,260,new cljs.core.Keyword(null,"p","p",151049309),new cljs.core.Keyword(null,"auto","auto",-566279492),new cljs.core.Delay(function(a,b){return function(){return new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,["Document loaded. Registering pending styles."],
null)}}(a,b),null),null,-1836888427);c=cljs.core.seq.call(null,cljs.core.deref.call(null,b));for(var d=null,e=0,f=0;;)if(f<e){var g=cljs.core._nth.call(null,d,f),h=cljs.core.nth.call(null,g,0,null);g=cljs.core.nth.call(null,g,1,null);weathergen.ui.common.register_style_BANG_.call(null,h,g);f+=1}else if(c=cljs.core.seq.call(null,c))cljs.core.chunked_seq_QMARK_.call(null,c)?(e=cljs.core.chunk_first.call(null,c),c=cljs.core.chunk_rest.call(null,c),d=e,e=cljs.core.count.call(null,e)):(e=cljs.core.first.call(null,
c),d=cljs.core.nth.call(null,e,0,null),e=cljs.core.nth.call(null,e,1,null),weathergen.ui.common.register_style_BANG_.call(null,d,e),c=cljs.core.next.call(null,c),d=null,e=0),f=0;else break;return cljs.core.reset_BANG_.call(null,b,cljs.core.PersistentArrayMap.EMPTY)}}(registered_styles_31767,pending_31768));
weathergen.ui.common.register_styles_BANG_=function(a,b){return function(c,d){return cljs.core.contains_QMARK_.call(null,cljs.core.deref.call(null,a),c)?null:cljs.core._EQ_.call(null,"complete",document.readyState)?weathergen.ui.common.register_style_BANG_.call(null,c,d):cljs.core.swap_BANG_.call(null,b,cljs.core.assoc,c,d)}}(registered_styles_31767,pending_31768);
weathergen.ui.common.register_class_BANG_=function(a,b){return weathergen.ui.common.register_styles_BANG_.call(null,a,cljs.core.into.call(null,new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[weathergen.ui.common.class_selector_for.call(null,a)],null),b))};
weathergen.ui.common.contrasting=function(a){switch(arguments.length){case 1:return weathergen.ui.common.contrasting.cljs$core$IFn$_invoke$arity$1(arguments[0]);case 3:return weathergen.ui.common.contrasting.cljs$core$IFn$_invoke$arity$3(arguments[0],arguments[1],arguments[2]);default:throw Error(["Invalid arity: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(""));}};
weathergen.ui.common.contrasting.cljs$core$IFn$_invoke$arity$1=function(a){return weathergen.ui.common.contrasting.call(null,a,"black","white")};weathergen.ui.common.contrasting.cljs$core$IFn$_invoke$arity$3=function(a,b,c){return weathergen.ui.common.tinycolor.mostReadable(a,[b,c]).toHexString()};weathergen.ui.common.contrasting.cljs$lang$maxFixedArity=3;weathergen.ui.common.darken=function(a,b){return weathergen.ui.common.tinycolor.call(null,a).darken(b).toHexString()};
weathergen.ui.common.lighten=function(a,b){return weathergen.ui.common.tinycolor.call(null,a).lighten(b).toHexString()};weathergen.ui.common.spin=function(a,b){return weathergen.ui.common.tinycolor.call(null,a).spin(b).toHexString()};weathergen.ui.common.to_hex_str=function(a){return weathergen.ui.common.tinycolor.call(null,a).toHexString()};
weathergen.ui.common.to_hex8_str=function(a){switch(arguments.length){case 1:return weathergen.ui.common.to_hex8_str.cljs$core$IFn$_invoke$arity$1(arguments[0]);case 2:return weathergen.ui.common.to_hex8_str.cljs$core$IFn$_invoke$arity$2(arguments[0],arguments[1]);default:throw Error(["Invalid arity: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(""));}};
weathergen.ui.common.to_hex8_str.cljs$core$IFn$_invoke$arity$1=function(a){return weathergen.ui.common.tinycolor.call(null,a).toHex8String()};weathergen.ui.common.to_hex8_str.cljs$core$IFn$_invoke$arity$2=function(a,b){a=weathergen.ui.common.tinycolor.call(null,a);a.setAlpha(b);return a.toHex8String()};weathergen.ui.common.to_hex8_str.cljs$lang$maxFixedArity=2;
weathergen.ui.common.to_rgba=function(a){var b=cljs.core.truth_(function(){var b="string"===typeof a;return b?cljs.core.re_matches.call(null,/#[0-9A-Fa-f]{8}/,a):b}())?["#",cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.core.subs.call(null,a,3,9)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.core.subs.call(null,a,1,3))].join(""):a;b=weathergen.ui.common.tinycolor.call(null,b).toRgb();return["rgba(",cljs.core.str.cljs$core$IFn$_invoke$arity$1(b.r),", ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(b.g),
", ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(b.b),", ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(b.a),")"].join("")};
weathergen.ui.common.styled=function(){var a=function(a){var b=hoplon.core.parse_args.call(null,a),c=cljs.core.nth.call(null,b,0,null);a=cljs.core.nth.call(null,b,1,null);var f=null!=c&&(c.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===c.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,c):c,g=cljs.core.get.call(null,f,new cljs.core.Keyword(null,"garden","garden",-1966516149)),h=cljs.core.dissoc.call(null,c,new cljs.core.Keyword(null,"garden","garden",-1966516149)),
k=document.getElementsByTagName("head")[0],l=cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.core.gensym.call(null));b=javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,k){return function(a,b,c,d){return a.call(null,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[c.call(null,["#",d].join("")),b],null))}}(c,f,g,h,k,l,b,c,a)).call(null,garden.core.css,g,cljs.core.keyword,l);k.appendChild(hoplon.core.style.call(null,new cljs.core.Keyword(null,"type","type",1174270348),
"text/css",b));return hoplon.core.div.call(null,cljs.core.merge.call(null,h,new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"id","id",-1388402092),l],null)),a)},b=function(b){var c=null;if(0<arguments.length){c=0;for(var e=Array(arguments.length-0);c<e.length;)e[c]=arguments[c+0],++c;c=new cljs.core.IndexedSeq(e,0,null)}return a.call(this,c)};b.cljs$lang$maxFixedArity=0;b.cljs$lang$applyTo=function(b){b=cljs.core.seq(b);return a(b)};b.cljs$core$IFn$_invoke$arity$variadic=a;return b}();
weathergen.ui.common.external_link=function(){var a=function(a){a=hoplon.core.parse_args.call(null,a);var b=cljs.core.nth.call(null,a,0,null),c=cljs.core.nth.call(null,a,1,null);return hoplon.core.a.call(null,cljs.core.assoc.call(null,cljs.core.assoc.call(null,b,new cljs.core.Keyword(null,"href","href",-793805698),""),new cljs.core.Keyword(null,"click","click",1912301393),function(a,b,c){return function(a){a.preventDefault();return weathergen.ui.common.electron.shell.openExternal((new cljs.core.Keyword(null,
"href","href",-793805698)).cljs$core$IFn$_invoke$arity$1(b))}}(a,b,c)),c)},b=function(b){var c=null;if(0<arguments.length){c=0;for(var e=Array(arguments.length-0);c<e.length;)e[c]=arguments[c+0],++c;c=new cljs.core.IndexedSeq(e,0,null)}return a.call(this,c)};b.cljs$lang$maxFixedArity=0;b.cljs$lang$applyTo=function(b){b=cljs.core.seq(b);return a(b)};b.cljs$core$IFn$_invoke$arity$variadic=a;return b}();
weathergen.ui.common.inl=function(){var a=function(a){a=hoplon.core.parse_args.call(null,a);var b=cljs.core.nth.call(null,a,0,null),c=cljs.core.nth.call(null,a,1,null),f=null!=b&&(b.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===b.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,b):b,g=cljs.core.get.call(null,f,new cljs.core.Keyword(null,"css","css",1135045163));return hoplon.core.div.call(null,cljs.core.update.call(null,b,new cljs.core.Keyword(null,"css","css",
1135045163),function(a,b,c,d,e,f){return function(g){return cljs.core.truth_(javelin.core.cell_QMARK_.call(null,g))?javelin.core.formula.call(null,function(a,b,c,d,e,f){return function(a){return cljs.core.assoc.call(null,a,new cljs.core.Keyword(null,"display","display",242065432),"inline-block")}}(a,b,c,d,e,f)).call(null,g):cljs.core.assoc.call(null,g,new cljs.core.Keyword(null,"display","display",242065432),"inline-block")}}(b,f,g,a,b,c)),c)},b=function(b){var c=null;if(0<arguments.length){c=0;for(var e=
Array(arguments.length-0);c<e.length;)e[c]=arguments[c+0],++c;c=new cljs.core.IndexedSeq(e,0,null)}return a.call(this,c)};b.cljs$lang$maxFixedArity=0;b.cljs$lang$applyTo=function(b){b=cljs.core.seq(b);return a(b)};b.cljs$core$IFn$_invoke$arity$variadic=a;return b}();weathergen.ui.common.rinl=function(a){for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;b=0<b.length?new cljs.core.IndexedSeq(b.slice(0),0,null):null;return weathergen.ui.common.rinl.cljs$core$IFn$_invoke$arity$variadic(b)};
weathergen.ui.common.rinl.cljs$core$IFn$_invoke$arity$variadic=function(a){var b=cljs.core.seq.call(null,a),c=cljs.core.first.call(null,b);b=cljs.core.next.call(null,b);return cljs.core.map_QMARK_.call(null,c)?new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"div","div",1057191632),cljs.core.assoc_in.call(null,c,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"style","style",-496642736),
new cljs.core.Keyword(null,"display","display",242065432)],null),"inline-block"),b],null):new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"div","div",1057191632),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"style","style",-496642736),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"display","display",242065432),"inline-block"],null)],null),a],null)};
weathergen.ui.common.rinl.cljs$lang$maxFixedArity=0;weathergen.ui.common.rinl.cljs$lang$applyTo=function(a){return this.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq.call(null,a))};
weathergen.ui.common.css_triangle=function(){var a=function(a){a=hoplon.core.parse_args.call(null,a);var b=cljs.core.nth.call(null,a,0,null),c=cljs.core.nth.call(null,a,1,null),f=null!=b&&(b.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===b.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,b):b,g=cljs.core.get.call(null,f,new cljs.core.Keyword(null,"rotation","rotation",-1728051644)),h=cljs.core.get.call(null,f,new cljs.core.Keyword(null,"color","color",1011675173)),
k=cljs.core.get.call(null,f,new cljs.core.Keyword(null,"size","size",1098693007)),l=cljs.core.dissoc.call(null,b,new cljs.core.Keyword(null,"size","size",1098693007),new cljs.core.Keyword(null,"rotation","rotation",-1728051644),new cljs.core.Keyword(null,"color","color",1011675173));return hoplon.core.div.call(null,l,new cljs.core.Keyword(null,"css","css",1135045163),javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,k){return function(a){return cljs.core.PersistentHashMap.fromArrays([new cljs.core.Keyword(null,
"border-top-style","border-top-style",-668961567),new cljs.core.Keyword(null,"transform","transform",1381301764),new cljs.core.Keyword(null,"border-left-width","border-left-width",2037218085),new cljs.core.Keyword(null,"border-right-style","border-right-style",-1606013368),new cljs.core.Keyword(null,"border-left-color","border-left-color",-1166146583),new cljs.core.Keyword(null,"width","width",-384071477),new cljs.core.Keyword(null,"border-right-width","border-right-width",750273868),new cljs.core.Keyword(null,
"border-right-color","border-right-color",2017953775),new cljs.core.Keyword(null,"border-left-style","border-left-style",65166675),new cljs.core.Keyword(null,"border-top-width","border-top-width",1612782932),new cljs.core.Keyword(null,"border-top-color","border-top-color",-804629899),new cljs.core.Keyword(null,"display","display",242065432),new cljs.core.Keyword(null,"height","height",1025178622)],["solid",["rotate(",cljs.core.str.cljs$core$IFn$_invoke$arity$1(a),"deg)"].join(""),weathergen.ui.common.px.call(null,
.66*e),"solid","transparent",0,weathergen.ui.common.px.call(null,.66*e),"transparent","solid",weathergen.ui.common.px.call(null,e),d,"inline-block",0])}}(b,f,g,h,k,l,a,b,c)).call(null,g))},b=function(b){var c=null;if(0<arguments.length){c=0;for(var e=Array(arguments.length-0);c<e.length;)e[c]=arguments[c+0],++c;c=new cljs.core.IndexedSeq(e,0,null)}return a.call(this,c)};b.cljs$lang$maxFixedArity=0;b.cljs$lang$applyTo=function(b){b=cljs.core.seq(b);return a(b)};b.cljs$core$IFn$_invoke$arity$variadic=
a;return b}();
weathergen.ui.common.triangle=function(){var a=function(a){a=hoplon.core.parse_args.call(null,a);var b=cljs.core.nth.call(null,a,0,null),c=cljs.core.nth.call(null,a,1,null),f=null!=b&&(b.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===b.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,b):b,g=cljs.core.get.call(null,f,new cljs.core.Keyword(null,"r","r",-471384190)),h=javelin.core.formula.call(null,function(a,b,c,d,e,f){return function(a){return a}}(b,f,g,a,b,c)).call(null,
g),k=cljs.core.dissoc.call(null,b,new cljs.core.Keyword(null,"r","r",-471384190)),l=javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,k,l){return function(a,b){return a*b}}(b,f,g,h,k,.8660254037844387,.5,a,b,c)).call(null,h,.8660254037844387),m=javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,k,l,m){return function(a,b){return a*b}}(b,f,g,h,k,.8660254037844387,.5,l,a,b,c)).call(null,h,.8660254037844387);return hoplon.svg.path.call(null,new cljs.core.Keyword(null,"d","d",1972142424),javelin.core.formula.call(null,
function(a,b,c,d,e,f,g,h,k,l,m,B){return function(a,b){return goog.string.format("M%f,%f L%f,%f L%f,%f Z",0,-b,a,b,-a,b)}}(b,f,g,h,k,.8660254037844387,.5,l,m,a,b,c)).call(null,l,m),k)},b=function(b){var c=null;if(0<arguments.length){c=0;for(var e=Array(arguments.length-0);c<e.length;)e[c]=arguments[c+0],++c;c=new cljs.core.IndexedSeq(e,0,null)}return a.call(this,c)};b.cljs$lang$maxFixedArity=0;b.cljs$lang$applyTo=function(b){b=cljs.core.seq(b);return a(b)};b.cljs$core$IFn$_invoke$arity$variadic=a;
return b}();
weathergen.ui.common.rtriangle=function(a){var b=null!=a&&(a.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===a.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,a):a;b=cljs.core.get.call(null,b,new cljs.core.Keyword(null,"r","r",-471384190));a=cljs.core.dissoc.call(null,a,new cljs.core.Keyword(null,"r","r",-471384190));var c=.8660254037844387*b;b*=.8660254037844387;return new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"path",
"path",-188191168),cljs.core.assoc.call(null,a,new cljs.core.Keyword(null,"d","d",1972142424),goog.string.format("M%f,%f L%f,%f L%f,%f Z",0,-b,c,b,-c,b))],null)};
weathergen.ui.common.pre_cell=function(a,b){weathergen.ui.common.register_styles_BANG_.call(null,new cljs.core.Keyword("weathergen.ui.common","pre-cell","weathergen.ui.common/pre-cell",-1959908687),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,".pre-cell",".pre-cell",1928754490),new cljs.core.PersistentArrayMap(null,3,[new cljs.core.Keyword(null,"background","background",
-863952629),"black",new cljs.core.Keyword(null,"color","color",1011675173),"green",new cljs.core.Keyword(null,"font-family","font-family",-667419874),"monospace"],null)],null)],null));return hoplon.core.div.call(null,new cljs.core.Keyword(null,"class","class",-2030961996),"pre-cell",hoplon.core.h4.call(null,a),hoplon.core.pre.call(null,new cljs.core.Keyword(null,"css","css",1135045163),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"white-space","white-space",-707351930),"pre-wrap"],
null),javelin.core.formula.call(null,function(a,b){return a.call(null,b,new cljs.core.Keyword(null,"stream","stream",1534941648),null,new cljs.core.Keyword(null,"pretty","pretty",-1916372486),!0)}).call(null,cljs.pprint.write,b)))};
weathergen.ui.common.control_section=function(){var a=function(a){a=hoplon.core.parse_args.call(null,a);var b=cljs.core.nth.call(null,a,0,null),c=cljs.core.nth.call(null,a,1,null),f=javelin.core.cell.call(null,cljs.core.not.call(null,(new cljs.core.Keyword(null,"collapsed?","collapsed?",-1661420674)).cljs$core$IFn$_invoke$arity$1(b))),g=function(a,b,c,d){return function(){return cljs.core.swap_BANG_.call(null,a,cljs.core.not)}}(f,a,b,c);return hoplon.core.fieldset.call(null,new cljs.core.Keyword(null,
"class","class",-2030961996),"controls",cljs.core.dissoc.call(null,b,new cljs.core.Keyword(null,"title","title",636505583),new cljs.core.Keyword(null,"collapsed?","collapsed?",-1661420674),new cljs.core.Keyword(null,"help-for","help-for",-1997101642)),hoplon.core.legend.call(null,hoplon.core.div.call(null,new cljs.core.Keyword(null,"click","click",1912301393),g,new cljs.core.Keyword(null,"class","class",-2030961996),javelin.core.formula.call(null,function(a,b,c,d,e){return function(a){return new cljs.core.PersistentArrayMap(null,
2,[new cljs.core.Keyword(null,"toggle","toggle",1291842030),!0,new cljs.core.Keyword(null,"visible","visible",-1024216805),a],null)}}(f,g,a,b,c)).call(null,f),""),hoplon.core.span.call(null,(new cljs.core.Keyword(null,"title","title",636505583)).cljs$core$IFn$_invoke$arity$1(b))),hoplon.core.div.call(null,new cljs.core.Keyword(null,"class","class",-2030961996),"control-visibility-container",new cljs.core.Keyword(null,"toggle","toggle",1291842030),f,new cljs.core.Keyword(null,"fade-toggle","fade-toggle",
-1468421852),f,hoplon.core.div.call(null,new cljs.core.Keyword(null,"class","class",-2030961996),"control-container",c)))},b=function(b){var c=null;if(0<arguments.length){c=0;for(var e=Array(arguments.length-0);c<e.length;)e[c]=arguments[c+0],++c;c=new cljs.core.IndexedSeq(e,0,null)}return a.call(this,c)};b.cljs$lang$maxFixedArity=0;b.cljs$lang$applyTo=function(b){b=cljs.core.seq(b);return a(b)};b.cljs$core$IFn$_invoke$arity$variadic=a;return b}();
weathergen.ui.common.format_time=function(a){switch(arguments.length){case 1:return weathergen.ui.common.format_time.cljs$core$IFn$_invoke$arity$1(arguments[0]);case 2:return weathergen.ui.common.format_time.cljs$core$IFn$_invoke$arity$2(arguments[0],arguments[1]);default:throw Error(["Invalid arity: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(""));}};
weathergen.ui.common.format_time.cljs$core$IFn$_invoke$arity$1=function(a){a=null!=a&&(a.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===a.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,a):a;cljs.core.get.call(null,a,new cljs.core.Keyword(null,"day","day",-274800446));cljs.core.get.call(null,a,new cljs.core.Keyword(null,"hour","hour",-555989214));cljs.core.get.call(null,a,new cljs.core.Keyword(null,"minute","minute",-642875969));cljs.core.get.call(null,a,new cljs.core.Keyword(null,
"second","second",-444702010));return weathergen.ui.common.format_time.call(null,a,cljs.core.PersistentArrayMap.EMPTY)};
weathergen.ui.common.format_time.cljs$core$IFn$_invoke$arity$2=function(a,b){a=null!=a&&(a.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===a.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,a):a;var c=cljs.core.get.call(null,a,new cljs.core.Keyword(null,"day","day",-274800446)),d=cljs.core.get.call(null,a,new cljs.core.Keyword(null,"hour","hour",-555989214)),e=cljs.core.get.call(null,a,new cljs.core.Keyword(null,"minute","minute",-642875969)),f=cljs.core.get.call(null,
a,new cljs.core.Keyword(null,"second","second",-444702010)),g=null!=b&&(b.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===b.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,b):b;b=cljs.core.get.call(null,g,new cljs.core.Keyword(null,"seconds?","seconds?",-1600404958));g=cljs.core.get.call(null,g,new cljs.core.Keyword(null,"omit-day?","omit-day?",1622751707));return cljs.core.truth_(a)?[cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.core.truth_(g)?"":goog.string.format("%02d/",
c)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.core.truth_(b)?goog.string.format("%02d:%02d:%02d",d,e,f):goog.string.format("%02d:%02d",d,e))].join(""):null};weathergen.ui.common.format_time.cljs$lang$maxFixedArity=2;weathergen.ui.common.format_heading=function(a){return null==a?null:a.toFixed(0)};weathergen.ui.common.format_distance=function(a){return null==a?null:a.toFixed(1)};
weathergen.ui.common.format_speed=function(a){a=null==a?null:weathergen.math.nearest.call(null,a,5);return null==a?null:a.toFixed(0)};weathergen.ui.common.format_mach=function(a){return null==a?null:a.toFixed(2)};
weathergen.ui.common.color_picker=function(){var a=function(a){a=hoplon.core.parse_args.call(null,a);var b=cljs.core.nth.call(null,a,0,null),c=cljs.core.nth.call(null,a,1,null),f=null!=b&&(b.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===b.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,b):b,g=cljs.core.get.call(null,f,new cljs.core.Keyword(null,"change","change",-1163046502)),h=cljs.core.get.call(null,f,new cljs.core.Keyword(null,"show","show",-576705889)),k=
cljs.core.get.call(null,f,new cljs.core.Keyword(null,"alpha?","alpha?",1329751525)),l=cljs.core.get.call(null,f,new cljs.core.Keyword(null,"value","value",305978217)),m=cljs.core.get.call(null,f,new cljs.core.Keyword(null,"hide","hide",-596913169)),n=cljs.core.dissoc.call(null,b,new cljs.core.Keyword(null,"change","change",-1163046502),new cljs.core.Keyword(null,"hide","hide",-596913169),new cljs.core.Keyword(null,"show","show",-576705889),new cljs.core.Keyword(null,"alpha?","alpha?",1329751525),
new cljs.core.Keyword(null,"value","value",305978217)),p=cljs.core.atom.call(null,!1),q=hoplon.core.input.call(null,new cljs.core.Keyword(null,"id","id",-1388402092),cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.core.gensym.call(null)),new cljs.core.Keyword(null,"value","value",305978217),cljs.core.deref.call(null,l),new cljs.core.Keyword(null,"class","class",-2030961996),"minicolors",new cljs.core.Keyword(null,"type","type",1174270348),"hidden");cljs.core.add_watch.call(null,l,cljs.core.keyword.call(null,
cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.core.gensym.call(null))),function(a,b,c,d,e,f,g,h,k,l,m,n,p){return function(b,c,d,e){return cljs.core.truth_(e)?jQuery(a).minicolors("value",weathergen.ui.common.to_hex_str.call(null,e)):null}}(q,p,b,f,g,h,k,l,m,n,a,b,c));weathergen.ui.common.when_dom_STAR_.call(null,q,function(a,b,c,d,e,f,g,h,k,l,m,n,p){return function(){return jQuery(a).minicolors({theme:"weathergen",show:function(a,b,c,d,e,f,g,h,k,l,m,n,p){return function(){cljs.core.reset_BANG_.call(null,
b,!0);return cljs.core.truth_(f)?f.call(null):null}}(a,b,c,d,e,f,g,h,k,l,m,n,p),hide:function(a,b,c,d,e,f,g,h,k,l,m,n,p){return function(){cljs.core.reset_BANG_.call(null,b,!1);return cljs.core.truth_(k)?k.call(null):null}}(a,b,c,d,e,f,g,h,k,l,m,n,p),opacity:cljs.core.boolean$.call(null,g)})}}(q,p,b,f,g,h,k,l,m,n,a,b,c));return q},b=function(b){var c=null;if(0<arguments.length){c=0;for(var e=Array(arguments.length-0);c<e.length;)e[c]=arguments[c+0],++c;c=new cljs.core.IndexedSeq(e,0,null)}return a.call(this,
c)};b.cljs$lang$maxFixedArity=0;b.cljs$lang$applyTo=function(b){b=cljs.core.seq(b);return a(b)};b.cljs$core$IFn$_invoke$arity$variadic=a;return b}();
weathergen.ui.common.color_picker2=function(){var a=function(a){a=hoplon.core.parse_args.call(null,a);var b=cljs.core.nth.call(null,a,0,null),c=cljs.core.nth.call(null,a,1,null);weathergen.ui.common.register_styles_BANG_.call(null,new cljs.core.Keyword("weathergen.ui.common","color-picker2","weathergen.ui.common/color-picker2",1693455994),new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,".vmt-color-picker",".vmt-color-picker",-692568040),new cljs.core.PersistentVector(null,
2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"\x26.sp-replacer","\x26.sp-replacer",-1732597284),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"padding","padding",1660304693),weathergen.ui.common.px.call(null,2)],null)],null),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,".sp-preview",".sp-preview",436894146),new cljs.core.PersistentArrayMap(null,3,[new cljs.core.Keyword(null,"width","width",
-384071477),weathergen.ui.common.px.call(null,18),new cljs.core.Keyword(null,"height","height",1025178622),weathergen.ui.common.px.call(null,18),new cljs.core.Keyword(null,"margin-right","margin-right",809689658),weathergen.ui.common.px.call(null,2)],null)],null)],null));var f=null!=b&&(b.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===b.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,b):b,g=cljs.core.get.call(null,f,new cljs.core.Keyword(null,"change","change",
-1163046502)),h=cljs.core.get.call(null,f,new cljs.core.Keyword(null,"alpha?","alpha?",1329751525)),k=cljs.core.get.call(null,f,new cljs.core.Keyword(null,"value","value",305978217)),l=cljs.core.dissoc.call(null,b,new cljs.core.Keyword(null,"value","value",305978217),new cljs.core.Keyword(null,"change","change",-1163046502),new cljs.core.Keyword(null,"alpha?","alpha?",1329751525)),m=hoplon.core.input.call(null,new cljs.core.Keyword(null,"type","type",1174270348),"hidden");(function(a,b,c,d,e,f,g,
h,k,l,m){return function C(){return setTimeout(function(a,b,c,d,e,f,g,h,k,l,m){return function(){var n=function(){var a=null==b?null:jQuery(b);return null==a?null:a.spectrum}();return cljs.core.truth_(n)?(cljs.core.add_watch.call(null,g,cljs.core.keyword.call(null,cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.core.gensym.call(null))),function(a,b,c,d,e,f,g,h,k,l,m,n,p){return function(a,b,c,e){return jQuery(d).spectrum("set",e)}}(n,n,a,b,c,d,e,f,g,h,k,l,m)),jQuery(b).spectrum({color:cljs.core.deref.call(null,
g),showAlpha:cljs.core.boolean$.call(null,f),replacerClassName:"vmt-color-picker",containerClassName:"vmt-color-picker",change:a,move:a,hide:a})):C.call(null)}}(a,b,c,d,e,f,g,h,k,l,m),0)}})(function(a,b,c,d,e,f,g,h,k,l){return function(a){a=cljs.core.truth_(e)?a.toHex8String():a.toHexString();return cljs.core.truth_(d)?d.call(null,a):cljs.core.reset_BANG_.call(null,f,a)}}(m,b,f,g,h,k,l,a,b,c),m,b,f,g,h,k,l,a,b,c).call(null);return m},b=function(b){var c=null;if(0<arguments.length){c=0;for(var e=Array(arguments.length-
0);c<e.length;)e[c]=arguments[c+0],++c;c=new cljs.core.IndexedSeq(e,0,null)}return a.call(this,c)};b.cljs$lang$maxFixedArity=0;b.cljs$lang$applyTo=function(b){b=cljs.core.seq(b);return a(b)};b.cljs$core$IFn$_invoke$arity$variadic=a;return b}();
weathergen.ui.common.side_label=function(){var a=function(a){a=hoplon.core.parse_args.call(null,a);var b=cljs.core.nth.call(null,a,0,null),c=cljs.core.nth.call(null,a,1,null),f=null!=b&&(b.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===b.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,b):b,g=cljs.core.get.call(null,f,new cljs.core.Keyword(null,"mission","mission",1740288522)),h=cljs.core.get.call(null,f,new cljs.core.Keyword(null,"side","side",389652279)),k=javelin.core.formula.call(null,
function(a,b,c,d,e,f,g){return function(h,k){h=cljs.core.set.call(null,cljs.core.map.call(null,function(a,b,c,d,e,f,g){return function(a){return(new cljs.core.Keyword(null,"who","who",-235935040)).cljs$core$IFn$_invoke$arity$1((new cljs.core.Keyword(null,"team","team",1355747699)).cljs$core$IFn$_invoke$arity$1(a))}}(a,b,c,d,e,f,g),cljs.core.filter.call(null,function(a,b,c,d,e,f,g){return function(a){return cljs.core._EQ_.call(null,(new cljs.core.Keyword(null,"c-team","c-team",1058111407)).cljs$core$IFn$_invoke$arity$1((new cljs.core.Keyword(null,
"team","team",1355747699)).cljs$core$IFn$_invoke$arity$1(a)),k)}}(a,b,c,d,e,f,g),weathergen.falcon.files.mission.teams.call(null,h))));return cljs.core.disj.call(null,h,k)}}(b,f,g,h,a,b,c)).call(null,g,h);return hoplon.core.div.call(null,cljs.core.dissoc.call(null,b,new cljs.core.Keyword(null,"mission","mission",1740288522),new cljs.core.Keyword(null,"side","side",389652279)),hoplon.core.loop_tpl_STAR_.call(null,javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h){return function(k,l,m){return cljs.core.interpose.call(null,
new cljs.core.PersistentArrayMap(null,2,[new cljs.core.Keyword(null,"color","color",1011675173),"",new cljs.core.Keyword(null,"name","name",1843675177),"/"],null),function(){return function(a,b,c,d,e,f,g,h){return function M(l){return new cljs.core.LazySeq(null,function(a,b,c,d,e,f,g,h){return function(){for(;;){var a=cljs.core.seq.call(null,l);if(a){if(cljs.core.chunked_seq_QMARK_.call(null,a)){var b=cljs.core.chunk_first.call(null,a),c=cljs.core.count.call(null,b),d=cljs.core.chunk_buffer.call(null,
c);a:for(var e=0;;)if(e<c){var f=cljs.core._nth.call(null,b,e);cljs.core.chunk_append.call(null,d,new cljs.core.PersistentArrayMap(null,2,[new cljs.core.Keyword(null,"color","color",1011675173),weathergen.ui.common.team_color.call(null,f,new cljs.core.Keyword(null,"dark-text","dark-text",814777253)),new cljs.core.Keyword(null,"name","name",1843675177),weathergen.falcon.files.mission.team_name.call(null,k,f)],null));e+=1}else{b=!0;break a}return b?cljs.core.chunk_cons.call(null,cljs.core.chunk.call(null,
d),M.call(null,cljs.core.chunk_rest.call(null,a))):cljs.core.chunk_cons.call(null,cljs.core.chunk.call(null,d),null)}d=cljs.core.first.call(null,a);return cljs.core.cons.call(null,new cljs.core.PersistentArrayMap(null,2,[new cljs.core.Keyword(null,"color","color",1011675173),weathergen.ui.common.team_color.call(null,d,new cljs.core.Keyword(null,"dark-text","dark-text",814777253)),new cljs.core.Keyword(null,"name","name",1843675177),weathergen.falcon.files.mission.team_name.call(null,k,d)],null),M.call(null,
cljs.core.rest.call(null,a)))}return null}}}(a,b,c,d,e,f,g,h),null,null)}}(a,b,c,d,e,f,g,h).call(null,cljs.core.into.call(null,new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[l],null),m))}())}}(b,f,g,h,k,a,b,c)).call(null,g,h,k),function(a,b,c,d,e,f,g,h){return function(k){k=javelin.core.cell_map.call(null,cljs.core.identity,javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h){return function(a){return new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,
[a],null)}}(a,b,c,d,e,f,g,h)).call(null,k));var l=cljs.core.nth.call(null,k,0,null),m=javelin.core.cell_map.call(null,cljs.core.identity,javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,k,l){return function(a){var b=null!=a&&(a.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===a.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,a):a;a=cljs.core.get.call(null,b,new cljs.core.Keyword(null,"color","color",1011675173));b=cljs.core.get.call(null,b,new cljs.core.Keyword(null,
"name","name",1843675177));return new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[a,b],null)}}(k,l,a,b,c,d,e,f,g,h)).call(null,l)),n=cljs.core.nth.call(null,m,0,null),p=cljs.core.nth.call(null,m,1,null);return hoplon.core.span.call(null,new cljs.core.Keyword(null,"css","css",1135045163),javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,k,l,m,n,p){return function(a){return new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"color","color",1011675173),
a],null)}}(m,n,p,k,l,a,b,c,d,e,f,g,h)).call(null,n),javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,k,l,m,n,p){return function(a){return a}}(m,n,p,k,l,a,b,c,d,e,f,g,h)).call(null,p))}}(b,f,g,h,k,a,b,c)))},b=function(b){var c=null;if(0<arguments.length){c=0;for(var e=Array(arguments.length-0);c<e.length;)e[c]=arguments[c+0],++c;c=new cljs.core.IndexedSeq(e,0,null)}return a.call(this,c)};b.cljs$lang$maxFixedArity=0;b.cljs$lang$applyTo=function(b){b=cljs.core.seq(b);return a(b)};b.cljs$core$IFn$_invoke$arity$variadic=
a;return b}();weathergen.ui.common.iterator_seq=function(a){for(var b=cljs.core.PersistentVector.EMPTY,c=a.next();;){if(cljs.core.truth_(c.done))return b;b=cljs.core.conj.call(null,b,c.value);c=a.next()}};
weathergen.ui.common.select2=function(){var a=function(a){a=hoplon.core.parse_args.call(null,a);var b=cljs.core.nth.call(null,a,0,null),c=cljs.core.nth.call(null,a,1,null),f=null!=b&&(b.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===b.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,b):b,g=cljs.core.get.call(null,f,new cljs.core.Keyword(null,"allow-clear?","allow-clear?",474545376)),h=cljs.core.get.call(null,f,new cljs.core.Keyword(null,"placeholder","placeholder",
-104873083)),k=cljs.core.get.call(null,f,new cljs.core.Keyword(null,"formatter","formatter",-483008823)),l=cljs.core.get.call(null,f,new cljs.core.Keyword(null,"value","value",305978217)),m=cljs.core.get.call(null,f,new cljs.core.Keyword(null,"choices","choices",1385611597)),n=cljs.core.dissoc.call(null,b,new cljs.core.Keyword(null,"choices","choices",1385611597),new cljs.core.Keyword(null,"formatter","formatter",-483008823),new cljs.core.Keyword(null,"value","value",305978217),new cljs.core.Keyword(null,
"placeholder","placeholder",-104873083),new cljs.core.Keyword(null,"allow-clear?","allow-clear?",474545376)),p=javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,k,l,m){return function(a,b){return cljs.core.into.call(null,cljs.core.truth_(b)?new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.PersistentArrayMap(null,2,[new cljs.core.Keyword(null,"value","value",305978217),null,new cljs.core.Keyword("weathergen.ui.common","placeholder?","weathergen.ui.common/placeholder?",
539360064),!0],null)],null):cljs.core.PersistentVector.EMPTY,a)}}(b,f,g,h,k,l,m,n,a,b,c)).call(null,m,h),q=cljs.core.truth_(k)?k:new cljs.core.Keyword(null,"label","label",1718410804),r=javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,k,l,m,n,p){return function(q,r,t,u,v,w,x){return v.call(null,x.call(null),u.call(null,r.call(null,function(a,b,c,d,e,f,g,h,k,l,m,n,p){return function(a){return w.call(null,"%05d",a)}}(a,b,c,d,e,f,g,h,k,l,m,n,p),t.call(null)),q))}}(p,q,b,f,g,h,k,l,m,n,a,b,c)).call(null,
p,cljs.core.map,cljs.core.range,cljs.core.zipmap,cljs.core.into,goog.string.format,cljs.core.sorted_map),u=function(a,b,c,d,e,f,g,h,k,l,m,n,p,q){return function(a){a=cljs.core.get.call(null,cljs.core.deref.call(null,c),a.id);return cljs.core.truth_(a)?b.call(null,a):g}}(p,q,r,b,f,g,h,k,l,m,n,a,b,c),t=function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r){return function(t){var u=cljs.core.deref.call(null,c);u=null==u?null:cljs.core.filter.call(null,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u){return function(a){cljs.core.nth.call(null,
a,0,null);a=cljs.core.nth.call(null,a,1,null);return cljs.core._EQ_.call(null,(new cljs.core.Keyword(null,"value","value",305978217)).cljs$core$IFn$_invoke$arity$1(a),t)}}(u,a,b,c,d,e,f,g,h,k,l,m,n,p,q,r),u);u=null==u?null:cljs.core.first.call(null,u);return null==u?null:cljs.core.key.call(null,u)}}(p,q,r,u,b,f,g,h,k,l,m,n,a,b,c),v=hoplon.core.select.call(null,n,c);hoplon.core.do_watch.call(null,l,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u){return function(b,c){b=$(a);var d=f.call(null,c);return cljs.core.truth_(d)?
(b.val(d),b.trigger("change"),b):console.warn("select2: item",cljs.core.pr_str.call(null,c),"not found")}}(v,p,q,r,u,t,b,f,g,h,k,l,m,n,a,b,c));cljs.core.add_watch.call(null,r,cljs.core.gensym.call(null),function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u){return function(v,w,x,z){v=jQuery(a).empty();return cljs.core.reduce.call(null,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v){return function(a,b){var c=null!=b&&(b.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===b.cljs$core$ISeq$)?cljs.core.apply.call(null,
cljs.core.hash_map,b):b;b=cljs.core.get.call(null,c,new cljs.core.Keyword(null,"value","value",305978217));c=cljs.core.get.call(null,c,new cljs.core.Keyword("weathergen.ui.common","placeholder?","weathergen.ui.common/placeholder?",539360064));b=cljs.core.truth_(c)?"":g.call(null,b);return a.append(new Option(b,b,!1,!1))}}(v,a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u),v,cljs.core.deref.call(null,b)).val(f.call(null,cljs.core.deref.call(null,n))).trigger("change")}}(v,p,q,r,u,t,b,f,g,h,k,l,m,n,a,b,c));setTimeout(function(a,
b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u){return function(){jQuery.fn.select2.defaults.set("width","resolve");return jQuery(a).select2(cljs.core.clj__GT_js.call(null,function(){var v=new cljs.core.PersistentArrayMap(null,4,[new cljs.core.Keyword(null,"data","data",-232669377),cljs.core.clj__GT_js.call(null,function(){return function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u){return function ia(v){return new cljs.core.LazySeq(null,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u){return function(){for(;;){var a=cljs.core.seq.call(null,
v);if(a){if(cljs.core.chunked_seq_QMARK_.call(null,a)){var b=cljs.core.chunk_first.call(null,a),c=cljs.core.count.call(null,b),d=cljs.core.chunk_buffer.call(null,c);a:for(var e=0;;)if(e<c){var f=cljs.core._nth.call(null,b,e),g=cljs.core.nth.call(null,f,0,null);f=cljs.core.nth.call(null,f,1,null);cljs.core.chunk_append.call(null,d,new cljs.core.PersistentArrayMap(null,2,[new cljs.core.Keyword(null,"text","text",-1790561697),cljs.core.truth_((new cljs.core.Keyword("weathergen.ui.common","placeholder?",
"weathergen.ui.common/placeholder?",539360064)).cljs$core$IFn$_invoke$arity$1(f))?"":g,new cljs.core.Keyword(null,"id","id",-1388402092),cljs.core.truth_((new cljs.core.Keyword("weathergen.ui.common","placeholder?","weathergen.ui.common/placeholder?",539360064)).cljs$core$IFn$_invoke$arity$1(f))?"":g],null));e+=1}else{b=!0;break a}return b?cljs.core.chunk_cons.call(null,cljs.core.chunk.call(null,d),ia.call(null,cljs.core.chunk_rest.call(null,a))):cljs.core.chunk_cons.call(null,cljs.core.chunk.call(null,
d),null)}b=cljs.core.first.call(null,a);d=cljs.core.nth.call(null,b,0,null);b=cljs.core.nth.call(null,b,1,null);return cljs.core.cons.call(null,new cljs.core.PersistentArrayMap(null,2,[new cljs.core.Keyword(null,"text","text",-1790561697),cljs.core.truth_((new cljs.core.Keyword("weathergen.ui.common","placeholder?","weathergen.ui.common/placeholder?",539360064)).cljs$core$IFn$_invoke$arity$1(b))?"":d,new cljs.core.Keyword(null,"id","id",-1388402092),cljs.core.truth_((new cljs.core.Keyword("weathergen.ui.common",
"placeholder?","weathergen.ui.common/placeholder?",539360064)).cljs$core$IFn$_invoke$arity$1(b))?"":d],null),ia.call(null,cljs.core.rest.call(null,a)))}return null}}}(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u),null,null)}}(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u).call(null,cljs.core.deref.call(null,d))}()),new cljs.core.Keyword(null,"templateResult","templateResult",-405103851),e,new cljs.core.Keyword(null,"templateSelection","templateSelection",-1100841272),e,new cljs.core.Keyword(null,"allowClear","allowClear",
2001597922),k],null);return cljs.core.truth_(l)?cljs.core.merge.call(null,v,new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"placeholder","placeholder",-104873083),l],null)):v}())).on("change",function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u){return function(a){a=(new cljs.core.Keyword(null,"value","value",305978217)).cljs$core$IFn$_invoke$arity$1(cljs.core.get.call(null,cljs.core.deref.call(null,d),a.currentTarget.value));return cljs.core.reset_BANG_.call(null,n,a)}}(a,b,c,d,e,f,g,
h,k,l,m,n,p,q,r,t,u)).val(f.call(null,cljs.core.deref.call(null,n))).trigger("change")}}(v,p,q,r,u,t,b,f,g,h,k,l,m,n,a,b,c),0);return v},b=function(b){var c=null;if(0<arguments.length){c=0;for(var e=Array(arguments.length-0);c<e.length;)e[c]=arguments[c+0],++c;c=new cljs.core.IndexedSeq(e,0,null)}return a.call(this,c)};b.cljs$lang$maxFixedArity=0;b.cljs$lang$applyTo=function(b){b=cljs.core.seq(b);return a(b)};b.cljs$core$IFn$_invoke$arity$variadic=a;return b}();
weathergen.ui.common.image_cache_path=function(a){return weathergen.filesystem.path_combine.call(null,weathergen.settings.app_dir,"cache","images",[weathergen.falcon.files.images.cache_key.call(null,a),".png"].join(""))};weathergen.ui.common.save_blob_async=function(a,b){var c=new FileReader;c.onload=function(a){return function(){return weathergen.filesystem.save_data.call(null,b,Buffer.from(a.result))}}(c);return c.readAsArrayBuffer(a)};
weathergen.ui.common.save_data=function(a){var b=null!=a&&(a.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===a.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,a):a;a=cljs.core.get.call(null,b,new cljs.core.Keyword(null,"data","data",-232669377));var c=cljs.core.get.call(null,b,new cljs.core.Keyword(null,"title","title",636505583)),d=cljs.core.get.call(null,b,new cljs.core.Keyword(null,"filters","filters",974726919)),e=cljs.core.get.call(null,b,new cljs.core.Keyword(null,
"default-path","default-path",-1046856029));b=weathergen.ui.common.electron.remote.dialog.showSaveDialog(cljs.core.clj__GT_js.call(null,function(){var a=new cljs.core.PersistentArrayMap(null,2,[new cljs.core.Keyword(null,"title","title",636505583),c,new cljs.core.Keyword(null,"filters","filters",974726919),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[d],null)],null);return cljs.core.truth_(e)?cljs.core.assoc.call(null,a,new cljs.core.Keyword(null,"defaultPath","defaultPath",
-582313676),e):a}()));return cljs.core.truth_(b)?a instanceof Blob?weathergen.ui.common.save_blob_async.call(null,a,b):weathergen.filesystem.save_data.call(null,b,a):null};
weathergen.ui.common.get_path_for_load=function(a){var b=null!=a&&(a.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===a.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,a):a,c=cljs.core.get.call(null,b,new cljs.core.Keyword(null,"title","title",636505583));a=cljs.core.get.call(null,b,new cljs.core.Keyword(null,"filters","filters",974726919));var d=cljs.core.get.call(null,b,new cljs.core.Keyword(null,"default-path","default-path",-1046856029));b=cljs.core.get.call(null,
b,new cljs.core.Keyword(null,"mode","mode",654403691));var e=cljs.core.truth_(b)?b:new cljs.core.Keyword(null,"file","file",-1269645878),f=cljs.core.truth_(a)?a:cljs.core.PersistentVector.EMPTY;a=weathergen.ui.common.electron.remote.dialog.showOpenDialog(cljs.core.clj__GT_js.call(null,function(){var a=new cljs.core.PersistentArrayMap(null,3,[new cljs.core.Keyword(null,"title","title",636505583),c,new cljs.core.Keyword(null,"properties","properties",685819552),new cljs.core.PersistentVector(null,1,
5,cljs.core.PersistentVector.EMPTY_NODE,[cljs.core._EQ_.call(null,new cljs.core.Keyword(null,"file","file",-1269645878),e)?"openFile":"openDirectory"],null),new cljs.core.Keyword(null,"filters","filters",974726919),f],null);return cljs.core.truth_(d)?cljs.core.assoc.call(null,a,new cljs.core.Keyword(null,"defaultPath","defaultPath",-582313676),d):a}()));return cljs.core.truth_(a)?cljs.core.nth.call(null,a,0,null):null};
weathergen.ui.common.get_image=function(a,b){cljs.core.truth_((new cljs.core.Keyword(null,"base","base",185279322)).cljs$core$IFn$_invoke$arity$1(b))||taoensso.timbre._log_BANG_.call(null,taoensso.timbre._STAR_config_STAR_,new cljs.core.Keyword(null,"warn","warn",-436710552),"weathergen.ui.common",null,888,new cljs.core.Keyword(null,"p","p",151049309),new cljs.core.Keyword(null,"auto","auto",-566279492),new cljs.core.Delay(function(){return new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,
["Trying to load an image with no base in its descriptor",new cljs.core.Keyword(null,"image-descriptor","image-descriptor",-1531626249),b],null)},null),null,1817428534);var c=weathergen.ui.common.image_cache_path.call(null,b);if(cljs.core.truth_(weathergen.filesystem.exists_QMARK_.call(null,c)))return c;var d=document.createElement("canvas"),e=["Loading image ",cljs.core.str.cljs$core$IFn$_invoke$arity$1((new cljs.core.Keyword(null,"image-id","image-id",-988480565)).cljs$core$IFn$_invoke$arity$1(b))].join(""),
f=console.time(e);weathergen.falcon.files.images.read_image.call(null,a,b,function(a,b,c,d){return function(e,f){c.width=e;c.height=f;var g=c.getContext("2d");f=g.getImageData(0,0,e,f);var h=new ArrayBuffer(f.data.length),k=new Uint8ClampedArray(h),l=new Uint32Array(h);return new cljs.core.PersistentArrayMap(null,2,[new cljs.core.Keyword(null,"set-pixel!","set-pixel!",1287500897),function(a,b,c,d,f,g,h,k,l){return function(a,b,c){return f[a+b*e]=c}}(g,f,h,k,l,a,b,c,d),new cljs.core.Keyword(null,"finalize",
"finalize",-1152897571),function(a,b,c,d,e,f,g,h,k){return function(){b.data.set(d);return a.putImageData(b,0,0)}}(g,f,h,k,l,a,b,c,d)],null)}}(e,f,d,c));console.timeEnd(e);d.toBlob(function(a,b){return function(a){return weathergen.ui.common.save_blob_async.call(null,a,b)}}(d,c));return d.toDataURL()};
weathergen.ui.common.centered_image=function(a,b,c){var d=javelin.core.formula.call(null,function(a){if(cljs.core.not.call(null,a))return new cljs.core.PersistentArrayMap(null,2,[new cljs.core.Keyword(null,"w","w",354169001),c,new cljs.core.Keyword(null,"h","h",1109658740),c],null);var b=cljs.core.get_in.call(null,a,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"image-data","image-data",-377483758),new cljs.core.Keyword(null,"size","size",
1098693007)],null));a=cljs.core.nth.call(null,b,0,null);b=cljs.core.nth.call(null,b,1,null);a/=b;return 1>a?new cljs.core.PersistentArrayMap(null,2,[new cljs.core.Keyword(null,"w","w",354169001),a*c,new cljs.core.Keyword(null,"h","h",1109658740),c],null):new cljs.core.PersistentArrayMap(null,2,[new cljs.core.Keyword(null,"w","w",354169001),c,new cljs.core.Keyword(null,"h","h",1109658740),c/a],null)}).call(null,b);return hoplon.core.div.call(null,new cljs.core.Keyword(null,"css","css",1135045163),
javelin.core.formula.call(null,function(a){return function(a){return new cljs.core.PersistentArrayMap(null,5,[new cljs.core.Keyword(null,"display","display",242065432),"inline-block",new cljs.core.Keyword(null,"margin","margin",-995903681),weathergen.ui.common.px.call(null,0,(new cljs.core.Keyword(null,"w","w",354169001)).cljs$core$IFn$_invoke$arity$1(a),0,0),new cljs.core.Keyword(null,"vertical-align","vertical-align",651007333),"middle",new cljs.core.Keyword(null,"text-align","text-align",1786091845),
"center",new cljs.core.Keyword(null,"position","position",-2011731912),"relative"],null)}}(d)).call(null,d),function(){var c=new cljs.core.Delay(function(c){return function(){return hoplon.core.img.call(null,new cljs.core.Keyword(null,"css","css",1135045163),javelin.core.formula.call(null,function(a){return function(a){return new cljs.core.PersistentArrayMap(null,8,[new cljs.core.Keyword(null,"position","position",-2011731912),"absolute",new cljs.core.Keyword(null,"top","top",-1856271961),0,new cljs.core.Keyword(null,
"bottom","bottom",-1550509018),0,new cljs.core.Keyword(null,"left","left",-399115937),0,new cljs.core.Keyword(null,"right","right",-452581833),0,new cljs.core.Keyword(null,"width","width",-384071477),weathergen.ui.common.px.call(null,(new cljs.core.Keyword(null,"w","w",354169001)).cljs$core$IFn$_invoke$arity$1(a)),new cljs.core.Keyword(null,"height","height",1025178622),weathergen.ui.common.px.call(null,(new cljs.core.Keyword(null,"h","h",1109658740)).cljs$core$IFn$_invoke$arity$1(a)),new cljs.core.Keyword(null,
"margin","margin",-995903681),"auto"],null)}}(c)).call(null,c),new cljs.core.Keyword(null,"src","src",-1651076051),javelin.core.formula.call(null,function(a){return function(a,b,c){return a.call(null,b,c)}}(c)).call(null,weathergen.ui.common.get_image,a,b))}}(d),null),f=new cljs.core.Delay(function(a,b){return function(){return" "}}(c,d),null);c=function(a,b,c){return function(c){return cljs.core.deref.call(null,function(){var d=cljs.core.truth_(c)?a:b;return cljs.core.truth_(d)?d:cljs.core.atom.call(null,
null)}())}}(c,f,d);return javelin.core.formula.call(null,c).call(null,b)}())};
weathergen.ui.common.conform_nonnegative_integer=function(a){return javelin.core.formula.call(null,function(a){a=weathergen.ui.common.parse_int.call(null,a);var b=cljs.core.truth_(a)?!(0>a):a;return new cljs.core.PersistentArrayMap(null,3,[new cljs.core.Keyword(null,"valid?","valid?",-212412379),b,new cljs.core.Keyword(null,"message","message",-406056002),cljs.core.truth_(b)?null:"Must be whole number, greather than or equal to zero.",new cljs.core.Keyword(null,"value","value",305978217),a],null)}).call(null,
a)};weathergen.ui.common.conform_positive_integer=function(a){return javelin.core.formula.call(null,function(a){a=weathergen.ui.common.parse_int.call(null,a);var b=cljs.core.truth_(a)?0<a:a;return new cljs.core.PersistentArrayMap(null,3,[new cljs.core.Keyword(null,"valid?","valid?",-212412379),b,new cljs.core.Keyword(null,"message","message",-406056002),cljs.core.truth_(b)?null:"Must be an integer greater than zero.",new cljs.core.Keyword(null,"value","value",305978217),a],null)}).call(null,a)};
weathergen.ui.common.int_conformer=function(a,b){return function(c){return function(d){return javelin.core.formula.call(null,function(c){return function(d){d=weathergen.ui.common.parse_int.call(null,d);var e=cljs.core.truth_(d)?a<=d&&d<=b:d;return new cljs.core.PersistentArrayMap(null,3,[new cljs.core.Keyword(null,"valid?","valid?",-212412379),e,new cljs.core.Keyword(null,"message","message",-406056002),cljs.core.truth_(e)?null:c,new cljs.core.Keyword(null,"value","value",305978217),d],null)}}(c)).call(null,
d)}}(goog.string.format("Must be an integer between %d and %d.",a,b))};
weathergen.ui.common.float_conformer=function(a,b){return function(c){return function(d){return javelin.core.formula.call(null,function(c){return function(d){d=(new Number(d)).valueOf();var e=a<=d&&d<=b;return new cljs.core.PersistentArrayMap(null,3,[new cljs.core.Keyword(null,"valid?","valid?",-212412379),e,new cljs.core.Keyword(null,"message","message",-406056002),e?null:c,new cljs.core.Keyword(null,"value","value",305978217),cljs.core.truth_(isNaN(d))?null:d],null)}}(c)).call(null,d)}}(goog.string.format("Must be a number between %f and %f.",
a,b))};
weathergen.ui.common.conform_nonnegative_float=function(a){return javelin.core.formula.call(null,function(a){a=weathergen.ui.common.parse_float.call(null,a);var b=cljs.core.truth_(a)?!(0>a):a;return new cljs.core.PersistentArrayMap(null,3,[new cljs.core.Keyword(null,"valid?","valid?",-212412379),b,new cljs.core.Keyword(null,"message","message",-406056002),cljs.core.truth_(b)?null:"Must be a number greater or equal to zero.",new cljs.core.Keyword(null,"value","value",305978217),a],null)}).call(null,a)};
weathergen.ui.common.time_conformer=function(a){return function(b){return javelin.core.formula.call(null,function(b){b=cljs.core.re_matches.call(null,/(\d+)\/(\d\d):(\d\d)/,cljs.core.truth_(b)?b:"");cljs.core.nth.call(null,b,0,null);var c=cljs.core.nth.call(null,b,1,null),e=cljs.core.nth.call(null,b,2,null),f=cljs.core.nth.call(null,b,3,null);b=cljs.core.long$.call(null,new Number(c));var g=cljs.core.long$.call(null,new Number(e)),h=cljs.core.long$.call(null,new Number(f));c=cljs.core.truth_(c)?cljs.core.truth_(e)?
cljs.core.truth_(f)?cljs.core.int_QMARK_.call(null,b)&&cljs.core.int_QMARK_.call(null,g)&&cljs.core.int_QMARK_.call(null,h)&&0<=g&&23>=g&&0<=h&&59>=h:f:e:c;e=new cljs.core.PersistentArrayMap(null,3,[new cljs.core.Keyword(null,"day","day",-274800446),b,new cljs.core.Keyword(null,"hour","hour",-555989214),g,new cljs.core.Keyword(null,"minute","minute",-642875969),h],null);e=cljs.core.truth_(c)?cljs.core.truth_(a)?weathergen.time.campaign_time__GT_minutes.call(null,a)<weathergen.time.campaign_time__GT_minutes.call(null,
e):a:c;return new cljs.core.PersistentArrayMap(null,3,[new cljs.core.Keyword(null,"valid?","valid?",-212412379),cljs.core.truth_(c)?cljs.core.not.call(null,e):c,new cljs.core.Keyword(null,"message","message",-406056002),cljs.core.not.call(null,c)?"Time must be in the format 'dd/hh:mm'":cljs.core.truth_(e)?["Time cannot be set later than ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(weathergen.ui.common.format_time.call(null,a))].join(""):null,new cljs.core.Keyword(null,"value","value",305978217),
new cljs.core.PersistentArrayMap(null,3,[new cljs.core.Keyword(null,"day","day",-274800446),b,new cljs.core.Keyword(null,"hour","hour",-555989214),g,new cljs.core.Keyword(null,"minute","minute",-642875969),h],null)],null)}).call(null,b)}};
weathergen.ui.common.compose_conformers=function(a,b){return function(c){var d=a.call(null,c);c=b.call(null,c);return javelin.core.formula.call(null,function(a,b){return function(a,b){return cljs.core.truth_((new cljs.core.Keyword(null,"valid?","valid?",-212412379)).cljs$core$IFn$_invoke$arity$1(a))?b:a}}(d,c)).call(null,d,c)}};
weathergen.ui.common.team_selector=function(){var a=function(a){a=hoplon.core.parse_args.call(null,a);var b=cljs.core.nth.call(null,a,0,null),c=cljs.core.nth.call(null,a,1,null),f=null!=b&&(b.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===b.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,b):b,g=cljs.core.get.call(null,f,new cljs.core.Keyword(null,"selectable-teams","selectable-teams",1104557919)),h=cljs.core.get.call(null,f,new cljs.core.Keyword(null,"mission",
"mission",1740288522)),k=cljs.core.get.call(null,f,new cljs.core.Keyword(null,"selected-teams","selected-teams",317107671)),l=cljs.core.dissoc.call(null,b,new cljs.core.Keyword(null,"mission","mission",1740288522),new cljs.core.Keyword(null,"selected-teams","selected-teams",317107671),new cljs.core.Keyword(null,"selectable-teams","selectable-teams",1104557919));return hoplon.core.div.call(null,new cljs.core.Keyword(null,"css","css",1135045163),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,
"margin-bottom","margin-bottom",388334941),"5px"],null),l,hoplon.core.loop_tpl_STAR_.call(null,javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,k){return function(a,b){return a.call(null,b)}}(b,f,g,h,k,l,a,b,c)).call(null,weathergen.falcon.files.mission.teams,h),function(a,b,c,d,e,f,g,h,k){return function(l){var m=javelin.core.cell_map.call(null,cljs.core.identity,javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,k){return function(a){return new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,
[a],null)}}(a,b,c,d,e,f,g,h,k)).call(null,l)),n=cljs.core.nth.call(null,m,0,null);return weathergen.ui.common.inl.call(null,new cljs.core.Keyword(null,"css","css",1135045163),javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,k,l,m){return function(a){return new cljs.core.PersistentArrayMap(null,5,[new cljs.core.Keyword(null,"margin-right","margin-right",809689658),"3px",new cljs.core.Keyword(null,"padding","padding",1660304693),"3px",new cljs.core.Keyword(null,"border","border",1444987323),
["2px solid ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(weathergen.ui.common.team_color.call(null,a,new cljs.core.Keyword(null,"dark-text","dark-text",814777253)))].join(""),new cljs.core.Keyword(null,"text-align","text-align",1786091845),"center",new cljs.core.Keyword(null,"vertical-align","vertical-align",651007333),"top"],null)}}(m,n,a,b,c,d,e,f,g,h,k)).call(null,n),hoplon.core.img.call(null,new cljs.core.Keyword(null,"css","css",1135045163),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,
"border","border",1444987323),"solid 1px black"],null),new cljs.core.Keyword(null,"src","src",-1651076051),javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,k,l,m){return function(a,b){return weathergen.ui.common.get_image.call(null,a,weathergen.falcon.files.mission.team_flag.call(null,a,b,new cljs.core.Keyword(null,"big-vert","big-vert",-1944398663)))}}(m,n,a,b,c,d,e,f,g,h,k)).call(null,d,n)),hoplon.core.div.call(null,new cljs.core.Keyword(null,"css","css",1135045163),new cljs.core.PersistentArrayMap(null,
1,[new cljs.core.Keyword(null,"text-align","text-align",1786091845),"center"],null),hoplon.core.span.call(null,new cljs.core.Keyword(null,"css","css",1135045163),javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,k,l,m){return function(a,b){return new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"color","color",1011675173),b.call(null,a,new cljs.core.Keyword(null,"dark-text","dark-text",814777253))],null)}}(m,n,a,b,c,d,e,f,g,h,k)).call(null,n,weathergen.ui.common.team_color),
javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,k,l,m){return function(a,b,c){return a.call(null,b,(new cljs.core.Keyword(null,"who","who",-235935040)).cljs$core$IFn$_invoke$arity$1((new cljs.core.Keyword(null,"team","team",1355747699)).cljs$core$IFn$_invoke$arity$1(c)))}}(m,n,a,b,c,d,e,f,g,h,k)).call(null,weathergen.falcon.files.mission.team_name,d,n))),hoplon.core.div.call(null,new cljs.core.Keyword(null,"css","css",1135045163),new cljs.core.PersistentArrayMap(null,2,[new cljs.core.Keyword(null,
"text-align","text-align",1786091845),"center",new cljs.core.Keyword(null,"height","height",1025178622),"33px"],null),function(){var l=javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,k,l,m){return function(a,b,c,d){return a.call(null,d,b.call(null,c))}}(m,n,a,b,c,d,e,f,g,h,k)).call(null,cljs.core.contains_QMARK_,weathergen.falcon.files.mission.team_number,n,e),p=javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,k,l,m,n){return function(a,b,c,d){return a.call(null,b,c.call(null,d))}}(l,
m,n,a,b,c,d,e,f,g,h,k)).call(null,cljs.core.contains_QMARK_,c,weathergen.falcon.files.mission.team_number,n);return hoplon.core.input.call(null,new cljs.core.Keyword(null,"css","css",1135045163),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"margin","margin",-995903681),"auto"],null),new cljs.core.Keyword(null,"type","type",1174270348),"checkbox",new cljs.core.Keyword(null,"toggle","toggle",1291842030),p,new cljs.core.Keyword(null,"value","value",305978217),l,new cljs.core.Keyword(null,
"change","change",-1163046502),function(a,b,c,d,e,f,g,h,k,l,m,n,p){return function(){return cljs.core.swap_BANG_.call(null,k,cljs.core.comp.call(null,cljs.core.set,cljs.core.truth_(cljs.core.deref.call(null,a))?cljs.core.disj:cljs.core.conj),weathergen.falcon.files.mission.team_number.call(null,cljs.core.deref.call(null,d)))}}(l,p,m,n,a,b,c,d,e,f,g,h,k))}()))}}(b,f,g,h,k,l,a,b,c)))},b=function(b){var c=null;if(0<arguments.length){c=0;for(var e=Array(arguments.length-0);c<e.length;)e[c]=arguments[c+
0],++c;c=new cljs.core.IndexedSeq(e,0,null)}return a.call(this,c)};b.cljs$lang$maxFixedArity=0;b.cljs$lang$applyTo=function(b){b=cljs.core.seq(b);return a(b)};b.cljs$core$IFn$_invoke$arity$variadic=a;return b}();
weathergen.ui.common.side_selector=function(){var a=function(a){a=hoplon.core.parse_args.call(null,a);var b=cljs.core.nth.call(null,a,0,null),c=cljs.core.nth.call(null,a,1,null),f=null!=b&&(b.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===b.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,b):b,g=cljs.core.get.call(null,f,new cljs.core.Keyword(null,"selected-sides","selected-sides",-922979619)),h=cljs.core.get.call(null,f,new cljs.core.Keyword(null,"mission","mission",
1740288522)),k=cljs.core.dissoc.call(null,b,new cljs.core.Keyword(null,"mission","mission",1740288522),new cljs.core.Keyword(null,"selected-sides","selected-sides",-922979619));return hoplon.core.div.call(null,new cljs.core.Keyword(null,"css","css",1135045163),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"margin-bottom","margin-bottom",388334941),"5px"],null),k,hoplon.core.loop_tpl_STAR_.call(null,javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h){return function(a,b){return b.call(null,
a)}}(b,f,g,h,k,a,b,c)).call(null,h,weathergen.falcon.files.mission.sides),function(a,b,c,d,e,f,g,h){return function(k){var l=javelin.core.cell_map.call(null,cljs.core.identity,javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h){return function(a){return new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[a],null)}}(a,b,c,d,e,f,g,h)).call(null,k)),m=cljs.core.nth.call(null,l,0,null);return weathergen.ui.common.inl.call(null,new cljs.core.Keyword(null,"css","css",1135045163),
javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,k,l){return function(a){return new cljs.core.PersistentArrayMap(null,4,[new cljs.core.Keyword(null,"margin-right","margin-right",809689658),"3px",new cljs.core.Keyword(null,"padding","padding",1660304693),"3px",new cljs.core.Keyword(null,"border","border",1444987323),["2px solid ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(weathergen.ui.common.team_color.call(null,a,new cljs.core.Keyword(null,"dark-text","dark-text",814777253)))].join(""),new cljs.core.Keyword(null,
"text-align","text-align",1786091845),"center"],null)}}(l,m,a,b,c,d,e,f,g,h)).call(null,m),hoplon.core.loop_tpl_STAR_.call(null,javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,k,l){return function(a,b,c){return b.call(null,a,c)}}(l,m,a,b,c,d,e,f,g,h)).call(null,d,weathergen.falcon.files.mission.teams_for_side,m),function(a,b,c,d,e,f,g,h,k,l){return function(m){m=javelin.core.cell_map.call(null,cljs.core.identity,javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,k,l){return function(a){return new cljs.core.PersistentVector(null,
1,5,cljs.core.PersistentVector.EMPTY_NODE,[a],null)}}(a,b,c,d,e,f,g,h,k,l)).call(null,m));var n=cljs.core.nth.call(null,m,0,null);return hoplon.core.img.call(null,new cljs.core.Keyword(null,"css","css",1135045163),new cljs.core.PersistentArrayMap(null,2,[new cljs.core.Keyword(null,"border","border",1444987323),"solid 1px black",new cljs.core.Keyword(null,"padding-right","padding-right",-1250249681),"2px"],null),new cljs.core.Keyword(null,"src","src",-1651076051),javelin.core.formula.call(null,function(a,
b,c,d,e,f,g,h,k,l,m,n){return function(a,b){return weathergen.ui.common.get_image.call(null,a,weathergen.falcon.files.mission.team_flag.call(null,a,b,new cljs.core.Keyword(null,"big-vert","big-vert",-1944398663)))}}(m,n,a,b,c,d,e,f,g,h,k,l)).call(null,f,n))}}(l,m,a,b,c,d,e,f,g,h)),hoplon.core.div.call(null,new cljs.core.Keyword(null,"css","css",1135045163),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"text-align","text-align",1786091845),"center"],null),weathergen.ui.common.side_label.call(null,
new cljs.core.Keyword(null,"mission","mission",1740288522),d,new cljs.core.Keyword(null,"side","side",389652279),m)),hoplon.core.div.call(null,new cljs.core.Keyword(null,"css","css",1135045163),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"text-align","text-align",1786091845),"center"],null),function(){var k=javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,k,l){return function(a,b,c,d){return a.call(null,b,c.call(null,d))}}(l,m,a,b,c,d,e,f,g,h)).call(null,cljs.core.contains_QMARK_,
c,weathergen.falcon.files.mission.team_number,m);return hoplon.core.input.call(null,new cljs.core.Keyword(null,"css","css",1135045163),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"margin","margin",-995903681),"auto"],null),new cljs.core.Keyword(null,"type","type",1174270348),"checkbox",new cljs.core.Keyword(null,"value","value",305978217),k,new cljs.core.Keyword(null,"change","change",-1163046502),function(a,b,c,d,e,f,g,h,k,l,m){return function(){return cljs.core.swap_BANG_.call(null,
f,cljs.core.comp.call(null,cljs.core.set,cljs.core.truth_(cljs.core.deref.call(null,a))?cljs.core.disj:cljs.core.conj),weathergen.falcon.files.mission.team_number.call(null,cljs.core.deref.call(null,c)))}}(k,l,m,a,b,c,d,e,f,g,h))}()))}}(b,f,g,h,k,a,b,c)))},b=function(b){var c=null;if(0<arguments.length){c=0;for(var e=Array(arguments.length-0);c<e.length;)e[c]=arguments[c+0],++c;c=new cljs.core.IndexedSeq(e,0,null)}return a.call(this,c)};b.cljs$lang$maxFixedArity=0;b.cljs$lang$applyTo=function(b){b=
cljs.core.seq(b);return a(b)};b.cljs$core$IFn$_invoke$arity$variadic=a;return b}();
weathergen.ui.common.dropdown=function(){var a=function(a){var b=hoplon.core.parse_args.call(null,a),c=cljs.core.nth.call(null,b,0,null),f=cljs.core.nth.call(null,b,1,null),g=null!=c&&(c.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===c.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,c):c,h=cljs.core.get.call(null,g,new cljs.core.Keyword(null,"change","change",-1163046502)),k=cljs.core.get.call(null,g,new cljs.core.Keyword(null,"value","value",305978217)),l=cljs.core.get.call(null,
g,new cljs.core.Keyword(null,"choices","choices",1385611597)),m=cljs.core.dissoc.call(null,c,new cljs.core.Keyword(null,"value","value",305978217),new cljs.core.Keyword(null,"choices","choices",1385611597),new cljs.core.Keyword(null,"change","change",-1163046502)),n=cljs.core.map_indexed.call(null,function(a,b,c,d,e,f,g,h,k){return function(a,b){return new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[cljs.core.str.cljs$core$IFn$_invoke$arity$1(a),cljs.core.assoc.call(null,
b,new cljs.core.Keyword("weathergen.ui.common","index","weathergen.ui.common/index",-813327910),cljs.core.str.cljs$core$IFn$_invoke$arity$1(a))],null)}}(c,g,h,k,l,m,b,c,f),l),p=cljs.core.into.call(null,cljs.core.PersistentArrayMap.EMPTY,n),q=hoplon.core.select.call(null);q.call(null,cljs.core.assoc.call(null,m,new cljs.core.Keyword(null,"value","value",305978217),javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,k,l,m,n){return function(p){return(new cljs.core.Keyword("weathergen.ui.common",
"index","weathergen.ui.common/index",-813327910)).cljs$core$IFn$_invoke$arity$1(cljs.core.first.call(null,cljs.core.filter.call(null,function(a,b,c,d,e,f,g,h,k,l,m,n){return function(a){return cljs.core._EQ_.call(null,p,(new cljs.core.Keyword(null,"value","value",305978217)).cljs$core$IFn$_invoke$arity$1(a))}}(a,b,c,d,e,f,g,h,k,l,m,n),cljs.core.vals.call(null,c))))}}(q,n,p,c,g,h,k,l,m,b,c,f)).call(null,k),new cljs.core.Keyword(null,"change","change",-1163046502),function(a,b,c,d,e,f,g,h,k,l,m,n){return function(a){a=
(new cljs.core.Keyword(null,"value","value",305978217)).cljs$core$IFn$_invoke$arity$1(c.call(null,cljs.core.deref.call(null,a)));cljs.core.truth_(f)&&f.call(null,a);return cljs.core.reset_BANG_.call(null,g,a)}}(q,n,p,c,g,h,k,l,m,b,c,f)),function(){return function(a,b,c,d,e,f,g,h,k,l,m,n){return function G(p){return new cljs.core.LazySeq(null,function(a,b,c,d,e,f,g,h,k,l,m,n){return function(){for(;;){var q=cljs.core.seq.call(null,p);if(q){var r=q;if(cljs.core.chunked_seq_QMARK_.call(null,r)){var t=
cljs.core.chunk_first.call(null,r),u=cljs.core.count.call(null,t),v=cljs.core.chunk_buffer.call(null,u);return function(){for(var p=0;;)if(p<u){var w=cljs.core._nth.call(null,t,p),x=cljs.core.nth.call(null,w,0,null),z=cljs.core.nth.call(null,w,1,null);cljs.core.chunk_append.call(null,v,hoplon.core.option.call(null,new cljs.core.Keyword(null,"value","value",305978217),x,new cljs.core.Keyword(null,"selected","selected",574897764),javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,
t,u,v,w,x,z){return function(a,b,c){return b.call(null,c,(new cljs.core.Keyword(null,"value","value",305978217)).cljs$core$IFn$_invoke$arity$1(a))}}(p,w,x,z,t,u,v,r,q,a,b,c,d,e,f,g,h,k,l,m,n)).call(null,z,cljs.core._EQ_,g),(new cljs.core.Keyword(null,"label","label",1718410804)).cljs$core$IFn$_invoke$arity$1(z)));p+=1}else return!0}()?cljs.core.chunk_cons.call(null,cljs.core.chunk.call(null,v),G.call(null,cljs.core.chunk_rest.call(null,r))):cljs.core.chunk_cons.call(null,cljs.core.chunk.call(null,
v),null)}var w=cljs.core.first.call(null,r),x=cljs.core.nth.call(null,w,0,null),z=cljs.core.nth.call(null,w,1,null);return cljs.core.cons.call(null,hoplon.core.option.call(null,new cljs.core.Keyword(null,"value","value",305978217),x,new cljs.core.Keyword(null,"selected","selected",574897764),javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u){return function(a,b,c){return b.call(null,c,(new cljs.core.Keyword(null,"value","value",305978217)).cljs$core$IFn$_invoke$arity$1(a))}}(w,
x,z,r,q,a,b,c,d,e,f,g,h,k,l,m,n)).call(null,z,cljs.core._EQ_,g),(new cljs.core.Keyword(null,"label","label",1718410804)).cljs$core$IFn$_invoke$arity$1(z)),G.call(null,cljs.core.rest.call(null,r)))}return null}}}(a,b,c,d,e,f,g,h,k,l,m,n),null,null)}}(q,n,p,c,g,h,k,l,m,b,c,f).call(null,n)}());return q},b=function(b){var c=null;if(0<arguments.length){c=0;for(var e=Array(arguments.length-0);c<e.length;)e[c]=arguments[c+0],++c;c=new cljs.core.IndexedSeq(e,0,null)}return a.call(this,c)};b.cljs$lang$maxFixedArity=
0;b.cljs$lang$applyTo=function(b){b=cljs.core.seq(b);return a(b)};b.cljs$core$IFn$_invoke$arity$variadic=a;return b}();
weathergen.ui.common.register_class_BANG_.call(null,new cljs.core.Keyword("weathergen.ui.common","disabled-radio-button","weathergen.ui.common/disabled-radio-button",1199738259),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.PersistentArrayMap(null,3,[new cljs.core.Keyword(null,"pointer-events","pointer-events",-1053858853),"none",new cljs.core.Keyword(null,"color","color",1011675173),"grey",new cljs.core.Keyword(null,"cursor","cursor",1011937484),"default"],
null)],null));
weathergen.ui.common.radio_group=function(){var a=function(a){a=hoplon.core.parse_args.call(null,a);var b=cljs.core.nth.call(null,a,0,null),c=cljs.core.nth.call(null,a,1,null),f=null!=b&&(b.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===b.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,b):b,g=cljs.core.get.call(null,f,new cljs.core.Keyword(null,"value","value",305978217)),h=cljs.core.get.call(null,f,new cljs.core.Keyword(null,"choices","choices",1385611597)),k=
cljs.core.dissoc.call(null,b,new cljs.core.Keyword(null,"value","value",305978217),new cljs.core.Keyword(null,"choices","choices",1385611597)),l=cljs.core.truth_(javelin.core.cell_QMARK_.call(null,h))?h:javelin.core.cell.call(null,h),m=javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,k){return function(l){return cljs.core.map_indexed.call(null,function(a,b,c,d,e,f,g,h,k){return function(a,b){return new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[cljs.core.str.cljs$core$IFn$_invoke$arity$1(a),
cljs.core.assoc.call(null,b,new cljs.core.Keyword("weathergen.ui.common","index","weathergen.ui.common/index",-813327910),cljs.core.str.cljs$core$IFn$_invoke$arity$1(a))],null)}}(a,b,c,d,e,f,g,h,k),l)}}(l,b,f,g,h,k,a,b,c)).call(null,l),n=javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,k,l){return function(a){return cljs.core.into.call(null,cljs.core.PersistentArrayMap.EMPTY,a)}}(l,m,b,f,g,h,k,a,b,c)).call(null,m),p=cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.core.gensym.call(null));return hoplon.core.div.call(null,
k,hoplon.core.loop_tpl_STAR_.call(null,m,function(a,b,c,d,e,f,g,h,k,l,m,n){return function(p){var q=javelin.core.cell_map.call(null,cljs.core.identity,javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,k,l,m,n){return function(a){return new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[a],null)}}(a,b,c,d,e,f,g,h,k,l,m,n)).call(null,p)),r=cljs.core.nth.call(null,q,0,null),t=javelin.core.cell_map.call(null,cljs.core.identity,javelin.core.formula.call(null,function(a,
b,c,d,e,f,g,h,k,l,m,n,p,q){return function(a){var b=cljs.core.nth.call(null,a,0,null);a=cljs.core.nth.call(null,a,1,null);return new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[a,b],null)}}(q,r,a,b,c,d,e,f,g,h,k,l,m,n)).call(null,r)),u=cljs.core.nth.call(null,t,0,null),v=cljs.core.nth.call(null,t,1,null),w=cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.core.gensym.call(null));return hoplon.core.div.call(null,function(){var p=javelin.core.formula.call(null,function(a,
b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v){return function(a,b){return cljs.core._EQ_.call(null,a,(new cljs.core.Keyword(null,"value","value",305978217)).cljs$core$IFn$_invoke$arity$1(b))}}(w,t,u,v,q,r,a,b,c,d,e,f,g,h,k,l,m,n)).call(null,g,u),x=javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w){return function(a){return(new cljs.core.Keyword(null,"disabled?","disabled?",-1523234181)).cljs$core$IFn$_invoke$arity$1(a)}}(p,w,t,u,v,q,r,a,b,c,d,e,f,g,h,k,l,m,n)).call(null,u),z=hoplon.core.input.call(null,
new cljs.core.Keyword(null,"type","type",1174270348),"radio",new cljs.core.Keyword(null,"id","id",-1388402092),w,new cljs.core.Keyword(null,"name","name",1843675177),d,new cljs.core.Keyword(null,"value","value",305978217),v,new cljs.core.Keyword(null,"checked","checked",-50955819),p,new cljs.core.Keyword(null,"class","class",-2030961996),javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x){return function(a){return cljs.core.PersistentArrayMap.createAsIfByAssoc([weathergen.ui.common.class_for.call(null,
new cljs.core.Keyword("weathergen.ui.common","disabled-radio-button","weathergen.ui.common/disabled-radio-button",1199738259)),a])}}(p,x,w,t,u,v,q,r,a,b,c,d,e,f,g,h,k,l,m,n)).call(null,x),new cljs.core.Keyword(null,"change","change",-1163046502),function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x){return function(a){return cljs.core.reset_BANG_.call(null,r,(new cljs.core.Keyword(null,"value","value",305978217)).cljs$core$IFn$_invoke$arity$1(cljs.core.get.call(null,cljs.core.deref.call(null,m),a.currentTarget.value)))}}(p,
x,w,t,u,v,q,r,a,b,c,d,e,f,g,h,k,l,m,n));hoplon.core.do_watch.call(null,p,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,z){return function(b,c){return a.checked=c}}(z,p,x,w,t,u,v,q,r,a,b,c,d,e,f,g,h,k,l,m,n));return z}(),hoplon.core.label.call(null,new cljs.core.Keyword(null,"for","for",-1323786319),w,new cljs.core.Keyword(null,"class","class",-2030961996),javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v){return function(a){return cljs.core.PersistentArrayMap.createAsIfByAssoc([weathergen.ui.common.class_for.call(null,
new cljs.core.Keyword("weathergen.ui.common","disabled-radio-button","weathergen.ui.common/disabled-radio-button",1199738259)),(new cljs.core.Keyword(null,"disabled?","disabled?",-1523234181)).cljs$core$IFn$_invoke$arity$1(a)])}}(w,t,u,v,q,r,a,b,c,d,e,f,g,h,k,l,m,n)).call(null,u),javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v){return function(a){return(new cljs.core.Keyword(null,"label","label",1718410804)).cljs$core$IFn$_invoke$arity$1(a)}}(w,t,u,v,q,r,a,b,c,d,e,f,g,
h,k,l,m,n)).call(null,u)))}}(l,m,n,p,b,f,g,h,k,a,b,c)))},b=function(b){var c=null;if(0<arguments.length){c=0;for(var e=Array(arguments.length-0);c<e.length;)e[c]=arguments[c+0],++c;c=new cljs.core.IndexedSeq(e,0,null)}return a.call(this,c)};b.cljs$lang$maxFixedArity=0;b.cljs$lang$applyTo=function(b){b=cljs.core.seq(b);return a(b)};b.cljs$core$IFn$_invoke$arity$variadic=a;return b}();
weathergen.ui.common.slider=function(){var a=function(a){var b=hoplon.core.parse_args.call(null,a),c=cljs.core.nth.call(null,b,0,null),f=cljs.core.nth.call(null,b,1,null),g=null!=c&&(c.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===c.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,c):c,h=cljs.core.get.call(null,g,new cljs.core.Keyword(null,"change","change",-1163046502)),k=cljs.core.get.call(null,g,new cljs.core.Keyword(null,"min","min",444991522)),l=cljs.core.get.call(null,
g,new cljs.core.Keyword(null,"int?","int?",159198118)),m=cljs.core.get.call(null,g,new cljs.core.Keyword(null,"value","value",305978217)),n=cljs.core.get.call(null,g,new cljs.core.Keyword(null,"max","max",61366548)),p=cljs.core.get.call(null,g,new cljs.core.Keyword(null,"ticks","ticks",-406190313)),q=cljs.core.dissoc.call(null,c,new cljs.core.Keyword(null,"min","min",444991522),new cljs.core.Keyword(null,"max","max",61366548),new cljs.core.Keyword(null,"ticks","ticks",-406190313),new cljs.core.Keyword(null,
"value","value",305978217),new cljs.core.Keyword(null,"int?","int?",159198118),new cljs.core.Keyword(null,"change","change",-1163046502)),r=cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.core.gensym.call(null)),u=cljs.core.truth_(l)?cljs.core.long$:cljs.core.identity,t=javelin.core.lens.call(null,javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q){return function(a){return cljs.core.long$.call(null,(a-f)/(k-f)*100)}}(r,u,c,g,h,k,l,m,n,p,q,b,c,f)).call(null,m),function(a,b,c,d,e,
f,g,h,k,l,m,n,p,q){return function(a){return cljs.core.reset_BANG_.call(null,h,b.call(null,a/100*(k-f)+f))}}(r,u,c,g,h,k,l,m,n,p,q,b,c,f));return new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[cljs.core.truth_(p)?hoplon.core.datalist.call(null,new cljs.core.Keyword(null,"id","id",-1388402092),r,function(){return function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r){return function H(t){return new cljs.core.LazySeq(null,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r){return function(){for(;;){var a=
cljs.core.seq.call(null,t);if(a){if(cljs.core.chunked_seq_QMARK_.call(null,a)){var b=cljs.core.chunk_first.call(null,a),c=cljs.core.count.call(null,b),d=cljs.core.chunk_buffer.call(null,c);a:for(var e=0;;)if(e<c){var f=cljs.core._nth.call(null,b,e);cljs.core.chunk_append.call(null,d,hoplon.core.option.call(null,new cljs.core.Keyword(null,"value","value",305978217),f));e+=1}else{b=!0;break a}return b?cljs.core.chunk_cons.call(null,cljs.core.chunk.call(null,d),H.call(null,cljs.core.chunk_rest.call(null,
a))):cljs.core.chunk_cons.call(null,cljs.core.chunk.call(null,d),null)}d=cljs.core.first.call(null,a);return cljs.core.cons.call(null,hoplon.core.option.call(null,new cljs.core.Keyword(null,"value","value",305978217),d),H.call(null,cljs.core.rest.call(null,a)))}return null}}}(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r),null,null)}}(r,u,t,c,g,h,k,l,m,n,p,q,b,c,f).call(null,cljs.core.range.call(null,0,101,100/(p-1)))}()):null,hoplon.core.input.call(null,cljs.core.merge.call(null,q,new cljs.core.PersistentArrayMap(null,
6,[new cljs.core.Keyword(null,"type","type",1174270348),"range",new cljs.core.Keyword(null,"list","list",765357683),cljs.core.truth_(p)?r:null,new cljs.core.Keyword(null,"min","min",444991522),0,new cljs.core.Keyword(null,"max","max",61366548),100,new cljs.core.Keyword(null,"value","value",305978217),t,new cljs.core.Keyword(null,"input","input",556931961),function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r){return function(a){var b=cljs.core.deref.call(null,k);cljs.core.reset_BANG_.call(null,c,cljs.core.deref.call(null,
a));return cljs.core.truth_(f)?f.call(null,cljs.core.deref.call(null,k),b):null}}(r,u,t,c,g,h,k,l,m,n,p,q,b,c,f)],null)))],null)},b=function(b){var c=null;if(0<arguments.length){c=0;for(var e=Array(arguments.length-0);c<e.length;)e[c]=arguments[c+0],++c;c=new cljs.core.IndexedSeq(e,0,null)}return a.call(this,c)};b.cljs$lang$maxFixedArity=0;b.cljs$lang$applyTo=function(b){b=cljs.core.seq(b);return a(b)};b.cljs$core$IFn$_invoke$arity$variadic=a;return b}();
weathergen.ui.common.checkbox=function(){var a=function(a){var b=hoplon.core.parse_args.call(null,a),c=cljs.core.nth.call(null,b,0,null),f=cljs.core.nth.call(null,b,1,null),g=null!=c&&(c.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===c.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,c):c,h=cljs.core.get.call(null,g,new cljs.core.Keyword(null,"change","change",-1163046502)),k=cljs.core.get.call(null,g,new cljs.core.Keyword(null,"value","value",305978217)),l=cljs.core.dissoc.call(null,
c,new cljs.core.Keyword(null,"change","change",-1163046502),new cljs.core.Keyword(null,"value","value",305978217));a=function(a,b,c,d,e,f,g,h,k){return function(b){a.call(null,b.currentTarget.checked);b.preventDefault();return!1}}(function(){return cljs.core.truth_(h)?h:function(a,b,c,d,e,f,g,h,k){return function(){return cljs.core.swap_BANG_.call(null,e,cljs.core.not)}}(h,c,g,h,k,l,b,c,f)}(),c,g,h,k,l,b,c,f);return hoplon.core.input.call(null,cljs.core.assoc.call(null,l,new cljs.core.Keyword(null,
"type","type",1174270348),"checkbox",new cljs.core.Keyword(null,"change","change",-1163046502),a,new cljs.core.Keyword(null,"value","value",305978217),k))},b=function(b){var c=null;if(0<arguments.length){c=0;for(var e=Array(arguments.length-0);c<e.length;)e[c]=arguments[c+0],++c;c=new cljs.core.IndexedSeq(e,0,null)}return a.call(this,c)};b.cljs$lang$maxFixedArity=0;b.cljs$lang$applyTo=function(b){b=cljs.core.seq(b);return a(b)};b.cljs$core$IFn$_invoke$arity$variadic=a;return b}();
weathergen.ui.common.ESCAPE_KEY=27;weathergen.ui.common.ENTER_KEY=13;weathergen.ui.common.UP_ARROW=38;weathergen.ui.common.DOWN_ARROW=40;
weathergen.ui.common.validating_edit=function(){var a=function(a){var b=hoplon.core.parse_args.call(null,a),c=cljs.core.nth.call(null,b,0,null),f=cljs.core.nth.call(null,b,1,null),g=null!=c&&(c.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===c.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,c):c,h=cljs.core.get.call(null,g,new cljs.core.Keyword(null,"align","align",1964212802)),k=cljs.core.get.call(null,g,new cljs.core.Keyword(null,"fmt","fmt",332300772)),l=cljs.core.get.call(null,
g,new cljs.core.Keyword(null,"placeholder","placeholder",-104873083)),m=cljs.core.get.call(null,g,new cljs.core.Keyword(null,"css","css",1135045163)),n=cljs.core.get.call(null,g,new cljs.core.Keyword(null,"width","width",-384071477)),p=cljs.core.get.call(null,g,new cljs.core.Keyword(null,"update","update",1045576396)),q=cljs.core.get.call(null,g,new cljs.core.Keyword(null,"conform","conform",1846236460)),r=cljs.core.get.call(null,g,new cljs.core.Keyword(null,"source","source",-433931539)),u=cljs.core.dissoc.call(null,
c,new cljs.core.Keyword(null,"conform","conform",1846236460),new cljs.core.Keyword(null,"fmt","fmt",332300772),new cljs.core.Keyword(null,"source","source",-433931539),new cljs.core.Keyword(null,"update","update",1045576396),new cljs.core.Keyword(null,"width","width",-384071477),new cljs.core.Keyword(null,"placeholder","placeholder",-104873083),new cljs.core.Keyword(null,"css","css",1135045163),new cljs.core.Keyword(null,"align","align",1964212802));if(!cljs.core.truth_(r))throw Error("Assert failed: source is required\nsource");
if(!cljs.core.truth_(q))throw Error("Assert failed: conform is required\nconform");var t=javelin.core.cell.call(null,null),v=cljs.core.truth_(k)?k:cljs.core.str,w=javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t){return function(a,c){return cljs.core.truth_(a)?a:b.call(null,c)}}(t,v,c,g,h,k,l,m,n,p,q,r,u,b,c,f)).call(null,t,r),x=q.call(null,w),y=function(){return cljs.core.truth_(p)?p:function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w){return function(a){return cljs.core.swap_BANG_.call(null,
r,cljs.core.constantly.call(null,a))}}(p,t,v,w,x,c,g,h,k,l,m,n,p,q,r,u,b,c,f)}(),z=javelin.core.cell.call(null,new cljs.core.Keyword(null,"set","set",304602554)),B=javelin.core.cell.call(null,!1),C=javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,z){return function(a){return a}}(t,v,w,x,y,z,B,c,g,h,k,l,m,n,p,q,r,u,b,c,f)).call(null,h),A=javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,z,y){return function(a){return cljs.core.empty_QMARK_.call(null,
(new cljs.core.Keyword(null,"message","message",-406056002)).cljs$core$IFn$_invoke$arity$1(a))}}(t,v,w,x,y,z,B,C,c,g,h,k,l,m,n,p,q,r,u,b,c,f)).call(null,x);return hoplon.core.div.call(null,u,new cljs.core.Keyword(null,"css","css",1135045163),cljs.core.merge.call(null,new cljs.core.PersistentArrayMap(null,5,[new cljs.core.Keyword(null,"position","position",-2011731912),"relative",new cljs.core.Keyword(null,"overflow","overflow",2058931880),"show",new cljs.core.Keyword(null,"white-space","white-space",
-707351930),"nowrap",new cljs.core.Keyword(null,"width","width",-384071477),weathergen.ui.common.px.call(null,cljs.core.truth_(n)?n:125),new cljs.core.Keyword(null,"margin-right","margin-right",809689658),weathergen.ui.common.px.call(null,3)],null),m),function(){var a=hoplon.core.input.call(null,new cljs.core.Keyword(null,"type","type",1174270348),"text",new cljs.core.Keyword(null,"placeholder","placeholder",-104873083),l,new cljs.core.Keyword(null,"input","input",556931961),function(a,b,c,d,e,f,
g,h,k,l,m,n,p,q,r,t,u,v,w,x,z,y,A){return function(b){cljs.core.reset_BANG_.call(null,a,cljs.core.deref.call(null,b));return cljs.core.reset_BANG_.call(null,f,new cljs.core.Keyword(null,"editing","editing",1365491601))}}(t,v,w,x,y,z,B,C,A,c,g,h,k,l,m,n,p,q,r,u,b,c,f),new cljs.core.Keyword(null,"change","change",-1163046502),function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,z,y,A){return function(){var B=cljs.core.deref.call(null,d),C=(new cljs.core.Keyword(null,"value","value",305978217)).cljs$core$IFn$_invoke$arity$1(B);
return cljs.core.truth_(C)?javelin.core.dosync_STAR_.call(null,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,z,y,A,B,C,D){return function(){h.call(null,a);cljs.core.reset_BANG_.call(null,d,null);return cljs.core.reset_BANG_.call(null,k,new cljs.core.Keyword(null,"set","set",304602554))}}(C,C,B,a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,z,y,A)):null}}(t,v,w,x,y,z,B,C,A,c,g,h,k,l,m,n,p,q,r,u,b,c,f),new cljs.core.Keyword(null,"keyup","keyup",-794526927),function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,
x,z,y,A){return function(B){return cljs.core._EQ_.call(null,weathergen.ui.common.ESCAPE_KEY,B.keyCode)?javelin.core.dosync_STAR_.call(null,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,z,y,A){return function(){cljs.core.reset_BANG_.call(null,a,null);return cljs.core.reset_BANG_.call(null,f,new cljs.core.Keyword(null,"set","set",304602554))}}(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,z,y,A)):null}}(t,v,w,x,y,z,B,C,A,c,g,h,k,l,m,n,p,q,r,u,b,c,f),new cljs.core.Keyword(null,"focus","focus",234677911),
function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,z,y,A){return function(){return cljs.core.reset_BANG_.call(null,g,!0)}}(t,v,w,x,y,z,B,C,A,c,g,h,k,l,m,n,p,q,r,u,b,c,f),new cljs.core.Keyword(null,"blur","blur",-453500461),function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,z,y,A){return function(){var B=cljs.core.deref.call(null,d);return javelin.core.dosync_STAR_.call(null,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,z,y,A,B){return function(){cljs.core.reset_BANG_.call(null,h,!1);var c=(new cljs.core.Keyword(null,
"value","value",305978217)).cljs$core$IFn$_invoke$arity$1(a);return cljs.core.truth_(c)?(f.call(null,c),cljs.core.reset_BANG_.call(null,b,null),cljs.core.reset_BANG_.call(null,g,new cljs.core.Keyword(null,"set","set",304602554))):null}}(B,a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,z,y,A))}}(t,v,w,x,y,z,B,C,A,c,g,h,k,l,m,n,p,q,r,u,b,c,f),new cljs.core.Keyword(null,"css","css",1135045163),javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,z,y,A){return function(a,b,c,d){return new cljs.core.PersistentArrayMap(null,
7,[new cljs.core.Keyword(null,"font-style","font-style",-773672352),cljs.core._EQ_.call(null,a,new cljs.core.Keyword(null,"editing","editing",1365491601))?"italic":"",new cljs.core.Keyword(null,"color","color",1011675173),cljs.core.truth_(b)?"":weathergen.ui.common.colors.call(null,new cljs.core.Keyword(null,"invalid","invalid",412869516)),new cljs.core.Keyword(null,"background","background",-863952629),cljs.core.truth_(b)?"":weathergen.ui.common.colors.call(null,new cljs.core.Keyword(null,"invalid-background",
"invalid-background",-917496690)),new cljs.core.Keyword(null,"width","width",-384071477),weathergen.ui.common.px.call(null,(cljs.core.truth_(d)?d:125)-(cljs.core.truth_(b)?0:20)),new cljs.core.Keyword(null,"padding-right","padding-right",-1250249681),cljs.core.truth_(b)?null:weathergen.ui.common.px.call(null,20),new cljs.core.Keyword(null,"margin-right","margin-right",809689658),cljs.core.truth_(b)?null:weathergen.ui.common.px.call(null,-20),new cljs.core.Keyword(null,"text-align","text-align",1786091845),
cljs.core.truth_(c)?c:null],null)}}(t,v,w,x,y,z,B,C,A,c,g,h,k,l,m,n,p,q,r,u,b,c,f)).call(null,z,A,C,n),new cljs.core.Keyword(null,"value","value",305978217),w);return new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[a,hoplon.core.img.call(null,new cljs.core.Keyword(null,"src","src",-1651076051),"images/error.png",new cljs.core.Keyword(null,"title","title",636505583),javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,z,y,A,B){return function(a){return(new cljs.core.Keyword(null,
"message","message",-406056002)).cljs$core$IFn$_invoke$arity$1(a)}}(a,t,v,w,x,y,z,B,C,A,c,g,h,k,l,m,n,p,q,r,u,b,c,f)).call(null,x),new cljs.core.Keyword(null,"click","click",1912301393),function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,z,y,A,B){return function(){return a.focus()}}(a,t,v,w,x,y,z,B,C,A,c,g,h,k,l,m,n,p,q,r,u,b,c,f),new cljs.core.Keyword(null,"css","css",1135045163),javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,z,y,A,B){return function(a){return new cljs.core.PersistentArrayMap(null,
8,[new cljs.core.Keyword(null,"position","position",-2011731912),"relative",new cljs.core.Keyword(null,"right","right",-452581833),0,new cljs.core.Keyword(null,"width","width",-384071477),weathergen.ui.common.px.call(null,14),new cljs.core.Keyword(null,"margin-left","margin-left",2015598377),weathergen.ui.common.px.call(null,3),new cljs.core.Keyword(null,"margin-bottom","margin-bottom",388334941),weathergen.ui.common.px.call(null,2),new cljs.core.Keyword(null,"vertical-align","vertical-align",651007333),
"middle",new cljs.core.Keyword(null,"pointer-events","pointer-events",-1053858853),cljs.core.truth_(a)?"none":null,new cljs.core.Keyword(null,"opacity","opacity",397153780),cljs.core.truth_(a)?"0":"1"],null)}}(a,t,v,w,x,y,z,B,C,A,c,g,h,k,l,m,n,p,q,r,u,b,c,f)).call(null,A))],null)}(),hoplon.core.div.call(null,new cljs.core.Keyword(null,"toggle","toggle",1291842030),javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,z,y,A){return function(a,b,c){b=c.call(null,b);return cljs.core.truth_(b)?
a:b}}(t,v,w,x,y,z,B,C,A,c,g,h,k,l,m,n,p,q,r,u,b,c,f)).call(null,B,A,cljs.core.not),new cljs.core.Keyword(null,"css","css",1135045163),cljs.core.PersistentHashMap.fromArrays([new cljs.core.Keyword(null,"min-width","min-width",1926193728),new cljs.core.Keyword(null,"font-size","font-size",-1847940346),new cljs.core.Keyword(null,"top","top",-1856271961),new cljs.core.Keyword(null,"background","background",-863952629),new cljs.core.Keyword(null,"max-width","max-width",-1939924051),new cljs.core.Keyword(null,
"z-index","z-index",1892827090),new cljs.core.Keyword(null,"padding-left","padding-left",-1180879053),new cljs.core.Keyword(null,"position","position",-2011731912),new cljs.core.Keyword(null,"border","border",1444987323)],[weathergen.ui.common.pct.call(null,100),weathergen.ui.common.pct.call(null,75),weathergen.ui.common.px.call(null,24),"rgba(221,221,221,0.95)",weathergen.ui.common.px.call(null,500),1,weathergen.ui.common.px.call(null,2),"absolute","1px solid #888"]),javelin.core.formula.call(null,
function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,z,y,A){return function(a){return(new cljs.core.Keyword(null,"message","message",-406056002)).cljs$core$IFn$_invoke$arity$1(a)}}(t,v,w,x,y,z,B,C,A,c,g,h,k,l,m,n,p,q,r,u,b,c,f)).call(null,x)))},b=function(b){var c=null;if(0<arguments.length){c=0;for(var e=Array(arguments.length-0);c<e.length;)e[c]=arguments[c+0],++c;c=new cljs.core.IndexedSeq(e,0,null)}return a.call(this,c)};b.cljs$lang$maxFixedArity=0;b.cljs$lang$applyTo=function(b){b=cljs.core.seq(b);
return a(b)};b.cljs$core$IFn$_invoke$arity$variadic=a;return b}();
weathergen.ui.common.time_edit=function(){var a=function(a){var b=hoplon.core.parse_args.call(null,a);a=cljs.core.nth.call(null,b,0,null);cljs.core.nth.call(null,b,1,null);b=null!=a&&(a.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===a.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,a):a;b=cljs.core.get.call(null,b,new cljs.core.Keyword(null,"max-time","max-time",857408479));a=cljs.core.dissoc.call(null,a,new cljs.core.Keyword(null,"max-time","max-time",857408479));
return weathergen.ui.common.validating_edit.call(null,a,new cljs.core.Keyword(null,"width","width",-384071477),65,new cljs.core.Keyword(null,"fmt","fmt",332300772),weathergen.ui.common.format_time,new cljs.core.Keyword(null,"placeholder","placeholder",-104873083),"dd/hhmm",new cljs.core.Keyword(null,"conform","conform",1846236460),weathergen.ui.common.time_conformer.call(null,b))},b=function(b){var c=null;if(0<arguments.length){c=0;for(var e=Array(arguments.length-0);c<e.length;)e[c]=arguments[c+
0],++c;c=new cljs.core.IndexedSeq(e,0,null)}return a.call(this,c)};b.cljs$lang$maxFixedArity=0;b.cljs$lang$applyTo=function(b){b=cljs.core.seq(b);return a(b)};b.cljs$core$IFn$_invoke$arity$variadic=a;return b}();weathergen.ui.common.versioned_local_storage=function(a,b){return hoplon.storage_atom.local_storage.call(null,javelin.core.cell.call(null,b),[cljs.core.str.cljs$core$IFn$_invoke$arity$1(a),"-",cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.core.hash.call(null,b))].join(""))};
weathergen.ui.common.svg_scale=function(a){switch(arguments.length){case 1:return weathergen.ui.common.svg_scale.cljs$core$IFn$_invoke$arity$1(arguments[0]);case 2:return weathergen.ui.common.svg_scale.cljs$core$IFn$_invoke$arity$2(arguments[0],arguments[1]);default:throw Error(["Invalid arity: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(""));}};weathergen.ui.common.svg_scale.cljs$core$IFn$_invoke$arity$1=function(a){return goog.string.format("scale(%f)",a)};
weathergen.ui.common.svg_scale.cljs$core$IFn$_invoke$arity$2=function(a,b){return goog.string.format("scale(%f,%f)",a,b)};weathergen.ui.common.svg_scale.cljs$lang$maxFixedArity=2;weathergen.ui.common.svg_translate=function(a,b){return cljs.core.truth_(cljs.core.truth_(a)?b:a)?goog.string.format("translate(%f,%f)",a,b):""};weathergen.ui.common.svg_rotate=function(a){return goog.string.format("rotate(%f)",a)};
weathergen.ui.common.svg_xform_combine=function(a){for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;b=0<b.length?new cljs.core.IndexedSeq(b.slice(0),0,null):null;return weathergen.ui.common.svg_xform_combine.cljs$core$IFn$_invoke$arity$variadic(b)};weathergen.ui.common.svg_xform_combine.cljs$core$IFn$_invoke$arity$variadic=function(a){return clojure.string.join.call(null," ",a)};weathergen.ui.common.svg_xform_combine.cljs$lang$maxFixedArity=0;
weathergen.ui.common.svg_xform_combine.cljs$lang$applyTo=function(a){return this.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq.call(null,a))};var interval_value_32139=.45,interval_32140=[cljs.core.str.cljs$core$IFn$_invoke$arity$1(interval_value_32139),"s"].join("");
weathergen.ui.common.register_styles_BANG_.call(null,new cljs.core.Keyword("weathergen.ui.common","animations","weathergen.ui.common/animations",338673555),new cljs.core.PersistentVector(null,6,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[garden.stylesheet.at_keyframes.call(null,weathergen.ui.common.class_for.call(null,new cljs.core.Keyword("weathergen.ui.common","pulse-animation","weathergen.ui.common/pulse-animation",-696492175)),
new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"from","from",1815293044),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"opacity","opacity",397153780),1],null)],null),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"to","to",192099007),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"opacity","opacity",397153780),0],null)],null))],null),new cljs.core.PersistentVector(null,
2,5,cljs.core.PersistentVector.EMPTY_NODE,[weathergen.ui.common.class_selector_for.call(null,new cljs.core.Keyword("weathergen.ui.common","pulse","weathergen.ui.common/pulse",-535065247)),new cljs.core.PersistentArrayMap(null,6,[new cljs.core.Keyword(null,"animation-duration","animation-duration",-1261077706),interval_32140,new cljs.core.Keyword(null,"animation-name","animation-name",-302195330),weathergen.ui.common.class_for.call(null,new cljs.core.Keyword("weathergen.ui.common","pulse-animation",
"weathergen.ui.common/pulse-animation",-696492175)),new cljs.core.Keyword(null,"animation-iteration-count","animation-iteration-count",-1410888227),"infinite",new cljs.core.Keyword(null,"animation-timing-function","animation-timing-function",-1186881521),"ease-in-out",new cljs.core.Keyword(null,"animation-direction","animation-direction",-362912441),"alternate",new cljs.core.Keyword(null,"animation-delay","animation-delay",-488570176),interval_32140],null)],null),new cljs.core.PersistentVector(null,
1,5,cljs.core.PersistentVector.EMPTY_NODE,[garden.stylesheet.at_keyframes.call(null,weathergen.ui.common.class_for.call(null,new cljs.core.Keyword("weathergen.ui.common","collapse-animation","weathergen.ui.common/collapse-animation",-506320172)),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"from","from",1815293044),new cljs.core.PersistentArrayMap(null,2,[new cljs.core.Keyword(null,"transform","transform",1381301764),weathergen.ui.common.svg_scale.call(null,
1),new cljs.core.Keyword(null,"stroke-dashoffset","stroke-dashoffset",-782320340),0],null)],null),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"to","to",192099007),new cljs.core.PersistentArrayMap(null,2,[new cljs.core.Keyword(null,"transform","transform",1381301764),weathergen.ui.common.svg_scale.call(null,.02),new cljs.core.Keyword(null,"stroke-dashoffset","stroke-dashoffset",-782320340),50],null)],null))],null),new cljs.core.PersistentVector(null,
2,5,cljs.core.PersistentVector.EMPTY_NODE,[weathergen.ui.common.class_selector_for.call(null,new cljs.core.Keyword("weathergen.ui.common","collapse","weathergen.ui.common/collapse",-901062267)),new cljs.core.PersistentArrayMap(null,5,[new cljs.core.Keyword(null,"animation-duration","animation-duration",-1261077706),interval_32140,new cljs.core.Keyword(null,"animation-name","animation-name",-302195330),weathergen.ui.common.class_for.call(null,new cljs.core.Keyword("weathergen.ui.common","collapse-animation",
"weathergen.ui.common/collapse-animation",-506320172)),new cljs.core.Keyword(null,"animation-iteration-count","animation-iteration-count",-1410888227),1,new cljs.core.Keyword(null,"animation-timing-function","animation-timing-function",-1186881521),"ease-out",new cljs.core.Keyword(null,"animation-direction","animation-direction",-362912441),"normal"],null)],null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[garden.stylesheet.at_keyframes.call(null,weathergen.ui.common.class_for.call(null,
new cljs.core.Keyword("weathergen.ui.common","delayed-fade-out-animation","weathergen.ui.common/delayed-fade-out-animation",-813416372)),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"from","from",1815293044),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"opacity","opacity",397153780),.35],null)],null),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,["80%",new cljs.core.PersistentArrayMap(null,
1,[new cljs.core.Keyword(null,"opacity","opacity",397153780),.35],null)],null),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"to","to",192099007),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"opacity","opacity",397153780),0],null)],null))],null),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[weathergen.ui.common.class_selector_for.call(null,new cljs.core.Keyword("weathergen.ui.common",
"delayed-fade-out","weathergen.ui.common/delayed-fade-out",1307931935)),new cljs.core.PersistentArrayMap(null,5,[new cljs.core.Keyword(null,"animation-duration","animation-duration",-1261077706),[cljs.core.str.cljs$core$IFn$_invoke$arity$1(interval_value_32139/.8),"s"].join(""),new cljs.core.Keyword(null,"animation-name","animation-name",-302195330),weathergen.ui.common.class_for.call(null,new cljs.core.Keyword("weathergen.ui.common","delayed-fade-out-animation","weathergen.ui.common/delayed-fade-out-animation",
-813416372)),new cljs.core.Keyword(null,"animation-iteration-count","animation-iteration-count",-1410888227),1,new cljs.core.Keyword(null,"animation-timing-function","animation-timing-function",-1186881521),"ease-out",new cljs.core.Keyword(null,"animation-direction","animation-direction",-362912441),"normal"],null)],null)],null));weathergen.ui.common.pulse_class=weathergen.ui.common.class_for.call(null,new cljs.core.Keyword("weathergen.ui.common","pulse","weathergen.ui.common/pulse",-535065247));
weathergen.ui.common.collapse_class=weathergen.ui.common.class_for.call(null,new cljs.core.Keyword("weathergen.ui.common","collapse","weathergen.ui.common/collapse",-901062267));weathergen.ui.common.delayed_fade_out_class=weathergen.ui.common.class_for.call(null,new cljs.core.Keyword("weathergen.ui.common","delayed-fade-out","weathergen.ui.common/delayed-fade-out",1307931935));
weathergen.ui.common.heading=function(a){switch(arguments.length){case 1:return weathergen.ui.common.heading.cljs$core$IFn$_invoke$arity$1(arguments[0]);case 2:return weathergen.ui.common.heading.cljs$core$IFn$_invoke$arity$2(arguments[0],arguments[1]);default:throw Error(["Invalid arity: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(""));}};
weathergen.ui.common.heading.cljs$core$IFn$_invoke$arity$1=function(a){return weathergen.ui.common.heading.call(null,cljs.core.PersistentArrayMap.EMPTY,a)};
weathergen.ui.common.heading.cljs$core$IFn$_invoke$arity$2=function(a,b){a=null!=a&&(a.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===a.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,a):a;a=cljs.core.get.call(null,a,new cljs.core.Keyword(null,"margin-top","margin-top",392161226));return hoplon.core.div.call(null,new cljs.core.Keyword(null,"css","css",1135045163),new cljs.core.PersistentArrayMap(null,5,[new cljs.core.Keyword(null,"color","color",1011675173),"white",
new cljs.core.Keyword(null,"background","background",-863952629),"black",new cljs.core.Keyword(null,"margin-top","margin-top",392161226),weathergen.ui.common.px.call(null,cljs.core.truth_(a)?a:15),new cljs.core.Keyword(null,"margin-bottom","margin-bottom",388334941),weathergen.ui.common.px.call(null,5),new cljs.core.Keyword(null,"padding","padding",1660304693),weathergen.ui.common.px.call(null,2)],null),b)};weathergen.ui.common.heading.cljs$lang$maxFixedArity=2;
weathergen.ui.common.path_lens=function(a,b){return javelin.core.lens.call(null,javelin.core.formula.call(null,function(a,b){return cljs.core.get_in.call(null,a,b)}).call(null,a,b),function(c){return cljs.core.swap_BANG_.call(null,a,cljs.core.assoc_in,cljs.core.truth_(javelin.core.cell_QMARK_.call(null,b))?cljs.core.deref.call(null,b):b,c)})};
weathergen.ui.common.map_lens=function(a,b){return javelin.core.lens.call(null,javelin.core.formula.call(null,function(a,b){return cljs.core.get.call(null,a,b)}).call(null,a,b),function(c){return cljs.core.swap_BANG_.call(null,a,cljs.core.assoc,cljs.core.deref.call(null,b),c)})};
weathergen.ui.common.xform_lens=function(a,b,c){return javelin.core.lens.call(null,javelin.core.formula.call(null,function(a){return b.call(null,a)}).call(null,a),function(b){return cljs.core.reset_BANG_.call(null,a,c.call(null,b))})};weathergen.ui.common.not_lens=function(a){return weathergen.ui.common.xform_lens.call(null,a,cljs.core.not,cljs.core.not)};
weathergen.ui.common.keyed_loop_tpl_STAR_=function(a,b,c){a=javelin.core.formula.call(null,function(a){var c=cljs.core.mapv.call(null,b,a);return new cljs.core.PersistentArrayMap(null,2,[new cljs.core.Keyword(null,"keys","keys",1068423698),c,new cljs.core.Keyword(null,"item-map","item-map",677069923),cljs.core.zipmap.call(null,c,a)],null)}).call(null,a);var d=cljs.core.atom.call(null,cljs.core.PersistentArrayMap.EMPTY),e=cljs.core.atom.call(null,cljs.core.PersistentArrayMap.EMPTY),f=javelin.core.cell.call(null,
cljs.core.PersistentVector.EMPTY);hoplon.core.do_watch.call(null,a,function(a,b,d,e){return function(f,g){var h=cljs.core.set.call(null,(new cljs.core.Keyword(null,"keys","keys",1068423698)).cljs$core$IFn$_invoke$arity$1(f)),k=cljs.core.set.call(null,(new cljs.core.Keyword(null,"keys","keys",1068423698)).cljs$core$IFn$_invoke$arity$1(g)),l=clojure.set.difference.call(null,h,k),m=clojure.set.difference.call(null,k,h,cljs.core.set.call(null,cljs.core.keys.call(null,cljs.core.deref.call(null,e))));if(cljs.core.not_EQ_.call(null,
(new cljs.core.Keyword(null,"keys","keys",1068423698)).cljs$core$IFn$_invoke$arity$1(f),(new cljs.core.Keyword(null,"keys","keys",1068423698)).cljs$core$IFn$_invoke$arity$1(g))){g=cljs.core.seq.call(null,l);for(var n=null,v=0,w=0;;)if(w<v){var x=cljs.core._nth.call(null,n,w);cljs.core.swap_BANG_.call(null,d,cljs.core.assoc,x,cljs.core.get_in.call(null,f,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"item-map","item-map",677069923),x],null)));
w+=1}else if(g=cljs.core.seq.call(null,g))n=g,cljs.core.chunked_seq_QMARK_.call(null,n)?(g=cljs.core.chunk_first.call(null,n),w=cljs.core.chunk_rest.call(null,n),n=g,v=cljs.core.count.call(null,g),g=w):(g=cljs.core.first.call(null,n),cljs.core.swap_BANG_.call(null,d,cljs.core.assoc,g,cljs.core.get_in.call(null,f,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"item-map","item-map",677069923),g],null))),g=cljs.core.next.call(null,n),n=null,
v=0),w=0;else break;return cljs.core.reset_BANG_.call(null,a,function(){for(var f=document.createDocumentFragment(),g=cljs.core.seq.call(null,m),n=null,p=0,q=0;;)if(q<p){var r=cljs.core._nth.call(null,n,q);cljs.core.swap_BANG_.call(null,e,cljs.core.assoc,r,c.call(null,javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q){return function(a){return cljs.core.get_in.call(null,a,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"item-map",
"item-map",677069923),e],null),cljs.core.get.call(null,cljs.core.deref.call(null,p),e))}}(g,n,p,q,r,f,h,k,l,m,a,b,d,e)).call(null,b),r));q+=1}else{var t=cljs.core.seq.call(null,g);if(t){r=t;if(cljs.core.chunked_seq_QMARK_.call(null,r))g=cljs.core.chunk_first.call(null,r),q=cljs.core.chunk_rest.call(null,r),n=g,p=cljs.core.count.call(null,g),g=q;else{var u=cljs.core.first.call(null,r);cljs.core.swap_BANG_.call(null,e,cljs.core.assoc,u,c.call(null,javelin.core.formula.call(null,function(a,b,c,d,e,f,
g,h,k,l,m,n,p,q,r,t){return function(a){return cljs.core.get_in.call(null,a,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"item-map","item-map",677069923),e],null),cljs.core.get.call(null,cljs.core.deref.call(null,r),e))}}(g,n,p,q,u,r,t,f,h,k,l,m,a,b,d,e)).call(null,b),u));g=cljs.core.next.call(null,r);n=null;p=0}q=0}else break}g=cljs.core.seq.call(null,(new cljs.core.Keyword(null,"keys","keys",1068423698)).cljs$core$IFn$_invoke$arity$1(cljs.core.deref.call(null,
b)));n=null;for(q=p=0;;)if(q<p)r=cljs.core._nth.call(null,n,q),t=cljs.core.get.call(null,cljs.core.deref.call(null,e),r),null==t?console.warn("keyed-loop-tpl*: not appending nil node",r,t):t instanceof Node?goog.dom.appendChild(f,t):console.error("keyed-loop-tpl*: trying to append non-node",r,t),q+=1;else if(g=cljs.core.seq.call(null,g))cljs.core.chunked_seq_QMARK_.call(null,g)?(p=cljs.core.chunk_first.call(null,g),g=cljs.core.chunk_rest.call(null,g),n=p,p=cljs.core.count.call(null,p)):(n=cljs.core.first.call(null,
g),p=cljs.core.get.call(null,cljs.core.deref.call(null,e),n),null==p?console.warn("keyed-loop-tpl*: not appending nil node",n,p):p instanceof Node?goog.dom.appendChild(f,p):console.error("keyed-loop-tpl*: trying to append non-node",n,p),g=cljs.core.next.call(null,g),n=null,p=0),q=0;else break;return f}())}return null}}(f,a,d,e));return f};var rum={cursor:{}};rum.cursor.Cursor=function(a,b,c){this.ref=a;this.path=b;this.meta=c;this.cljs$lang$protocol_mask$partition0$=2153938944;this.cljs$lang$protocol_mask$partition1$=114690};rum.cursor.Cursor.prototype.equiv=function(a){return cljs.core._equiv.call(null,this,a)};
rum.cursor.Cursor.prototype.cljs$core$IPrintWithWriter$_pr_writer$arity$3=function(a,b,c){cljs.core._write.call(null,b,"#object [rum.cursor.Cursor ");cljs.core.pr_writer.call(null,new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"val","val",128701612),cljs.core._deref.call(null,this)],null),b,c);return cljs.core._write.call(null,b,"]")};rum.cursor.Cursor.prototype.cljs$core$IMeta$_meta$arity$1=function(a){return this.meta};
rum.cursor.Cursor.prototype.cljs$core$IHash$_hash$arity$1=function(a){return goog.getUid(this)};rum.cursor.Cursor.prototype.cljs$core$IEquiv$_equiv$arity$2=function(a,b){return this===b};rum.cursor.Cursor.prototype.cljs$core$IReset$_reset_BANG_$arity$2=function(a,b){cljs.core.swap_BANG_.call(null,this.ref,cljs.core.assoc_in,this.path,b);return b};
rum.cursor.Cursor.prototype.cljs$core$ISwap$_swap_BANG_$arity$2=function(a,b){return cljs.core._reset_BANG_.call(null,this,b.call(null,cljs.core._deref.call(null,this)))};rum.cursor.Cursor.prototype.cljs$core$ISwap$_swap_BANG_$arity$3=function(a,b,c){return cljs.core._reset_BANG_.call(null,this,b.call(null,cljs.core._deref.call(null,this),c))};
rum.cursor.Cursor.prototype.cljs$core$ISwap$_swap_BANG_$arity$4=function(a,b,c,d){return cljs.core._reset_BANG_.call(null,this,b.call(null,cljs.core._deref.call(null,this),c,d))};rum.cursor.Cursor.prototype.cljs$core$ISwap$_swap_BANG_$arity$5=function(a,b,c,d,e){return cljs.core._reset_BANG_.call(null,this,cljs.core.apply.call(null,b,cljs.core._deref.call(null,this),c,d,e))};
rum.cursor.Cursor.prototype.cljs$core$IWatchable$_add_watch$arity$3=function(a,b,c){var d=this;cljs.core.add_watch.call(null,d.ref,new cljs.core.List(null,this,new cljs.core.List(null,b,null,1,null),2,null),function(a){return function(e,g,h,k){e=cljs.core.get_in.call(null,h,d.path);k=cljs.core.get_in.call(null,k,d.path);return cljs.core.not_EQ_.call(null,e,k)?c.call(null,b,a,e,k):null}}(this));return this};
rum.cursor.Cursor.prototype.cljs$core$IWatchable$_remove_watch$arity$2=function(a,b){cljs.core.remove_watch.call(null,this.ref,new cljs.core.List(null,this,new cljs.core.List(null,b,null,1,null),2,null));return this};rum.cursor.Cursor.prototype.cljs$core$IDeref$_deref$arity$1=function(a){return cljs.core.get_in.call(null,cljs.core._deref.call(null,this.ref),this.path)};
rum.cursor.Cursor.getBasis=function(){return new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"ref","ref",-1364538802,null),new cljs.core.Symbol(null,"path","path",1452340359,null),new cljs.core.Symbol(null,"meta","meta",-1154898805,null)],null)};rum.cursor.Cursor.cljs$lang$type=!0;rum.cursor.Cursor.cljs$lang$ctorStr="rum.cursor/Cursor";rum.cursor.Cursor.cljs$lang$ctorPrWriter=function(a,b,c){return cljs.core._write.call(null,b,"rum.cursor/Cursor")};
rum.cursor.__GT_Cursor=function(a,b,c){return new rum.cursor.Cursor(a,b,c)};rum.derived_atom={};rum.derived_atom.derived_atom=function(a){switch(arguments.length){case 3:return rum.derived_atom.derived_atom.cljs$core$IFn$_invoke$arity$3(arguments[0],arguments[1],arguments[2]);case 4:return rum.derived_atom.derived_atom.cljs$core$IFn$_invoke$arity$4(arguments[0],arguments[1],arguments[2],arguments[3]);default:throw Error(["Invalid arity: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(""));}};
rum.derived_atom.derived_atom.cljs$core$IFn$_invoke$arity$3=function(a,b,c){return rum.derived_atom.derived_atom.call(null,a,b,c,cljs.core.PersistentArrayMap.EMPTY)};
rum.derived_atom.derived_atom.cljs$core$IFn$_invoke$arity$4=function(a,b,c,d){var e=null!=d&&(d.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===d.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,d):d,f=cljs.core.get.call(null,e,new cljs.core.Keyword(null,"ref","ref",1289896967)),g=cljs.core.get.call(null,e,new cljs.core.Keyword(null,"check-equals?","check-equals?",-2005755315),!0),h=function(){var b=cljs.core.count.call(null,a);switch(b){case 1:var h=cljs.core.nth.call(null,
a,0,null);return function(a,b,d,e,f,g,h){return function(){return c.call(null,cljs.core.deref.call(null,b))}}(a,h,b,d,e,f,g);case 2:h=cljs.core.nth.call(null,a,0,null);var k=cljs.core.nth.call(null,a,1,null);return function(a,b,d,e,f,g,h,k){return function(){return c.call(null,cljs.core.deref.call(null,b),cljs.core.deref.call(null,d))}}(a,h,k,b,d,e,f,g);case 3:h=cljs.core.nth.call(null,a,0,null);k=cljs.core.nth.call(null,a,1,null);var l=cljs.core.nth.call(null,a,2,null);return function(a,b,d,e,f,
g,h,k,l){return function(){return c.call(null,cljs.core.deref.call(null,b),cljs.core.deref.call(null,d),cljs.core.deref.call(null,e))}}(a,h,k,l,b,d,e,f,g);default:return function(b,d,e,f,g){return function(){return cljs.core.apply.call(null,c,cljs.core.map.call(null,cljs.core.deref,a))}}(b,d,e,f,g)}}();if(cljs.core.truth_(f)){cljs.core.reset_BANG_.call(null,f,h.call(null));var k=f}else k=cljs.core.atom.call(null,h.call(null));h=cljs.core.truth_(g)?function(a,b,c,d,e,f){return function(a,b,c,d){a=
e.call(null);return cljs.core.not_EQ_.call(null,cljs.core.deref.call(null,f),a)?cljs.core.reset_BANG_.call(null,f,a):null}}(d,e,f,g,h,k):function(a,b,c,d,e,f){return function(a,b,c,d){return cljs.core.reset_BANG_.call(null,f,e.call(null))}}(d,e,f,g,h,k);for(var l=cljs.core.seq.call(null,a),m=null,n=0,p=0;;)if(p<n){var q=cljs.core._nth.call(null,m,p);cljs.core.add_watch.call(null,q,b,h);p+=1}else if(l=cljs.core.seq.call(null,l))m=l,cljs.core.chunked_seq_QMARK_.call(null,m)?(l=cljs.core.chunk_first.call(null,
m),p=cljs.core.chunk_rest.call(null,m),m=l,n=cljs.core.count.call(null,l),l=p):(l=cljs.core.first.call(null,m),cljs.core.add_watch.call(null,l,b,h),l=cljs.core.next.call(null,m),m=null,n=0),p=0;else break;return k};rum.derived_atom.derived_atom.cljs$lang$maxFixedArity=4;var sablono={util:{}};sablono.util._STAR_base_url_STAR_=null;sablono.util.ToString=function(){};sablono.util.to_str=function(a){if(null!=a&&null!=a.sablono$util$ToString$to_str$arity$1)return a.sablono$util$ToString$to_str$arity$1(a);var b=sablono.util.to_str[goog.typeOf(null==a?null:a)];if(null!=b)return b.call(null,a);b=sablono.util.to_str._;if(null!=b)return b.call(null,a);throw cljs.core.missing_protocol.call(null,"ToString.to-str",a);};sablono.util.ToURI=function(){};
sablono.util.to_uri=function(a){if(null!=a&&null!=a.sablono$util$ToURI$to_uri$arity$1)return a.sablono$util$ToURI$to_uri$arity$1(a);var b=sablono.util.to_uri[goog.typeOf(null==a?null:a)];if(null!=b)return b.call(null,a);b=sablono.util.to_uri._;if(null!=b)return b.call(null,a);throw cljs.core.missing_protocol.call(null,"ToURI.to-uri",a);};
sablono.util.as_str=function(a){for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;b=0<b.length?new cljs.core.IndexedSeq(b.slice(0),0,null):null;return sablono.util.as_str.cljs$core$IFn$_invoke$arity$variadic(b)};sablono.util.as_str.cljs$core$IFn$_invoke$arity$variadic=function(a){return clojure.string.join.call(null,cljs.core.map.call(null,sablono.util.to_str,a))};sablono.util.as_str.cljs$lang$maxFixedArity=0;
sablono.util.as_str.cljs$lang$applyTo=function(a){return this.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq.call(null,a))};
sablono.util.camel_case=function(a){if(a instanceof cljs.core.Keyword||"string"===typeof a||a instanceof cljs.core.Symbol){var b=cljs.core.name.call(null,a).split("-"),c=cljs.core.seq.call(null,b);b=cljs.core.first.call(null,c);c=cljs.core.next.call(null,c);return cljs.core.empty_QMARK_.call(null,c)||cljs.core._EQ_.call(null,"aria",b)||cljs.core._EQ_.call(null,"data",b)?a:cljs.core.keyword.call(null,clojure.string.join.call(null,cljs.core.conj.call(null,cljs.core.map.call(null,clojure.string.capitalize,
c),b)))}return a};
sablono.util.camel_case_keys=function(a){return cljs.core.map_QMARK_.call(null,a)?(a=cljs.core.into.call(null,cljs.core.PersistentArrayMap.EMPTY,cljs.core.map.call(null,function(a){var b=cljs.core.nth.call(null,a,0,null);a=cljs.core.nth.call(null,a,1,null);return new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[sablono.util.camel_case.call(null,b),a],null)}),a),cljs.core.map_QMARK_.call(null,(new cljs.core.Keyword(null,"style","style",-496642736)).cljs$core$IFn$_invoke$arity$1(a))?cljs.core.update.call(null,
a,new cljs.core.Keyword(null,"style","style",-496642736),sablono.util.camel_case_keys):a):a};sablono.util.element_QMARK_=function(a){return cljs.core.vector_QMARK_.call(null,a)&&cljs.core.first.call(null,a)instanceof cljs.core.Keyword};
sablono.util.html_to_dom_attrs=function(a){return clojure.set.rename_keys.call(null,sablono.util.camel_case_keys.call(null,a),new cljs.core.PersistentArrayMap(null,2,[new cljs.core.Keyword(null,"class","class",-2030961996),new cljs.core.Keyword(null,"className","className",-1983287057),new cljs.core.Keyword(null,"for","for",-1323786319),new cljs.core.Keyword(null,"htmlFor","htmlFor",-1050291720)],null))};
sablono.util.join_classes=function(a){return clojure.string.join.call(null," ",cljs.core.into.call(null,cljs.core.PersistentVector.EMPTY,cljs.core.comp.call(null,cljs.core.mapcat.call(null,function(a){return"string"===typeof a?new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[a],null):cljs.core.seq.call(null,a)}),cljs.core.remove.call(null,cljs.core.nil_QMARK_)),a))};
sablono.util.react_fn=function(a){return cljs.core.contains_QMARK_.call(null,new cljs.core.PersistentHashSet(null,new cljs.core.PersistentArrayMap(null,3,[new cljs.core.Keyword(null,"textarea","textarea",-650375824),null,new cljs.core.Keyword(null,"input","input",556931961),null,new cljs.core.Keyword(null,"select","select",1147833503),null],null),null),cljs.core.keyword.call(null,a))?new cljs.core.Symbol("sablono.interpreter","create-element","sablono.interpreter/create-element",748785555,null):new cljs.core.Symbol("js",
"React.createElement","js/React.createElement",1766367641,null)};cljs.core.Keyword.prototype.sablono$util$ToString$=cljs.core.PROTOCOL_SENTINEL;cljs.core.Keyword.prototype.sablono$util$ToString$to_str$arity$1=function(a){return cljs.core.name.call(null,this)};goog.Uri.prototype.sablono$util$ToString$=cljs.core.PROTOCOL_SENTINEL;
goog.Uri.prototype.sablono$util$ToString$to_str$arity$1=function(a){var b=this;if(cljs.core.truth_(function(){var a=b.hasDomain();return cljs.core.truth_(a)?a:null==b.getPath()||cljs.core.not.call(null,cljs.core.re_matches.call(null,/^\/.*/,b.getPath()))}()))return cljs.core.str.cljs$core$IFn$_invoke$arity$1(b);a=cljs.core.str.cljs$core$IFn$_invoke$arity$1(sablono.util._STAR_base_url_STAR_);return cljs.core.truth_(cljs.core.re_matches.call(null,/.*\/$/,a))?[cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.core.subs.call(null,
a,0,cljs.core.count.call(null,a)-1)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(b)].join(""):[a,cljs.core.str.cljs$core$IFn$_invoke$arity$1(b)].join("")};goog.object.set(sablono.util.ToString,"null",!0);goog.object.set(sablono.util.to_str,"null",function(a){return""});goog.object.set(sablono.util.ToString,"number",!0);goog.object.set(sablono.util.to_str,"number",function(a){return cljs.core.str.cljs$core$IFn$_invoke$arity$1(a)});goog.object.set(sablono.util.ToString,"_",!0);
goog.object.set(sablono.util.to_str,"_",function(a){return cljs.core.str.cljs$core$IFn$_invoke$arity$1(a)});goog.Uri.prototype.sablono$util$ToURI$=cljs.core.PROTOCOL_SENTINEL;goog.Uri.prototype.sablono$util$ToURI$to_uri$arity$1=function(a){return this};goog.object.set(sablono.util.ToURI,"_",!0);goog.object.set(sablono.util.to_uri,"_",function(a){return new goog.Uri(cljs.core.str.cljs$core$IFn$_invoke$arity$1(a))});sablono.normalize={};sablono.normalize.compact_map=function(a){return cljs.core.truth_(a)?cljs.core.into.call(null,cljs.core.PersistentArrayMap.EMPTY,cljs.core.remove.call(null,function(a){cljs.core.nth.call(null,a,0,null);a=cljs.core.nth.call(null,a,1,null);return cljs.core.empty_QMARK_.call(null,a)}),a):null};sablono.normalize.class_name=function(a){return"string"===typeof a?a:a instanceof cljs.core.Keyword?cljs.core.name.call(null,a):a};
sablono.normalize.map_lookup_QMARK_=function(a){return cljs.core.list_QMARK_.call(null,a)&&cljs.core.first.call(null,a)instanceof cljs.core.Keyword};
sablono.normalize.class$=function(a){return null==a?null:sablono.normalize.map_lookup_QMARK_.call(null,a)?new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[a],null):cljs.core.list_QMARK_.call(null,a)?cljs.core.first.call(null,a)instanceof cljs.core.Symbol?new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[a],null):cljs.core.map.call(null,sablono.normalize.class_name,a):a instanceof cljs.core.Symbol?new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,
[a],null):"string"===typeof a?new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[a],null):a instanceof cljs.core.Keyword?new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[sablono.normalize.class_name.call(null,a)],null):(cljs.core.set_QMARK_.call(null,a)||cljs.core.sequential_QMARK_.call(null,a))&&cljs.core.every_QMARK_.call(null,function(a){return a instanceof cljs.core.Keyword||"string"===typeof a},a)?cljs.core.mapv.call(null,sablono.normalize.class_name,
a):cljs.core.set_QMARK_.call(null,a)||cljs.core.sequential_QMARK_.call(null,a)?cljs.core.mapv.call(null,sablono.normalize.class_name,a):a};sablono.normalize.attributes=function(a){return cljs.core.truth_((new cljs.core.Keyword(null,"class","class",-2030961996)).cljs$core$IFn$_invoke$arity$1(a))?cljs.core.update_in.call(null,a,new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"class","class",-2030961996)],null),sablono.normalize.class$):a};
sablono.normalize.merge_with_class=function(a){for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;b=0<b.length?new cljs.core.IndexedSeq(b.slice(0),0,null):null;return sablono.normalize.merge_with_class.cljs$core$IFn$_invoke$arity$variadic(b)};
sablono.normalize.merge_with_class.cljs$core$IFn$_invoke$arity$variadic=function(a){var b=cljs.core.map.call(null,sablono.normalize.attributes,a);a=cljs.core.mapcat.call(null,new cljs.core.Keyword(null,"class","class",-2030961996),b);return cljs.core.seq.call(null,b)?(b=cljs.core.reduce.call(null,cljs.core.into,cljs.core.PersistentArrayMap.EMPTY,b),cljs.core.empty_QMARK_.call(null,a)?b:cljs.core.assoc.call(null,b,new cljs.core.Keyword(null,"class","class",-2030961996),cljs.core.vec.call(null,a))):
null};sablono.normalize.merge_with_class.cljs$lang$maxFixedArity=0;sablono.normalize.merge_with_class.cljs$lang$applyTo=function(a){return this.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq.call(null,a))};sablono.normalize.strip_css=function(a){return cljs.core.truth_(a)?clojure.string.replace.call(null,a,/^[.#]/,""):null};
sablono.normalize.match_tag=function(a){var b=cljs.core.re_seq.call(null,/[#.]?[^#.]+/,cljs.core.name.call(null,a));if(cljs.core.empty_QMARK_.call(null,b))throw cljs.core.ex_info.call(null,["Can't match CSS tag: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(a)].join(""),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"tag","tag",-1290361223),a],null));a=cljs.core.truth_((new cljs.core.PersistentHashSet(null,new cljs.core.PersistentArrayMap(null,2,["#",null,".",null],null),null)).call(null,
cljs.core.ffirst.call(null,b)))?new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,["div",b],null):new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[cljs.core.first.call(null,b),cljs.core.rest.call(null,b)],null);var c=cljs.core.nth.call(null,a,0,null),d=cljs.core.nth.call(null,a,1,null);return new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,[c,sablono.normalize.strip_css.call(null,cljs.core.some.call(null,function(a,
b,c,d){return function(a){return cljs.core._EQ_.call(null,"#",cljs.core.first.call(null,a))?a:null}}(b,a,c,d),d)),cljs.core.into.call(null,cljs.core.PersistentVector.EMPTY,cljs.core.comp.call(null,cljs.core.filter.call(null,function(a,b,c,d){return function(a){return cljs.core._EQ_.call(null,".",cljs.core.first.call(null,a))}}(b,a,c,d)),cljs.core.map.call(null,sablono.normalize.strip_css)),d)],null)};
sablono.normalize.children=function(a){return cljs.core.remove.call(null,cljs.core.nil_QMARK_,null==a?cljs.core.List.EMPTY:"string"===typeof a?new cljs.core.List(null,a,null,1,null):sablono.util.element_QMARK_.call(null,a)?new cljs.core.List(null,a,null,1,null):cljs.core.list_QMARK_.call(null,a)&&cljs.core.first.call(null,a)instanceof cljs.core.Symbol?new cljs.core.List(null,a,null,1,null):cljs.core.list_QMARK_.call(null,a)?a:cljs.core.sequential_QMARK_.call(null,a)&&cljs.core._EQ_.call(null,cljs.core.count.call(null,
a),1)&&cljs.core.sequential_QMARK_.call(null,cljs.core.first.call(null,a))&&"string"!==typeof cljs.core.first.call(null,a)&&!sablono.util.element_QMARK_.call(null,cljs.core.first.call(null,a))?sablono.normalize.children.call(null,cljs.core.first.call(null,a)):cljs.core.sequential_QMARK_.call(null,a)?a:new cljs.core.List(null,a,null,1,null))};sablono.normalize.attrs_QMARK_=function(a){return cljs.core.map_QMARK_.call(null,a)};
sablono.normalize.element=function(a){a=cljs.core.seq.call(null,a);var b=cljs.core.first.call(null,a);a=cljs.core.next.call(null,a);if(!(b instanceof cljs.core.Keyword||b instanceof cljs.core.Symbol||"string"===typeof b))throw cljs.core.ex_info.call(null,[cljs.core.str.cljs$core$IFn$_invoke$arity$1(b)," is not a valid element name."].join(""),new cljs.core.PersistentArrayMap(null,2,[new cljs.core.Keyword(null,"tag","tag",-1290361223),b,new cljs.core.Keyword(null,"content","content",15833224),a],null));
var c=sablono.normalize.match_tag.call(null,b);b=cljs.core.nth.call(null,c,0,null);var d=cljs.core.nth.call(null,c,1,null);c=cljs.core.nth.call(null,c,2,null);d=sablono.normalize.compact_map.call(null,new cljs.core.PersistentArrayMap(null,2,[new cljs.core.Keyword(null,"id","id",-1388402092),d,new cljs.core.Keyword(null,"class","class",-2030961996),c],null));c=cljs.core.first.call(null,a);return sablono.normalize.attrs_QMARK_.call(null,c)?new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,
[b,sablono.normalize.merge_with_class.call(null,d,c),sablono.normalize.children.call(null,cljs.core.next.call(null,a))],null):new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,[b,sablono.normalize.attributes.call(null,d),sablono.normalize.children.call(null,a)],null)};sablono.interpreter={};sablono.interpreter.IInterpreter=function(){};sablono.interpreter.interpret=function(a){if(null!=a&&null!=a.sablono$interpreter$IInterpreter$interpret$arity$1)return a.sablono$interpreter$IInterpreter$interpret$arity$1(a);var b=sablono.interpreter.interpret[goog.typeOf(null==a?null:a)];if(null!=b)return b.call(null,a);b=sablono.interpreter.interpret._;if(null!=b)return b.call(null,a);throw cljs.core.missing_protocol.call(null,"IInterpreter.interpret",a);};
sablono.interpreter.update_state=function(a,b,c,d){var e=goog.object.getValueByKeys(a,"state","onChange"),f={};goog.object.extend(f,b,{onChange:e});goog.object.set(f,c,d);return a.setState(f)};
sablono.interpreter.wrap_form_element=function(a,b){var c=function(a){var b={};goog.object.extend(b,a,{onChange:goog.bind(goog.object.get(this,"onChange"),this)});this.state=b;return React.Component.call(this,a)};c.displayName=["wrapped-",cljs.core.str.cljs$core$IFn$_invoke$arity$1(a)].join("");goog.inherits(c,React.Component);var d=c.prototype;d.onChange=function(a,c){return function(a){var c=this.props.onChange;return cljs.core.truth_(c)?(c.call(null,a),sablono.interpreter.update_state.call(null,
this,this.props,b,goog.object.getValueByKeys(a,"target",b))):null}}(d,c);d.componentWillReceiveProps=function(a,c){return function(a){var c=goog.object.getValueByKeys(this,"state",b),d=goog.object.get(ReactDOM.findDOMNode(this),b);return cljs.core.not_EQ_.call(null,c,d)?sablono.interpreter.update_state.call(null,this,a,b,d):sablono.interpreter.update_state.call(null,this,a,b,goog.object.get(a,b))}}(d,c);d.render=function(b,c){return function(){return React.createElement(a,this.state)}}(d,c);return c};
sablono.interpreter.lazy_load_wrappers=function(){if(cljs.core.truth_(sablono.interpreter.wrapped_textarea))return null;sablono.interpreter.wrapped_input=sablono.interpreter.wrap_form_element.call(null,"input","value");sablono.interpreter.wrapped_checked=sablono.interpreter.wrap_form_element.call(null,"input","checked");sablono.interpreter.wrapped_select=sablono.interpreter.wrap_form_element.call(null,"select","value");return sablono.interpreter.wrapped_textarea=sablono.interpreter.wrap_form_element.call(null,
"textarea","value")};sablono.interpreter.controlled_input_QMARK_=function(a,b){var c=cljs.core.object_QMARK_.call(null,b);if(c)switch(a){case "input":return null!=b.checked||null!=b.value;case "select":return null!=b.value;case "textarea":return null!=b.value;default:return!1}else return c};
sablono.interpreter.element_class=function(a,b){if(sablono.interpreter.controlled_input_QMARK_.call(null,a,b))switch(sablono.interpreter.lazy_load_wrappers.call(null),a){case "input":switch(b=(a=cljs.core.object_QMARK_.call(null,b))?b.type:a,b){case "radio":return sablono.interpreter.wrapped_checked;case "checkbox":return sablono.interpreter.wrapped_checked;default:return sablono.interpreter.wrapped_input}case "select":return sablono.interpreter.wrapped_select;case "textarea":return sablono.interpreter.wrapped_textarea;
default:return a}else return a};sablono.interpreter.create_element=function(a){for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;b=2<b.length?new cljs.core.IndexedSeq(b.slice(2),0,null):null;return sablono.interpreter.create_element.cljs$core$IFn$_invoke$arity$variadic(arguments[0],arguments[1],b)};
sablono.interpreter.create_element.cljs$core$IFn$_invoke$arity$variadic=function(a,b,c){return cljs.core.apply.call(null,React.createElement,sablono.interpreter.element_class.call(null,a,b),b,c)};sablono.interpreter.create_element.cljs$lang$maxFixedArity=2;
sablono.interpreter.create_element.cljs$lang$applyTo=function(a){var b=cljs.core.first.call(null,a),c=cljs.core.next.call(null,a);a=cljs.core.first.call(null,c);c=cljs.core.next.call(null,c);return this.cljs$core$IFn$_invoke$arity$variadic(b,a,c)};
sablono.interpreter.attributes=function(a){a=cljs.core.clj__GT_js.call(null,sablono.util.html_to_dom_attrs.call(null,a));if(cljs.core.truth_(a)){var b=a.className;b=cljs.core.array_QMARK_.call(null,b)?clojure.string.join.call(null," ",b):b;clojure.string.blank_QMARK_.call(null,b)?delete a.className:a.className=b;return a}return null};
sablono.interpreter.interpret_seq=function(a){return cljs.core.into.call(null,cljs.core.PersistentVector.EMPTY,cljs.core.map.call(null,sablono.interpreter.interpret),a)};
sablono.interpreter.element=function(a){var b=sablono.normalize.element.call(null,a);a=cljs.core.nth.call(null,b,0,null);var c=cljs.core.nth.call(null,b,1,null);b=cljs.core.nth.call(null,b,2,null);return cljs.core.apply.call(null,sablono.interpreter.create_element,a,sablono.interpreter.attributes.call(null,c),sablono.interpreter.interpret_seq.call(null,b))};
sablono.interpreter.interpret_vec=function(a){return sablono.util.element_QMARK_.call(null,a)?sablono.interpreter.element.call(null,a):sablono.interpreter.interpret_seq.call(null,a)};goog.object.set(sablono.interpreter.IInterpreter,"null",!0);goog.object.set(sablono.interpreter.interpret,"null",function(a){return null});cljs.core.PersistentVector.prototype.sablono$interpreter$IInterpreter$=cljs.core.PROTOCOL_SENTINEL;
cljs.core.PersistentVector.prototype.sablono$interpreter$IInterpreter$interpret$arity$1=function(a){return sablono.interpreter.interpret_vec.call(null,this)};cljs.core.IndexedSeq.prototype.sablono$interpreter$IInterpreter$=cljs.core.PROTOCOL_SENTINEL;cljs.core.IndexedSeq.prototype.sablono$interpreter$IInterpreter$interpret$arity$1=function(a){return sablono.interpreter.interpret_seq.call(null,this)};goog.object.set(sablono.interpreter.IInterpreter,"_",!0);
goog.object.set(sablono.interpreter.interpret,"_",function(a){return a});cljs.core.Cons.prototype.sablono$interpreter$IInterpreter$=cljs.core.PROTOCOL_SENTINEL;cljs.core.Cons.prototype.sablono$interpreter$IInterpreter$interpret$arity$1=function(a){return sablono.interpreter.interpret_seq.call(null,this)};cljs.core.Subvec.prototype.sablono$interpreter$IInterpreter$=cljs.core.PROTOCOL_SENTINEL;
cljs.core.Subvec.prototype.sablono$interpreter$IInterpreter$interpret$arity$1=function(a){return sablono.interpreter.interpret_vec.call(null,this)};cljs.core.List.prototype.sablono$interpreter$IInterpreter$=cljs.core.PROTOCOL_SENTINEL;cljs.core.List.prototype.sablono$interpreter$IInterpreter$interpret$arity$1=function(a){return sablono.interpreter.interpret_seq.call(null,this)};cljs.core.ChunkedSeq.prototype.sablono$interpreter$IInterpreter$=cljs.core.PROTOCOL_SENTINEL;
cljs.core.ChunkedSeq.prototype.sablono$interpreter$IInterpreter$interpret$arity$1=function(a){return sablono.interpreter.interpret_seq.call(null,this)};cljs.core.ChunkedCons.prototype.sablono$interpreter$IInterpreter$=cljs.core.PROTOCOL_SENTINEL;cljs.core.ChunkedCons.prototype.sablono$interpreter$IInterpreter$interpret$arity$1=function(a){return sablono.interpreter.interpret_seq.call(null,this)};cljs.core.LazySeq.prototype.sablono$interpreter$IInterpreter$=cljs.core.PROTOCOL_SENTINEL;
cljs.core.LazySeq.prototype.sablono$interpreter$IInterpreter$interpret$arity$1=function(a){return sablono.interpreter.interpret_seq.call(null,this)};sablono.core={};
sablono.core.wrap_attrs=function(a){return function(){var b=function(b){if(cljs.core.map_QMARK_.call(null,cljs.core.first.call(null,b))){var c=cljs.core.apply.call(null,a,cljs.core.rest.call(null,b)),d=cljs.core.seq.call(null,c);c=cljs.core.first.call(null,d);d=cljs.core.next.call(null,d);return cljs.core.map_QMARK_.call(null,cljs.core.first.call(null,d))?cljs.core.into.call(null,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[c,cljs.core.merge.call(null,cljs.core.first.call(null,
d),cljs.core.first.call(null,b))],null),cljs.core.rest.call(null,d)):cljs.core.into.call(null,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[c,cljs.core.first.call(null,b)],null),d)}return cljs.core.apply.call(null,a,b)},c=function(a){var c=null;if(0<arguments.length){c=0;for(var d=Array(arguments.length-0);c<d.length;)d[c]=arguments[c+0],++c;c=new cljs.core.IndexedSeq(d,0,null)}return b.call(this,c)};c.cljs$lang$maxFixedArity=0;c.cljs$lang$applyTo=function(a){a=cljs.core.seq(a);
return b(a)};c.cljs$core$IFn$_invoke$arity$variadic=b;return c}()};
sablono.core.update_arglists=function(a){return function d(a){return new cljs.core.LazySeq(null,function(){for(;;){var c=cljs.core.seq.call(null,a);if(c){if(cljs.core.chunked_seq_QMARK_.call(null,c)){var f=cljs.core.chunk_first.call(null,c),g=cljs.core.count.call(null,f),h=cljs.core.chunk_buffer.call(null,g);a:for(var k=0;;)if(k<g){var l=cljs.core._nth.call(null,f,k);cljs.core.chunk_append.call(null,h,cljs.core.vec.call(null,cljs.core.cons.call(null,new cljs.core.Symbol(null,"attr-map?","attr-map?",
116307443,null),l)));k+=1}else{f=!0;break a}return f?cljs.core.chunk_cons.call(null,cljs.core.chunk.call(null,h),d.call(null,cljs.core.chunk_rest.call(null,c))):cljs.core.chunk_cons.call(null,cljs.core.chunk.call(null,h),null)}h=cljs.core.first.call(null,c);return cljs.core.cons.call(null,cljs.core.vec.call(null,cljs.core.cons.call(null,new cljs.core.Symbol(null,"attr-map?","attr-map?",116307443,null),h)),d.call(null,cljs.core.rest.call(null,c)))}return null}},null,null)}.call(null,a)};
sablono.core.include_css=function(a){for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;b=0<b.length?new cljs.core.IndexedSeq(b.slice(0),0,null):null;return sablono.core.include_css.cljs$core$IFn$_invoke$arity$variadic(b)};
sablono.core.include_css.cljs$core$IFn$_invoke$arity$variadic=function(a){return function d(a){return new cljs.core.LazySeq(null,function(){for(;;){var c=cljs.core.seq.call(null,a);if(c){if(cljs.core.chunked_seq_QMARK_.call(null,c)){var f=cljs.core.chunk_first.call(null,c),g=cljs.core.count.call(null,f),h=cljs.core.chunk_buffer.call(null,g);a:for(var k=0;;)if(k<g){var l=cljs.core._nth.call(null,f,k);cljs.core.chunk_append.call(null,h,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,
[new cljs.core.Keyword(null,"link","link",-1769163468),new cljs.core.PersistentArrayMap(null,3,[new cljs.core.Keyword(null,"type","type",1174270348),"text/css",new cljs.core.Keyword(null,"href","href",-793805698),sablono.util.as_str.call(null,l),new cljs.core.Keyword(null,"rel","rel",1378823488),"stylesheet"],null)],null));k+=1}else{f=!0;break a}return f?cljs.core.chunk_cons.call(null,cljs.core.chunk.call(null,h),d.call(null,cljs.core.chunk_rest.call(null,c))):cljs.core.chunk_cons.call(null,cljs.core.chunk.call(null,
h),null)}h=cljs.core.first.call(null,c);return cljs.core.cons.call(null,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"link","link",-1769163468),new cljs.core.PersistentArrayMap(null,3,[new cljs.core.Keyword(null,"type","type",1174270348),"text/css",new cljs.core.Keyword(null,"href","href",-793805698),sablono.util.as_str.call(null,h),new cljs.core.Keyword(null,"rel","rel",1378823488),"stylesheet"],null)],null),d.call(null,cljs.core.rest.call(null,
c)))}return null}},null,null)}.call(null,a)};sablono.core.include_css.cljs$lang$maxFixedArity=0;sablono.core.include_css.cljs$lang$applyTo=function(a){return this.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq.call(null,a))};sablono.core.include_js=function(a){return goog.dom.appendChild(goog.dom.getDocument().body,goog.dom.createDom("script",{src:a}))};sablono.core.include_react=function(){return sablono.core.include_js.call(null,"http://fb.me/react-0.12.2.js")};
sablono.core.link_to34001=function(a){for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;b=1<b.length?new cljs.core.IndexedSeq(b.slice(1),0,null):null;return sablono.core.link_to34001.cljs$core$IFn$_invoke$arity$variadic(arguments[0],b)};
sablono.core.link_to34001.cljs$core$IFn$_invoke$arity$variadic=function(a,b){return new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"a","a",-2123407586),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"href","href",-793805698),sablono.util.as_str.call(null,a)],null),b],null)};sablono.core.link_to34001.cljs$lang$maxFixedArity=1;
sablono.core.link_to34001.cljs$lang$applyTo=function(a){var b=cljs.core.first.call(null,a);a=cljs.core.next.call(null,a);return this.cljs$core$IFn$_invoke$arity$variadic(b,a)};sablono.core.link_to=sablono.core.wrap_attrs.call(null,sablono.core.link_to34001);
sablono.core.mail_to34007=function(a){for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;b=1<b.length?new cljs.core.IndexedSeq(b.slice(1),0,null):null;return sablono.core.mail_to34007.cljs$core$IFn$_invoke$arity$variadic(arguments[0],b)};
sablono.core.mail_to34007.cljs$core$IFn$_invoke$arity$variadic=function(a,b){var c=cljs.core.nth.call(null,b,0,null);b=cljs.core.PersistentVector;var d=cljs.core.PersistentVector.EMPTY_NODE,e=new cljs.core.Keyword(null,"a","a",-2123407586),f=new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"href","href",-793805698),["mailto:",cljs.core.str.cljs$core$IFn$_invoke$arity$1(a)].join("")],null);a=cljs.core.truth_(c)?c:a;return new b(null,3,5,d,[e,f,a],null)};
sablono.core.mail_to34007.cljs$lang$maxFixedArity=1;sablono.core.mail_to34007.cljs$lang$applyTo=function(a){var b=cljs.core.first.call(null,a);a=cljs.core.next.call(null,a);return this.cljs$core$IFn$_invoke$arity$variadic(b,a)};sablono.core.mail_to=sablono.core.wrap_attrs.call(null,sablono.core.mail_to34007);
sablono.core.unordered_list34017=function(a){return new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"ul","ul",-1349521403),function(){return function d(a){return new cljs.core.LazySeq(null,function(){for(;;){var c=cljs.core.seq.call(null,a);if(c){if(cljs.core.chunked_seq_QMARK_.call(null,c)){var f=cljs.core.chunk_first.call(null,c),g=cljs.core.count.call(null,f),h=cljs.core.chunk_buffer.call(null,g);a:for(var k=0;;)if(k<g){var l=cljs.core._nth.call(null,
f,k);cljs.core.chunk_append.call(null,h,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"li","li",723558921),l],null));k+=1}else{f=!0;break a}return f?cljs.core.chunk_cons.call(null,cljs.core.chunk.call(null,h),d.call(null,cljs.core.chunk_rest.call(null,c))):cljs.core.chunk_cons.call(null,cljs.core.chunk.call(null,h),null)}h=cljs.core.first.call(null,c);return cljs.core.cons.call(null,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,
[new cljs.core.Keyword(null,"li","li",723558921),h],null),d.call(null,cljs.core.rest.call(null,c)))}return null}},null,null)}.call(null,a)}()],null)};sablono.core.unordered_list=sablono.core.wrap_attrs.call(null,sablono.core.unordered_list34017);
sablono.core.ordered_list34023=function(a){return new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"ol","ol",932524051),function(){return function d(a){return new cljs.core.LazySeq(null,function(){for(;;){var c=cljs.core.seq.call(null,a);if(c){if(cljs.core.chunked_seq_QMARK_.call(null,c)){var f=cljs.core.chunk_first.call(null,c),g=cljs.core.count.call(null,f),h=cljs.core.chunk_buffer.call(null,g);a:for(var k=0;;)if(k<g){var l=cljs.core._nth.call(null,
f,k);cljs.core.chunk_append.call(null,h,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"li","li",723558921),l],null));k+=1}else{f=!0;break a}return f?cljs.core.chunk_cons.call(null,cljs.core.chunk.call(null,h),d.call(null,cljs.core.chunk_rest.call(null,c))):cljs.core.chunk_cons.call(null,cljs.core.chunk.call(null,h),null)}h=cljs.core.first.call(null,c);return cljs.core.cons.call(null,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,
[new cljs.core.Keyword(null,"li","li",723558921),h],null),d.call(null,cljs.core.rest.call(null,c)))}return null}},null,null)}.call(null,a)}()],null)};sablono.core.ordered_list=sablono.core.wrap_attrs.call(null,sablono.core.ordered_list34023);
sablono.core.image34029=function(a){switch(arguments.length){case 1:return sablono.core.image34029.cljs$core$IFn$_invoke$arity$1(arguments[0]);case 2:return sablono.core.image34029.cljs$core$IFn$_invoke$arity$2(arguments[0],arguments[1]);default:throw Error(["Invalid arity: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(""));}};
sablono.core.image34029.cljs$core$IFn$_invoke$arity$1=function(a){return new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"img","img",1442687358),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"src","src",-1651076051),sablono.util.as_str.call(null,a)],null)],null)};
sablono.core.image34029.cljs$core$IFn$_invoke$arity$2=function(a,b){return new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"img","img",1442687358),new cljs.core.PersistentArrayMap(null,2,[new cljs.core.Keyword(null,"src","src",-1651076051),sablono.util.as_str.call(null,a),new cljs.core.Keyword(null,"alt","alt",-3214426),b],null)],null)};sablono.core.image34029.cljs$lang$maxFixedArity=2;sablono.core.image=sablono.core.wrap_attrs.call(null,sablono.core.image34029);
sablono.core._STAR_group_STAR_=cljs.core.PersistentVector.EMPTY;sablono.core.make_name=function(a){return cljs.core.reduce.call(null,function(a,c){return[cljs.core.str.cljs$core$IFn$_invoke$arity$1(a),"[",cljs.core.str.cljs$core$IFn$_invoke$arity$1(c),"]"].join("")},cljs.core.conj.call(null,sablono.core._STAR_group_STAR_,sablono.util.as_str.call(null,a)))};
sablono.core.make_id=function(a){return cljs.core.reduce.call(null,function(a,c){return[cljs.core.str.cljs$core$IFn$_invoke$arity$1(a),"-",cljs.core.str.cljs$core$IFn$_invoke$arity$1(c)].join("")},cljs.core.conj.call(null,sablono.core._STAR_group_STAR_,sablono.util.as_str.call(null,a)))};
sablono.core.input_field_STAR_=function(a){switch(arguments.length){case 2:return sablono.core.input_field_STAR_.cljs$core$IFn$_invoke$arity$2(arguments[0],arguments[1]);case 3:return sablono.core.input_field_STAR_.cljs$core$IFn$_invoke$arity$3(arguments[0],arguments[1],arguments[2]);default:throw Error(["Invalid arity: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(""));}};
sablono.core.input_field_STAR_.cljs$core$IFn$_invoke$arity$2=function(a,b){return new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"input","input",556931961),new cljs.core.PersistentArrayMap(null,3,[new cljs.core.Keyword(null,"type","type",1174270348),a,new cljs.core.Keyword(null,"name","name",1843675177),sablono.core.make_name.call(null,b),new cljs.core.Keyword(null,"id","id",-1388402092),sablono.core.make_id.call(null,b)],null)],null)};
sablono.core.input_field_STAR_.cljs$core$IFn$_invoke$arity$3=function(a,b,c){var d=cljs.core.PersistentVector,e=cljs.core.PersistentVector.EMPTY_NODE,f=new cljs.core.Keyword(null,"input","input",556931961),g=cljs.core.PersistentArrayMap,h=new cljs.core.Keyword(null,"type","type",1174270348),k=new cljs.core.Keyword(null,"name","name",1843675177),l=sablono.core.make_name.call(null,b),m=new cljs.core.Keyword(null,"id","id",-1388402092);b=sablono.core.make_id.call(null,b);var n=new cljs.core.Keyword(null,
"value","value",305978217);c=cljs.core.truth_(c)?c:void 0;return new d(null,2,5,e,[f,new g(null,4,[h,a,k,l,m,b,n,c],null)],null)};sablono.core.input_field_STAR_.cljs$lang$maxFixedArity=3;
sablono.core.color_field34040=function(a){switch(arguments.length){case 1:return sablono.core.color_field34040.cljs$core$IFn$_invoke$arity$1(arguments[0]);case 2:return sablono.core.color_field34040.cljs$core$IFn$_invoke$arity$2(arguments[0],arguments[1]);default:throw Error(["Invalid arity: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(""));}};
sablono.core.color_field34040.cljs$core$IFn$_invoke$arity$1=function(a){return sablono.core.input_field_STAR_.call(null,cljs.core.str.cljs$core$IFn$_invoke$arity$1(new cljs.core.Symbol(null,"color","color",-1642760596,null)),a)};sablono.core.color_field34040.cljs$core$IFn$_invoke$arity$2=function(a,b){return sablono.core.input_field_STAR_.call(null,cljs.core.str.cljs$core$IFn$_invoke$arity$1(new cljs.core.Symbol(null,"color","color",-1642760596,null)),a,b)};
sablono.core.color_field34040.cljs$lang$maxFixedArity=2;sablono.core.color_field=sablono.core.wrap_attrs.call(null,sablono.core.color_field34040);
sablono.core.date_field34043=function(a){switch(arguments.length){case 1:return sablono.core.date_field34043.cljs$core$IFn$_invoke$arity$1(arguments[0]);case 2:return sablono.core.date_field34043.cljs$core$IFn$_invoke$arity$2(arguments[0],arguments[1]);default:throw Error(["Invalid arity: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(""));}};
sablono.core.date_field34043.cljs$core$IFn$_invoke$arity$1=function(a){return sablono.core.input_field_STAR_.call(null,cljs.core.str.cljs$core$IFn$_invoke$arity$1(new cljs.core.Symbol(null,"date","date",177097065,null)),a)};sablono.core.date_field34043.cljs$core$IFn$_invoke$arity$2=function(a,b){return sablono.core.input_field_STAR_.call(null,cljs.core.str.cljs$core$IFn$_invoke$arity$1(new cljs.core.Symbol(null,"date","date",177097065,null)),a,b)};
sablono.core.date_field34043.cljs$lang$maxFixedArity=2;sablono.core.date_field=sablono.core.wrap_attrs.call(null,sablono.core.date_field34043);
sablono.core.datetime_field34046=function(a){switch(arguments.length){case 1:return sablono.core.datetime_field34046.cljs$core$IFn$_invoke$arity$1(arguments[0]);case 2:return sablono.core.datetime_field34046.cljs$core$IFn$_invoke$arity$2(arguments[0],arguments[1]);default:throw Error(["Invalid arity: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(""));}};
sablono.core.datetime_field34046.cljs$core$IFn$_invoke$arity$1=function(a){return sablono.core.input_field_STAR_.call(null,cljs.core.str.cljs$core$IFn$_invoke$arity$1(new cljs.core.Symbol(null,"datetime","datetime",2135207229,null)),a)};sablono.core.datetime_field34046.cljs$core$IFn$_invoke$arity$2=function(a,b){return sablono.core.input_field_STAR_.call(null,cljs.core.str.cljs$core$IFn$_invoke$arity$1(new cljs.core.Symbol(null,"datetime","datetime",2135207229,null)),a,b)};
sablono.core.datetime_field34046.cljs$lang$maxFixedArity=2;sablono.core.datetime_field=sablono.core.wrap_attrs.call(null,sablono.core.datetime_field34046);
sablono.core.datetime_local_field34049=function(a){switch(arguments.length){case 1:return sablono.core.datetime_local_field34049.cljs$core$IFn$_invoke$arity$1(arguments[0]);case 2:return sablono.core.datetime_local_field34049.cljs$core$IFn$_invoke$arity$2(arguments[0],arguments[1]);default:throw Error(["Invalid arity: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(""));}};
sablono.core.datetime_local_field34049.cljs$core$IFn$_invoke$arity$1=function(a){return sablono.core.input_field_STAR_.call(null,cljs.core.str.cljs$core$IFn$_invoke$arity$1(new cljs.core.Symbol(null,"datetime-local","datetime-local",-507312697,null)),a)};
sablono.core.datetime_local_field34049.cljs$core$IFn$_invoke$arity$2=function(a,b){return sablono.core.input_field_STAR_.call(null,cljs.core.str.cljs$core$IFn$_invoke$arity$1(new cljs.core.Symbol(null,"datetime-local","datetime-local",-507312697,null)),a,b)};sablono.core.datetime_local_field34049.cljs$lang$maxFixedArity=2;sablono.core.datetime_local_field=sablono.core.wrap_attrs.call(null,sablono.core.datetime_local_field34049);
sablono.core.email_field34052=function(a){switch(arguments.length){case 1:return sablono.core.email_field34052.cljs$core$IFn$_invoke$arity$1(arguments[0]);case 2:return sablono.core.email_field34052.cljs$core$IFn$_invoke$arity$2(arguments[0],arguments[1]);default:throw Error(["Invalid arity: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(""));}};
sablono.core.email_field34052.cljs$core$IFn$_invoke$arity$1=function(a){return sablono.core.input_field_STAR_.call(null,cljs.core.str.cljs$core$IFn$_invoke$arity$1(new cljs.core.Symbol(null,"email","email",-1238619063,null)),a)};sablono.core.email_field34052.cljs$core$IFn$_invoke$arity$2=function(a,b){return sablono.core.input_field_STAR_.call(null,cljs.core.str.cljs$core$IFn$_invoke$arity$1(new cljs.core.Symbol(null,"email","email",-1238619063,null)),a,b)};
sablono.core.email_field34052.cljs$lang$maxFixedArity=2;sablono.core.email_field=sablono.core.wrap_attrs.call(null,sablono.core.email_field34052);
sablono.core.file_field34055=function(a){switch(arguments.length){case 1:return sablono.core.file_field34055.cljs$core$IFn$_invoke$arity$1(arguments[0]);case 2:return sablono.core.file_field34055.cljs$core$IFn$_invoke$arity$2(arguments[0],arguments[1]);default:throw Error(["Invalid arity: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(""));}};
sablono.core.file_field34055.cljs$core$IFn$_invoke$arity$1=function(a){return sablono.core.input_field_STAR_.call(null,cljs.core.str.cljs$core$IFn$_invoke$arity$1(new cljs.core.Symbol(null,"file","file",370885649,null)),a)};sablono.core.file_field34055.cljs$core$IFn$_invoke$arity$2=function(a,b){return sablono.core.input_field_STAR_.call(null,cljs.core.str.cljs$core$IFn$_invoke$arity$1(new cljs.core.Symbol(null,"file","file",370885649,null)),a,b)};
sablono.core.file_field34055.cljs$lang$maxFixedArity=2;sablono.core.file_field=sablono.core.wrap_attrs.call(null,sablono.core.file_field34055);
sablono.core.hidden_field34058=function(a){switch(arguments.length){case 1:return sablono.core.hidden_field34058.cljs$core$IFn$_invoke$arity$1(arguments[0]);case 2:return sablono.core.hidden_field34058.cljs$core$IFn$_invoke$arity$2(arguments[0],arguments[1]);default:throw Error(["Invalid arity: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(""));}};
sablono.core.hidden_field34058.cljs$core$IFn$_invoke$arity$1=function(a){return sablono.core.input_field_STAR_.call(null,cljs.core.str.cljs$core$IFn$_invoke$arity$1(new cljs.core.Symbol(null,"hidden","hidden",1328025435,null)),a)};sablono.core.hidden_field34058.cljs$core$IFn$_invoke$arity$2=function(a,b){return sablono.core.input_field_STAR_.call(null,cljs.core.str.cljs$core$IFn$_invoke$arity$1(new cljs.core.Symbol(null,"hidden","hidden",1328025435,null)),a,b)};
sablono.core.hidden_field34058.cljs$lang$maxFixedArity=2;sablono.core.hidden_field=sablono.core.wrap_attrs.call(null,sablono.core.hidden_field34058);
sablono.core.month_field34061=function(a){switch(arguments.length){case 1:return sablono.core.month_field34061.cljs$core$IFn$_invoke$arity$1(arguments[0]);case 2:return sablono.core.month_field34061.cljs$core$IFn$_invoke$arity$2(arguments[0],arguments[1]);default:throw Error(["Invalid arity: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(""));}};
sablono.core.month_field34061.cljs$core$IFn$_invoke$arity$1=function(a){return sablono.core.input_field_STAR_.call(null,cljs.core.str.cljs$core$IFn$_invoke$arity$1(new cljs.core.Symbol(null,"month","month",-319717006,null)),a)};sablono.core.month_field34061.cljs$core$IFn$_invoke$arity$2=function(a,b){return sablono.core.input_field_STAR_.call(null,cljs.core.str.cljs$core$IFn$_invoke$arity$1(new cljs.core.Symbol(null,"month","month",-319717006,null)),a,b)};
sablono.core.month_field34061.cljs$lang$maxFixedArity=2;sablono.core.month_field=sablono.core.wrap_attrs.call(null,sablono.core.month_field34061);
sablono.core.number_field34064=function(a){switch(arguments.length){case 1:return sablono.core.number_field34064.cljs$core$IFn$_invoke$arity$1(arguments[0]);case 2:return sablono.core.number_field34064.cljs$core$IFn$_invoke$arity$2(arguments[0],arguments[1]);default:throw Error(["Invalid arity: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(""));}};
sablono.core.number_field34064.cljs$core$IFn$_invoke$arity$1=function(a){return sablono.core.input_field_STAR_.call(null,cljs.core.str.cljs$core$IFn$_invoke$arity$1(new cljs.core.Symbol(null,"number","number",-1084057331,null)),a)};sablono.core.number_field34064.cljs$core$IFn$_invoke$arity$2=function(a,b){return sablono.core.input_field_STAR_.call(null,cljs.core.str.cljs$core$IFn$_invoke$arity$1(new cljs.core.Symbol(null,"number","number",-1084057331,null)),a,b)};
sablono.core.number_field34064.cljs$lang$maxFixedArity=2;sablono.core.number_field=sablono.core.wrap_attrs.call(null,sablono.core.number_field34064);
sablono.core.password_field34067=function(a){switch(arguments.length){case 1:return sablono.core.password_field34067.cljs$core$IFn$_invoke$arity$1(arguments[0]);case 2:return sablono.core.password_field34067.cljs$core$IFn$_invoke$arity$2(arguments[0],arguments[1]);default:throw Error(["Invalid arity: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(""));}};
sablono.core.password_field34067.cljs$core$IFn$_invoke$arity$1=function(a){return sablono.core.input_field_STAR_.call(null,cljs.core.str.cljs$core$IFn$_invoke$arity$1(new cljs.core.Symbol(null,"password","password",2057553998,null)),a)};sablono.core.password_field34067.cljs$core$IFn$_invoke$arity$2=function(a,b){return sablono.core.input_field_STAR_.call(null,cljs.core.str.cljs$core$IFn$_invoke$arity$1(new cljs.core.Symbol(null,"password","password",2057553998,null)),a,b)};
sablono.core.password_field34067.cljs$lang$maxFixedArity=2;sablono.core.password_field=sablono.core.wrap_attrs.call(null,sablono.core.password_field34067);
sablono.core.range_field34070=function(a){switch(arguments.length){case 1:return sablono.core.range_field34070.cljs$core$IFn$_invoke$arity$1(arguments[0]);case 2:return sablono.core.range_field34070.cljs$core$IFn$_invoke$arity$2(arguments[0],arguments[1]);default:throw Error(["Invalid arity: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(""));}};
sablono.core.range_field34070.cljs$core$IFn$_invoke$arity$1=function(a){return sablono.core.input_field_STAR_.call(null,cljs.core.str.cljs$core$IFn$_invoke$arity$1(new cljs.core.Symbol(null,"range","range",-1014743483,null)),a)};sablono.core.range_field34070.cljs$core$IFn$_invoke$arity$2=function(a,b){return sablono.core.input_field_STAR_.call(null,cljs.core.str.cljs$core$IFn$_invoke$arity$1(new cljs.core.Symbol(null,"range","range",-1014743483,null)),a,b)};
sablono.core.range_field34070.cljs$lang$maxFixedArity=2;sablono.core.range_field=sablono.core.wrap_attrs.call(null,sablono.core.range_field34070);
sablono.core.search_field34073=function(a){switch(arguments.length){case 1:return sablono.core.search_field34073.cljs$core$IFn$_invoke$arity$1(arguments[0]);case 2:return sablono.core.search_field34073.cljs$core$IFn$_invoke$arity$2(arguments[0],arguments[1]);default:throw Error(["Invalid arity: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(""));}};
sablono.core.search_field34073.cljs$core$IFn$_invoke$arity$1=function(a){return sablono.core.input_field_STAR_.call(null,cljs.core.str.cljs$core$IFn$_invoke$arity$1(new cljs.core.Symbol(null,"search","search",-1089495947,null)),a)};sablono.core.search_field34073.cljs$core$IFn$_invoke$arity$2=function(a,b){return sablono.core.input_field_STAR_.call(null,cljs.core.str.cljs$core$IFn$_invoke$arity$1(new cljs.core.Symbol(null,"search","search",-1089495947,null)),a,b)};
sablono.core.search_field34073.cljs$lang$maxFixedArity=2;sablono.core.search_field=sablono.core.wrap_attrs.call(null,sablono.core.search_field34073);
sablono.core.tel_field34076=function(a){switch(arguments.length){case 1:return sablono.core.tel_field34076.cljs$core$IFn$_invoke$arity$1(arguments[0]);case 2:return sablono.core.tel_field34076.cljs$core$IFn$_invoke$arity$2(arguments[0],arguments[1]);default:throw Error(["Invalid arity: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(""));}};
sablono.core.tel_field34076.cljs$core$IFn$_invoke$arity$1=function(a){return sablono.core.input_field_STAR_.call(null,cljs.core.str.cljs$core$IFn$_invoke$arity$1(new cljs.core.Symbol(null,"tel","tel",1864669686,null)),a)};sablono.core.tel_field34076.cljs$core$IFn$_invoke$arity$2=function(a,b){return sablono.core.input_field_STAR_.call(null,cljs.core.str.cljs$core$IFn$_invoke$arity$1(new cljs.core.Symbol(null,"tel","tel",1864669686,null)),a,b)};sablono.core.tel_field34076.cljs$lang$maxFixedArity=2;
sablono.core.tel_field=sablono.core.wrap_attrs.call(null,sablono.core.tel_field34076);sablono.core.text_field34079=function(a){switch(arguments.length){case 1:return sablono.core.text_field34079.cljs$core$IFn$_invoke$arity$1(arguments[0]);case 2:return sablono.core.text_field34079.cljs$core$IFn$_invoke$arity$2(arguments[0],arguments[1]);default:throw Error(["Invalid arity: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(""));}};
sablono.core.text_field34079.cljs$core$IFn$_invoke$arity$1=function(a){return sablono.core.input_field_STAR_.call(null,cljs.core.str.cljs$core$IFn$_invoke$arity$1(new cljs.core.Symbol(null,"text","text",-150030170,null)),a)};sablono.core.text_field34079.cljs$core$IFn$_invoke$arity$2=function(a,b){return sablono.core.input_field_STAR_.call(null,cljs.core.str.cljs$core$IFn$_invoke$arity$1(new cljs.core.Symbol(null,"text","text",-150030170,null)),a,b)};
sablono.core.text_field34079.cljs$lang$maxFixedArity=2;sablono.core.text_field=sablono.core.wrap_attrs.call(null,sablono.core.text_field34079);
sablono.core.time_field34082=function(a){switch(arguments.length){case 1:return sablono.core.time_field34082.cljs$core$IFn$_invoke$arity$1(arguments[0]);case 2:return sablono.core.time_field34082.cljs$core$IFn$_invoke$arity$2(arguments[0],arguments[1]);default:throw Error(["Invalid arity: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(""));}};
sablono.core.time_field34082.cljs$core$IFn$_invoke$arity$1=function(a){return sablono.core.input_field_STAR_.call(null,cljs.core.str.cljs$core$IFn$_invoke$arity$1(new cljs.core.Symbol(null,"time","time",-1268547887,null)),a)};sablono.core.time_field34082.cljs$core$IFn$_invoke$arity$2=function(a,b){return sablono.core.input_field_STAR_.call(null,cljs.core.str.cljs$core$IFn$_invoke$arity$1(new cljs.core.Symbol(null,"time","time",-1268547887,null)),a,b)};
sablono.core.time_field34082.cljs$lang$maxFixedArity=2;sablono.core.time_field=sablono.core.wrap_attrs.call(null,sablono.core.time_field34082);
sablono.core.url_field34085=function(a){switch(arguments.length){case 1:return sablono.core.url_field34085.cljs$core$IFn$_invoke$arity$1(arguments[0]);case 2:return sablono.core.url_field34085.cljs$core$IFn$_invoke$arity$2(arguments[0],arguments[1]);default:throw Error(["Invalid arity: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(""));}};
sablono.core.url_field34085.cljs$core$IFn$_invoke$arity$1=function(a){return sablono.core.input_field_STAR_.call(null,cljs.core.str.cljs$core$IFn$_invoke$arity$1(new cljs.core.Symbol(null,"url","url",1916828573,null)),a)};sablono.core.url_field34085.cljs$core$IFn$_invoke$arity$2=function(a,b){return sablono.core.input_field_STAR_.call(null,cljs.core.str.cljs$core$IFn$_invoke$arity$1(new cljs.core.Symbol(null,"url","url",1916828573,null)),a,b)};sablono.core.url_field34085.cljs$lang$maxFixedArity=2;
sablono.core.url_field=sablono.core.wrap_attrs.call(null,sablono.core.url_field34085);sablono.core.week_field34088=function(a){switch(arguments.length){case 1:return sablono.core.week_field34088.cljs$core$IFn$_invoke$arity$1(arguments[0]);case 2:return sablono.core.week_field34088.cljs$core$IFn$_invoke$arity$2(arguments[0],arguments[1]);default:throw Error(["Invalid arity: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(""));}};
sablono.core.week_field34088.cljs$core$IFn$_invoke$arity$1=function(a){return sablono.core.input_field_STAR_.call(null,cljs.core.str.cljs$core$IFn$_invoke$arity$1(new cljs.core.Symbol(null,"week","week",314058249,null)),a)};sablono.core.week_field34088.cljs$core$IFn$_invoke$arity$2=function(a,b){return sablono.core.input_field_STAR_.call(null,cljs.core.str.cljs$core$IFn$_invoke$arity$1(new cljs.core.Symbol(null,"week","week",314058249,null)),a,b)};
sablono.core.week_field34088.cljs$lang$maxFixedArity=2;sablono.core.week_field=sablono.core.wrap_attrs.call(null,sablono.core.week_field34088);sablono.core.file_upload=sablono.core.file_field;
sablono.core.check_box34108=function(a){switch(arguments.length){case 1:return sablono.core.check_box34108.cljs$core$IFn$_invoke$arity$1(arguments[0]);case 2:return sablono.core.check_box34108.cljs$core$IFn$_invoke$arity$2(arguments[0],arguments[1]);case 3:return sablono.core.check_box34108.cljs$core$IFn$_invoke$arity$3(arguments[0],arguments[1],arguments[2]);default:throw Error(["Invalid arity: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(""));}};
sablono.core.check_box34108.cljs$core$IFn$_invoke$arity$1=function(a){return new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"input","input",556931961),new cljs.core.PersistentArrayMap(null,3,[new cljs.core.Keyword(null,"type","type",1174270348),"checkbox",new cljs.core.Keyword(null,"name","name",1843675177),sablono.core.make_name.call(null,a),new cljs.core.Keyword(null,"id","id",-1388402092),sablono.core.make_id.call(null,a)],null)],null)};
sablono.core.check_box34108.cljs$core$IFn$_invoke$arity$2=function(a,b){return new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"input","input",556931961),new cljs.core.PersistentArrayMap(null,4,[new cljs.core.Keyword(null,"type","type",1174270348),"checkbox",new cljs.core.Keyword(null,"name","name",1843675177),sablono.core.make_name.call(null,a),new cljs.core.Keyword(null,"id","id",-1388402092),sablono.core.make_id.call(null,a),new cljs.core.Keyword(null,
"checked","checked",-50955819),b],null)],null)};
sablono.core.check_box34108.cljs$core$IFn$_invoke$arity$3=function(a,b,c){return new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"input","input",556931961),new cljs.core.PersistentArrayMap(null,5,[new cljs.core.Keyword(null,"type","type",1174270348),"checkbox",new cljs.core.Keyword(null,"name","name",1843675177),sablono.core.make_name.call(null,a),new cljs.core.Keyword(null,"id","id",-1388402092),sablono.core.make_id.call(null,a),new cljs.core.Keyword(null,
"value","value",305978217),c,new cljs.core.Keyword(null,"checked","checked",-50955819),b],null)],null)};sablono.core.check_box34108.cljs$lang$maxFixedArity=3;sablono.core.check_box=sablono.core.wrap_attrs.call(null,sablono.core.check_box34108);
sablono.core.radio_button34112=function(a){switch(arguments.length){case 1:return sablono.core.radio_button34112.cljs$core$IFn$_invoke$arity$1(arguments[0]);case 2:return sablono.core.radio_button34112.cljs$core$IFn$_invoke$arity$2(arguments[0],arguments[1]);case 3:return sablono.core.radio_button34112.cljs$core$IFn$_invoke$arity$3(arguments[0],arguments[1],arguments[2]);default:throw Error(["Invalid arity: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(""));}};
sablono.core.radio_button34112.cljs$core$IFn$_invoke$arity$1=function(a){return new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"input","input",556931961),new cljs.core.PersistentArrayMap(null,3,[new cljs.core.Keyword(null,"type","type",1174270348),"radio",new cljs.core.Keyword(null,"name","name",1843675177),sablono.core.make_name.call(null,a),new cljs.core.Keyword(null,"id","id",-1388402092),sablono.core.make_id.call(null,sablono.util.as_str.call(null,
a))],null)],null)};
sablono.core.radio_button34112.cljs$core$IFn$_invoke$arity$2=function(a,b){return new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"input","input",556931961),new cljs.core.PersistentArrayMap(null,4,[new cljs.core.Keyword(null,"type","type",1174270348),"radio",new cljs.core.Keyword(null,"name","name",1843675177),sablono.core.make_name.call(null,a),new cljs.core.Keyword(null,"id","id",-1388402092),sablono.core.make_id.call(null,sablono.util.as_str.call(null,
a)),new cljs.core.Keyword(null,"checked","checked",-50955819),b],null)],null)};
sablono.core.radio_button34112.cljs$core$IFn$_invoke$arity$3=function(a,b,c){return new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"input","input",556931961),new cljs.core.PersistentArrayMap(null,5,[new cljs.core.Keyword(null,"type","type",1174270348),"radio",new cljs.core.Keyword(null,"name","name",1843675177),sablono.core.make_name.call(null,a),new cljs.core.Keyword(null,"id","id",-1388402092),sablono.core.make_id.call(null,[cljs.core.str.cljs$core$IFn$_invoke$arity$1(sablono.util.as_str.call(null,
a)),"-",cljs.core.str.cljs$core$IFn$_invoke$arity$1(sablono.util.as_str.call(null,c))].join("")),new cljs.core.Keyword(null,"value","value",305978217),c,new cljs.core.Keyword(null,"checked","checked",-50955819),b],null)],null)};sablono.core.radio_button34112.cljs$lang$maxFixedArity=3;sablono.core.radio_button=sablono.core.wrap_attrs.call(null,sablono.core.radio_button34112);sablono.core.hash_key=function(a){return goog.string.hashCode(cljs.core.pr_str.call(null,a))};
sablono.core.select_options34116=function(a){return function d(a){return new cljs.core.LazySeq(null,function(){for(;;){var c=cljs.core.seq.call(null,a);if(c){if(cljs.core.chunked_seq_QMARK_.call(null,c)){var f=cljs.core.chunk_first.call(null,c),g=cljs.core.count.call(null,f),h=cljs.core.chunk_buffer.call(null,g);return function(){for(var a=0;;)if(a<g){var c=cljs.core._nth.call(null,f,a);cljs.core.chunk_append.call(null,h,cljs.core.sequential_QMARK_.call(null,c)?function(){var a=c,d=cljs.core.nth.call(null,
a,0,null),e=cljs.core.nth.call(null,a,1,null);a=cljs.core.nth.call(null,a,2,null);a=cljs.core.boolean$.call(null,a);return cljs.core.sequential_QMARK_.call(null,e)?new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"optgroup","optgroup",1738282218),new cljs.core.PersistentArrayMap(null,2,[new cljs.core.Keyword(null,"key","key",-1516042587),sablono.core.hash_key.call(null,d),new cljs.core.Keyword(null,"label","label",1718410804),d],null),sablono.core.select_options34116.call(null,
e)],null):new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"option","option",65132272),new cljs.core.PersistentArrayMap(null,3,[new cljs.core.Keyword(null,"disabled","disabled",-1529784218),a,new cljs.core.Keyword(null,"key","key",-1516042587),sablono.core.hash_key.call(null,e),new cljs.core.Keyword(null,"value","value",305978217),e],null),d],null)}():new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,
"option","option",65132272),new cljs.core.PersistentArrayMap(null,2,[new cljs.core.Keyword(null,"key","key",-1516042587),sablono.core.hash_key.call(null,c),new cljs.core.Keyword(null,"value","value",305978217),c],null),c],null));a+=1}else return!0}()?cljs.core.chunk_cons.call(null,cljs.core.chunk.call(null,h),d.call(null,cljs.core.chunk_rest.call(null,c))):cljs.core.chunk_cons.call(null,cljs.core.chunk.call(null,h),null)}var k=cljs.core.first.call(null,c);return cljs.core.cons.call(null,cljs.core.sequential_QMARK_.call(null,
k)?function(){var a=k,c=cljs.core.nth.call(null,a,0,null),d=cljs.core.nth.call(null,a,1,null);a=cljs.core.nth.call(null,a,2,null);a=cljs.core.boolean$.call(null,a);return cljs.core.sequential_QMARK_.call(null,d)?new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"optgroup","optgroup",1738282218),new cljs.core.PersistentArrayMap(null,2,[new cljs.core.Keyword(null,"key","key",-1516042587),sablono.core.hash_key.call(null,c),new cljs.core.Keyword(null,
"label","label",1718410804),c],null),sablono.core.select_options34116.call(null,d)],null):new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"option","option",65132272),new cljs.core.PersistentArrayMap(null,3,[new cljs.core.Keyword(null,"disabled","disabled",-1529784218),a,new cljs.core.Keyword(null,"key","key",-1516042587),sablono.core.hash_key.call(null,d),new cljs.core.Keyword(null,"value","value",305978217),d],null),c],null)}():new cljs.core.PersistentVector(null,
3,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"option","option",65132272),new cljs.core.PersistentArrayMap(null,2,[new cljs.core.Keyword(null,"key","key",-1516042587),sablono.core.hash_key.call(null,k),new cljs.core.Keyword(null,"value","value",305978217),k],null),k],null),d.call(null,cljs.core.rest.call(null,c)))}return null}},null,null)}.call(null,a)};sablono.core.select_options=sablono.core.wrap_attrs.call(null,sablono.core.select_options34116);
sablono.core.drop_down34128=function(a){switch(arguments.length){case 2:return sablono.core.drop_down34128.cljs$core$IFn$_invoke$arity$2(arguments[0],arguments[1]);case 3:return sablono.core.drop_down34128.cljs$core$IFn$_invoke$arity$3(arguments[0],arguments[1],arguments[2]);default:throw Error(["Invalid arity: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(""));}};
sablono.core.drop_down34128.cljs$core$IFn$_invoke$arity$2=function(a,b){return sablono.core.drop_down34128.call(null,a,b,null)};
sablono.core.drop_down34128.cljs$core$IFn$_invoke$arity$3=function(a,b,c){return new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"select","select",1147833503),new cljs.core.PersistentArrayMap(null,2,[new cljs.core.Keyword(null,"name","name",1843675177),sablono.core.make_name.call(null,a),new cljs.core.Keyword(null,"id","id",-1388402092),sablono.core.make_id.call(null,a)],null),sablono.core.select_options.call(null,b,c)],null)};
sablono.core.drop_down34128.cljs$lang$maxFixedArity=3;sablono.core.drop_down=sablono.core.wrap_attrs.call(null,sablono.core.drop_down34128);
sablono.core.text_area34132=function(a){switch(arguments.length){case 1:return sablono.core.text_area34132.cljs$core$IFn$_invoke$arity$1(arguments[0]);case 2:return sablono.core.text_area34132.cljs$core$IFn$_invoke$arity$2(arguments[0],arguments[1]);default:throw Error(["Invalid arity: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(""));}};
sablono.core.text_area34132.cljs$core$IFn$_invoke$arity$1=function(a){return new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"textarea","textarea",-650375824),new cljs.core.PersistentArrayMap(null,2,[new cljs.core.Keyword(null,"name","name",1843675177),sablono.core.make_name.call(null,a),new cljs.core.Keyword(null,"id","id",-1388402092),sablono.core.make_id.call(null,a)],null)],null)};
sablono.core.text_area34132.cljs$core$IFn$_invoke$arity$2=function(a,b){var c=cljs.core.PersistentVector,d=cljs.core.PersistentVector.EMPTY_NODE,e=new cljs.core.Keyword(null,"textarea","textarea",-650375824),f=cljs.core.PersistentArrayMap,g=new cljs.core.Keyword(null,"name","name",1843675177),h=sablono.core.make_name.call(null,a),k=new cljs.core.Keyword(null,"id","id",-1388402092);a=sablono.core.make_id.call(null,a);var l=new cljs.core.Keyword(null,"value","value",305978217);b=cljs.core.truth_(b)?
b:void 0;return new c(null,2,5,d,[e,new f(null,3,[g,h,k,a,l,b],null)],null)};sablono.core.text_area34132.cljs$lang$maxFixedArity=2;sablono.core.text_area=sablono.core.wrap_attrs.call(null,sablono.core.text_area34132);
sablono.core.label34136=function(a,b){return new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"label","label",1718410804),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"htmlFor","htmlFor",-1050291720),sablono.core.make_id.call(null,a)],null),b],null)};sablono.core.label=sablono.core.wrap_attrs.call(null,sablono.core.label34136);
sablono.core.submit_button34137=function(a){return new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"input","input",556931961),new cljs.core.PersistentArrayMap(null,2,[new cljs.core.Keyword(null,"type","type",1174270348),"submit",new cljs.core.Keyword(null,"value","value",305978217),a],null)],null)};sablono.core.submit_button=sablono.core.wrap_attrs.call(null,sablono.core.submit_button34137);
sablono.core.reset_button34138=function(a){return new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"input","input",556931961),new cljs.core.PersistentArrayMap(null,2,[new cljs.core.Keyword(null,"type","type",1174270348),"reset",new cljs.core.Keyword(null,"value","value",305978217),a],null)],null)};sablono.core.reset_button=sablono.core.wrap_attrs.call(null,sablono.core.reset_button34138);
sablono.core.form_to34139=function(a){for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;b=1<b.length?new cljs.core.IndexedSeq(b.slice(1),0,null):null;return sablono.core.form_to34139.cljs$core$IFn$_invoke$arity$variadic(arguments[0],b)};
sablono.core.form_to34139.cljs$core$IFn$_invoke$arity$variadic=function(a,b){var c=cljs.core.nth.call(null,a,0,null),d=cljs.core.nth.call(null,a,1,null);a=clojure.string.upper_case.call(null,cljs.core.name.call(null,c));d=sablono.util.to_uri.call(null,d);return cljs.core.vec.call(null,cljs.core.concat.call(null,cljs.core.contains_QMARK_.call(null,new cljs.core.PersistentHashSet(null,new cljs.core.PersistentArrayMap(null,2,[new cljs.core.Keyword(null,"get","get",1683182755),null,new cljs.core.Keyword(null,
"post","post",269697687),null],null),null),c)?new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"form","form",-1624062471),new cljs.core.PersistentArrayMap(null,2,[new cljs.core.Keyword(null,"method","method",55703592),a,new cljs.core.Keyword(null,"action","action",-811238024),d],null)],null):new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"form","form",-1624062471),new cljs.core.PersistentArrayMap(null,
2,[new cljs.core.Keyword(null,"method","method",55703592),"POST",new cljs.core.Keyword(null,"action","action",-811238024),d],null),sablono.core.hidden_field.call(null,new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"key","key",-1516042587),3735928559],null),"_method",a)],null),b))};sablono.core.form_to34139.cljs$lang$maxFixedArity=1;
sablono.core.form_to34139.cljs$lang$applyTo=function(a){var b=cljs.core.first.call(null,a);a=cljs.core.next.call(null,a);return this.cljs$core$IFn$_invoke$arity$variadic(b,a)};sablono.core.form_to=sablono.core.wrap_attrs.call(null,sablono.core.form_to34139);rum.util={};rum.util.collect=function(a,b){return cljs.core.remove.call(null,cljs.core.nil_QMARK_,cljs.core.map.call(null,function(b){return cljs.core.get.call(null,b,a)},b))};rum.util.collect_STAR_=function(a,b){return cljs.core.remove.call(null,cljs.core.nil_QMARK_,cljs.core.mapcat.call(null,function(b){return cljs.core.map.call(null,function(a){return cljs.core.get.call(null,b,a)},a)},b))};
rum.util.call_all=function(a){for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;b=2<b.length?new cljs.core.IndexedSeq(b.slice(2),0,null):null;return rum.util.call_all.cljs$core$IFn$_invoke$arity$variadic(arguments[0],arguments[1],b)};rum.util.call_all.cljs$core$IFn$_invoke$arity$variadic=function(a,b,c){return cljs.core.reduce.call(null,function(a,b){return cljs.core.apply.call(null,b,a,c)},a,b)};rum.util.call_all.cljs$lang$maxFixedArity=2;
rum.util.call_all.cljs$lang$applyTo=function(a){var b=cljs.core.first.call(null,a),c=cljs.core.next.call(null,a);a=cljs.core.first.call(null,c);c=cljs.core.next.call(null,c);return this.cljs$core$IFn$_invoke$arity$variadic(b,a,c)};rum.core={};rum.core.state=function(a){return goog.object.get(a.state,":rum/state")};
rum.core.extend_BANG_=function(a,b){b=cljs.core.seq.call(null,b);for(var c=null,d=0,e=0;;)if(e<d){var f=cljs.core._nth.call(null,c,e),g=cljs.core.nth.call(null,f,0,null);f=cljs.core.nth.call(null,f,1,null);null!=f&&goog.object.set(a,cljs.core.name.call(null,g),cljs.core.clj__GT_js.call(null,f));e+=1}else if(b=cljs.core.seq.call(null,b))cljs.core.chunked_seq_QMARK_.call(null,b)?(c=cljs.core.chunk_first.call(null,b),b=cljs.core.chunk_rest.call(null,b),g=c,d=cljs.core.count.call(null,c),c=g):(c=cljs.core.first.call(null,
b),g=cljs.core.nth.call(null,c,0,null),f=cljs.core.nth.call(null,c,1,null),null!=f&&goog.object.set(a,cljs.core.name.call(null,g),cljs.core.clj__GT_js.call(null,f)),b=cljs.core.next.call(null,b),c=null,d=0),e=0;else return null};
rum.core.build_class=function(a,b,c){var d=rum.util.collect.call(null,new cljs.core.Keyword(null,"init","init",-1875481434),b),e=rum.util.collect_STAR_.call(null,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"will-mount","will-mount",-434633071),new cljs.core.Keyword(null,"before-render","before-render",71256781)],null),b),f=rum.util.collect.call(null,new cljs.core.Keyword(null,"wrap-render","wrap-render",1782000986),b),g=cljs.core.reduce.call(null,
function(a,b,c,d){return function(a,b){return b.call(null,a)}}(d,e,a,f),a,f),h=rum.util.collect_STAR_.call(null,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"did-mount","did-mount",918232960),new cljs.core.Keyword(null,"after-render","after-render",1997533433)],null),b),k=rum.util.collect.call(null,new cljs.core.Keyword(null,"did-remount","did-remount",1362550500),b),l=rum.util.collect.call(null,new cljs.core.Keyword(null,"should-update",
"should-update",-1292781795),b),m=rum.util.collect_STAR_.call(null,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"will-update","will-update",328062998),new cljs.core.Keyword(null,"before-render","before-render",71256781)],null),b),n=rum.util.collect_STAR_.call(null,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"did-update","did-update",-2143702256),new cljs.core.Keyword(null,"after-render",
"after-render",1997533433)],null),b),p=rum.util.collect.call(null,new cljs.core.Keyword(null,"did-catch","did-catch",2139522313),b),q=rum.util.collect.call(null,new cljs.core.Keyword(null,"will-unmount","will-unmount",-808051550),b),r=rum.util.collect.call(null,new cljs.core.Keyword(null,"child-context","child-context",-1375270295),b),u=cljs.core.reduce.call(null,cljs.core.merge,rum.util.collect.call(null,new cljs.core.Keyword(null,"class-properties","class-properties",1351279702),b));b=cljs.core.reduce.call(null,
cljs.core.merge,rum.util.collect.call(null,new cljs.core.Keyword(null,"static-properties","static-properties",-577838503),b));var t=function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r){return function(b){goog.object.set(this,"state",{":rum/state":cljs.core.volatile_BANG_.call(null,rum.util.call_all.call(null,cljs.core.assoc.call(null,goog.object.get(b,":rum/initial-state"),new cljs.core.Keyword("rum","react-component","rum/react-component",-1879897248),this),a,b))});return React.Component.call(this,b)}}(d,e,a,
f,g,h,k,l,m,n,p,q,r,u,b),v=goog.inherits(t,React.Component),w=goog.object.get(t,"prototype");cljs.core.empty_QMARK_.call(null,e)||goog.object.set(w,"componentWillMount",function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v){return function(){return cljs.core._vreset_BANG_.call(null,rum.core.state.call(null,this),rum.util.call_all.call(null,cljs.core._deref.call(null,rum.core.state.call(null,this)),b))}}(d,e,a,f,g,h,k,l,m,n,p,q,r,u,b,t,v,w));cljs.core.empty_QMARK_.call(null,h)||goog.object.set(w,"componentDidMount",
function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v){return function(){return cljs.core._vreset_BANG_.call(null,rum.core.state.call(null,this),rum.util.call_all.call(null,cljs.core._deref.call(null,rum.core.state.call(null,this)),f))}}(d,e,a,f,g,h,k,l,m,n,p,q,r,u,b,t,v,w));goog.object.set(w,"componentWillReceiveProps",function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v){return function(w){var x=cljs.core.deref.call(null,rum.core.state.call(null,this));w=cljs.core.merge.call(null,x,goog.object.get(w,":rum/initial-state"));
x=cljs.core.reduce.call(null,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,z){return function(b,c){return c.call(null,a,b)}}(x,w,this,a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v),w,g);return this.setState({":rum/state":cljs.core.volatile_BANG_.call(null,x)})}}(d,e,a,f,g,h,k,l,m,n,p,q,r,u,b,t,v,w));cljs.core.empty_QMARK_.call(null,l)||goog.object.set(w,"shouldComponentUpdate",function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v){return function(w,x){w=cljs.core.deref.call(null,rum.core.state.call(null,this));x=
cljs.core.deref.call(null,goog.object.get(x,":rum/state"));x=cljs.core.some.call(null,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,z){return function(c){return c.call(null,a,b)}}(w,x,this,a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v),h);return cljs.core.truth_(x)?x:!1}}(d,e,a,f,g,h,k,l,m,n,p,q,r,u,b,t,v,w));cljs.core.empty_QMARK_.call(null,m)||goog.object.set(w,"componentWillUpdate",function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v){return function(a,b){a=goog.object.get(b,":rum/state");return cljs.core._vreset_BANG_.call(null,
a,rum.util.call_all.call(null,cljs.core._deref.call(null,a),k))}}(d,e,a,f,g,h,k,l,m,n,p,q,r,u,b,t,v,w));goog.object.set(w,"render",function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v){return function(){var a=rum.core.state.call(null,this),b=e.call(null,cljs.core.deref.call(null,a)),c=cljs.core.nth.call(null,b,0,null);b=cljs.core.nth.call(null,b,1,null);cljs.core.vreset_BANG_.call(null,a,b);return c}}(d,e,a,f,g,h,k,l,m,n,p,q,r,u,b,t,v,w));cljs.core.empty_QMARK_.call(null,n)||goog.object.set(w,"componentDidUpdate",
function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v){return function(a,b){return cljs.core._vreset_BANG_.call(null,rum.core.state.call(null,this),rum.util.call_all.call(null,cljs.core._deref.call(null,rum.core.state.call(null,this)),l))}}(d,e,a,f,g,h,k,l,m,n,p,q,r,u,b,t,v,w));cljs.core.empty_QMARK_.call(null,p)||goog.object.set(w,"componentDidCatch",function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v){return function(a,b){cljs.core._vreset_BANG_.call(null,rum.core.state.call(null,this),rum.util.call_all.call(null,
cljs.core._deref.call(null,rum.core.state.call(null,this)),m,a,new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword("rum","component-stack","rum/component-stack",2037541138),goog.object.get(b,"componentStack")],null)));return this.forceUpdate()}}(d,e,a,f,g,h,k,l,m,n,p,q,r,u,b,t,v,w));goog.object.set(w,"componentWillUnmount",function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v){return function(){cljs.core.empty_QMARK_.call(null,n)||cljs.core._vreset_BANG_.call(null,rum.core.state.call(null,this),
rum.util.call_all.call(null,cljs.core._deref.call(null,rum.core.state.call(null,this)),n));return goog.object.set(this,":rum/unmounted?",!0)}}(d,e,a,f,g,h,k,l,m,n,p,q,r,u,b,t,v,w));cljs.core.empty_QMARK_.call(null,r)||goog.object.set(w,"getChildContext",function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v){return function(){var w=cljs.core.deref.call(null,rum.core.state.call(null,this));return cljs.core.clj__GT_js.call(null,cljs.core.transduce.call(null,cljs.core.map.call(null,function(a,b,c,d,e,f,g,h,k,
l,m,n,p,q,r,t,u,v,w,x){return function(b){return b.call(null,a)}}(w,this,a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v)),cljs.core.merge,cljs.core.PersistentArrayMap.EMPTY,p))}}(d,e,a,f,g,h,k,l,m,n,p,q,r,u,b,t,v,w));rum.core.extend_BANG_.call(null,w,u);goog.object.set(t,"displayName",c);rum.core.extend_BANG_.call(null,t,b);return t};
rum.core.build_ctor=function(a,b,c){a=rum.core.build_class.call(null,a,b,c);b=cljs.core.first.call(null,rum.util.collect.call(null,new cljs.core.Keyword(null,"key-fn","key-fn",-636154479),b));b=null!=b?function(a,b){return function(){var c=function(c){c={":rum/initial-state":new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword("rum","args","rum/args",1315791754),c],null),key:cljs.core.apply.call(null,b,c)};return React.createElement(a,c)},d=function(a){var b=null;if(0<arguments.length){b=
0;for(var d=Array(arguments.length-0);b<d.length;)d[b]=arguments[b+0],++b;b=new cljs.core.IndexedSeq(d,0,null)}return c.call(this,b)};d.cljs$lang$maxFixedArity=0;d.cljs$lang$applyTo=function(a){a=cljs.core.seq(a);return c(a)};d.cljs$core$IFn$_invoke$arity$variadic=c;return d}()}(a,b):function(a,b){return function(){var b=function(b){b={":rum/initial-state":new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword("rum","args","rum/args",1315791754),b],null)};return React.createElement(a,b)},
c=function(a){var c=null;if(0<arguments.length){c=0;for(var d=Array(arguments.length-0);c<d.length;)d[c]=arguments[c+0],++c;c=new cljs.core.IndexedSeq(d,0,null)}return b.call(this,c)};c.cljs$lang$maxFixedArity=0;c.cljs$lang$applyTo=function(a){a=cljs.core.seq(a);return b(a)};c.cljs$core$IFn$_invoke$arity$variadic=b;return c}()}(a,b);return cljs.core.with_meta.call(null,b,new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword("rum","class","rum/class",-2030775258),a],null))};
rum.core.build_defc=function(a,b,c){return cljs.core.empty_QMARK_.call(null,b)?(b=function(b){return cljs.core.apply.call(null,a,b[":rum/args"])},c=b.displayName=c,c=function(a,b){return function(){var b=function(b){return React.createElement(a,{":rum/args":b})},c=function(a){var c=null;if(0<arguments.length){c=0;for(var d=Array(arguments.length-0);c<d.length;)d[c]=arguments[c+0],++c;c=new cljs.core.IndexedSeq(d,0,null)}return b.call(this,c)};c.cljs$lang$maxFixedArity=0;c.cljs$lang$applyTo=function(a){a=
cljs.core.seq(a);return b(a)};c.cljs$core$IFn$_invoke$arity$variadic=b;return c}()}(b,c),cljs.core.with_meta.call(null,c,new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword("rum","class","rum/class",-2030775258),b],null))):rum.core.build_ctor.call(null,function(b){return new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[cljs.core.apply.call(null,a,(new cljs.core.Keyword("rum","args","rum/args",1315791754)).cljs$core$IFn$_invoke$arity$1(b)),b],null)},b,c)};
rum.core.build_defcs=function(a,b,c){return rum.core.build_ctor.call(null,function(b){return new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[cljs.core.apply.call(null,a,b,(new cljs.core.Keyword("rum","args","rum/args",1315791754)).cljs$core$IFn$_invoke$arity$1(b)),b],null)},b,c)};
rum.core.build_defcc=function(a,b,c){return rum.core.build_ctor.call(null,function(b){return new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[cljs.core.apply.call(null,a,(new cljs.core.Keyword("rum","react-component","rum/react-component",-1879897248)).cljs$core$IFn$_invoke$arity$1(b),(new cljs.core.Keyword("rum","args","rum/args",1315791754)).cljs$core$IFn$_invoke$arity$1(b)),b],null)},b,c)};
rum.core.schedule=function(){var a=function(){var a="undefined"!==typeof window;if(a){a=window.requestAnimationFrame;if(cljs.core.truth_(a))return a;a=window.webkitRequestAnimationFrame;if(cljs.core.truth_(a))return a;a=window.mozRequestAnimationFrame;return cljs.core.truth_(a)?a:window.msRequestAnimationFrame}return a}();return cljs.core.truth_(a)?a:function(a){return function(a){return setTimeout(a,16)}}(a)}();
rum.core.batch=function(){var a="undefined"!==typeof ReactNative?ReactNative.unstable_batchedUpdates:null;if(cljs.core.truth_(a))return a;var b="undefined"!==typeof ReactDOM?ReactDOM.unstable_batchedUpdates:null;return cljs.core.truth_(b)?b:function(a,b){return function(a,b){return a.call(null,b)}}(b,a)}();rum.core.empty_queue=cljs.core.PersistentVector.EMPTY;rum.core.render_queue=cljs.core.volatile_BANG_.call(null,rum.core.empty_queue);
rum.core.render_all=function(a){a=cljs.core.seq.call(null,a);for(var b=null,c=0,d=0;;)if(d<c){var e=cljs.core._nth.call(null,b,d);cljs.core.not.call(null,goog.object.get(e,":rum/unmounted?"))&&e.forceUpdate();d+=1}else if(a=cljs.core.seq.call(null,a))b=a,cljs.core.chunked_seq_QMARK_.call(null,b)?(a=cljs.core.chunk_first.call(null,b),c=cljs.core.chunk_rest.call(null,b),b=a,e=cljs.core.count.call(null,a),a=c,c=e):(e=cljs.core.first.call(null,b),cljs.core.not.call(null,goog.object.get(e,":rum/unmounted?"))&&
e.forceUpdate(),a=cljs.core.next.call(null,b),b=null,c=0),d=0;else return null};rum.core.render=function(){var a=cljs.core.deref.call(null,rum.core.render_queue);cljs.core.vreset_BANG_.call(null,rum.core.render_queue,rum.core.empty_queue);return rum.core.batch.call(null,rum.core.render_all,a)};
rum.core.request_render=function(a){cljs.core.empty_QMARK_.call(null,cljs.core.deref.call(null,rum.core.render_queue))&&rum.core.schedule.call(null,rum.core.render);return cljs.core._vreset_BANG_.call(null,rum.core.render_queue,cljs.core.conj.call(null,cljs.core._deref.call(null,rum.core.render_queue),a))};rum.core.mount=function(a,b){ReactDOM.render(a,b);return null};rum.core.unmount=function(a){return ReactDOM.unmountComponentAtNode(a)};rum.core.hydrate=function(a,b){return ReactDOM.hydrate(a,b)};
rum.core.portal=function(a,b){return ReactDOM.createPortal(a,b)};rum.core.with_key=function(a,b){return React.cloneElement(a,{key:b},null)};rum.core.with_ref=function(a,b){return React.cloneElement(a,{ref:b},null)};rum.core.dom_node=function(a){return ReactDOM.findDOMNode((new cljs.core.Keyword("rum","react-component","rum/react-component",-1879897248)).cljs$core$IFn$_invoke$arity$1(a))};
rum.core.ref=function(a,b){return(new cljs.core.Keyword("rum","react-component","rum/react-component",-1879897248)).cljs$core$IFn$_invoke$arity$1(a).refs[cljs.core.name.call(null,b)]};rum.core.ref_node=function(a,b){return ReactDOM.findDOMNode(rum.core.ref.call(null,a,cljs.core.name.call(null,b)))};
rum.core.static$=new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"should-update","should-update",-1292781795),function(a,b){return cljs.core.not_EQ_.call(null,(new cljs.core.Keyword("rum","args","rum/args",1315791754)).cljs$core$IFn$_invoke$arity$1(a),(new cljs.core.Keyword("rum","args","rum/args",1315791754)).cljs$core$IFn$_invoke$arity$1(b))}],null);
rum.core.local=function(a){switch(arguments.length){case 1:return rum.core.local.cljs$core$IFn$_invoke$arity$1(arguments[0]);case 2:return rum.core.local.cljs$core$IFn$_invoke$arity$2(arguments[0],arguments[1]);default:throw Error(["Invalid arity: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(""));}};rum.core.local.cljs$core$IFn$_invoke$arity$1=function(a){return rum.core.local.call(null,a,new cljs.core.Keyword("rum","local","rum/local",-1497916586))};
rum.core.local.cljs$core$IFn$_invoke$arity$2=function(a,b){return new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"will-mount","will-mount",-434633071),function(c){var d=cljs.core.atom.call(null,a),e=(new cljs.core.Keyword("rum","react-component","rum/react-component",-1879897248)).cljs$core$IFn$_invoke$arity$1(c);cljs.core.add_watch.call(null,d,b,function(a,b){return function(a,c,d,e){return rum.core.request_render.call(null,b)}}(d,e));return cljs.core.assoc.call(null,c,b,d)}],
null)};rum.core.local.cljs$lang$maxFixedArity=2;
rum.core.reactive=new cljs.core.PersistentArrayMap(null,3,[new cljs.core.Keyword(null,"init","init",-1875481434),function(a,b){return cljs.core.assoc.call(null,a,new cljs.core.Keyword("rum.reactive","key","rum.reactive/key",-803425142),cljs.core.random_uuid.call(null))},new cljs.core.Keyword(null,"wrap-render","wrap-render",1782000986),function(a){return function(b){var c=rum.core._STAR_reactions_STAR_,d=cljs.core.volatile_BANG_.call(null,cljs.core.PersistentHashSet.EMPTY);rum.core._STAR_reactions_STAR_=
d;try{var e=(new cljs.core.Keyword("rum","react-component","rum/react-component",-1879897248)).cljs$core$IFn$_invoke$arity$1(b),f=(new cljs.core.Keyword("rum.reactive","refs","rum.reactive/refs",-814076325)).cljs$core$IFn$_invoke$arity$2(b,cljs.core.PersistentHashSet.EMPTY),g=a.call(null,b),h=cljs.core.nth.call(null,g,0,null),k=cljs.core.nth.call(null,g,1,null),l=cljs.core.deref.call(null,rum.core._STAR_reactions_STAR_),m=(new cljs.core.Keyword("rum.reactive","key","rum.reactive/key",-803425142)).cljs$core$IFn$_invoke$arity$1(b),
n=cljs.core.seq.call(null,f);b=null;for(var p=0,q=0;;)if(q<p){var r=cljs.core._nth.call(null,b,q);cljs.core.contains_QMARK_.call(null,l,r)||cljs.core.remove_watch.call(null,r,m);q+=1}else{var u=cljs.core.seq.call(null,n);if(u){var t=u;if(cljs.core.chunked_seq_QMARK_.call(null,t)){var v=cljs.core.chunk_first.call(null,t),w=cljs.core.chunk_rest.call(null,t);t=v;var x=cljs.core.count.call(null,v);n=w;b=t;p=x}else{var y=cljs.core.first.call(null,t);cljs.core.contains_QMARK_.call(null,l,y)||cljs.core.remove_watch.call(null,
y,m);n=cljs.core.next.call(null,t);b=null;p=0}q=0}else break}var z=cljs.core.seq.call(null,l);n=null;for(u=r=0;;)if(u<r){var B=cljs.core._nth.call(null,n,u);cljs.core.contains_QMARK_.call(null,f,B)||cljs.core.add_watch.call(null,B,m,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q){return function(a,b,c,d){return rum.core.request_render.call(null,f)}}(z,n,r,u,B,e,f,g,h,k,l,m,c,d));u+=1}else{var C=cljs.core.seq.call(null,z);if(C){v=C;if(cljs.core.chunked_seq_QMARK_.call(null,v)){var A=cljs.core.chunk_first.call(null,
v),D=cljs.core.chunk_rest.call(null,v);v=A;var F=cljs.core.count.call(null,A);z=D;n=v;r=F}else{var E=cljs.core.first.call(null,v);cljs.core.contains_QMARK_.call(null,f,E)||cljs.core.add_watch.call(null,E,m,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t){return function(a,b,c,d){return rum.core.request_render.call(null,h)}}(z,n,r,u,E,v,C,e,f,g,h,k,l,m,c,d));z=cljs.core.next.call(null,v);n=null;r=0}u=0}else break}return new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[h,cljs.core.assoc.call(null,
k,new cljs.core.Keyword("rum.reactive","refs","rum.reactive/refs",-814076325),l)],null)}finally{rum.core._STAR_reactions_STAR_=c}}},new cljs.core.Keyword(null,"will-unmount","will-unmount",-808051550),function(a){for(var b=(new cljs.core.Keyword("rum.reactive","key","rum.reactive/key",-803425142)).cljs$core$IFn$_invoke$arity$1(a),c=cljs.core.seq.call(null,(new cljs.core.Keyword("rum.reactive","refs","rum.reactive/refs",-814076325)).cljs$core$IFn$_invoke$arity$1(a)),d=null,e=0,f=0;;)if(f<e){var g=
cljs.core._nth.call(null,d,f);cljs.core.remove_watch.call(null,g,b);f+=1}else if(c=cljs.core.seq.call(null,c))d=c,cljs.core.chunked_seq_QMARK_.call(null,d)?(c=cljs.core.chunk_first.call(null,d),f=cljs.core.chunk_rest.call(null,d),d=c,e=cljs.core.count.call(null,c),c=f):(c=cljs.core.first.call(null,d),cljs.core.remove_watch.call(null,c,b),c=cljs.core.next.call(null,d),d=null,e=0),f=0;else break;return cljs.core.dissoc.call(null,a,new cljs.core.Keyword("rum.reactive","refs","rum.reactive/refs",-814076325),
new cljs.core.Keyword("rum.reactive","key","rum.reactive/key",-803425142))}],null);rum.core.react=function(a){if(!cljs.core.truth_(rum.core._STAR_reactions_STAR_))throw Error("Assert failed: rum.core/react is only supported in conjunction with rum.core/reactive\n*reactions*");cljs.core._vreset_BANG_.call(null,rum.core._STAR_reactions_STAR_,cljs.core.conj.call(null,cljs.core._deref.call(null,rum.core._STAR_reactions_STAR_),a));return cljs.core.deref.call(null,a)};rum.core.derived_atom=rum.derived_atom.derived_atom;
rum.core.cursor_in=function(a){for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;b=2<b.length?new cljs.core.IndexedSeq(b.slice(2),0,null):null;return rum.core.cursor_in.cljs$core$IFn$_invoke$arity$variadic(arguments[0],arguments[1],b)};
rum.core.cursor_in.cljs$core$IFn$_invoke$arity$variadic=function(a,b,c){c=null!=c&&(c.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===c.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,c):c;return a instanceof rum.cursor.Cursor?new rum.cursor.Cursor(a.ref,cljs.core.into.call(null,a.path,b),(new cljs.core.Keyword(null,"meta","meta",1499536964)).cljs$core$IFn$_invoke$arity$1(c)):new rum.cursor.Cursor(a,b,(new cljs.core.Keyword(null,"meta","meta",1499536964)).cljs$core$IFn$_invoke$arity$1(c))};
rum.core.cursor_in.cljs$lang$maxFixedArity=2;rum.core.cursor_in.cljs$lang$applyTo=function(a){var b=cljs.core.first.call(null,a),c=cljs.core.next.call(null,a);a=cljs.core.first.call(null,c);c=cljs.core.next.call(null,c);return this.cljs$core$IFn$_invoke$arity$variadic(b,a,c)};
rum.core.cursor=function(a){for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;b=2<b.length?new cljs.core.IndexedSeq(b.slice(2),0,null):null;return rum.core.cursor.cljs$core$IFn$_invoke$arity$variadic(arguments[0],arguments[1],b)};rum.core.cursor.cljs$core$IFn$_invoke$arity$variadic=function(a,b,c){return cljs.core.apply.call(null,rum.core.cursor_in,a,new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[b],null),c)};
rum.core.cursor.cljs$lang$maxFixedArity=2;rum.core.cursor.cljs$lang$applyTo=function(a){var b=cljs.core.first.call(null,a),c=cljs.core.next.call(null,a);a=cljs.core.first.call(null,c);c=cljs.core.next.call(null,c);return this.cljs$core$IFn$_invoke$arity$variadic(b,a,c)};weathergen.ui.trees={};
weathergen.ui.trees.tree_STAR_=function(a,b,c,d){var e=cljs.core.seq.call(null,b),f=cljs.core.first.call(null,e),g=cljs.core.next.call(null,e),h=null!=f&&(f.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===f.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,f):f,k=cljs.core.get.call(null,h,new cljs.core.Keyword(null,"formatter","formatter",-483008823)),l=cljs.core.get.call(null,h,new cljs.core.Keyword(null,"children","children",-940561982)),m=cljs.core.get.call(null,
h,new cljs.core.Keyword(null,"attrs","attrs",-2090668713));return weathergen.ui.common.styled.call(null,new cljs.core.Keyword(null,"garden","garden",-1966516149),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"li","li",723558921),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"margin-left","margin-left",2015598377),"-28px"],null)],null),hoplon.core.ol.call(null,new cljs.core.Keyword(null,"css","css",1135045163),new cljs.core.PersistentArrayMap(null,
1,[new cljs.core.Keyword(null,"list-style-type","list-style-type",-1703248598),"none"],null),hoplon.core.loop_tpl_STAR_.call(null,c,function(b,c,e,f,g,h,k,l,m,y,z){return function(n){var p=javelin.core.cell_map.call(null,cljs.core.identity,javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,k,l,m){return function(a){return new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[a],null)}}(b,c,e,f,g,h,k,l,m,y,z)).call(null,n)),q=cljs.core.nth.call(null,p,0,null),r=cljs.core.truth_(y)?
y.call(null,q):javelin.core.cell.call(null,null),t=javelin.core.cell.call(null,!0);cljs.core.truth_(a)&&hoplon.core.do_watch.call(null,a,function(a,b,c,e,f,g,h,k,l,m,n,p,q,r,t){return function(a,c){return cljs.core._EQ_.call(null,c,new cljs.core.Keyword(null,"all-expanded","all-expanded",1437674225))?cljs.core.reset_BANG_.call(null,b,!0):cljs.core._EQ_.call(null,c,new cljs.core.Keyword(null,"all-collapsed","all-collapsed",437702622))?cljs.core.reset_BANG_.call(null,b,!1):cljs.core._EQ_.call(null,
cljs.core.first.call(null,c),new cljs.core.Keyword(null,"expand-through-level","expand-through-level",-1840001384))?(a=d<cljs.core.second.call(null,c),cljs.core.reset_BANG_.call(null,b,a)):null}}(r,t,p,q,b,c,e,f,g,h,k,l,m,y,z));return hoplon.core.li.call(null,cljs.core.truth_(z)?z.call(null,q):cljs.core.PersistentArrayMap.EMPTY,weathergen.ui.common.inl.call(null,new cljs.core.Keyword(null,"css","css",1135045163),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"white-space","white-space",
-707351930),"nowrap"],null),weathergen.ui.common.inl.call(null,new cljs.core.Keyword(null,"css","css",1135045163),new cljs.core.PersistentArrayMap(null,3,[new cljs.core.Keyword(null,"width","width",-384071477),"15px",new cljs.core.Keyword(null,"font-size","font-size",-1847940346),"120%",new cljs.core.Keyword(null,"vertical-align","vertical-align",651007333),"top"],null),function(){var d=new cljs.core.Delay(function(b,c,d,e,f,g,h,k,l,m,n,p,q,r,t){return function(){return hoplon.core.div.call(null,
new cljs.core.Keyword(null,"css","css",1135045163),new cljs.core.PersistentArrayMap(null,4,[new cljs.core.Keyword(null,"display","display",242065432),"inline-block",new cljs.core.Keyword(null,"cursor","cursor",1011937484),"pointer",new cljs.core.Keyword(null,"position","position",-2011731912),"relative",new cljs.core.Keyword(null,"background","background",-863952629),"transparent"],null),new cljs.core.Keyword(null,"click","click",1912301393),function(b,c,d,e,f,g,h,k,l,m,n,p,q,r,t){return function(){return javelin.core.dosync_STAR_.call(null,
function(b,c,d,e,f,g,h,k,l,m,n,p,q,r,t){return function(){cljs.core.swap_BANG_.call(null,c,cljs.core.not);return cljs.core.truth_(a)?cljs.core.reset_BANG_.call(null,a,null):null}}(b,c,d,e,f,g,h,k,l,m,n,p,q,r,t))}}(b,c,d,e,f,g,h,k,l,m,n,p,q,r,t),hoplon.core.div.call(null,new cljs.core.Keyword(null,"css","css",1135045163),javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r){return function(a){return new cljs.core.PersistentArrayMap(null,8,[new cljs.core.Keyword(null,"display","display",
242065432),"inline-block",new cljs.core.Keyword(null,"width","width",-384071477),0,new cljs.core.Keyword(null,"height","height",1025178622),0,new cljs.core.Keyword(null,"border-left","border-left",-1150760178),"5px solid transparent",new cljs.core.Keyword(null,"border-right","border-right",-668932860),"5px solid transparent",new cljs.core.Keyword(null,"border-top","border-top",-158897573),"7px solid black",new cljs.core.Keyword(null,"vertical-align","vertical-align",651007333),"middle",new cljs.core.Keyword(null,
"transform","transform",1381301764),["rotate(",cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.core.truth_(a)?0:-90),"deg)"].join("")],null)}}(b,c,d,e,f,g,h,k,l,m,n,p,q,r,t)).call(null,c)))}}(r,t,p,q,b,c,e,f,g,h,k,l,m,y,z),null),n=new cljs.core.Delay(function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t){return function(){return""}}(d,r,t,p,q,b,c,e,f,g,h,k,l,m,y,z),null),u=function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u){return function(c){return cljs.core.deref.call(null,function(){var d=cljs.core.truth_(c)?a:b;
return cljs.core.truth_(d)?d:cljs.core.atom.call(null,null)}())}}(d,n,r,t,p,q,b,c,e,f,g,h,k,l,m,y,z);return javelin.core.formula.call(null,u).call(null,javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v){return function(a,b){return a.call(null,b)}}(d,n,u,r,t,p,q,b,c,e,f,g,h,k,l,m,y,z)).call(null,cljs.core.seq,r))}()),m.call(null,t,q)),function(){var n=new cljs.core.Delay(function(b,c,e,f,g,h,k,l,m,n,p,q,r,t,u){return function(){return weathergen.ui.trees.tree_STAR_.call(null,
a,n,b,d+1)}}(r,t,p,q,b,c,e,f,g,h,k,l,m,y,z),null),u=new cljs.core.Delay(function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t){return function(){return null}}(n,r,t,p,q,b,c,e,f,g,h,k,l,m,y,z),null),v=function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u){return function(c){return cljs.core.deref.call(null,function(){var d=cljs.core.truth_(c)?a:b;return cljs.core.truth_(d)?d:cljs.core.atom.call(null,null)}())}}(n,u,r,t,p,q,b,c,e,f,g,h,k,l,m,y,z);return javelin.core.formula.call(null,v).call(null,javelin.core.formula.call(null,
function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v){return function(a,b){return cljs.core.truth_(a)?b:a}}(n,u,v,r,t,p,q,b,c,e,f,g,h,k,l,m,y,z)).call(null,t,r))}())}}(b,e,f,g,f,g,f,h,k,l,m))))};weathergen.ui.trees.tree=function(a,b,c){return weathergen.ui.trees.tree_STAR_.call(null,a,b,c,0)};
weathergen.ui.trees.RTree=rum.core.build_defc.call(null,function(a,b){return React.createElement("ol",{style:{listStyleType:"none"}},cljs.core.into_array.call(null,function(){return function e(b){return new cljs.core.LazySeq(null,function(){for(;;){var d=cljs.core.seq.call(null,b);if(d){var g=d;if(cljs.core.chunked_seq_QMARK_.call(null,g)){var h=cljs.core.chunk_first.call(null,g),k=cljs.core.count.call(null,h),l=cljs.core.chunk_buffer.call(null,k);return function(){for(var b=0;;)if(b<k){var e=cljs.core._nth.call(null,
h,b),f=null!=e&&(e.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===e.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,e):e,m=f,n=cljs.core.get.call(null,f,new cljs.core.Keyword(null,"ui","ui",-469653645)),p=cljs.core.get.call(null,f,new cljs.core.Keyword(null,"attrs","attrs",-2090668713)),q=cljs.core.get.call(null,f,new cljs.core.Keyword(null,"expanded?","expanded?",2055832296)),r=cljs.core.get.call(null,f,new cljs.core.Keyword(null,"children","children",-940561982)),
t=cljs.core.get.call(null,f,new cljs.core.Keyword(null,"id","id",-1388402092));cljs.core.chunk_append.call(null,l,function(){var u=cljs.core.assoc.call(null,p,new cljs.core.Keyword(null,"key","key",-1516042587),t);return cljs.core.apply.call(null,React.createElement,"li",cljs.core.map_QMARK_.call(null,u)?sablono.interpreter.attributes.call(null,u):null,cljs.core.map_QMARK_.call(null,u)?new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[React.createElement("div",{style:{display:"inline-flex",
whiteSpace:"nowrap"}},sablono.interpreter.interpret.call(null,weathergen.ui.common.rinl.call(null,new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"style","style",-496642736),new cljs.core.PersistentArrayMap(null,3,[new cljs.core.Keyword(null,"width","width",-384071477),weathergen.ui.common.px.call(null,15),new cljs.core.Keyword(null,"font-size","font-size",-1847940346),weathergen.ui.common.pct.call(null,120),new cljs.core.Keyword(null,"vertical-align","vertical-align",651007333),
"top"],null)],null),cljs.core.empty_QMARK_.call(null,r)?"":weathergen.ui.common.rinl.call(null,new cljs.core.PersistentArrayMap(null,2,[new cljs.core.Keyword(null,"style","style",-496642736),new cljs.core.PersistentArrayMap(null,3,[new cljs.core.Keyword(null,"cursor","cursor",1011937484),"pointer",new cljs.core.Keyword(null,"position","position",-2011731912),"relative",new cljs.core.Keyword(null,"background","background",-863952629),"transparent"],null),new cljs.core.Keyword(null,"on-click","on-click",
1632826543),function(b,d,e,f,g,h,k,l,m,n,p,q,r,t,u){return function(b){return a.call(null,n)}}(b,u,e,f,m,n,p,q,r,t,h,k,l,g,d)],null),weathergen.ui.common.rinl.call(null,new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"style","style",-496642736),new cljs.core.PersistentArrayMap(null,8,[new cljs.core.Keyword(null,"width","width",-384071477),0,new cljs.core.Keyword(null,"height","height",1025178622),0,new cljs.core.Keyword(null,"border-left","border-left",-1150760178),"5px solid transparent",
new cljs.core.Keyword(null,"border-right","border-right",-668932860),"5px solid transparent",new cljs.core.Keyword(null,"border-top","border-top",-158897573),"7px solid black",new cljs.core.Keyword(null,"vertical-align","vertical-align",651007333),"middle",new cljs.core.Keyword(null,"margin-top","margin-top",392161226),weathergen.ui.common.px.call(null,-8),new cljs.core.Keyword(null,"transform","transform",1381301764),["rotate(",cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.core.truth_(q)?0:-90),
"deg)"].join("")],null)],null))))),sablono.interpreter.interpret.call(null,n)),sablono.interpreter.interpret.call(null,cljs.core.truth_(function(){var a=q;return cljs.core.truth_(a)?r:a}())?weathergen.ui.trees.RTree.call(null,a,r):null)],null):new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,[sablono.interpreter.interpret.call(null,u),React.createElement("div",{style:{display:"inline-flex",whiteSpace:"nowrap"}},sablono.interpreter.interpret.call(null,weathergen.ui.common.rinl.call(null,
new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"style","style",-496642736),new cljs.core.PersistentArrayMap(null,3,[new cljs.core.Keyword(null,"width","width",-384071477),weathergen.ui.common.px.call(null,15),new cljs.core.Keyword(null,"font-size","font-size",-1847940346),weathergen.ui.common.pct.call(null,120),new cljs.core.Keyword(null,"vertical-align","vertical-align",651007333),"top"],null)],null),cljs.core.empty_QMARK_.call(null,r)?"":weathergen.ui.common.rinl.call(null,
new cljs.core.PersistentArrayMap(null,2,[new cljs.core.Keyword(null,"style","style",-496642736),new cljs.core.PersistentArrayMap(null,3,[new cljs.core.Keyword(null,"cursor","cursor",1011937484),"pointer",new cljs.core.Keyword(null,"position","position",-2011731912),"relative",new cljs.core.Keyword(null,"background","background",-863952629),"transparent"],null),new cljs.core.Keyword(null,"on-click","on-click",1632826543),function(b,d,e,f,g,h,k,l,m,n,p,q,r,t,u){return function(b){return a.call(null,
n)}}(b,u,e,f,m,n,p,q,r,t,h,k,l,g,d)],null),weathergen.ui.common.rinl.call(null,new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"style","style",-496642736),new cljs.core.PersistentArrayMap(null,8,[new cljs.core.Keyword(null,"width","width",-384071477),0,new cljs.core.Keyword(null,"height","height",1025178622),0,new cljs.core.Keyword(null,"border-left","border-left",-1150760178),"5px solid transparent",new cljs.core.Keyword(null,"border-right","border-right",-668932860),"5px solid transparent",
new cljs.core.Keyword(null,"border-top","border-top",-158897573),"7px solid black",new cljs.core.Keyword(null,"vertical-align","vertical-align",651007333),"middle",new cljs.core.Keyword(null,"margin-top","margin-top",392161226),weathergen.ui.common.px.call(null,-8),new cljs.core.Keyword(null,"transform","transform",1381301764),["rotate(",cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.core.truth_(q)?0:-90),"deg)"].join("")],null)],null))))),sablono.interpreter.interpret.call(null,n)),sablono.interpreter.interpret.call(null,
cljs.core.truth_(function(){var a=q;return cljs.core.truth_(a)?r:a}())?weathergen.ui.trees.RTree.call(null,a,r):null)],null))}());b+=1}else return!0}()?cljs.core.chunk_cons.call(null,cljs.core.chunk.call(null,l),e.call(null,cljs.core.chunk_rest.call(null,g))):cljs.core.chunk_cons.call(null,cljs.core.chunk.call(null,l),null)}var m=cljs.core.first.call(null,g),n=null!=m&&(m.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===m.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,
m):m,p=n,q=cljs.core.get.call(null,n,new cljs.core.Keyword(null,"ui","ui",-469653645)),r=cljs.core.get.call(null,n,new cljs.core.Keyword(null,"attrs","attrs",-2090668713)),u=cljs.core.get.call(null,n,new cljs.core.Keyword(null,"expanded?","expanded?",2055832296)),t=cljs.core.get.call(null,n,new cljs.core.Keyword(null,"children","children",-940561982)),v=cljs.core.get.call(null,n,new cljs.core.Keyword(null,"id","id",-1388402092));return cljs.core.cons.call(null,function(){var b=cljs.core.assoc.call(null,
r,new cljs.core.Keyword(null,"key","key",-1516042587),v);return cljs.core.apply.call(null,React.createElement,"li",cljs.core.map_QMARK_.call(null,b)?sablono.interpreter.attributes.call(null,b):null,cljs.core.map_QMARK_.call(null,b)?new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[React.createElement("div",{style:{display:"inline-flex",whiteSpace:"nowrap"}},sablono.interpreter.interpret.call(null,weathergen.ui.common.rinl.call(null,new cljs.core.PersistentArrayMap(null,
1,[new cljs.core.Keyword(null,"style","style",-496642736),new cljs.core.PersistentArrayMap(null,3,[new cljs.core.Keyword(null,"width","width",-384071477),weathergen.ui.common.px.call(null,15),new cljs.core.Keyword(null,"font-size","font-size",-1847940346),weathergen.ui.common.pct.call(null,120),new cljs.core.Keyword(null,"vertical-align","vertical-align",651007333),"top"],null)],null),cljs.core.empty_QMARK_.call(null,t)?"":weathergen.ui.common.rinl.call(null,new cljs.core.PersistentArrayMap(null,
2,[new cljs.core.Keyword(null,"style","style",-496642736),new cljs.core.PersistentArrayMap(null,3,[new cljs.core.Keyword(null,"cursor","cursor",1011937484),"pointer",new cljs.core.Keyword(null,"position","position",-2011731912),"relative",new cljs.core.Keyword(null,"background","background",-863952629),"transparent"],null),new cljs.core.Keyword(null,"on-click","on-click",1632826543),function(b,d,e,f,g,h,k,l,m,n,p){return function(b){return a.call(null,m)}}(b,m,n,p,q,r,u,t,v,g,d)],null),weathergen.ui.common.rinl.call(null,
new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"style","style",-496642736),new cljs.core.PersistentArrayMap(null,8,[new cljs.core.Keyword(null,"width","width",-384071477),0,new cljs.core.Keyword(null,"height","height",1025178622),0,new cljs.core.Keyword(null,"border-left","border-left",-1150760178),"5px solid transparent",new cljs.core.Keyword(null,"border-right","border-right",-668932860),"5px solid transparent",new cljs.core.Keyword(null,"border-top","border-top",-158897573),
"7px solid black",new cljs.core.Keyword(null,"vertical-align","vertical-align",651007333),"middle",new cljs.core.Keyword(null,"margin-top","margin-top",392161226),weathergen.ui.common.px.call(null,-8),new cljs.core.Keyword(null,"transform","transform",1381301764),["rotate(",cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.core.truth_(u)?0:-90),"deg)"].join("")],null)],null))))),sablono.interpreter.interpret.call(null,q)),sablono.interpreter.interpret.call(null,cljs.core.truth_(function(){var a=u;
return cljs.core.truth_(a)?t:a}())?weathergen.ui.trees.RTree.call(null,a,t):null)],null):new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,[sablono.interpreter.interpret.call(null,b),React.createElement("div",{style:{display:"inline-flex",whiteSpace:"nowrap"}},sablono.interpreter.interpret.call(null,weathergen.ui.common.rinl.call(null,new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"style","style",-496642736),new cljs.core.PersistentArrayMap(null,3,
[new cljs.core.Keyword(null,"width","width",-384071477),weathergen.ui.common.px.call(null,15),new cljs.core.Keyword(null,"font-size","font-size",-1847940346),weathergen.ui.common.pct.call(null,120),new cljs.core.Keyword(null,"vertical-align","vertical-align",651007333),"top"],null)],null),cljs.core.empty_QMARK_.call(null,t)?"":weathergen.ui.common.rinl.call(null,new cljs.core.PersistentArrayMap(null,2,[new cljs.core.Keyword(null,"style","style",-496642736),new cljs.core.PersistentArrayMap(null,3,
[new cljs.core.Keyword(null,"cursor","cursor",1011937484),"pointer",new cljs.core.Keyword(null,"position","position",-2011731912),"relative",new cljs.core.Keyword(null,"background","background",-863952629),"transparent"],null),new cljs.core.Keyword(null,"on-click","on-click",1632826543),function(b,d,e,f,g,h,k,l,m,n,p){return function(b){return a.call(null,m)}}(b,m,n,p,q,r,u,t,v,g,d)],null),weathergen.ui.common.rinl.call(null,new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"style",
"style",-496642736),new cljs.core.PersistentArrayMap(null,8,[new cljs.core.Keyword(null,"width","width",-384071477),0,new cljs.core.Keyword(null,"height","height",1025178622),0,new cljs.core.Keyword(null,"border-left","border-left",-1150760178),"5px solid transparent",new cljs.core.Keyword(null,"border-right","border-right",-668932860),"5px solid transparent",new cljs.core.Keyword(null,"border-top","border-top",-158897573),"7px solid black",new cljs.core.Keyword(null,"vertical-align","vertical-align",
651007333),"middle",new cljs.core.Keyword(null,"margin-top","margin-top",392161226),weathergen.ui.common.px.call(null,-8),new cljs.core.Keyword(null,"transform","transform",1381301764),["rotate(",cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.core.truth_(u)?0:-90),"deg)"].join("")],null)],null))))),sablono.interpreter.interpret.call(null,q)),sablono.interpreter.interpret.call(null,cljs.core.truth_(function(){var a=u;return cljs.core.truth_(a)?t:a}())?weathergen.ui.trees.RTree.call(null,a,t):null)],
null))}(),e.call(null,cljs.core.rest.call(null,g)))}return null}},null,null)}.call(null,b)}()))},null,"RTree");
weathergen.ui.trees.rtree=function(a,b){var c=weathergen.ui.common.styled.call(null,new cljs.core.Keyword(null,"garden","garden",-1966516149),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"ol","ol",932524051),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"text-indent","text-indent",-1987214414),weathergen.ui.common.px.call(null,2)],null)],
null),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"li","li",723558921),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"margin-left","margin-left",2015598377),weathergen.ui.common.px.call(null,-28)],null)],null)],null));hoplon.core.do_watch.call(null,a,function(a){return function(c,d){return rum.core.mount.call(null,weathergen.ui.trees.RTree.call(null,b,d),a)}}(c));return c};weathergen.ui.buttons={};
weathergen.ui.buttons.image_button_style=function(a){return new cljs.core.PersistentArrayMap(null,7,[new cljs.core.Keyword(null,"border-style","border-style",-485574304),cljs.core.truth_(a)?"inset":"outset",new cljs.core.Keyword(null,"border-color","border-color",-2059162761),"#ddd",new cljs.core.Keyword(null,"border-radius","border-radius",419594011),"6px",new cljs.core.Keyword(null,"padding","padding",1660304693),"2px",new cljs.core.Keyword(null,"background","background",-863952629),cljs.core.truth_(a)?
"lightgrey":"white",new cljs.core.Keyword(null,"border-width","border-width",-1512605390),"2px",new cljs.core.Keyword(null,"vertical-align","vertical-align",651007333),"middle"],null)};
weathergen.ui.buttons.image_button=function(){var a=function(a){a=hoplon.core.parse_args.call(null,a);var b=cljs.core.nth.call(null,a,0,null),c=null!=b&&(b.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===b.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,b):b,f=cljs.core.get.call(null,c,new cljs.core.Keyword(null,"css","css",1135045163)),g=cljs.core.get.call(null,c,new cljs.core.Keyword(null,"latched?","latched?",2124907793)),h=cljs.core.dissoc.call(null,b,new cljs.core.Keyword(null,
"css","css",1135045163),new cljs.core.Keyword(null,"latched?","latched?",2124907793)),k=javelin.core.cell.call(null,!1);return hoplon.core.img.call(null,new cljs.core.Keyword(null,"css","css",1135045163),javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h){return function(a,b){return cljs.core.merge.call(null,weathergen.ui.buttons.image_button_style.call(null,cljs.core.truth_(a)?a:b),d)}}(k,b,c,f,g,h,a,b)).call(null,g,k),new cljs.core.Keyword(null,"mousedown","mousedown",1391242074),function(a,
b,c,d,e,f,g,h){return function(k){k=function(a,b,c,d,e,f,g,h){return function G(b){document.removeEventListener("mouseup",G);return cljs.core.reset_BANG_.call(null,a,!1)}}(a,b,c,d,e,f,g,h);document.addEventListener("mouseup",k);return cljs.core.reset_BANG_.call(null,a,!0)}}(k,b,c,f,g,h,a,b),new cljs.core.Keyword(null,"dragstart","dragstart",955864218),cljs.core.constantly.call(null,!1),h)},b=function(b){var c=null;if(0<arguments.length){c=0;for(var e=Array(arguments.length-0);c<e.length;)e[c]=arguments[c+
0],++c;c=new cljs.core.IndexedSeq(e,0,null)}return a.call(this,c)};b.cljs$lang$maxFixedArity=0;b.cljs$lang$applyTo=function(b){b=cljs.core.seq(b);return a(b)};b.cljs$core$IFn$_invoke$arity$variadic=a;return b}();
weathergen.ui.buttons.RImageButton=rum.core.build_defcs.call(null,function(a,b){return sablono.interpreter.interpret.call(null,function(){var c=null!=b&&(b.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===b.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,b):b,d=cljs.core.get.call(null,c,new cljs.core.Keyword(null,"style","style",-496642736)),e=cljs.core.get.call(null,c,new cljs.core.Keyword(null,"latched?","latched?",2124907793)),f=cljs.core.dissoc.call(null,b,new cljs.core.Keyword(null,
"latched?","latched?",2124907793),new cljs.core.Keyword(null,"style","style",-496642736)),g=(new cljs.core.Keyword("weathergen.ui.buttons","down?","weathergen.ui.buttons/down?",-1600343330)).cljs$core$IFn$_invoke$arity$1(a);return new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"img","img",1442687358),cljs.core.merge.call(null,new cljs.core.PersistentArrayMap(null,3,[new cljs.core.Keyword(null,"style","style",-496642736),cljs.core.merge.call(null,
weathergen.ui.buttons.image_button_style.call(null,cljs.core.truth_(e)?e:cljs.core.deref.call(null,g)),d),new cljs.core.Keyword(null,"on-mouse-down","on-mouse-down",1147755470),function(a,b,c,d,e,f){return function(g){g=function(a,b,c,d,e,f){return function B(b){document.removeEventListener("mouseup",B);return cljs.core.reset_BANG_.call(null,a,!1)}}(a,b,c,d,e,f);document.addEventListener("mouseup",g);return cljs.core.reset_BANG_.call(null,a,!0)}}(g,b,c,d,e,f),new cljs.core.Keyword(null,"on-drag-start",
"on-drag-start",-47712205),cljs.core.constantly.call(null,!1)],null),f)],null)}())},new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[rum.core.local.call(null,!1,new cljs.core.Keyword("weathergen.ui.buttons","down?","weathergen.ui.buttons/down?",-1600343330))],null),"RImageButton");
weathergen.ui.buttons.rimage_button=function(a){var b=null!=a&&(a.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===a.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,a):a,c=cljs.core.get.call(null,b,new cljs.core.Keyword(null,"latched?","latched?",2124907793)),d=hoplon.core.div.call(null);hoplon.core.do_watch.call(null,c,function(b,c,d,h){return function(c,d){return rum.core.mount.call(null,weathergen.ui.buttons.RImageButton.call(null,cljs.core.assoc.call(null,a,
new cljs.core.Keyword(null,"latched?","latched?",2124907793),d)),b)}}(d,a,b,c));return d};
weathergen.ui.common.register_class_BANG_.call(null,new cljs.core.Keyword("weathergen.ui.buttons","div-button","weathergen.ui.buttons/div-button",-1385258890),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[cljs.core.PersistentHashMap.fromArrays([new cljs.core.Keyword(null,"border-style","border-style",-485574304),new cljs.core.Keyword(null,"color","color",1011675173),new cljs.core.Keyword(null,"text-align","text-align",1786091845),new cljs.core.Keyword(null,"font-size",
"font-size",-1847940346),new cljs.core.Keyword(null,"background","background",-863952629),new cljs.core.Keyword(null,"cursor","cursor",1011937484),new cljs.core.Keyword(null,"border-width","border-width",-1512605390),new cljs.core.Keyword(null,"padding","padding",1660304693),new cljs.core.Keyword(null,"border-color","border-color",-2059162761),new cljs.core.Keyword(null,"text-decoration","text-decoration",1836813207),new cljs.core.Keyword(null,"display","display",242065432),new cljs.core.Keyword(null,
"border-radius","border-radius",419594011),new cljs.core.Keyword(null,"font-family","font-family",-667419874),new cljs.core.Keyword(null,"margin","margin",-995903681)],"solid;black;center;72%;linear-gradient(white, white 75%, #ededed 100%);pointer;0.5px;3px;#d0d0d0;none;inline-block;4px;Lucida Grande, Lucida Sans Unicode, Tahoma, sans-serif;2px".split(";")),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"\x26:active","\x26:active",-1687810105),
new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"background","background",-863952629),"linear-gradient(#c0c0c0, #f0f0f0)"],null)],null)],null));
weathergen.ui.common.register_class_BANG_.call(null,new cljs.core.Keyword("weathergen.ui.buttons","latched-div-button","weathergen.ui.buttons/latched-div-button",103418273),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"background","background",-863952629),"linear-gradient(#c0c0c0, #f0f0f0)"],null)],null));
weathergen.ui.common.register_class_BANG_.call(null,new cljs.core.Keyword("weathergen.ui.buttons","disabled-button","weathergen.ui.buttons/disabled-button",1352747181),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.PersistentArrayMap(null,3,[new cljs.core.Keyword(null,"pointer-events","pointer-events",-1053858853),"none",new cljs.core.Keyword(null,"color","color",1011675173),"grey",new cljs.core.Keyword(null,"cursor","cursor",1011937484),"default"],null)],
null));
weathergen.ui.buttons.a_button=function(){var a=function(a){a=hoplon.core.parse_args.call(null,a);var b=cljs.core.nth.call(null,a,0,null),c=cljs.core.nth.call(null,a,1,null),f=null!=b&&(b.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===b.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,b):b,g=cljs.core.get.call(null,f,new cljs.core.Keyword(null,"disabled?","disabled?",-1523234181)),h=cljs.core.get.call(null,f,new cljs.core.Keyword(null,"latched?","latched?",2124907793)),
k=cljs.core.dissoc.call(null,b,new cljs.core.Keyword(null,"latched?","latched?",2124907793),new cljs.core.Keyword(null,"disabled?","disabled?",-1523234181)),l=javelin.core.cell.call(null,!1);return hoplon.core.a.call(null,cljs.core.merge.call(null,k,new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"class","class",-2030961996),javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,k){return function(a,b,c){return cljs.core.PersistentArrayMap.createAsIfByAssoc([weathergen.ui.common.class_for.call(null,
new cljs.core.Keyword("weathergen.ui.buttons","div-button","weathergen.ui.buttons/div-button",-1385258890)),!0,weathergen.ui.common.class_for.call(null,new cljs.core.Keyword("weathergen.ui.buttons","latched-div-button","weathergen.ui.buttons/latched-div-button",103418273)),cljs.core.truth_(a)?a:b,weathergen.ui.common.class_for.call(null,new cljs.core.Keyword("weathergen.ui.buttons","disabled-button","weathergen.ui.buttons/disabled-button",1352747181)),c])}}(l,b,f,g,h,k,a,b,c)).call(null,h,l,g)],null)),
c)},b=function(b){var c=null;if(0<arguments.length){c=0;for(var e=Array(arguments.length-0);c<e.length;)e[c]=arguments[c+0],++c;c=new cljs.core.IndexedSeq(e,0,null)}return a.call(this,c)};b.cljs$lang$maxFixedArity=0;b.cljs$lang$applyTo=function(b){b=cljs.core.seq(b);return a(b)};b.cljs$core$IFn$_invoke$arity$variadic=a;return b}();
weathergen.ui.buttons.RAButton=rum.core.build_defcs.call(null,function(a,b,c){return sablono.interpreter.interpret.call(null,function(){var d=null!=b&&(b.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===b.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,b):b,e=cljs.core.get.call(null,d,new cljs.core.Keyword(null,"disabled?","disabled?",-1523234181));d=cljs.core.get.call(null,d,new cljs.core.Keyword(null,"latched?","latched?",2124907793));var f=cljs.core.dissoc.call(null,
b,new cljs.core.Keyword(null,"latched?","latched?",2124907793),new cljs.core.Keyword(null,"disabled?","disabled?",-1523234181)),g=(new cljs.core.Keyword("weathergen.ui.buttons","down?","weathergen.ui.buttons/down?",-1600343330)).cljs$core$IFn$_invoke$arity$1(a);return new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"a","a",-2123407586),cljs.core.merge.call(null,f,new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"class","class",
-2030961996),weathergen.ui.common.classes.call(null,cljs.core.PersistentArrayMap.createAsIfByAssoc([weathergen.ui.common.class_for.call(null,new cljs.core.Keyword("weathergen.ui.buttons","div-button","weathergen.ui.buttons/div-button",-1385258890)),!0,weathergen.ui.common.class_for.call(null,new cljs.core.Keyword("weathergen.ui.buttons","latched-div-button","weathergen.ui.buttons/latched-div-button",103418273)),cljs.core.truth_(d)?d:g,weathergen.ui.common.class_for.call(null,new cljs.core.Keyword("weathergen.ui.buttons",
"disabled-button","weathergen.ui.buttons/disabled-button",1352747181)),e]))],null)),c],null)}())},new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[rum.core.local.call(null,!1,new cljs.core.Keyword("weathergen.ui.buttons","down?","weathergen.ui.buttons/down?",-1600343330))],null),"RAButton");
weathergen.ui.buttons.ra_button=function(a,b){var c=null!=a&&(a.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===a.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,a):a,d=cljs.core.get.call(null,c,new cljs.core.Keyword(null,"latched?","latched?",2124907793)),e=cljs.core.get.call(null,c,new cljs.core.Keyword(null,"disabled?","disabled?",-1523234181)),f=hoplon.core.div.call(null);hoplon.core.do_watch.call(null,javelin.core.formula.call(null,function(a,b,c,d,e){return function(a,
b){return null}}(f,a,c,d,e)).call(null,d,e),function(c,d,e,f,m){return function(d,e){d=cljs.core.nth.call(null,e,0,null);e=cljs.core.nth.call(null,e,1,null);return rum.core.mount.call(null,weathergen.ui.buttons.RAButton.call(null,cljs.core.assoc.call(null,a,new cljs.core.Keyword(null,"latched?","latched?",2124907793),d,new cljs.core.Keyword(null,"disabled?","disabled?",-1523234181),e),b),c)}}(f,a,c,d,e));return f};var hiccups={runtime:{}};hiccups.runtime.re_tag=/([^\s\.#]+)(?:#([^\s\.#]+))?(?:\.([^\s#]+))?/;hiccups.runtime.character_escapes=new cljs.core.PersistentArrayMap(null,4,'\x26 \x26amp; \x3c \x26lt; \x3e \x26gt; " \x26quot;'.split(" "),null);
hiccups.runtime.container_tags=new cljs.core.PersistentHashSet(null,new cljs.core.PersistentArrayMap(null,33,["table",null,"canvas",null,"body",null,"h3",null,"dt",null,"label",null,"fieldset",null,"form",null,"em",null,"option",null,"h2",null,"h4",null,"style",null,"span",null,"script",null,"ol",null,"dd",null,"a",null,"head",null,"textarea",null,"i",null,"div",null,"b",null,"h5",null,"pre",null,"ul",null,"iframe",null,"strong",null,"html",null,"h1",null,"li",null,"dl",null,"h6",null],null),null);
hiccups.runtime.as_str=function(a){return a instanceof cljs.core.Keyword||a instanceof cljs.core.Symbol?cljs.core.name.call(null,a):cljs.core.str.cljs$core$IFn$_invoke$arity$1(a)};hiccups.runtime._STAR_html_mode_STAR_=new cljs.core.Keyword(null,"xml","xml",-1170142052);hiccups.runtime.xml_mode_QMARK_=function(){return cljs.core._EQ_.call(null,hiccups.runtime._STAR_html_mode_STAR_,new cljs.core.Keyword(null,"xml","xml",-1170142052))};
hiccups.runtime.in_mode=function(a,b){var c=hiccups.runtime._STAR_html_mode_STAR_;hiccups.runtime._STAR_html_mode_STAR_=a;try{return b.call(null)}finally{hiccups.runtime._STAR_html_mode_STAR_=c}};hiccups.runtime.escape_html=function(a){return clojure.string.escape.call(null,hiccups.runtime.as_str.call(null,a),hiccups.runtime.character_escapes)};hiccups.runtime.h=hiccups.runtime.escape_html;hiccups.runtime.end_tag=function(){return hiccups.runtime.xml_mode_QMARK_.call(null)?" /\x3e":"\x3e"};
hiccups.runtime.xml_attribute=function(a,b){return[" ",hiccups.runtime.as_str.call(null,a),'\x3d"',cljs.core.str.cljs$core$IFn$_invoke$arity$1(hiccups.runtime.escape_html.call(null,b)),'"'].join("")};
hiccups.runtime.render_attribute=function(a){var b=cljs.core.nth.call(null,a,0,null);a=cljs.core.nth.call(null,a,1,null);return!0===a?hiccups.runtime.xml_mode_QMARK_.call(null)?hiccups.runtime.xml_attribute.call(null,b,b):[" ",hiccups.runtime.as_str.call(null,b)].join(""):cljs.core.not.call(null,a)?"":hiccups.runtime.xml_attribute.call(null,b,a)};
hiccups.runtime.render_attr_map=function(a){return cljs.core.apply.call(null,cljs.core.str,cljs.core.sort.call(null,cljs.core.map.call(null,hiccups.runtime.render_attribute,a)))};
hiccups.runtime.normalize_element=function(a){a=cljs.core.seq.call(null,a);var b=cljs.core.first.call(null,a);a=cljs.core.next.call(null,a);if(!(b instanceof cljs.core.Keyword||b instanceof cljs.core.Symbol||"string"===typeof b))throw[cljs.core.str.cljs$core$IFn$_invoke$arity$1(b)," is not a valid tag name"].join("");var c=cljs.core.re_matches.call(null,hiccups.runtime.re_tag,hiccups.runtime.as_str.call(null,b));cljs.core.nth.call(null,c,0,null);b=cljs.core.nth.call(null,c,1,null);var d=cljs.core.nth.call(null,
c,2,null);c=cljs.core.nth.call(null,c,3,null);d=new cljs.core.PersistentArrayMap(null,2,[new cljs.core.Keyword(null,"id","id",-1388402092),d,new cljs.core.Keyword(null,"class","class",-2030961996),cljs.core.truth_(c)?clojure.string.replace.call(null,c,"."," "):null],null);c=cljs.core.first.call(null,a);return cljs.core.map_QMARK_.call(null,c)?new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,[b,cljs.core.merge.call(null,d,c),cljs.core.next.call(null,a)],null):new cljs.core.PersistentVector(null,
3,5,cljs.core.PersistentVector.EMPTY_NODE,[b,d,a],null)};
hiccups.runtime.render_element=function(a){var b=hiccups.runtime.normalize_element.call(null,a);a=cljs.core.nth.call(null,b,0,null);var c=cljs.core.nth.call(null,b,1,null);b=cljs.core.nth.call(null,b,2,null);return cljs.core.truth_(cljs.core.truth_(b)?b:hiccups.runtime.container_tags.call(null,a))?["\x3c",cljs.core.str.cljs$core$IFn$_invoke$arity$1(a),cljs.core.str.cljs$core$IFn$_invoke$arity$1(hiccups.runtime.render_attr_map.call(null,c)),"\x3e",cljs.core.str.cljs$core$IFn$_invoke$arity$1(hiccups.runtime.render_html.call(null,
b)),"\x3c/",cljs.core.str.cljs$core$IFn$_invoke$arity$1(a),"\x3e"].join(""):["\x3c",cljs.core.str.cljs$core$IFn$_invoke$arity$1(a),cljs.core.str.cljs$core$IFn$_invoke$arity$1(hiccups.runtime.render_attr_map.call(null,c)),hiccups.runtime.end_tag.call(null)].join("")};
hiccups.runtime.render_html=function(a){return cljs.core.vector_QMARK_.call(null,a)?hiccups.runtime.render_element.call(null,a):cljs.core.seq_QMARK_.call(null,a)?cljs.core.apply.call(null,cljs.core.str,cljs.core.map.call(null,hiccups.runtime.render_html,a)):hiccups.runtime.as_str.call(null,a)};weathergen.wind={};
weathergen.wind.barb=function(a){var b=cljs.core.long$.call(null,a/50),c=a-50*b,d=weathergen.math.clamp.call(null,0===b?1:0,100,c/5|0),e=d/2|0,f=cljs.core.odd_QMARK_.call(null,d),g=f&&0===e&&0===b,h=0===b&&0<e,k=.25*b;return hoplon.svg.g.call(null,h?hoplon.svg.path.call(null,new cljs.core.Keyword(null,"attr","attr",-604132353),new cljs.core.PersistentArrayMap(null,2,[new cljs.core.Keyword(null,"class","class",-2030961996),"wind-vector",new cljs.core.Keyword(null,"fill","fill",883462889),"none"],null),
new cljs.core.Keyword(null,"d","d",1972142424),goog.string.format("M%f,%f L%f,%f L%f,%f",.375,-.5,0,-.35,0,.35)):hoplon.svg.line.call(null,new cljs.core.Keyword(null,"attr","attr",-604132353),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"class","class",-2030961996),"wind-vector"],null),new cljs.core.Keyword(null,"x1","x1",-1863922247),0,new cljs.core.Keyword(null,"x2","x2",-1362513475),0,new cljs.core.Keyword(null,"y1","y1",589123466),.35,new cljs.core.Keyword(null,"y2","y2",
-718691301),-.35),hoplon.svg.g.call(null,new cljs.core.Keyword(null,"attr","attr",-604132353),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"class","class",-2030961996),"wind-vector pennant"],null),function(){return function(a,b,c,d,e,f,g,h,k,w,x,y,z,B,C){return function F(l){return new cljs.core.LazySeq(null,function(a,b,c,d,e,f,g,h,k,m,n,p,q,r,t){return function(){for(;;){var a=cljs.core.seq.call(null,l);if(a){if(cljs.core.chunked_seq_QMARK_.call(null,a)){var b=cljs.core.chunk_first.call(null,
a),c=cljs.core.count.call(null,b),d=cljs.core.chunk_buffer.call(null,c);a:for(var e=0;;)if(e<c){var f=cljs.core._nth.call(null,b,e);cljs.core.chunk_append.call(null,d,hoplon.svg.path.call(null,new cljs.core.Keyword(null,"attr","attr",-604132353),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"fill","fill",883462889),"black"],null),new cljs.core.Keyword(null,"d","d",1972142424),goog.string.format("M%f,%f L%f,%f L%f,%f Z",0,-.5+r*f,p,-.5+r*f,0,-.5+r*f+q)));e+=1}else{b=!0;break a}return b?
cljs.core.chunk_cons.call(null,cljs.core.chunk.call(null,d),F.call(null,cljs.core.chunk_rest.call(null,a))):cljs.core.chunk_cons.call(null,cljs.core.chunk.call(null,d),null)}d=cljs.core.first.call(null,a);return cljs.core.cons.call(null,hoplon.svg.path.call(null,new cljs.core.Keyword(null,"attr","attr",-604132353),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"fill","fill",883462889),"black"],null),new cljs.core.Keyword(null,"d","d",1972142424),goog.string.format("M%f,%f L%f,%f L%f,%f Z",
0,-.5+r*d,p,-.5+r*d,0,-.5+r*d+q)),F.call(null,cljs.core.rest.call(null,a)))}return null}}}(a,b,c,d,e,f,g,h,k,w,x,y,z,B,C),null,null)}}(b,c,d,e,f,g,h,1,.1,.16,.15,.375,.2,.25,k).call(null,cljs.core.range.call(null,b))}()),hoplon.svg.g.call(null,new cljs.core.Keyword(null,"attr","attr",-604132353),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"class","class",-2030961996),"wind-vector full-tail"],null),function(){return function(a,b,c,d,e,f,g,h,k,w,x,y,z,B,C){return function F(l){return new cljs.core.LazySeq(null,
function(a,b,c,d,e,f,g,h,k,m,n,p,q,r,t){return function(){for(;;){var a=cljs.core.seq.call(null,l);if(a){if(cljs.core.chunked_seq_QMARK_.call(null,a)){var b=cljs.core.chunk_first.call(null,a),c=cljs.core.count.call(null,b),d=cljs.core.chunk_buffer.call(null,c);a:for(var e=0;;)if(e<c){var f=cljs.core._nth.call(null,b,e);cljs.core.chunk_append.call(null,d,hoplon.svg.line.call(null,new cljs.core.Keyword(null,"x1","x1",-1863922247),0,new cljs.core.Keyword(null,"y1","y1",589123466),-.5+n+t+m*f,new cljs.core.Keyword(null,
"x2","x2",-1362513475),p,new cljs.core.Keyword(null,"y2","y2",-718691301),-.5+t+m*f));e+=1}else{b=!0;break a}return b?cljs.core.chunk_cons.call(null,cljs.core.chunk.call(null,d),F.call(null,cljs.core.chunk_rest.call(null,a))):cljs.core.chunk_cons.call(null,cljs.core.chunk.call(null,d),null)}d=cljs.core.first.call(null,a);return cljs.core.cons.call(null,hoplon.svg.line.call(null,new cljs.core.Keyword(null,"x1","x1",-1863922247),0,new cljs.core.Keyword(null,"y1","y1",589123466),-.5+n+t+m*d,new cljs.core.Keyword(null,
"x2","x2",-1362513475),p,new cljs.core.Keyword(null,"y2","y2",-718691301),-.5+t+m*d),F.call(null,cljs.core.rest.call(null,a)))}return null}}}(a,b,c,d,e,f,g,h,k,w,x,y,z,B,C),null,null)}}(b,c,d,e,f,g,h,1,.1,.16,.15,.375,.2,.25,k).call(null,cljs.core.range.call(null,h?1:0,e))}()),f?hoplon.svg.line.call(null,new cljs.core.Keyword(null,"attr","attr",-604132353),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"class","class",-2030961996),"wind-vector half-tail"],null),new cljs.core.Keyword(null,
"x1","x1",-1863922247),0,new cljs.core.Keyword(null,"y1","y1",589123466),-.35+k+.16*(e+(g?1.5:0)),new cljs.core.Keyword(null,"x2","x2",-1362513475),.375*.6,new cljs.core.Keyword(null,"y2","y2",-718691301),-.44+k+.16*(e+(g?1.5:0))):null)};weathergen.help={};
weathergen.help.wind_barb=function(a,b){return hoplon.svg.svg.call(null,new cljs.core.Keyword(null,"viewBox","viewBox",-469489477),"0 0 1 1",new cljs.core.Keyword(null,"width","width",-384071477),20,new cljs.core.Keyword(null,"height","height",1025178622),20,new cljs.core.Keyword(null,"attr","attr",-604132353),new cljs.core.PersistentArrayMap(null,3,["xmlns:xlink","http://www.w3.org/1999/xlink","xmlns","http://www.w3.org/2000/svg",new cljs.core.Keyword(null,"overflow","overflow",2058931880),"visible"],
null),hoplon.svg.g.call(null,new cljs.core.Keyword(null,"transform","transform",1381301764),"translate(0.5, 0.5)",hoplon.svg.g.call(null,new cljs.core.Keyword(null,"transform","transform",1381301764),goog.string.format("rotate(%d)",b),weathergen.wind.barb.call(null,a))))};weathergen.help.frag=function(a){return document.createRange().createContextualFragment(a)};
weathergen.help.hiccup=function(a){return weathergen.help.frag.call(null,cljs.core.str.cljs$core$IFn$_invoke$arity$1(hiccups.runtime.render_html.call(null,a)))};
var ctors_35229=cljs.core.PersistentHashMap.fromArrays([new cljs.core.Keyword(null,"dd","dd",-1340437629),new cljs.core.Keyword(null,"tbody","tbody",-80678300),new cljs.core.Keyword(null,"table","table",-564943036),new cljs.core.Keyword(null,"ul","ul",-1349521403),new cljs.core.Keyword(null,"strong","strong",269529E3),new cljs.core.Keyword(null,"td","td",1479933353),new cljs.core.Keyword(null,"li","li",723558921),new cljs.core.Keyword(null,"dt","dt",-368444759),new cljs.core.Keyword(null,"tr","tr",
-1424774646),new cljs.core.Keyword(null,"em","em",707813035),new cljs.core.Keyword(null,"div","div",1057191632),new cljs.core.Keyword(null,"ol","ol",932524051),new cljs.core.Keyword(null,"b","b",1482224470),new cljs.core.Keyword(null,"p","p",151049309),new cljs.core.Keyword(null,"i","i",-1386841315),new cljs.core.Keyword(null,"img","img",1442687358),new cljs.core.Keyword(null,"dl","dl",-2140151713),new cljs.core.Keyword(null,"span","span",1394872991)],[hoplon.core.dd,hoplon.core.tbody,hoplon.core.table,
hoplon.core.ul,hoplon.core.strong,hoplon.core.td,hoplon.core.li,hoplon.core.dt,hoplon.core.tr,hoplon.core.em,hoplon.core.div,hoplon.core.ol,hoplon.core.b,hoplon.core.p,hoplon.core.i,hoplon.core.img,hoplon.core.dl,hoplon.core.span]);
weathergen.help.hoplonify=function(a){return function(b){if(b instanceof cljs.core.Keyword)return cljs.core.get.call(null,a,b);if(cljs.core.vector_QMARK_.call(null,b)){var c=cljs.core.seq.call(null,b);b=cljs.core.first.call(null,c);c=cljs.core.next.call(null,c);return cljs.core.apply.call(null,weathergen.help.hoplonify.call(null,b),cljs.core.map.call(null,weathergen.help.hoplonify,c))}return cljs.core.sequential_QMARK_.call(null,b)?cljs.core.map.call(null,weathergen.help.hoplonify,b):cljs.core.map_QMARK_.call(null,
b)?cljs.core.dissoc.call(null,cljs.core.assoc.call(null,b,new cljs.core.Keyword(null,"css","css",1135045163),(new cljs.core.Keyword(null,"style","style",-496642736)).cljs$core$IFn$_invoke$arity$1(b)),new cljs.core.Keyword(null,"style","style",-496642736)):b}}(ctors_35229);weathergen.help.content=function(a){for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;b=0<b.length?new cljs.core.IndexedSeq(b.slice(0),0,null):null;return weathergen.help.content.cljs$core$IFn$_invoke$arity$variadic(b)};
weathergen.help.content.cljs$core$IFn$_invoke$arity$variadic=function(a){return function(b){var c=cljs.core._EQ_;if(cljs.core.truth_(c.call(null,new cljs.core.Keyword(null,"hoplon","hoplon",-1616134367),b))){b=document.createDocumentFragment();c=cljs.core.seq.call(null,a);for(var d=null,e=0,f=0;;)if(f<e){var g=cljs.core._nth.call(null,d,f);goog.dom.appendChild(b,weathergen.help.hoplonify.call(null,g));f+=1}else if(c=cljs.core.seq.call(null,c))d=c,cljs.core.chunked_seq_QMARK_.call(null,d)?(c=cljs.core.chunk_first.call(null,
d),f=cljs.core.chunk_rest.call(null,d),d=c,e=cljs.core.count.call(null,c),c=f):(c=cljs.core.first.call(null,d),goog.dom.appendChild(b,weathergen.help.hoplonify.call(null,c)),c=cljs.core.next.call(null,d),d=null,e=0),f=0;else break;return b}if(cljs.core.truth_(c.call(null,new cljs.core.Keyword(null,"react","react",1456324418),b)))return a;throw Error(["No matching clause: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(b)].join(""));}};weathergen.help.content.cljs$lang$maxFixedArity=0;
weathergen.help.content.cljs$lang$applyTo=function(a){return this.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq.call(null,a))};weathergen.help.content_para=function(a){return weathergen.help.content.call(null,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"div","div",1057191632),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"p","p",151049309),a],null)],null))};
weathergen.help.color_text='Use either the color dropdown or the text box. Color names entered into the text box can be color names like "red" or "blue" or HTML color codes like "#FF123456". Note also the transparency slider at the bottom of the color dropdown. Use this to make colors partially for fully transparent.';weathergen.help.slider_text="Use the slider to adjust or enter a number between 1 and 100 directly.";
weathergen.help.help_content_ctors=cljs.core.PersistentHashMap.fromArrays([new cljs.core.Keyword(null,"flight-paths","flight-paths",159519268),new cljs.core.Keyword(null,"weather-display-controls","weather-display-controls",941597221),new cljs.core.Keyword(null,"map-controls","map-controls",-1453318552),new cljs.core.Keyword(null,"forecast","forecast",-1289862359),new cljs.core.Keyword(null,"tools","tools",-1241731990),new cljs.core.Keyword(null,"settings","settings",1556144875),new cljs.core.Keyword(null,
"serialization-controls","serialization-controls",-789590644),new cljs.core.Keyword(null,"flights","flights",-1637719124),new cljs.core.Keyword(null,"movement-params","movement-params",293385966),new cljs.core.Keyword(null,"weather-overrides","weather-overrides",-837381710),new cljs.core.Keyword(null,"table-grid","table-grid",1980411698),new cljs.core.Keyword(null,"clouds","clouds",-632461223),new cljs.core.Keyword(null,"mission-info","mission-info",1263062521),new cljs.core.Keyword(null,"weather-params",
"weather-params",-259271365),new cljs.core.Keyword(null,"weather-type-config","weather-type-config",-2069342501),new cljs.core.Keyword(null,"displayed-time","displayed-time",141846012),new cljs.core.Keyword(null,"step","step",1288888124),new cljs.core.Keyword(null,"air-forces","air-forces",-1539372068),new cljs.core.Keyword(null,"map","map",1371690461)],[cljs.core.PersistentHashMap.fromArrays([new cljs.core.Keyword(null,"show-numbers?","show-numbers?",2091531616),new cljs.core.Keyword(null,"remove",
"remove",-131428414),new cljs.core.Keyword(null,"show-labels?","show-labels?",-616006332),new cljs.core.Keyword(null,"color","color",1011675173),new cljs.core.Keyword(null,"scale","scale",-230427353),new cljs.core.Keyword(null,"name","name",1843675177),new cljs.core.Keyword(null,"section","section",-300141526),new cljs.core.Keyword(null,"show?","show?",1543842127),new cljs.core.Keyword(null,"show-lines?","show-lines?",993084312)],[weathergen.help.content_para.call(null,"If checked, steerpoints not otherwise labeled will be labeled\n     with their numbers."),
weathergen.help.content_para.call(null,"Click to permanently remove this flight path from the\n    list."),weathergen.help.content_para.call(null,"If checked, alternate field and tanker steerpoints will be\n     labeled as such."),weathergen.help.content_para.call(null,"Change the color in which the flight path and labels will be\n    drawn on the map."),weathergen.help.content_para.call(null,"Drag the slider left and right to decrease or increase the\n    size of the text and flight path lines."),
weathergen.help.content_para.call(null,"An arbitrary label for this flight path, usually the flight\n    callsign. Click the pencil icon to edit it. The name is not shown\n    on the map."),weathergen.help.content_para.call(null,"Load flight plans from a mission .ini/DTC file so they can be\n     shown on the map."),weathergen.help.content_para.call(null,"If checked, flight path will be shown. If unchecked,\n    flight path will be hidden."),weathergen.help.content_para.call(null,"If checked, steerpoint lines from the DTC (if any) will be\n    shown. If unchecked, steerpoint lines will be hidden.")]),
new cljs.core.PersistentArrayMap(null,5,[new cljs.core.Keyword(null,"map","map",1371690461),weathergen.help.content_para.call(null,"Chooses the map image displayed in the background."),new cljs.core.Keyword(null,"display","display",242065432),weathergen.help.content.call(null,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"p","p",151049309),"Selects what will be displayed on the weather grid at the left."],null),new cljs.core.PersistentVector(null,
9,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"dl","dl",-2140151713),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"dt","dt",-368444759),"None"],null),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"dd","dd",-1340437629),"No data will be displayed"],null),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,
"dt","dt",-368444759),"Weather Type"],null),new cljs.core.PersistentVector(null,5,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"dd","dd",-1340437629),"Display the type of weather, which determines cloud cover\n   and precipitation in Falcon. Note that unlike a radar map you might\n   see on TV, green does ",hoplon.core.em.call(null,"not")," indicate rain.",new cljs.core.PersistentVector(null,9,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"dl","dl",-2140151713),
new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"dt","dt",-368444759),"Red"],null),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"dd","dd",-1340437629),"Inclement weather"],null),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"dt","dt",-368444759),"Yellow"],null),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,
[new cljs.core.Keyword(null,"dd","dd",-1340437629),"Poor weather"],null),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"dt","dt",-368444759),"Green"],null),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"dd","dd",-1340437629),"Fair weather"],null),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"dt","dt",-368444759),"Clear"],
null),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"dd","dd",-1340437629),"Sunny weather"],null)],null)],null),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"dt","dt",-368444759),"Pressure"],null),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"dd","dd",-1340437629),"The barometric pressure will be displayed. Red indicates\n      low pressure, white indicates high pressure. Use the pressure\n      overlay or click a cell to get exact values."],
null),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"dt","dt",-368444759),"Temperature"],null),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"dd","dd",-1340437629),"The air pressure will be displayed. White indicates cold\n      temperatures. Red indicates high temperatures. Use the pressure\n      overlay or click a cell to get exact values."],null)],null)),new cljs.core.Keyword(null,
"overlay","overlay",-139131598),weathergen.help.content.call(null,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"p","p",151049309),"Selects what data will be shown in each cell of the grid,\n    overlaid on the data selcted for 'Display'. Wind is shown as a\n    bent line, with the tail(s) in the direction the wind is coming\n    from. Each full tail indicates ten knots of wind speed, and a half\n    tail adds five."],null),new cljs.core.PersistentVector(null,
2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"p","p",151049309),"Text overlays may be hard to read when the map grid is\n     small. Zoom the map to enlarge. Or click a cell to read the same\n     data from the forecast section."],null)),new cljs.core.Keyword(null,"pressure","pressure",505343747),weathergen.help.content_para.call(null,"Units for pressure measurements - inches Mercury (InHg) or millibars."),new cljs.core.Keyword(null,"opacity","opacity",397153780),weathergen.help.content_para.call(null,
"Controls how opaque or transparent the display layer will be.\n    Slide the slider to the left to more easily see the map.")],null),cljs.core.PersistentHashMap.fromArrays([new cljs.core.Keyword(null,"flight-path-size","flight-path-size",-1809746301),new cljs.core.Keyword(null,"general","general",380803686),new cljs.core.Keyword(null,"icon-size","icon-size",414161352),new cljs.core.Keyword(null,"show-bullseye?","show-bullseye?",310289003),new cljs.core.Keyword(null,"brightness","brightness",1067055820),
new cljs.core.Keyword(null,"reset-brightness","reset-brightness",-1371858890),new cljs.core.Keyword(null,"annotations","annotations",1640956248),new cljs.core.Keyword(null,"text-size","text-size",-945618309),new cljs.core.Keyword(null,"show-text-background?","show-text-background?",-442833124),new cljs.core.Keyword(null,"reset-text-size","reset-text-size",1859075869),new cljs.core.Keyword(null,"reset-icon-size","reset-icon-size",1988531871)],[weathergen.help.content_para.call(null,"Use this slider to make flight paths wider or narrower.\n      Narrower is to the left, wider to the right."),
weathergen.help.content_para.call(null,"Use the controls in this section to affect the overall appearance of the map."),weathergen.help.content_para.call(null,"Use this slider to make the icons on the map larger or\n      smaller. Smaller is to the left, larger to the right."),weathergen.help.content_para.call(null,'When checked, the bullseye "spiderweb" will be shown on\n      the map, with range rings every 30nm up to 180nm and bearing\n      lines every 30 degrees.'),weathergen.help.content.call(null,
new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"div","div",1057191632),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"p","p",151049309),"When centered, the map will appear as it does in the\n  simulation. When moved to the left, the map will be 'dimmed' towards\n  black. When moved to the right, the map will be 'brightened' towards\n  white. Full left/right will cause the map to be completely replaced\n  by black/white."],
null),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"p","p",151049309),"Use this to increase the visibility of icons, labels, flight\n      paths, etc."],null)],null)),weathergen.help.content_para.call(null,"Click this button to reset the brightness to its default value."),cljs.core.PersistentHashMap.fromArrays([new cljs.core.Keyword(null,"border-style","border-style",-485574304),new cljs.core.Keyword(null,"fill-color","fill-color",-1156875903),
new cljs.core.Keyword(null,"rotation","rotation",-1728051644),new cljs.core.Keyword(null,"color","color",1011675173),new cljs.core.Keyword(null,"edge-width","edge-width",-1845528442),new cljs.core.Keyword(null,"font-size","font-size",-1847940346),new cljs.core.Keyword(null,"valign","valign",1485197511),new cljs.core.Keyword(null,"font-bold?","font-bold?",-796638521),new cljs.core.Keyword(null,"edge-dash-length","edge-dash-length",-19162360),new cljs.core.Keyword(null,"edge-color","edge-color",-533761623),
new cljs.core.Keyword(null,"heft","heft",-1112917),new cljs.core.Keyword(null,"filled?","filled?",-1363697461),new cljs.core.Keyword(null,"background","background",-863952629),new cljs.core.Keyword(null,"border-dash-length","border-dash-length",713848683),new cljs.core.Keyword(null,"type","type",1174270348),new cljs.core.Keyword(null,"points","points",-1486596883),new cljs.core.Keyword(null,"overview","overview",-435037267),new cljs.core.Keyword(null,"font","font",-1506159249),new cljs.core.Keyword(null,
"size","size",1098693007),new cljs.core.Keyword(null,"closed?","closed?",-1408769040),new cljs.core.Keyword(null,"border-width","border-width",-1512605390),new cljs.core.Keyword(null,"edge-style","edge-style",1285542514),new cljs.core.Keyword(null,"edit-buttons","edit-buttons",-799797836),new cljs.core.Keyword(null,"label","label",1718410804),new cljs.core.Keyword(null,"arrowhead-length","arrowhead-length",437777364),new cljs.core.Keyword(null,"arrowhead-width","arrowhead-width",839938517),new cljs.core.Keyword(null,
"reset-label","reset-label",-1700235787),new cljs.core.Keyword(null,"border-dash-spacing","border-dash-spacing",-1472488649),new cljs.core.Keyword(null,"border-color","border-color",-2059162761),new cljs.core.Keyword(null,"edge-dash-spacing","edge-dash-spacing",1667711192),new cljs.core.Keyword(null,"font-italic?","font-italic?",-663673639),new cljs.core.Keyword(null,"threat","threat",-2071776455),new cljs.core.Keyword(null,"serialization-buttons","serialization-buttons",-1286443653),new cljs.core.Keyword(null,
"shaft","shaft",-278047141),new cljs.core.Keyword(null,"serialization","serialization",-471429060),new cljs.core.Keyword(null,"location","location",1815599388),new cljs.core.Keyword(null,"halign","halign",-1113968481),new cljs.core.Keyword(null,"text","text",-1790561697)],[weathergen.help.content_para.call(null,"What type of border, if any, to draw around the annotation."),weathergen.help.content_para.call(null,["The color used to fill the interior of an annotation. ",weathergen.help.color_text].join("")),
weathergen.help.content_para.call(null,"The rotation of the selected annotation, in degrees."),weathergen.help.content_para.call(null,"Use this dropdown to control the color in which the text will be drawn. The slider at the bottom controls transparency."),weathergen.help.content_para.call(null,"Sets the width of any edges that are drawn. Use either the\n       slider or the text box to set a value from 1 to 100."),weathergen.help.content_para.call(null,"The size of the font in a text annotation. A number between 1.0 and 100.0."),
weathergen.help.content_para.call(null,"Controls whether the text will be vertically aligned to the top, middle, or bottom of the annotation."),weathergen.help.content.call(null,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"div","div",1057191632),new cljs.core.PersistentVector(null,4,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"p","p",151049309),"When checked, the text will be rendered in a ",new cljs.core.PersistentVector(null,
3,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"span","span",1394872991),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"css","css",1135045163),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"font-weight","font-weight",2085804583),"bold"],null)],null),"bold"],null)," font."],null)],null)),weathergen.help.content_para.call(null,"For a dashed edge, sets how long the dashes are."),weathergen.help.content_para.call(null,["Sets the color of any edges that are drawn. ",
weathergen.help.color_text].join("")),weathergen.help.content_para.call(null,["Controls the overall thickness of the arrow annotation. ",weathergen.help.slider_text].join("")),weathergen.help.content_para.call(null,"If checked, the annotation will have its interior filled by the\n     specified color. If unchecked, the annotation will not be\n     filled."),weathergen.help.content_para.call(null,"Use this dropdown to control the background drawn behind the text. The slider at the bottom controls transparency: move it all the way to the left to have no background drawn."),
weathergen.help.content_para.call(null,"When drawing a dashed border, controls how long the dashes are."),weathergen.help.content.call(null,new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"div","div",1057191632),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"p","p",151049309),"The type of the annotation. One of:"],null),new cljs.core.PersistentVector(null,7,5,cljs.core.PersistentVector.EMPTY_NODE,
[new cljs.core.Keyword(null,"dl","dl",-2140151713),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"dt","dt",-368444759),"Shape"],null),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"dd","dd",-1340437629),"A rectangle or oval, with or without a border, with or without text inside, and with or without a filled interior region."],null),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,
[new cljs.core.Keyword(null,"dt","dt",-368444759),"Arrow"],null),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"dd","dd",-1340437629),"An arrow shape."],null),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"dt","dt",-368444759),"PPT"],null),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"dd","dd",-1340437629),"A pre-planned threat with optional range ring, label, and filled interior."],
null)],null)],null)),weathergen.help.content.call(null,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"div","div",1057191632),new cljs.core.PersistentVector(null,4,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"p","p",151049309),"The X and Y location of each labeled point of the annotation. It is generally easier to move things with the mouse by clicking and dragging the ",new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,
[new cljs.core.Keyword(null,"img","img",1442687358),new cljs.core.PersistentArrayMap(null,3,[new cljs.core.Keyword(null,"src","src",-1651076051),"images/move.svg",new cljs.core.Keyword(null,"width","width",-384071477),weathergen.ui.common.px.call(null,16),new cljs.core.Keyword(null,"height","height",1025178622),weathergen.ui.common.px.call(null,16)],null)],null)," button."],null)],null)),weathergen.help.content.call(null,new cljs.core.PersistentVector(null,4,5,cljs.core.PersistentVector.EMPTY_NODE,
[new cljs.core.Keyword(null,"div","div",1057191632),new cljs.core.PersistentVector(null,8,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"p","p",151049309),'Use this section to add annotations - bits of text, arrows, borders, images, etc. - to the map. Annotations are saved in the briefing file so they can be shared with partipating pilots. Use the "Add ..." buttons to create annotations, the ',new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,
"img","img",1442687358),new cljs.core.PersistentArrayMap(null,2,[new cljs.core.Keyword(null,"src","src",-1651076051),"images/edit.svg",new cljs.core.Keyword(null,"width","width",-384071477),weathergen.ui.common.px.call(null,16)],null)],null)," button to edit existing annotations, the ",new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"img","img",1442687358),new cljs.core.PersistentArrayMap(null,2,[new cljs.core.Keyword(null,"src","src",-1651076051),
"images/hide-eye.svg",new cljs.core.Keyword(null,"width","width",-384071477),weathergen.ui.common.px.call(null,16)],null)],null)," button to hide or show an annotation, and the ",new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"img","img",1442687358),new cljs.core.PersistentArrayMap(null,2,[new cljs.core.Keyword(null,"src","src",-1651076051),"images/trash.png",new cljs.core.Keyword(null,"width","width",-384071477),weathergen.ui.common.px.call(null,
16)],null)],null)," button to delete an annotation."],null),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"p","p",151049309),"When editing, the following controls will appear on the screen, depending on what type of annotation is currently being edited:"],null),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"table","table",-564943036),new cljs.core.PersistentVector(null,7,5,cljs.core.PersistentVector.EMPTY_NODE,
[new cljs.core.Keyword(null,"tbody","tbody",-80678300),new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"tr","tr",-1424774646),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"td","td",1479933353),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"img","img",1442687358),new cljs.core.PersistentArrayMap(null,2,[new cljs.core.Keyword(null,
"src","src",-1651076051),"images/rotate.svg",new cljs.core.Keyword(null,"width","width",-384071477),weathergen.ui.common.px.call(null,16)],null)],null)],null),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"td","td",1479933353),"Click and drag this to rotate the selected annotation."],null)],null),new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"tr","tr",-1424774646),new cljs.core.PersistentVector(null,
2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"td","td",1479933353),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"img","img",1442687358),new cljs.core.PersistentArrayMap(null,3,[new cljs.core.Keyword(null,"src","src",-1651076051),"images/move.svg",new cljs.core.Keyword(null,"width","width",-384071477),weathergen.ui.common.px.call(null,16),new cljs.core.Keyword(null,"height","height",1025178622),weathergen.ui.common.px.call(null,
16)],null)],null)],null),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"td","td",1479933353),"Click and drag this to move the selected annotation."],null)],null),new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"tr","tr",-1424774646),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"td","td",1479933353),new cljs.core.PersistentVector(null,
2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"img","img",1442687358),new cljs.core.PersistentArrayMap(null,2,[new cljs.core.Keyword(null,"src","src",-1651076051),"images/text-resize.svg",new cljs.core.Keyword(null,"width","width",-384071477),weathergen.ui.common.px.call(null,16)],null)],null)],null),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"td","td",1479933353),"Click and drag this to change the size of the text."],
null)],null),new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"tr","tr",-1424774646),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"td","td",1479933353),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"img","img",1442687358),new cljs.core.PersistentArrayMap(null,2,[new cljs.core.Keyword(null,"src","src",-1651076051),"images/checkmark.png",
new cljs.core.Keyword(null,"width","width",-384071477),weathergen.ui.common.px.call(null,16)],null)],null)],null),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"td","td",1479933353),"Click this button to finish editing and remove the edit controls from view."],null)],null),new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"tr","tr",-1424774646),new cljs.core.PersistentVector(null,2,
5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"td","td",1479933353),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"img","img",1442687358),new cljs.core.PersistentArrayMap(null,2,[new cljs.core.Keyword(null,"src","src",-1651076051),"images/trash.png",new cljs.core.Keyword(null,"width","width",-384071477),weathergen.ui.common.px.call(null,16)],null)],null)],null),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,
[new cljs.core.Keyword(null,"td","td",1479933353),"Click this button to delete the annotation."],null)],null),new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"tr","tr",-1424774646),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"td","td",1479933353),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"img","img",1442687358),new cljs.core.PersistentArrayMap(null,
2,[new cljs.core.Keyword(null,"src","src",-1651076051),"images/resize.svg",new cljs.core.Keyword(null,"width","width",-384071477),weathergen.ui.common.px.call(null,16)],null)],null)],null),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"td","td",1479933353),"Click and drag this to change the size of the annotation."],null)],null)],null)],null)],null)),weathergen.help.content_para.call(null,"The font used for drawing a text annotation."),weathergen.help.content.call(null,
new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"div","div",1057191632),new cljs.core.PersistentVector(null,4,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"p","p",151049309),"The width and height of this annotation. It is generally easier to resize things with the mouse by clicking and dragging the ",new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"img","img",
1442687358),new cljs.core.PersistentArrayMap(null,2,[new cljs.core.Keyword(null,"src","src",-1651076051),"images/resize.svg",new cljs.core.Keyword(null,"width","width",-384071477),weathergen.ui.common.px.call(null,16)],null)],null)," button."],null)],null)),weathergen.help.content_para.call(null,"When checked, the shape formed by the points will be closed - an\n    edge will be drawn between the first and last points, and the\n    annotation will be able to be filled. When unchecked, there will\n    be no line drawn between the first and last points, and the\n    annotation will not be able to be filled in."),
weathergen.help.content_para.call(null,"Sets the width or thickness of the border."),weathergen.help.content_para.call(null,"Sets the style of any edges that are drawn."),weathergen.help.content.call(null,new cljs.core.PersistentVector(null,6,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"div","div",1057191632),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"p","p",151049309),"Use these buttons to perform various operations on this annotation."],
null),new cljs.core.PersistentVector(null,4,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"p","p",151049309),"Click ",new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"img","img",1442687358),new cljs.core.PersistentArrayMap(null,3,[new cljs.core.Keyword(null,"src","src",-1651076051),"images/edit.svg",new cljs.core.Keyword(null,"width","width",-384071477),weathergen.ui.common.px.call(null,16),new cljs.core.Keyword(null,
"height","height",1025178622),weathergen.ui.common.px.call(null,16)],null)],null)," to enable interactive editing of the annotation on the map."],null),new cljs.core.PersistentVector(null,4,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"p","p",151049309),"Click ",new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"img","img",1442687358),new cljs.core.PersistentArrayMap(null,3,[new cljs.core.Keyword(null,"src","src",-1651076051),
"images/hide-eye.svg",new cljs.core.Keyword(null,"width","width",-384071477),weathergen.ui.common.px.call(null,16),new cljs.core.Keyword(null,"height","height",1025178622),weathergen.ui.common.px.call(null,16)],null)],null)," to hide or show the annotation on the map."],null),new cljs.core.PersistentVector(null,4,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"p","p",151049309),"Click ",new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,
"img","img",1442687358),new cljs.core.PersistentArrayMap(null,3,[new cljs.core.Keyword(null,"src","src",-1651076051),"images/copy.svg",new cljs.core.Keyword(null,"width","width",-384071477),weathergen.ui.common.px.call(null,16),new cljs.core.Keyword(null,"height","height",1025178622),weathergen.ui.common.px.call(null,16)],null)],null)," to make an exact copy of this annotation. Note that the copy will appear on top of the original - you will have to move it."],null),new cljs.core.PersistentVector(null,
4,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"p","p",151049309),"Click ",new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"img","img",1442687358),new cljs.core.PersistentArrayMap(null,3,[new cljs.core.Keyword(null,"src","src",-1651076051),"images/trash.png",new cljs.core.Keyword(null,"width","width",-384071477),weathergen.ui.common.px.call(null,16),new cljs.core.Keyword(null,"height","height",1025178622),weathergen.ui.common.px.call(null,
16)],null)],null)," to delete this annotation. This operation cannot be undone, so be careful."],null)],null)),weathergen.help.content_para.call(null,"An alternate label for the PPT. Reset or leave alone to use the default."),weathergen.help.content_para.call(null,["Controls the length of the arrowhead portion of the arrow. ",weathergen.help.slider_text].join("")),weathergen.help.content_para.call(null,["Controls the width of the arrowhead portion of the arrow. ",weathergen.help.slider_text].join("")),
weathergen.help.content_para.call(null,"Reset the PPT label to the default."),weathergen.help.content_para.call(null,"When drawing a dashed border, controls how much space there is between the dashes."),weathergen.help.content_para.call(null,"Sets the color and transparency of the border."),weathergen.help.content_para.call(null,"For a dashed edge, sets how large the gaps between the dashes are."),weathergen.help.content.call(null,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,
[new cljs.core.Keyword(null,"div","div",1057191632),new cljs.core.PersistentVector(null,4,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"p","p",151049309),"When checked, the text will be rendered in a ",new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"span","span",1394872991),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"css","css",1135045163),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,
"font-style","font-style",-773672352),"italic"],null)],null),"italic"],null)," font."],null)],null)),weathergen.help.content_para.call(null,"The PPT type. These are drawn from the theater's PPT.INI file."),weathergen.help.content.call(null,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"div","div",1057191632),new cljs.core.PersistentVector(null,7,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"dl","dl",-2140151713),new cljs.core.PersistentVector(null,
2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"dt","dt",-368444759),"Save"],null),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"dd","dd",-1340437629),"Save all annotations to a VMT Annotations (.vmta) file."],null),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"dt","dt",-368444759),"Load"],null),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,
[new cljs.core.Keyword(null,"dd","dd",-1340437629),"Load all annotations from a VMT Annotations (.vmta) file onto the current map."],null),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"dt","dt",-368444759),"Import From Briefing"],null),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"dd","dd",-1340437629),"Load all the annoations from a VMT Briefing (.vmtb) file onto the current map."],
null)],null)],null)),weathergen.help.content_para.call(null,["Controls the width of the straight part of the arrow that excludes the arrowhead. ",weathergen.help.slider_text].join("")),weathergen.help.content_para.call(null,"Load and save annotations to VMT Annotation files, or import annotations from existing VMT Briefing files."),weathergen.help.content.call(null,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"div","div",1057191632),new cljs.core.PersistentVector(null,
4,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"p","p",151049309),"The X and Y location of this annotation. It is generally easier to move things with the mouse by clicking and dragging the ",new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"img","img",1442687358),new cljs.core.PersistentArrayMap(null,3,[new cljs.core.Keyword(null,"src","src",-1651076051),"images/move.svg",new cljs.core.Keyword(null,"width","width",-384071477),
weathergen.ui.common.px.call(null,16),new cljs.core.Keyword(null,"height","height",1025178622),weathergen.ui.common.px.call(null,16)],null)],null)," button."],null)],null)),weathergen.help.content_para.call(null,"Controls whether the text will be horizontally aligned to the left, center, or right of the annotation."),weathergen.help.content_para.call(null,"Changes the text that will appear. You can also click on the text on the map while editing to change the text directly.")]),weathergen.help.content_para.call(null,
"Use this slider to make the text used in labels larger or\n    smaller. Smaller is to the left, larger to the right."),weathergen.help.content_para.call(null,"When checked, labels will be shown against a semitransparent\n      background of a contrasting color."),weathergen.help.content_para.call(null,"Click this button to reset the text size to its default value."),weathergen.help.content_para.call(null,"Click this button to reset the icon sizing to its default value.")]),cljs.core.PersistentHashMap.fromArrays([new cljs.core.Keyword(null,
"pressure","pressure",505343747),new cljs.core.Keyword(null,"cloud","cloud",-1976521303),new cljs.core.Keyword(null,"time","time",1385887882),new cljs.core.Keyword(null,"type","type",1174270348),new cljs.core.Keyword(null,"overview","overview",-435037267),new cljs.core.Keyword(null,"wind","wind",-527553074),new cljs.core.Keyword(null,"share","share",-589433933),new cljs.core.Keyword(null,"precipitation","precipitation",485418199),new cljs.core.Keyword(null,"visibility","visibility",1338380893),new cljs.core.Keyword(null,
"temperature","temperature",899018429)],[weathergen.help.content_para.call(null,"The forecast barometric pressure at the selected location."),weathergen.help.content.call(null,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"p","p",151049309),"The forecast cloud cover at the selected location."],null),new cljs.core.PersistentVector(null,11,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"dl","dl",-2140151713),new cljs.core.PersistentVector(null,
2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"dt","dt",-368444759),"SKC"],null),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"dd","dd",-1340437629),"Sky is clear - no significant clouds. A thin 'stratus'\n        layer may be present."],null),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"dt","dt",-368444759),"FEWxxx"],null),new cljs.core.PersistentVector(null,
2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"dd","dd",-1340437629),"Cumulus clouds covering less than 25% of the sky are\n        present, with a base at xxx hundreds of feet. E.g. FEW050\n        indicates cumulus clouds present at 5000 feet MSL."],null),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"dt","dt",-368444759),"SCTxxx"],null),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,
[new cljs.core.Keyword(null,"dd","dd",-1340437629),"Cumulus clouds covering between 25% and 50% of the sky\n        are present, with a base at xxx hundreds of feet. E.g. SCT050\n        indicates cumulus clouds present at 5000 feet MSL."],null),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"dt","dt",-368444759),"OVCxxx"],null),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"dd",
"dd",-1340437629),"A solid overcast layer is present with a base at xxx\n        hundreds of feet. E.g. OVC050 indicates a solid overcast\n        starting at 5000 feet MSL."],null),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"dt","dt",-368444759),"COTRAxxx"],null),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"dd","dd",-1340437629),"Contrails form above xxx, in hundreds of feet. E.g.\n        COTRA200 indicates contrails above 20000 feet MSL."],
null)],null)),weathergen.help.content_para.call(null,"The date and time of the forecast conditions. Forecasts\n     are (as in the real world) not perfectly accurate."),weathergen.help.content_para.call(null,"The forecast Falcon weather type at the selected location."),weathergen.help.content_para.call(null,"Displays the weather forecast for the selected location in\n   the weather grid."),weathergen.help.content_para.call(null,"The forecast wind strength and direction at the selected\n     location. E.g. '05kts@270' is a 5-knot wind from the west. Note\n     that wind directions indicate the direction the wind is coming\n     from, not the direction it is blowing towards."),
weathergen.help.content_para.call(null,"The 'shareable forecast' link goes to a view of the weather\n   that can be handed out to other pilots. It does not allow editing,\n   nor advancing the weather past the current time, but does include\n   the (potentially inaccurate) forecast, any loaded DTC files, wind\n   stability regions, etc. etc."),weathergen.help.content_para.call(null,"The forecast precipitation at the selected location."),weathergen.help.content_para.call(null,"The forecast visibility (in km) at the selected location."),
weathergen.help.content_para.call(null,"The forecast temperature (in degrees C) at the selected location.")]),new cljs.core.PersistentArrayMap(null,2,[new cljs.core.Keyword(null,"damage-computer","damage-computer",-125971244),weathergen.help.content.call(null,new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"div","div",1057191632),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"p","p",
151049309),"Displays an esimtate of how many weapon hits it\n     will required to destroy a target. Choose an objective from the\n     left dropdown and a weapon from the right to see an estimate for\n     all the features at that objective."],null),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"p","p",151049309),"The grid shows all features at an objective. Features with\n      a value listed are the ones that are target assignable in BMS\n      and will be displayed in the Recon list.."],
null)],null)),new cljs.core.Keyword(null,"database-export","database-export",729454487),weathergen.help.content_para.call(null,'Exports the mission database to a series of CSV files. Use the dialog box to select a directory. Files will be written here with names in the pattern "THEATER-MISSION-CATEGORY.csv".')],null),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"updates","updates",2013983452),weathergen.help.content_para.call(null,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,
[new cljs.core.Keyword(null,"p","p",151049309),"Set up whether VMT will automatically check for updates, or check for updates manually."],null))],null),new cljs.core.PersistentArrayMap(null,2,[new cljs.core.Keyword(null,"save-single-files","save-single-files",-947469927),weathergen.help.content.call(null,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"p","p",151049309),"This section allows saving and loading of the various\n      files that WeatherGen can use. Files should be saved with the\n      same name as the mission (.cam or .tac) file, but with the\n      extension changed as appropriate. For instance, if you're making\n      a mission called 'oca-strike.tac', save the TWX file as\n      'oca-strike.twx'. The filename will use the mission name of the\n      loaded mission section if possible."],
null),new cljs.core.PersistentVector(null,9,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"dl","dl",-2140151713),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"dt","dt",-368444759),"Save Current As FMAP"],null),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"dd","dd",-1340437629),"Saves a single .fmap file with the weather data currently\n        displayed on the map. Contains wind, weather type, pressure,\n        and temperature data for each cell in the grid."],
null),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"dt","dt",-368444759),"Save .TWX"],null),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"dd","dd",-1340437629),"Saves a .twx file, which contains the values from the\n        'Clouds and Contrails' section. This file should be saved with\n        the same name as the mission (.tac or .cam) file, but with a\n        .twx extension."],
null),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"dt","dt",-368444759),"Save Settings"],null),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"dd","dd",-1340437629),"Saves a .vmtw file with all the values from the\n        WeatherGen application. Use this to preserve the state of\n        WeatherGen so you can later pick up where you left off."],null),new cljs.core.PersistentVector(null,
2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"dt","dt",-368444759),"Load Settings"],null),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"dd","dd",-1340437629),"Loads a previously saved .vmtw file. Note that\n        this will overwrite any settings currently in use - be sure to\n        save first if necessary."],null)],null)),new cljs.core.Keyword(null,"multi-save","multi-save",-1814543541),new cljs.core.PersistentArrayMap(null,
5,[new cljs.core.Keyword(null,"overview","overview",-435037267),weathergen.help.content.call(null,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"p","p",151049309),"Use this feature to save all weather-related files for the\n        mission. Requires that a mission be loaded. The following\n        files will be saved:"],null),new cljs.core.PersistentVector(null,5,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"ul","ul",
-1349521403),new cljs.core.PersistentVector(null,4,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"li","li",723558921),new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"b","b",1482224470),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"i","i",-1386841315),"mission-name"],null),".fmap"],null)," - ","An FMAP file containing the starting weather for the\n             designated time block."],
null),new cljs.core.PersistentVector(null,4,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"li","li",723558921),new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"b","b",1482224470),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"i","i",-1386841315),"mission-name"],null),".twx"],null)," - ","A TWX file containing the clouds and contrails settings."],null),new cljs.core.PersistentVector(null,
4,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"li","li",723558921),new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"b","b",1482224470),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"i","i",-1386841315),"mission-name"],null),".setting.edn"],null)," - ","Contains the WeatherGen settings used to generate the\n             package."],null),new cljs.core.PersistentVector(null,
4,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"li","li",723558921),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"b","b",1482224470),"WeatherMapsUpdates"],null)," - ","A folder containing the timestamped FMAP files."],null)],null)),new cljs.core.Keyword(null,"from","from",1815293044),weathergen.help.content_para.call(null,"The generated FMAP files in the WeatherMapsUpdates folder will start from this time."),new cljs.core.Keyword(null,
"to","to",192099007),weathergen.help.content_para.call(null,"The generated FMAP files in the WeatherMapsUpdates folder will end at this time."),new cljs.core.Keyword(null,"step","step",1288888124),weathergen.help.content_para.call(null,"The generated FMAP files in the WeatherMapsUpdates folder will\n     be this many minutes apart."),new cljs.core.Keyword(null,"mission-name","mission-name",1479736582),weathergen.help.content_para.call(null,"The name of the mission file (.cam or .tac) for which\n     weather is being generated. This value will be used to name the\n     generated .twx and .fmap files.")],
null)],null),new cljs.core.PersistentArrayMap(null,7,[new cljs.core.Keyword(null,"mission-key","mission-key",-2054000190),weathergen.help.content_para.call(null,"Displays the default colors for flights by mission type.\n    Click the colored box to make changes. Changes will be remembered\n    from session to session."),new cljs.core.Keyword(null,"mission-key-reset","mission-key-reset",-2081456284),weathergen.help.content_para.call(null,"Click this button to restore all mission type colors to\n      their defaults."),
new cljs.core.Keyword(null,"team-visibility","team-visibility",-2011507771),weathergen.help.content_para.call(null,"Filters the flight list by country. Check the boxes below\n      each flag to list flights for that country in the flights\n      list. Uncheck the box to hide flights from that country."),new cljs.core.Keyword(null,"display-options","display-options",1066052168),new cljs.core.PersistentArrayMap(null,3,[new cljs.core.Keyword(null,"overview","overview",-435037267),weathergen.help.content_para.call(null,
"Use this section to control the way flight paths are shown\n       on the map."),new cljs.core.Keyword(null,"map-flight-path-size","map-flight-path-size",-1349075868),weathergen.help.content_para.call(null,"Slide this control to the left to render flight paths and\n       steerpoint markers with narrower lines. Slide it to the right\n       to render them with wider lines."),new cljs.core.Keyword(null,"reset-map-flight-path-size","reset-map-flight-path-size",-833466927),weathergen.help.content_para.call(null,
"Click this button to restore flight paths to their default\n       width.")],null),new cljs.core.Keyword(null,"flight-info","flight-info",-1755465938),function(a){if(cljs.core.truth_(cljs.core._EQ_.call(null,new cljs.core.Keyword(null,"hoplon","hoplon",-1616134367),a)))return hoplon.core.div.call(null,hoplon.core.p.call(null,"This section lists all the upcoming and in-progress flights\n      for the teams selected above. Click the settings button ",weathergen.ui.buttons.image_button.call(null,new cljs.core.Keyword(null,
"src","src",-1651076051),"images/settings.svg",new cljs.core.Keyword(null,"width","width",-384071477),weathergen.ui.common.px.call(null,16))," to make changes to the way the information is displayed."));throw Error(["No matching clause: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(a)].join(""));},new cljs.core.Keyword(null,"columns","columns",1998437288),cljs.core.PersistentHashMap.fromArrays([new cljs.core.Keyword(null,"package","package",1189062786),new cljs.core.Keyword(null,"airbase","airbase",
-369690299),new cljs.core.Keyword(null,"takeoff","takeoff",719937767),new cljs.core.Keyword(null,"mission","mission",1740288522),new cljs.core.Keyword(null,"airframe","airframe",643222926),new cljs.core.Keyword(null,"show?","show?",1543842127),new cljs.core.Keyword(null,"callsign","callsign",1222385874),new cljs.core.Keyword(null,"combatant","combatant",2138865651),new cljs.core.Keyword(null,"egress","egress",610445366),new cljs.core.Keyword(null,"info","info",-317069002),new cljs.core.Keyword(null,
"tot","tot",2086174646),new cljs.core.Keyword(null,"squadron","squadron",-1131671273)],[weathergen.help.content_para.call(null,"The package number (if any) to which this flight belongs.\n       Sort by this column to see package flights listed near each\n       other."),weathergen.help.content_para.call(null,"The airbase that is home to this flight's squadron."),weathergen.help.content_para.call(null,"The takeoff time for this flight in DAY/HH:MM format."),weathergen.help.content_para.call(null,"The type of mission this flight is performing. Color coded\n       according to the mission key above."),
weathergen.help.content_para.call(null,"The type and quantity of the aircraft in this flight."),weathergen.help.content_para.call(null,"Check the box to display the flight path for this flight on\n       the map. Click the colored square to change the color in which\n       the flight path is displayed from the default (as determined by\n       mission type)."),weathergen.help.content_para.call(null,"The callsign of this flight."),weathergen.help.content_para.call(null,"The 'owner' of this flight."),
weathergen.help.content_para.call(null,"The mission end time for this fligth in DAY/HH:MM format."),function(a){if(cljs.core.truth_(cljs.core._EQ_.call(null,new cljs.core.Keyword(null,"hoplon","hoplon",-1616134367),a)))return hoplon.core.div.call(null,hoplon.core.p.call(null,"Click the ",weathergen.ui.buttons.a_button.call(null,new cljs.core.Keyword(null,"css","css",1135045163),new cljs.core.PersistentArrayMap(null,8,[new cljs.core.Keyword(null,"border-radius","border-radius",419594011),"50%",new cljs.core.Keyword(null,
"width","width",-384071477),weathergen.ui.common.px.call(null,12),new cljs.core.Keyword(null,"height","height",1025178622),weathergen.ui.common.px.call(null,12),new cljs.core.Keyword(null,"text-align","text-align",1786091845),"center",new cljs.core.Keyword(null,"font-weight","font-weight",2085804583),"bold",new cljs.core.Keyword(null,"font-family","font-family",-667419874),"serif",new cljs.core.Keyword(null,"font-size","font-size",-1847940346),"110%",new cljs.core.Keyword(null,"line-height","line-height",
1870784992),weathergen.ui.common.px.call(null,12)],null),"i")," button to display additional information about the flight,\n          including munitions and detailed flight plan info."),hoplon.core.p.call(null,"Click the ",weathergen.ui.buttons.image_button.call(null,new cljs.core.Keyword(null,"width","width",-384071477),weathergen.ui.common.px.call(null,12),new cljs.core.Keyword(null,"src","src",-1651076051),"images/open-external.svg")," button to toggle displaying flight details in a separate tab."));
throw Error(["No matching clause: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(a)].join(""));},weathergen.help.content_para.call(null,"The Time-On-Target for this flight in DAY/HH:MM format."),weathergen.help.content_para.call(null,"The squadron to which this flight belongs.")]),new cljs.core.Keyword(null,"waypoint-columns","waypoint-columns",1546876163),cljs.core.PersistentHashMap.fromArrays([new cljs.core.Keyword(null,"description","description",-1428560544),new cljs.core.Keyword(null,"speed-mach",
"speed-mach",-1842148254),new cljs.core.Keyword(null,"speed-cas","speed-cas",-239308126),new cljs.core.Keyword(null,"number","number",1570378438),new cljs.core.Keyword(null,"depart","depart",-100007287),new cljs.core.Keyword(null,"comments","comments",-293346423),new cljs.core.Keyword(null,"speed-ias","speed-ias",-534091766),new cljs.core.Keyword(null,"speed-tas","speed-tas",228844362),new cljs.core.Keyword(null,"action","action",-811238024),new cljs.core.Keyword(null,"distance","distance",-1671893894),
new cljs.core.Keyword(null,"speed-gnd","speed-gnd",1356834908),new cljs.core.Keyword(null,"altitude","altitude",463588637),new cljs.core.Keyword(null,"arrive","arrive",-284644322),new cljs.core.Keyword(null,"remain","remain",1399477086),new cljs.core.Keyword(null,"heading","heading",-1312171873),new cljs.core.Keyword(null,"enroute","enroute",-1681821057)],[weathergen.help.content_para.call(null,"A brief description of the steerpoint."),weathergen.help.content_para.call(null,"The speed in mach to fly en route to this steerpoint."),
weathergen.help.content_para.call(null,"The calibrated airspeed to fly en route to this steerpoint."),weathergen.help.content_para.call(null,"The steerpoint number."),weathergen.help.content_para.call(null,"The scheduled departure time at the steerpoint, in DAY/HH:MM:SS format."),function(){return hoplon.core.div.call(null,hoplon.core.p.call(null,"Miscellaneous comments, if any."))},weathergen.help.content_para.call(null,"The indicated airspeed to fly en route to this steerpoint."),weathergen.help.content_para.call(null,
"The true airspeed to fly en route to this steerpoint."),weathergen.help.content_para.call(null,"The action to be taken at the steerpoint, if any."),weathergen.help.content_para.call(null,"The distance to this steerpoint from the previous, in nm."),weathergen.help.content_para.call(null,"The ground speed to fly en route to this steerpoint"),weathergen.help.content_para.call(null,"The altitude to fly en route to this steerpoint."),weathergen.help.content_para.call(null,"The scheduled arrival time at the steerpoint, in DAY/HH:MM:SS format."),
weathergen.help.content_para.call(null,"The scheduled duration to remain at the steerpoint, if any, in HH:MM:SS format"),weathergen.help.content_para.call(null,"The heading to this steerpoint from the previous."),weathergen.help.content_para.call(null,"The action to be taken enroute to the steerpoint, if any.")])],null),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"direction","direction",-633359395),new cljs.core.PersistentArrayMap(null,2,[new cljs.core.Keyword(null,"heading",
"heading",-1312171873),weathergen.help.content_para.call(null,"The direction the weather pattern will move in."),new cljs.core.Keyword(null,"speed","speed",1257663751),weathergen.help.content_para.call(null,"The speed at which the weather pattern will move.")],null)],null),cljs.core.PersistentHashMap.fromArrays([new cljs.core.Keyword(null,"pressure","pressure",505343747),new cljs.core.Keyword(null,"show-outline?","show-outline?",820145348),new cljs.core.Keyword(null,"animate?","animate?",-1559039739),
new cljs.core.Keyword(null,"overview","overview",-435037267),new cljs.core.Keyword(null,"radius","radius",-2073122258),new cljs.core.Keyword(null,"center","center",-748944368),new cljs.core.Keyword(null,"falloff","falloff",-1639069456),new cljs.core.Keyword(null,"begin","begin",-319034319),new cljs.core.Keyword(null,"strength","strength",-415606478),new cljs.core.Keyword(null,"taper","taper",1772067478),new cljs.core.Keyword(null,"peak","peak",389096055),new cljs.core.Keyword(null,"exclude-from-forecast?",
"exclude-from-forecast?",1182671640),new cljs.core.Keyword(null,"end","end",-268185958)],[weathergen.help.content_para.call(null,"The override pressure for the region. Use the values from the\n    Weather Type Configuration section to select an appropriate value\n    for the type of weather you are trying to enforce."),weathergen.help.content_para.call(null,"Controls whether the outline of the override region will be\n    shown. Note that this setting also affects the shareable\n    forecast."),weathergen.help.content_para.call(null,
"If checked, the weather override will appear and disappear at\n    the times specified below. If unchecked, the weather override will\n    always be in effect."),weathergen.help.content_para.call(null,"Weather type is determined from air pressure - lower pressure\n   yields inclement or poor weather, and higher pressure fair and\n   sunny weather. By default, pressure is generated randomly, but it\n   can be overridden for certain locations and times using the\n   controls in this section."),weathergen.help.content_para.call(null,
"The radius of the override region, measured in cells."),weathergen.help.content_para.call(null,"The X and Y coordinates of the center of the override region."),weathergen.help.content_para.call(null,"The distance from the center of the region at which the\n    override pressure begins to be blended into the surrounding\n    pressure. Set this to zero to have a very gradual transition. Set\n    it to the radius to have an abrupt edge to the region. Note that\n    abrupt changes may result in odd weather effects in the sim. A\n    falloff of at least four less than the radius is recommended."),
weathergen.help.content_para.call(null,"The time at which the weather override will begin to take\n    effect. The pressure (and therefore the weather type) will\n    gradually change from the unmodified value to the overridden value\n    between this time and the peak time."),weathergen.help.content_para.call(null,"Controls to what degree the underlying pressure pattern will\n    be overridden. This value should be between zero and one. A value\n    of one completely replaces the underlying pressure with the value\n    from the 'pressure' field above. A value of 0.5 would produce a\n    value halfway between the value from the 'pressure' field and the\n    underlying pattern."),
weathergen.help.content_para.call(null,"The time at which the weather override will begin to fade out.\n    The pressure (and therefore the weather time) will gradually\n    change from the overriden value to the unmodified value between\n    this time and the end time."),weathergen.help.content_para.call(null,"The time at which the weather override will reach full\n    strength. It will continue at full strength from this time until\n    the taper time."),weathergen.help.content.call(null,new cljs.core.PersistentVector(null,
2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"p","p",151049309),"If checked, the effects of the override will not be included\n    in the shareable forecast. This allows weather planners to include\n    'surprises'."],null),new cljs.core.PersistentVector(null,4,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"p","p",151049309),"Note that the effects of the override ",hoplon.core.em.call(null,"will")," be\n     visible in the shared forecast for times before 'now'. This is\n     because it doesn't make any sense to hide events that occurred in\n     the past - the user can simply navigate to them."],
null)),weathergen.help.content_para.call(null,"The time at which this override will no longer be in effect.")]),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"settings","settings",1556144875),function(a){if(cljs.core.truth_(cljs.core._EQ_.call(null,new cljs.core.Keyword(null,"hoplon","hoplon",-1616134367),a)))return hoplon.core.div.call(null,hoplon.core.p.call(null,"Press this button to toggle column configuration. When the\n  button is depressed, columns can be added, hidden, and\n  rearranged."),
hoplon.core.p.call(null,"To hide a column, click the checkbox next to the column name\n  until it shows a red ",hoplon.core.span.call(null,new cljs.core.Keyword(null,"css","css",1135045163),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"color","color",1011675173),"red"],null),"✗"),".","To show a column, click the checkbox next to the column name\n  until it shows a green ",hoplon.core.span.call(null,new cljs.core.Keyword(null,"css","css",1135045163),new cljs.core.PersistentArrayMap(null,
1,[new cljs.core.Keyword(null,"color","color",1011675173),"green"],null),"✓"),"."),hoplon.core.p.call(null,"To move a column to the right, click the \x3e button next to\n  the column name. To move a column to the left, click the \x3c\n  button next to the column name."),hoplon.core.p.call(null,"To sort a column, click the ",weathergen.ui.common.inl.call(null,new cljs.core.Keyword(null,"class","class",-2030961996),"sorters",hoplon.svg.svg.call(null,new cljs.core.Keyword(null,"width","width",-384071477),
weathergen.ui.common.px.call(null,20),new cljs.core.Keyword(null,"viewBox","viewBox",-469489477),"-100 -100 200 200",weathergen.ui.common.triangle.call(null,new cljs.core.Keyword(null,"transform","transform",1381301764),"rotate(180) translate(0 -50)",new cljs.core.Keyword(null,"r","r",-471384190),50,new cljs.core.Keyword(null,"stroke","stroke",1741823555),"black",new cljs.core.Keyword(null,"stroke-width","stroke-width",716836435),"2",new cljs.core.Keyword(null,"fill","fill",883462889),"none"),weathergen.ui.common.triangle.call(null,
new cljs.core.Keyword(null,"transform","transform",1381301764),"translate(0 -50)",new cljs.core.Keyword(null,"r","r",-471384190),50,new cljs.core.Keyword(null,"stroke","stroke",1741823555),"black",new cljs.core.Keyword(null,"stroke-width","stroke-width",716836435),"2",new cljs.core.Keyword(null,"fill","fill",883462889),"none")))," icon next to the column name. Clicking will cycle between\n     sorting in ascending and descending order."),hoplon.core.p.call(null,"Note that some columns may not permit hiding, moving, or\n  sorting."),
hoplon.core.p.call(null,"When you are happy with the column configuration, click the\n  settings button again."));throw Error(["No matching clause: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(a)].join(""));}],null),cljs.core.PersistentHashMap.fromArrays([new cljs.core.Keyword(null,"cumulus-coverage","cumulus-coverage",255977312),new cljs.core.Keyword(null,"buttons","buttons",-1953831197),new cljs.core.Keyword(null,"cumulus-base","cumulus-base",-578210868),new cljs.core.Keyword(null,"overview","overview",
-435037267),new cljs.core.Keyword(null,"contrails","contrails",1430581743),new cljs.core.Keyword(null,"stratus-base","stratus-base",-1631962478),new cljs.core.Keyword(null,"low","low",-1601362409),new cljs.core.Keyword(null,"cumulus-size","cumulus-size",-954219270),new cljs.core.Keyword(null,"visibility","visibility",1338380893),new cljs.core.Keyword(null,"stratus-top","stratus-top",784220574)],[weathergen.help.content.call(null,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,
[new cljs.core.Keyword(null,"p","p",151049309),"What percentage of the sky the cumulus clouds (if present) will cover."],null),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"p","p",151049309),"Note that this setting can have a big impact on FPS: decrease\n     coverage if you encounter frame rate issues."],null)),weathergen.help.content.call(null,new cljs.core.PersistentVector(null,11,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,
"dl","dl",-2140151713),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"dt","dt",-368444759),"Randomize Clouds \x26 Vis"],null),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"dl","dl",-2140151713),"Set the values for contrails, high clouds, low clouds, and\n      visibility to random (but valid) values."],null),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,
[new cljs.core.Keyword(null,"dt","dt",-368444759),"Randomize Wind"],null),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"dl","dl",-2140151713),"Set the wind values to random (but valid) values."],null),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"dt","dt",-368444759),"Randomize Temperature"],null),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,
"dl","dl",-2140151713),"Set the temperature values to random (but valid) values."],null),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"dt","dt",-368444759),"Reset to Defaults"],null),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"dl","dl",-2140151713),"Reset the cloud, wind, and temperature values to their default values."],null),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,
[new cljs.core.Keyword(null,"dt","dt",-368444759),"Save TWX"],null),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"dl","dl",-2140151713),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"p","p",151049309),"Save TWX: Saves a .twx file, which contains the cloud and\n        contrail values from this section. This file should be saved\n        with the same name as the mission (.tac or .cam) file, but\n        with a .twx extension."],
null)],null)],null)),weathergen.help.content_para.call(null,"The altitude (in feet) of the cumulus layer. Set to zero for\n    no cumulus clouds. The cumulus base for a given weather category\n    must be at least 1000 feet below the top of the corresponding\n    stratus base."),weathergen.help.content_para.call(null,"Edit the cloud, visibility, and contrail settings. These\n    settings are the same everywhere on the map - they do not vary by\n    location."),weathergen.help.content_para.call(null,
"The altitude at which condensation trails will form."),weathergen.help.content_para.call(null,"The altitude (in feet) of the base stratus\n    layer. The top of the stratus layer must be at least 1000 feet\n    above the cumulus layer."),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"overview","overview",-435037267),weathergen.help.content_para.call(null,"Edit the occurrence and configuration of low clouds. Low clouds\n      are those typically occurring below 10,000 feet.")],
null),weathergen.help.content_para.call(null,"Affects the appearance of the cumulus clouds. Positions\n    further to the right will result in more, smaller clouds. Positions\n    to the left will result in fewer, larger clouds."),weathergen.help.content_para.call(null,"The visibility (in nm) for each weather type."),weathergen.help.content_para.call(null,"The altitude (in feet) of the top of the stratus layer. The\n    top of the stratus layer must be at least 1000 feet above the\n    cumulus layer. The top of the stratus layer must be the same for\n    poor and inclement weather, and sunny and fair weather must have a\n    zero-thickness stratus layer - i.e. the top and base must be the\n    same.")]),
new cljs.core.PersistentArrayMap(null,3,[new cljs.core.Keyword(null,"save-briefing","save-briefing",-1540800301),weathergen.help.content.call(null,new cljs.core.PersistentVector(null,5,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"div","div",1057191632),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"p","p",151049309),"Saves a VMT briefing file. This is a file with a name ending in\n     '.vmtb' that contains information about the mission meant to be\n     shared with mission participants. Pilots can open this file in\n     VMT to view weather and the disposition of friendly forces.\n     Information about hidden enemy forces, future weather, and other\n     information available only to the mission creator will not be\n     viewable."],
null),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"p","p",151049309),"Check the boxes below the alliances you wish briefing\n      recipients to be able to view in full. For instance, check the\n      box below ROK/US to enable participants to see all information\n      about the ROK and US forces. This includes all flights, ground\n      forces, etc. etc."],null),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,
[new cljs.core.Keyword(null,"p","p",151049309),"Note that some information will still be available for\n      unchecked countries. For instance, the home airbase and strength\n      of enemy squadrons is always available."],null),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"p","p",151049309),"Briefing files must be opened on a machine with the\n      indicated version of Falcon BMS and theater installed."],null)],null)),new cljs.core.Keyword(null,
"save-briefing-from-briefing","save-briefing-from-briefing",1357034776),weathergen.help.content_para.call(null,"Click this button to save a copy of the briefing.\n    The copy will contain any changes you have made, including\n    briefing notes and map annotations."),new cljs.core.Keyword(null,"briefing-notes","briefing-notes",-1524193117),new cljs.core.PersistentArrayMap(null,2,[new cljs.core.Keyword(null,"edit","edit",-1641834166),weathergen.help.content_para.call(null,"Textual notes that will appear in the briefing file.\n      Currently, no formatting is supported - at some point VMT will\n      permit links, highlighting, etc."),
new cljs.core.Keyword(null,"briefing","briefing",-176308969),weathergen.help.content_para.call(null,"Optional notes for mission participants.")],null)],null),cljs.core.PersistentHashMap.fromArrays([new cljs.core.Keyword(null,"temp-uniformity","temp-uniformity",836756864),new cljs.core.Keyword(null,"pressure","pressure",505343747),new cljs.core.Keyword(null,"time","time",1385887882),new cljs.core.Keyword(null,"evolution","evolution",944820557),new cljs.core.Keyword(null,"seed","seed",68613327),new cljs.core.Keyword(null,
"feature-size","feature-size",-878734864),new cljs.core.Keyword(null,"turbulence","turbulence",-915506410),new cljs.core.Keyword(null,"origin","origin",1037372088),new cljs.core.Keyword(null,"wind-uniformity","wind-uniformity",827531801),new cljs.core.Keyword(null,"crossfade","crossfade",-118506406),new cljs.core.Keyword(null,"prevailing-wind","prevailing-wind",-190580386)],[weathergen.help.content_para.call(null,"Controls how much the temperature will vary between the bounds\n    set under 'Weather type configuration'. Should be between zero and\n    one. Lower values produce more temperatures near the mean for that\n    weather type. Higher values produce more temperatures near the min\n    and max for that weather type."),
new cljs.core.PersistentArrayMap(null,3,[new cljs.core.Keyword(null,"max","max",61366548),weathergen.help.content_para.call(null,"The maximum barometric pressure that will be generated."),new cljs.core.Keyword(null,"min","min",444991522),weathergen.help.content_para.call(null,"The minimum barometric pressure that will be generated."),new cljs.core.Keyword(null,"variance","variance",1132010827),weathergen.help.content_para.call(null,"The maximum amount the pressure will vary across the theater at any given moment. Pressure will vary over time between the min and the max.")],
null),new cljs.core.PersistentArrayMap(null,3,[new cljs.core.Keyword(null,"offset","offset",296498311),weathergen.help.content_para.call(null,"The time in 'weather space' that is displayed on the grid.\nYou will not normally edit this field, but you can change it to move\nforward and backward in time. "),new cljs.core.Keyword(null,"falcon-time","falcon-time",34959931),weathergen.help.content.call(null,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,
"p","p",151049309),"The current time in the Falcon world. Time cannot be advanced\n     past this point, as that would be peeking into the future."],null),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"p","p",151049309),"Click the 'Jump to' button to set the displayed weather to\n     this time."],null)),new cljs.core.Keyword(null,"browse-time","browse-time",832671504),weathergen.help.content.call(null,new cljs.core.PersistentVector(null,
2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"p","p",151049309),"Enter a time here to view the weather at that time. Use the\n     format 'dd/hhmm', where 'dd', 'hh', and 'mm' are the numeric day,\n     hour, and minute. For example, '01/1200' will show the weather at\n     noon of day 1."],null),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"p","p",151049309),"Note that you will be unable to move the time past 'Falcon\n      time' above, as that would be peeking into the future. Use the\n      Forecast section below to get a (potentially slightly\n      inaccurate) forecast instead."],
null))],null),weathergen.help.content_para.call(null,"The number of minutes it takes for the weather to completely\n     change, even if not moving."),weathergen.help.content_para.call(null,"The seed selects a weather system. Changing this will change\n    the weather pattern entirely. Use any whole number. Click the\n    'Random' button to have the system choose a seed randomly."),weathergen.help.content_para.call(null,"How 'zoomed in' the weather will be on the underlying weather\n    pattern. Make this number bigger to get larger storm cells and\n    larger areas of fair weather. Make it smaller to get weather that\n    changes more frequently."),
new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"power","power",-937852079),weathergen.help.content.call(null,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"p","p",151049309),"Weather patterns are generated by taking an underlying, regular pattern and 'warping' it into random shapes. This parameter controls how strong this warp is. Set it to zero to see the underlying weather pattern with no warping. Higher value produce more warping."],
null),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"p","p",151049309),"As warp strength increases, you will probably have to set a higher zoom to get good results."],null))],null),new cljs.core.PersistentArrayMap(null,2,[new cljs.core.Keyword(null,"x","x",2099068185),weathergen.help.content_para.call(null,"The x location in 'weather space' that is displayed\n   on the grid. You will not normally edit this field, but you can\n   change it to see different parts of the weather pattern."),
new cljs.core.Keyword(null,"y","y",-1757859776),weathergen.help.content_para.call(null,"The y location in 'weather space' that is displayed\non the grid. You will not normally edit this field, but you can change\nit to see different parts of the weather pattern.")],null),weathergen.help.content_para.call(null,"Controls how much the wind speed will vary between the bounds\n    set under 'Weather type configuration'. Should be between zero and\n    one. Lower values produce more winds near the mean for that\n    weather type. Higher values produce more wind speeds near the min\n    and max for that weather type."),
weathergen.help.content_para.call(null,"The degree to which adjacent weather types will be blended\n    together. Zero means that winds, etc. will shift abruptly at\n    weather type boundaries. A good value to use is 0.1. Values above\n    about 0.3 will give strange results."),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"heading","heading",-1312171873),weathergen.help.content_para.call(null,"The direction of the prevailing\n    wind. Although wind direction varies, especially around high- and\n    low-pressure areas, more wind will be generated in this direction\n    than in any other.")],
null)]),new cljs.core.PersistentArrayMap(null,3,[new cljs.core.Keyword(null,"pressure","pressure",505343747),weathergen.help.content_para.call(null,"Weather types (sunny, fair, poor, and inclement) are\n    determined by the barometric pressure. Set the thresholds for\n    which pressures determine which weather types here. "),new cljs.core.Keyword(null,"wind","wind",-527553074),weathergen.help.content_para.call(null,"The minimum, maximum, and mean wind speeds for each weather\n     type. Due to crossfading, these values are not strict - wind can\n     be higher than the maximum or lower than the minimum near the\n     edges of other weather types."),
new cljs.core.Keyword(null,"temp","temp",1791541284),weathergen.help.content_para.call(null,"The minimum, maximum, and mean temperatures for each weather\n     type. Due to crossfading, these values are not strict -\n     temperature can be higher than the maximum or lower than the\n     minimum near the edges of other weather types.")],null),weathergen.help.content.call(null,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"p","p",151049309),
"Controls the Falcon Time that the current weather corresponds\n   to. Edit the day, minute, and hour and then use one of the two\n   buttons."],null),new cljs.core.PersistentVector(null,5,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"dl","dl",-2140151713),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"dt","dt",-368444759),"Jump to"],null),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,
[new cljs.core.Keyword(null,"dd","dd",-1340437629),"Jumps forward or backward to the indicated time. The\n     displayed weather may change."],null),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"dt","dt",-368444759),"Set to"],null),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"dd","dd",-1340437629),"Sets the time to the indicated time. The displayed weather\n     will not change."],
null)],null),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"p","p",151049309),"The time is used to generate file names for downloaded FMAP\n   files, which Falcon relies on to automatically update weather."],null)),weathergen.help.content_para.call(null,"The number of minutes each click of the 'Step forward' or 'Step\n   backward' buttons will move in time. Also influences how many rows\n   there are in the weather forecast."),cljs.core.PersistentHashMap.fromArrays([new cljs.core.Keyword(null,
"airbases-and-squadrons","airbases-and-squadrons",396705313),new cljs.core.Keyword(null,"display-options","display-options",1066052168),new cljs.core.Keyword(null,"hide-zero-status-airbases","hide-zero-status-airbases",1840033965),new cljs.core.Keyword(null,"squadron-types","squadron-types",1890788688),new cljs.core.Keyword(null,"squadron-type-buttons","squadron-type-buttons",-151353966),new cljs.core.Keyword(null,"airbase-selection-buttons","airbase-selection-buttons",-991641834),new cljs.core.Keyword(null,
"airbase-filtering","airbase-filtering",-1721186951),new cljs.core.Keyword(null,"tree-collapse-buttons","tree-collapse-buttons",-1065929796),new cljs.core.Keyword(null,"hide-no-squadron-airbases","hide-no-squadron-airbases",-1359048131)],[weathergen.help.content.call(null,new cljs.core.PersistentVector(null,4,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"div","div",1057191632),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,
"p","p",151049309),"This section displays detailed information about all airbases and the squadrons stationed at them. The information is arranged hierarchically: alliances are at the top level, then airbases, then detailed status for each airbase, including the squadrons stationed at each."],null),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"img","img",1442687358),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"src",
"src",-1651076051),"images/help/air-forces-tree.png"],null)],null),new cljs.core.PersistentVector(null,9,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"ol","ol",932524051),new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"li","li",723558921),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"strong","strong",269529E3),"Expand/collapse."],null)," Use this to show or hide details about this airbase."],
null),new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"li","li",723558921),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"strong","strong",269529E3),"Display on map."],null)," Check this box to have the airbase displayed on the map."],null),new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"li","li",723558921),new cljs.core.PersistentVector(null,
2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"strong","strong",269529E3),"Airbase icon."],null)," The icon for this airbase as it will be shown on the map."],null),new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"li","li",723558921),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"strong","strong",269529E3),"Airbase status."],null)," The status of this airbase. The box is colored in\n           proportion to how close to fully operational the airbase\n           is. Green fill indicates status above 75%. Orange status\n           indicates status between 25% and 75%. Red indicates status\n           below 25%. Completely white indicates an airbase that is at\n           0%."],
null),new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"li","li",723558921),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"strong","strong",269529E3),"Airbase name."],null)," The name of the airbase. Colored to indicate the current owner."],null),new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"li","li",723558921),new cljs.core.PersistentVector(null,
2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"strong","strong",269529E3),"Airbase squadron icons."],null)," Icons for the squadrons deployed at this airbase. Colored\n           to indicate nationality."],null),new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"li","li",723558921),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"strong","strong",269529E3),"Airbase status."],
null)," Status of the airbase."],null),new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"li","li",723558921),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"strong","strong",269529E3),"Airbase squadron details."],null)," Information about the type and strength of the squadrons\n           deployed at this airbase."],null)],null)],null)),new cljs.core.PersistentArrayMap(null,4,[new cljs.core.Keyword(null,
"overview","overview",-435037267),weathergen.help.content.call(null,new cljs.core.PersistentVector(null,4,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"div","div",1057191632),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"p","p",151049309),"Use this section to control the way airbases are displayed\n      on the map. Airbases are shown as icons with up to three other\n      pieces of information around them:"],null),
new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"img","img",1442687358),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"src","src",-1651076051),"images/help/airbase-map-display.png"],null)],null),new cljs.core.PersistentVector(null,6,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"ol","ol",932524051),new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,
"li","li",723558921),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"strong","strong",269529E3),"Airbase icon."],null)," The icon for the airbase."],null),new cljs.core.PersistentVector(null,5,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"li","li",723558921),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"strong","strong",269529E3),"Airbase status."],null)," The status of the airbase. Shown as a colored rectangle\n           filled in proportion to how much damage the airbase has\n           taken:",
new cljs.core.PersistentVector(null,4,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"ul","ul",-1349521403),new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"li","li",723558921),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"strong","strong",269529E3),"Green."],null)," 75% or greater strength."],null),new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,
[new cljs.core.Keyword(null,"li","li",723558921),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"strong","strong",269529E3),"Orange."],null)," Between 25% and 75% strength."],null),new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"li","li",723558921),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"strong","strong",269529E3),
"Red."],null)," Less than 25% strength."],null)],null),"If the rectangle is completely white, the airbase is at 0%\n           strength and cannot sortie."],null),new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"li","li",723558921),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"strong","strong",269529E3),"Squadron icons."],null)," One icon will be shown for each squadron (for squadron\n           types that have been selected). The icon indicates the type\n           of aircraft in the squadron."],
null),new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"li","li",723558921),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"strong","strong",269529E3),"Airbase name."],null)," The name of the airbase."],null),new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"li","li",723558921),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,
[new cljs.core.Keyword(null,"strong","strong",269529E3),"Squadron details."],null),' For each squadron deployed at the airbase, one line of\n           text will be shown, indicating the numerical strength of\n           and airframe for that squadron. For example, "14 F-5E"\n           indicates that a squadron consisting of fourteen F-5E Tiger\n           II aircraft is located at this airbase.'],null)],null)],null)),new cljs.core.Keyword(null,"airbase-labels","airbase-labels",580409100),weathergen.help.content.call(null,
new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"div","div",1057191632),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"p","p",151049309),"Use this dropdown to control how airbase labels will be shown on the map."],null),new cljs.core.PersistentVector(null,7,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"dl","dl",-2140151713),new cljs.core.PersistentVector(null,
2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"dt","dt",-368444759),"Airbase name only"],null),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"dd","dd",-1340437629),"Only the airbase name will be shown below the airbase."],null),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"dt","dt",-368444759),"Airbase name and squadrons"],null),new cljs.core.PersistentVector(null,
2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"dd","dd",-1340437629),"The airbase name will be shown followed by a list of\n       squadrons located at that airbase, one line per squadron. Note\n       that only squadrons whose type has been selected will be\n       shown."],null),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"dt","dt",-368444759),"No label"],null),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,
[new cljs.core.Keyword(null,"dd","dd",-1340437629),"No label will be displayed below the airbase"],null)],null)],null)),new cljs.core.Keyword(null,"show-airbase-status?","show-airbase-status?",-2059784435),weathergen.help.content_para.call(null,"If checked, the status of each airbase will be displayed\n      above the airbase icon on the map."),new cljs.core.Keyword(null,"show-airbase-squadrons?","show-airbase-squadrons?",1245487954),weathergen.help.content_para.call(null,"If checked, squadron icons will be shown to the right of the\n      airbase icon on the map.")],
null),weathergen.help.content_para.call(null,"If checked, airbases that are unable to sortie (i.e. that are\n     at 0% status), will not be shown."),weathergen.help.content_para.call(null,"Selects which squadron types will be displayed. If a box is\n     not checked, it will be as if squadrons consisting of aircraft of\n     that type do not exist - they will not be displayed on the map or\n     in the list below."),weathergen.help.content_para.call(null,"Use these buttons to quickly check or uncheck all the\n    squadron types."),
weathergen.help.content_para.call(null,"Use these buttons to quickly hide or show all airbases on\n      the map. Has the same effect as checking or unchecking each of\n      the airbases in the list below."),weathergen.help.content_para.call(null,"Controls whether airbases will be shown on the map and in\n      the list below based on their status and whether or not they\n      have any aircraft stationed there."),weathergen.help.content.call(null,new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,
[new cljs.core.Keyword(null,"div","div",1057191632),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"p","p",151049309),"Use these buttons to show different levels of detail in the airbase list below."],null),new cljs.core.PersistentVector(null,7,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"dl","dl",-2140151713),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,
"dt","dt",-368444759),"Expand all"],null),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"dd","dd",-1340437629),"Show all available levels of detail for all visible airbases."],null),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"dt","dt",-368444759),"Collapse all"],null),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"dd",
"dd",-1340437629),"Collapse the airbase list so that only alliances/teams are visible."],null),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"dt","dt",-368444759),"Collapse to airbases"],null),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"dd","dd",-1340437629),"Show all visible airbases in the list below, but do not\n       show their detailed status. This is the default view."],
null)],null)],null)),weathergen.help.content_para.call(null,"If checked, airbases that have no airbases stationed at them\n    will hidden. Note that only squadrons of selected types will be\n    considered - a base that has only fighters will be hidden if\n    'Fighter' is unchecked under 'Squadron Types'.")]),new cljs.core.PersistentArrayMap(null,4,[new cljs.core.Keyword(null,"save-image","save-image",-2127892773),weathergen.help.content_para.call(null,"Save a PNG image of the current map view. Select a preset size or specify your own."),
new cljs.core.Keyword(null,"legend","legend",-1027192245),weathergen.help.content.call(null,function(){var a=function(){var a=function(a,b){return new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"div","div",1057191632),new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"div","div",1057191632),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"style","style",-496642736),
new cljs.core.PersistentArrayMap(null,4,[new cljs.core.Keyword(null,"background","background",-863952629),"lightgray",new cljs.core.Keyword(null,"margin-top","margin-top",392161226),"3px",new cljs.core.Keyword(null,"padding","padding",1660304693),"0 0 2px 3px",new cljs.core.Keyword(null,"font-size","font-size",-1847940346),"105%"],null)],null),a],null),b],null)},c=function(b,c){var d=null;if(1<arguments.length){d=0;for(var e=Array(arguments.length-1);d<e.length;)e[d]=arguments[d+1],++d;d=new cljs.core.IndexedSeq(e,
0,null)}return a.call(this,b,d)};c.cljs$lang$maxFixedArity=1;c.cljs$lang$applyTo=function(b){var c=cljs.core.first(b);b=cljs.core.rest(b);return a(c,b)};c.cljs$core$IFn$_invoke$arity$variadic=a;return c}();return new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"div","div",1057191632),a.call(null,"Weather Type",new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"p","p",151049309),"Colors in each square in the map indicate the weather type."],
null),function(){return function(a){return function e(b){return new cljs.core.LazySeq(null,function(a){return function(){for(;;){var a=cljs.core.seq.call(null,b);if(a){if(cljs.core.chunked_seq_QMARK_.call(null,a)){var d=cljs.core.chunk_first.call(null,a),f=cljs.core.count.call(null,d),l=cljs.core.chunk_buffer.call(null,f);a:for(var m=0;;)if(m<f){var n=cljs.core._nth.call(null,d,m),p=cljs.core.nth.call(null,n,0,null),q=cljs.core.nth.call(null,n,1,null);n=cljs.core.nth.call(null,n,2,null);cljs.core.chunk_append.call(null,
l,new cljs.core.PersistentVector(null,4,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"div","div",1057191632),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"style","style",-496642736),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"white-space","white-space",-707351930),"nowrap"],null)],null),new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"div","div",1057191632),new cljs.core.PersistentArrayMap(null,
1,[new cljs.core.Keyword(null,"style","style",-496642736),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"display","display",242065432),"inline-block"],null)],null),new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"span","span",1394872991),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"style","style",-496642736),new cljs.core.PersistentArrayMap(null,7,[new cljs.core.Keyword(null,"width","width",-384071477),
"20px",new cljs.core.Keyword(null,"height","height",1025178622),"20px",new cljs.core.Keyword(null,"display","display",242065432),"inline-block",new cljs.core.Keyword(null,"border","border",1444987323),"solid 1px black",new cljs.core.Keyword(null,"margin-right","margin-right",809689658),"3px",new cljs.core.Keyword(null,"vertical-align","vertical-align",651007333),"middle",new cljs.core.Keyword(null,"background","background",-863952629),q],null)],null),""],null)],null),new cljs.core.PersistentVector(null,
4,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"div","div",1057191632),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"style","style",-496642736),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"display","display",242065432),"inline-block"],null)],null),new cljs.core.PersistentVector(null,4,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"div","div",1057191632),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,
"style","style",-496642736),new cljs.core.PersistentArrayMap(null,2,[new cljs.core.Keyword(null,"display","display",242065432),"inline-block",new cljs.core.Keyword(null,"margin-right","margin-right",809689658),"3px"],null)],null),new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"span","span",1394872991),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"style","style",-496642736),new cljs.core.PersistentArrayMap(null,2,[new cljs.core.Keyword(null,
"font-weight","font-weight",2085804583),"900",new cljs.core.Keyword(null,"margin-right","margin-right",809689658),"3px"],null)],null),p],null),"-"],null),n],null)],null));m+=1}else{d=!0;break a}return d?cljs.core.chunk_cons.call(null,cljs.core.chunk.call(null,l),e.call(null,cljs.core.chunk_rest.call(null,a))):cljs.core.chunk_cons.call(null,cljs.core.chunk.call(null,l),null)}f=cljs.core.first.call(null,a);l=cljs.core.nth.call(null,f,0,null);d=cljs.core.nth.call(null,f,1,null);f=cljs.core.nth.call(null,
f,2,null);return cljs.core.cons.call(null,new cljs.core.PersistentVector(null,4,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"div","div",1057191632),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"style","style",-496642736),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"white-space","white-space",-707351930),"nowrap"],null)],null),new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,
"div","div",1057191632),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"style","style",-496642736),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"display","display",242065432),"inline-block"],null)],null),new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"span","span",1394872991),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"style","style",-496642736),new cljs.core.PersistentArrayMap(null,
7,[new cljs.core.Keyword(null,"width","width",-384071477),"20px",new cljs.core.Keyword(null,"height","height",1025178622),"20px",new cljs.core.Keyword(null,"display","display",242065432),"inline-block",new cljs.core.Keyword(null,"border","border",1444987323),"solid 1px black",new cljs.core.Keyword(null,"margin-right","margin-right",809689658),"3px",new cljs.core.Keyword(null,"vertical-align","vertical-align",651007333),"middle",new cljs.core.Keyword(null,"background","background",-863952629),d],null)],
null),""],null)],null),new cljs.core.PersistentVector(null,4,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"div","div",1057191632),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"style","style",-496642736),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"display","display",242065432),"inline-block"],null)],null),new cljs.core.PersistentVector(null,4,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"div","div",1057191632),
new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"style","style",-496642736),new cljs.core.PersistentArrayMap(null,2,[new cljs.core.Keyword(null,"display","display",242065432),"inline-block",new cljs.core.Keyword(null,"margin-right","margin-right",809689658),"3px"],null)],null),new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"span","span",1394872991),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"style",
"style",-496642736),new cljs.core.PersistentArrayMap(null,2,[new cljs.core.Keyword(null,"font-weight","font-weight",2085804583),"900",new cljs.core.Keyword(null,"margin-right","margin-right",809689658),"3px"],null)],null),l],null),"-"],null),f],null)],null),e.call(null,cljs.core.rest.call(null,a)))}return null}}}(a),null,null)}}(a).call(null,new cljs.core.PersistentVector(null,4,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,
["Sunny","rgb(128,240,255)","Clear skies."],null),new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,["Fair","rgb(0,255,0)","Few to scattered cumulus clouds. No precipitation."],null),new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,["Poor","rgb(255,255,0)","Solid overcast with no precipitation."],null),new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,["Inclement","rgb(192, 0, 0)","Solid overcast with precipitation (rain or snow)."],
null)],null))}()),a.call(null,"Wind",new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"p","p",151049309),"Wind barbs show the direction and strength of the\n         wind in each square. The orientation shows the direction the\n         wind, with 'tails' on the upwind side. A half tail indicates\n         five knots. Each full tail indicates ten knots. Each\n         pennant (filled-in triangle) indicates fifty knots."],null),function(){return function(a){return function e(b){return new cljs.core.LazySeq(null,
function(a){return function(){for(;;){var a=cljs.core.seq.call(null,b);if(a){if(cljs.core.chunked_seq_QMARK_.call(null,a)){var d=cljs.core.chunk_first.call(null,a),f=cljs.core.count.call(null,d),l=cljs.core.chunk_buffer.call(null,f);a:for(var m=0;;)if(m<f){var n=cljs.core._nth.call(null,d,m),p=cljs.core.nth.call(null,n,0,null),q=cljs.core.nth.call(null,n,1,null);n=cljs.core.nth.call(null,n,2,null);cljs.core.chunk_append.call(null,l,new cljs.core.PersistentVector(null,4,5,cljs.core.PersistentVector.EMPTY_NODE,
[new cljs.core.Keyword(null,"div","div",1057191632),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"style","style",-496642736),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"white-space","white-space",-707351930),"nowrap"],null)],null),new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"div","div",1057191632),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"style","style",-496642736),
new cljs.core.PersistentArrayMap(null,2,[new cljs.core.Keyword(null,"display","display",242065432),"inline-block",new cljs.core.Keyword(null,"vertical-align","vertical-align",651007333),"middle"],null)],null),weathergen.help.wind_barb.call(null,p,q)],null),n],null));m+=1}else{d=!0;break a}return d?cljs.core.chunk_cons.call(null,cljs.core.chunk.call(null,l),e.call(null,cljs.core.chunk_rest.call(null,a))):cljs.core.chunk_cons.call(null,cljs.core.chunk.call(null,l),null)}f=cljs.core.first.call(null,
a);l=cljs.core.nth.call(null,f,0,null);d=cljs.core.nth.call(null,f,1,null);f=cljs.core.nth.call(null,f,2,null);return cljs.core.cons.call(null,new cljs.core.PersistentVector(null,4,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"div","div",1057191632),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"style","style",-496642736),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"white-space","white-space",-707351930),"nowrap"],null)],null),new cljs.core.PersistentVector(null,
3,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"div","div",1057191632),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"style","style",-496642736),new cljs.core.PersistentArrayMap(null,2,[new cljs.core.Keyword(null,"display","display",242065432),"inline-block",new cljs.core.Keyword(null,"vertical-align","vertical-align",651007333),"middle"],null)],null),weathergen.help.wind_barb.call(null,l,d)],null),f],null),e.call(null,cljs.core.rest.call(null,a)))}return null}}}(a),
null,null)}}(a).call(null,new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,[5,0,"Wind at 5 knots from the north."],null),new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,[25,270,"Wind at 25 knots from the west."],null),new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,[115,134,"Wind at 115 knots from the southeast."],null)],null))}())],
null)}()),new cljs.core.Keyword(null,"mission-time","mission-time",-1235574900),weathergen.help.content_para.call(null,"Shows the time in the Falcon world in the format Day/Hour:Minute."),new cljs.core.Keyword(null,"weather-time","weather-time",-248525118),weathergen.help.content_para.call(null,"Shows for what time the weather is being displayed (if\n     weather is being shown). Time is displayed in the format\n     Day/Hour:Minute.")],null)]);
var open_instance_35309=javelin.core.cell.call(null,null);setTimeout(function(a){return function(){return document.addEventListener("click",function(a){return function(b){return cljs.core.reset_BANG_.call(null,a,null)}}(a))}}(open_instance_35309),0);
weathergen.help.with_help=function(a){return function(a){switch(arguments.length){case 2:return weathergen.help.with_help.cljs$core$IFn$_invoke$arity$2(arguments[0],arguments[1]);case 3:return weathergen.help.with_help.cljs$core$IFn$_invoke$arity$3(arguments[0],arguments[1],arguments[2]);default:throw Error(["Invalid arity: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(""));}}}(open_instance_35309);
weathergen.help.with_help.cljs$core$IFn$_invoke$arity$2=function(a){return function(a,c){return weathergen.help.with_help.call(null,a,cljs.core.PersistentArrayMap.EMPTY,c)}}(open_instance_35309);
weathergen.help.with_help.cljs$core$IFn$_invoke$arity$3=function(a){return function(b,c,d){var e=cljs.core.get_in.call(null,weathergen.help.help_content_ctors,b),f=null!=c&&(c.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===c.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,c):c,g=cljs.core.get.call(null,f,new cljs.core.Keyword(null,"underline-color","underline-color",847203925)),h=cljs.core.get.call(null,f,new cljs.core.Keyword(null,"omit-underline?","omit-underline?",
-1355729360)),k=cljs.core.get.call(null,f,new cljs.core.Keyword(null,"eat-click?","eat-click?",-1411366808)),l=cljs.core.gensym.call(null),m=javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h){return function(a,b,c){return a.call(null,c,b)}}(e,c,f,g,h,k,l,a)).call(null,cljs.core._EQ_,l,a);return hoplon.core.div.call(null,new cljs.core.Keyword(null,"class","class",-2030961996),"help",new cljs.core.Keyword(null,"css","css",1135045163),cljs.core.merge.call(null,new cljs.core.PersistentArrayMap(null,
2,[new cljs.core.Keyword(null,"cursor","cursor",1011937484),"url(images/helpcursor.png) 4 4, auto",new cljs.core.Keyword(null,"border-bottom","border-bottom",2110948415),cljs.core.truth_(h)?null:cljs.core.truth_(e)?["dashed 1px ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.core.truth_(g)?g:"blue")].join(""):"dashed 2px red"],null),c),new cljs.core.Keyword(null,"click","click",1912301393),function(a,b,c,d,e,f,g,h,k){return function(a){cljs.core._EQ_.call(null,cljs.core.deref.call(null,k),g)?cljs.core.reset_BANG_.call(null,
k,null):cljs.core.reset_BANG_.call(null,k,g);return!1}}(e,c,f,g,h,k,l,m,a),function(){var d=hoplon.core.div.call(null,new cljs.core.Keyword(null,"fade-toggle","fade-toggle",-1468421852),m,new cljs.core.Keyword(null,"class","class",-2030961996),"content",new cljs.core.Keyword(null,"css","css",1135045163),new cljs.core.PersistentArrayMap(null,2,[new cljs.core.Keyword(null,"white-space","white-space",-707351930),"normal",new cljs.core.Keyword(null,"font-weight","font-weight",2085804583),"normal"],null),
cljs.core.truth_(e)?e.call(null,new cljs.core.Keyword(null,"hoplon","hoplon",-1616134367)):new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[hoplon.core.p.call(null,"Help has not yet been written for this feature."),hoplon.core.p.call(null,cljs.core.str.cljs$core$IFn$_invoke$arity$1(b))],null));hoplon.core.do_watch.call(null,m,function(a,b,c,d,e,f,g,h,k,l){return function(m,n){return cljs.core.truth_(function(){var a=cljs.core.not.call(null,m);return a?n:a}())?weathergen.ui.common.when_dom_STAR_.call(null,
a,function(a,b,c,d,e,f,g,h,k,l){return function(){return a.focus()}}(a,b,c,d,e,f,g,h,k,l)):null}}(d,e,c,f,g,h,k,l,m,a));return d}(),d)}}(open_instance_35309);weathergen.help.with_help.cljs$lang$maxFixedArity=3;
weathergen.help.RHelp=rum.core.build_defcs.call(null,function(a){return function(b,c,d,e){null==cljs.core.deref.call(null,(new cljs.core.Keyword("weathergen.help","this-instance","weathergen.help/this-instance",1394493444)).cljs$core$IFn$_invoke$arity$1(b))&&cljs.core.reset_BANG_.call(null,(new cljs.core.Keyword("weathergen.help","this-instance","weathergen.help/this-instance",1394493444)).cljs$core$IFn$_invoke$arity$1(b),cljs.core.gensym.call(null));b=cljs.core.deref.call(null,(new cljs.core.Keyword("weathergen.help",
"this-instance","weathergen.help/this-instance",1394493444)).cljs$core$IFn$_invoke$arity$1(b));var f=rum.core.react.call(null,a),g=cljs.core._EQ_.call(null,f,b),h=null!=c&&(c.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===c.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,c):c,k=cljs.core.get.call(null,h,new cljs.core.Keyword(null,"underline-color","underline-color",847203925)),l=cljs.core.get.call(null,h,new cljs.core.Keyword(null,"omit-underline?","omit-underline?",
-1355729360)),m=cljs.core.get.call(null,h,new cljs.core.Keyword(null,"eat-click?","eat-click?",-1411366808)),n=cljs.core.get_in.call(null,weathergen.help.help_content_ctors,d);return React.createElement("div",{style:sablono.interpreter.attributes.call(null,cljs.core.merge.call(null,new cljs.core.PersistentArrayMap(null,2,[new cljs.core.Keyword(null,"cursor","cursor",1011937484),"url(images/helpcursor.png) 4 4, auto",new cljs.core.Keyword(null,"borderBottom","borderBottom",1676563277),cljs.core.truth_(l)?
null:cljs.core.truth_(n)?["dashed 1px ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.core.truth_(k)?k:"blue")].join(""):"dashed 2px red"],null),cljs.core.dissoc.call(null,c,new cljs.core.Keyword(null,"omit-underline?","omit-underline?",-1355729360),new cljs.core.Keyword(null,"underline-color","underline-color",847203925),new cljs.core.Keyword(null,"eat-click?","eat-click?",-1411366808)))),onClick:function(a,b,c,d,e,f,g,h,k,l){return function(d){console.log("Content click","event",d,"open?",c,
"open-instance*",cljs.core.pr_str.call(null,b),"this-instasnce",cljs.core.pr_str.call(null,a));d.nativeEvent.stopImmediatePropagation();return c?cljs.core.reset_BANG_.call(null,l,null):cljs.core.reset_BANG_.call(null,l,a)}}(b,f,g,c,h,k,l,m,n,a),className:"help"},React.createElement("div",{style:{whiteSpace:"normal",fontWeight:"normal",display:g?"block":"none"},className:"content"},cljs.core.truth_(n)?sablono.interpreter.interpret.call(null,n.call(null,new cljs.core.Keyword(null,"react","react",1456324418))):
React.createElement("div",null,React.createElement("p",{key:"1"},"Help has not yet been written for this feature."),React.createElement("p",{key:"2"},sablono.interpreter.interpret.call(null,cljs.core.str.cljs$core$IFn$_invoke$arity$1(d))))),sablono.interpreter.interpret.call(null,e))}}(open_instance_35309),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[rum.core.reactive,rum.core.local.call(null,null,new cljs.core.Keyword("weathergen.help","this-instance","weathergen.help/this-instance",
1394493444))],null),"RHelp");weathergen.help.with_rhelp=function(a){return function(a){switch(arguments.length){case 2:return weathergen.help.with_rhelp.cljs$core$IFn$_invoke$arity$2(arguments[0],arguments[1]);case 3:return weathergen.help.with_rhelp.cljs$core$IFn$_invoke$arity$3(arguments[0],arguments[1],arguments[2]);default:throw Error(["Invalid arity: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(""));}}}(open_instance_35309);
weathergen.help.with_rhelp.cljs$core$IFn$_invoke$arity$2=function(a){return function(a,c){return weathergen.help.with_rhelp.call(null,a,cljs.core.PersistentArrayMap.EMPTY,c)}}(open_instance_35309);weathergen.help.with_rhelp.cljs$core$IFn$_invoke$arity$3=function(a){return function(a,c,d){var b=hoplon.core.div.call(null);rum.core.mount.call(null,weathergen.help.RHelp.call(null,c,a,d),b);return b}}(open_instance_35309);weathergen.help.with_rhelp.cljs$lang$maxFixedArity=3;
weathergen.help.help_icon=function(a){var b=cljs.core.get_in.call(null,weathergen.help.help_content_ctors,a);return weathergen.help.with_help.call(null,a,new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"omit-underline?","omit-underline?",-1355729360),!0],null),hoplon.core.div.call(null,new cljs.core.Keyword(null,"css","css",1135045163),cljs.core.PersistentHashMap.fromArrays([new cljs.core.Keyword(null,"color","color",1011675173),new cljs.core.Keyword(null,"text-align","text-align",
1786091845),new cljs.core.Keyword(null,"font-size","font-size",-1847940346),new cljs.core.Keyword(null,"margin-left","margin-left",2015598377),new cljs.core.Keyword(null,"width","width",-384071477),new cljs.core.Keyword(null,"background","background",-863952629),new cljs.core.Keyword(null,"display","display",242065432),new cljs.core.Keyword(null,"margin-right","margin-right",809689658),new cljs.core.Keyword(null,"border-radius","border-radius",419594011),new cljs.core.Keyword(null,"height","height",
1025178622)],["white","center","80%","3px","18px",cljs.core.truth_(b)?"darkblue":"darkred","inline-block","3px","9px","18px"]),"?"))};
weathergen.help.RHelpIcon=rum.core.build_defc.call(null,function(a){var b=cljs.core.get_in.call(null,weathergen.help.help_content_ctors,a);return sablono.interpreter.interpret.call(null,weathergen.help.RHelp.call(null,new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"omit-underline?","omit-underline?",-1355729360),!0],null),a,new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"div","div",1057191632),new cljs.core.PersistentArrayMap(null,
1,[new cljs.core.Keyword(null,"style","style",-496642736),cljs.core.PersistentHashMap.fromArrays([new cljs.core.Keyword(null,"color","color",1011675173),new cljs.core.Keyword(null,"text-align","text-align",1786091845),new cljs.core.Keyword(null,"font-size","font-size",-1847940346),new cljs.core.Keyword(null,"margin-left","margin-left",2015598377),new cljs.core.Keyword(null,"width","width",-384071477),new cljs.core.Keyword(null,"background","background",-863952629),new cljs.core.Keyword(null,"display",
"display",242065432),new cljs.core.Keyword(null,"margin-right","margin-right",809689658),new cljs.core.Keyword(null,"border-radius","border-radius",419594011),new cljs.core.Keyword(null,"height","height",1025178622)],["white","center","80%","3px","18px",cljs.core.truth_(b)?"darkblue":"darkred","inline-block","3px","9px","18px"])],null),"?"],null)))},null,"RHelpIcon");
weathergen.help.rhelp_icon=function(a){cljs.core.get_in.call(null,weathergen.help.help_content_ctors,a);return weathergen.help.with_rhelp.call(null,a,new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"omit-underline?","omit-underline?",-1355729360),!0],null),hoplon.core.div.call(null))};weathergen.damage={};
weathergen.damage.required_hits=function(a,b,c){return function f(a){return new cljs.core.LazySeq(null,function(){for(;;){var b=cljs.core.seq.call(null,a);if(b){if(cljs.core.chunked_seq_QMARK_.call(null,b)){var e=cljs.core.chunk_first.call(null,b),k=cljs.core.count.call(null,e),l=cljs.core.chunk_buffer.call(null,k);return function(){for(var a=0;;)if(a<k){var b=cljs.core._nth.call(null,e,a),f=cljs.core.nth.call(null,b,0,null),g=cljs.core.nth.call(null,b,1,null);cljs.core.chunk_append.call(null,l,function(){var a=
(new cljs.core.Keyword("weathergen.falcon.files.mission","feature-class-info","weathergen.falcon.files.mission/feature-class-info",1346129647)).cljs$core$IFn$_invoke$arity$1((new cljs.core.Keyword("weathergen.falcon.files.mission","class-info","weathergen.falcon.files.mission/class-info",-1092492204)).cljs$core$IFn$_invoke$arity$1(g)),b=(new cljs.core.Keyword(null,"name","name",1843675177)).cljs$core$IFn$_invoke$arity$1(a),e=(new cljs.core.Keyword(null,"value","value",305978217)).cljs$core$IFn$_invoke$arity$1(g),
h=(new cljs.core.Keyword(null,"virtual?","virtual?",1554264002)).cljs$core$IFn$_invoke$arity$1((new cljs.core.Keyword(null,"flags","flags",1775418075)).cljs$core$IFn$_invoke$arity$1(a)),k=(new cljs.core.Keyword(null,"hit-points","hit-points",-906296276)).cljs$core$IFn$_invoke$arity$1(a),l=(new cljs.core.Keyword(null,"damage-mod","damage-mod",-756867116)).cljs$core$IFn$_invoke$arity$1(a);(new cljs.core.Keyword(null,"name","name",1843675177)).cljs$core$IFn$_invoke$arity$1(c);var m=(new cljs.core.Keyword(null,
"damage-type","damage-type",898770578)).cljs$core$IFn$_invoke$arity$1(c);a=(new cljs.core.Keyword(null,"strength","strength",-415606478)).cljs$core$IFn$_invoke$arity$1(c);l=cljs.core.nth.call(null,l,m);a=k/(a/100*l);return new cljs.core.PersistentArrayMap(null,7,[new cljs.core.Keyword(null,"index","index",-1531685915),f+1,new cljs.core.Keyword(null,"feature-value","feature-value",-369211338),e,new cljs.core.Keyword(null,"feature-name","feature-name",676033148),b,new cljs.core.Keyword(null,"hit-points",
"hit-points",-906296276),k,new cljs.core.Keyword(null,"resistance","resistance",-1289779601),l,new cljs.core.Keyword(null,"virtual?","virtual?",1554264002),h,new cljs.core.Keyword(null,"hits-required","hits-required",-766872875),a],null)}());a+=1}else return!0}()?cljs.core.chunk_cons.call(null,cljs.core.chunk.call(null,l),f.call(null,cljs.core.chunk_rest.call(null,b))):cljs.core.chunk_cons.call(null,cljs.core.chunk.call(null,l),null)}var m=cljs.core.first.call(null,b),n=cljs.core.nth.call(null,m,
0,null),p=cljs.core.nth.call(null,m,1,null);return cljs.core.cons.call(null,function(){var a=(new cljs.core.Keyword("weathergen.falcon.files.mission","feature-class-info","weathergen.falcon.files.mission/feature-class-info",1346129647)).cljs$core$IFn$_invoke$arity$1((new cljs.core.Keyword("weathergen.falcon.files.mission","class-info","weathergen.falcon.files.mission/class-info",-1092492204)).cljs$core$IFn$_invoke$arity$1(p)),b=(new cljs.core.Keyword(null,"name","name",1843675177)).cljs$core$IFn$_invoke$arity$1(a),
e=(new cljs.core.Keyword(null,"value","value",305978217)).cljs$core$IFn$_invoke$arity$1(p),f=(new cljs.core.Keyword(null,"virtual?","virtual?",1554264002)).cljs$core$IFn$_invoke$arity$1((new cljs.core.Keyword(null,"flags","flags",1775418075)).cljs$core$IFn$_invoke$arity$1(a)),g=(new cljs.core.Keyword(null,"hit-points","hit-points",-906296276)).cljs$core$IFn$_invoke$arity$1(a),h=(new cljs.core.Keyword(null,"damage-mod","damage-mod",-756867116)).cljs$core$IFn$_invoke$arity$1(a);(new cljs.core.Keyword(null,
"name","name",1843675177)).cljs$core$IFn$_invoke$arity$1(c);var k=(new cljs.core.Keyword(null,"damage-type","damage-type",898770578)).cljs$core$IFn$_invoke$arity$1(c);a=(new cljs.core.Keyword(null,"strength","strength",-415606478)).cljs$core$IFn$_invoke$arity$1(c);h=cljs.core.nth.call(null,h,k);a=g/(a/100*h);return new cljs.core.PersistentArrayMap(null,7,[new cljs.core.Keyword(null,"index","index",-1531685915),n+1,new cljs.core.Keyword(null,"feature-value","feature-value",-369211338),e,new cljs.core.Keyword(null,
"feature-name","feature-name",676033148),b,new cljs.core.Keyword(null,"hit-points","hit-points",-906296276),g,new cljs.core.Keyword(null,"resistance","resistance",-1289779601),h,new cljs.core.Keyword(null,"virtual?","virtual?",1554264002),f,new cljs.core.Keyword(null,"hits-required","hits-required",-766872875),a],null)}(),f.call(null,cljs.core.rest.call(null,b)))}return null}},null,null)}.call(null,cljs.core.map_indexed.call(null,cljs.core.vector,(new cljs.core.Keyword("weathergen.falcon.files.mission",
"features","weathergen.falcon.files.mission/features",534334694)).cljs$core$IFn$_invoke$arity$1(b)))};var lsobot={acmi:{}};lsobot.acmi.log=cljs.core.constantly.call(null,null);lsobot.acmi.id_digits=new cljs.core.PersistentHashSet(null,new cljs.core.PersistentArrayMap(null,22,["A",null,"a",null,"B",null,"b",null,"C",null,"c",null,"D",null,"d",null,"E",null,"e",null,"F",null,"f",null,"0",null,"1",null,"2",null,"3",null,"4",null,"5",null,"6",null,"7",null,"8",null,"9",null],null),null);lsobot.acmi.id=null;lsobot.acmi.event=null;lsobot.acmi.entity_info=null;lsobot.acmi.frame=null;lsobot.acmi.file=null;
lsobot.acmi.parse_float=function(a){lsobot.acmi.log.call(null,"parsing",new cljs.core.Keyword(null,"s","s",1705939918),a);return cljs.core.empty_QMARK_.call(null,a)?null:new Number(a)};
lsobot.acmi.fields=cljs.core.PersistentHashMap.fromArrays("T Importance AOA Parent Country Type LockedTarget Mach LandingGear Length DragChute HDG Tailhook Coalition Squawk Pilot Width Flaps Throttle Parachute Debug IAS Slot AirBrakes Label Height Afterburner Registration Name Group Color TAS".split(" "),[new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"parse-as","parse-as",122784579),new cljs.core.Keyword(null,"location","location",1815599388)],null),new cljs.core.PersistentArrayMap(null,
2,[new cljs.core.Keyword(null,"parse-as","parse-as",122784579),new cljs.core.Keyword(null,"float","float",-1732389368),new cljs.core.Keyword(null,"key","key",-1516042587),new cljs.core.Keyword("lsobot.acmi","important","lsobot.acmi/important",62673791)],null),new cljs.core.PersistentArrayMap(null,2,[new cljs.core.Keyword(null,"parse-as","parse-as",122784579),new cljs.core.Keyword(null,"float","float",-1732389368),new cljs.core.Keyword(null,"key","key",-1516042587),new cljs.core.Keyword("lsobot.acmi",
"aoa","lsobot.acmi/aoa",2131897388)],null),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"key","key",-1516042587),new cljs.core.Keyword("lsobot.acmi","parent","lsobot.acmi/parent",394340088)],null),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"key","key",-1516042587),new cljs.core.Keyword("lsobot.acmi","country","lsobot.acmi/country",1053508738)],null),new cljs.core.PersistentArrayMap(null,2,[new cljs.core.Keyword(null,"parse-as","parse-as",122784579),
new cljs.core.Keyword(null,"taglist","taglist",328856316),new cljs.core.Keyword(null,"key","key",-1516042587),new cljs.core.Keyword("lsobot.acmi","object-type","lsobot.acmi/object-type",-1018781700)],null),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"key","key",-1516042587),new cljs.core.Keyword("lsobot.acmi","locked-target","lsobot.acmi/locked-target",-1988244278)],null),new cljs.core.PersistentArrayMap(null,2,[new cljs.core.Keyword(null,"parse-as","parse-as",122784579),new cljs.core.Keyword(null,
"float","float",-1732389368),new cljs.core.Keyword(null,"key","key",-1516042587),new cljs.core.Keyword("lsobot.acmi","mach","lsobot.acmi/mach",939857592)],null),new cljs.core.PersistentArrayMap(null,2,[new cljs.core.Keyword(null,"parse-as","parse-as",122784579),new cljs.core.Keyword(null,"float","float",-1732389368),new cljs.core.Keyword(null,"key","key",-1516042587),new cljs.core.Keyword("lsobot.acmi","landing-gear","lsobot.acmi/landing-gear",1703479476)],null),new cljs.core.PersistentArrayMap(null,
2,[new cljs.core.Keyword(null,"parse-as","parse-as",122784579),new cljs.core.Keyword(null,"float","float",-1732389368),new cljs.core.Keyword(null,"key","key",-1516042587),new cljs.core.Keyword("lsobot.acmi","length","lsobot.acmi/length",-954780925)],null),new cljs.core.PersistentArrayMap(null,2,[new cljs.core.Keyword(null,"parse-as","parse-as",122784579),new cljs.core.Keyword(null,"float","float",-1732389368),new cljs.core.Keyword(null,"key","key",-1516042587),new cljs.core.Keyword("lsobot.acmi",
"drag-chute","lsobot.acmi/drag-chute",1632847969)],null),new cljs.core.PersistentArrayMap(null,2,[new cljs.core.Keyword(null,"parse-as","parse-as",122784579),new cljs.core.Keyword(null,"float","float",-1732389368),new cljs.core.Keyword(null,"key","key",-1516042587),new cljs.core.Keyword("lsobot.acmi","heading","lsobot.acmi/heading",1518406858)],null),new cljs.core.PersistentArrayMap(null,2,[new cljs.core.Keyword(null,"parse-as","parse-as",122784579),new cljs.core.Keyword(null,"float","float",-1732389368),
new cljs.core.Keyword(null,"key","key",-1516042587),new cljs.core.Keyword("lsobot.acmi","tailhook","lsobot.acmi/tailhook",-1331093852)],null),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"key","key",-1516042587),new cljs.core.Keyword("lsobot.acmi","coalition","lsobot.acmi/coalition",-2113528142)],null),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"key","key",-1516042587),new cljs.core.Keyword("lsobot.acmi","squawk","lsobot.acmi/squawk",-1133773698)],null),
new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"key","key",-1516042587),new cljs.core.Keyword("lsobot.acmi","pilot","lsobot.acmi/pilot",1075341034)],null),new cljs.core.PersistentArrayMap(null,2,[new cljs.core.Keyword(null,"parse-as","parse-as",122784579),new cljs.core.Keyword(null,"float","float",-1732389368),new cljs.core.Keyword(null,"key","key",-1516042587),new cljs.core.Keyword("lsobot.acmi","width","lsobot.acmi/width",1019722774)],null),new cljs.core.PersistentArrayMap(null,
2,[new cljs.core.Keyword(null,"parse-as","parse-as",122784579),new cljs.core.Keyword(null,"float","float",-1732389368),new cljs.core.Keyword(null,"key","key",-1516042587),new cljs.core.Keyword("lsobot.acmi","flaps","lsobot.acmi/flaps",1377079743)],null),new cljs.core.PersistentArrayMap(null,2,[new cljs.core.Keyword(null,"parse-as","parse-as",122784579),new cljs.core.Keyword(null,"float","float",-1732389368),new cljs.core.Keyword(null,"key","key",-1516042587),new cljs.core.Keyword("lsobot.acmi","throttle",
"lsobot.acmi/throttle",1164527755)],null),new cljs.core.PersistentArrayMap(null,2,[new cljs.core.Keyword(null,"parse-as","parse-as",122784579),new cljs.core.Keyword(null,"float","float",-1732389368),new cljs.core.Keyword(null,"key","key",-1516042587),new cljs.core.Keyword("lsobot.acmi","parachute","lsobot.acmi/parachute",2122253126)],null),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"key","key",-1516042587),new cljs.core.Keyword("lsobot.acmi","debug","lsobot.acmi/debug",202225561)],
null),new cljs.core.PersistentArrayMap(null,2,[new cljs.core.Keyword(null,"parse-as","parse-as",122784579),new cljs.core.Keyword(null,"float","float",-1732389368),new cljs.core.Keyword(null,"key","key",-1516042587),new cljs.core.Keyword("lsobot.acmi","indicated-airspeed","lsobot.acmi/indicated-airspeed",-322597664)],null),new cljs.core.PersistentArrayMap(null,2,[new cljs.core.Keyword(null,"parse-as","parse-as",122784579),new cljs.core.Keyword(null,"integer","integer",-604721710),new cljs.core.Keyword(null,
"key","key",-1516042587),new cljs.core.Keyword("lsobot.acmi","slot","lsobot.acmi/slot",-894535496)],null),new cljs.core.PersistentArrayMap(null,2,[new cljs.core.Keyword(null,"parse-as","parse-as",122784579),new cljs.core.Keyword(null,"float","float",-1732389368),new cljs.core.Keyword(null,"key","key",-1516042587),new cljs.core.Keyword("lsobot.acmi","airbrakes","lsobot.acmi/airbrakes",-1297796943)],null),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"key","key",-1516042587),new cljs.core.Keyword("lsobot.acmi",
"label","lsobot.acmi/label",-1032278787)],null),new cljs.core.PersistentArrayMap(null,2,[new cljs.core.Keyword(null,"parse-as","parse-as",122784579),new cljs.core.Keyword(null,"float","float",-1732389368),new cljs.core.Keyword(null,"key","key",-1516042587),new cljs.core.Keyword("lsobot.acmi","height","lsobot.acmi/height",-1060386511)],null),new cljs.core.PersistentArrayMap(null,2,[new cljs.core.Keyword(null,"parse-as","parse-as",122784579),new cljs.core.Keyword(null,"float","float",-1732389368),new cljs.core.Keyword(null,
"key","key",-1516042587),new cljs.core.Keyword("lsobot.acmi","afterburner","lsobot.acmi/afterburner",1404556168)],null),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"key","key",-1516042587),new cljs.core.Keyword("lsobot.acmi","registration","lsobot.acmi/registration",-326743862)],null),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"key","key",-1516042587),new cljs.core.Keyword("lsobot.acmi","name","lsobot.acmi/name",298845436)],null),new cljs.core.PersistentArrayMap(null,
1,[new cljs.core.Keyword(null,"key","key",-1516042587),new cljs.core.Keyword("lsobot.acmi","group","lsobot.acmi/group",-821213843)],null),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"key","key",-1516042587),new cljs.core.Keyword("lsobot.acmi","color","lsobot.acmi/color",-369571990)],null),new cljs.core.PersistentArrayMap(null,2,[new cljs.core.Keyword(null,"parse-as","parse-as",122784579),new cljs.core.Keyword(null,"float","float",-1732389368),new cljs.core.Keyword(null,"key",
"key",-1516042587),new cljs.core.Keyword("lsobot.acmi","true-airspeed","lsobot.acmi/true-airspeed",-832535618)],null)]);
if("undefined"===typeof lsobot||"undefined"===typeof lsobot.acmi||"undefined"===typeof lsobot.acmi.parse_field)lsobot.acmi.parse_field=function(){var a=cljs.core.atom.call(null,cljs.core.PersistentArrayMap.EMPTY),b=cljs.core.atom.call(null,cljs.core.PersistentArrayMap.EMPTY),c=cljs.core.atom.call(null,cljs.core.PersistentArrayMap.EMPTY),d=cljs.core.atom.call(null,cljs.core.PersistentArrayMap.EMPTY),e=cljs.core.get.call(null,cljs.core.PersistentArrayMap.EMPTY,new cljs.core.Keyword(null,"hierarchy",
"hierarchy",-1053470341),cljs.core.get_global_hierarchy.call(null));return new cljs.core.MultiFn(cljs.core.symbol.call(null,"lsobot.acmi","parse-field"),function(a,b,c,d,e){return function(a){var b=cljs.core.nth.call(null,a,0,null);cljs.core.nth.call(null,a,1,null);return(new cljs.core.Keyword(null,"parse-as","parse-as",122784579)).cljs$core$IFn$_invoke$arity$1(lsobot.acmi.fields.call(null,b))}}(a,b,c,d,e),new cljs.core.Keyword(null,"default","default",-1987822328),e,a,b,c,d)}();
lsobot.acmi.char_split=function(a,b){var c=cljs.core.seq.call(null,a);cljs.core.first.call(null,c);cljs.core.next.call(null,c);var d=a;a=cljs.core.PersistentVector.EMPTY;for(c="";;){var e=cljs.core.seq.call(null,d);d=cljs.core.first.call(null,e);e=cljs.core.next.call(null,e);if(null==d)return cljs.core.conj.call(null,a,c);cljs.core._EQ_.call(null,d,b)?(d=e,a=cljs.core.conj.call(null,a,c),c=""):(c=[c,cljs.core.str.cljs$core$IFn$_invoke$arity$1(d)].join(""),d=e)}};
cljs.core._add_method.call(null,lsobot.acmi.parse_field,new cljs.core.Keyword(null,"location","location",1815599388),function(a){cljs.core.nth.call(null,a,0,null);a=cljs.core.nth.call(null,a,1,null);var b=cljs.core.map.call(null,lsobot.acmi.parse_float,lsobot.acmi.char_split.call(null,a,"|"));if(6>cljs.core.count.call(null,b)){var c=cljs.core.nth.call(null,b,0,null),d=cljs.core.nth.call(null,b,1,null),e=cljs.core.nth.call(null,b,2,null),f=cljs.core.nth.call(null,b,3,null);a=cljs.core.nth.call(null,
b,4,null);b=cljs.core.PersistentArrayMap.EMPTY;b=cljs.core.truth_(c)?cljs.core.assoc.call(null,b,new cljs.core.Keyword("lsobot.acmi","long","lsobot.acmi/long",681286936),c):b;b=cljs.core.truth_(d)?cljs.core.assoc.call(null,b,new cljs.core.Keyword("lsobot.acmi","lat","lsobot.acmi/lat",-2110849924),d):b;b=cljs.core.truth_(e)?cljs.core.assoc.call(null,b,new cljs.core.Keyword("lsobot.acmi","alt","lsobot.acmi/alt",1403266519),e):b;f=cljs.core.truth_(f)?cljs.core.assoc.call(null,b,new cljs.core.Keyword("lsobot.acmi",
"u","lsobot.acmi/u",-2031949174),f):b;return cljs.core.truth_(a)?cljs.core.assoc.call(null,f,new cljs.core.Keyword("lsobot.acmi","v","lsobot.acmi/v",855883566),a):f}c=cljs.core.nth.call(null,b,0,null);d=cljs.core.nth.call(null,b,1,null);e=cljs.core.nth.call(null,b,2,null);var g=cljs.core.nth.call(null,b,3,null),h=cljs.core.nth.call(null,b,4,null),k=cljs.core.nth.call(null,b,5,null);f=cljs.core.nth.call(null,b,6,null);a=cljs.core.nth.call(null,b,7,null);b=cljs.core.nth.call(null,b,8,null);var l=cljs.core.PersistentArrayMap.EMPTY;
c=cljs.core.truth_(c)?cljs.core.assoc.call(null,l,new cljs.core.Keyword("lsobot.acmi","long","lsobot.acmi/long",681286936),c):l;d=cljs.core.truth_(d)?cljs.core.assoc.call(null,c,new cljs.core.Keyword("lsobot.acmi","lat","lsobot.acmi/lat",-2110849924),d):c;e=cljs.core.truth_(e)?cljs.core.assoc.call(null,d,new cljs.core.Keyword("lsobot.acmi","alt","lsobot.acmi/alt",1403266519),e):d;e=cljs.core.truth_(g)?cljs.core.assoc.call(null,e,new cljs.core.Keyword("lsobot.acmi","roll","lsobot.acmi/roll",1955569772),
g):e;e=cljs.core.truth_(h)?cljs.core.assoc.call(null,e,new cljs.core.Keyword("lsobot.acmi","pitch","lsobot.acmi/pitch",-1941837447),h):e;e=cljs.core.truth_(k)?cljs.core.assoc.call(null,e,new cljs.core.Keyword("lsobot.acmi","yaw","lsobot.acmi/yaw",-1018224710),k):e;f=cljs.core.truth_(f)?cljs.core.assoc.call(null,e,new cljs.core.Keyword("lsobot.acmi","u","lsobot.acmi/u",-2031949174),f):e;a=cljs.core.truth_(a)?cljs.core.assoc.call(null,f,new cljs.core.Keyword("lsobot.acmi","v","lsobot.acmi/v",855883566),
a):f;return cljs.core.truth_(b)?cljs.core.assoc.call(null,a,new cljs.core.Keyword("lsobot.acmi","heading","lsobot.acmi/heading",1518406858),b):a});
cljs.core._add_method.call(null,lsobot.acmi.parse_field,new cljs.core.Keyword(null,"taglist","taglist",328856316),function(a){var b=cljs.core.nth.call(null,a,0,null);a=cljs.core.nth.call(null,a,1,null);return cljs.core.PersistentArrayMap.createAsIfByAssoc([(new cljs.core.Keyword(null,"key","key",-1516042587)).cljs$core$IFn$_invoke$arity$1(lsobot.acmi.fields.call(null,b)),cljs.core.set.call(null,clojure.string.split.call(null,a,/\+/))])});
cljs.core._add_method.call(null,lsobot.acmi.parse_field,new cljs.core.Keyword(null,"default","default",-1987822328),function(a){var b=cljs.core.nth.call(null,a,0,null);a=cljs.core.nth.call(null,a,1,null);return cljs.core.PersistentArrayMap.createAsIfByAssoc([function(){var a=(new cljs.core.Keyword(null,"key","key",-1516042587)).cljs$core$IFn$_invoke$arity$1(lsobot.acmi.fields.call(null,b));return cljs.core.truth_(a)?a:b}(),a])});
cljs.core._add_method.call(null,lsobot.acmi.parse_field,new cljs.core.Keyword(null,"float","float",-1732389368),function(a){var b=cljs.core.nth.call(null,a,0,null);a=cljs.core.nth.call(null,a,1,null);return cljs.core.PersistentArrayMap.createAsIfByAssoc([(new cljs.core.Keyword(null,"key","key",-1516042587)).cljs$core$IFn$_invoke$arity$1(lsobot.acmi.fields.call(null,b)),lsobot.acmi.parse_float.call(null,a)])});
lsobot.acmi.event_types=new cljs.core.PersistentArrayMap(null,7,["Message",new cljs.core.Keyword("lsobot.acmi","message","lsobot.acmi/message",-1139270737),"Bookmark",new cljs.core.Keyword("lsobot.acmi","bookmark","lsobot.acmi/bookmark",1806895191),"Debug",new cljs.core.Keyword("lsobot.acmi","debug","lsobot.acmi/debug",202225561),"LeftArea",new cljs.core.Keyword("lsobot.acmi","left-area","lsobot.acmi/left-area",-157896482),"Destroyed",new cljs.core.Keyword("lsobot.acmi","destroyed","lsobot.acmi/destroyed",
986700172),"TakenOff",new cljs.core.Keyword("lsobot.acmi","takeoff","lsobot.acmi/takeoff",-685418964),"Landed",new cljs.core.Keyword("lsobot.acmi","landed","lsobot.acmi/landed",758138957)],null);
lsobot.acmi.parse_event=function(a){a=clojure.string.split.call(null,a,/\|/);var b=cljs.core.seq.call(null,a);a=cljs.core.first.call(null,b);var c=cljs.core.next.call(null,b);b=1<cljs.core.count.call(null,c)?cljs.core.butlast.call(null,c):null;c=cljs.core.last.call(null,c);return new cljs.core.PersistentArrayMap(null,3,[new cljs.core.Keyword("lsobot.acmi","event-type","lsobot.acmi/event-type",1735575154),lsobot.acmi.event_types.call(null,a),new cljs.core.Keyword("lsobot.acmi","ids","lsobot.acmi/ids",
675797055),b,new cljs.core.Keyword("lsobot.acmi","text","lsobot.acmi/text",1096477988),c],null)};
lsobot.acmi.parse_entity_line=function(a){var b=clojure.string.split.call(null,a,/,/),c=cljs.core.seq.call(null,b);a=cljs.core.first.call(null,c);var d=cljs.core.next.call(null,c);b=cljs.core.into.call(null,cljs.core.PersistentArrayMap.EMPTY,cljs.core.map.call(null,function(a,b,c,d,k,l){return function(a){return clojure.string.split.call(null,a,/=/)}}(b,c,a,d,a,d),d));return cljs.core.contains_QMARK_.call(null,b,"Event")?new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,
[new cljs.core.Keyword(null,"event","event",301435442),lsobot.acmi.parse_event.call(null,cljs.core.get.call(null,b,"Event"))],null):new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"entity-info","entity-info",1277638547),cljs.core.PersistentArrayMap.createAsIfByAssoc([a,cljs.core.assoc.call(null,cljs.core.reduce.call(null,cljs.core.merge,cljs.core.PersistentArrayMap.EMPTY,cljs.core.map.call(null,lsobot.acmi.parse_field,b)),new cljs.core.Keyword("lsobot.acmi",
"removed?","lsobot.acmi/removed?",2003784097),!1)])],null)};
lsobot.acmi.parse_line=function(a){return cljs.core.truth_(a.startsWith("//"))?new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"comment","comment",532206069)],null):cljs.core.truth_(a.startsWith("#"))?new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"timestamp","timestamp",579478971),new Number(cljs.core.subs.call(null,a,1))],null):cljs.core.truth_(a.startsWith("-"))?new cljs.core.PersistentVector(null,
2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"deletion","deletion",297724078),cljs.core.subs.call(null,a,1)],null):lsobot.acmi.parse_entity_line.call(null,a)};
lsobot.acmi.read_acmi=function(a){switch(arguments.length){case 1:return lsobot.acmi.read_acmi.cljs$core$IFn$_invoke$arity$1(arguments[0]);case 2:return lsobot.acmi.read_acmi.cljs$core$IFn$_invoke$arity$2(arguments[0],arguments[1]);default:throw Error(["Invalid arity: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(""));}};lsobot.acmi.read_acmi.cljs$core$IFn$_invoke$arity$1=function(a){return lsobot.acmi.read_acmi.call(null,a,cljs.core.constantly.call(null,!0))};
lsobot.acmi.read_acmi.cljs$core$IFn$_invoke$arity$2=function(a,b){a=cljs.core.drop.call(null,2,clojure.string.split.call(null,a,"\n"));lsobot.acmi.log.call(null,new cljs.core.Keyword(null,"lines","lines",-700165781),cljs.core.count.call(null,a));var c=cljs.core.seq.call(null,a);cljs.core.first.call(null,c);cljs.core.next.call(null,c);c=cljs.core.PersistentArrayMap.EMPTY;for(var d=cljs.core.PersistentVector.EMPTY,e=0,f=cljs.core.PersistentVector.EMPTY;;){var g=cljs.core.seq.call(null,a);a=cljs.core.first.call(null,
g);g=cljs.core.next.call(null,g);var h=a,k=c;c=e;a=f;lsobot.acmi.log.call(null,new cljs.core.Keyword(null,"t","t",-1397832519),c,new cljs.core.Keyword(null,"frames","frames",1765687497),cljs.core.count.call(null,a));if(cljs.core.not.call(null,h))return new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword("lsobot.acmi","frames","lsobot.acmi/frames",1165126782),cljs.core.conj.call(null,a,new cljs.core.PersistentArrayMap(null,3,[new cljs.core.Keyword("lsobot.acmi","t","lsobot.acmi/t",1347958254),
c,new cljs.core.Keyword("lsobot.acmi","events","lsobot.acmi/events",781376958),d,new cljs.core.Keyword("lsobot.acmi","entities","lsobot.acmi/entities",1464472374),k],null))],null);e=lsobot.acmi.parse_line.call(null,h);f=cljs.core.nth.call(null,e,0,null);var l=cljs.core.nth.call(null,e,1,null);lsobot.acmi.log.call(null,new cljs.core.Keyword(null,"line","line",212345235),h,new cljs.core.Keyword(null,"line-info","line-info",998942046),cljs.core.pr_str.call(null,l));e=f;e=e instanceof cljs.core.Keyword?
e.fqn:null;switch(e){case "comment":h=k;d=cljs.core.PersistentVector.EMPTY;e=c;f=a;a=g;c=h;continue;case "timestamp":var m=g;f=k;e=cljs.core.PersistentVector.EMPTY;g=l;h=cljs.core.conj.call(null,a,new cljs.core.PersistentArrayMap(null,3,[new cljs.core.Keyword("lsobot.acmi","t","lsobot.acmi/t",1347958254),c,new cljs.core.Keyword("lsobot.acmi","events","lsobot.acmi/events",781376958),d,new cljs.core.Keyword("lsobot.acmi","entities","lsobot.acmi/entities",1464472374),k],null));a=m;c=f;d=e;e=g;f=h;continue;
case "entity-info":h=g;g=function(){var a=cljs.core.first.call(null,cljs.core.keys.call(null,l)),c=cljs.core.first.call(null,cljs.core.vals.call(null,l));return cljs.core.truth_(function(){var d=b.call(null,c);return cljs.core.truth_(d)?d:b.call(null,cljs.core.get.call(null,k,a))}())?cljs.core.merge_with.call(null,cljs.core.merge,k,l):k}();e=c;f=a;a=h;c=g;continue;case "event":h=g;g=k;d=cljs.core.conj.call(null,d,l);e=c;f=a;a=h;c=g;continue;case "deletion":h=g;g=cljs.core.contains_QMARK_.call(null,
k,l)?cljs.core.assoc_in.call(null,k,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[l,new cljs.core.Keyword("lsobot.acmi","removed?","lsobot.acmi/removed?",2003784097)],null),!0):k;e=c;f=a;a=h;c=g;continue;default:throw Error(["No matching clause: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(e)].join(""));}}};lsobot.acmi.read_acmi.cljs$lang$maxFixedArity=2;
lsobot.acmi.frame_index_at=function(a,b){a=(new cljs.core.Keyword("lsobot.acmi","frames","lsobot.acmi/frames",1165126782)).cljs$core$IFn$_invoke$arity$1(a);for(var c=0,d=cljs.core.count.call(null,a)-1;;){var e=(c+d)/2|0,f=(new cljs.core.Keyword("lsobot.acmi","t","lsobot.acmi/t",1347958254)).cljs$core$IFn$_invoke$arity$1(cljs.core.nth.call(null,a,e));if(cljs.core._EQ_.call(null,f,b))return e;if(cljs.core._EQ_.call(null,c,d-1))return e+1;f<b?c=e:d=e}};
lsobot.acmi.frame_at=function(a,b){return cljs.core.nth.call(null,(new cljs.core.Keyword("lsobot.acmi","frames","lsobot.acmi/frames",1165126782)).cljs$core$IFn$_invoke$arity$1(a),lsobot.acmi.frame_index_at.call(null,a,b))};lsobot.acmi.entities=function(a){return(new cljs.core.Keyword("lsobot.acmi","entities","lsobot.acmi/entities",1464472374)).cljs$core$IFn$_invoke$arity$1(a)};lsobot.acmi.entity=function(a,b){return cljs.core.get.call(null,lsobot.acmi.entities.call(null,a),b)};
lsobot.acmi.entity_at=function(a,b,c){a=lsobot.acmi.frame_at.call(null,a,c);return cljs.core.get.call(null,(new cljs.core.Keyword("lsobot.acmi","entities","lsobot.acmi/entities",1464472374)).cljs$core$IFn$_invoke$arity$1(a),b)};weathergen.ui.grids={};
weathergen.ui.grids.master_detail=function(){var a=function(a){var b=hoplon.core.parse_args.call(null,a),c=cljs.core.nth.call(null,b,0,null),f=cljs.core.nth.call(null,b,1,null),g=null!=c&&(c.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===c.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,c):c,h=cljs.core.get.call(null,g,new cljs.core.Keyword(null,"data","data",-232669377)),k=cljs.core.get.call(null,g,new cljs.core.Keyword(null,"detail","detail",-1545345025)),l=
cljs.core.get.call(null,g,new cljs.core.Keyword(null,"columns","columns",1998437288)),m=cljs.core.get.call(null,g,new cljs.core.Keyword(null,"formatter","formatter",-483008823)),n=cljs.core.get.call(null,g,new cljs.core.Keyword(null,"options","options",99638489));return hoplon.core.div.call(null,cljs.core.dissoc.call(null,c,new cljs.core.Keyword(null,"data","data",-232669377),new cljs.core.Keyword(null,"detail","detail",-1545345025),new cljs.core.Keyword(null,"columns","columns",1998437288),new cljs.core.Keyword(null,
"formatter","formatter",-483008823),new cljs.core.Keyword(null,"options","options",99638489)),function(){var a=javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,k,l){return function(a){return a}}(c,g,h,k,l,m,n,b,c,f)).call(null,h),d=javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,k,l,m){return function(a){return a}}(a,c,g,h,k,l,m,n,b,c,f)).call(null,l),e=javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,k,l,m,n){return function(a){return a}}(a,d,c,g,h,k,l,m,n,b,c,f)).call(null,
n),u=function(a,b,c,d,e,f,g,h,k,l,m,n,p){return function(){var a=function(a){return cljs.core.apply.call(null,hoplon.core.td,new cljs.core.Keyword(null,"css","css",1135045163),new cljs.core.PersistentArrayMap(null,2,[new cljs.core.Keyword(null,"border","border",1444987323),"solid 1px #eee",new cljs.core.Keyword(null,"padding","padding",1660304693),"0 2px 0 2px"],null),a)},b=function(b){var c=null;if(0<arguments.length){c=0;for(var d=Array(arguments.length-0);c<d.length;)d[c]=arguments[c+0],++c;c=
new cljs.core.IndexedSeq(d,0,null)}return a.call(this,c)};b.cljs$lang$maxFixedArity=0;b.cljs$lang$applyTo=function(b){b=cljs.core.seq(b);return a(b)};b.cljs$core$IFn$_invoke$arity$variadic=a;return b}()}(a,d,e,c,g,h,k,l,m,n,b,c,f);return hoplon.core.table.call(null,new cljs.core.Keyword(null,"css","css",1135045163),new cljs.core.PersistentArrayMap(null,3,[new cljs.core.Keyword(null,"background","background",-863952629),"white",new cljs.core.Keyword(null,"border-collapse","border-collapse",919100239),
"collapse",new cljs.core.Keyword(null,"outline","outline",793464534),"solid 1px #ccc"],null),hoplon.core.thead.call(null,hoplon.core.tr.call(null,new cljs.core.Keyword(null,"css","css",1135045163),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"background","background",-863952629),"linear-gradient(to bottom, white, white 33%, #eee 66%)"],null),javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q){return function(r){return function(a,b,c,d,e,f,g,h,k,l,m,n,p,q){return function aa(r){return new cljs.core.LazySeq(null,
function(a,b,c,d,e,f,g,h,k,l,m,n,p,q){return function(){for(;;){var a=cljs.core.seq.call(null,r);if(a){if(cljs.core.chunked_seq_QMARK_.call(null,a)){var b=cljs.core.chunk_first.call(null,a),c=cljs.core.count.call(null,b),d=cljs.core.chunk_buffer.call(null,c);a:for(var e=0;;)if(e<c){var f=cljs.core._nth.call(null,b,e);cljs.core.chunk_append.call(null,d,hoplon.core.td.call(null,(new cljs.core.Keyword(null,"name","name",1843675177)).cljs$core$IFn$_invoke$arity$1(f)));e+=1}else{b=!0;break a}return b?
cljs.core.chunk_cons.call(null,cljs.core.chunk.call(null,d),aa.call(null,cljs.core.chunk_rest.call(null,a))):cljs.core.chunk_cons.call(null,cljs.core.chunk.call(null,d),null)}d=cljs.core.first.call(null,a);return cljs.core.cons.call(null,hoplon.core.td.call(null,(new cljs.core.Keyword(null,"name","name",1843675177)).cljs$core$IFn$_invoke$arity$1(d)),aa.call(null,cljs.core.rest.call(null,a)))}return null}}}(a,b,c,d,e,f,g,h,k,l,m,n,p,q),null,null)}}(a,b,c,d,e,f,g,h,k,l,m,n,p,q).call(null,r)}}(a,d,e,
u,c,g,h,k,l,m,n,b,c,f)).call(null,d))),javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q){return function(r,t){return function(a,b,c,d,e,f,g,h,k,l,m,n,p,q){return function ba(r){return new cljs.core.LazySeq(null,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q){return function(){for(;;){var u=cljs.core.seq.call(null,r);if(u){var v=u;if(cljs.core.chunked_seq_QMARK_.call(null,v)){var w=cljs.core.chunk_first.call(null,v),x=cljs.core.count.call(null,w),z=cljs.core.chunk_buffer.call(null,x);return function(){for(var r=
0;;)if(r<x){var y=cljs.core._nth.call(null,w,r);cljs.core.chunk_append.call(null,z,function(){var A=javelin.core.cell.call(null,!0),B=h.call(null,y),C=new cljs.core.PersistentArrayMap(null,3,[new cljs.core.Keyword(null,"width","width",-384071477),"12px",new cljs.core.Keyword(null,"margin-right","margin-right",809689658),"3px",new cljs.core.Keyword(null,"display","display",242065432),"inline-block"],null),E=function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,z,y,A,B,C,E){return function(){return hoplon.core.span.call(null,
new cljs.core.Keyword(null,"css","css",1135045163),f)}}(r,A,B,"12px","3px",C,y,w,x,z,v,u,a,b,c,d,e,f,g,h,k,l,m,n,p,q);return new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[hoplon.core.tbody.call(null,hoplon.core.tr.call(null,d.call(null,new cljs.core.Keyword(null,"colspan","colspan",-1512420934),cljs.core.count.call(null,t),0===cljs.core.count.call(null,B)?E.call(null):hoplon.core.div.call(null,new cljs.core.Keyword(null,"css","css",1135045163),cljs.core.PersistentHashMap.fromArrays([new cljs.core.Keyword(null,
"border-style","border-style",-485574304),new cljs.core.Keyword(null,"text-anchor","text-anchor",585613696),new cljs.core.Keyword(null,"line-height","line-height",1870784992),new cljs.core.Keyword(null,"text-align","text-align",1786091845),new cljs.core.Keyword(null,"vertical-align","vertical-align",651007333),new cljs.core.Keyword(null,"font-size","font-size",-1847940346),new cljs.core.Keyword(null,"font-weight","font-weight",2085804583),new cljs.core.Keyword(null,"width","width",-384071477),new cljs.core.Keyword(null,
"border-width","border-width",-1512605390),new cljs.core.Keyword(null,"border-color","border-color",-2059162761),new cljs.core.Keyword(null,"display","display",242065432),new cljs.core.Keyword(null,"margin-right","margin-right",809689658),new cljs.core.Keyword(null,"border-radius","border-radius",419594011),new cljs.core.Keyword(null,"height","height",1025178622)],"solid 6px 12px center middle 120% bold 12px 1px black inline-block 3px 50% 12px".split(" ")),new cljs.core.Keyword(null,"click","click",
1912301393),function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,z,y,A,B,C,E,D){return function(){return cljs.core.swap_BANG_.call(null,b,cljs.core.not)}}(r,A,B,"12px","3px",C,E,y,w,x,z,v,u,a,b,c,d,e,f,g,h,k,l,m,n,p,q),function(){var t=new cljs.core.Delay(function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,z,y,A,B,C,E,D){return function(){return"-"}}(r,A,B,"12px","3px",C,E,y,w,x,z,v,u,a,b,c,d,e,f,g,h,k,l,m,n,p,q),null),D=new cljs.core.Delay(function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,z,y,A,B,C,E,D,
H){return function(){return"+"}}(r,t,A,B,"12px","3px",C,E,y,w,x,z,v,u,a,b,c,d,e,f,g,h,k,l,m,n,p,q),null);t=function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,z,y,A,B,C,E,D,H,I){return function(a){return cljs.core.deref.call(null,function(){var d=cljs.core.truth_(a)?b:c;return cljs.core.truth_(d)?d:cljs.core.atom.call(null,null)}())}}(r,t,D,A,B,"12px","3px",C,E,y,w,x,z,v,u,a,b,c,d,e,f,g,h,k,l,m,n,p,q);return javelin.core.formula.call(null,t).call(null,A)}()),l.call(null,y)))),hoplon.core.tbody.call(null,
function(){return function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,v,w,x,z,y,A,B,C,E,D,H){return function va(I){return new cljs.core.LazySeq(null,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,v,w,x,z,y,A,B,C,E,D,H){return function(){for(;;){var G=cljs.core.seq.call(null,I);if(G){var F=G;if(cljs.core.chunked_seq_QMARK_.call(null,F)){var L=cljs.core.chunk_first.call(null,F),K=cljs.core.count.call(null,L),M=cljs.core.chunk_buffer.call(null,K);return function(){for(var I=0;;)if(I<K){var J=cljs.core._nth.call(null,
L,I);cljs.core.chunk_append.call(null,M,hoplon.core.tr.call(null,new cljs.core.Keyword(null,"fade-toggle","fade-toggle",-1468421852),b,function(){var a=(new cljs.core.Keyword(null,"formatter","formatter",-483008823)).cljs$core$IFn$_invoke$arity$1(cljs.core.first.call(null,t));return v.call(null,g.call(null),g.call(null),a.call(null,J))}(),function(){return function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,z,y,A,B,C,E,D,I,H,G,F,L,K,J){return function Tb(M){return new cljs.core.LazySeq(null,function(a,
b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,z,y,A,B,C,E,D,I,H,G,F,L,K,J){return function(){for(;;){var a=cljs.core.seq.call(null,M);if(a){if(cljs.core.chunked_seq_QMARK_.call(null,a)){var b=cljs.core.chunk_first.call(null,a),d=cljs.core.count.call(null,b),e=cljs.core.chunk_buffer.call(null,d);a:for(var f=0;;)if(f<d){var g=cljs.core._nth.call(null,b,f);cljs.core.chunk_append.call(null,e,B.call(null,(new cljs.core.Keyword(null,"formatter","formatter",-483008823)).cljs$core$IFn$_invoke$arity$1(g).call(null,
c)));f+=1}else{b=!0;break a}return b?cljs.core.chunk_cons.call(null,cljs.core.chunk.call(null,e),Tb.call(null,cljs.core.chunk_rest.call(null,a))):cljs.core.chunk_cons.call(null,cljs.core.chunk.call(null,e),null)}e=cljs.core.first.call(null,a);return cljs.core.cons.call(null,B.call(null,(new cljs.core.Keyword(null,"formatter","formatter",-483008823)).cljs$core$IFn$_invoke$arity$1(e).call(null,c)),Tb.call(null,cljs.core.rest.call(null,a)))}return null}}}(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,z,y,
A,B,C,E,D,I,H,G,F,L,K,J),null,null)}}(I,a,J,L,K,M,F,G,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,v,w,x,z,y,A,B,C,E,D,H).call(null,cljs.core.drop.call(null,1,t))}()));I+=1}else return!0}()?cljs.core.chunk_cons.call(null,cljs.core.chunk.call(null,M),va.call(null,cljs.core.chunk_rest.call(null,F))):cljs.core.chunk_cons.call(null,cljs.core.chunk.call(null,M),null)}var J=cljs.core.first.call(null,F);return cljs.core.cons.call(null,hoplon.core.tr.call(null,new cljs.core.Keyword(null,"fade-toggle","fade-toggle",-1468421852),
b,function(){var a=(new cljs.core.Keyword(null,"formatter","formatter",-483008823)).cljs$core$IFn$_invoke$arity$1(cljs.core.first.call(null,t));return v.call(null,g.call(null),g.call(null),a.call(null,J))}(),function(){return function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,z,y,A,B,C,E,D,I,H,G){return function Gb(F){return new cljs.core.LazySeq(null,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,z,y,A,B,C,E,D,I,H,G){return function(){for(;;){var a=cljs.core.seq.call(null,F);if(a){if(cljs.core.chunked_seq_QMARK_.call(null,
a)){var c=cljs.core.chunk_first.call(null,a),d=cljs.core.count.call(null,c),e=cljs.core.chunk_buffer.call(null,d);a:for(var f=0;;)if(f<d){var g=cljs.core._nth.call(null,c,f);cljs.core.chunk_append.call(null,e,x.call(null,(new cljs.core.Keyword(null,"formatter","formatter",-483008823)).cljs$core$IFn$_invoke$arity$1(g).call(null,b)));f+=1}else{c=!0;break a}return c?cljs.core.chunk_cons.call(null,cljs.core.chunk.call(null,e),Gb.call(null,cljs.core.chunk_rest.call(null,a))):cljs.core.chunk_cons.call(null,
cljs.core.chunk.call(null,e),null)}e=cljs.core.first.call(null,a);return cljs.core.cons.call(null,x.call(null,(new cljs.core.Keyword(null,"formatter","formatter",-483008823)).cljs$core$IFn$_invoke$arity$1(e).call(null,b)),Gb.call(null,cljs.core.rest.call(null,a)))}return null}}}(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,z,y,A,B,C,E,D,I,H,G),null,null)}}(a,J,F,G,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,v,w,x,z,y,A,B,C,E,D,H).call(null,cljs.core.drop.call(null,1,t))}()),va.call(null,cljs.core.rest.call(null,F)))}return null}}}(a,
b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,v,w,x,z,y,A,B,C,E,D,H),null,null)}}(r,A,B,"12px","3px",C,E,y,w,x,z,v,u,a,b,c,d,e,f,g,h,k,l,m,n,p,q).call(null,B)}())],null)}());r+=1}else return!0}()?cljs.core.chunk_cons.call(null,cljs.core.chunk.call(null,z),ba.call(null,cljs.core.chunk_rest.call(null,v))):cljs.core.chunk_cons.call(null,cljs.core.chunk.call(null,z),null)}var y=cljs.core.first.call(null,v);return cljs.core.cons.call(null,function(){var r=javelin.core.cell.call(null,!0),w=h.call(null,y),x=new cljs.core.PersistentArrayMap(null,
3,[new cljs.core.Keyword(null,"width","width",-384071477),"12px",new cljs.core.Keyword(null,"margin-right","margin-right",809689658),"3px",new cljs.core.Keyword(null,"display","display",242065432),"inline-block"],null),z=function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,z,y){return function(){return hoplon.core.span.call(null,new cljs.core.Keyword(null,"css","css",1135045163),e)}}(r,w,"12px","3px",x,y,v,u,a,b,c,d,e,f,g,h,k,l,m,n,p,q);return new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,
[hoplon.core.tbody.call(null,hoplon.core.tr.call(null,d.call(null,new cljs.core.Keyword(null,"colspan","colspan",-1512420934),cljs.core.count.call(null,t),0===cljs.core.count.call(null,w)?z.call(null):hoplon.core.div.call(null,new cljs.core.Keyword(null,"css","css",1135045163),cljs.core.PersistentHashMap.fromArrays([new cljs.core.Keyword(null,"border-style","border-style",-485574304),new cljs.core.Keyword(null,"text-anchor","text-anchor",585613696),new cljs.core.Keyword(null,"line-height","line-height",
1870784992),new cljs.core.Keyword(null,"text-align","text-align",1786091845),new cljs.core.Keyword(null,"vertical-align","vertical-align",651007333),new cljs.core.Keyword(null,"font-size","font-size",-1847940346),new cljs.core.Keyword(null,"font-weight","font-weight",2085804583),new cljs.core.Keyword(null,"width","width",-384071477),new cljs.core.Keyword(null,"border-width","border-width",-1512605390),new cljs.core.Keyword(null,"border-color","border-color",-2059162761),new cljs.core.Keyword(null,
"display","display",242065432),new cljs.core.Keyword(null,"margin-right","margin-right",809689658),new cljs.core.Keyword(null,"border-radius","border-radius",419594011),new cljs.core.Keyword(null,"height","height",1025178622)],"solid 6px 12px center middle 120% bold 12px 1px black inline-block 3px 50% 12px".split(" ")),new cljs.core.Keyword(null,"click","click",1912301393),function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,z,y,A){return function(){return cljs.core.swap_BANG_.call(null,a,cljs.core.not)}}(r,
w,"12px","3px",x,z,y,v,u,a,b,c,d,e,f,g,h,k,l,m,n,p,q),function(){var t=new cljs.core.Delay(function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,z,y,A){return function(){return"-"}}(r,w,"12px","3px",x,z,y,v,u,a,b,c,d,e,f,g,h,k,l,m,n,p,q),null),A=new cljs.core.Delay(function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,z,y,A,B){return function(){return"+"}}(t,r,w,"12px","3px",x,z,y,v,u,a,b,c,d,e,f,g,h,k,l,m,n,p,q),null);t=function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,z,y,A,B,C){return function(c){return cljs.core.deref.call(null,
function(){var d=cljs.core.truth_(c)?a:b;return cljs.core.truth_(d)?d:cljs.core.atom.call(null,null)}())}}(t,A,r,w,"12px","3px",x,z,y,v,u,a,b,c,d,e,f,g,h,k,l,m,n,p,q);return javelin.core.formula.call(null,t).call(null,r)}()),l.call(null,y)))),hoplon.core.tbody.call(null,function(){return function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,v,w,x,z,y,A,B){return function za(C){return new cljs.core.LazySeq(null,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,v,w,x,z,y,A,B){return function(){for(;;){var E=cljs.core.seq.call(null,
C);if(E){var D=E;if(cljs.core.chunked_seq_QMARK_.call(null,D)){var I=cljs.core.chunk_first.call(null,D),H=cljs.core.count.call(null,I),G=cljs.core.chunk_buffer.call(null,H);return function(){for(var C=0;;)if(C<H){var F=cljs.core._nth.call(null,I,C);cljs.core.chunk_append.call(null,G,hoplon.core.tr.call(null,new cljs.core.Keyword(null,"fade-toggle","fade-toggle",-1468421852),a,function(){var a=(new cljs.core.Keyword(null,"formatter","formatter",-483008823)).cljs$core$IFn$_invoke$arity$1(cljs.core.first.call(null,
t));return p.call(null,f.call(null),f.call(null),a.call(null,F))}(),function(){return function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,z,y,A,B,C,E,D,I,H,G){return function Eb(F){return new cljs.core.LazySeq(null,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,z,y,A,B,C,E,D,I,H,G){return function(){for(;;){var a=cljs.core.seq.call(null,F);if(a){if(cljs.core.chunked_seq_QMARK_.call(null,a)){var c=cljs.core.chunk_first.call(null,a),d=cljs.core.count.call(null,c),e=cljs.core.chunk_buffer.call(null,d);
a:for(var f=0;;)if(f<d){var g=cljs.core._nth.call(null,c,f);cljs.core.chunk_append.call(null,e,x.call(null,(new cljs.core.Keyword(null,"formatter","formatter",-483008823)).cljs$core$IFn$_invoke$arity$1(g).call(null,b)));f+=1}else{c=!0;break a}return c?cljs.core.chunk_cons.call(null,cljs.core.chunk.call(null,e),Eb.call(null,cljs.core.chunk_rest.call(null,a))):cljs.core.chunk_cons.call(null,cljs.core.chunk.call(null,e),null)}e=cljs.core.first.call(null,a);return cljs.core.cons.call(null,x.call(null,
(new cljs.core.Keyword(null,"formatter","formatter",-483008823)).cljs$core$IFn$_invoke$arity$1(e).call(null,b)),Eb.call(null,cljs.core.rest.call(null,a)))}return null}}}(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,z,y,A,B,C,E,D,I,H,G),null,null)}}(C,F,I,H,G,D,E,a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,v,w,x,z,y,A,B).call(null,cljs.core.drop.call(null,1,t))}()));C+=1}else return!0}()?cljs.core.chunk_cons.call(null,cljs.core.chunk.call(null,G),za.call(null,cljs.core.chunk_rest.call(null,D))):cljs.core.chunk_cons.call(null,
cljs.core.chunk.call(null,G),null)}var F=cljs.core.first.call(null,D);return cljs.core.cons.call(null,hoplon.core.tr.call(null,new cljs.core.Keyword(null,"fade-toggle","fade-toggle",-1468421852),a,function(){var a=(new cljs.core.Keyword(null,"formatter","formatter",-483008823)).cljs$core$IFn$_invoke$arity$1(cljs.core.first.call(null,t));return p.call(null,f.call(null),f.call(null),a.call(null,F))}(),function(){return function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,z,y,A,B,C,E){return function ub(D){return new cljs.core.LazySeq(null,
function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,z,y,A,B,C,E){return function(){for(;;){var b=cljs.core.seq.call(null,D);if(b){if(cljs.core.chunked_seq_QMARK_.call(null,b)){var c=cljs.core.chunk_first.call(null,b),d=cljs.core.count.call(null,c),e=cljs.core.chunk_buffer.call(null,d);a:for(var f=0;;)if(f<d){var g=cljs.core._nth.call(null,c,f);cljs.core.chunk_append.call(null,e,t.call(null,(new cljs.core.Keyword(null,"formatter","formatter",-483008823)).cljs$core$IFn$_invoke$arity$1(g).call(null,a)));
f+=1}else{c=!0;break a}return c?cljs.core.chunk_cons.call(null,cljs.core.chunk.call(null,e),ub.call(null,cljs.core.chunk_rest.call(null,b))):cljs.core.chunk_cons.call(null,cljs.core.chunk.call(null,e),null)}e=cljs.core.first.call(null,b);return cljs.core.cons.call(null,t.call(null,(new cljs.core.Keyword(null,"formatter","formatter",-483008823)).cljs$core$IFn$_invoke$arity$1(e).call(null,a)),ub.call(null,cljs.core.rest.call(null,b)))}return null}}}(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,z,y,A,B,C,
E),null,null)}}(F,D,E,a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,v,w,x,z,y,A,B).call(null,cljs.core.drop.call(null,1,t))}()),za.call(null,cljs.core.rest.call(null,D)))}return null}}}(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,v,w,x,z,y,A,B),null,null)}}(r,w,"12px","3px",x,z,y,v,u,a,b,c,d,e,f,g,h,k,l,m,n,p,q).call(null,w)}())],null)}(),ba.call(null,cljs.core.rest.call(null,v)))}return null}}}(a,b,c,d,e,f,g,h,k,l,m,n,p,q),null,null)}}(a,b,c,d,e,f,g,h,k,l,m,n,p,q).call(null,r)}}(a,d,e,u,c,g,h,k,l,m,n,b,c,f)).call(null,a,
d))}())},b=function(b){var c=null;if(0<arguments.length){c=0;for(var e=Array(arguments.length-0);c<e.length;)e[c]=arguments[c+0],++c;c=new cljs.core.IndexedSeq(e,0,null)}return a.call(this,c)};b.cljs$lang$maxFixedArity=0;b.cljs$lang$applyTo=function(b){b=cljs.core.seq(b);return a(b)};b.cljs$core$IFn$_invoke$arity$variadic=a;return b}();
weathergen.ui.grids.sorters=function(a,b){return weathergen.ui.common.inl.call(null,new cljs.core.Keyword(null,"class","class",-2030961996),"sorters",hoplon.svg.svg.call(null,new cljs.core.Keyword(null,"width","width",-384071477),"20px",new cljs.core.Keyword(null,"viewBox","viewBox",-469489477),"-100 -100 200 200",weathergen.ui.common.triangle.call(null,new cljs.core.Keyword(null,"transform","transform",1381301764),"rotate(180) translate(0 -50)",new cljs.core.Keyword(null,"r","r",-471384190),50,new cljs.core.Keyword(null,
"stroke","stroke",1741823555),"black",new cljs.core.Keyword(null,"stroke-width","stroke-width",716836435),"2",new cljs.core.Keyword(null,"fill","fill",883462889),javelin.core.formula.call(null,function(a,b){return cljs.core._EQ_.call(null,a,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[b,new cljs.core.Keyword(null,"ascending","ascending",-988350486)],null))?"black":"none"}).call(null,a,b)),weathergen.ui.common.triangle.call(null,new cljs.core.Keyword(null,"transform",
"transform",1381301764),"translate(0 -50)",new cljs.core.Keyword(null,"r","r",-471384190),50,new cljs.core.Keyword(null,"stroke","stroke",1741823555),"black",new cljs.core.Keyword(null,"stroke-width","stroke-width",716836435),"2",new cljs.core.Keyword(null,"fill","fill",883462889),javelin.core.formula.call(null,function(a,b){return cljs.core._EQ_.call(null,a,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[b,new cljs.core.Keyword(null,"descending","descending",-24766135)],
null))?"black":"none"}).call(null,a,b))))};
weathergen.ui.grids.rsorters=function(a,b){return weathergen.ui.common.rinl.call(null,new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"class","class",-2030961996),"sorters"],null),new cljs.core.PersistentVector(null,4,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"svg","svg",856789142),new cljs.core.PersistentArrayMap(null,2,[new cljs.core.Keyword(null,"width","width",-384071477),weathergen.ui.common.px.call(null,20),new cljs.core.Keyword(null,"viewBox","viewBox",
-469489477),"-100 -100 200 200"],null),weathergen.ui.common.rtriangle.call(null,new cljs.core.PersistentArrayMap(null,5,[new cljs.core.Keyword(null,"transform","transform",1381301764),"rotate(180) translate(0 -50)",new cljs.core.Keyword(null,"r","r",-471384190),50,new cljs.core.Keyword(null,"stroke","stroke",1741823555),"black",new cljs.core.Keyword(null,"stroke-width","stroke-width",716836435),"2",new cljs.core.Keyword(null,"fill","fill",883462889),cljs.core._EQ_.call(null,a,new cljs.core.PersistentVector(null,
2,5,cljs.core.PersistentVector.EMPTY_NODE,[b,new cljs.core.Keyword(null,"ascending","ascending",-988350486)],null))?"black":"none"],null)),weathergen.ui.common.rtriangle.call(null,new cljs.core.PersistentArrayMap(null,5,[new cljs.core.Keyword(null,"transform","transform",1381301764),"translate(0 -50)",new cljs.core.Keyword(null,"r","r",-471384190),50,new cljs.core.Keyword(null,"stroke","stroke",1741823555),"black",new cljs.core.Keyword(null,"stroke-width","stroke-width",716836435),"2",new cljs.core.Keyword(null,
"fill","fill",883462889),cljs.core._EQ_.call(null,a,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[b,new cljs.core.Keyword(null,"descending","descending",-24766135)],null))?"black":"none"],null))],null))};
weathergen.ui.grids.nudge=function(a,b,c){return cljs.core.mapv.call(null,cljs.core.second,cljs.core.sort_by.call(null,cljs.core.first,cljs.core.map_indexed.call(null,function(a,e){return new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[cljs.core._EQ_.call(null,e,b)?0<c?a+1.5:a-1.5:a,e],null)},a)))};
weathergen.ui.grids.register_table_grid_styles_BANG_=function(){return weathergen.ui.common.register_styles_BANG_.call(null,new cljs.core.Keyword("weathergen.ui.grids","table-grid","weathergen.ui.grids/table-grid",-1079718067),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.PersistentVector(null,6,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"table.table-grid","table.table-grid",1127379830),new cljs.core.PersistentArrayMap(null,1,
[new cljs.core.Keyword(null,"border-collapse","border-collapse",919100239),"collapse"],null),new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"tr.table-grid-row","tr.table-grid-row",-1812077054),garden.selectors._AMPERSAND_.call(null,garden.selectors.nth_child.call(null,new cljs.core.Keyword(null,"even","even",-275845692))),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"background","background",-863952629),"#eee"],null)],
null),new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"tr.table-grid-row","tr.table-grid-row",-1812077054),garden.selectors._AMPERSAND_.call(null,garden.selectors.nth_child.call(null,new cljs.core.Keyword(null,"odd","odd",-1213409872))),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"background","background",-863952629),"white"],null)],null),new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,
[new cljs.core.Keyword(null,"thead.table-grid-header","thead.table-grid-header",410909598),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"td.table-grid-cell","td.table-grid-cell",717270302),new cljs.core.PersistentArrayMap(null,4,[new cljs.core.Keyword(null,"background","background",-863952629),"#ddd",new cljs.core.Keyword(null,"border","border",1444987323),"solid 1px grey",new cljs.core.Keyword(null,"padding","padding",1660304693),"2px 4px 4px 4px",
new cljs.core.Keyword(null,"white-space","white-space",-707351930),"nowrap"],null)],null),new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,".sorters",".sorters",2118548878),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"display","display",242065432),"inline-block"],null),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"svg","svg",856789142),new cljs.core.PersistentArrayMap(null,
1,[new cljs.core.Keyword(null,"vertical-align","vertical-align",651007333),"bottom"],null)],null)],null)],null),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"tbody.table-grid-body","tbody.table-grid-body",-611948556),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"td.table-grid-cell","td.table-grid-cell",717270302),new cljs.core.PersistentArrayMap(null,2,[new cljs.core.Keyword(null,
"padding","padding",1660304693),"2px 3px 2px 3px",new cljs.core.Keyword(null,"border","border",1444987323),"solid 1px lightgray"],null)],null)],null)],null),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"td.table-grid-cell.hidden-column","td.table-grid-cell.hidden-column",-561691712),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"display","display",242065432),"none"],null)],null)],null))};
weathergen.ui.grids.table_grid=function(){var a=function(a){var b=hoplon.core.parse_args.call(null,a),c=cljs.core.nth.call(null,b,0,null),f=cljs.core.nth.call(null,b,1,null);weathergen.ui.grids.register_table_grid_styles_BANG_.call(null);var g=null!=c&&(c.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===c.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,c):c,h=cljs.core.get.call(null,g,new cljs.core.Keyword(null,"movable-columns","movable-columns",-1079893862)),k=
cljs.core.get.call(null,g,new cljs.core.Keyword(null,"data","data",-232669377)),l=cljs.core.get.call(null,g,new cljs.core.Keyword(null,"hidden-columns","hidden-columns",-1045524800)),m=cljs.core.get.call(null,g,new cljs.core.Keyword(null,"row-attrs","row-attrs",2139633863)),n=cljs.core.get.call(null,g,new cljs.core.Keyword(null,"columns","columns",1998437288)),p=cljs.core.get.call(null,g,new cljs.core.Keyword(null,"when-empty","when-empty",-1825107890)),q=cljs.core.get.call(null,g,new cljs.core.Keyword(null,
"key-fn","key-fn",-636154479)),r=cljs.core.get.call(null,g,new cljs.core.Keyword(null,"initial-sort","initial-sort",1434529715)),u=cljs.core.get.call(null,g,new cljs.core.Keyword(null,"fixed-columns","fixed-columns",-1793374858)),t=cljs.core.dissoc.call(null,c,new cljs.core.Keyword(null,"data","data",-232669377),new cljs.core.Keyword(null,"key-fn","key-fn",-636154479),new cljs.core.Keyword(null,"columns","columns",1998437288),new cljs.core.Keyword(null,"row-attrs","row-attrs",2139633863),new cljs.core.Keyword(null,
"when-empty","when-empty",-1825107890),new cljs.core.Keyword(null,"fixed-columns","fixed-columns",-1793374858),new cljs.core.Keyword(null,"movable-columns","movable-columns",-1079893862),new cljs.core.Keyword(null,"hidden-columns","hidden-columns",-1045524800),new cljs.core.Keyword(null,"initial-sort","initial-sort",1434529715));if(!cljs.core.truth_(q))throw Error("Assert failed: key-fn is required\nkey-fn");var v=javelin.core.cell.call(null,r),w=javelin.core.formula.call(null,function(a,b,c,d,e,
f,g,h,k,l,m,n,p,q,r,t){return function(u,v){if(cljs.core.not.call(null,v))return u;var w=cljs.core.nth.call(null,v,0,null),x=cljs.core.nth.call(null,v,1,null),z=cljs.core.get.call(null,h,w),y=null!=z&&(z.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===z.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,z):z,A=cljs.core.get.call(null,y,new cljs.core.Keyword(null,"sort-key","sort-key",1285844623));return cljs.core.sort_by.call(null,A,cljs.core._EQ_.call(null,x,new cljs.core.Keyword(null,
"ascending","ascending",-988350486))?cljs.core.compare:function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,z,y){return function(a,b){return-cljs.core.compare.call(null,a,b)}}(v,w,x,z,y,A,a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t),u)}}(v,c,g,h,k,l,m,n,p,q,r,u,t,b,c,f)).call(null,k,v),x=cljs.core.count.call(null,n),y=javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v){return function(a,b){return cljs.core.into.call(null,cljs.core.vec.call(null,a),cljs.core.vec.call(null,b))}}(v,w,x,c,g,
h,k,l,m,n,p,q,r,u,t,b,c,f)).call(null,u,h),z=javelin.core.cell.call(null,!1),B=function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x){return function(z,y){return function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x){return function(){var a=function(a){return cljs.core.apply.call(null,z,new cljs.core.Keyword(null,"class","class",-2030961996),y,a)},b=function(b){var c=null;if(0<arguments.length){c=0;for(var d=Array(arguments.length-0);c<d.length;)d[c]=arguments[c+0],++c;c=new cljs.core.IndexedSeq(d,0,null)}return a.call(this,
c)};b.cljs$lang$maxFixedArity=0;b.cljs$lang$applyTo=function(b){b=cljs.core.seq(b);return a(b)};b.cljs$core$IFn$_invoke$arity$variadic=a;return b}()}(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x)}}(v,w,x,y,z,c,g,h,k,l,m,n,p,q,r,u,t,b,c,f),C=B.call(null,hoplon.core.table,"table-grid"),A=B.call(null,hoplon.core.thead,"table-grid-header"),D=B.call(null,hoplon.core.tbody,"table-grid-body"),F=B.call(null,hoplon.core.tr,"table-grid-row"),E=B.call(null,hoplon.core.td,"table-grid-cell");return C.call(null,A.call(null,
F.call(null,E.call(null,new cljs.core.Keyword(null,"class","class",-2030961996),"table-grid-cell",new cljs.core.Keyword(null,"colspan","colspan",-1512420934),x,weathergen.ui.buttons.image_button.call(null,new cljs.core.Keyword(null,"src","src",-1651076051),"images/settings.svg",new cljs.core.Keyword(null,"width","width",-384071477),weathergen.ui.common.px.call(null,16),new cljs.core.Keyword(null,"title","title",636505583),"Settings",new cljs.core.Keyword(null,"latched?","latched?",2124907793),z,new cljs.core.Keyword(null,
"click","click",1912301393),function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,z,y,A,B,C,E){return function(){return cljs.core.swap_BANG_.call(null,e,cljs.core.not)}}(v,w,x,y,z,B,C,A,D,F,E,c,g,h,k,l,m,n,p,q,r,u,t,b,c,f)),weathergen.help.help_icon.call(null,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"table-grid","table-grid",1980411698),new cljs.core.Keyword(null,"settings","settings",1556144875)],null)))),F.call(null,function(){return function(a,
b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,z,y,A,B,C,E){return function ja(D){return new cljs.core.LazySeq(null,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,z,y,A,B,C,E){return function(){for(;;){var I=cljs.core.seq.call(null,D);if(I){var H=I;if(cljs.core.chunked_seq_QMARK_.call(null,H)){var F=cljs.core.chunk_first.call(null,H),G=cljs.core.count.call(null,F),L=cljs.core.chunk_buffer.call(null,G);return function(){for(var D=0;;)if(D<G){var K=cljs.core._nth.call(null,F,D);cljs.core.chunk_append.call(null,
L,function(){var J=javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,z,y,A,B,C,E,D,H,I,F,G,K,L){return function(a){return cljs.core.nth.call(null,a,b)}}(D,K,F,G,L,H,I,a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,z,y,A,B,C,E)).call(null,d),M=javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,z,y,A,B,C,E,D,H,I,F,G,K,L,J){return function(a,b){return a.call(null,b)}}(D,J,K,F,G,L,H,I,a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,z,y,A,B,C,E)).call(null,t,
J),N=javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,z,y,A,B,C,E,D,H,I,F,G,K,L,J,M){return function(a){return(new cljs.core.Keyword(null,"disable-sort","disable-sort",-579071276)).cljs$core$IFn$_invoke$arity$1(cljs.core.get.call(null,D,a))}}(D,J,M,K,F,G,L,H,I,a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,z,y,A,B,C,E)).call(null,J);return m.call(null,new cljs.core.Keyword(null,"class","class",-2030961996),javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,
r,t,u,v,w,x,z,y,A,B,C,E,D,H,I,F,G,K,L,J,M,N){return function(a,b){var c=cljs.core.PersistentArrayMap,d=new cljs.core.Keyword(null,"hidden-column","hidden-column",298731236);a=cljs.core.not.call(null,a);return new c(null,2,[d,a?b:a,new cljs.core.Keyword(null,"table-grid-cell","table-grid-cell",573917102),!0],null)}}(D,J,M,N,K,F,G,L,H,I,a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,z,y,A,B,C,E)).call(null,e,M),new cljs.core.Keyword(null,"click","click",1912301393),function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,
u,v,w,x,z,y,A,B,C,E,D,H,I,F,G,K,L,J,M,N){return function(){if(cljs.core.truth_(cljs.core.deref.call(null,d)))return null;cljs.core.swap_BANG_.call(null,m,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,z,y,A,B,C,E,D,H,I,F,G,K,L,J,M,N){return function(a){var c=cljs.core.nth.call(null,a,0,null);a=cljs.core.nth.call(null,a,1,null);return new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[cljs.core.deref.call(null,b),cljs.core.not_EQ_.call(null,c,cljs.core.deref.call(null,
b))?new cljs.core.Keyword(null,"ascending","ascending",-988350486):cljs.core._EQ_.call(null,a,new cljs.core.Keyword(null,"ascending","ascending",-988350486))?new cljs.core.Keyword(null,"descending","descending",-24766135):new cljs.core.Keyword(null,"ascending","ascending",-988350486)],null)}}(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,z,y,A,B,C,E,D,H,I,F,G,K,L,J,M,N));return!0}}(D,J,M,N,K,F,G,L,H,I,a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,z,y,A,B,C,E),function(){var O=new cljs.core.Delay(function(a,b,
c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,z,y,A,B,C,E,D,H,I,F,G,K,L,J,M,N){return function(){return weathergen.ui.buttons.a_button.call(null,new cljs.core.Keyword(null,"title","title",636505583),"Move column left",new cljs.core.Keyword(null,"css","css",1135045163),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"background","background",-863952629),"linear-gradient(white, white 50%, rgb(195, 194, 194) 100%)"],null),new cljs.core.Keyword(null,"click","click",1912301393),function(a,b,
c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,z,y,A,B,C,E,D,H,I,F,G,K,L,J,M,N){return function(){cljs.core.swap_BANG_.call(null,B,weathergen.ui.grids.nudge,cljs.core.deref.call(null,b),-1);return!1}}(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,z,y,A,B,C,E,D,H,I,F,G,K,L,J,M,N),"\x3c")}}(D,J,M,N,K,F,G,L,H,I,a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,z,y,A,B,C,E),null),P=new cljs.core.Delay(function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,z,y,A,B,C,E,D,H,I,F,G,K,L,J,M,N,O){return function(){return null}}(D,O,J,M,N,K,
F,G,L,H,I,a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,z,y,A,B,C,E),null),Q=function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,z,y,A,B,C,E,D,H,I,F,G,K,L,J,M,N,O,P){return function(a){return cljs.core.deref.call(null,function(){var d=cljs.core.truth_(a)?b:c;return cljs.core.truth_(d)?d:cljs.core.atom.call(null,null)}())}}(D,O,P,J,M,N,K,F,G,L,H,I,a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,z,y,A,B,C,E);return javelin.core.formula.call(null,Q).call(null,javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,k,
l,m,n,p,q,r,t,u,v,w,x,z,y,A,B,C,E,D,H,I,F,G,K,L,J,M,N,O,P,Q){return function(a,b,c,d){b=c.call(null,d)<b;return cljs.core.truth_(b)?a:b}}(D,O,P,Q,J,M,N,K,F,G,L,H,I,a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,z,y,A,B,C,E)).call(null,e,K,cljs.core.count,y))}(),function(){var O=new cljs.core.Delay(function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,z,y,A,B,C,E,D,H,I,F,G,K,L,J,M,N){return function(){return weathergen.ui.common.inl.call(null,new cljs.core.Keyword(null,"css","css",1135045163),javelin.core.formula.call(null,
function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,z,y,A,B,C,E,D,H,I,F,G,K,L,J,M,N){return function(a){return cljs.core.PersistentHashMap.fromArrays([new cljs.core.Keyword(null,"border-style","border-style",-485574304),new cljs.core.Keyword(null,"line-height","line-height",1870784992),new cljs.core.Keyword(null,"color","color",1011675173),new cljs.core.Keyword(null,"width","width",-384071477),new cljs.core.Keyword(null,"background","background",-863952629),new cljs.core.Keyword(null,"cursor","cursor",
1011937484),new cljs.core.Keyword(null,"border-width","border-width",-1512605390),new cljs.core.Keyword(null,"padding","padding",1660304693),new cljs.core.Keyword(null,"border-radius","border-radius",419594011)],["inset","90%",cljs.core.truth_(a)?"red":"green",weathergen.ui.common.px.call(null,10),"white","pointer",weathergen.ui.common.px.call(null,2),weathergen.ui.common.px.call(null,1),weathergen.ui.common.px.call(null,3)])}}(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,z,y,A,B,C,E,D,H,I,F,G,K,L,J,M,
N)).call(null,c),new cljs.core.Keyword(null,"click","click",1912301393),function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,z,y,A,B,C,E,D,H,I,F,G,K,L,J,M,N){return function(a){cljs.core.swap_BANG_.call(null,E,cljs.core.truth_(cljs.core.deref.call(null,c))?cljs.core.disj:cljs.core.conj,cljs.core.deref.call(null,b));return!1}}(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,z,y,A,B,C,E,D,H,I,F,G,K,L,J,M,N),function(){var O=new cljs.core.Delay(function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,z,y,A,B,C,E,D,H,I,
F,G,K,L,J,M,N){return function(){return"✗"}}(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,z,y,A,B,C,E,D,H,I,F,G,K,L,J,M,N),null),P=new cljs.core.Delay(function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,z,y,A,B,C,E,D,H,I,F,G,K,L,J,M,N,O){return function(){return"✓"}}(a,O,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,z,y,A,B,C,E,D,H,I,F,G,K,L,J,M,N),null);O=function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,z,y,A,B,C,E,D,H,I,F,G,K,L,J,M,N,O,P){return function(a){return cljs.core.deref.call(null,function(){var d=cljs.core.truth_(a)?
b:c;return cljs.core.truth_(d)?d:cljs.core.atom.call(null,null)}())}}(a,O,P,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,z,y,A,B,C,E,D,H,I,F,G,K,L,J,M,N);return javelin.core.formula.call(null,O).call(null,c)}())}}(D,J,M,N,K,F,G,L,H,I,a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,z,y,A,B,C,E),null),P=new cljs.core.Delay(function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,z,y,A,B,C,E,D,H,I,F,G,K,L,J,M,N,O){return function(){return null}}(D,O,J,M,N,K,F,G,L,H,I,a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,z,y,A,B,C,E),null);
O=function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,z,y,A,B,C,E,D,H,I,F,G,K,L,J,M,N,O,P){return function(a){return cljs.core.deref.call(null,function(){var d=cljs.core.truth_(a)?b:c;return cljs.core.truth_(d)?d:cljs.core.atom.call(null,null)}())}}(D,O,P,J,M,N,K,F,G,L,H,I,a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,z,y,A,B,C,E);return javelin.core.formula.call(null,O).call(null,e)}(),javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,z,y,A,B,C,E,D,H,I,F,G,K,L,J,M,N){return function(a){return(new cljs.core.Keyword(null,
"title","title",636505583)).cljs$core$IFn$_invoke$arity$1(cljs.core.get.call(null,H,a))}}(D,J,M,N,K,F,G,L,H,I,a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,z,y,A,B,C,E)).call(null,J),function(){var O=new cljs.core.Delay(function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,z,y,A,B,C,E,D,H,I,F,G,K,L,J,M,N){return function(){return cljs.core.PersistentVector.EMPTY}}(D,J,M,N,K,F,G,L,H,I,a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,z,y,A,B,C,E),null),P=new cljs.core.Delay(function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,
w,x,z,y,A,B,C,E,D,H,I,F,G,K,L,J,M,N,O){return function(){return weathergen.ui.grids.sorters.call(null,n,c)}}(D,O,J,M,N,K,F,G,L,H,I,a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,z,y,A,B,C,E),null);O=function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,z,y,A,B,C,E,D,H,I,F,G,K,L,J,M,N,O,P){return function(a){return cljs.core.deref.call(null,function(){var d=cljs.core.truth_(a)?b:c;return cljs.core.truth_(d)?d:cljs.core.atom.call(null,null)}())}}(D,O,P,J,M,N,K,F,G,L,H,I,a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,
z,y,A,B,C,E);return javelin.core.formula.call(null,O).call(null,N)}(),function(){var O=new cljs.core.Delay(function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,z,y,A,B,C,E,D,H,I,F,G,K,L,J,M,N){return function(){return weathergen.ui.buttons.a_button.call(null,new cljs.core.Keyword(null,"title","title",636505583),"Move column right",new cljs.core.Keyword(null,"css","css",1135045163),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"background","background",-863952629),"linear-gradient(white, white 50%, rgb(195, 194, 194) 100%)"],
null),new cljs.core.Keyword(null,"click","click",1912301393),function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,z,y,A,B,C,E,D,H,I,F,G,K,L,J,M,N){return function(){cljs.core.swap_BANG_.call(null,B,weathergen.ui.grids.nudge,cljs.core.deref.call(null,b),1);return!1}}(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,z,y,A,B,C,E,D,H,I,F,G,K,L,J,M,N),"\x3e")}}(D,J,M,N,K,F,G,L,H,I,a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,z,y,A,B,C,E),null),P=new cljs.core.Delay(function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,z,y,A,
B,C,E,D,H,I,F,G,K,L,J,M,N,O){return function(){return null}}(D,O,J,M,N,K,F,G,L,H,I,a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,z,y,A,B,C,E),null),Q=function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,z,y,A,B,C,E,D,H,I,F,G,K,L,J,M,N,O,P){return function(a){return cljs.core.deref.call(null,function(){var d=cljs.core.truth_(a)?b:c;return cljs.core.truth_(d)?d:cljs.core.atom.call(null,null)}())}}(D,O,P,J,M,N,K,F,G,L,H,I,a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,z,y,A,B,C,E);return javelin.core.formula.call(null,
Q).call(null,javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,z,y,A,B,C,E,D,H,I,F,G,K,L,J,M,N,O,P,Q){return function(a,b,c,d,e){d=d.call(null,e)<=c;return cljs.core.truth_(d)?(b=c<b-1,cljs.core.truth_(b)?a:b):d}}(D,O,P,Q,J,M,N,K,F,G,L,H,I,a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,z,y,A,B,C,E)).call(null,e,c,K,cljs.core.count,y))}())}());D+=1}else return!0}()?cljs.core.chunk_cons.call(null,cljs.core.chunk.call(null,L),ja.call(null,cljs.core.chunk_rest.call(null,H))):cljs.core.chunk_cons.call(null,
cljs.core.chunk.call(null,L),null)}var K=cljs.core.first.call(null,H);return cljs.core.cons.call(null,function(){var D=javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,z,y,A,B,C,E,D,H,I){return function(b){return cljs.core.nth.call(null,b,a)}}(K,H,I,a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,z,y,A,B,C,E)).call(null,d),F=javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,z,y,A,B,C,E,D,H,I,F){return function(a,b){return a.call(null,b)}}(D,K,H,
I,a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,z,y,A,B,C,E)).call(null,t,D),G=javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,z,y,A,B,C,E,D,H,I,F,G){return function(a){return(new cljs.core.Keyword(null,"disable-sort","disable-sort",-579071276)).cljs$core$IFn$_invoke$arity$1(cljs.core.get.call(null,A,a))}}(D,F,K,H,I,a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,z,y,A,B,C,E)).call(null,D);return m.call(null,new cljs.core.Keyword(null,"class","class",-2030961996),javelin.core.formula.call(null,
function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,z,y,A,B,C,E,D,H,I,F,G,K){return function(a,b){var c=cljs.core.PersistentArrayMap,d=new cljs.core.Keyword(null,"hidden-column","hidden-column",298731236);a=cljs.core.not.call(null,a);return new c(null,2,[d,a?b:a,new cljs.core.Keyword(null,"table-grid-cell","table-grid-cell",573917102),!0],null)}}(D,F,G,K,H,I,a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,z,y,A,B,C,E)).call(null,e,F),new cljs.core.Keyword(null,"click","click",1912301393),function(a,b,c,d,e,
f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,z,y,A,B,C,E,D,H,I,F,G,K){return function(){if(cljs.core.truth_(cljs.core.deref.call(null,c)))return null;cljs.core.swap_BANG_.call(null,g,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,z,y,A,B,C,E,D,H,I,F,G,K){return function(b){var c=cljs.core.nth.call(null,b,0,null);b=cljs.core.nth.call(null,b,1,null);return new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[cljs.core.deref.call(null,a),cljs.core.not_EQ_.call(null,c,cljs.core.deref.call(null,
a))?new cljs.core.Keyword(null,"ascending","ascending",-988350486):cljs.core._EQ_.call(null,b,new cljs.core.Keyword(null,"ascending","ascending",-988350486))?new cljs.core.Keyword(null,"descending","descending",-24766135):new cljs.core.Keyword(null,"ascending","ascending",-988350486)],null)}}(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,z,y,A,B,C,E,D,H,I,F,G,K));return!0}}(D,F,G,K,H,I,a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,z,y,A,B,C,E),function(){var L=new cljs.core.Delay(function(a,b,c,d,e,f,g,h,k,l,
m,n,p,q,r,t,u,v,w,x,z,y,A,B,C,E,D,H,I,F,G,K){return function(){return weathergen.ui.buttons.a_button.call(null,new cljs.core.Keyword(null,"title","title",636505583),"Move column left",new cljs.core.Keyword(null,"css","css",1135045163),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"background","background",-863952629),"linear-gradient(white, white 50%, rgb(195, 194, 194) 100%)"],null),new cljs.core.Keyword(null,"click","click",1912301393),function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,
r,t,u,v,w,x,z,y,A,B,C,E,D,H,I,F,G,K){return function(){cljs.core.swap_BANG_.call(null,x,weathergen.ui.grids.nudge,cljs.core.deref.call(null,a),-1);return!1}}(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,z,y,A,B,C,E,D,H,I,F,G,K),"\x3c")}}(D,F,G,K,H,I,a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,z,y,A,B,C,E),null),J=new cljs.core.Delay(function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,z,y,A,B,C,E,D,H,I,F,G,K,L){return function(){return null}}(L,D,F,G,K,H,I,a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,z,y,A,B,C,E),
null),M=function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,z,y,A,B,C,E,D,H,I,F,G,K,L,J){return function(c){return cljs.core.deref.call(null,function(){var d=cljs.core.truth_(c)?a:b;return cljs.core.truth_(d)?d:cljs.core.atom.call(null,null)}())}}(L,J,D,F,G,K,H,I,a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,z,y,A,B,C,E);return javelin.core.formula.call(null,M).call(null,javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,z,y,A,B,C,E,D,H,I,F,G,K,L,J,M){return function(a,b,c,d){b=
c.call(null,d)<b;return cljs.core.truth_(b)?a:b}}(L,J,M,D,F,G,K,H,I,a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,z,y,A,B,C,E)).call(null,e,K,cljs.core.count,y))}(),function(){var L=new cljs.core.Delay(function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,z,y,A,B,C,E,D,H,I,F,G,K){return function(){return weathergen.ui.common.inl.call(null,new cljs.core.Keyword(null,"css","css",1135045163),javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,z,y,A,B,C,E,D,H,I,F,G,K){return function(a){return cljs.core.PersistentHashMap.fromArrays([new cljs.core.Keyword(null,
"border-style","border-style",-485574304),new cljs.core.Keyword(null,"line-height","line-height",1870784992),new cljs.core.Keyword(null,"color","color",1011675173),new cljs.core.Keyword(null,"width","width",-384071477),new cljs.core.Keyword(null,"background","background",-863952629),new cljs.core.Keyword(null,"cursor","cursor",1011937484),new cljs.core.Keyword(null,"border-width","border-width",-1512605390),new cljs.core.Keyword(null,"padding","padding",1660304693),new cljs.core.Keyword(null,"border-radius",
"border-radius",419594011)],["inset","90%",cljs.core.truth_(a)?"red":"green",weathergen.ui.common.px.call(null,10),"white","pointer",weathergen.ui.common.px.call(null,2),weathergen.ui.common.px.call(null,1),weathergen.ui.common.px.call(null,3)])}}(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,z,y,A,B,C,E,D,H,I,F,G,K)).call(null,b),new cljs.core.Keyword(null,"click","click",1912301393),function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,z,y,A,B,C,E,D,H,I,F,G,K){return function(c){cljs.core.swap_BANG_.call(null,
y,cljs.core.truth_(cljs.core.deref.call(null,b))?cljs.core.disj:cljs.core.conj,cljs.core.deref.call(null,a));return!1}}(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,z,y,A,B,C,E,D,H,I,F,G,K),function(){var L=new cljs.core.Delay(function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,z,y,A,B,C,E,D,H,I,F,G,K){return function(){return"✗"}}(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,z,y,A,B,C,E,D,H,I,F,G,K),null),J=new cljs.core.Delay(function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,z,y,A,B,C,E,D,H,I,F,G,K,L){return function(){return"✓"}}(L,
a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,z,y,A,B,C,E,D,H,I,F,G,K),null);L=function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,z,y,A,B,C,E,D,H,I,F,G,K,L,J){return function(c){return cljs.core.deref.call(null,function(){var d=cljs.core.truth_(c)?a:b;return cljs.core.truth_(d)?d:cljs.core.atom.call(null,null)}())}}(L,J,a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,z,y,A,B,C,E,D,H,I,F,G,K);return javelin.core.formula.call(null,L).call(null,b)}())}}(D,F,G,K,H,I,a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,z,y,A,B,C,
E),null),J=new cljs.core.Delay(function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,z,y,A,B,C,E,D,H,I,F,G,K,L){return function(){return null}}(L,D,F,G,K,H,I,a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,z,y,A,B,C,E),null);L=function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,z,y,A,B,C,E,D,H,I,F,G,K,L,J){return function(c){return cljs.core.deref.call(null,function(){var d=cljs.core.truth_(c)?a:b;return cljs.core.truth_(d)?d:cljs.core.atom.call(null,null)}())}}(L,J,D,F,G,K,H,I,a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,
v,w,x,z,y,A,B,C,E);return javelin.core.formula.call(null,L).call(null,e)}(),javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,z,y,A,B,C,E,D,H,I,F,G,K){return function(a){return(new cljs.core.Keyword(null,"title","title",636505583)).cljs$core$IFn$_invoke$arity$1(cljs.core.get.call(null,B,a))}}(D,F,G,K,H,I,a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,z,y,A,B,C,E)).call(null,D),function(){var L=new cljs.core.Delay(function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,z,y,A,B,C,E,
D,H,I,F,G,K){return function(){return cljs.core.PersistentVector.EMPTY}}(D,F,G,K,H,I,a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,z,y,A,B,C,E),null),J=new cljs.core.Delay(function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,z,y,A,B,C,E,D,H,I,F,G,K,L){return function(){return weathergen.ui.grids.sorters.call(null,h,b)}}(L,D,F,G,K,H,I,a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,z,y,A,B,C,E),null);L=function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,z,y,A,B,C,E,D,H,I,F,G,K,L,J){return function(c){return cljs.core.deref.call(null,
function(){var d=cljs.core.truth_(c)?a:b;return cljs.core.truth_(d)?d:cljs.core.atom.call(null,null)}())}}(L,J,D,F,G,K,H,I,a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,z,y,A,B,C,E);return javelin.core.formula.call(null,L).call(null,G)}(),function(){var L=new cljs.core.Delay(function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,z,y,A,B,C,E,D,H,I,F,G,K){return function(){return weathergen.ui.buttons.a_button.call(null,new cljs.core.Keyword(null,"title","title",636505583),"Move column right",new cljs.core.Keyword(null,
"css","css",1135045163),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"background","background",-863952629),"linear-gradient(white, white 50%, rgb(195, 194, 194) 100%)"],null),new cljs.core.Keyword(null,"click","click",1912301393),function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,z,y,A,B,C,E,D,H,I,F,G,K){return function(){cljs.core.swap_BANG_.call(null,x,weathergen.ui.grids.nudge,cljs.core.deref.call(null,a),1);return!1}}(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,z,y,A,B,C,E,D,
H,I,F,G,K),"\x3e")}}(D,F,G,K,H,I,a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,z,y,A,B,C,E),null),J=new cljs.core.Delay(function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,z,y,A,B,C,E,D,H,I,F,G,K,L){return function(){return null}}(L,D,F,G,K,H,I,a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,z,y,A,B,C,E),null),M=function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,z,y,A,B,C,E,D,H,I,F,G,K,L,J){return function(c){return cljs.core.deref.call(null,function(){var d=cljs.core.truth_(c)?a:b;return cljs.core.truth_(d)?d:cljs.core.atom.call(null,
null)}())}}(L,J,D,F,G,K,H,I,a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,z,y,A,B,C,E);return javelin.core.formula.call(null,M).call(null,javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,z,y,A,B,C,E,D,H,I,F,G,K,L,J,M){return function(a,b,c,d,e){d=d.call(null,e)<=c;return cljs.core.truth_(d)?(b=c<b-1,cljs.core.truth_(b)?a:b):d}}(L,J,M,D,F,G,K,H,I,a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,z,y,A,B,C,E)).call(null,e,c,K,cljs.core.count,y))}())}(),ja.call(null,cljs.core.rest.call(null,
H)))}return null}}}(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,z,y,A,B,C,E),null,null)}}(v,w,x,y,z,B,C,A,D,F,E,c,g,h,k,l,m,n,p,q,r,u,t,b,c,f).call(null,cljs.core.range.call(null,x))}())),function(){var a=new cljs.core.Delay(function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,z,y,A,B,C,E){return function(){return k.call(null,l.call(null,m.call(null,new cljs.core.Keyword(null,"colspan","colspan",-1512420934),c,w)))}}(v,w,x,y,z,B,C,A,D,F,E,c,g,h,k,l,m,n,p,q,r,u,t,b,c,f),null),d=new cljs.core.Delay(function(a,
b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,z,y,A,B,C,E,D){return function(){return l.call(null,weathergen.ui.common.keyed_loop_tpl_STAR_.call(null,javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,z,y,A,B,C,E,D){return function(a,b,c){return a.call(null,b,c)}}(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,z,y,A,B,C,E,D)).call(null,cljs.core.map_indexed,cljs.core.vector,c),function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,z,y,A,B,C,E,D){return function(a){cljs.core.nth.call(null,
a,0,null);a=cljs.core.nth.call(null,a,1,null);return z.call(null,a)}}(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,z,y,A,B,C,E,D),function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,z,y,A,B,C,E,D){return function(H){var I=javelin.core.cell_map.call(null,cljs.core.identity,javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,z,y,A,B,C,E,D){return function(a){var b=cljs.core.nth.call(null,a,0,null);a=cljs.core.nth.call(null,a,1,null);return new cljs.core.PersistentVector(null,2,5,
cljs.core.PersistentVector.EMPTY_NODE,[b,a],null)}}(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,z,y,A,B,C,E,D)).call(null,H)),F=cljs.core.nth.call(null,I,0,null),G=cljs.core.nth.call(null,I,1,null);return m.call(null,v.call(null,G,F),function(){var H=cljs.core.apply.call(null,javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,z,y,A,B,C,E,D,H,I,F){return function(){var a=function(a){return cljs.core.zipmap.call(null,cljs.core.map.call(null,cljs.core.key,y),a)},b=function(b){var c=
null;if(0<arguments.length){c=0;for(var d=Array(arguments.length-0);c<d.length;)d[c]=arguments[c+0],++c;c=new cljs.core.IndexedSeq(d,0,null)}return a.call(this,c)};b.cljs$lang$maxFixedArity=0;b.cljs$lang$applyTo=function(b){b=cljs.core.seq(b);return a(b)};b.cljs$core$IFn$_invoke$arity$variadic=a;return b}()}(I,F,G,a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,z,y,A,B,C,E,D)),cljs.core.map.call(null,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,z,y,A,B,C,E,D,H,I,F){return function(a){return a.call(null,
c)}}(I,F,G,a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,z,y,A,B,C,E,D),cljs.core.map.call(null,new cljs.core.Keyword(null,"formatter","formatter",-483008823),cljs.core.vals.call(null,w)))),K=cljs.core.apply.call(null,javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,z,y,A,B,C,E,D,H,I,F,G){return function(){var a=function(a){return cljs.core.zipmap.call(null,cljs.core.map.call(null,cljs.core.key,A),a)},b=function(b){var c=null;if(0<arguments.length){c=0;for(var d=Array(arguments.length-
0);c<d.length;)d[c]=arguments[c+0],++c;c=new cljs.core.IndexedSeq(d,0,null)}return a.call(this,c)};b.cljs$lang$maxFixedArity=0;b.cljs$lang$applyTo=function(b){b=cljs.core.seq(b);return a(b)};b.cljs$core$IFn$_invoke$arity$variadic=a;return b}()}(H,I,F,G,a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,z,y,A,B,C,E,D)),cljs.core.map.call(null,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,z,y,A,B,C,E,D,H,I,F,G){return function(a){return cljs.core.truth_(a)?a.call(null,d,c):null}}(H,I,F,G,a,b,c,d,e,f,g,h,k,
l,m,n,p,q,r,t,u,v,w,x,z,y,A,B,C,E,D),cljs.core.map.call(null,new cljs.core.Keyword(null,"css","css",1135045163),cljs.core.vals.call(null,w))));return function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,z,y,A,B,C,E,D,H,I,F,G,K){return function jb(L){return new cljs.core.LazySeq(null,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,z,y,A,B,C,E,D,H,I,F,G,K){return function(){for(;;){var J=cljs.core.seq.call(null,L);if(J){var M=J;if(cljs.core.chunked_seq_QMARK_.call(null,M)){var N=cljs.core.chunk_first.call(null,
M),O=cljs.core.count.call(null,N),P=cljs.core.chunk_buffer.call(null,O);return function(){for(var L=0;;)if(L<O){var Q=cljs.core._nth.call(null,N,L);cljs.core.chunk_append.call(null,P,function(){var S=javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,z,y,A,B,C,E,D,H,I,F,G,K,L,J,M,N,O,P,Q){return function(a){return cljs.core.nth.call(null,a,b)}}(L,Q,N,O,P,M,J,a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,z,y,A,B,C,E,D,H,I,F,G,K)).call(null,l),R=javelin.core.formula.call(null,
function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,z,y,A,B,C,E,D,H,I,F,G,K,L,J,M,N,O,P,Q,S){return function(a,b){return a.call(null,b)}}(L,S,Q,N,O,P,M,J,a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,z,y,A,B,C,E,D,H,I,F,G,K)).call(null,y,S),T=u.call(null);T.call(null,new cljs.core.Keyword(null,"class","class",-2030961996),javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,z,y,A,B,C,E,D,H,I,F,G,K,L,J,M,N,O,P,Q,S,R,T){return function(a,b){var c=cljs.core.PersistentArrayMap,d=new cljs.core.Keyword(null,
"hidden-column","hidden-column",298731236);a=cljs.core.not.call(null,a);return new c(null,2,[d,a?b:a,new cljs.core.Keyword(null,"table-grid-cell","table-grid-cell",573917102),!0],null)}}(L,T,S,R,Q,N,O,P,M,J,a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,z,y,A,B,C,E,D,H,I,F,G,K)).call(null,m,R),new cljs.core.Keyword(null,"css","css",1135045163),javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,z,y,A,B,C,E,D,H,I,F,G,K,L,J,M,N,O,P,Q,S,R,T){return function(a,c){var d=cljs.core.get.call(null,
c,a);cljs.core.truth_(d)||b.removeAttribute("style");return cljs.core.get.call(null,c,a)}}(L,T,S,R,Q,N,O,P,M,J,a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,z,y,A,B,C,E,D,H,I,F,G,K)).call(null,S,b),javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,z,y,A,B,C,E,D,H,I,F,G,K,L,J,M,N,O,P,Q,S,R,T){return function(a,b){return cljs.core.get.call(null,b,a)}}(L,T,S,R,Q,N,O,P,M,J,a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,z,y,A,B,C,E,D,H,I,F,G,K)).call(null,S,a));return T}());L+=1}else return!0}()?
cljs.core.chunk_cons.call(null,cljs.core.chunk.call(null,P),jb.call(null,cljs.core.chunk_rest.call(null,M))):cljs.core.chunk_cons.call(null,cljs.core.chunk.call(null,P),null)}var Q=cljs.core.first.call(null,M);return cljs.core.cons.call(null,function(){var L=javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,z,y,A,B,C,E,D,H,I,F,G,K,L,J,M){return function(b){return cljs.core.nth.call(null,b,a)}}(Q,M,J,a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,z,y,A,B,C,E,D,H,I,F,G,K)).call(null,
l),N=javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,z,y,A,B,C,E,D,H,I,F,G,K,L,J,M,N){return function(a,b){return a.call(null,b)}}(L,Q,M,J,a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,z,y,A,B,C,E,D,H,I,F,G,K)).call(null,y,L),O=u.call(null);O.call(null,new cljs.core.Keyword(null,"class","class",-2030961996),javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,z,y,A,B,C,E,D,H,I,F,G,K,L,J,M,N,O,P){return function(a,b){var c=cljs.core.PersistentArrayMap,
d=new cljs.core.Keyword(null,"hidden-column","hidden-column",298731236);a=cljs.core.not.call(null,a);return new c(null,2,[d,a?b:a,new cljs.core.Keyword(null,"table-grid-cell","table-grid-cell",573917102),!0],null)}}(O,L,N,Q,M,J,a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,z,y,A,B,C,E,D,H,I,F,G,K)).call(null,m,N),new cljs.core.Keyword(null,"css","css",1135045163),javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,z,y,A,B,C,E,D,H,I,F,G,K,L,J,M,N,O,P){return function(b,c){var d=
cljs.core.get.call(null,c,b);cljs.core.truth_(d)||a.removeAttribute("style");return cljs.core.get.call(null,c,b)}}(O,L,N,Q,M,J,a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,z,y,A,B,C,E,D,H,I,F,G,K)).call(null,L,b),javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,z,y,A,B,C,E,D,H,I,F,G,K,L,J,M,N,O,P){return function(a,b){return cljs.core.get.call(null,b,a)}}(O,L,N,Q,M,J,a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,z,y,A,B,C,E,D,H,I,F,G,K)).call(null,L,a));return O}(),jb.call(null,
cljs.core.rest.call(null,M)))}return null}}}(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,z,y,A,B,C,E,D,H,I,F,G,K),null,null)}}(H,K,I,F,G,a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,z,y,A,B,C,E,D).call(null,cljs.core.range.call(null,d))}())}}(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,z,y,A,B,C,E,D)))}}(a,v,w,x,y,z,B,C,A,D,F,E,c,g,h,k,l,m,n,p,q,r,u,t,b,c,f),null),e=function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,z,y,A,B,C,E,D,F){return function(c){return cljs.core.deref.call(null,function(){var d=cljs.core.truth_(c)?
a:b;return cljs.core.truth_(d)?d:cljs.core.atom.call(null,null)}())}}(a,d,v,w,x,y,z,B,C,A,D,F,E,c,g,h,k,l,m,n,p,q,r,u,t,b,c,f);return javelin.core.formula.call(null,e).call(null,javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,z,y,A,B,C,E,D,F,G){return function(a,b,c){b=0===c.call(null,b);return cljs.core.truth_(b)?a:b}}(a,d,e,v,w,x,y,z,B,C,A,D,F,E,c,g,h,k,l,m,n,p,q,r,u,t,b,c,f)).call(null,p,w,cljs.core.count))}())},b=function(b){var c=null;if(0<arguments.length){c=
0;for(var e=Array(arguments.length-0);c<e.length;)e[c]=arguments[c+0],++c;c=new cljs.core.IndexedSeq(e,0,null)}return a.call(this,c)};b.cljs$lang$maxFixedArity=0;b.cljs$lang$applyTo=function(b){b=cljs.core.seq(b);return a(b)};b.cljs$core$IFn$_invoke$arity$variadic=a;return b}();weathergen.ui.layers={};weathergen.ui.layers.acmi={};weathergen.ui.layers.acmi.electron=require("electron");
weathergen.ui.layers.acmi.load_acmi=function(a){var b=weathergen.ui.layers.acmi.electron.remote.dialog.showOpenDialog(cljs.core.clj__GT_js.call(null,new cljs.core.PersistentArrayMap(null,3,[new cljs.core.Keyword(null,"title","title",636505583),"Select an ACMI file",new cljs.core.Keyword(null,"properties","properties",685819552),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,["openFile"],null),new cljs.core.Keyword(null,"filters","filters",974726919),new cljs.core.PersistentVector(null,
1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.PersistentArrayMap(null,2,[new cljs.core.Keyword(null,"name","name",1843675177),"ACMI",new cljs.core.Keyword(null,"extensions","extensions",-1103629196),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,["acmi"],null)],null)],null)],null)));b=cljs.core.nth.call(null,b,0,null);if(cljs.core.truth_(b)){var c=lsobot.acmi.read_acmi.call(null,weathergen.filesystem.file_text.call(null,b));return cljs.core.swap_BANG_.call(null,
a,cljs.core.assoc,b,c)}return null};
weathergen.ui.layers.acmi.overlay=function(a,b){var c=null!=b&&(b.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===b.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,b):b,d=cljs.core.get.call(null,c,new cljs.core.Keyword(null,"suppress-bullseye-info-box?","suppress-bullseye-info-box?",-1654633798)),e=cljs.core.get.call(null,c,new cljs.core.Keyword(null,"map-zoom","map-zoom",1543291337)),f=cljs.core.get.call(null,c,new cljs.core.Keyword(null,"acmis","acmis",-658811979));
return hoplon.svg.g.call(null,new cljs.core.Keyword(null,"debug","debug",-1608172596),"ACMI layer",weathergen.ui.common.keyed_loop_tpl_STAR_.call(null,f,cljs.core.key,function(b,c,d,e,f,n){return function(g){var h=javelin.core.cell_map.call(null,cljs.core.identity,javelin.core.formula.call(null,function(a,b,c,d,e,f){return function(a){var b=cljs.core.nth.call(null,a,0,null);a=cljs.core.nth.call(null,a,1,null);return new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[b,
a],null)}}(b,c,d,e,f,n)).call(null,g)),k=cljs.core.nth.call(null,h,0,null),l=cljs.core.nth.call(null,h,1,null),m=weathergen.ui.common.map_lens.call(null,n,k),p=javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,k,l){return function(a){return cljs.core.last.call(null,(new cljs.core.Keyword("lsobot.acmi","frames","lsobot.acmi/frames",1165126782)).cljs$core$IFn$_invoke$arity$1(a))}}(m,h,k,l,b,c,d,e,f,n)).call(null,m),w=javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,k,l,m){return function(n){return cljs.core.into.call(null,
cljs.core.PersistentArrayMap.EMPTY,cljs.core.filter.call(null,function(a,b,c,d,e,f,g,h,k,l,m){return function(a){cljs.core.nth.call(null,a,0,null);a=cljs.core.nth.call(null,a,1,null);return cljs.core.empty_QMARK_.call(null,clojure.set.intersection.call(null,new cljs.core.PersistentHashSet(null,new cljs.core.PersistentArrayMap(null,3,["Weapon",null,"Air",null,"Decoy",null],null),null),(new cljs.core.Keyword("lsobot.acmi","object-type","lsobot.acmi/object-type",-1018781700)).cljs$core$IFn$_invoke$arity$1(a)))}}(a,
b,c,d,e,f,g,h,k,l,m),(new cljs.core.Keyword("lsobot.acmi","entities","lsobot.acmi/entities",1464472374)).cljs$core$IFn$_invoke$arity$1(n)))}}(p,m,h,k,l,b,c,d,e,f,n)).call(null,p),x=.4*2.8,y=javelin.core.cell.call(null,null);hoplon.core.do_watch.call(null,y,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u){return function(a,b){return cljs.core.reset_BANG_.call(null,r,b)}}(p,w,2.8,.4,x,3.5,y,m,h,k,l,b,c,d,e,f,n));return hoplon.svg.g.call(null,new cljs.core.Keyword(null,"debug","debug",-1608172596),k,new cljs.core.Keyword(null,
"entities","entities",1940967403),javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u){return function(a,b){return b.call(null,a)}}(p,w,2.8,.4,x,3.5,y,m,h,k,l,b,c,d,e,f,n)).call(null,w,cljs.core.count),hoplon.svg.g.call(null,new cljs.core.Keyword(null,"debug","debug",-1608172596),"entities",weathergen.ui.common.keyed_loop_tpl_STAR_.call(null,w,cljs.core.key,function(b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v){return function(w){w=javelin.core.cell_map.call(null,cljs.core.identity,javelin.core.formula.call(null,
function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u){return function(a){var b=cljs.core.nth.call(null,a,0,null);a=cljs.core.nth.call(null,a,1,null);return new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[a,b],null)}}(b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v)).call(null,w));var x=cljs.core.nth.call(null,w,0,null),z=cljs.core.nth.call(null,w,1,null),y=weathergen.ui.common.map_lens.call(null,c,z),A=javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,z){return function(a,
b){var c=null!=b&&(b.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===b.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,b):b;b=cljs.core.get.call(null,c,new cljs.core.Keyword("lsobot.acmi","u","lsobot.acmi/u",-2031949174));c=cljs.core.get.call(null,c,new cljs.core.Keyword("lsobot.acmi","v","lsobot.acmi/v",855883566));return weathergen.coordinates.acmi__GT_weather.call(null,a,b,c)}}(y,w,x,z,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v)).call(null,a,y);return hoplon.svg.g.call(null,
new cljs.core.Keyword(null,"transform","transform",1381301764),javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,z,y){return function(a,b){var c=null!=a&&(a.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===a.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,a):a;a=cljs.core.get.call(null,c,new cljs.core.Keyword(null,"x","x",2099068185));c=cljs.core.get.call(null,c,new cljs.core.Keyword(null,"y","y",-1757859776));return weathergen.ui.common.svg_xform_combine.call(null,
weathergen.ui.common.svg_translate.call(null,a,c),weathergen.ui.common.svg_scale.call(null,1/b))}}(A,y,w,x,z,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v)).call(null,A,u),hoplon.svg.rect.call(null,new cljs.core.Keyword(null,"transform","transform",1381301764),javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,z,y){return function(a){return weathergen.ui.common.svg_rotate.call(null,(new cljs.core.Keyword("lsobot.acmi","heading","lsobot.acmi/heading",1518406858)).cljs$core$IFn$_invoke$arity$2(a,
90))}}(A,y,w,x,z,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v)).call(null,y),new cljs.core.Keyword(null,"mouseenter","mouseenter",-1792413560),function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,z,y){return function(){return cljs.core.reset_BANG_.call(null,n,cljs.core.deref.call(null,e))}}(A,y,w,x,z,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v),new cljs.core.Keyword(null,"mouseleave","mouseleave",531566580),function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,z,y){return function(){return cljs.core.reset_BANG_.call(null,n,null)}}(A,
y,w,x,z,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v),new cljs.core.Keyword(null,"x","x",2099068185),e/-2,new cljs.core.Keyword(null,"y","y",-1757859776),f/-2,new cljs.core.Keyword(null,"width","width",-384071477),e,new cljs.core.Keyword(null,"height","height",1025178622),f,new cljs.core.Keyword(null,"fill","fill",883462889),javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,z,y){return function(a,b){return a.call(null,function(){var a=(new cljs.core.Keyword("lsobot.acmi","color",
"lsobot.acmi/color",-369571990)).cljs$core$IFn$_invoke$arity$1(b);return cljs.core.truth_(a)?a:"black"}())}}(A,y,w,x,z,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v)).call(null,clojure.string.lower_case,y),new cljs.core.Keyword(null,"stroke","stroke",1741823555),"black",new cljs.core.Keyword(null,"stroke-width","stroke-width",716836435),javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,z,y){return function(a,b,c,d){return c/25*(cljs.core.truth_(a.call(null,b,d))?2:1)}}(A,y,w,x,z,
b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v)).call(null,cljs.core._EQ_,h,e,z)))}}(p,w,2.8,.4,x,3.5,y,m,h,k,l,b,c,d,e,f,n))),hoplon.svg.g.call(null,new cljs.core.Keyword(null,"debug","debug",-1608172596),javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u){return function(a){return["Tooltip: tip entity ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(a)].join("")}}(p,w,2.8,.4,x,3.5,y,m,h,k,l,b,c,d,e,f,n)).call(null,y),function(){var g=new cljs.core.Delay(function(b,c,d,e,f,g,h,k,l,m,n,p,q,
r,t,u,v){return function(){var w=javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u){return function(a,b,c){return a.call(null,c,b)}}(b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v)).call(null,cljs.core.get,h,c),x=javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v){return function(a,b){if(cljs.core.truth_(b)){var c=null!=b&&(b.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===b.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,b):
b;b=cljs.core.get.call(null,c,new cljs.core.Keyword("lsobot.acmi","u","lsobot.acmi/u",-2031949174));c=cljs.core.get.call(null,c,new cljs.core.Keyword("lsobot.acmi","v","lsobot.acmi/v",855883566));return weathergen.coordinates.acmi__GT_weather.call(null,a,b,c)}return null}}(w,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v)).call(null,a,w);return hoplon.svg.g.call(null,new cljs.core.Keyword(null,"debug","debug",-1608172596),"Tooltip",new cljs.core.Keyword(null,"transform","transform",1381301764),javelin.core.formula.call(null,
function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w){return function(a,b){var c=null!=a&&(a.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===a.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,a):a;a=cljs.core.get.call(null,c,new cljs.core.Keyword(null,"x","x",2099068185));c=cljs.core.get.call(null,c,new cljs.core.Keyword(null,"y","y",-1757859776));return weathergen.ui.common.svg_xform_combine.call(null,weathergen.ui.common.svg_translate.call(null,a,c),weathergen.ui.common.svg_scale.call(null,
1/b))}}(w,x,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v)).call(null,x,u),function(){var a=javelin.core.cell.call(null,0),z=javelin.core.cell.call(null,0),y=javelin.core.cell.call(null,0),A=javelin.core.cell.call(null,0),B=hoplon.svg.text.call(null,new cljs.core.Keyword(null,"css","css",1135045163),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"pointer-events","pointer-events",-1053858853),"none"],null),new cljs.core.Keyword(null,"x","x",2099068185),0,new cljs.core.Keyword(null,"y","y",
-1757859776),0,javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,z,y,A){return function(a){return(new cljs.core.Keyword("lsobot.acmi","name","lsobot.acmi/name",298845436)).cljs$core$IFn$_invoke$arity$1(a)}}(a,z,y,A,w,x,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v)).call(null,w)),C=function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,z,y,A,B){return function(){return javelin.core.dosync_STAR_.call(null,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,z,y,A,B){return function(){var f=
e.getBBox();return cljs.core.truth_(f.x)?(cljs.core.reset_BANG_.call(null,a,f.x),cljs.core.reset_BANG_.call(null,b,f.y),cljs.core.reset_BANG_.call(null,c,f.width),cljs.core.reset_BANG_.call(null,d,f.height)):null}}(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,z,y,A,B))}}(a,z,y,A,B,w,x,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v);setTimeout(function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,z,y,A,B,C){return function(){return f.call(null)}}(a,z,y,A,B,C,w,x,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v),0);cljs.core.truth_(w)&&
cljs.core.add_watch.call(null,w,cljs.core.keyword.call(null,cljs.core.gensym.call(null)),function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,z,y,A,B,C,D,E){return function(H,I,F,G){return setTimeout(function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,z,y,A,B,C,D,E){return function(){return h.call(null)}}(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,z,y,A,B,C,D,E),0)}}(w,w,a,z,y,A,B,C,w,x,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v));return hoplon.svg.g.call(null,new cljs.core.Keyword(null,"transform","transform",1381301764),
weathergen.ui.common.svg_scale.call(null,.06),hoplon.svg.rect.call(null,new cljs.core.Keyword(null,"css","css",1135045163),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"pointer-events","pointer-events",-1053858853),"none"],null),new cljs.core.Keyword(null,"x","x",2099068185),javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,z,y,A,B,C){return function(a){return-.05*a}}(a,z,y,A,B,C,w,x,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v)).call(null,y),new cljs.core.Keyword(null,
"y","y",-1757859776),javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,z,y,A,B,C){return function(a){return-(.8*a)}}(a,z,y,A,B,C,w,x,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v)).call(null,A),new cljs.core.Keyword(null,"width","width",-384071477),javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,z,y,A,B,C){return function(a){return 1.1*a}}(a,z,y,A,B,C,w,x,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v)).call(null,y),new cljs.core.Keyword(null,"height","height",
1025178622),A,new cljs.core.Keyword(null,"fill","fill",883462889),javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,z,y,A,B,C){return function(a,b,c){return c.call(null,a.call(null,function(){var a=(new cljs.core.Keyword("lsobot.acmi","color","lsobot.acmi/color",-369571990)).cljs$core$IFn$_invoke$arity$1(b);return cljs.core.truth_(a)?a:"black"}()),40)}}(a,z,y,A,B,C,w,x,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v)).call(null,clojure.string.lower_case,w,weathergen.ui.common.lighten),
new cljs.core.Keyword(null,"opacity","opacity",397153780),.8,new cljs.core.Keyword(null,"stroke","stroke",1741823555),"black",new cljs.core.Keyword(null,"stroke-width","stroke-width",716836435),e/50),B)}())}}(p,w,2.8,.4,x,3.5,y,m,h,k,l,b,c,d,e,f,n),null),q=new cljs.core.Delay(function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v){return function(){return null}}(g,p,w,2.8,.4,x,3.5,y,m,h,k,l,b,c,d,e,f,n),null);g=function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w){return function(c){return cljs.core.deref.call(null,
function(){var d=cljs.core.truth_(c)?a:b;return cljs.core.truth_(d)?d:cljs.core.atom.call(null,null)}())}}(g,q,p,w,2.8,.4,x,3.5,y,m,h,k,l,b,c,d,e,f,n);return javelin.core.formula.call(null,g).call(null,y)}()))}}(b,c,c,d,e,f)))};
weathergen.ui.layers.acmi.controls=function(a,b){a=null!=b&&(b.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===b.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,b):b;var c=cljs.core.get.call(null,a,new cljs.core.Keyword(null,"acmis","acmis",-658811979)),d=javelin.core.cell.call(null,0),e=javelin.core.cell.call(null,0);return hoplon.core.div.call(null,weathergen.ui.common.control_section.call(null,new cljs.core.Keyword(null,"title","title",636505583),"ACMI Import",
weathergen.ui.buttons.a_button.call(null,new cljs.core.Keyword(null,"click","click",1912301393),function(a,b,c,d,e,m){return function(f){return javelin.core.dosync_STAR_.call(null,function(a,b,c,d,e,f){return function(){weathergen.ui.layers.acmi.load_acmi.call(null,f);cljs.core.reset_BANG_.call(null,a,(new cljs.core.Keyword("lsobot.acmi","t","lsobot.acmi/t",1347958254)).cljs$core$IFn$_invoke$arity$1(cljs.core.last.call(null,(new cljs.core.Keyword("lsobot.acmi","frames","lsobot.acmi/frames",1165126782)).cljs$core$IFn$_invoke$arity$1(cljs.core.val.call(null,
cljs.core.first.call(null,cljs.core.deref.call(null,f)))))));return cljs.core.reset_BANG_.call(null,b,cljs.core.deref.call(null,a))}}(a,b,c,d,e,m))}}(d,e,b,a,a,c),new cljs.core.Keyword(null,"disabled?","disabled?",-1523234181),javelin.core.formula.call(null,function(a,b,c,d,e,m){return function(a,b,c){return b.call(null,a.call(null,c))}}(d,e,b,a,a,c)).call(null,cljs.core.empty_QMARK_,cljs.core.not,c),"Load ACMI"),weathergen.ui.buttons.a_button.call(null,new cljs.core.Keyword(null,"click","click",
1912301393),function(a,b,c,d,e,m){return function(a){return cljs.core.reset_BANG_.call(null,m,cljs.core.PersistentArrayMap.EMPTY)}}(d,e,b,a,a,c),"Clear"),weathergen.ui.common.keyed_loop_tpl_STAR_.call(null,c,cljs.core.key,function(a,b,c,d,e,m){return function(f){f=javelin.core.cell_map.call(null,cljs.core.identity,javelin.core.formula.call(null,function(a,b,c,d,e,f){return function(a){var b=cljs.core.nth.call(null,a,0,null);a=cljs.core.nth.call(null,a,1,null);return new cljs.core.PersistentVector(null,
2,5,cljs.core.PersistentVector.EMPTY_NODE,[b,a],null)}}(a,b,c,d,e,m)).call(null,f));var g=cljs.core.nth.call(null,f,0,null),h=cljs.core.nth.call(null,f,1,null),k=weathergen.ui.common.map_lens.call(null,m,g);return hoplon.core.div.call(null,javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,k,l){return function(a,b,c,d){return cljs.core.truth_(b)?[cljs.core.str.cljs$core$IFn$_invoke$arity$1(d.call(null,b))," (",cljs.core.str.cljs$core$IFn$_invoke$arity$1(c.call(null,(new cljs.core.Keyword("lsobot.acmi",
"frames","lsobot.acmi/frames",1165126782)).cljs$core$IFn$_invoke$arity$1(a)))," frames)"].join(""):null}}(k,f,g,h,a,b,c,d,e,m)).call(null,k,g,cljs.core.count,weathergen.filesystem.basename),weathergen.ui.common.validating_edit.call(null,new cljs.core.Keyword(null,"conform","conform",1846236460),weathergen.ui.common.conform_nonnegative_float,new cljs.core.Keyword(null,"fmt","fmt",332300772),cljs.core.str,new cljs.core.Keyword(null,"source","source",-433931539),a))}}(d,e,b,a,a,c))))};
weathergen.ui.layers.acmi.create=function(a,b){var c=null!=b&&(b.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===b.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,b):b,d=cljs.core.get.call(null,c,new cljs.core.Keyword(null,"map-zoom","map-zoom",1543291337)),e=cljs.core.assoc.call(null,c,new cljs.core.Keyword(null,"acmis","acmis",-658811979),javelin.core.cell.call(null,cljs.core.PersistentArrayMap.EMPTY));return new cljs.core.PersistentArrayMap(null,3,[new cljs.core.Keyword(null,
"controls-fn","controls-fn",-807620277),function(b,c,d,e,l){return function(){return weathergen.ui.layers.acmi.controls.call(null,a,b)}}(e,b,c,c,d),new cljs.core.Keyword(null,"overlay-fn","overlay-fn",1005125217),function(b,c,d,e,l){return function(){return weathergen.ui.layers.acmi.overlay.call(null,a,b)}}(e,b,c,c,d),new cljs.core.Keyword(null,"state","state",-1988618099),e],null)};weathergen.ui.select={};weathergen.ui.common.register_class_BANG_.call(null,new cljs.core.Keyword("weathergen.ui.select","hidden","weathergen.ui.select/hidden",-252585472),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"display","display",242065432),"none"],null)],null));
weathergen.ui.select.select3=function(){var a=function(a){var b=hoplon.core.parse_args.call(null,a),c=cljs.core.nth.call(null,b,0,null),f=cljs.core.nth.call(null,b,1,null),g=null!=c&&(c.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===c.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,c):c,h=cljs.core.get.call(null,g,new cljs.core.Keyword(null,"max-dropdown-height","max-dropdown-height",1744906266)),k=cljs.core.get.call(null,g,new cljs.core.Keyword(null,"change",
"change",-1163046502)),l=cljs.core.get.call(null,g,new cljs.core.Keyword(null,"data","data",-232669377)),m=cljs.core.get.call(null,g,new cljs.core.Keyword(null,"placeholder","placeholder",-104873083)),n=cljs.core.get.call(null,g,new cljs.core.Keyword(null,"search-fn","search-fn",-646637945)),p=cljs.core.get.call(null,g,new cljs.core.Keyword(null,"highlight","highlight",-800930873)),q=cljs.core.get.call(null,g,new cljs.core.Keyword(null,"formatter","formatter",-483008823)),r=cljs.core.get.call(null,
g,new cljs.core.Keyword(null,"value","value",305978217)),u=cljs.core.get.call(null,g,new cljs.core.Keyword(null,"width","width",-384071477)),t=cljs.core.get.call(null,g,new cljs.core.Keyword(null,"key-fn","key-fn",-636154479)),v=cljs.core.dissoc.call(null,c,new cljs.core.Keyword(null,"data","data",-232669377),new cljs.core.Keyword(null,"width","width",-384071477),new cljs.core.Keyword(null,"value","value",305978217),new cljs.core.Keyword(null,"key-fn","key-fn",-636154479),new cljs.core.Keyword(null,
"search-fn","search-fn",-646637945),new cljs.core.Keyword(null,"formatter","formatter",-483008823),new cljs.core.Keyword(null,"highlight","highlight",-800930873),new cljs.core.Keyword(null,"change","change",-1163046502),new cljs.core.Keyword(null,"max-dropdown-height","max-dropdown-height",1744906266),new cljs.core.Keyword(null,"placeholder","placeholder",-104873083));if(!cljs.core.truth_(n))throw Error("Assert failed: search-fn is required\nsearch-fn");if(!cljs.core.truth_(t))throw Error("Assert failed: key-fn is required\nkey-fn");
if(!cljs.core.truth_(q))throw Error("Assert failed: formatter is required\nformatter");var w=javelin.core.cell.call(null,null),x=javelin.core.cell.call(null,null),y=javelin.core.cell.call(null,!1),z=javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x){return function(z,y,A){return cljs.core.not.call(null,z)?null:clojure.string.blank_QMARK_.call(null,A)?y:cljs.core.filter.call(null,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x){return function(a){return clojure.string.index_of.call(null,
clojure.string.lower_case.call(null,m.call(null,a)),clojure.string.lower_case.call(null,A))}}(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x),y)}}(w,x,y,4,c,g,h,k,l,m,n,p,q,r,u,t,v,b,c,f)).call(null,y,l,x),B=javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,z){return function(a){return new cljs.core.PersistentArrayMap(null,2,[new cljs.core.Keyword(null,"index-to-item","index-to-item",729994611),cljs.core.zipmap.call(null,cljs.core.range.call(null),a),new cljs.core.Keyword(null,
"key-to-index","key-to-index",-567854675),cljs.core.zipmap.call(null,cljs.core.map.call(null,u,a),cljs.core.range.call(null))],null)}}(w,x,y,4,z,c,g,h,k,l,m,n,p,q,r,u,t,v,b,c,f)).call(null,z),C=javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,z,y){return function(A){return cljs.core.zipmap.call(null,cljs.core.map.call(null,v,A),cljs.core.repeatedly.call(null,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,z,y){return function(){return cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.core.gensym.call(null))}}(a,
b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,z,y)))}}(w,x,y,4,z,B,c,g,h,k,l,m,n,p,q,r,u,t,v,b,c,f)).call(null,l),A=javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,z,y,A){return function(a,b){return cljs.core.get_in.call(null,a,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"index-to-item","index-to-item",729994611),b],null))}}(w,x,y,4,z,B,C,c,g,h,k,l,m,n,p,q,r,u,t,v,b,c,f)).call(null,B,w);cljs.core.truth_(p)&&hoplon.core.do_watch.call(null,
A,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,z,y,A,B){return function(a,b){return t.call(null,b)}}(w,x,y,4,z,B,C,A,c,g,h,k,l,m,n,p,q,r,u,t,v,b,c,f));hoplon.core.do_watch.call(null,y,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,z,y,A,B){return function(a,c){return cljs.core.truth_(c)?null:cljs.core.reset_BANG_.call(null,b,null)}}(w,x,y,4,z,B,C,A,c,g,h,k,l,m,n,p,q,r,u,t,v,b,c,f));hoplon.core.do_watch.call(null,z,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,z,y,A,B){return function(b,d){return cljs.core.reset_BANG_.call(null,
a,cljs.core.truth_(cljs.core.deref.call(null,c))?0:null)}}(w,x,y,4,z,B,C,A,c,g,h,k,l,m,n,p,q,r,u,t,v,b,c,f));var D=hoplon.core.div.call(null,new cljs.core.Keyword(null,"debug","debug",-1608172596),"select3 outer");document.addEventListener("click",function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,z,y,A,B,C){return function(b){return cljs.core.truth_(function(){var c=cljs.core.deref.call(null,d);return cljs.core.truth_(c)?cljs.core.not.call(null,a.contains(b.target)):c}())?cljs.core.reset_BANG_.call(null,
d,!1):null}}(D,w,x,y,4,z,B,C,A,c,g,h,k,l,m,n,p,q,r,u,t,v,b,c,f));D.call(null,v,new cljs.core.Keyword(null,"css","css",1135045163),new cljs.core.PersistentArrayMap(null,3,[new cljs.core.Keyword(null,"width","width",-384071477),u,new cljs.core.Keyword(null,"font-family","font-family",-667419874),"Open Sans Condensed",new cljs.core.Keyword(null,"position","position",-2011731912),"relative"],null),hoplon.core.div.call(null,new cljs.core.Keyword(null,"debug","debug",-1608172596),"top row",new cljs.core.Keyword(null,
"click","click",1912301393),function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,z,y,A,B,C){return function(){return cljs.core.swap_BANG_.call(null,d,cljs.core.not)}}(D,w,x,y,4,z,B,C,A,c,g,h,k,l,m,n,p,q,r,u,t,v,b,c,f),new cljs.core.Keyword(null,"css","css",1135045163),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"cursor","cursor",1011937484),"pointer"],null),hoplon.core.div.call(null,new cljs.core.Keyword(null,"css","css",1135045163),javelin.core.formula.call(null,function(a,b,
c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,z,y,A,B,C){return function(a){return cljs.core.PersistentHashMap.fromArrays([new cljs.core.Keyword(null,"border-style","border-style",-485574304),new cljs.core.Keyword(null,"border-top-right-radius","border-top-right-radius",1678770792),new cljs.core.Keyword(null,"background","background",-863952629),new cljs.core.Keyword(null,"border-bottom-left-radius","border-bottom-left-radius",-76446610),new cljs.core.Keyword(null,"border-top-left-radius","border-top-left-radius",
1361811342),new cljs.core.Keyword(null,"border-width","border-width",-1512605390),new cljs.core.Keyword(null,"padding","padding",1660304693),new cljs.core.Keyword(null,"border-color","border-color",-2059162761),new cljs.core.Keyword(null,"border-bottom-right-radius","border-bottom-right-radius",414899772)],["solid",weathergen.ui.common.px.call(null,e),"white",weathergen.ui.common.px.call(null,cljs.core.truth_(a)?0:e),weathergen.ui.common.px.call(null,e),weathergen.ui.common.px.call(null,1),weathergen.ui.common.px.call(null,
3,25,3,5),"#aaa",weathergen.ui.common.px.call(null,cljs.core.truth_(a)?0:e)])}}(D,w,x,y,4,z,B,C,A,c,g,h,k,l,m,n,p,q,r,u,t,v,b,c,f)).call(null,y),javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,z,y,A,B,C){return function(a){return cljs.core.truth_(a)?v.call(null,a):hoplon.core.div.call(null,new cljs.core.Keyword(null,"css","css",1135045163),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"color","color",1011675173),"#999"],null),r)}}(D,w,x,y,4,z,
B,C,A,c,g,h,k,l,m,n,p,q,r,u,t,v,b,c,f)).call(null,r)),function(){return hoplon.core.div.call(null,new cljs.core.Keyword(null,"debug","debug",-1608172596),"arrow container",new cljs.core.Keyword(null,"css","css",1135045163),new cljs.core.PersistentArrayMap(null,4,[new cljs.core.Keyword(null,"display","display",242065432),"inline-block",new cljs.core.Keyword(null,"position","position",-2011731912),"absolute",new cljs.core.Keyword(null,"right","right",-452581833),weathergen.ui.common.px.call(null,7),
new cljs.core.Keyword(null,"top","top",-1856271961),weathergen.ui.common.px.call(null,3)],null),hoplon.core.div.call(null,new cljs.core.Keyword(null,"css","css",1135045163),javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,z,y,A,B,C,D){return function(b){return cljs.core.PersistentHashMap.fromArrays([new cljs.core.Keyword(null,"border-top-style","border-top-style",-668961567),new cljs.core.Keyword(null,"transform","transform",1381301764),new cljs.core.Keyword(null,"border-left-width",
"border-left-width",2037218085),new cljs.core.Keyword(null,"border-right-style","border-right-style",-1606013368),new cljs.core.Keyword(null,"border-left-color","border-left-color",-1166146583),new cljs.core.Keyword(null,"width","width",-384071477),new cljs.core.Keyword(null,"border-right-width","border-right-width",750273868),new cljs.core.Keyword(null,"border-right-color","border-right-color",2017953775),new cljs.core.Keyword(null,"border-left-style","border-left-style",65166675),new cljs.core.Keyword(null,
"border-top-width","border-top-width",1612782932),new cljs.core.Keyword(null,"border-top-color","border-top-color",-804629899),new cljs.core.Keyword(null,"display","display",242065432),new cljs.core.Keyword(null,"height","height",1025178622)],["solid",["rotate(",cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.core.truth_(b)?180:0),"deg)"].join(""),weathergen.ui.common.px.call(null,.66*a),"solid","transparent",0,weathergen.ui.common.px.call(null,.66*a),"transparent","solid",weathergen.ui.common.px.call(null,
a),"#888","inline-block",0])}}(6,D,w,x,y,4,z,B,C,A,c,g,h,k,l,m,n,p,q,r,u,t,v,b,c,f)).call(null,y)))}()),hoplon.core.div.call(null,new cljs.core.Keyword(null,"debug","debug",-1608172596),"spacer"),hoplon.core.div.call(null,new cljs.core.Keyword(null,"debug","debug",-1608172596),"dropdown area container",new cljs.core.Keyword(null,"css","css",1135045163),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"position","position",-2011731912),"relative"],null),hoplon.core.div.call(null,
new cljs.core.Keyword(null,"debug","debug",-1608172596),"dropdown area",new cljs.core.Keyword(null,"css","css",1135045163),javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,z,y,A,B,C){return function(a){return cljs.core.PersistentHashMap.fromArrays([new cljs.core.Keyword(null,"border-style","border-style",-485574304),new cljs.core.Keyword(null,"border-top-style","border-top-style",-668961567),new cljs.core.Keyword(null,"top","top",-1856271961),new cljs.core.Keyword(null,
"background","background",-863952629),new cljs.core.Keyword(null,"border-bottom-left-radius","border-bottom-left-radius",-76446610),new cljs.core.Keyword(null,"border-width","border-width",-1512605390),new cljs.core.Keyword(null,"z-index","z-index",1892827090),new cljs.core.Keyword(null,"border-color","border-color",-2059162761),new cljs.core.Keyword(null,"display","display",242065432),new cljs.core.Keyword(null,"position","position",-2011731912),new cljs.core.Keyword(null,"border-bottom-right-radius",
"border-bottom-right-radius",414899772)],["solid","none",0,"white",weathergen.ui.common.px.call(null,e),weathergen.ui.common.px.call(null,1),100,"#aaa",cljs.core.truth_(a)?"block":"none","absolute",weathergen.ui.common.px.call(null,e)])}}(D,w,x,y,4,z,B,C,A,c,g,h,k,l,m,n,p,q,r,u,t,v,b,c,f)).call(null,y),hoplon.core.div.call(null,new cljs.core.Keyword(null,"debug","debug",-1608172596),"sets width",new cljs.core.Keyword(null,"css","css",1135045163),new cljs.core.PersistentArrayMap(null,2,[new cljs.core.Keyword(null,
"width","width",-384071477),u,new cljs.core.Keyword(null,"margin-left","margin-left",2015598377),weathergen.ui.common.px.call(null,-2)],null)),function(){return hoplon.core.div.call(null,new cljs.core.Keyword(null,"debug","debug",-1608172596),"Search box",new cljs.core.Keyword(null,"css","css",1135045163),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"padding","padding",1660304693),weathergen.ui.common.px.call(null,0,5,2,10)],null),function(){var a=hoplon.core.input.call(null,
new cljs.core.Keyword(null,"css","css",1135045163),new cljs.core.PersistentArrayMap(null,3,[new cljs.core.Keyword(null,"width","width",-384071477),weathergen.ui.common.pct.call(null,100),new cljs.core.Keyword(null,"position","position",-2011731912),"relative",new cljs.core.Keyword(null,"right","right",-452581833),weathergen.ui.common.px.call(null,5)],null),new cljs.core.Keyword(null,"value","value",305978217),x,new cljs.core.Keyword(null,"input","input",556931961),function(a,b,c,d,e,f,g,h,k,l,m,n,
p,q,r,t,u,v,w,x,z,y,A,B,C,D){return function(a){return cljs.core.reset_BANG_.call(null,d,cljs.core.deref.call(null,a))}}(5,D,w,x,y,4,z,B,C,A,c,g,h,k,l,m,n,p,q,r,u,t,v,b,c,f),new cljs.core.Keyword(null,"keydown","keydown",-629268186),function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,z,y,A,B,C,D){return function(E){var H=cljs.core._EQ_;E=E.keyCode;if(cljs.core.truth_(H.call(null,weathergen.ui.common.ESCAPE_KEY,E)))return cljs.core.reset_BANG_.call(null,e,!1);if(cljs.core.truth_(H.call(null,weathergen.ui.common.ENTER_KEY,
E))){if(cljs.core.empty_QMARK_.call(null,cljs.core.deref.call(null,g)))return null;var I=cljs.core.get_in.call(null,cljs.core.deref.call(null,h),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"index-to-item","index-to-item",729994611),cljs.core.deref.call(null,c)],null));return javelin.core.dosync_STAR_.call(null,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,z,y,A,B,C,D,E,H,I){return function(){cljs.core.reset_BANG_.call(null,h,!1);cljs.core.reset_BANG_.call(null,
A,a);return cljs.core.truth_(u)?u.call(null,a):null}}(I,H,E,a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,z,y,A,B,C,D))}return cljs.core.truth_(H.call(null,weathergen.ui.common.DOWN_ARROW,E))?cljs.core.swap_BANG_.call(null,c,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,z,y,A,B,C,D,E,H){return function(a){a+=1;var b=cljs.core.count.call(null,cljs.core.deref.call(null,k))-1;return a<b?a:b}}(H,E,a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,z,y,A,B,C,D)):cljs.core.truth_(H.call(null,weathergen.ui.common.UP_ARROW,
E))?cljs.core.swap_BANG_.call(null,c,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,z,y,A,B,C,D,E,H){return function(a){--a;return 0>a?0:a}}(H,E,a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,z,y,A,B,C,D)):null}}(5,D,w,x,y,4,z,B,C,A,c,g,h,k,l,m,n,p,q,r,u,t,v,b,c,f));hoplon.core.do_watch.call(null,y,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,z,y,A,B,C,D,F){return function(E,H){return cljs.core.truth_(H)?setTimeout(function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,z,y,A,B,C,D,E){return function(){return a.focus()}}(a,
b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,z,y,A,B,C,D,F),0):null}}(a,5,D,w,x,y,4,z,B,C,A,c,g,h,k,l,m,n,p,q,r,u,t,v,b,c,f));return a}())}(),function(){var a=javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,z,y,A,B,C){return function(a,b,c){return b.call(null,a.call(null,c))}}(D,w,x,y,4,z,B,C,A,c,g,h,k,l,m,n,p,q,r,u,t,v,b,c,f)).call(null,cljs.core.empty_QMARK_,cljs.core.not,z);return weathergen.ui.common.styled.call(null,new cljs.core.Keyword(null,"garden","garden",-1966516149),
javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,z,y,A,B,C,D){return function(a,b,c){return new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[garden.selectors.selector.call(null,["#",cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.core.get.call(null,c,y.call(null,cljs.core.get_in.call(null,b,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"index-to-item","index-to-item",729994611),
a],null)))))].join("")),new cljs.core.PersistentArrayMap(null,2,[new cljs.core.Keyword(null,"background","background",-863952629),"#5897fb",new cljs.core.Keyword(null,"color","color",1011675173),"white"],null)],null)}}(a,D,w,x,y,4,z,B,C,A,c,g,h,k,l,m,n,p,q,r,u,t,v,b,c,f)).call(null,w,B,C),hoplon.core.div.call(null,new cljs.core.Keyword(null,"css","css",1135045163),new cljs.core.PersistentArrayMap(null,2,[new cljs.core.Keyword(null,"padding-left","padding-left",-1180879053),weathergen.ui.common.px.call(null,
5),new cljs.core.Keyword(null,"user-select","user-select",-346451650),"none"],null),new cljs.core.Keyword(null,"toggle","toggle",1291842030),javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,z,y,A,B,C,D){return function(a,b){return a.call(null,b)}}(a,D,w,x,y,4,z,B,C,A,c,g,h,k,l,m,n,p,q,r,u,t,v,b,c,f)).call(null,cljs.core.not,a),"No results found"),function(){var d=hoplon.core.ul.call(null);hoplon.core.do_watch.call(null,z,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,
w,x,z,y,A,B,C,D,E){return function(b,c){return a.scrollTop=0}}(d,a,D,w,x,y,4,z,B,C,A,c,g,h,k,l,m,n,p,q,r,u,t,v,b,c,f));d.call(null,new cljs.core.Keyword(null,"toggle","toggle",1291842030),a,new cljs.core.Keyword(null,"debug","debug",-1608172596),"item list area",new cljs.core.Keyword(null,"css","css",1135045163),new cljs.core.PersistentArrayMap(null,6,[new cljs.core.Keyword(null,"overflow-y","overflow-y",-1436589285),"scroll",new cljs.core.Keyword(null,"max-height","max-height",-612563804),cljs.core.truth_(h)?
h:weathergen.ui.common.px.call(null,150),new cljs.core.Keyword(null,"padding","padding",1660304693),0,new cljs.core.Keyword(null,"margin","margin",-995903681),0,new cljs.core.Keyword(null,"user-select","user-select",-346451650),"none",new cljs.core.Keyword(null,"list-style","list-style",-809622358),"none"],null),weathergen.ui.common.keyed_loop_tpl_STAR_.call(null,l,t,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,z,y,A,B,C,D,E){return function(H){H=javelin.core.cell_map.call(null,cljs.core.identity,
javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,z,y,A,B,C,D,E){return function(a){return new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[a],null)}}(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,z,y,A,B,C,D,E)).call(null,H));var I=cljs.core.nth.call(null,H,0,null),F=hoplon.core.li.call(null);hoplon.core.do_watch.call(null,d,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,z,y,A,B,C,D,E,H,I,F){return function(b,d){return cljs.core._EQ_.call(null,
cljs.core.deref.call(null,c),cljs.core.get_in.call(null,cljs.core.deref.call(null,n),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"index-to-item","index-to-item",729994611),d],null)))?a.scrollIntoViewIfNeeded():null}}(F,H,I,a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,z,y,A,B,C,D,E));F.call(null,new cljs.core.Keyword(null,"id","id",-1388402092),javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,z,y,A,B,C,D,E,H,I,
F){return function(a,b,c){return b.call(null,c.call(null,a))}}(F,H,I,a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,z,y,A,B,C,D,E)).call(null,I,l,A),new cljs.core.Keyword(null,"mouseenter","mouseenter",-1792413560),function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,z,y,A,B,C,D,E,H,I,F){return function(){return cljs.core.reset_BANG_.call(null,g,cljs.core.get_in.call(null,cljs.core.deref.call(null,n),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"key-to-index",
"key-to-index",-567854675),D.call(null,cljs.core.deref.call(null,c))],null)))}}(F,H,I,a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,z,y,A,B,C,D,E),new cljs.core.Keyword(null,"class","class",-2030961996),javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,z,y,A,B,C,D,E,H,I,F){return function(a,b){return cljs.core.PersistentArrayMap.createAsIfByAssoc([weathergen.ui.common.class_for.call(null,new cljs.core.Keyword("weathergen.ui.select","hidden","weathergen.ui.select/hidden",-252585472)),
!cljs.core.contains_QMARK_.call(null,(new cljs.core.Keyword(null,"key-to-index","key-to-index",-567854675)).cljs$core$IFn$_invoke$arity$1(b),D.call(null,a))])}}(F,H,I,a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,z,y,A,B,C,D,E)).call(null,I,k),hoplon.core.div.call(null,new cljs.core.Keyword(null,"css","css",1135045163),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"padding-left","padding-left",-1180879053),weathergen.ui.common.px.call(null,5)],null),new cljs.core.Keyword(null,"click",
"click",1912301393),function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,z,y,A,B,C,D,E,H,I,F){return function(){return javelin.core.dosync_STAR_.call(null,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,z,y,A,B,C,D,E,H,I,F){return function(){cljs.core.reset_BANG_.call(null,B,cljs.core.deref.call(null,c));cljs.core.reset_BANG_.call(null,k,!1);return cljs.core.truth_(v)?v.call(null,cljs.core.deref.call(null,c)):null}}(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,z,y,A,B,C,D,E,H,I,F))}}(F,H,I,a,b,c,d,e,f,g,
h,k,l,m,n,p,q,r,t,u,v,w,x,z,y,A,B,C,D,E),x.call(null,I)));return F}}(d,a,D,w,x,y,4,z,B,C,A,c,g,h,k,l,m,n,p,q,r,u,t,v,b,c,f)));return d}())}())));return D},b=function(b){var c=null;if(0<arguments.length){c=0;for(var e=Array(arguments.length-0);c<e.length;)e[c]=arguments[c+0],++c;c=new cljs.core.IndexedSeq(e,0,null)}return a.call(this,c)};b.cljs$lang$maxFixedArity=0;b.cljs$lang$applyTo=function(b){b=cljs.core.seq(b);return a(b)};b.cljs$core$IFn$_invoke$arity$variadic=a;return b}();weathergen.ui.textarea={};
weathergen.ui.textarea.textarea2=function(){var a=function(a){a=hoplon.core.parse_args.call(null,a);var b=cljs.core.nth.call(null,a,0,null),c=cljs.core.nth.call(null,a,1,null),f=null!=b&&(b.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===b.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,b):b,g=cljs.core.get.call(null,f,new cljs.core.Keyword(null,"change","change",-1163046502)),h=cljs.core.get.call(null,f,new cljs.core.Keyword(null,"placeholder","placeholder",-104873083)),
k=cljs.core.get.call(null,f,new cljs.core.Keyword(null,"value","value",305978217)),l=cljs.core.get.call(null,f,new cljs.core.Keyword(null,"css","css",1135045163)),m=cljs.core.dissoc.call(null,b,new cljs.core.Keyword(null,"value","value",305978217),new cljs.core.Keyword(null,"change","change",-1163046502),new cljs.core.Keyword(null,"placeholder","placeholder",-104873083),new cljs.core.Keyword(null,"css","css",1135045163)),n=javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,k,l){return function(a){return a}}(b,
f,g,h,k,l,m,a,b,c)).call(null,h),p=javelin.core.cell.call(null,null),q=javelin.core.cell.call(null,!1),r=javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,k,l,m,n,p){return function(a,b,c,d){return d.call(null,a)&&b.call(null,c)}}(n,p,q,b,f,g,h,k,l,m,a,b,c)).call(null,q,clojure.string.blank_QMARK_,k,cljs.core.not),u=hoplon.core.div.call(null);hoplon.core.do_watch.call(null,k,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r){return function(b,c){return cljs.core.truth_(cljs.core.deref.call(null,d))?null:
a.innerText=c}}(u,n,p,q,r,b,f,g,h,k,l,m,a,b,c));hoplon.core.do_watch.call(null,q,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r){return function(d,e){if(cljs.core.truth_(e))return cljs.core.reset_BANG_.call(null,c,cljs.core.deref.call(null,l)),a.innerText=cljs.core.deref.call(null,c);d=a.innerText;cljs.core.truth_(h)&&h.call(null,d);return 0===cljs.core.count.call(null,d)||cljs.core._EQ_.call(null,"\n",d)?a.innerText=cljs.core.deref.call(null,b):null}}(u,n,p,q,r,b,f,g,h,k,l,m,a,b,c));u.call(null,new cljs.core.Keyword(null,
"contenteditable","contenteditable",-770210530),"true",new cljs.core.Keyword(null,"click","click",1912301393),function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r){return function(){return cljs.core.reset_BANG_.call(null,d,!0)}}(u,n,p,q,r,b,f,g,h,k,l,m,a,b,c),new cljs.core.Keyword(null,"input","input",556931961),function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r){return function(b){b=a.innerText;cljs.core.reset_BANG_.call(null,c,b);return cljs.core.truth_(h)?h.call(null,b):null}}(u,n,p,q,r,b,f,g,h,k,l,m,a,b,c),new cljs.core.Keyword(null,
"css","css",1135045163),javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r){return function(a,b){return cljs.core.merge.call(null,new cljs.core.PersistentArrayMap(null,8,[new cljs.core.Keyword(null,"white-space","white-space",-707351930),"pre-wrap",new cljs.core.Keyword(null,"color","color",1011675173),cljs.core.truth_(a)?"#999":null,new cljs.core.Keyword(null,"cursor","cursor",1011937484),"text",new cljs.core.Keyword(null,"background","background",-863952629),"white",new cljs.core.Keyword(null,
"border-color","border-color",-2059162761),"#aaa",new cljs.core.Keyword(null,"border-width","border-width",-1512605390),weathergen.ui.common.px.call(null,1),new cljs.core.Keyword(null,"border-style","border-style",-485574304),"solid",new cljs.core.Keyword(null,"padding","padding",1660304693),weathergen.ui.common.px.call(null,5,3,3,3)],null),b)}}(u,n,p,q,r,b,f,g,h,k,l,m,a,b,c)).call(null,r,l),new cljs.core.Keyword(null,"focus","focus",234677911),function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r){return function(a){return cljs.core.reset_BANG_.call(null,
d,!0)}}(u,n,p,q,r,b,f,g,h,k,l,m,a,b,c),new cljs.core.Keyword(null,"blur","blur",-453500461),function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r){return function(a){return cljs.core.reset_BANG_.call(null,d,!1)}}(u,n,p,q,r,b,f,g,h,k,l,m,a,b,c),m);return u},b=function(b){var c=null;if(0<arguments.length){c=0;for(var e=Array(arguments.length-0);c<e.length;)e[c]=arguments[c+0],++c;c=new cljs.core.IndexedSeq(e,0,null)}return a.call(this,c)};b.cljs$lang$maxFixedArity=0;b.cljs$lang$applyTo=function(b){b=cljs.core.seq(b);
return a(b)};b.cljs$core$IFn$_invoke$arity$variadic=a;return b}();goog.crypt={};goog.crypt.stringToByteArray=function(a){for(var b=[],c=0,d=0;d<a.length;d++){var e=a.charCodeAt(d);255<e&&(b[c++]=e&255,e>>=8);b[c++]=e}return b};goog.crypt.byteArrayToString=function(a){if(8192>=a.length)return String.fromCharCode.apply(null,a);for(var b="",c=0;c<a.length;c+=8192){var d=goog.array.slice(a,c,c+8192);b+=String.fromCharCode.apply(null,d)}return b};goog.crypt.byteArrayToHex=function(a){return goog.array.map(a,function(a){a=a.toString(16);return 1<a.length?a:"0"+a}).join("")};
goog.crypt.hexToByteArray=function(a){goog.asserts.assert(0==a.length%2,"Key string length must be multiple of 2");for(var b=[],c=0;c<a.length;c+=2)b.push(parseInt(a.substring(c,c+2),16));return b};
goog.crypt.stringToUtf8ByteArray=function(a){for(var b=[],c=0,d=0;d<a.length;d++){var e=a.charCodeAt(d);128>e?b[c++]=e:(2048>e?b[c++]=e>>6|192:(55296==(e&64512)&&d+1<a.length&&56320==(a.charCodeAt(d+1)&64512)?(e=65536+((e&1023)<<10)+(a.charCodeAt(++d)&1023),b[c++]=e>>18|240,b[c++]=e>>12&63|128):b[c++]=e>>12|224,b[c++]=e>>6&63|128),b[c++]=e&63|128)}return b};
goog.crypt.utf8ByteArrayToString=function(a){for(var b=[],c=0,d=0;c<a.length;){var e=a[c++];if(128>e)b[d++]=String.fromCharCode(e);else if(191<e&&224>e){var f=a[c++];b[d++]=String.fromCharCode((e&31)<<6|f&63)}else if(239<e&&365>e){f=a[c++];var g=a[c++],h=a[c++];e=((e&7)<<18|(f&63)<<12|(g&63)<<6|h&63)-65536;b[d++]=String.fromCharCode(55296+(e>>10));b[d++]=String.fromCharCode(56320+(e&1023))}else f=a[c++],g=a[c++],b[d++]=String.fromCharCode((e&15)<<12|(f&63)<<6|g&63)}return b.join("")};
goog.crypt.xorByteArray=function(a,b){goog.asserts.assert(a.length==b.length,"XOR array lengths must match");for(var c=[],d=0;d<a.length;d++)c.push(a[d]^b[d]);return c};goog.userAgent.product={};goog.userAgent.product.ASSUME_FIREFOX=!1;goog.userAgent.product.ASSUME_IPHONE=!1;goog.userAgent.product.ASSUME_IPAD=!1;goog.userAgent.product.ASSUME_ANDROID=!1;goog.userAgent.product.ASSUME_CHROME=!1;goog.userAgent.product.ASSUME_SAFARI=!1;
goog.userAgent.product.PRODUCT_KNOWN_=goog.userAgent.ASSUME_IE||goog.userAgent.ASSUME_EDGE||goog.userAgent.ASSUME_OPERA||goog.userAgent.product.ASSUME_FIREFOX||goog.userAgent.product.ASSUME_IPHONE||goog.userAgent.product.ASSUME_IPAD||goog.userAgent.product.ASSUME_ANDROID||goog.userAgent.product.ASSUME_CHROME||goog.userAgent.product.ASSUME_SAFARI;goog.userAgent.product.OPERA=goog.userAgent.OPERA;goog.userAgent.product.IE=goog.userAgent.IE;goog.userAgent.product.EDGE=goog.userAgent.EDGE;
goog.userAgent.product.FIREFOX=goog.userAgent.product.PRODUCT_KNOWN_?goog.userAgent.product.ASSUME_FIREFOX:goog.labs.userAgent.browser.isFirefox();goog.userAgent.product.isIphoneOrIpod_=function(){return goog.labs.userAgent.platform.isIphone()||goog.labs.userAgent.platform.isIpod()};goog.userAgent.product.IPHONE=goog.userAgent.product.PRODUCT_KNOWN_?goog.userAgent.product.ASSUME_IPHONE:goog.userAgent.product.isIphoneOrIpod_();
goog.userAgent.product.IPAD=goog.userAgent.product.PRODUCT_KNOWN_?goog.userAgent.product.ASSUME_IPAD:goog.labs.userAgent.platform.isIpad();goog.userAgent.product.ANDROID=goog.userAgent.product.PRODUCT_KNOWN_?goog.userAgent.product.ASSUME_ANDROID:goog.labs.userAgent.browser.isAndroidBrowser();goog.userAgent.product.CHROME=goog.userAgent.product.PRODUCT_KNOWN_?goog.userAgent.product.ASSUME_CHROME:goog.labs.userAgent.browser.isChrome();
goog.userAgent.product.isSafariDesktop_=function(){return goog.labs.userAgent.browser.isSafari()&&!goog.labs.userAgent.platform.isIos()};goog.userAgent.product.SAFARI=goog.userAgent.product.PRODUCT_KNOWN_?goog.userAgent.product.ASSUME_SAFARI:goog.userAgent.product.isSafariDesktop_();goog.crypt.base64={};goog.crypt.base64.byteToCharMap_=null;goog.crypt.base64.charToByteMap_=null;goog.crypt.base64.byteToCharMapWebSafe_=null;goog.crypt.base64.ENCODED_VALS_BASE="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789";goog.crypt.base64.ENCODED_VALS=goog.crypt.base64.ENCODED_VALS_BASE+"+/\x3d";goog.crypt.base64.ENCODED_VALS_WEBSAFE=goog.crypt.base64.ENCODED_VALS_BASE+"-_.";
goog.crypt.base64.ASSUME_NATIVE_SUPPORT_=goog.userAgent.GECKO||goog.userAgent.WEBKIT&&!goog.userAgent.product.SAFARI||goog.userAgent.OPERA;goog.crypt.base64.HAS_NATIVE_ENCODE_=goog.crypt.base64.ASSUME_NATIVE_SUPPORT_||"function"==typeof goog.global.btoa;goog.crypt.base64.HAS_NATIVE_DECODE_=goog.crypt.base64.ASSUME_NATIVE_SUPPORT_||!goog.userAgent.product.SAFARI&&!goog.userAgent.IE&&"function"==typeof goog.global.atob;
goog.crypt.base64.encodeByteArray=function(a,b){goog.asserts.assert(goog.isArrayLike(a),"encodeByteArray takes an array as a parameter");goog.crypt.base64.init_();b=b?goog.crypt.base64.byteToCharMapWebSafe_:goog.crypt.base64.byteToCharMap_;for(var c=[],d=0;d<a.length;d+=3){var e=a[d],f=d+1<a.length,g=f?a[d+1]:0,h=d+2<a.length,k=h?a[d+2]:0,l=e>>2;e=(e&3)<<4|g>>4;g=(g&15)<<2|k>>6;k&=63;h||(k=64,f||(g=64));c.push(b[l],b[e],b[g],b[k])}return c.join("")};
goog.crypt.base64.encodeString=function(a,b){return goog.crypt.base64.HAS_NATIVE_ENCODE_&&!b?goog.global.btoa(a):goog.crypt.base64.encodeByteArray(goog.crypt.stringToByteArray(a),b)};goog.crypt.base64.decodeString=function(a,b){if(goog.crypt.base64.HAS_NATIVE_DECODE_&&!b)return goog.global.atob(a);var c="";goog.crypt.base64.decodeStringInternal_(a,function(a){c+=String.fromCharCode(a)});return c};
goog.crypt.base64.decodeStringToByteArray=function(a,b){var c=[];goog.crypt.base64.decodeStringInternal_(a,function(a){c.push(a)});return c};goog.crypt.base64.decodeStringToUint8Array=function(a){goog.asserts.assert(!goog.userAgent.IE||goog.userAgent.isVersionOrHigher("10"),"Browser does not support typed arrays");var b=new Uint8Array(Math.ceil(3*a.length/4)),c=0;goog.crypt.base64.decodeStringInternal_(a,function(a){b[c++]=a});return b.subarray(0,c)};
goog.crypt.base64.decodeStringInternal_=function(a,b){function c(b){for(;d<a.length;){var c=a.charAt(d++),e=goog.crypt.base64.charToByteMap_[c];if(null!=e)return e;if(!goog.string.isEmptyOrWhitespace(c))throw Error("Unknown base64 encoding at char: "+c);}return b}goog.crypt.base64.init_();for(var d=0;;){var e=c(-1),f=c(0),g=c(64),h=c(64);if(64===h&&-1===e)break;b(e<<2|f>>4);64!=g&&(b(f<<4&240|g>>2),64!=h&&b(g<<6&192|h))}};
goog.crypt.base64.init_=function(){if(!goog.crypt.base64.byteToCharMap_){goog.crypt.base64.byteToCharMap_={};goog.crypt.base64.charToByteMap_={};goog.crypt.base64.byteToCharMapWebSafe_={};for(var a=0;a<goog.crypt.base64.ENCODED_VALS.length;a++)goog.crypt.base64.byteToCharMap_[a]=goog.crypt.base64.ENCODED_VALS.charAt(a),goog.crypt.base64.charToByteMap_[goog.crypt.base64.byteToCharMap_[a]]=a,goog.crypt.base64.byteToCharMapWebSafe_[a]=goog.crypt.base64.ENCODED_VALS_WEBSAFE.charAt(a),a>=goog.crypt.base64.ENCODED_VALS_BASE.length&&
(goog.crypt.base64.charToByteMap_[goog.crypt.base64.ENCODED_VALS_WEBSAFE.charAt(a)]=a)}};var com={cognitect:{}};com.cognitect.transit={};com.cognitect.transit.util={};com.cognitect.transit.util.objectKeys="undefined"!=typeof Object.keys?function(a){return Object.keys(a)}:function(a){return goog.object.getKeys(a)};com.cognitect.transit.util.isArray="undefined"!=typeof Array.isArray?function(a){return Array.isArray(a)}:function(a){return"array"===goog.typeOf(a)};com.cognitect.transit.util.chars="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/\x3d";
com.cognitect.transit.util.randInt=function(a){return Math.round(Math.random()*a)};com.cognitect.transit.util.randHex=function(){return com.cognitect.transit.util.randInt(15).toString(16)};
com.cognitect.transit.util.randomUUID=function(){var a=(8|3&com.cognitect.transit.util.randInt(14)).toString(16);return com.cognitect.transit.util.randHex()+com.cognitect.transit.util.randHex()+com.cognitect.transit.util.randHex()+com.cognitect.transit.util.randHex()+com.cognitect.transit.util.randHex()+com.cognitect.transit.util.randHex()+com.cognitect.transit.util.randHex()+com.cognitect.transit.util.randHex()+"-"+com.cognitect.transit.util.randHex()+com.cognitect.transit.util.randHex()+com.cognitect.transit.util.randHex()+
com.cognitect.transit.util.randHex()+"-4"+com.cognitect.transit.util.randHex()+com.cognitect.transit.util.randHex()+com.cognitect.transit.util.randHex()+"-"+a+com.cognitect.transit.util.randHex()+com.cognitect.transit.util.randHex()+com.cognitect.transit.util.randHex()+"-"+com.cognitect.transit.util.randHex()+com.cognitect.transit.util.randHex()+com.cognitect.transit.util.randHex()+com.cognitect.transit.util.randHex()+com.cognitect.transit.util.randHex()+com.cognitect.transit.util.randHex()+com.cognitect.transit.util.randHex()+
com.cognitect.transit.util.randHex()+com.cognitect.transit.util.randHex()+com.cognitect.transit.util.randHex()+com.cognitect.transit.util.randHex()+com.cognitect.transit.util.randHex()};
com.cognitect.transit.util.btoa=function(a){if("undefined"!=typeof btoa)return btoa(a);a=String(a);for(var b,c,d=0,e=com.cognitect.transit.util.chars,f="";a.charAt(d|0)||(e="\x3d",d%1);f+=e.charAt(63&b>>8-d%1*8)){c=a.charCodeAt(d+=.75);if(255<c)throw Error("'btoa' failed: The string to be encoded contains characters outside of the Latin1 range.");b=b<<8|c}return f};
com.cognitect.transit.util.atob=function(a){if("undefined"!=typeof atob)return atob(a);a=String(a).replace(/=+$/,"");if(1==a.length%4)throw Error("'atob' failed: The string to be decoded is not correctly encoded.");for(var b=0,c,d,e=0,f="";d=a.charAt(e++);~d&&(c=b%4?64*c+d:d,b++%4)?f+=String.fromCharCode(255&c>>(-2*b&6)):0)d=com.cognitect.transit.util.chars.indexOf(d);return f};
com.cognitect.transit.util.Uint8ToBase64=function(a){for(var b=0,c=a.length,d="",e;b<c;)e=a.subarray(b,Math.min(b+32768,c)),d+=String.fromCharCode.apply(null,e),b+=32768;return com.cognitect.transit.util.btoa(d)};com.cognitect.transit.util.Base64ToUint8=function(a){a=com.cognitect.transit.util.atob(a);for(var b=a.length,c=new Uint8Array(b),d=0;d<b;d++){var e=a.charCodeAt(d);c[d]=e}return c};com.cognitect.transit.eq={};com.cognitect.transit.eq.hashCodeProperty="transit$hashCode$";com.cognitect.transit.eq.hashCodeCounter=1;
com.cognitect.transit.eq.equals=function(a,b){if(null==a)return null==b;if(a===b)return!0;if("object"===typeof a){if(com.cognitect.transit.util.isArray(a)){if(com.cognitect.transit.util.isArray(b)&&a.length===b.length){for(var c=0;c<a.length;c++)if(!com.cognitect.transit.eq.equals(a[c],b[c]))return!1;return!0}return!1}if(a.com$cognitect$transit$equals)return a.com$cognitect$transit$equals(b);if(null!=b&&"object"===typeof b){if(b.com$cognitect$transit$equals)return b.com$cognitect$transit$equals(a);
c=0;var d=com.cognitect.transit.util.objectKeys(b).length,e;for(e in a)if(a.hasOwnProperty(e)&&(c++,!b.hasOwnProperty(e)||!com.cognitect.transit.eq.equals(a[e],b[e])))return!1;return c===d}}return!1};com.cognitect.transit.eq.hashCombine=function(a,b){return a^b+2654435769+(a<<6)+(a>>2)};com.cognitect.transit.eq.stringCodeCache={};com.cognitect.transit.eq.stringCodeCacheSize=0;com.cognitect.transit.eq.STR_CACHE_MAX=256;
com.cognitect.transit.eq.hashString=function(a){var b=com.cognitect.transit.eq.stringCodeCache[a];if(null!=b)return b;for(var c=b=0;c<a.length;++c)b=31*b+a.charCodeAt(c),b%=4294967296;com.cognitect.transit.eq.stringCodeCacheSize++;com.cognitect.transit.eq.stringCodeCacheSize>=com.cognitect.transit.eq.STR_CACHE_MAX&&(com.cognitect.transit.eq.stringCodeCache={},com.cognitect.transit.eq.stringCodeCacheSize=1);return com.cognitect.transit.eq.stringCodeCache[a]=b};
com.cognitect.transit.eq.hashMapLike=function(a){var b=0;if(null!=a.forEach)a.forEach(function(a,c,d){b=(b+(com.cognitect.transit.eq.hashCode(c)^com.cognitect.transit.eq.hashCode(a)))%4503599627370496});else for(var c=com.cognitect.transit.util.objectKeys(a),d=0;d<c.length;d++){var e=c[d],f=a[e];b=(b+(com.cognitect.transit.eq.hashCode(e)^com.cognitect.transit.eq.hashCode(f)))%4503599627370496}return b};
com.cognitect.transit.eq.hashArrayLike=function(a){var b=0;if(com.cognitect.transit.util.isArray(a))for(var c=0;c<a.length;c++)b=com.cognitect.transit.eq.hashCombine(b,com.cognitect.transit.eq.hashCode(a[c]));else a.forEach&&a.forEach(function(a,c){b=com.cognitect.transit.eq.hashCombine(b,com.cognitect.transit.eq.hashCode(a))});return b};
com.cognitect.transit.eq.hashCode=function(a){if(null==a)return 0;switch(typeof a){case "number":return a;case "boolean":return!0===a?1:0;case "string":return com.cognitect.transit.eq.hashString(a);case "function":var b=a[com.cognitect.transit.eq.hashCodeProperty];b||(b=com.cognitect.transit.eq.hashCodeCounter,"undefined"!=typeof Object.defineProperty?Object.defineProperty(a,com.cognitect.transit.eq.hashCodeProperty,{value:b,enumerable:!1}):a[com.cognitect.transit.eq.hashCodeProperty]=b,com.cognitect.transit.eq.hashCodeCounter++);
return b;default:return a instanceof Date?a.valueOf():com.cognitect.transit.util.isArray(a)?com.cognitect.transit.eq.hashArrayLike(a):a.com$cognitect$transit$hashCode?a.com$cognitect$transit$hashCode():com.cognitect.transit.eq.hashMapLike(a)}};com.cognitect.transit.eq.extendToEQ=function(a,b){a.com$cognitect$transit$hashCode=b.hashCode;a.com$cognitect$transit$equals=b.equals;return a};com.cognitect.transit.types={};com.cognitect.transit.types.ITERATOR="undefined"!=typeof Symbol?Symbol.iterator:"@@iterator";com.cognitect.transit.types.TaggedValue=function(a,b){this.tag=a;this.rep=b;this.hashCode=-1};com.cognitect.transit.types.TaggedValue.prototype.toString=function(){return"[TaggedValue: "+this.tag+", "+this.rep+"]"};com.cognitect.transit.types.TaggedValue.prototype.equiv=function(a){return com.cognitect.transit.eq.equals(this,a)};
com.cognitect.transit.types.TaggedValue.prototype.equiv=com.cognitect.transit.types.TaggedValue.prototype.equiv;com.cognitect.transit.types.TaggedValue.prototype.com$cognitect$transit$equals=function(a){return a instanceof com.cognitect.transit.types.TaggedValue?this.tag===a.tag&&com.cognitect.transit.eq.equals(this.rep,a.rep):!1};
com.cognitect.transit.types.TaggedValue.prototype.com$cognitect$transit$hashCode=function(){-1===this.hashCode&&(this.hashCode=com.cognitect.transit.eq.hashCombine(com.cognitect.transit.eq.hashCode(this.tag),com.cognitect.transit.eq.hashCode(this.rep)));return this.hashCode};com.cognitect.transit.types.taggedValue=function(a,b){return new com.cognitect.transit.types.TaggedValue(a,b)};com.cognitect.transit.types.isTaggedValue=function(a){return a instanceof com.cognitect.transit.types.TaggedValue};
com.cognitect.transit.types.nullValue=function(){return null};com.cognitect.transit.types.boolValue=function(a){return"t"===a};com.cognitect.transit.types.MAX_INT=goog.math.Long.fromString("9007199254740991");com.cognitect.transit.types.MIN_INT=goog.math.Long.fromString("-9007199254740991");
com.cognitect.transit.types.intValue=function(a){if("number"===typeof a||a instanceof goog.math.Long)return a;a=goog.math.Long.fromString(a,10);return a.greaterThan(com.cognitect.transit.types.MAX_INT)||a.lessThan(com.cognitect.transit.types.MIN_INT)?a:a.toNumber()};goog.math.Long.prototype.equiv=function(a){return com.cognitect.transit.eq.equals(this,a)};goog.math.Long.prototype.equiv=goog.math.Long.prototype.equiv;
goog.math.Long.prototype.com$cognitect$transit$equals=function(a){return a instanceof goog.math.Long&&this.equals(a)};goog.math.Long.prototype.com$cognitect$transit$hashCode=function(){return this.toInt()};com.cognitect.transit.types.isInteger=function(a){return a instanceof goog.math.Long?!0:"number"===typeof a&&!isNaN(a)&&Infinity!==a&&parseFloat(a)===parseInt(a,10)};com.cognitect.transit.types.floatValue=function(a){return parseFloat(a)};
com.cognitect.transit.types.bigInteger=function(a){return com.cognitect.transit.types.taggedValue("n",a)};com.cognitect.transit.types.isBigInteger=function(a){return a instanceof com.cognitect.transit.types.TaggedValue&&"n"===a.tag};com.cognitect.transit.types.bigDecimalValue=function(a){return com.cognitect.transit.types.taggedValue("f",a)};com.cognitect.transit.types.isBigDecimal=function(a){return a instanceof com.cognitect.transit.types.TaggedValue&&"f"===a.tag};
com.cognitect.transit.types.charValue=function(a){return a};com.cognitect.transit.types.Keyword=function(a){this._name=a;this.hashCode=-1};com.cognitect.transit.types.Keyword.prototype.toString=function(){return":"+this._name};com.cognitect.transit.types.Keyword.prototype.namespace=function(){var a=this._name.indexOf("/");return-1!=a?this._name.substring(0,a):null};
com.cognitect.transit.types.Keyword.prototype.name=function(){var a=this._name.indexOf("/");return-1!=a?this._name.substring(a+1,this._name.length):this._name};com.cognitect.transit.types.Keyword.prototype.equiv=function(a){return com.cognitect.transit.eq.equals(this,a)};com.cognitect.transit.types.Keyword.prototype.equiv=com.cognitect.transit.types.Keyword.prototype.equiv;
com.cognitect.transit.types.Keyword.prototype.com$cognitect$transit$equals=function(a){return a instanceof com.cognitect.transit.types.Keyword&&this._name==a._name};com.cognitect.transit.types.Keyword.prototype.com$cognitect$transit$hashCode=function(){-1===this.hashCode&&(this.hashCode=com.cognitect.transit.eq.hashCode(this._name));return this.hashCode};com.cognitect.transit.types.keyword=function(a){return new com.cognitect.transit.types.Keyword(a)};
com.cognitect.transit.types.isKeyword=function(a){return a instanceof com.cognitect.transit.types.Keyword};com.cognitect.transit.types.Symbol=function(a){this._name=a;this.hashCode=-1};com.cognitect.transit.types.Symbol.prototype.namespace=function(){var a=this._name.indexOf("/");return-1!=a?this._name.substring(0,a):null};com.cognitect.transit.types.Symbol.prototype.name=function(){var a=this._name.indexOf("/");return-1!=a?this._name.substring(a+1,this._name.length):this._name};
com.cognitect.transit.types.Symbol.prototype.toString=function(){return this._name};com.cognitect.transit.types.Symbol.prototype.equiv=function(a){return com.cognitect.transit.eq.equals(this,a)};com.cognitect.transit.types.Symbol.prototype.equiv=com.cognitect.transit.types.Symbol.prototype.equiv;com.cognitect.transit.types.Symbol.prototype.com$cognitect$transit$equals=function(a){return a instanceof com.cognitect.transit.types.Symbol&&this._name==a._name};
com.cognitect.transit.types.Symbol.prototype.com$cognitect$transit$hashCode=function(){-1===this.hashCode&&(this.hashCode=com.cognitect.transit.eq.hashCode(this._name));return this.hashCode};com.cognitect.transit.types.symbol=function(a){return new com.cognitect.transit.types.Symbol(a)};com.cognitect.transit.types.isSymbol=function(a){return a instanceof com.cognitect.transit.types.Symbol};
com.cognitect.transit.types.hexFor=function(a,b,c){var d="";c=c||b+1;for(var e=8*(7-b),f=goog.math.Long.fromInt(255).shiftLeft(e);b<c;b++,e-=8,f=f.shiftRightUnsigned(8)){var g=a.and(f).shiftRightUnsigned(e).toString(16);1==g.length&&(g="0"+g);d+=g}return d};com.cognitect.transit.types.UUID=function(a,b){this.high=a;this.low=b;this.hashCode=-1};com.cognitect.transit.types.UUID.prototype.getLeastSignificantBits=function(){return this.low};
com.cognitect.transit.types.UUID.prototype.getMostSignificantBits=function(){return this.high};com.cognitect.transit.types.UUID.prototype.toString=function(){var a=this.high,b=this.low;var c=com.cognitect.transit.types.hexFor(a,0,4)+"-";c+=com.cognitect.transit.types.hexFor(a,4,6)+"-";c+=com.cognitect.transit.types.hexFor(a,6,8)+"-";c+=com.cognitect.transit.types.hexFor(b,0,2)+"-";return c+=com.cognitect.transit.types.hexFor(b,2,8)};
com.cognitect.transit.types.UUID.prototype.equiv=function(a){return com.cognitect.transit.eq.equals(this,a)};com.cognitect.transit.types.UUID.prototype.equiv=com.cognitect.transit.types.UUID.prototype.equiv;com.cognitect.transit.types.UUID.prototype.com$cognitect$transit$equals=function(a){return a instanceof com.cognitect.transit.types.UUID&&this.high.equals(a.high)&&this.low.equals(a.low)};
com.cognitect.transit.types.UUID.prototype.com$cognitect$transit$hashCode=function(){-1===this.hashCode&&(this.hashCode=com.cognitect.transit.eq.hashCode(this.toString()));return this.hashCode};
com.cognitect.transit.types.UUIDfromString=function(a){a=a.replace(/-/g,"");var b,c;var d=b=0;for(c=24;8>d;d+=2,c-=8)b|=parseInt(a.substring(d,d+2),16)<<c;var e=0;d=8;for(c=24;16>d;d+=2,c-=8)e|=parseInt(a.substring(d,d+2),16)<<c;var f=goog.math.Long.fromBits(e,b);b=0;d=16;for(c=24;24>d;d+=2,c-=8)b|=parseInt(a.substring(d,d+2),16)<<c;e=0;for(c=d=24;32>d;d+=2,c-=8)e|=parseInt(a.substring(d,d+2),16)<<c;a=goog.math.Long.fromBits(e,b);return new com.cognitect.transit.types.UUID(f,a)};
com.cognitect.transit.types.uuid=function(a){return com.cognitect.transit.types.UUIDfromString(a)};com.cognitect.transit.types.isUUID=function(a){return a instanceof com.cognitect.transit.types.UUID};com.cognitect.transit.types.date=function(a){a="number"===typeof a?a:parseInt(a,10);return new Date(a)};com.cognitect.transit.types.verboseDate=function(a){return new Date(a)};Date.prototype.com$cognitect$transit$equals=function(a){return a instanceof Date?this.valueOf()===a.valueOf():!1};
Date.prototype.com$cognitect$transit$hashCode=function(){return this.valueOf()};com.cognitect.transit.types.binary=function(a,b){return b&&!1===b.preferBuffers||"undefined"==typeof Buffer?"undefined"!=typeof Uint8Array?com.cognitect.transit.util.Base64ToUint8(a):com.cognitect.transit.types.taggedValue("b",a):new Buffer(a,"base64")};
com.cognitect.transit.types.isBinary=function(a){return"undefined"!=typeof Buffer&&a instanceof Buffer?!0:"undefined"!=typeof Uint8Array&&a instanceof Uint8Array?!0:a instanceof com.cognitect.transit.types.TaggedValue&&"b"===a.tag};com.cognitect.transit.types.uri=function(a){return com.cognitect.transit.types.taggedValue("r",a)};com.cognitect.transit.types.isURI=function(a){return a instanceof com.cognitect.transit.types.TaggedValue&&"r"===a.tag};com.cognitect.transit.types.KEYS=0;
com.cognitect.transit.types.VALUES=1;com.cognitect.transit.types.ENTRIES=2;com.cognitect.transit.types.TransitArrayMapIterator=function(a,b){this.entries=a;this.type=b||com.cognitect.transit.types.KEYS;this.idx=0};
com.cognitect.transit.types.TransitArrayMapIterator.prototype.next=function(){if(this.idx<this.entries.length){var a={value:this.type===com.cognitect.transit.types.KEYS?this.entries[this.idx]:this.type===com.cognitect.transit.types.VALUES?this.entries[this.idx+1]:[this.entries[this.idx],this.entries[this.idx+1]],done:!1};this.idx+=2;return a}return{value:null,done:!0}};com.cognitect.transit.types.TransitArrayMapIterator.prototype.next=com.cognitect.transit.types.TransitArrayMapIterator.prototype.next;
com.cognitect.transit.types.TransitArrayMapIterator.prototype[com.cognitect.transit.types.ITERATOR]=function(){return this};com.cognitect.transit.types.TransitMapIterator=function(a,b){this.map=a;this.type=b||com.cognitect.transit.types.KEYS;this.keys=this.map.getKeys();this.idx=0;this.bucket=null;this.bucketIdx=0};
com.cognitect.transit.types.TransitMapIterator.prototype.next=function(){if(this.idx<this.map.size){null!=this.bucket&&this.bucketIdx<this.bucket.length||(this.bucket=this.map.map[this.keys[this.idx]],this.bucketIdx=0);var a={value:this.type===com.cognitect.transit.types.KEYS?this.bucket[this.bucketIdx]:this.type===com.cognitect.transit.types.VALUES?this.bucket[this.bucketIdx+1]:[this.bucket[this.bucketIdx],this.bucket[this.bucketIdx+1]],done:!1};this.idx++;this.bucketIdx+=2;return a}return{value:null,
done:!0}};com.cognitect.transit.types.TransitMapIterator.prototype.next=com.cognitect.transit.types.TransitMapIterator.prototype.next;com.cognitect.transit.types.TransitMapIterator.prototype[com.cognitect.transit.types.ITERATOR]=function(){return this};
com.cognitect.transit.types.mapEquals=function(a,b){if(a instanceof com.cognitect.transit.types.TransitMap&&com.cognitect.transit.types.isMap(b)){if(a.size!==b.size)return!1;for(var c in a.map)for(var d=a.map[c],e=0;e<d.length;e+=2)if(!com.cognitect.transit.eq.equals(d[e+1],b.get(d[e])))return!1;return!0}if(a instanceof com.cognitect.transit.types.TransitArrayMap&&com.cognitect.transit.types.isMap(b)){if(a.size!==b.size)return!1;a=a._entries;for(e=0;e<a.length;e+=2)if(!com.cognitect.transit.eq.equals(a[e+
1],b.get(a[e])))return!1;return!0}if(null!=b&&"object"===typeof b&&(e=com.cognitect.transit.util.objectKeys(b),c=e.length,a.size===c)){for(d=0;d<c;d++){var f=e[d];if(!a.has(f)||!com.cognitect.transit.eq.equals(b[f],a.get(f)))return!1}return!0}return!1};com.cognitect.transit.types.SMALL_ARRAY_MAP_THRESHOLD=8;com.cognitect.transit.types.ARRAY_MAP_THRESHOLD=32;com.cognitect.transit.types.ARRAY_MAP_ACCESS_THRESHOLD=32;
com.cognitect.transit.types.print=function(a){return null==a?"null":goog.isArray(a)?"["+a.toString()+"]":goog.isString(a)?'"'+a+'"':a.toString()};com.cognitect.transit.types.printMap=function(a){var b=0,c="TransitMap {";a.forEach(function(d,e){c+=com.cognitect.transit.types.print(e)+" \x3d\x3e "+com.cognitect.transit.types.print(d);b<a.size-1&&(c+=", ");b++});return c+"}"};
com.cognitect.transit.types.printSet=function(a){var b=0,c="TransitSet {";a.forEach(function(d){c+=com.cognitect.transit.types.print(d);b<a.size-1&&(c+=", ");b++});return c+"}"};com.cognitect.transit.types.TransitArrayMap=function(a){this._entries=a;this.backingMap=null;this.hashCode=-1;this.size=a.length/2;this.accesses=0};com.cognitect.transit.types.TransitArrayMap.prototype.toString=function(){return com.cognitect.transit.types.printMap(this)};
com.cognitect.transit.types.TransitArrayMap.prototype.inspect=function(){return this.toString()};com.cognitect.transit.types.TransitArrayMap.prototype.convert=function(){if(this.backingMap)throw Error("Invalid operation, already converted");if(this.size<com.cognitect.transit.types.SMALL_ARRAY_MAP_THRESHOLD)return!1;this.accesses++;return this.accesses>com.cognitect.transit.types.ARRAY_MAP_ACCESS_THRESHOLD?(this.backingMap=com.cognitect.transit.types.map(this._entries,!1,!0),this._entries=[],!0):!1};
com.cognitect.transit.types.TransitArrayMap.prototype.clear=function(){this.hashCode=-1;this.backingMap?this.backingMap.clear():this._entries=[];this.size=0};com.cognitect.transit.types.TransitArrayMap.prototype.clear=com.cognitect.transit.types.TransitArrayMap.prototype.clear;com.cognitect.transit.types.TransitArrayMap.prototype.keys=function(){return this.backingMap?this.backingMap.keys():new com.cognitect.transit.types.TransitArrayMapIterator(this._entries,com.cognitect.transit.types.KEYS)};
com.cognitect.transit.types.TransitArrayMap.prototype.keys=com.cognitect.transit.types.TransitArrayMap.prototype.keys;com.cognitect.transit.types.TransitArrayMap.prototype.keySet=function(){if(this.backingMap)return this.backingMap.keySet();for(var a=[],b=0,c=0;c<this._entries.length;b++,c+=2)a[b]=this._entries[c];return a};com.cognitect.transit.types.TransitArrayMap.prototype.keySet=com.cognitect.transit.types.TransitArrayMap.prototype.keySet;
com.cognitect.transit.types.TransitArrayMap.prototype.entries=function(){return this.backingMap?this.backingMap.entries():new com.cognitect.transit.types.TransitArrayMapIterator(this._entries,com.cognitect.transit.types.ENTRIES)};com.cognitect.transit.types.TransitArrayMap.prototype.entries=com.cognitect.transit.types.TransitArrayMap.prototype.entries;
com.cognitect.transit.types.TransitArrayMap.prototype.values=function(){return this.backingMap?this.backingMap.values():new com.cognitect.transit.types.TransitArrayMapIterator(this._entries,com.cognitect.transit.types.VALUES)};com.cognitect.transit.types.TransitArrayMap.prototype.values=com.cognitect.transit.types.TransitArrayMap.prototype.values;
com.cognitect.transit.types.TransitArrayMap.prototype.forEach=function(a){if(this.backingMap)this.backingMap.forEach(a);else for(var b=0;b<this._entries.length;b+=2)a(this._entries[b+1],this._entries[b])};com.cognitect.transit.types.TransitArrayMap.prototype.forEach=com.cognitect.transit.types.TransitArrayMap.prototype.forEach;
com.cognitect.transit.types.TransitArrayMap.prototype.get=function(a,b){if(this.backingMap)return this.backingMap.get(a);if(this.convert())return this.get(a);for(var c=0;c<this._entries.length;c+=2)if(com.cognitect.transit.eq.equals(this._entries[c],a))return this._entries[c+1];return b};com.cognitect.transit.types.TransitArrayMap.prototype.get=com.cognitect.transit.types.TransitArrayMap.prototype.get;
com.cognitect.transit.types.TransitArrayMap.prototype.has=function(a){if(this.backingMap)return this.backingMap.has(a);if(this.convert())return this.has(a);for(var b=0;b<this._entries.length;b+=2)if(com.cognitect.transit.eq.equals(this._entries[b],a))return!0;return!1};com.cognitect.transit.types.TransitArrayMap.prototype.has=com.cognitect.transit.types.TransitArrayMap.prototype.has;
com.cognitect.transit.types.TransitArrayMap.prototype.set=function(a,b){this.hashCode=-1;if(this.backingMap)this.backingMap.set(a,b),this.size=this.backingMap.size;else{for(var c=0;c<this._entries.length;c+=2)if(com.cognitect.transit.eq.equals(this._entries[c],a)){this._entries[c+1]=b;return}this._entries.push(a);this._entries.push(b);this.size++;this.size>com.cognitect.transit.types.ARRAY_MAP_THRESHOLD&&(this.backingMap=com.cognitect.transit.types.map(this._entries,!1,!0),this._entries=null)}};
com.cognitect.transit.types.TransitArrayMap.prototype.set=com.cognitect.transit.types.TransitArrayMap.prototype.set;com.cognitect.transit.types.TransitArrayMap.prototype["delete"]=function(a){this.hashCode=-1;if(this.backingMap)return a=this.backingMap["delete"](a),this.size=this.backingMap.size,a;for(var b=0;b<this._entries.length;b+=2)if(com.cognitect.transit.eq.equals(this._entries[b],a))return a=this._entries[b+1],this._entries.splice(b,2),this.size--,a};
com.cognitect.transit.types.TransitArrayMap.prototype.clone=function(){var a=com.cognitect.transit.types.map();this.forEach(function(b,c){a.set(c,b)});return a};com.cognitect.transit.types.TransitArrayMap.prototype.clone=com.cognitect.transit.types.TransitArrayMap.prototype.clone;com.cognitect.transit.types.TransitArrayMap.prototype[com.cognitect.transit.types.ITERATOR]=function(){return this.entries()};
com.cognitect.transit.types.TransitArrayMap.prototype.com$cognitect$transit$hashCode=function(){if(this.backingMap)return this.backingMap.com$cognitect$transit$hashCode();-1===this.hashCode&&(this.hashCode=com.cognitect.transit.eq.hashMapLike(this));return this.hashCode};com.cognitect.transit.types.TransitArrayMap.prototype.com$cognitect$transit$equals=function(a){return this.backingMap?com.cognitect.transit.types.mapEquals(this.backingMap,a):com.cognitect.transit.types.mapEquals(this,a)};
com.cognitect.transit.types.TransitMap=function(a,b,c){this.map=b||{};this._keys=a||[];this.size=c||0;this.hashCode=-1};com.cognitect.transit.types.TransitMap.prototype.toString=function(){return com.cognitect.transit.types.printMap(this)};com.cognitect.transit.types.TransitMap.prototype.inspect=function(){return this.toString()};com.cognitect.transit.types.TransitMap.prototype.clear=function(){this.hashCode=-1;this.map={};this._keys=[];this.size=0};
com.cognitect.transit.types.TransitMap.prototype.clear=com.cognitect.transit.types.TransitMap.prototype.clear;com.cognitect.transit.types.TransitMap.prototype.getKeys=function(){return null!=this._keys?this._keys:com.cognitect.transit.util.objectKeys(this.map)};
com.cognitect.transit.types.TransitMap.prototype["delete"]=function(a){this.hashCode=-1;this._keys=null;for(var b=com.cognitect.transit.eq.hashCode(a),c=this.map[b],d=0;d<c.length;d+=2)if(com.cognitect.transit.eq.equals(a,c[d]))return a=c[d+1],c.splice(d,2),0===c.length&&delete this.map[b],this.size--,a};com.cognitect.transit.types.TransitMap.prototype.entries=function(){return new com.cognitect.transit.types.TransitMapIterator(this,com.cognitect.transit.types.ENTRIES)};
com.cognitect.transit.types.TransitMap.prototype.entries=com.cognitect.transit.types.TransitMap.prototype.entries;com.cognitect.transit.types.TransitMap.prototype.forEach=function(a){for(var b=this.getKeys(),c=0;c<b.length;c++)for(var d=this.map[b[c]],e=0;e<d.length;e+=2)a(d[e+1],d[e],this)};com.cognitect.transit.types.TransitMap.prototype.forEach=com.cognitect.transit.types.TransitMap.prototype.forEach;
com.cognitect.transit.types.TransitMap.prototype.get=function(a,b){var c=com.cognitect.transit.eq.hashCode(a);c=this.map[c];if(null!=c)for(b=0;b<c.length;b+=2){if(com.cognitect.transit.eq.equals(a,c[b]))return c[b+1]}else return b};com.cognitect.transit.types.TransitMap.prototype.get=com.cognitect.transit.types.TransitMap.prototype.get;
com.cognitect.transit.types.TransitMap.prototype.has=function(a){var b=com.cognitect.transit.eq.hashCode(a);b=this.map[b];if(null!=b)for(var c=0;c<b.length;c+=2)if(com.cognitect.transit.eq.equals(a,b[c]))return!0;return!1};com.cognitect.transit.types.TransitMap.prototype.has=com.cognitect.transit.types.TransitMap.prototype.has;com.cognitect.transit.types.TransitMap.prototype.keys=function(){return new com.cognitect.transit.types.TransitMapIterator(this,com.cognitect.transit.types.KEYS)};
com.cognitect.transit.types.TransitMap.prototype.keys=com.cognitect.transit.types.TransitMap.prototype.keys;com.cognitect.transit.types.TransitMap.prototype.keySet=function(){for(var a=this.getKeys(),b=[],c=0;c<a.length;c++)for(var d=this.map[a[c]],e=0;e<d.length;e+=2)b.push(d[e]);return b};com.cognitect.transit.types.TransitMap.prototype.keySet=com.cognitect.transit.types.TransitMap.prototype.keySet;
com.cognitect.transit.types.TransitMap.prototype.set=function(a,b){this.hashCode=-1;var c=com.cognitect.transit.eq.hashCode(a),d=this.map[c];if(null==d)this._keys&&this._keys.push(c),this.map[c]=[a,b],this.size++;else{c=!0;for(var e=0;e<d.length;e+=2)if(com.cognitect.transit.eq.equals(b,d[e])){c=!1;d[e]=b;break}c&&(d.push(a),d.push(b),this.size++)}};com.cognitect.transit.types.TransitMap.prototype.set=com.cognitect.transit.types.TransitMap.prototype.set;
com.cognitect.transit.types.TransitMap.prototype.values=function(){return new com.cognitect.transit.types.TransitMapIterator(this,com.cognitect.transit.types.VALUES)};com.cognitect.transit.types.TransitMap.prototype.values=com.cognitect.transit.types.TransitMap.prototype.values;com.cognitect.transit.types.TransitMap.prototype.clone=function(){var a=com.cognitect.transit.types.map();this.forEach(function(b,c){a.set(c,b)});return a};com.cognitect.transit.types.TransitMap.prototype.clone=com.cognitect.transit.types.TransitMap.prototype.clone;
com.cognitect.transit.types.TransitMap.prototype[com.cognitect.transit.types.ITERATOR]=function(){return this.entries()};com.cognitect.transit.types.TransitMap.prototype.com$cognitect$transit$hashCode=function(){-1===this.hashCode&&(this.hashCode=com.cognitect.transit.eq.hashMapLike(this));return this.hashCode};com.cognitect.transit.types.TransitMap.prototype.com$cognitect$transit$equals=function(a){return com.cognitect.transit.types.mapEquals(this,a)};
com.cognitect.transit.types.map=function(a,b,c){a=a||[];b=!1===b?b:!0;if((!0!==c||!c)&&a.length<=2*com.cognitect.transit.types.ARRAY_MAP_THRESHOLD){if(b){var d=a;a=[];for(b=0;b<d.length;b+=2){var e=!1;for(c=0;c<a.length;c+=2)if(com.cognitect.transit.eq.equals(a[c],d[b])){a[c+1]=d[b+1];e=!0;break}e||(a.push(d[b]),a.push(d[b+1]))}}return new com.cognitect.transit.types.TransitArrayMap(a)}d={};e=[];var f=0;for(b=0;b<a.length;b+=2){c=com.cognitect.transit.eq.hashCode(a[b]);var g=d[c];if(null==g)e.push(c),
d[c]=[a[b],a[b+1]],f++;else{var h=!0;for(c=0;c<g.length;c+=2)if(com.cognitect.transit.eq.equals(g[c],a[b])){g[c+1]=a[b+1];h=!1;break}h&&(g.push(a[b]),g.push(a[b+1]),f++)}}return new com.cognitect.transit.types.TransitMap(e,d,f)};com.cognitect.transit.types.isArrayMap=function(a){return a instanceof com.cognitect.transit.types.TransitArrayMap};com.cognitect.transit.types.isMap=function(a){return a instanceof com.cognitect.transit.types.TransitArrayMap||a instanceof com.cognitect.transit.types.TransitMap};
com.cognitect.transit.types.TransitSet=function(a){this.map=a;this.size=a.size};com.cognitect.transit.types.TransitSet.prototype.toString=function(){return com.cognitect.transit.types.printSet(this)};com.cognitect.transit.types.TransitSet.prototype.inspect=function(){return this.toString()};com.cognitect.transit.types.TransitSet.prototype.add=function(a){this.map.set(a,a);this.size=this.map.size};com.cognitect.transit.types.TransitSet.prototype.add=com.cognitect.transit.types.TransitSet.prototype.add;
com.cognitect.transit.types.TransitSet.prototype.clear=function(){this.map=new com.cognitect.transit.types.TransitMap;this.size=0};com.cognitect.transit.types.TransitSet.prototype.clear=com.cognitect.transit.types.TransitSet.prototype.clear;com.cognitect.transit.types.TransitSet.prototype["delete"]=function(a){a=this.map["delete"](a);this.size=this.map.size;return a};com.cognitect.transit.types.TransitSet.prototype.entries=function(){return this.map.entries()};
com.cognitect.transit.types.TransitSet.prototype.entries=com.cognitect.transit.types.TransitSet.prototype.entries;com.cognitect.transit.types.TransitSet.prototype.forEach=function(a,b){var c=this;this.map.forEach(function(b,e,f){a(e,c)})};com.cognitect.transit.types.TransitSet.prototype.forEach=com.cognitect.transit.types.TransitSet.prototype.forEach;com.cognitect.transit.types.TransitSet.prototype.has=function(a){return this.map.has(a)};com.cognitect.transit.types.TransitSet.prototype.has=com.cognitect.transit.types.TransitSet.prototype.has;
com.cognitect.transit.types.TransitSet.prototype.keys=function(){return this.map.keys()};com.cognitect.transit.types.TransitSet.prototype.keys=com.cognitect.transit.types.TransitSet.prototype.keys;com.cognitect.transit.types.TransitSet.prototype.keySet=function(){return this.map.keySet()};com.cognitect.transit.types.TransitSet.prototype.keySet=com.cognitect.transit.types.TransitSet.prototype.keySet;com.cognitect.transit.types.TransitSet.prototype.values=function(){return this.map.values()};
com.cognitect.transit.types.TransitSet.prototype.values=com.cognitect.transit.types.TransitSet.prototype.values;com.cognitect.transit.types.TransitSet.prototype.clone=function(){var a=com.cognitect.transit.types.set();this.forEach(function(b){a.add(b)});return a};com.cognitect.transit.types.TransitSet.prototype.clone=com.cognitect.transit.types.TransitSet.prototype.clone;com.cognitect.transit.types.TransitSet.prototype[com.cognitect.transit.types.ITERATOR]=function(){return this.values()};
com.cognitect.transit.types.TransitSet.prototype.com$cognitect$transit$equals=function(a){if(a instanceof com.cognitect.transit.types.TransitSet){if(this.size===a.size)return com.cognitect.transit.eq.equals(this.map,a.map)}else return!1};com.cognitect.transit.types.TransitSet.prototype.com$cognitect$transit$hashCode=function(a){return com.cognitect.transit.eq.hashCode(this.map)};
com.cognitect.transit.types.set=function(a){a=a||[];for(var b={},c=[],d=0,e=0;e<a.length;e++){var f=com.cognitect.transit.eq.hashCode(a[e]),g=b[f];if(null==g)c.push(f),b[f]=[a[e],a[e]],d++;else{f=!0;for(var h=0;h<g.length;h+=2)if(com.cognitect.transit.eq.equals(g[h],a[e])){f=!1;break}f&&(g.push(a[e]),g.push(a[e]),d++)}}return new com.cognitect.transit.types.TransitSet(new com.cognitect.transit.types.TransitMap(c,b,d))};com.cognitect.transit.types.isSet=function(a){return a instanceof com.cognitect.transit.types.TransitSet};
com.cognitect.transit.types.quoted=function(a){return com.cognitect.transit.types.taggedValue("'",a)};com.cognitect.transit.types.isQuoted=function(a){return a instanceof com.cognitect.transit.types.TaggedValue&&"'"===a.tag};com.cognitect.transit.types.list=function(a){return com.cognitect.transit.types.taggedValue("list",a)};com.cognitect.transit.types.isList=function(a){return a instanceof com.cognitect.transit.types.TaggedValue&&"list"===a.tag};
com.cognitect.transit.types.link=function(a){return com.cognitect.transit.types.taggedValue("link",a)};com.cognitect.transit.types.isLink=function(a){return a instanceof com.cognitect.transit.types.TaggedValue&&"link"===a.tag};com.cognitect.transit.types.specialDouble=function(a){switch(a){case "-INF":return-Infinity;case "INF":return Infinity;case "NaN":return NaN;default:throw Error("Invalid special double value "+a);}};com.cognitect.transit.delimiters={};com.cognitect.transit.delimiters.ESC="~";com.cognitect.transit.delimiters.TAG="#";com.cognitect.transit.delimiters.SUB="^";com.cognitect.transit.delimiters.RES="`";com.cognitect.transit.delimiters.ESC_TAG="~#";com.cognitect.transit.caching={};com.cognitect.transit.caching.MIN_SIZE_CACHEABLE=3;com.cognitect.transit.caching.BASE_CHAR_IDX=48;com.cognitect.transit.caching.CACHE_CODE_DIGITS=44;com.cognitect.transit.caching.MAX_CACHE_ENTRIES=com.cognitect.transit.caching.CACHE_CODE_DIGITS*com.cognitect.transit.caching.CACHE_CODE_DIGITS;com.cognitect.transit.caching.MAX_CACHE_SIZE=4096;
com.cognitect.transit.caching.isCacheable=function(a,b){if(a.length>com.cognitect.transit.caching.MIN_SIZE_CACHEABLE){if(b)return!0;b=a.charAt(0);a=a.charAt(1);return b===com.cognitect.transit.delimiters.ESC?":"===a||"$"===a||"#"===a:!1}return!1};
com.cognitect.transit.caching.idxToCode=function(a){var b=Math.floor(a/com.cognitect.transit.caching.CACHE_CODE_DIGITS);a=String.fromCharCode(a%com.cognitect.transit.caching.CACHE_CODE_DIGITS+com.cognitect.transit.caching.BASE_CHAR_IDX);return 0===b?com.cognitect.transit.delimiters.SUB+a:com.cognitect.transit.delimiters.SUB+String.fromCharCode(b+com.cognitect.transit.caching.BASE_CHAR_IDX)+a};com.cognitect.transit.caching.WriteCache=function(){this.cacheSize=this.gen=this.idx=0;this.cache={}};
com.cognitect.transit.caching.WriteCache.prototype.write=function(a,b){return com.cognitect.transit.caching.isCacheable(a,b)?(this.cacheSize===com.cognitect.transit.caching.MAX_CACHE_SIZE?(this.clear(),this.gen=0,this.cache={}):this.idx===com.cognitect.transit.caching.MAX_CACHE_ENTRIES&&this.clear(),b=this.cache[a],null==b?(this.cache[a]=[com.cognitect.transit.caching.idxToCode(this.idx),this.gen],this.idx++,a):b[1]!=this.gen?(b[1]=this.gen,b[0]=com.cognitect.transit.caching.idxToCode(this.idx),this.idx++,
a):b[0]):a};com.cognitect.transit.caching.WriteCache.prototype.clear=function(){this.idx=0;this.gen++};com.cognitect.transit.caching.writeCache=function(){return new com.cognitect.transit.caching.WriteCache};com.cognitect.transit.caching.isCacheCode=function(a){return a.charAt(0)===com.cognitect.transit.delimiters.SUB&&" "!==a.charAt(1)};
com.cognitect.transit.caching.codeToIdx=function(a){if(2===a.length)return a.charCodeAt(1)-com.cognitect.transit.caching.BASE_CHAR_IDX;var b=(a.charCodeAt(1)-com.cognitect.transit.caching.BASE_CHAR_IDX)*com.cognitect.transit.caching.CACHE_CODE_DIGITS;a=a.charCodeAt(2)-com.cognitect.transit.caching.BASE_CHAR_IDX;return b+a};com.cognitect.transit.caching.ReadCache=function(){this.idx=0;this.cache=[]};
com.cognitect.transit.caching.ReadCache.prototype.write=function(a,b){this.idx==com.cognitect.transit.caching.MAX_CACHE_ENTRIES&&(this.idx=0);this.cache[this.idx]=a;this.idx++;return a};com.cognitect.transit.caching.ReadCache.prototype.read=function(a,b){return this.cache[com.cognitect.transit.caching.codeToIdx(a)]};com.cognitect.transit.caching.ReadCache.prototype.clear=function(){this.idx=0};com.cognitect.transit.caching.readCache=function(){return new com.cognitect.transit.caching.ReadCache};com.cognitect.transit.impl={};com.cognitect.transit.impl.decoder={};com.cognitect.transit.impl.decoder.Tag=function(a){this.str=a};com.cognitect.transit.impl.decoder.tag=function(a){return new com.cognitect.transit.impl.decoder.Tag(a)};com.cognitect.transit.impl.decoder.isTag=function(a){return a&&a instanceof com.cognitect.transit.impl.decoder.Tag};com.cognitect.transit.impl.decoder.isGroundHandler=function(a){switch(a){case "_":case "s":case "?":case "i":case "d":case "b":case "'":case "array":case "map":return!0}return!1};
com.cognitect.transit.impl.decoder.Decoder=function(a){this.options=a||{};this.handlers={};for(var b in this.defaults.handlers)this.handlers[b]=this.defaults.handlers[b];for(b in this.options.handlers){if(com.cognitect.transit.impl.decoder.isGroundHandler(b))throw Error('Cannot override handler for ground type "'+b+'"');this.handlers[b]=this.options.handlers[b]}this.preferStrings=null!=this.options.preferStrings?this.options.preferStrings:this.defaults.preferStrings;this.preferBuffers=null!=this.options.preferBuffers?
this.options.preferBuffers:this.defaults.preferBuffers;this.defaultHandler=this.options.defaultHandler||this.defaults.defaultHandler;this.mapBuilder=this.options.mapBuilder;this.arrayBuilder=this.options.arrayBuilder};
com.cognitect.transit.impl.decoder.Decoder.prototype.defaults={handlers:{_:function(a,b){return com.cognitect.transit.types.nullValue()},"?":function(a,b){return com.cognitect.transit.types.boolValue(a)},b:function(a,b){return com.cognitect.transit.types.binary(a,b)},i:function(a,b){return com.cognitect.transit.types.intValue(a)},n:function(a,b){return com.cognitect.transit.types.bigInteger(a)},d:function(a,b){return com.cognitect.transit.types.floatValue(a)},f:function(a,b){return com.cognitect.transit.types.bigDecimalValue(a)},
c:function(a,b){return com.cognitect.transit.types.charValue(a)},":":function(a,b){return com.cognitect.transit.types.keyword(a)},$:function(a,b){return com.cognitect.transit.types.symbol(a)},r:function(a,b){return com.cognitect.transit.types.uri(a)},z:function(a,b){return com.cognitect.transit.types.specialDouble(a)},"'":function(a,b){return a},m:function(a,b){return com.cognitect.transit.types.date(a)},t:function(a,b){return com.cognitect.transit.types.verboseDate(a)},u:function(a,b){return com.cognitect.transit.types.uuid(a)},
set:function(a,b){return com.cognitect.transit.types.set(a)},list:function(a,b){return com.cognitect.transit.types.list(a)},link:function(a,b){return com.cognitect.transit.types.link(a)},cmap:function(a,b){return com.cognitect.transit.types.map(a,!1)}},defaultHandler:function(a,b){return com.cognitect.transit.types.taggedValue(a,b)},preferStrings:!0,preferBuffers:!0};
com.cognitect.transit.impl.decoder.Decoder.prototype.decode=function(a,b,c,d){if(null==a)return null;switch(typeof a){case "string":return this.decodeString(a,b,c,d);case "object":return com.cognitect.transit.util.isArray(a)?"^ "===a[0]?this.decodeArrayHash(a,b,c,d):this.decodeArray(a,b,c,d):this.decodeHash(a,b,c,d)}return a};com.cognitect.transit.impl.decoder.Decoder.prototype.decode=com.cognitect.transit.impl.decoder.Decoder.prototype.decode;
com.cognitect.transit.impl.decoder.Decoder.prototype.decodeString=function(a,b,c,d){return com.cognitect.transit.caching.isCacheable(a,c)?(a=this.parseString(a,b,!1),b&&b.write(a,c),a):com.cognitect.transit.caching.isCacheCode(a)?b.read(a,c):this.parseString(a,b,c)};
com.cognitect.transit.impl.decoder.Decoder.prototype.decodeHash=function(a,b,c,d){c=com.cognitect.transit.util.objectKeys(a);var e=c[0];d=1==c.length?this.decode(e,b,!1,!1):null;if(com.cognitect.transit.impl.decoder.isTag(d))return a=a[e],c=this.handlers[d.str],null!=c?c(this.decode(a,b,!1,!0),this):com.cognitect.transit.types.taggedValue(d.str,this.decode(a,b,!1,!1));if(this.mapBuilder){if(c.length<2*com.cognitect.transit.types.SMALL_ARRAY_MAP_THRESHOLD&&this.mapBuilder.fromArray){var f=[];for(d=
0;d<c.length;d++)e=c[d],f.push(this.decode(e,b,!0,!1)),f.push(this.decode(a[e],b,!1,!1));return this.mapBuilder.fromArray(f,a)}f=this.mapBuilder.init(a);for(d=0;d<c.length;d++)e=c[d],f=this.mapBuilder.add(f,this.decode(e,b,!0,!1),this.decode(a[e],b,!1,!1),a);return this.mapBuilder.finalize(f,a)}f=[];for(d=0;d<c.length;d++)e=c[d],f.push(this.decode(e,b,!0,!1)),f.push(this.decode(a[e],b,!1,!1));return com.cognitect.transit.types.map(f,!1)};
com.cognitect.transit.impl.decoder.Decoder.prototype.decodeArrayHash=function(a,b,c,d){if(this.mapBuilder){if(a.length<2*com.cognitect.transit.types.SMALL_ARRAY_MAP_THRESHOLD+1&&this.mapBuilder.fromArray){d=[];for(c=1;c<a.length;c+=2)d.push(this.decode(a[c],b,!0,!1)),d.push(this.decode(a[c+1],b,!1,!1));return this.mapBuilder.fromArray(d,a)}d=this.mapBuilder.init(a);for(c=1;c<a.length;c+=2)d=this.mapBuilder.add(d,this.decode(a[c],b,!0,!1),this.decode(a[c+1],b,!1,!1),a);return this.mapBuilder.finalize(d,
a)}d=[];for(c=1;c<a.length;c+=2)d.push(this.decode(a[c],b,!0,!1)),d.push(this.decode(a[c+1],b,!1,!1));return com.cognitect.transit.types.map(d,!1)};
com.cognitect.transit.impl.decoder.Decoder.prototype.decodeArray=function(a,b,c,d){if(d){var e=[];for(d=0;d<a.length;d++)e.push(this.decode(a[d],b,c,!1));return e}e=b&&b.idx;if(2===a.length&&"string"===typeof a[0]&&(d=this.decode(a[0],b,!1,!1),com.cognitect.transit.impl.decoder.isTag(d)))return a=a[1],e=this.handlers[d.str],null!=e?e=e(this.decode(a,b,c,!0),this):com.cognitect.transit.types.taggedValue(d.str,this.decode(a,b,c,!1));b&&e!=b.idx&&(b.idx=e);if(this.arrayBuilder){if(32>=a.length&&this.arrayBuilder.fromArray){e=
[];for(d=0;d<a.length;d++)e.push(this.decode(a[d],b,c,!1));return this.arrayBuilder.fromArray(e,a)}e=this.arrayBuilder.init(a);for(d=0;d<a.length;d++)e=this.arrayBuilder.add(e,this.decode(a[d],b,c,!1),a);return this.arrayBuilder.finalize(e,a)}e=[];for(d=0;d<a.length;d++)e.push(this.decode(a[d],b,c,!1));return e};
com.cognitect.transit.impl.decoder.Decoder.prototype.parseString=function(a,b,c){if(a.charAt(0)===com.cognitect.transit.delimiters.ESC){b=a.charAt(1);if(b===com.cognitect.transit.delimiters.ESC||b===com.cognitect.transit.delimiters.SUB||b===com.cognitect.transit.delimiters.RES)return a.substring(1);if(b===com.cognitect.transit.delimiters.TAG)return com.cognitect.transit.impl.decoder.tag(a.substring(2));c=this.handlers[b];return null==c?this.defaultHandler(b,a.substring(2)):c(a.substring(2),this)}return a};
com.cognitect.transit.impl.decoder.decoder=function(a){return new com.cognitect.transit.impl.decoder.Decoder(a)};com.cognitect.transit.impl.reader={};com.cognitect.transit.impl.reader.JSONUnmarshaller=function(a){this.decoder=new com.cognitect.transit.impl.decoder.Decoder(a)};com.cognitect.transit.impl.reader.JSONUnmarshaller.prototype.unmarshal=function(a,b){return this.decoder.decode(JSON.parse(a),b)};com.cognitect.transit.impl.reader.Reader=function(a,b){this.unmarshaller=a;this.options=b||{};this.cache=this.options.cache?this.options.cache:new com.cognitect.transit.caching.ReadCache};
com.cognitect.transit.impl.reader.Reader.prototype.read=function(a){a=this.unmarshaller.unmarshal(a,this.cache);this.cache.clear();return a};com.cognitect.transit.impl.reader.Reader.prototype.read=com.cognitect.transit.impl.reader.Reader.prototype.read;com.cognitect.transit.handlers={};com.cognitect.transit.handlers.ctorGuid=0;com.cognitect.transit.handlers.ctorGuidProperty="transit$guid$"+com.cognitect.transit.util.randomUUID();
com.cognitect.transit.handlers.typeTag=function(a){if(null==a)return"null";if(a===String)return"string";if(a===Boolean)return"boolean";if(a===Number)return"number";if(a===Array)return"array";if(a===Object)return"map";var b=a[com.cognitect.transit.handlers.ctorGuidProperty];null==b&&("undefined"!=typeof Object.defineProperty?(b=++com.cognitect.transit.handlers.ctorGuid,Object.defineProperty(a,com.cognitect.transit.handlers.ctorGuidProperty,{value:b,enumerable:!1})):a[com.cognitect.transit.handlers.ctorGuidProperty]=
b=++com.cognitect.transit.handlers.ctorGuid);return b};com.cognitect.transit.handlers.constructor=function(a){return null==a?null:a.constructor};com.cognitect.transit.handlers.padZeros=function(a,b){a=a.toString();for(var c=a.length;c<b;c++)a="0"+a;return a};com.cognitect.transit.handlers.stringableKeys=function(a){a=com.cognitect.transit.util.objectKeys(a);for(var b=0;b<a.length;b++);return!0};com.cognitect.transit.handlers.NilHandler=function(){};
com.cognitect.transit.handlers.NilHandler.prototype.tag=function(a){return"_"};com.cognitect.transit.handlers.NilHandler.prototype.rep=function(a){return null};com.cognitect.transit.handlers.NilHandler.prototype.stringRep=function(a){return"null"};com.cognitect.transit.handlers.StringHandler=function(){};com.cognitect.transit.handlers.StringHandler.prototype.tag=function(a){return"s"};com.cognitect.transit.handlers.StringHandler.prototype.rep=function(a){return a};
com.cognitect.transit.handlers.StringHandler.prototype.stringRep=function(a){return a};com.cognitect.transit.handlers.NumberHandler=function(){};com.cognitect.transit.handlers.NumberHandler.prototype.tag=function(a){return"i"};com.cognitect.transit.handlers.NumberHandler.prototype.rep=function(a){return a};com.cognitect.transit.handlers.NumberHandler.prototype.stringRep=function(a){return a.toString()};com.cognitect.transit.handlers.IntegerHandler=function(){};
com.cognitect.transit.handlers.IntegerHandler.prototype.tag=function(a){return"i"};com.cognitect.transit.handlers.IntegerHandler.prototype.rep=function(a){return a.toString()};com.cognitect.transit.handlers.IntegerHandler.prototype.stringRep=function(a){return a.toString()};com.cognitect.transit.handlers.BooleanHandler=function(){};com.cognitect.transit.handlers.BooleanHandler.prototype.tag=function(a){return"?"};com.cognitect.transit.handlers.BooleanHandler.prototype.rep=function(a){return a};
com.cognitect.transit.handlers.BooleanHandler.prototype.stringRep=function(a){return a.toString()};com.cognitect.transit.handlers.ArrayHandler=function(){};com.cognitect.transit.handlers.ArrayHandler.prototype.tag=function(a){return"array"};com.cognitect.transit.handlers.ArrayHandler.prototype.rep=function(a){return a};com.cognitect.transit.handlers.ArrayHandler.prototype.stringRep=function(a){return null};com.cognitect.transit.handlers.MapHandler=function(){};
com.cognitect.transit.handlers.MapHandler.prototype.tag=function(a){return"map"};com.cognitect.transit.handlers.MapHandler.prototype.rep=function(a){return a};com.cognitect.transit.handlers.MapHandler.prototype.stringRep=function(a){return null};com.cognitect.transit.handlers.VerboseDateHandler=function(){};com.cognitect.transit.handlers.VerboseDateHandler.prototype.tag=function(a){return"t"};
com.cognitect.transit.handlers.VerboseDateHandler.prototype.rep=function(a){return a.getUTCFullYear()+"-"+com.cognitect.transit.handlers.padZeros(a.getUTCMonth()+1,2)+"-"+com.cognitect.transit.handlers.padZeros(a.getUTCDate(),2)+"T"+com.cognitect.transit.handlers.padZeros(a.getUTCHours(),2)+":"+com.cognitect.transit.handlers.padZeros(a.getUTCMinutes(),2)+":"+com.cognitect.transit.handlers.padZeros(a.getUTCSeconds(),2)+"."+com.cognitect.transit.handlers.padZeros(a.getUTCMilliseconds(),3)+"Z"};
com.cognitect.transit.handlers.VerboseDateHandler.prototype.stringRep=function(a,b){return b.rep(a)};com.cognitect.transit.handlers.DateHandler=function(){};com.cognitect.transit.handlers.DateHandler.prototype.tag=function(a){return"m"};com.cognitect.transit.handlers.DateHandler.prototype.rep=function(a){return a.valueOf()};com.cognitect.transit.handlers.DateHandler.prototype.stringRep=function(a){return a.valueOf().toString()};
com.cognitect.transit.handlers.DateHandler.prototype.getVerboseHandler=function(a){return new com.cognitect.transit.handlers.VerboseDateHandler};com.cognitect.transit.handlers.UUIDHandler=function(){};com.cognitect.transit.handlers.UUIDHandler.prototype.tag=function(a){return"u"};com.cognitect.transit.handlers.UUIDHandler.prototype.rep=function(a){return a.toString()};com.cognitect.transit.handlers.UUIDHandler.prototype.stringRep=function(a){return a.toString()};
com.cognitect.transit.handlers.KeywordHandler=function(){};com.cognitect.transit.handlers.KeywordHandler.prototype.tag=function(a){return":"};com.cognitect.transit.handlers.KeywordHandler.prototype.rep=function(a){return a._name};com.cognitect.transit.handlers.KeywordHandler.prototype.stringRep=function(a,b){return b.rep(a)};com.cognitect.transit.handlers.SymbolHandler=function(){};com.cognitect.transit.handlers.SymbolHandler.prototype.tag=function(a){return"$"};
com.cognitect.transit.handlers.SymbolHandler.prototype.rep=function(a){return a._name};com.cognitect.transit.handlers.SymbolHandler.prototype.stringRep=function(a,b){return b.rep(a)};com.cognitect.transit.handlers.TaggedHandler=function(){};com.cognitect.transit.handlers.TaggedHandler.prototype.tag=function(a){return a.tag};com.cognitect.transit.handlers.TaggedHandler.prototype.rep=function(a){return a.rep};com.cognitect.transit.handlers.TaggedHandler.prototype.stringRep=function(a,b){return null};
com.cognitect.transit.handlers.TransitSetHandler=function(){};com.cognitect.transit.handlers.TransitSetHandler.prototype.tag=function(a){return"set"};com.cognitect.transit.handlers.TransitSetHandler.prototype.rep=function(a){var b=[];a.forEach(function(a,d){b.push(a)});return com.cognitect.transit.types.taggedValue("array",b)};com.cognitect.transit.handlers.TransitSetHandler.prototype.stringRep=function(a,b){return null};com.cognitect.transit.handlers.TransitArrayMapHandler=function(){};
com.cognitect.transit.handlers.TransitArrayMapHandler.prototype.tag=function(a){return"map"};com.cognitect.transit.handlers.TransitArrayMapHandler.prototype.rep=function(a){return a};com.cognitect.transit.handlers.TransitArrayMapHandler.prototype.stringRep=function(a,b){return null};com.cognitect.transit.handlers.TransitMapHandler=function(){};com.cognitect.transit.handlers.TransitMapHandler.prototype.tag=function(a){return"map"};com.cognitect.transit.handlers.TransitMapHandler.prototype.rep=function(a){return a};
com.cognitect.transit.handlers.TransitMapHandler.prototype.stringRep=function(a,b){return null};com.cognitect.transit.handlers.BufferHandler=function(){};com.cognitect.transit.handlers.BufferHandler.prototype.tag=function(a){return"b"};com.cognitect.transit.handlers.BufferHandler.prototype.rep=function(a){return a.toString("base64")};com.cognitect.transit.handlers.BufferHandler.prototype.stringRep=function(a,b){return null};com.cognitect.transit.handlers.Uint8ArrayHandler=function(){};
com.cognitect.transit.handlers.Uint8ArrayHandler.prototype.tag=function(a){return"b"};com.cognitect.transit.handlers.Uint8ArrayHandler.prototype.rep=function(a){return com.cognitect.transit.util.Uint8ToBase64(a)};com.cognitect.transit.handlers.Uint8ArrayHandler.prototype.stringRep=function(a,b){return null};
com.cognitect.transit.handlers.defaultHandlers=function(a){a.set(null,new com.cognitect.transit.handlers.NilHandler);a.set(String,new com.cognitect.transit.handlers.StringHandler);a.set(Number,new com.cognitect.transit.handlers.NumberHandler);a.set(goog.math.Long,new com.cognitect.transit.handlers.IntegerHandler);a.set(Boolean,new com.cognitect.transit.handlers.BooleanHandler);a.set(Array,new com.cognitect.transit.handlers.ArrayHandler);a.set(Object,new com.cognitect.transit.handlers.MapHandler);
a.set(Date,new com.cognitect.transit.handlers.DateHandler);a.set(com.cognitect.transit.types.UUID,new com.cognitect.transit.handlers.UUIDHandler);a.set(com.cognitect.transit.types.Keyword,new com.cognitect.transit.handlers.KeywordHandler);a.set(com.cognitect.transit.types.Symbol,new com.cognitect.transit.handlers.SymbolHandler);a.set(com.cognitect.transit.types.TaggedValue,new com.cognitect.transit.handlers.TaggedHandler);a.set(com.cognitect.transit.types.TransitSet,new com.cognitect.transit.handlers.TransitSetHandler);
a.set(com.cognitect.transit.types.TransitArrayMap,new com.cognitect.transit.handlers.TransitArrayMapHandler);a.set(com.cognitect.transit.types.TransitMap,new com.cognitect.transit.handlers.TransitMapHandler);"undefined"!=typeof Buffer&&a.set(Buffer,new com.cognitect.transit.handlers.BufferHandler);"undefined"!=typeof Uint8Array&&a.set(Uint8Array,new com.cognitect.transit.handlers.Uint8ArrayHandler);return a};com.cognitect.transit.handlers.Handlers=function(){this.handlers={};com.cognitect.transit.handlers.defaultHandlers(this)};
com.cognitect.transit.handlers.Handlers.prototype.get=function(a){a="string"===typeof a?this.handlers[a]:this.handlers[com.cognitect.transit.handlers.typeTag(a)];return null!=a?a:this.handlers["default"]};com.cognitect.transit.handlers.Handlers.prototype.get=com.cognitect.transit.handlers.Handlers.prototype.get;com.cognitect.transit.handlers.validTag=function(a){switch(a){case "null":case "string":case "boolean":case "number":case "array":case "map":return!1}return!0};
com.cognitect.transit.handlers.Handlers.prototype.set=function(a,b){"string"===typeof a&&com.cognitect.transit.handlers.validTag(a)?this.handlers[a]=b:this.handlers[com.cognitect.transit.handlers.typeTag(a)]=b};com.cognitect.transit.impl.writer={};com.cognitect.transit.impl.writer.escape=function(a){if(0<a.length){var b=a.charAt(0);return b===com.cognitect.transit.delimiters.ESC||b===com.cognitect.transit.delimiters.SUB||b===com.cognitect.transit.delimiters.RES?com.cognitect.transit.delimiters.ESC+a:a}return a};
com.cognitect.transit.impl.writer.JSONMarshaller=function(a){this.opts=a||{};this.preferStrings=null!=this.opts.preferStrings?this.opts.preferStrings:!0;this.objectBuilder=this.opts.objectBuilder||null;this.handlers=new com.cognitect.transit.handlers.Handlers;if(a=this.opts.handlers){if(com.cognitect.transit.util.isArray(a)||!a.forEach)throw Error('transit writer "handlers" option must be a map');var b=this;a.forEach(function(a,d){if(void 0!==d)b.handlers.set(d,a);else throw Error("Cannot create handler for JavaScript undefined");
})}this.handlerForForeign=this.opts.handlerForForeign;this.unpack=this.opts.unpack||function(a){return com.cognitect.transit.types.isArrayMap(a)&&null===a.backingMap?a._entries:!1};this.verbose=this.opts&&this.opts.verbose||!1};com.cognitect.transit.impl.writer.JSONMarshaller.prototype.handler=function(a){var b=this.handlers.get(com.cognitect.transit.handlers.constructor(a));return null!=b?b:(a=a&&a.transitTag)?this.handlers.get(a):null};
com.cognitect.transit.impl.writer.JSONMarshaller.prototype.registerHandler=function(a,b){this.handlers.set(a,b)};com.cognitect.transit.impl.writer.JSONMarshaller.prototype.emitNil=function(a,b){return a?this.emitString(com.cognitect.transit.delimiters.ESC,"_","",a,b):null};com.cognitect.transit.impl.writer.JSONMarshaller.prototype.emitString=function(a,b,c,d,e){a=a+b+c;return e?e.write(a,d):a};
com.cognitect.transit.impl.writer.JSONMarshaller.prototype.emitBoolean=function(a,b,c){return b?this.emitString(com.cognitect.transit.delimiters.ESC,"?",a.toString()[0],b,c):a};
com.cognitect.transit.impl.writer.JSONMarshaller.prototype.emitInteger=function(a,b,c){return Infinity===a?this.emitString(com.cognitect.transit.delimiters.ESC,"z","INF",b,c):-Infinity===a?this.emitString(com.cognitect.transit.delimiters.ESC,"z","-INF",b,c):isNaN(a)?this.emitString(com.cognitect.transit.delimiters.ESC,"z","NaN",b,c):b||"string"===typeof a||a instanceof goog.math.Long?this.emitString(com.cognitect.transit.delimiters.ESC,"i",a.toString(),b,c):a};
com.cognitect.transit.impl.writer.JSONMarshaller.prototype.emitDouble=function(a,b,c){return b?this.emitString(a.ESC,"d",a,b,c):a};com.cognitect.transit.impl.writer.JSONMarshaller.prototype.emitBinary=function(a,b,c){return this.emitString(com.cognitect.transit.delimiters.ESC,"b",a,b,c)};
com.cognitect.transit.impl.writer.JSONMarshaller.prototype.emitQuoted=function(a,b,c){if(a.verbose){a={};var d=this.emitString(com.cognitect.transit.delimiters.ESC_TAG,"'","",!0,c);a[d]=com.cognitect.transit.impl.writer.marshal(this,b,!1,c);return a}return[this.emitString(com.cognitect.transit.delimiters.ESC_TAG,"'","",!0,c),com.cognitect.transit.impl.writer.marshal(this,b,!1,c)]};
com.cognitect.transit.impl.writer.emitObjects=function(a,b,c){var d=[];if(com.cognitect.transit.util.isArray(b))for(var e=0;e<b.length;e++)d.push(com.cognitect.transit.impl.writer.marshal(a,b[e],!1,c));else b.forEach(function(b,e){d.push(com.cognitect.transit.impl.writer.marshal(a,b,!1,c))});return d};com.cognitect.transit.impl.writer.emitArray=function(a,b,c,d){return com.cognitect.transit.impl.writer.emitObjects(a,b,d)};
com.cognitect.transit.impl.writer.isStringableKey=function(a,b){return"string"!==typeof b?(a=a.handler(b))&&1===a.tag(b).length:!0};
com.cognitect.transit.impl.writer.stringableKeys=function(a,b){var c=a.unpack(b),d=!0;if(c){for(b=0;b<c.length&&(d=com.cognitect.transit.impl.writer.isStringableKey(a,c[b]),d);b+=2);return d}if(b.keys){c=b.keys();var e=null;if(c.next){for(e=c.next();!e.done;){d=com.cognitect.transit.impl.writer.isStringableKey(a,e.value);if(!d)break;e=c.next()}return d}}if(b.forEach)return b.forEach(function(b,c){d=d&&com.cognitect.transit.impl.writer.isStringableKey(a,c)}),d;throw Error("Cannot walk keys of object type "+
com.cognitect.transit.handlers.constructor(b).name);};com.cognitect.transit.impl.writer.isForeignObject=function(a){if(a.constructor.transit$isObject)return!0;var b=a.constructor.toString();b=b.substr(9);b=b.substr(0,b.indexOf("("));isObject="Object"==b;"undefined"!=typeof Object.defineProperty?Object.defineProperty(a.constructor,"transit$isObject",{value:isObject,enumerable:!1}):a.constructor.transit$isObject=isObject;return isObject};
com.cognitect.transit.impl.writer.emitMap=function(a,b,c,d){var e=null,f=null,g=null;e=null;c=0;if(b.constructor===Object||null!=b.forEach||a.handlerForForeign&&com.cognitect.transit.impl.writer.isForeignObject(b)){if(a.verbose){if(null!=b.forEach)if(com.cognitect.transit.impl.writer.stringableKeys(a,b)){var h={};b.forEach(function(b,c){h[com.cognitect.transit.impl.writer.marshal(a,c,!0,!1)]=com.cognitect.transit.impl.writer.marshal(a,b,!1,d)})}else{e=a.unpack(b);f=[];g=a.emitString(com.cognitect.transit.delimiters.ESC_TAG,
"cmap","",!0,d);if(e)for(;c<e.length;c+=2)f.push(com.cognitect.transit.impl.writer.marshal(a,e[c],!1,!1)),f.push(com.cognitect.transit.impl.writer.marshal(a,e[c+1],!1,d));else b.forEach(function(b,c){f.push(com.cognitect.transit.impl.writer.marshal(a,c,!1,!1));f.push(com.cognitect.transit.impl.writer.marshal(a,b,!1,d))});h={};h[g]=f}else for(e=com.cognitect.transit.util.objectKeys(b),h={};c<e.length;c++)h[com.cognitect.transit.impl.writer.marshal(a,e[c],!0,!1)]=com.cognitect.transit.impl.writer.marshal(a,
b[e[c]],!1,d);return h}if(null!=b.forEach){if(com.cognitect.transit.impl.writer.stringableKeys(a,b)){e=a.unpack(b);h=["^ "];if(e)for(;c<e.length;c+=2)h.push(com.cognitect.transit.impl.writer.marshal(a,e[c],!0,d)),h.push(com.cognitect.transit.impl.writer.marshal(a,e[c+1],!1,d));else b.forEach(function(b,c){h.push(com.cognitect.transit.impl.writer.marshal(a,c,!0,d));h.push(com.cognitect.transit.impl.writer.marshal(a,b,!1,d))});return h}e=a.unpack(b);f=[];g=a.emitString(com.cognitect.transit.delimiters.ESC_TAG,
"cmap","",!0,d);if(e)for(;c<e.length;c+=2)f.push(com.cognitect.transit.impl.writer.marshal(a,e[c],!1,d)),f.push(com.cognitect.transit.impl.writer.marshal(a,e[c+1],!1,d));else b.forEach(function(b,c){f.push(com.cognitect.transit.impl.writer.marshal(a,c,!1,d));f.push(com.cognitect.transit.impl.writer.marshal(a,b,!1,d))});return[g,f]}h=["^ "];for(e=com.cognitect.transit.util.objectKeys(b);c<e.length;c++)h.push(com.cognitect.transit.impl.writer.marshal(a,e[c],!0,d)),h.push(com.cognitect.transit.impl.writer.marshal(a,
b[e[c]],!1,d));return h}if(null!=a.objectBuilder)return a.objectBuilder(b,function(b){return com.cognitect.transit.impl.writer.marshal(a,b,!0,d)},function(b){return com.cognitect.transit.impl.writer.marshal(a,b,!1,d)});c=com.cognitect.transit.handlers.constructor(b).name;e=Error("Cannot write "+c);e.data={obj:b,type:c};throw e;};
com.cognitect.transit.impl.writer.emitTaggedMap=function(a,b,c,d,e){return a.verbose?(d={},d[a.emitString(com.cognitect.transit.delimiters.ESC_TAG,b,"",!0,e)]=com.cognitect.transit.impl.writer.marshal(a,c,!1,e),d):[a.emitString(com.cognitect.transit.delimiters.ESC_TAG,b,"",!0,e),com.cognitect.transit.impl.writer.marshal(a,c,!1,e)]};
com.cognitect.transit.impl.writer.emitEncoded=function(a,b,c,d,e,f,g){if(1===c.length){if("string"===typeof d)return a.emitString(com.cognitect.transit.delimiters.ESC,c,d,f,g);if(f||a.preferStrings){(d=a.verbose&&b.getVerboseHandler())?(c=d.tag(e),d=d.stringRep(e,d)):d=b.stringRep(e,b);if(null!==d)return a.emitString(com.cognitect.transit.delimiters.ESC,c,d,f,g);a=Error('Tag "'+c+'" cannot be encoded as string');a.data={tag:c,rep:d,obj:e};throw a;}}return com.cognitect.transit.impl.writer.emitTaggedMap(a,
c,d,f,g)};
com.cognitect.transit.impl.writer.marshal=function(a,b,c,d){var e=a.handler(b)||(a.handlerForForeign?a.handlerForForeign(b,a.handlers):null),f=e?e.tag(b):null,g=e?e.rep(b):null;if(null!=e&&null!=f)switch(f){case "_":return a.emitNil(c,d);case "s":return a.emitString("","",com.cognitect.transit.impl.writer.escape(g),c,d);case "?":return a.emitBoolean(g,c,d);case "i":return a.emitInteger(g,c,d);case "d":return a.emitDouble(g,c,d);case "b":return a.emitBinary(g,c,d);case "'":return a.emitQuoted(a,g,
d);case "array":return com.cognitect.transit.impl.writer.emitArray(a,g,c,d);case "map":return com.cognitect.transit.impl.writer.emitMap(a,g,c,d);default:return com.cognitect.transit.impl.writer.emitEncoded(a,e,f,g,b,c,d)}else throw a=com.cognitect.transit.handlers.constructor(b).name,c=Error("Cannot write "+a),c.data={obj:b,type:a},c;};
com.cognitect.transit.impl.writer.maybeQuoted=function(a,b){a=a.handler(b)||(a.handlerForForeign?a.handlerForForeign(b,a.handlers):null);if(null!=a)return 1===a.tag(b).length?com.cognitect.transit.types.quoted(b):b;a=com.cognitect.transit.handlers.constructor(b).name;var c=Error("Cannot write "+a);c.data={obj:b,type:a};throw c;};
com.cognitect.transit.impl.writer.marshalTop=function(a,b,c,d){return JSON.stringify(com.cognitect.transit.impl.writer.marshal(a,com.cognitect.transit.impl.writer.maybeQuoted(a,b),c,d))};com.cognitect.transit.impl.writer.Writer=function(a,b){this._marshaller=a;this.options=b||{};this.cache=!1===this.options.cache?null:this.options.cache?this.options.cache:new com.cognitect.transit.caching.WriteCache};com.cognitect.transit.impl.writer.Writer.prototype.marshaller=function(){return this._marshaller};
com.cognitect.transit.impl.writer.Writer.prototype.marshaller=com.cognitect.transit.impl.writer.Writer.prototype.marshaller;com.cognitect.transit.impl.writer.Writer.prototype.write=function(a,b){b=b||{};var c=b.asMapKey||!1,d=this._marshaller.verbose?!1:this.cache;a=!1===b.marshalTop?com.cognitect.transit.impl.writer.marshal(this._marshaller,a,c,d):com.cognitect.transit.impl.writer.marshalTop(this._marshaller,a,c,d);null!=this.cache&&this.cache.clear();return a};
com.cognitect.transit.impl.writer.Writer.prototype.write=com.cognitect.transit.impl.writer.Writer.prototype.write;com.cognitect.transit.impl.writer.Writer.prototype.register=function(a,b){this._marshaller.registerHandler(a,b)};com.cognitect.transit.impl.writer.Writer.prototype.register=com.cognitect.transit.impl.writer.Writer.prototype.register;var TRANSIT_DEV=!0,TRANSIT_NODE_TARGET=!1,TRANSIT_BROWSER_TARGET=!1,TRANSIT_BROWSER_AMD_TARGET=!1;com.cognitect.transit.reader=function(a,b){if("json"===a||"json-verbose"===a||null==a)return a=new com.cognitect.transit.impl.reader.JSONUnmarshaller(b),new com.cognitect.transit.impl.reader.Reader(a,b);throw Error("Cannot create reader of type "+a);};
com.cognitect.transit.writer=function(a,b){if("json"===a||"json-verbose"===a||null==a)return"json-verbose"===a&&(null==b&&(b={}),b.verbose=!0),a=new com.cognitect.transit.impl.writer.JSONMarshaller(b),new com.cognitect.transit.impl.writer.Writer(a,b);b=Error('Type must be "json"');b.data={type:a};throw b;};
com.cognitect.transit.makeWriteHandler=function(a){var b=function(){};b.prototype.tag=a.tag;b.prototype.rep=a.rep;b.prototype.stringRep=a.stringRep;b.prototype.getVerboseHandler=a.getVerboseHandler;return new b};com.cognitect.transit.makeBuilder=function(a){var b=function(){};b.prototype.init=a.init;b.prototype.add=a.add;b.prototype.finalize=a.finalize;b.prototype.fromArray=a.fromArray;return new b};com.cognitect.transit.date=com.cognitect.transit.types.date;com.cognitect.transit.integer=com.cognitect.transit.types.intValue;
com.cognitect.transit.isInteger=com.cognitect.transit.types.isInteger;com.cognitect.transit.uuid=com.cognitect.transit.types.uuid;com.cognitect.transit.isUUID=com.cognitect.transit.types.isUUID;com.cognitect.transit.bigInt=com.cognitect.transit.types.bigInteger;com.cognitect.transit.isBigInt=com.cognitect.transit.types.isBigInteger;com.cognitect.transit.bigDec=com.cognitect.transit.types.bigDecimalValue;com.cognitect.transit.isBigDec=com.cognitect.transit.types.isBigDecimal;
com.cognitect.transit.keyword=com.cognitect.transit.types.keyword;com.cognitect.transit.isKeyword=com.cognitect.transit.types.isKeyword;com.cognitect.transit.symbol=com.cognitect.transit.types.symbol;com.cognitect.transit.isSymbol=com.cognitect.transit.types.isSymbol;com.cognitect.transit.binary=com.cognitect.transit.types.binary;com.cognitect.transit.isBinary=com.cognitect.transit.types.isBinary;com.cognitect.transit.uri=com.cognitect.transit.types.uri;com.cognitect.transit.isURI=com.cognitect.transit.types.isURI;
com.cognitect.transit.map=com.cognitect.transit.types.map;com.cognitect.transit.isMap=com.cognitect.transit.types.isMap;com.cognitect.transit.set=com.cognitect.transit.types.set;com.cognitect.transit.isSet=com.cognitect.transit.types.isSet;com.cognitect.transit.list=com.cognitect.transit.types.list;com.cognitect.transit.isList=com.cognitect.transit.types.isList;com.cognitect.transit.quoted=com.cognitect.transit.types.quoted;com.cognitect.transit.isQuoted=com.cognitect.transit.types.isQuoted;
com.cognitect.transit.tagged=com.cognitect.transit.types.taggedValue;com.cognitect.transit.isTaggedValue=com.cognitect.transit.types.isTaggedValue;com.cognitect.transit.link=com.cognitect.transit.types.link;com.cognitect.transit.isLink=com.cognitect.transit.types.isLink;com.cognitect.transit.hash=com.cognitect.transit.eq.hashCode;com.cognitect.transit.hashMapLike=com.cognitect.transit.eq.hashMapLike;com.cognitect.transit.hashArrayLike=com.cognitect.transit.eq.hashArrayLike;
com.cognitect.transit.equals=com.cognitect.transit.eq.equals;com.cognitect.transit.extendToEQ=com.cognitect.transit.eq.extendToEQ;com.cognitect.transit.mapToObject=function(a){var b={};a.forEach(function(a,d){if("string"!==typeof d)throw Error("Cannot convert map with non-string keys");b[d]=a});return b};com.cognitect.transit.objectToMap=function(a){var b=com.cognitect.transit.map(),c;for(c in a)a.hasOwnProperty(c)&&b.set(c,a[c]);return b};com.cognitect.transit.decoder=com.cognitect.transit.impl.decoder.decoder;
com.cognitect.transit.readCache=com.cognitect.transit.caching.readCache;com.cognitect.transit.writeCache=com.cognitect.transit.caching.writeCache;com.cognitect.transit.UUIDfromString=com.cognitect.transit.types.UUIDfromString;com.cognitect.transit.randomUUID=com.cognitect.transit.util.randomUUID;com.cognitect.transit.stringableKeys=com.cognitect.transit.impl.writer.stringableKeys;
TRANSIT_BROWSER_TARGET&&(goog.exportSymbol("transit.reader",com.cognitect.transit.reader),goog.exportSymbol("transit.writer",com.cognitect.transit.writer),goog.exportSymbol("transit.makeBuilder",com.cognitect.transit.makeBuilder),goog.exportSymbol("transit.makeWriteHandler",com.cognitect.transit.makeWriteHandler),goog.exportSymbol("transit.date",com.cognitect.transit.types.date),goog.exportSymbol("transit.integer",com.cognitect.transit.types.intValue),goog.exportSymbol("transit.isInteger",com.cognitect.transit.types.isInteger),
goog.exportSymbol("transit.uuid",com.cognitect.transit.types.uuid),goog.exportSymbol("transit.isUUID",com.cognitect.transit.types.isUUID),goog.exportSymbol("transit.bigInt",com.cognitect.transit.types.bigInteger),goog.exportSymbol("transit.isBigInt",com.cognitect.transit.types.isBigInteger),goog.exportSymbol("transit.bigDec",com.cognitect.transit.types.bigDecimalValue),goog.exportSymbol("transit.isBigDec",com.cognitect.transit.types.isBigDecimal),goog.exportSymbol("transit.keyword",com.cognitect.transit.types.keyword),
goog.exportSymbol("transit.isKeyword",com.cognitect.transit.types.isKeyword),goog.exportSymbol("transit.symbol",com.cognitect.transit.types.symbol),goog.exportSymbol("transit.isSymbol",com.cognitect.transit.types.isSymbol),goog.exportSymbol("transit.binary",com.cognitect.transit.types.binary),goog.exportSymbol("transit.isBinary",com.cognitect.transit.types.isBinary),goog.exportSymbol("transit.uri",com.cognitect.transit.types.uri),goog.exportSymbol("transit.isURI",com.cognitect.transit.types.isURI),
goog.exportSymbol("transit.map",com.cognitect.transit.types.map),goog.exportSymbol("transit.isMap",com.cognitect.transit.types.isMap),goog.exportSymbol("transit.set",com.cognitect.transit.types.set),goog.exportSymbol("transit.isSet",com.cognitect.transit.types.isSet),goog.exportSymbol("transit.list",com.cognitect.transit.types.list),goog.exportSymbol("transit.isList",com.cognitect.transit.types.isList),goog.exportSymbol("transit.quoted",com.cognitect.transit.types.quoted),goog.exportSymbol("transit.isQuoted",
com.cognitect.transit.types.isQuoted),goog.exportSymbol("transit.tagged",com.cognitect.transit.types.taggedValue),goog.exportSymbol("transit.isTaggedValue",com.cognitect.transit.types.isTaggedValue),goog.exportSymbol("transit.link",com.cognitect.transit.types.link),goog.exportSymbol("transit.isLink",com.cognitect.transit.types.isLink),goog.exportSymbol("transit.hash",com.cognitect.transit.eq.hashCode),goog.exportSymbol("transit.hashMapLike",com.cognitect.transit.eq.hashMapLike),goog.exportSymbol("transit.hashArrayLike",
com.cognitect.transit.eq.hashArrayLike),goog.exportSymbol("transit.equals",com.cognitect.transit.eq.equals),goog.exportSymbol("transit.extendToEQ",com.cognitect.transit.eq.extendToEQ),goog.exportSymbol("transit.mapToObject",com.cognitect.transit.mapToObject),goog.exportSymbol("transit.objectToMap",com.cognitect.transit.objectToMap),goog.exportSymbol("transit.decoder",com.cognitect.transit.impl.decoder.decoder),goog.exportSymbol("transit.UUIDfromString",com.cognitect.transit.types.UUIDfromString),
goog.exportSymbol("transit.randomUUID",com.cognitect.transit.util.randomUUID),goog.exportSymbol("transit.stringableKeys",com.cognitect.transit.impl.writer.stringableKeys),goog.exportSymbol("transit.readCache",com.cognitect.transit.caching.readCache),goog.exportSymbol("transit.writeCache",com.cognitect.transit.caching.writeCache));
TRANSIT_NODE_TARGET&&(module.exports={reader:com.cognitect.transit.reader,writer:com.cognitect.transit.writer,makeBuilder:com.cognitect.transit.makeBuilder,makeWriteHandler:com.cognitect.transit.makeWriteHandler,date:com.cognitect.transit.types.date,integer:com.cognitect.transit.types.intValue,isInteger:com.cognitect.transit.types.isInteger,uuid:com.cognitect.transit.types.uuid,isUUID:com.cognitect.transit.types.isUUID,bigInt:com.cognitect.transit.types.bigInteger,isBigInt:com.cognitect.transit.types.isBigInteger,
bigDec:com.cognitect.transit.types.bigDecimalValue,isBigDec:com.cognitect.transit.types.isBigDecimal,keyword:com.cognitect.transit.types.keyword,isKeyword:com.cognitect.transit.types.isKeyword,symbol:com.cognitect.transit.types.symbol,isSymbol:com.cognitect.transit.types.isSymbol,binary:com.cognitect.transit.types.binary,isBinary:com.cognitect.transit.types.isBinary,uri:com.cognitect.transit.types.uri,isURI:com.cognitect.transit.types.isURI,map:com.cognitect.transit.types.map,isMap:com.cognitect.transit.types.isMap,
set:com.cognitect.transit.types.set,isSet:com.cognitect.transit.types.isSet,list:com.cognitect.transit.types.list,isList:com.cognitect.transit.types.isList,quoted:com.cognitect.transit.types.quoted,isQuoted:com.cognitect.transit.types.isQuoted,tagged:com.cognitect.transit.types.taggedValue,isTaggedValue:com.cognitect.transit.types.isTaggedValue,link:com.cognitect.transit.types.link,isLink:com.cognitect.transit.types.isLink,hash:com.cognitect.transit.eq.hashCode,hashArrayLike:com.cognitect.transit.eq.hashArrayLike,
hashMapLike:com.cognitect.transit.eq.hashMapLike,equals:com.cognitect.transit.eq.equals,extendToEQ:com.cognitect.transit.eq.extendToEQ,mapToObject:com.cognitect.transit.mapToObject,objectToMap:com.cognitect.transit.objectToMap,decoder:com.cognitect.transit.impl.decoder.decoder,UUIDfromString:com.cognitect.transit.types.UUIDfromString,randomUUID:com.cognitect.transit.util.randomUUID,stringableKeys:com.cognitect.transit.impl.writer.stringableKeys,readCache:com.cognitect.transit.caching.readCache,writeCache:com.cognitect.transit.caching.writeCache});var cognitect={transit:{}};cljs.core.UUID.prototype.cljs$core$IEquiv$=cljs.core.PROTOCOL_SENTINEL;cljs.core.UUID.prototype.cljs$core$IEquiv$_equiv$arity$2=function(a,b){return b instanceof cljs.core.UUID?this.uuid===b.uuid:b instanceof com.cognitect.transit.types.UUID?this.uuid===b.toString():!1};cljs.core.UUID.prototype.cljs$core$IComparable$=cljs.core.PROTOCOL_SENTINEL;
cljs.core.UUID.prototype.cljs$core$IComparable$_compare$arity$2=function(a,b){if(b instanceof cljs.core.UUID||b instanceof com.cognitect.transit.types.UUID)return cljs.core.compare.call(null,this.toString(),b.toString());throw Error(["Cannot compare ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(this)," to ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(b)].join(""));};com.cognitect.transit.types.UUID.prototype.cljs$core$IComparable$=cljs.core.PROTOCOL_SENTINEL;
com.cognitect.transit.types.UUID.prototype.cljs$core$IComparable$_compare$arity$2=function(a,b){if(b instanceof cljs.core.UUID||b instanceof com.cognitect.transit.types.UUID)return cljs.core.compare.call(null,this.toString(),b.toString());throw Error(["Cannot compare ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(this)," to ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(b)].join(""));};goog.math.Long.prototype.cljs$core$IEquiv$=cljs.core.PROTOCOL_SENTINEL;
goog.math.Long.prototype.cljs$core$IEquiv$_equiv$arity$2=function(a,b){return this.equiv(b)};com.cognitect.transit.types.UUID.prototype.cljs$core$IEquiv$=cljs.core.PROTOCOL_SENTINEL;com.cognitect.transit.types.UUID.prototype.cljs$core$IEquiv$_equiv$arity$2=function(a,b){return b instanceof cljs.core.UUID?cljs.core._equiv.call(null,b,this):this.equiv(b)};com.cognitect.transit.types.TaggedValue.prototype.cljs$core$IEquiv$=cljs.core.PROTOCOL_SENTINEL;
com.cognitect.transit.types.TaggedValue.prototype.cljs$core$IEquiv$_equiv$arity$2=function(a,b){return this.equiv(b)};goog.math.Long.prototype.cljs$core$IHash$=cljs.core.PROTOCOL_SENTINEL;goog.math.Long.prototype.cljs$core$IHash$_hash$arity$1=function(a){return com.cognitect.transit.eq.hashCode(this)};com.cognitect.transit.types.UUID.prototype.cljs$core$IHash$=cljs.core.PROTOCOL_SENTINEL;
com.cognitect.transit.types.UUID.prototype.cljs$core$IHash$_hash$arity$1=function(a){return cljs.core.hash.call(null,this.toString())};com.cognitect.transit.types.TaggedValue.prototype.cljs$core$IHash$=cljs.core.PROTOCOL_SENTINEL;com.cognitect.transit.types.TaggedValue.prototype.cljs$core$IHash$_hash$arity$1=function(a){return com.cognitect.transit.eq.hashCode(this)};com.cognitect.transit.types.UUID.prototype.cljs$core$IPrintWithWriter$=cljs.core.PROTOCOL_SENTINEL;
com.cognitect.transit.types.UUID.prototype.cljs$core$IPrintWithWriter$_pr_writer$arity$3=function(a,b,c){return cljs.core._write.call(null,b,['#uuid "',cljs.core.str.cljs$core$IFn$_invoke$arity$1(this.toString()),'"'].join(""))};
cognitect.transit.opts_merge=function(a,b){for(var c=cljs.core.seq.call(null,cljs.core.js_keys.call(null,b)),d=null,e=0,f=0;;)if(f<e){var g=cljs.core._nth.call(null,d,f);a[g]=b[g];f+=1}else if(c=cljs.core.seq.call(null,c))d=c,cljs.core.chunked_seq_QMARK_.call(null,d)?(c=cljs.core.chunk_first.call(null,d),f=cljs.core.chunk_rest.call(null,d),d=c,e=cljs.core.count.call(null,c),c=f):(c=cljs.core.first.call(null,d),a[c]=b[c],c=cljs.core.next.call(null,d),d=null,e=0),f=0;else break;return a};
cognitect.transit.MapBuilder=function(){};cognitect.transit.MapBuilder.prototype.init=function(a){return cljs.core.transient$.call(null,cljs.core.PersistentArrayMap.EMPTY)};cognitect.transit.MapBuilder.prototype.add=function(a,b,c,d){return cljs.core.assoc_BANG_.call(null,a,b,c)};cognitect.transit.MapBuilder.prototype.finalize=function(a,b){return cljs.core.persistent_BANG_.call(null,a)};
cognitect.transit.MapBuilder.prototype.fromArray=function(a,b){return cljs.core.PersistentArrayMap.fromArray.call(null,a,!0,!0)};cognitect.transit.MapBuilder.getBasis=function(){return cljs.core.PersistentVector.EMPTY};cognitect.transit.MapBuilder.cljs$lang$type=!0;cognitect.transit.MapBuilder.cljs$lang$ctorStr="cognitect.transit/MapBuilder";cognitect.transit.MapBuilder.cljs$lang$ctorPrWriter=function(a,b,c){return cljs.core._write.call(null,b,"cognitect.transit/MapBuilder")};
cognitect.transit.__GT_MapBuilder=function(){return new cognitect.transit.MapBuilder};cognitect.transit.VectorBuilder=function(){};cognitect.transit.VectorBuilder.prototype.init=function(a){return cljs.core.transient$.call(null,cljs.core.PersistentVector.EMPTY)};cognitect.transit.VectorBuilder.prototype.add=function(a,b,c){return cljs.core.conj_BANG_.call(null,a,b)};cognitect.transit.VectorBuilder.prototype.finalize=function(a,b){return cljs.core.persistent_BANG_.call(null,a)};
cognitect.transit.VectorBuilder.prototype.fromArray=function(a,b){return cljs.core.PersistentVector.fromArray.call(null,a,!0)};cognitect.transit.VectorBuilder.getBasis=function(){return cljs.core.PersistentVector.EMPTY};cognitect.transit.VectorBuilder.cljs$lang$type=!0;cognitect.transit.VectorBuilder.cljs$lang$ctorStr="cognitect.transit/VectorBuilder";cognitect.transit.VectorBuilder.cljs$lang$ctorPrWriter=function(a,b,c){return cljs.core._write.call(null,b,"cognitect.transit/VectorBuilder")};
cognitect.transit.__GT_VectorBuilder=function(){return new cognitect.transit.VectorBuilder};cognitect.transit.reader=function(a){switch(arguments.length){case 1:return cognitect.transit.reader.cljs$core$IFn$_invoke$arity$1(arguments[0]);case 2:return cognitect.transit.reader.cljs$core$IFn$_invoke$arity$2(arguments[0],arguments[1]);default:throw Error(["Invalid arity: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(""));}};
cognitect.transit.reader.cljs$core$IFn$_invoke$arity$1=function(a){return cognitect.transit.reader.call(null,a,null)};
cognitect.transit.reader.cljs$core$IFn$_invoke$arity$2=function(a,b){return com.cognitect.transit.reader(cljs.core.name.call(null,a),cognitect.transit.opts_merge.call(null,{handlers:cljs.core.clj__GT_js.call(null,cljs.core.merge.call(null,new cljs.core.PersistentArrayMap(null,6,["$",function(a){return cljs.core.symbol.call(null,a)},":",function(a){return cljs.core.keyword.call(null,a)},"set",function(a){return cljs.core.into.call(null,cljs.core.PersistentHashSet.EMPTY,a)},"list",function(a){return cljs.core.into.call(null,
cljs.core.List.EMPTY,a.reverse())},"cmap",function(a){for(var b=0,c=cljs.core.transient$.call(null,cljs.core.PersistentArrayMap.EMPTY);;)if(b<a.length){var f=b+2;c=cljs.core.assoc_BANG_.call(null,c,a[b],a[b+1]);b=f}else return cljs.core.persistent_BANG_.call(null,c)},"with-meta",function(a){return cljs.core.with_meta.call(null,a[0],a[1])}],null),(new cljs.core.Keyword(null,"handlers","handlers",79528781)).cljs$core$IFn$_invoke$arity$1(b))),mapBuilder:new cognitect.transit.MapBuilder,arrayBuilder:new cognitect.transit.VectorBuilder,
prefersStrings:!1},cljs.core.clj__GT_js.call(null,cljs.core.dissoc.call(null,b,new cljs.core.Keyword(null,"handlers","handlers",79528781)))))};cognitect.transit.reader.cljs$lang$maxFixedArity=2;cognitect.transit.read=function(a,b){return a.read(b)};cognitect.transit.KeywordHandler=function(){};cognitect.transit.KeywordHandler.prototype.tag=function(a){return":"};cognitect.transit.KeywordHandler.prototype.rep=function(a){return a.fqn};cognitect.transit.KeywordHandler.prototype.stringRep=function(a){return a.fqn};
cognitect.transit.KeywordHandler.getBasis=function(){return cljs.core.PersistentVector.EMPTY};cognitect.transit.KeywordHandler.cljs$lang$type=!0;cognitect.transit.KeywordHandler.cljs$lang$ctorStr="cognitect.transit/KeywordHandler";cognitect.transit.KeywordHandler.cljs$lang$ctorPrWriter=function(a,b,c){return cljs.core._write.call(null,b,"cognitect.transit/KeywordHandler")};cognitect.transit.__GT_KeywordHandler=function(){return new cognitect.transit.KeywordHandler};
cognitect.transit.SymbolHandler=function(){};cognitect.transit.SymbolHandler.prototype.tag=function(a){return"$"};cognitect.transit.SymbolHandler.prototype.rep=function(a){return a.str};cognitect.transit.SymbolHandler.prototype.stringRep=function(a){return a.str};cognitect.transit.SymbolHandler.getBasis=function(){return cljs.core.PersistentVector.EMPTY};cognitect.transit.SymbolHandler.cljs$lang$type=!0;cognitect.transit.SymbolHandler.cljs$lang$ctorStr="cognitect.transit/SymbolHandler";
cognitect.transit.SymbolHandler.cljs$lang$ctorPrWriter=function(a,b,c){return cljs.core._write.call(null,b,"cognitect.transit/SymbolHandler")};cognitect.transit.__GT_SymbolHandler=function(){return new cognitect.transit.SymbolHandler};cognitect.transit.ListHandler=function(){};cognitect.transit.ListHandler.prototype.tag=function(a){return"list"};
cognitect.transit.ListHandler.prototype.rep=function(a){var b=[];a=cljs.core.seq.call(null,a);for(var c=null,d=0,e=0;;)if(e<d){var f=cljs.core._nth.call(null,c,e);b.push(f);e+=1}else if(a=cljs.core.seq.call(null,a))c=a,cljs.core.chunked_seq_QMARK_.call(null,c)?(a=cljs.core.chunk_first.call(null,c),e=cljs.core.chunk_rest.call(null,c),c=a,d=cljs.core.count.call(null,a),a=e):(a=cljs.core.first.call(null,c),b.push(a),a=cljs.core.next.call(null,c),c=null,d=0),e=0;else break;return com.cognitect.transit.tagged("array",
b)};cognitect.transit.ListHandler.prototype.stringRep=function(a){return null};cognitect.transit.ListHandler.getBasis=function(){return cljs.core.PersistentVector.EMPTY};cognitect.transit.ListHandler.cljs$lang$type=!0;cognitect.transit.ListHandler.cljs$lang$ctorStr="cognitect.transit/ListHandler";cognitect.transit.ListHandler.cljs$lang$ctorPrWriter=function(a,b,c){return cljs.core._write.call(null,b,"cognitect.transit/ListHandler")};cognitect.transit.__GT_ListHandler=function(){return new cognitect.transit.ListHandler};
cognitect.transit.MapHandler=function(){};cognitect.transit.MapHandler.prototype.tag=function(a){return"map"};cognitect.transit.MapHandler.prototype.rep=function(a){return a};cognitect.transit.MapHandler.prototype.stringRep=function(a){return null};cognitect.transit.MapHandler.getBasis=function(){return cljs.core.PersistentVector.EMPTY};cognitect.transit.MapHandler.cljs$lang$type=!0;cognitect.transit.MapHandler.cljs$lang$ctorStr="cognitect.transit/MapHandler";
cognitect.transit.MapHandler.cljs$lang$ctorPrWriter=function(a,b,c){return cljs.core._write.call(null,b,"cognitect.transit/MapHandler")};cognitect.transit.__GT_MapHandler=function(){return new cognitect.transit.MapHandler};cognitect.transit.SetHandler=function(){};cognitect.transit.SetHandler.prototype.tag=function(a){return"set"};
cognitect.transit.SetHandler.prototype.rep=function(a){var b=[];a=cljs.core.seq.call(null,a);for(var c=null,d=0,e=0;;)if(e<d){var f=cljs.core._nth.call(null,c,e);b.push(f);e+=1}else if(a=cljs.core.seq.call(null,a))c=a,cljs.core.chunked_seq_QMARK_.call(null,c)?(a=cljs.core.chunk_first.call(null,c),e=cljs.core.chunk_rest.call(null,c),c=a,d=cljs.core.count.call(null,a),a=e):(a=cljs.core.first.call(null,c),b.push(a),a=cljs.core.next.call(null,c),c=null,d=0),e=0;else break;return com.cognitect.transit.tagged("array",
b)};cognitect.transit.SetHandler.prototype.stringRep=function(){return null};cognitect.transit.SetHandler.getBasis=function(){return cljs.core.PersistentVector.EMPTY};cognitect.transit.SetHandler.cljs$lang$type=!0;cognitect.transit.SetHandler.cljs$lang$ctorStr="cognitect.transit/SetHandler";cognitect.transit.SetHandler.cljs$lang$ctorPrWriter=function(a,b,c){return cljs.core._write.call(null,b,"cognitect.transit/SetHandler")};cognitect.transit.__GT_SetHandler=function(){return new cognitect.transit.SetHandler};
cognitect.transit.VectorHandler=function(){};cognitect.transit.VectorHandler.prototype.tag=function(a){return"array"};
cognitect.transit.VectorHandler.prototype.rep=function(a){var b=[];a=cljs.core.seq.call(null,a);for(var c=null,d=0,e=0;;)if(e<d){var f=cljs.core._nth.call(null,c,e);b.push(f);e+=1}else if(a=cljs.core.seq.call(null,a))c=a,cljs.core.chunked_seq_QMARK_.call(null,c)?(a=cljs.core.chunk_first.call(null,c),e=cljs.core.chunk_rest.call(null,c),c=a,d=cljs.core.count.call(null,a),a=e):(a=cljs.core.first.call(null,c),b.push(a),a=cljs.core.next.call(null,c),c=null,d=0),e=0;else break;return b};
cognitect.transit.VectorHandler.prototype.stringRep=function(a){return null};cognitect.transit.VectorHandler.getBasis=function(){return cljs.core.PersistentVector.EMPTY};cognitect.transit.VectorHandler.cljs$lang$type=!0;cognitect.transit.VectorHandler.cljs$lang$ctorStr="cognitect.transit/VectorHandler";cognitect.transit.VectorHandler.cljs$lang$ctorPrWriter=function(a,b,c){return cljs.core._write.call(null,b,"cognitect.transit/VectorHandler")};cognitect.transit.__GT_VectorHandler=function(){return new cognitect.transit.VectorHandler};
cognitect.transit.UUIDHandler=function(){};cognitect.transit.UUIDHandler.prototype.tag=function(a){return"u"};cognitect.transit.UUIDHandler.prototype.rep=function(a){return a.uuid};cognitect.transit.UUIDHandler.prototype.stringRep=function(a){return this.rep(a)};cognitect.transit.UUIDHandler.getBasis=function(){return cljs.core.PersistentVector.EMPTY};cognitect.transit.UUIDHandler.cljs$lang$type=!0;cognitect.transit.UUIDHandler.cljs$lang$ctorStr="cognitect.transit/UUIDHandler";
cognitect.transit.UUIDHandler.cljs$lang$ctorPrWriter=function(a,b,c){return cljs.core._write.call(null,b,"cognitect.transit/UUIDHandler")};cognitect.transit.__GT_UUIDHandler=function(){return new cognitect.transit.UUIDHandler};cognitect.transit.WithMeta=function(a,b){this.value=a;this.meta=b};
cognitect.transit.WithMeta.getBasis=function(){return new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"value","value",1946509744,null),new cljs.core.Symbol(null,"meta","meta",-1154898805,null)],null)};cognitect.transit.WithMeta.cljs$lang$type=!0;cognitect.transit.WithMeta.cljs$lang$ctorStr="cognitect.transit/WithMeta";cognitect.transit.WithMeta.cljs$lang$ctorPrWriter=function(a,b,c){return cljs.core._write.call(null,b,"cognitect.transit/WithMeta")};
cognitect.transit.__GT_WithMeta=function(a,b){return new cognitect.transit.WithMeta(a,b)};cognitect.transit.WithMetaHandler=function(){};cognitect.transit.WithMetaHandler.prototype.tag=function(a){return"with-meta"};cognitect.transit.WithMetaHandler.prototype.rep=function(a){return com.cognitect.transit.tagged("array",[a.value,a.meta])};cognitect.transit.WithMetaHandler.prototype.stringRep=function(a){return null};cognitect.transit.WithMetaHandler.getBasis=function(){return cljs.core.PersistentVector.EMPTY};
cognitect.transit.WithMetaHandler.cljs$lang$type=!0;cognitect.transit.WithMetaHandler.cljs$lang$ctorStr="cognitect.transit/WithMetaHandler";cognitect.transit.WithMetaHandler.cljs$lang$ctorPrWriter=function(a,b,c){return cljs.core._write.call(null,b,"cognitect.transit/WithMetaHandler")};cognitect.transit.__GT_WithMetaHandler=function(){return new cognitect.transit.WithMetaHandler};
cognitect.transit.writer=function(a){switch(arguments.length){case 1:return cognitect.transit.writer.cljs$core$IFn$_invoke$arity$1(arguments[0]);case 2:return cognitect.transit.writer.cljs$core$IFn$_invoke$arity$2(arguments[0],arguments[1]);default:throw Error(["Invalid arity: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(""));}};cognitect.transit.writer.cljs$core$IFn$_invoke$arity$1=function(a){return cognitect.transit.writer.call(null,a,null)};
cognitect.transit.writer.cljs$core$IFn$_invoke$arity$2=function(a,b){var c=new cognitect.transit.KeywordHandler,d=new cognitect.transit.SymbolHandler,e=new cognitect.transit.ListHandler,f=new cognitect.transit.MapHandler,g=new cognitect.transit.SetHandler,h=new cognitect.transit.VectorHandler,k=new cognitect.transit.UUIDHandler,l=new cognitect.transit.WithMetaHandler,m=cljs.core.merge.call(null,cljs.core.PersistentHashMap.fromArrays([cljs.core.PersistentHashMap,cljs.core.Cons,cljs.core.PersistentArrayMap,
cljs.core.NodeSeq,cljs.core.PersistentQueue,cljs.core.IndexedSeq,cljs.core.Keyword,cljs.core.EmptyList,cljs.core.LazySeq,cljs.core.Subvec,cljs.core.PersistentQueueSeq,cljs.core.ArrayNodeSeq,cljs.core.ValSeq,cognitect.transit.WithMeta,cljs.core.PersistentArrayMapSeq,cljs.core.PersistentVector,cljs.core.List,cljs.core.RSeq,cljs.core.PersistentHashSet,cljs.core.PersistentTreeMap,cljs.core.KeySeq,cljs.core.ChunkedSeq,cljs.core.PersistentTreeSet,cljs.core.ChunkedCons,cljs.core.Symbol,cljs.core.UUID,cljs.core.Range,
cljs.core.PersistentTreeMapSeq],[f,e,f,e,e,e,c,e,e,h,e,e,e,l,e,h,e,e,g,f,e,e,g,e,d,k,e,e]),"undefined"!==typeof cljs&&"undefined"!==typeof cljs.core&&"undefined"!==typeof cljs.core.Eduction?cljs.core.PersistentArrayMap.createAsIfByAssoc([cljs.core.Eduction,e]):null,"undefined"!==typeof cljs&&"undefined"!==typeof cljs.core&&"undefined"!==typeof cljs.core.Repeat?cljs.core.PersistentArrayMap.createAsIfByAssoc([cljs.core.Repeat,e]):null,"undefined"!==typeof cljs&&"undefined"!==typeof cljs.core&&"undefined"!==
typeof cljs.core.MapEntry?cljs.core.PersistentArrayMap.createAsIfByAssoc([cljs.core.MapEntry,h]):null,(new cljs.core.Keyword(null,"handlers","handlers",79528781)).cljs$core$IFn$_invoke$arity$1(b));return com.cognitect.transit.writer(cljs.core.name.call(null,a),cognitect.transit.opts_merge.call(null,{objectBuilder:function(a,b,c,d,e,f,g,h,k){return function(l,m,n){return cljs.core.reduce_kv.call(null,function(a,b,c,d,e,f,g,h,k){return function(a,b,c){a.push(m.call(null,b),n.call(null,c));return a}}(a,
b,c,d,e,f,g,h,k),["^ "],l)}}(c,d,e,f,g,h,k,l,m),handlers:function(){var a=cljs.core.clone.call(null,m);a.forEach=function(a,b,c,d,e,f,g,h,k,l){return function(a){for(var b=cljs.core.seq.call(null,this),c=null,d=0,e=0;;)if(e<d){var f=cljs.core._nth.call(null,c,e),g=cljs.core.nth.call(null,f,0,null);f=cljs.core.nth.call(null,f,1,null);a.call(null,f,g);e+=1}else if(b=cljs.core.seq.call(null,b))cljs.core.chunked_seq_QMARK_.call(null,b)?(c=cljs.core.chunk_first.call(null,b),b=cljs.core.chunk_rest.call(null,
b),g=c,d=cljs.core.count.call(null,c),c=g):(c=cljs.core.first.call(null,b),g=cljs.core.nth.call(null,c,0,null),f=cljs.core.nth.call(null,c,1,null),a.call(null,f,g),b=cljs.core.next.call(null,b),c=null,d=0),e=0;else return null}}(a,c,d,e,f,g,h,k,l,m);return a}(),unpack:function(a,b,c,d,e,f,g,h,k){return function(a){return a instanceof cljs.core.PersistentArrayMap?a.arr:!1}}(c,d,e,f,g,h,k,l,m)},cljs.core.clj__GT_js.call(null,cljs.core.dissoc.call(null,b,new cljs.core.Keyword(null,"handlers","handlers",
79528781)))))};cognitect.transit.writer.cljs$lang$maxFixedArity=2;cognitect.transit.write=function(a,b){return a.write(b)};cognitect.transit.read_handler=function(a){return a};
cognitect.transit.write_handler=function(a){switch(arguments.length){case 2:return cognitect.transit.write_handler.cljs$core$IFn$_invoke$arity$2(arguments[0],arguments[1]);case 3:return cognitect.transit.write_handler.cljs$core$IFn$_invoke$arity$3(arguments[0],arguments[1],arguments[2]);case 4:return cognitect.transit.write_handler.cljs$core$IFn$_invoke$arity$4(arguments[0],arguments[1],arguments[2],arguments[3]);default:throw Error(["Invalid arity: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(""));
}};cognitect.transit.write_handler.cljs$core$IFn$_invoke$arity$2=function(a,b){return cognitect.transit.write_handler.call(null,a,b,null,null)};cognitect.transit.write_handler.cljs$core$IFn$_invoke$arity$3=function(a,b,c){return cognitect.transit.write_handler.call(null,a,b,c,null)};
cognitect.transit.write_handler.cljs$core$IFn$_invoke$arity$4=function(a,b,c,d){if("undefined"===typeof cognitect||"undefined"===typeof cognitect.transit||"undefined"===typeof cognitect.transit.t_cognitect$transit35842)cognitect.transit.t_cognitect$transit35842=function(a,b,c,d,k){this.tag_fn=a;this.rep_fn=b;this.str_rep_fn=c;this.verbose_handler_fn=d;this.meta35843=k;this.cljs$lang$protocol_mask$partition0$=393216;this.cljs$lang$protocol_mask$partition1$=0},cognitect.transit.t_cognitect$transit35842.prototype.cljs$core$IWithMeta$_with_meta$arity$2=
function(a,b){return new cognitect.transit.t_cognitect$transit35842(this.tag_fn,this.rep_fn,this.str_rep_fn,this.verbose_handler_fn,b)},cognitect.transit.t_cognitect$transit35842.prototype.cljs$core$IMeta$_meta$arity$1=function(a){return this.meta35843},cognitect.transit.t_cognitect$transit35842.prototype.tag=function(a){return this.tag_fn.call(null,a)},cognitect.transit.t_cognitect$transit35842.prototype.rep=function(a){return this.rep_fn.call(null,a)},cognitect.transit.t_cognitect$transit35842.prototype.stringRep=
function(a){return cljs.core.truth_(this.str_rep_fn)?this.str_rep_fn.call(null,a):null},cognitect.transit.t_cognitect$transit35842.prototype.getVerboseHandler=function(){return cljs.core.truth_(this.verbose_handler_fn)?this.verbose_handler_fn.call(null):null},cognitect.transit.t_cognitect$transit35842.getBasis=function(){return new cljs.core.PersistentVector(null,5,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"tag-fn","tag-fn",242055482,null),new cljs.core.Symbol(null,"rep-fn",
"rep-fn",-1724891035,null),new cljs.core.Symbol(null,"str-rep-fn","str-rep-fn",-1179615016,null),new cljs.core.Symbol(null,"verbose-handler-fn","verbose-handler-fn",547340594,null),new cljs.core.Symbol(null,"meta35843","meta35843",1302675604,null)],null)},cognitect.transit.t_cognitect$transit35842.cljs$lang$type=!0,cognitect.transit.t_cognitect$transit35842.cljs$lang$ctorStr="cognitect.transit/t_cognitect$transit35842",cognitect.transit.t_cognitect$transit35842.cljs$lang$ctorPrWriter=function(a,b,
c){return cljs.core._write.call(null,b,"cognitect.transit/t_cognitect$transit35842")},cognitect.transit.__GT_t_cognitect$transit35842=function(a,b,c,d,k){return new cognitect.transit.t_cognitect$transit35842(a,b,c,d,k)};return new cognitect.transit.t_cognitect$transit35842(a,b,c,d,cljs.core.PersistentArrayMap.EMPTY)};cognitect.transit.write_handler.cljs$lang$maxFixedArity=4;cognitect.transit.tagged_value=function(a,b){return com.cognitect.transit.types.taggedValue(a,b)};
cognitect.transit.tagged_value_QMARK_=function(a){return com.cognitect.transit.types.isTaggedValue(a)};cognitect.transit.integer=function(a){return com.cognitect.transit.types.intValue(a)};cognitect.transit.integer_QMARK_=function(a){return com.cognitect.transit.types.isInteger(a)};cognitect.transit.bigint=function(a){return com.cognitect.transit.types.bigInteger(a)};cognitect.transit.bigint_QMARK_=function(a){return com.cognitect.transit.types.isBigInteger(a)};cognitect.transit.bigdec=function(a){return com.cognitect.transit.types.bigDecimalValue(a)};
cognitect.transit.bigdec_QMARK_=function(a){return com.cognitect.transit.types.isBigDecimal(a)};cognitect.transit.uri=function(a){return com.cognitect.transit.types.uri(a)};cognitect.transit.uri_QMARK_=function(a){return com.cognitect.transit.types.isURI(a)};cognitect.transit.uuid=function(a){return com.cognitect.transit.types.uuid(a)};cognitect.transit.uuid_QMARK_=function(a){var b=com.cognitect.transit.types.isUUID(a);return cljs.core.truth_(b)?b:a instanceof cljs.core.UUID};
cognitect.transit.binary=function(a){return com.cognitect.transit.types.binary(a)};cognitect.transit.binary_QMARK_=function(a){return com.cognitect.transit.types.isBinary(a)};cognitect.transit.quoted=function(a){return com.cognitect.transit.types.quoted(a)};cognitect.transit.quoted_QMARK_=function(a){return com.cognitect.transit.types.isQuoted(a)};cognitect.transit.link=function(a){return com.cognitect.transit.types.link(a)};cognitect.transit.link_QMARK_=function(a){return com.cognitect.transit.types.isLink(a)};
cognitect.transit.write_meta=function(a){if(null!=a&&(a.cljs$lang$protocol_mask$partition0$&131072||cljs.core.PROTOCOL_SENTINEL===a.cljs$core$IMeta$)){var b=cljs.core._meta.call(null,a);return null!=b?new cognitect.transit.WithMeta(cljs.core._with_meta.call(null,a,null),b):a}return a};weathergen.encoding={};weathergen.encoding.encoder=cognitect.transit.writer.call(null,new cljs.core.Keyword(null,"json","json",1279968570));weathergen.encoding.decoder=cognitect.transit.reader.call(null,new cljs.core.Keyword(null,"json","json",1279968570));weathergen.encoding.deflate=function(a){return pako.deflate(a)};weathergen.encoding.deflate_string=function(a){return pako.deflate(a,{to:"string"})};weathergen.encoding.inflate=function(a){return pako.inflate(a)};
weathergen.encoding.inflate_string=function(a){return pako.inflate(a,{to:"string"})};weathergen.encoding.encode=function(a){return cognitect.transit.write.call(null,weathergen.encoding.encoder,a)};weathergen.encoding.decode=function(a){return cognitect.transit.read.call(null,weathergen.encoding.decoder,a)};weathergen.encoding.data__GT_base64=function(a){return goog.crypt.base64.encodeByteArray(weathergen.encoding.deflate.call(null,weathergen.encoding.encode.call(null,a)),!0)};
weathergen.encoding.base64__GT_data=function(a){return weathergen.encoding.decode.call(null,weathergen.encoding.inflate_string.call(null,goog.crypt.base64.decodeStringToUint8Array(a)))};weathergen.ui.tabs={};
weathergen.ui.tabs.tabs=function(){var a=function(a){var b=hoplon.core.parse_args.call(null,a),c=cljs.core.nth.call(null,b,0,null),f=cljs.core.nth.call(null,b,1,null),g=null!=c&&(c.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===c.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,c):c,h=cljs.core.get.call(null,g,new cljs.core.Keyword(null,"tab-background","tab-background",-2049748774)),k=cljs.core.get.call(null,g,new cljs.core.Keyword(null,"selected","selected",574897764)),
l=cljs.core.get.call(null,g,new cljs.core.Keyword(null,"tabs","tabs",-779855354)),m=cljs.core.dissoc.call(null,c,new cljs.core.Keyword(null,"tab-background","tab-background",-2049748774),new cljs.core.Keyword(null,"selected","selected",574897764),new cljs.core.Keyword(null,"tabs","tabs",-779855354));a=cljs.core.seq.call(null,l);for(var n=null,p=0,q=0;;)if(q<p){var r=cljs.core._nth.call(null,n,q),u=null!=r&&(r.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===r.cljs$core$ISeq$)?
cljs.core.apply.call(null,cljs.core.hash_map,r):r,t=cljs.core.get.call(null,u,new cljs.core.Keyword(null,"id","id",-1388402092)),v=cljs.core.get.call(null,u,new cljs.core.Keyword(null,"hidden?","hidden?",1339691380));cljs.core.truth_(v)&&cljs.core.add_watch.call(null,v,cljs.core.gensym.call(null),function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u){return function(a,b,c,d){return cljs.core.truth_(cljs.core.truth_(d)?cljs.core._EQ_.call(null,g,cljs.core.deref.call(null,n)):d)?cljs.core.reset_BANG_.call(null,
n,(new cljs.core.Keyword(null,"id","id",-1388402092)).cljs$core$IFn$_invoke$arity$1(cljs.core.first.call(null,p))):null}}(a,n,p,q,r,u,t,v,c,g,h,k,l,m,b,c,f));q+=1}else if(u=cljs.core.seq.call(null,a)){r=u;if(cljs.core.chunked_seq_QMARK_.call(null,r))a=cljs.core.chunk_first.call(null,r),q=cljs.core.chunk_rest.call(null,r),n=a,p=cljs.core.count.call(null,a),a=q;else{t=cljs.core.first.call(null,r);v=null!=t&&(t.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===t.cljs$core$ISeq$)?
cljs.core.apply.call(null,cljs.core.hash_map,t):t;var w=cljs.core.get.call(null,v,new cljs.core.Keyword(null,"id","id",-1388402092)),x=cljs.core.get.call(null,v,new cljs.core.Keyword(null,"hidden?","hidden?",1339691380));cljs.core.truth_(x)&&cljs.core.add_watch.call(null,x,cljs.core.gensym.call(null),function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w){return function(a,b,c,d){return cljs.core.truth_(cljs.core.truth_(d)?cljs.core._EQ_.call(null,g,cljs.core.deref.call(null,q)):d)?cljs.core.reset_BANG_.call(null,
q,(new cljs.core.Keyword(null,"id","id",-1388402092)).cljs$core$IFn$_invoke$arity$1(cljs.core.first.call(null,r))):null}}(a,n,p,q,t,v,w,x,r,u,c,g,h,k,l,m,b,c,f));a=cljs.core.next.call(null,r);n=null;p=0}q=0}else break;return hoplon.core.div.call(null,hoplon.core.div.call(null,new cljs.core.Keyword(null,"debug","debug",-1608172596),"buttons and spacer",new cljs.core.Keyword(null,"css","css",1135045163),new cljs.core.PersistentArrayMap(null,4,[new cljs.core.Keyword(null,"position","position",-2011731912),
"sticky",new cljs.core.Keyword(null,"top","top",-1856271961),0,new cljs.core.Keyword(null,"background","background",-863952629),h,new cljs.core.Keyword(null,"z-index","z-index",1892827090),100],null),hoplon.core.div.call(null,new cljs.core.Keyword(null,"debug","debug",-1608172596),"tab buttons",new cljs.core.Keyword(null,"css","css",1135045163),new cljs.core.PersistentArrayMap(null,3,[new cljs.core.Keyword(null,"border-bottom-width","border-bottom-width",-1417262769),weathergen.ui.common.px.call(null,
1),new cljs.core.Keyword(null,"border-bottom-style","border-bottom-style",925668932),"solid",new cljs.core.Keyword(null,"border-bottom-color","border-bottom-color",-208763333),"lightgray"],null),function(){return function(a,b,c,d,e,f,g,h,k){return function L(l){return new cljs.core.LazySeq(null,function(a,b,c,d,e,f,g,h,k){return function(){for(;;){var m=cljs.core.seq.call(null,l);if(m){var n=m;if(cljs.core.chunked_seq_QMARK_.call(null,n)){var p=cljs.core.chunk_first.call(null,n),q=cljs.core.count.call(null,
p),r=cljs.core.chunk_buffer.call(null,q);return function(){for(var l=0;;)if(l<q){var t=cljs.core._nth.call(null,p,l),u=null!=t&&(t.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===t.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,t):t,v=cljs.core.get.call(null,u,new cljs.core.Keyword(null,"title","title",636505583)),w=cljs.core.get.call(null,u,new cljs.core.Keyword(null,"id","id",-1388402092)),x=cljs.core.get.call(null,u,new cljs.core.Keyword(null,"hidden?","hidden?",
1339691380));cljs.core.chunk_append.call(null,r,hoplon.core.div.call(null,new cljs.core.Keyword(null,"click","click",1912301393),function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x){return function(){return cljs.core.reset_BANG_.call(null,r,e)}}(l,t,u,v,w,x,p,q,r,n,m,a,b,c,d,e,f,g,h,k),new cljs.core.Keyword(null,"css","css",1135045163),javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x){return function(a,b){var c=cljs.core._EQ_.call(null,a,e);return cljs.core.PersistentHashMap.fromArrays([new cljs.core.Keyword(null,
"border-style","border-style",-485574304),new cljs.core.Keyword(null,"border-bottom-style","border-bottom-style",925668932),new cljs.core.Keyword(null,"color","color",1011675173),new cljs.core.Keyword(null,"font-size","font-size",-1847940346),new cljs.core.Keyword(null,"border-top-right-radius","border-top-right-radius",1678770792),new cljs.core.Keyword(null,"background","background",-863952629),new cljs.core.Keyword(null,"cursor","cursor",1011937484),new cljs.core.Keyword(null,"border-top-left-radius",
"border-top-left-radius",1361811342),new cljs.core.Keyword(null,"border-width","border-width",-1512605390),new cljs.core.Keyword(null,"padding","padding",1660304693),new cljs.core.Keyword(null,"border-color","border-color",-2059162761),new cljs.core.Keyword(null,"display","display",242065432),new cljs.core.Keyword(null,"user-select","user-select",-346451650)],["solid","none",cljs.core._EQ_.call(null,a,e)?"white":"#737373",weathergen.ui.common.pct.call(null,120),weathergen.ui.common.px.call(null,5),
c?"black":null,"pointer",weathergen.ui.common.px.call(null,5),weathergen.ui.common.px.call(null,1),weathergen.ui.common.px.call(null,0,10,3,10),c?"black":"lightgray",cljs.core.truth_(b)?"none":"inline-block","none"])}}(l,t,u,v,w,x,p,q,r,n,m,a,b,c,d,e,f,g,h,k)).call(null,d,x),v));l+=1}else return!0}()?cljs.core.chunk_cons.call(null,cljs.core.chunk.call(null,r),L.call(null,cljs.core.chunk_rest.call(null,n))):cljs.core.chunk_cons.call(null,cljs.core.chunk.call(null,r),null)}var t=cljs.core.first.call(null,
n),u=null!=t&&(t.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===t.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,t):t,v=cljs.core.get.call(null,u,new cljs.core.Keyword(null,"title","title",636505583)),w=cljs.core.get.call(null,u,new cljs.core.Keyword(null,"id","id",-1388402092)),x=cljs.core.get.call(null,u,new cljs.core.Keyword(null,"hidden?","hidden?",1339691380));return cljs.core.cons.call(null,hoplon.core.div.call(null,new cljs.core.Keyword(null,"click","click",
1912301393),function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t){return function(){return cljs.core.reset_BANG_.call(null,m,d)}}(t,u,v,w,x,n,m,a,b,c,d,e,f,g,h,k),new cljs.core.Keyword(null,"css","css",1135045163),javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t){return function(a,b){var c=cljs.core._EQ_.call(null,a,d);return cljs.core.PersistentHashMap.fromArrays([new cljs.core.Keyword(null,"border-style","border-style",-485574304),new cljs.core.Keyword(null,"border-bottom-style","border-bottom-style",
925668932),new cljs.core.Keyword(null,"color","color",1011675173),new cljs.core.Keyword(null,"font-size","font-size",-1847940346),new cljs.core.Keyword(null,"border-top-right-radius","border-top-right-radius",1678770792),new cljs.core.Keyword(null,"background","background",-863952629),new cljs.core.Keyword(null,"cursor","cursor",1011937484),new cljs.core.Keyword(null,"border-top-left-radius","border-top-left-radius",1361811342),new cljs.core.Keyword(null,"border-width","border-width",-1512605390),
new cljs.core.Keyword(null,"padding","padding",1660304693),new cljs.core.Keyword(null,"border-color","border-color",-2059162761),new cljs.core.Keyword(null,"display","display",242065432),new cljs.core.Keyword(null,"user-select","user-select",-346451650)],["solid","none",cljs.core._EQ_.call(null,a,d)?"white":"#737373",weathergen.ui.common.pct.call(null,120),weathergen.ui.common.px.call(null,5),c?"black":null,"pointer",weathergen.ui.common.px.call(null,5),weathergen.ui.common.px.call(null,1),weathergen.ui.common.px.call(null,
0,10,3,10),c?"black":"lightgray",cljs.core.truth_(b)?"none":"inline-block","none"])}}(t,u,v,w,x,n,m,a,b,c,d,e,f,g,h,k)).call(null,d,x),v),L.call(null,cljs.core.rest.call(null,n)))}return null}}}(a,b,c,d,e,f,g,h,k),null,null)}}(c,g,h,k,l,m,b,c,f).call(null,l)}()),hoplon.core.div.call(null,new cljs.core.Keyword(null,"debug","debug",-1608172596),"spacer",new cljs.core.Keyword(null,"css","css",1135045163),new cljs.core.PersistentArrayMap(null,2,[new cljs.core.Keyword(null,"background","background",-863952629),
h,new cljs.core.Keyword(null,"height","height",1025178622),weathergen.ui.common.px.call(null,3)],null))),function(){return function(a,b,c,d,e,f,g,h,k){return function L(l){return new cljs.core.LazySeq(null,function(a,b,c,d,e,f,g,h,k){return function(){for(;;){var m=cljs.core.seq.call(null,l);if(m){var n=m;if(cljs.core.chunked_seq_QMARK_.call(null,n)){var p=cljs.core.chunk_first.call(null,n),q=cljs.core.count.call(null,p),r=cljs.core.chunk_buffer.call(null,q);return function(){for(var l=0;;)if(l<q){var t=
cljs.core._nth.call(null,p,l),u=null!=t&&(t.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===t.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,t):t,v=cljs.core.get.call(null,u,new cljs.core.Keyword(null,"id","id",-1388402092)),w=cljs.core.get.call(null,u,new cljs.core.Keyword(null,"ui","ui",-469653645));cljs.core.chunk_append.call(null,r,hoplon.core.div.call(null,new cljs.core.Keyword(null,"toggle","toggle",1291842030),javelin.core.formula.call(null,function(a,b,
c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w){return function(a,b,c){return a.call(null,c,b)}}(l,t,u,v,w,p,q,r,n,m,a,b,c,d,e,f,g,h,k)).call(null,cljs.core._EQ_,d,v),w));l+=1}else return!0}()?cljs.core.chunk_cons.call(null,cljs.core.chunk.call(null,r),L.call(null,cljs.core.chunk_rest.call(null,n))):cljs.core.chunk_cons.call(null,cljs.core.chunk.call(null,r),null)}var t=cljs.core.first.call(null,n),u=null!=t&&(t.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===t.cljs$core$ISeq$)?cljs.core.apply.call(null,
cljs.core.hash_map,t):t,v=cljs.core.get.call(null,u,new cljs.core.Keyword(null,"id","id",-1388402092)),w=cljs.core.get.call(null,u,new cljs.core.Keyword(null,"ui","ui",-469653645));return cljs.core.cons.call(null,hoplon.core.div.call(null,new cljs.core.Keyword(null,"toggle","toggle",1291842030),javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r){return function(a,b,c){return a.call(null,c,b)}}(t,u,v,w,n,m,a,b,c,d,e,f,g,h,k)).call(null,cljs.core._EQ_,d,v),w),L.call(null,cljs.core.rest.call(null,
n)))}return null}}}(a,b,c,d,e,f,g,h,k),null,null)}}(c,g,h,k,l,m,b,c,f).call(null,l)}())},b=function(b){var c=null;if(0<arguments.length){c=0;for(var e=Array(arguments.length-0);c<e.length;)e[c]=arguments[c+0],++c;c=new cljs.core.IndexedSeq(e,0,null)}return a.call(this,c)};b.cljs$lang$maxFixedArity=0;b.cljs$lang$applyTo=function(b){b=cljs.core.seq(b);return a(b)};b.cljs$core$IFn$_invoke$arity$variadic=a;return b}();
weathergen.ui.tabs.tabs2=function(){var a=function(a){a=hoplon.core.parse_args.call(null,a);var b=cljs.core.nth.call(null,a,0,null),c=cljs.core.nth.call(null,a,1,null),f=null!=b&&(b.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===b.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,b):b,g=cljs.core.get.call(null,f,new cljs.core.Keyword(null,"tab-background","tab-background",-2049748774)),h=cljs.core.get.call(null,f,new cljs.core.Keyword(null,"data","data",-232669377)),
k=cljs.core.get.call(null,f,new cljs.core.Keyword(null,"title-formatter","title-formatter",1874480681)),l=cljs.core.get.call(null,f,new cljs.core.Keyword(null,"formatter","formatter",-483008823)),m=cljs.core.get.call(null,f,new cljs.core.Keyword(null,"value","value",305978217)),n=cljs.core.get.call(null,f,new cljs.core.Keyword(null,"key-fn","key-fn",-636154479)),p=cljs.core.dissoc.call(null,b,new cljs.core.Keyword(null,"data","data",-232669377),new cljs.core.Keyword(null,"key-fn","key-fn",-636154479),
new cljs.core.Keyword(null,"value","value",305978217),new cljs.core.Keyword(null,"formatter","formatter",-483008823),new cljs.core.Keyword(null,"title-formatter","title-formatter",1874480681),new cljs.core.Keyword(null,"tab-background","tab-background",-2049748774));cljs.core.add_watch.call(null,h,cljs.core.gensym.call(null),function(a,b,c,d,e,f,g,h,k,l,m,n){return function(p,q,r,t){return cljs.core.truth_(cljs.core.some.call(null,function(a,b,c,d,e,f,g,h,k,l,m,n){return function(a){return cljs.core._EQ_.call(null,
cljs.core.deref.call(null,g),h.call(null,a))}}(a,b,c,d,e,f,g,h,k,l,m,n),t))?null:cljs.core.reset_BANG_.call(null,g,h.call(null,cljs.core.first.call(null,t)))}}(b,f,g,h,k,l,m,n,p,a,b,c));return hoplon.core.div.call(null,hoplon.core.div.call(null,new cljs.core.Keyword(null,"debug","debug",-1608172596),"buttons and spacer",new cljs.core.Keyword(null,"css","css",1135045163),new cljs.core.PersistentArrayMap(null,4,[new cljs.core.Keyword(null,"position","position",-2011731912),"sticky",new cljs.core.Keyword(null,
"top","top",-1856271961),0,new cljs.core.Keyword(null,"background","background",-863952629),g,new cljs.core.Keyword(null,"z-index","z-index",1892827090),100],null),hoplon.core.div.call(null,new cljs.core.Keyword(null,"debug","debug",-1608172596),"tab buttons",new cljs.core.Keyword(null,"css","css",1135045163),new cljs.core.PersistentArrayMap(null,3,[new cljs.core.Keyword(null,"border-bottom-width","border-bottom-width",-1417262769),weathergen.ui.common.px.call(null,1),new cljs.core.Keyword(null,"border-bottom-style",
"border-bottom-style",925668932),"solid",new cljs.core.Keyword(null,"border-bottom-color","border-bottom-color",-208763333),"lightgray"],null),weathergen.ui.common.keyed_loop_tpl_STAR_.call(null,h,n,function(a,b,c,d,e,f,g,h,k,l,m,n){return function(p,q){return hoplon.core.div.call(null,new cljs.core.Keyword(null,"click","click",1912301393),function(a,b,c,d,e,f,g,h,k,l,m,n){return function(a){a=cljs.core.set.call(null,cljs.core.map.call(null,h,cljs.core.deref.call(null,d)));return cljs.core.truth_(a.call(null,
q))?cljs.core.reset_BANG_.call(null,g,q):null}}(a,b,c,d,e,f,g,h,k,l,m,n),new cljs.core.Keyword(null,"css","css",1135045163),javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,k,l,m,n){return function(a,b){a=h.call(null,a);var c=cljs.core._EQ_.call(null,b,a);return cljs.core.PersistentHashMap.fromArrays([new cljs.core.Keyword(null,"border-style","border-style",-485574304),new cljs.core.Keyword(null,"border-bottom-style","border-bottom-style",925668932),new cljs.core.Keyword(null,"color","color",
1011675173),new cljs.core.Keyword(null,"font-size","font-size",-1847940346),new cljs.core.Keyword(null,"border-top-right-radius","border-top-right-radius",1678770792),new cljs.core.Keyword(null,"background","background",-863952629),new cljs.core.Keyword(null,"cursor","cursor",1011937484),new cljs.core.Keyword(null,"border-top-left-radius","border-top-left-radius",1361811342),new cljs.core.Keyword(null,"border-width","border-width",-1512605390),new cljs.core.Keyword(null,"padding","padding",1660304693),
new cljs.core.Keyword(null,"border-color","border-color",-2059162761),new cljs.core.Keyword(null,"display","display",242065432)],["solid","none",cljs.core._EQ_.call(null,b,a)?"white":"#737373",weathergen.ui.common.pct.call(null,120),weathergen.ui.common.px.call(null,5),c?"black":null,"pointer",weathergen.ui.common.px.call(null,5),weathergen.ui.common.px.call(null,1),weathergen.ui.common.px.call(null,0,10,3,10),c?"black":"lightgray","inline-block"])}}(a,b,c,d,e,f,g,h,k,l,m,n)).call(null,p,g),e.call(null,
p,q,javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,k,l,m,n){return function(a,b,c){return a.call(null,b,c)}}(a,b,c,d,e,f,g,h,k,l,m,n)).call(null,cljs.core._EQ_,g,q)))}}(b,f,g,h,k,l,m,n,p,a,b,c))),hoplon.core.div.call(null,new cljs.core.Keyword(null,"debug","debug",-1608172596),"spacer",new cljs.core.Keyword(null,"css","css",1135045163),new cljs.core.PersistentArrayMap(null,2,[new cljs.core.Keyword(null,"background","background",-863952629),g,new cljs.core.Keyword(null,"height","height",1025178622),
weathergen.ui.common.px.call(null,3)],null))),weathergen.ui.common.keyed_loop_tpl_STAR_.call(null,h,n,function(a,b,c,d,e,f,g,h,k,l,m,n){return function(p,q){return hoplon.core.div.call(null,new cljs.core.Keyword(null,"css","css",1135045163),javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,k,l,m,n){return function(a,b){return new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"display","display",242065432),cljs.core.not_EQ_.call(null,(new cljs.core.Keyword(null,"id","id",-1388402092)).cljs$core$IFn$_invoke$arity$1(a),
b)?"none":null],null)}}(a,b,c,d,e,f,g,h,k,l,m,n)).call(null,p,g),f.call(null,p,q))}}(b,f,g,h,k,l,m,n,p,a,b,c)))},b=function(b){var c=null;if(0<arguments.length){c=0;for(var e=Array(arguments.length-0);c<e.length;)e[c]=arguments[c+0],++c;c=new cljs.core.IndexedSeq(e,0,null)}return a.call(this,c)};b.cljs$lang$maxFixedArity=0;b.cljs$lang$applyTo=function(b){b=cljs.core.seq(b);return a(b)};b.cljs$core$IFn$_invoke$arity$variadic=a;return b}();weathergen.compression={};weathergen.compression.zlib=require("zlib");weathergen.compression.compress=function(a){return weathergen.compression.zlib.gzipSync(a)};weathergen.compression.decompress=function(a){return weathergen.compression.zlib.gunzipSync(a)};weathergen.ui.layers.annotations={};weathergen.ui.common.register_class_BANG_.call(null,new cljs.core.Keyword("weathergen.ui.layers.annotations","no-focus-border","weathergen.ui.layers.annotations/no-focus-border",-1173765124),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"\x26:hover","\x26:hover",-852658855),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"outline","outline",793464534),"none"],null)],null));
var counter_35934=cljs.core.atom.call(null,0);weathergen.ui.layers.annotations.unique_id=function(a){return function(){return cljs.core.swap_BANG_.call(null,a,cljs.core.inc)}}(counter_35934);weathergen.ui.layers.annotations.point_names=function(a){return javelin.core.formula.call(null,function(a){return cljs.core.zipmap.call(null,cljs.core.sort.call(null,cljs.core.keys.call(null,a)),cljs.core.map.call(null,function(a){return String.fromCharCode(65+a)},cljs.core.range.call(null)))}).call(null,a)};
weathergen.ui.layers.annotations.annotation_rotation=function(a){return cljs.core.mod.call(null,90-weathergen.math.heading.call(null,a),360)};weathergen.ui.layers.annotations.midpoint=function(a,b){return weathergen.math.vector_scale.call(null,.5,weathergen.math.vector_add.call(null,b,a))};weathergen.ui.layers.annotations.font_scale_factor=7.87406581267874E-4;var base_35936=1.0875853314770578,factor_35937=weathergen.ui.layers.annotations.font_scale_factor;
weathergen.ui.layers.annotations.font_size__GT_scale=function(a,b){return function(c){return Math.pow(a,c)*b}}(base_35936,factor_35937);weathergen.ui.layers.annotations.scale__GT_font_size=function(a,b){return function(c){return Math.log(c/b)/Math.log(a)}}(base_35936,factor_35937);weathergen.ui.layers.annotations.linear__GT_exp=function(a,b,c,d,e){c=Math.pow(e/d,1/(c-b));return d/Math.pow(c,b)*Math.pow(c,a)};
weathergen.ui.layers.annotations.exp__GT_linear=function(a,b,c,d,e){c=Math.pow(e/d,1/(c-b));return Math.log(a/(d/Math.pow(c,b)))/Math.log(c)};
weathergen.ui.layers.annotations.stroke_and_fill_attrs=function(a){var b=weathergen.ui.common.path_lens.call(null,a,new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"fill-color","fill-color",-1156875903)],null)),c=weathergen.ui.common.path_lens.call(null,a,new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"filled?","filled?",-1363697461)],null)),d=weathergen.ui.common.path_lens.call(null,
a,new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"edge-color","edge-color",-533761623)],null)),e=weathergen.ui.common.path_lens.call(null,a,new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"edge-dash-length","edge-dash-length",-19162360)],null)),f=weathergen.ui.common.path_lens.call(null,a,new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,
"edge-dash-spacing","edge-dash-spacing",1667711192)],null)),g=weathergen.ui.common.path_lens.call(null,a,new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"edge-style","edge-style",1285542514)],null)),h=weathergen.ui.common.path_lens.call(null,a,new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"edge-width","edge-width",-1845528442)],null));a=weathergen.ui.common.path_lens.call(null,a,new cljs.core.PersistentVector(null,
1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"open?","open?",1238443125)],null));var k=javelin.core.lens.call(null,javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h){return function(a){return cljs.core.truth_(a)?a:0}}(b,c,d,e,f,g,h,a)).call(null,e),function(a,b,c,d,e,f,g,h){return function(a){return cljs.core.reset_BANG_.call(null,d,a)}}(b,c,d,e,f,g,h,a)),l=javelin.core.lens.call(null,javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,k){return function(a){return cljs.core.truth_(a)?
a:0}}(k,b,c,d,e,f,g,h,a)).call(null,f),function(a,b,c,d,e,f,g,h,k){return function(a){return cljs.core.reset_BANG_.call(null,f,a)}}(k,b,c,d,e,f,g,h,a)),m=javelin.core.lens.call(null,javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,k,l){return function(a){return cljs.core.truth_(a)?a:0}}(k,l,b,c,d,e,f,g,h,a)).call(null,h),function(a,b,c,d,e,f,g,h,k,l){return function(a){return cljs.core.reset_BANG_.call(null,k,a)}}(k,l,b,c,d,e,f,g,h,a)),n=javelin.core.formula.call(null,function(a,b,c,d,e,f,
g,h,k,l,m){return function(a,b){return cljs.core._EQ_.call(null,new cljs.core.Keyword(null,"none","none",1333468478),a)?0:b/200}}(k,l,m,b,c,d,e,f,g,h,a)).call(null,g,m);return new cljs.core.PersistentArrayMap(null,4,[new cljs.core.Keyword(null,"stroke","stroke",1741823555),javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,k,l,m,n){return function(a,b){return a.call(null,b)}}(n,k,l,m,b,c,d,e,f,g,h,a)).call(null,weathergen.ui.common.to_rgba,d),new cljs.core.Keyword(null,"stroke-width","stroke-width",
716836435),n,new cljs.core.Keyword(null,"fill","fill",883462889),javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,k,l,m,n){return function(a,b,c){return cljs.core.truth_(function(){var c=cljs.core.not.call(null,a);return c?b:c}())?weathergen.ui.common.to_rgba.call(null,c):"none"}}(n,k,l,m,b,c,d,e,f,g,h,a)).call(null,a,c,b),new cljs.core.Keyword(null,"stroke-dasharray","stroke-dasharray",-942933855),javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,k,l,m,n){return function(a,b,c){return cljs.core._EQ_.call(null,
a,new cljs.core.Keyword(null,"dashed","dashed",-1449249319))?(a=weathergen.ui.layers.annotations.linear__GT_exp.call(null,b,1,100,.005,10),c=a*weathergen.ui.layers.annotations.linear__GT_exp.call(null,c,1,100,.01,100),[cljs.core.str.cljs$core$IFn$_invoke$arity$1(a)," ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(c)].join("")):null}}(n,k,l,m,b,c,d,e,f,g,h,a)).call(null,g,k,l)],null)};
weathergen.ui.layers.annotations.shape_contents_overlay=function(a,b){var c=null!=b&&(b.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===b.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,b):b,d=cljs.core.get.call(null,c,new cljs.core.Keyword(null,"suppress-bullseye-info-box?","suppress-bullseye-info-box?",-1654633798)),e=cljs.core.get.call(null,c,new cljs.core.Keyword(null,"dragging","dragging",1185097613)),f=weathergen.ui.common.path_lens.call(null,a,new cljs.core.PersistentVector(null,
1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"edge-color","edge-color",-533761623)],null)),g=weathergen.ui.common.path_lens.call(null,a,new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"edge-width","edge-width",-1845528442)],null)),h=weathergen.ui.common.path_lens.call(null,a,new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"edge-style","edge-style",1285542514)],
null)),k=weathergen.ui.common.path_lens.call(null,a,new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"edge-dash-length","edge-dash-length",-19162360)],null)),l=weathergen.ui.common.path_lens.call(null,a,new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"edge-dash-spacing","edge-dash-spacing",1667711192)],null)),m=weathergen.ui.common.path_lens.call(null,a,new cljs.core.PersistentVector(null,
1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"editing?","editing?",1646440800)],null)),n=weathergen.ui.common.path_lens.call(null,a,new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"font-bold?","font-bold?",-796638521)],null)),p=weathergen.ui.common.path_lens.call(null,a,new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"font-color","font-color",-2019660285)],null)),
q=weathergen.ui.common.path_lens.call(null,a,new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"font-italic?","font-italic?",-663673639)],null)),r=weathergen.ui.common.path_lens.call(null,a,new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"font-family","font-family",-667419874)],null)),u=weathergen.ui.common.path_lens.call(null,a,new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,
[new cljs.core.Keyword(null,"font-size","font-size",-1847940346)],null)),t=weathergen.ui.common.path_lens.call(null,a,new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"halign","halign",-1113968481)],null)),v=weathergen.ui.common.path_lens.call(null,a,new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"height","height",1025178622)],null)),w=weathergen.ui.common.path_lens.call(null,a,new cljs.core.PersistentVector(null,
1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"text","text",-1790561697)],null)),x=weathergen.ui.common.path_lens.call(null,a,new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"shape-type","shape-type",-835891005)],null)),y=weathergen.ui.common.path_lens.call(null,a,new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"valign","valign",1485197511)],null)),z=weathergen.ui.common.path_lens.call(null,
a,new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"width","width",-384071477)],null)),B=javelin.core.lens.call(null,javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,z,y){return function(a){return cljs.core.truth_(a)?a:0}}(f,g,h,k,l,m,n,p,q,r,u,t,v,w,x,y,z,b,c,c,d,e)).call(null,g),function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,z,y){return function(a){return cljs.core.reset_BANG_.call(null,b,a)}}(f,g,h,k,l,m,
n,p,q,r,u,t,v,w,x,y,z,b,c,c,d,e)),C=javelin.core.lens.call(null,javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,z,y,A){return function(a){return cljs.core.truth_(a)?a:0}}(B,f,g,h,k,l,m,n,p,q,r,u,t,v,w,x,y,z,b,c,c,d,e)).call(null,k),function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,z,y,A){return function(a){return cljs.core.reset_BANG_.call(null,e,a)}}(B,f,g,h,k,l,m,n,p,q,r,u,t,v,w,x,y,z,b,c,c,d,e)),A=javelin.core.lens.call(null,javelin.core.formula.call(null,function(a,
b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,z,y,A,B){return function(a){return cljs.core.truth_(a)?a:0}}(B,C,f,g,h,k,l,m,n,p,q,r,u,t,v,w,x,y,z,b,c,c,d,e)).call(null,l),function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,z,y,A,B){return function(a){return cljs.core.reset_BANG_.call(null,g,a)}}(B,C,f,g,h,k,l,m,n,p,q,r,u,t,v,w,x,y,z,b,c,c,d,e)),D=javelin.core.lens.call(null,javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,z,y,A,B,C){return function(a){return cljs.core.truth_(a)?
a:0}}(B,C,A,f,g,h,k,l,m,n,p,q,r,u,t,v,w,x,y,z,b,c,c,d,e)).call(null,z),function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,z,y,A,B,C){return function(a){return cljs.core.reset_BANG_.call(null,x,a)}}(B,C,A,f,g,h,k,l,m,n,p,q,r,u,t,v,w,x,y,z,b,c,c,d,e)),F=javelin.core.lens.call(null,javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,z,y,A,B,C,D){return function(a){return cljs.core.truth_(a)?a:0}}(B,C,A,D,f,g,h,k,l,m,n,p,q,r,u,t,v,w,x,y,z,b,c,c,d,e)).call(null,v),function(a,
b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,z,y,A,B,C,D){return function(a){return cljs.core.reset_BANG_.call(null,u,a)}}(B,C,A,D,f,g,h,k,l,m,n,p,q,r,u,t,v,w,x,y,z,b,c,c,d,e)),E=javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,z,y,A,B,C,D,E){return function(a,b){return cljs.core._EQ_.call(null,new cljs.core.Keyword(null,"none","none",1333468478),a)?0:b/200}}(B,C,A,D,F,f,g,h,k,l,m,n,p,q,r,u,t,v,w,x,y,z,b,c,c,d,e)).call(null,h,B),G=javelin.core.formula.call(null,function(a,
b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,z,y,A,B,C,D,E,F){return function(a){return a/2}}(E,B,C,A,D,F,f,g,h,k,l,m,n,p,q,r,u,t,v,w,x,y,z,b,c,c,d,e)).call(null,E),J=javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,z,y,A,B,C,D,E,F,G){return function(a,b){a-=b;return 0>a?0:a}}(E,G,B,C,A,D,F,f,g,h,k,l,m,n,p,q,r,u,t,v,w,x,y,z,b,c,c,d,e)).call(null,D,E),M=javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,z,y,A,B,C,D,E,F,G,J){return function(a,b){a-=
b;return 0>a?0:a}}(E,G,J,B,C,A,D,F,f,g,h,k,l,m,n,p,q,r,u,t,v,w,x,y,z,b,c,c,d,e)).call(null,F,E);return hoplon.svg.g.call(null,weathergen.ui.layers.annotations.stroke_and_fill_attrs.call(null,a),new cljs.core.Keyword(null,"css","css",1135045163),javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,z,y,A,B,C,D,E,F,G,J,M){return function(a){return new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"pointer-events","pointer-events",-1053858853),cljs.core.truth_(a)?
null:"none"],null)}}(E,G,J,M,B,C,A,D,F,f,g,h,k,l,m,n,p,q,r,u,t,v,w,x,y,z,b,c,c,d,e)).call(null,m),function(){var a=new cljs.core.Delay(function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,z,y,A,B,C,D,E,I,F,G,K){return function(){return hoplon.svg.ellipse.call(null,new cljs.core.Keyword(null,"cx","cx",1272694324),javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,z,y,A,B,C,D,E,H,I,F,G){return function(a,b){return(a+b)/2}}(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,z,y,A,B,C,D,
E,I,F,G,K)).call(null,b,c),new cljs.core.Keyword(null,"cy","cy",755331060),javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,z,y,A,B,C,D,E,H,I,F,G){return function(a,b){return(a+b)/2}}(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,z,y,A,B,C,D,E,I,F,G,K)).call(null,b,d),new cljs.core.Keyword(null,"rx","rx",1627208482),javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,z,y,A,B,C,D,E,H,I,F,G){return function(a){return a/2}}(a,b,c,d,e,f,g,h,k,l,m,n,
p,q,r,t,u,v,w,x,z,y,A,B,C,D,E,I,F,G,K)).call(null,c),new cljs.core.Keyword(null,"ry","ry",-334598563),javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,z,y,A,B,C,D,E,H,I,F,G){return function(a){return a/2}}(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,z,y,A,B,C,D,E,I,F,G,K)).call(null,d))}}(E,G,J,M,B,C,A,D,F,f,g,h,k,l,m,n,p,q,r,u,t,v,w,x,y,z,b,c,c,d,e),null),K=new cljs.core.Delay(function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,z,y,A,B,C,D,E,I,F,G,K,L){return function(){return hoplon.svg.rect.call(null,
new cljs.core.Keyword(null,"x","x",2099068185),c,new cljs.core.Keyword(null,"y","y",-1757859776),c,new cljs.core.Keyword(null,"width","width",-384071477),d,new cljs.core.Keyword(null,"height","height",1025178622),e)}}(a,E,G,J,M,B,C,A,D,F,f,g,h,k,l,m,n,p,q,r,u,t,v,w,x,y,z,b,c,c,d,e),null),I=new cljs.core.Delay(function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,z,y,A,B,C,D,E,I,F,G,K,L,J){return function(){return null}}(a,K,E,G,J,M,B,C,A,D,F,f,g,h,k,l,m,n,p,q,r,u,t,v,w,x,y,z,b,c,c,d,e),null);a=function(a,
b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,z,y,A,B,C,D,E,I,F,G,K,L,J,M){return function(d){return cljs.core.deref.call(null,function(){var e=function(){switch(d instanceof cljs.core.Keyword?d.fqn:null){case "oval":return a;case "rectangle":return b;default:return c}}();return cljs.core.truth_(e)?e:cljs.core.atom.call(null,null)}())}}(a,K,I,E,G,J,M,B,C,A,D,F,f,g,h,k,l,m,n,p,q,r,u,t,v,w,x,y,z,b,c,c,d,e);return javelin.core.formula.call(null,a).call(null,x)}(),function(){var L=javelin.core.cell.call(null,
!1),K=javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,z,y,A,B,C,D,E,F,G,K,L,J){return function(a){return weathergen.ui.layers.annotations.font_size__GT_scale.call(null,a)}}(L,E,G,J,M,B,C,A,D,F,f,g,h,k,l,m,n,p,q,r,u,t,v,w,x,y,z,b,c,c,d,e)).call(null,u);return hoplon.svg.g.call(null,new cljs.core.Keyword(null,"transform","transform",1381301764),javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,z,y,A,B,C,D,E,F,G,K,L,J,M){return function(a,
b){return b.call(null,a)}}(L,K,E,G,J,M,B,C,A,D,F,f,g,h,k,l,m,n,p,q,r,u,t,v,w,x,y,z,b,c,c,d,e)).call(null,K,weathergen.ui.common.svg_scale),function(){var I=javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,z,y,A,B,C,D,E,I,H,F,G,K,L){return function(a,b){return b/a}}(L,K,E,G,J,M,B,C,A,D,F,f,g,h,k,l,m,n,p,q,r,u,t,v,w,x,y,z,b,c,c,d,e)).call(null,K,D),H=javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,z,y,A,B,C,D,E,I,H,F,G,K,L,J){return function(a,
b){return b/a}}(I,L,K,E,G,J,M,B,C,A,D,F,f,g,h,k,l,m,n,p,q,r,u,t,v,w,x,y,z,b,c,c,d,e)).call(null,K,F),O=hoplon.svg.foreignObject.call(null,new cljs.core.Keyword(null,"width","width",-384071477),I,new cljs.core.Keyword(null,"height","height",1025178622),H),P=javelin.core.cell.call(null,0);O.call(null,new cljs.core.Keyword(null,"y","y",-1757859776),P,function(){var N=hoplon.core.div.call(null,new cljs.core.Keyword(null,"class","class",-2030961996),weathergen.ui.common.class_for.call(null,new cljs.core.Keyword("weathergen.ui.layers.annotations",
"no-focus-border","weathergen.ui.layers.annotations/no-focus-border",-1173765124)));hoplon.core.do_watch.call(null,javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,z,y,A,B,C,D,E,I,H,F,G,K,L,J,M,N,O,P){return function(a,b,c){return new cljs.core.PersistentArrayMap(null,3,[new cljs.core.Keyword(null,"scale-factor","scale-factor",-645225638),b,new cljs.core.Keyword(null,"annotation","annotation",-344661666),a,new cljs.core.Keyword(null,"fo-height","fo-height",-358322921),
c],null)}}(N,P,O,I,H,L,K,E,G,J,M,B,C,A,D,F,f,g,h,k,l,m,n,p,q,r,u,t,v,w,x,y,z,b,c,c,d,e)).call(null,a,K,H),function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,z,y,A,B,C,D,E,I,H,F,G,K,L,J,M,N,O,P){return function(Q,S){Q=null!=S&&(S.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===S.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,S):S;var R=cljs.core.get.call(null,Q,new cljs.core.Keyword(null,"scale-factor","scale-factor",-645225638)),T=cljs.core.get.call(null,Q,new cljs.core.Keyword(null,
"annotation","annotation",-344661666)),U=cljs.core.get.call(null,Q,new cljs.core.Keyword(null,"fo-height","fo-height",-358322921)),V=null!=T&&(T.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===T.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,T):T,W=cljs.core.get.call(null,V,new cljs.core.Keyword(null,"height","height",1025178622)),X=cljs.core.get.call(null,V,new cljs.core.Keyword(null,"valign","valign",1485197511));return setTimeout(function(a,b,c,d,e,f,g,h,k,
l,m,n,p,q,r,t,u,v,w,x,z,y,A,B,C,D,E,I,H,F,G,K,L,J,M,N,O,P,Q,S,R,T,U,V,W,X,Y){return function(){return cljs.core.reset_BANG_.call(null,m,cljs.core._EQ_.call(null,d,new cljs.core.Keyword(null,"bottom","bottom",-1550509018))?k-l.clientHeight:cljs.core._EQ_.call(null,d,new cljs.core.Keyword(null,"middle","middle",-701029031))?(k-l.clientHeight)/2:0)}}(T,V,W,X,S,Q,R,T,U,a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,z,y,A,B,C,D,E,I,H,F,G,K,L,J,M,N,O,P),0)}}(N,P,O,I,H,L,K,E,G,J,M,B,C,A,D,F,f,g,h,k,l,m,n,p,q,r,
u,t,v,w,x,y,z,b,c,c,d,e));N.call(null,new cljs.core.Keyword(null,"xmlns","xmlns",-1862095571),"http://www.w3.org/1999/xhtml",new cljs.core.Keyword(null,"contenteditable","contenteditable",-770210530),function(){var a=new cljs.core.Delay(function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,z,y,A,B,C,D,E,I,H,F,G,K,L,J,M,N,O,P){return function(){return"true"}}(N,P,O,I,H,L,K,E,G,J,M,B,C,A,D,F,f,g,h,k,l,m,n,p,q,r,u,t,v,w,x,y,z,b,c,c,d,e),null),R=new cljs.core.Delay(function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,
u,v,w,x,z,y,A,B,C,D,E,I,H,F,G,K,L,J,M,N,O,P,Q){return function(){return null}}(a,N,P,O,I,H,L,K,E,G,J,M,B,C,A,D,F,f,g,h,k,l,m,n,p,q,r,u,t,v,w,x,y,z,b,c,c,d,e),null);a=function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,z,y,A,B,C,D,E,I,H,F,G,K,L,J,M,N,O,P,Q,R){return function(c){return cljs.core.deref.call(null,function(){var d=cljs.core.truth_(c)?a:b;return cljs.core.truth_(d)?d:cljs.core.atom.call(null,null)}())}}(a,R,N,P,O,I,H,L,K,E,G,J,M,B,C,A,D,F,f,g,h,k,l,m,n,p,q,r,u,t,v,w,x,y,z,b,c,c,d,e);return javelin.core.formula.call(null,
a).call(null,L)}(),new cljs.core.Keyword(null,"click","click",1912301393),function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,z,y,A,B,C,D,E,I,H,F,G,K,L,J,M,N,O,P){return function(){cljs.core.reset_BANG_.call(null,f,!0);return setTimeout(function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,z,y,A,B,C,D,E,I,H,F,G,K,L,J,M,N,O,P){return function(){return a.focus()}}(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,z,y,A,B,C,D,E,I,H,F,G,K,L,J,M,N,O,P),0)}}(N,P,O,I,H,L,K,E,G,J,M,B,C,A,D,F,f,g,h,k,l,m,n,p,q,r,u,t,v,w,x,
y,z,b,c,c,d,e),new cljs.core.Keyword(null,"keyup","keyup",-794526927),function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,z,y,A,B,C,D,E,I,H,F,G,K,L,J,M,N,O,P){return function(Q){return cljs.core._EQ_.call(null,weathergen.ui.common.ESCAPE_KEY,Q.keyCode)?javelin.core.dosync_STAR_.call(null,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,z,y,A,B,C,D,E,I,H,F,G,K,L,J,M,N,O,P){return function(){cljs.core.reset_BANG_.call(null,F,a.innerText);return cljs.core.reset_BANG_.call(null,f,!1)}}(a,b,c,d,e,f,g,h,k,
l,m,n,p,q,r,t,u,v,w,x,z,y,A,B,C,D,E,I,H,F,G,K,L,J,M,N,O,P)):null}}(N,P,O,I,H,L,K,E,G,J,M,B,C,A,D,F,f,g,h,k,l,m,n,p,q,r,u,t,v,w,x,y,z,b,c,c,d,e),new cljs.core.Keyword(null,"mousemove","mousemove",-1077794734),function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,z,y,A,B,C,D,E,I,F,H,G,K,L,J,M,N,O,P){return function(a){cljs.core.reset_BANG_.call(null,O,!0);a.preventDefault();return!1}}(N,P,O,I,H,L,K,E,G,J,M,B,C,A,D,F,f,g,h,k,l,m,n,p,q,r,u,t,v,w,x,y,z,b,c,c,d,e),new cljs.core.Keyword(null,"blur","blur",-453500461),
function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,z,y,A,B,C,D,E,I,F,H,G,K,L,J,M,N,O,P){return function(Q){return javelin.core.dosync_STAR_.call(null,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,z,y,A,B,C,D,E,I,F,H,G,K,L,J,M,N,O,P){return function(){cljs.core.reset_BANG_.call(null,H,a.innerText);return cljs.core.reset_BANG_.call(null,f,!1)}}(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,z,y,A,B,C,D,E,I,F,H,G,K,L,J,M,N,O,P))}}(N,P,O,I,H,L,K,E,G,J,M,B,C,A,D,F,f,g,h,k,l,m,n,p,q,r,u,t,v,w,x,y,z,b,c,c,d,e),
new cljs.core.Keyword(null,"css","css",1135045163),javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,z,y,A,B,C,D,E,I,H,F,G,K,L,J,M,N,O,P){return function(a,b,c,d,e,f,g,h){return cljs.core.PersistentHashMap.fromArrays([new cljs.core.Keyword(null,"font-style","font-style",-773672352),new cljs.core.Keyword(null,"color","color",1011675173),new cljs.core.Keyword(null,"text-align","text-align",1786091845),new cljs.core.Keyword(null,"white-space","white-space",-707351930),new cljs.core.Keyword(null,
"font-weight","font-weight",2085804583),new cljs.core.Keyword(null,"cursor","cursor",1011937484),new cljs.core.Keyword(null,"padding","padding",1660304693),new cljs.core.Keyword(null,"pointer-events","pointer-events",-1053858853),new cljs.core.Keyword(null,"font-family","font-family",-667419874)],[cljs.core.truth_(c)?"italic":null,weathergen.ui.common.to_rgba.call(null,d),h,"pre-wrap",cljs.core.truth_(a)?"bold":null,cljs.core.truth_(f)?"text":null,weathergen.ui.common.ems.call(null,0,.2),cljs.core.truth_(cljs.core.truth_(f)?
null==g:f)?"all":"none",b])}}(N,P,O,I,H,L,K,E,G,J,M,B,C,A,D,F,f,g,h,k,l,m,n,p,q,r,u,t,v,w,x,y,z,b,c,c,d,e)).call(null,n,r,q,p,u,m,e,t),w);return N}());return O}())}())};
weathergen.ui.layers.annotations.edit_frame_overlay=function(a,b,c,d){var e=null!=b&&(b.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===b.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,b):b,f=cljs.core.get.call(null,e,new cljs.core.Keyword(null,"map-zoom","map-zoom",1543291337)),g=cljs.core.get.call(null,e,new cljs.core.Keyword(null,"map-viewbox","map-viewbox",860086717)),h=cljs.core.get.call(null,e,new cljs.core.Keyword(null,"dragging","dragging",1185097613)),
k=null!=c&&(c.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===c.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,c):c,l=cljs.core.get.call(null,k,new cljs.core.Keyword(null,"register-drag","register-drag",1575693720)),m=cljs.core.get.call(null,k,new cljs.core.Keyword(null,"delete-annotation","delete-annotation",563372499)),n=null!=d&&(d.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===d.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,
d):d,p=cljs.core.get.call(null,n,new cljs.core.Keyword(null,"width","width",-384071477)),q=cljs.core.get.call(null,n,new cljs.core.Keyword(null,"height","height",1025178622)),r=cljs.core.get.call(null,n,new cljs.core.Keyword(null,"buttons","buttons",-1953831197)),u=weathergen.ui.common.path_lens.call(null,a,new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"width","width",-384071477)],null)),t=weathergen.ui.common.path_lens.call(null,a,new cljs.core.PersistentVector(null,
1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"height","height",1025178622)],null)),v=weathergen.ui.common.path_lens.call(null,a,new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"font-size","font-size",-1847940346)],null)),w=weathergen.ui.common.path_lens.call(null,a,new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"rotation","rotation",-1728051644)],null)),x=weathergen.ui.common.path_lens.call(null,
a,new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"x","x",2099068185)],null)),y=weathergen.ui.common.path_lens.call(null,a,new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"y","y",-1757859776)],null)),z=weathergen.ui.common.path_lens.call(null,a,new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"editing?","editing?",1646440800)],
null)),B=javelin.core.lens.call(null,javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,z,y,A,B){return function(a){return cljs.core.truth_(a)?a:0}}(u,t,v,w,x,y,z,b,e,e,f,g,h,c,k,k,l,m,d,n,n,p,q,r)).call(null,x),function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,z,y,A,B){return function(a){return cljs.core.reset_BANG_.call(null,e,a)}}(u,t,v,w,x,y,z,b,e,e,f,g,h,c,k,k,l,m,d,n,n,p,q,r)),C=javelin.core.lens.call(null,javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,k,
l,m,n,p,q,r,t,u,v,w,x,z,y,A,B,C){return function(a){return cljs.core.truth_(a)?a:0}}(B,u,t,v,w,x,y,z,b,e,e,f,g,h,c,k,k,l,m,d,n,n,p,q,r)).call(null,y),function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,z,y,A,B,C){return function(a){return cljs.core.reset_BANG_.call(null,g,a)}}(B,u,t,v,w,x,y,z,b,e,e,f,g,h,c,k,k,l,m,d,n,n,p,q,r)),A=javelin.core.lens.call(null,javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,z,y,A,B,C,D){return function(a){return cljs.core.truth_(a)?a:0}}(B,
C,u,t,v,w,x,y,z,b,e,e,f,g,h,c,k,k,l,m,d,n,n,p,q,r)).call(null,w),function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,z,y,A,B,C,D){return function(a){return cljs.core.reset_BANG_.call(null,f,a)}}(B,C,u,t,v,w,x,y,z,b,e,e,f,g,h,c,k,k,l,m,d,n,n,p,q,r)),D=cljs.core.truth_(p)?p:u,F=cljs.core.truth_(q)?q:t;return hoplon.svg.g.call(null,new cljs.core.Keyword(null,"debug","debug",-1608172596),"edit controls",function(){var E=new cljs.core.Delay(function(b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,z,y,A,B,C,D,E,F,G,
da){return function(){var I=javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,z,y,A,B,C,D,E,F,I){return function(a){return.2/a}}(b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,z,y,A,B,C,D,E,F,G,da)).call(null,u),H=javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,z,y,A,B,C,D,E,F,I,G){return function(a){return.65*a}}(I,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,z,y,A,B,C,D,E,F,G,da)).call(null,I),K=javelin.core.formula.call(null,function(a,b,c,d,e,f,g,
h,k,l,m,n,p,q,r,t,u,v,w,x,z,y,A,B,C,D,E,F,I,G,H){return function(a,b){return a+2*b}}(I,H,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,z,y,A,B,C,D,E,F,G,da)).call(null,b,I),L=javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,z,y,A,B,C,D,E,F,I,G,H,K){return function(a,b){return a+2*b}}(I,H,K,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,z,y,A,B,C,D,E,F,G,da)).call(null,c,I),J=javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,z,y,A,B,C,D,E,F,I,G,H,K,L){return function(a){return 1.7/
a}}(I,H,K,L,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,z,y,A,B,C,D,E,F,G,da)).call(null,u),M=javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,z,y,A,B,C,D,E,F,I,G,H,K,L,J){return function(a,b,c){a=a/2-b;c*=-2.5;return["M",cljs.core.str.cljs$core$IFn$_invoke$arity$1(a),",0 L",cljs.core.str.cljs$core$IFn$_invoke$arity$1(a),",",cljs.core.str.cljs$core$IFn$_invoke$arity$1(c)].join("")}}(I,H,K,L,J,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,z,y,A,B,C,D,E,F,G,da)).call(null,K,I,J);return hoplon.svg.g.call(null,
cljs.core.truth_(da.call(null,new cljs.core.Keyword(null,"rotate","rotate",152705015)))?hoplon.svg.g.call(null,new cljs.core.Keyword(null,"debug","debug",-1608172596),"rotate handle",hoplon.svg.path.call(null,new cljs.core.Keyword(null,"stroke","stroke",1741823555),"lightblue",new cljs.core.Keyword(null,"fill","fill",883462889),"none",new cljs.core.Keyword(null,"stroke-width","stroke-width",716836435),I,new cljs.core.Keyword(null,"d","d",1972142424),M),hoplon.svg.path.call(null,new cljs.core.Keyword(null,
"stroke","stroke",1741823555),"blue",new cljs.core.Keyword(null,"fill","fill",883462889),"none",new cljs.core.Keyword(null,"stroke-width","stroke-width",716836435),H,new cljs.core.Keyword(null,"d","d",1972142424),M)):null,hoplon.svg.rect.call(null,new cljs.core.Keyword(null,"width","width",-384071477),javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,z,y,A,B,C,D,E,F,I,G,H,K,L,J,M){return function(a,b){return a-b}}(M,I,H,K,L,J,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,z,y,
A,B,C,D,E,F,G,da)).call(null,K,I),new cljs.core.Keyword(null,"height","height",1025178622),javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,z,y,A,B,C,D,E,F,I,G,H,K,L,J,M){return function(a,b){return a-b}}(M,I,H,K,L,J,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,z,y,A,B,C,D,E,F,G,da)).call(null,L,I),new cljs.core.Keyword(null,"x","x",2099068185),javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,z,y,A,B,C,D,E,F,I,G,H,K,L,J,M){return function(a){return-.5*
a}}(M,I,H,K,L,J,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,z,y,A,B,C,D,E,F,G,da)).call(null,I),new cljs.core.Keyword(null,"y","y",-1757859776),javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,z,y,A,B,C,D,E,F,I,G,H,K,L,J,M){return function(a){return-.5*a}}(M,I,H,K,L,J,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,z,y,A,B,C,D,E,F,G,da)).call(null,I),new cljs.core.Keyword(null,"stroke","stroke",1741823555),"lightblue",new cljs.core.Keyword(null,"fill","fill",883462889),"none",new cljs.core.Keyword(null,
"stroke-width","stroke-width",716836435),I),hoplon.svg.rect.call(null,new cljs.core.Keyword(null,"width","width",-384071477),javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,z,y,A,B,C,D,E,F,I,G,H,K,L,J,M){return function(a,b){return a-b}}(M,I,H,K,L,J,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,z,y,A,B,C,D,E,F,G,da)).call(null,K,I),new cljs.core.Keyword(null,"height","height",1025178622),javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,z,y,A,
B,C,D,E,F,I,G,H,K,L,J,M){return function(a,b){return a-b}}(M,I,H,K,L,J,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,z,y,A,B,C,D,E,F,G,da)).call(null,L,I),new cljs.core.Keyword(null,"x","x",2099068185),javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,z,y,A,B,C,D,E,F,I,G,H,K,L,J,M){return function(a){return-.5*a}}(M,I,H,K,L,J,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,z,y,A,B,C,D,E,F,G,da)).call(null,I),new cljs.core.Keyword(null,"y","y",-1757859776),javelin.core.formula.call(null,
function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,z,y,A,B,C,D,E,F,I,G,H,K,L,J,M){return function(a){return-.5*a}}(M,I,H,K,L,J,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,z,y,A,B,C,D,E,F,G,da)).call(null,I),new cljs.core.Keyword(null,"stroke","stroke",1741823555),"blue",new cljs.core.Keyword(null,"fill","fill",883462889),"none",new cljs.core.Keyword(null,"stroke-width","stroke-width",716836435),H),function(){var N=function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,z,y,A,B,C,D,E,F,I,G,H,K,L,J,M){return function(N){var O=
null!=N&&(N.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===N.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,N):N,P=cljs.core.get.call(null,O,new cljs.core.Keyword(null,"x","x",2099068185)),Q=cljs.core.get.call(null,O,new cljs.core.Keyword(null,"y","y",-1757859776)),S=cljs.core.get.call(null,O,new cljs.core.Keyword(null,"name","name",1843675177)),R=cljs.core.get.call(null,O,new cljs.core.Keyword(null,"src","src",-1651076051)),T=cljs.core.get.call(null,O,new cljs.core.Keyword(null,
"drag","drag",449951290)),U=cljs.core.get.call(null,O,new cljs.core.Keyword(null,"click","click",1912301393));return hoplon.svg.g.call(null,new cljs.core.Keyword(null,"debug","debug",-1608172596),S,new cljs.core.Keyword(null,"transform","transform",1381301764),javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,z,y,A,B,C,D,E,F,I,G,H,K,L,J,M,N,O,P,Q,S,R,T,U){return function(a,b,c){return b.call(null,a,c)}}(N,O,P,Q,S,R,T,U,a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,z,y,A,B,
C,D,E,F,I,G,H,K,L,J,M)).call(null,P,weathergen.ui.common.svg_translate,Q),new cljs.core.Keyword(null,"mousedown","mousedown",1391242074),function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,z,y,A,B,C,D,E,F,I,G,H,K,L,J,M,N,O,P,Q,S,R,T,U){return function(V){return cljs.core.truth_(g)?N.call(null,function(){var V=g.call(null);cljs.core.reset_BANG_.call(null,K,e);return function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,z,y,A,B,C,D,E,F,I,G,H,K,L,J,M,N,O,P,Q,S,R,T,U,V){return function(b,c){a.call(null,b,c);
return cljs.core.truth_(c)?cljs.core.reset_BANG_.call(null,L,null):null}}(V,a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,z,y,A,B,C,D,E,F,I,G,H,K,L,J,M,N,O,P,Q,S,R,T,U)}()):null}}(N,O,P,Q,S,R,T,U,a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,z,y,A,B,C,D,E,F,I,G,H,K,L,J,M),new cljs.core.Keyword(null,"click","click",1912301393),function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,z,y,A,B,C,D,E,F,I,G,H,K,L,J,M,N,O,P,Q,S,R,T,U){return function(a){return cljs.core.truth_(h)?h.call(null):null}}(N,O,P,Q,S,R,T,U,a,b,c,d,
e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,z,y,A,B,C,D,E,F,I,G,H,K,L,J,M),hoplon.svg.rect.call(null,new cljs.core.Keyword(null,"x","x",2099068185),0,new cljs.core.Keyword(null,"y","y",-1757859776),0,new cljs.core.Keyword(null,"width","width",-384071477),f,new cljs.core.Keyword(null,"height","height",1025178622),f,new cljs.core.Keyword(null,"stroke","stroke",1741823555),"black",new cljs.core.Keyword(null,"fill","fill",883462889),javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,
z,y,A,B,C,D,E,F,I,G,H,K,L,J,M,N,O,P,Q,S,R,T,U){return function(a){return cljs.core._EQ_.call(null,a,e)?"lightblue":"white"}}(N,O,P,Q,S,R,T,U,a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,z,y,A,B,C,D,E,F,I,G,H,K,L,J,M)).call(null,B),new cljs.core.Keyword(null,"stroke-width","stroke-width",716836435),javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,z,y,A,B,C,D,E,F,I,G,H,K,L,J,M,N,O,P,Q,S,R,T,U){return function(a){return.1/a}}(N,O,P,Q,S,R,T,U,a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,
u,v,w,x,z,y,A,B,C,D,E,F,I,G,H,K,L,J,M)).call(null,y)),hoplon.svg.image.call(null,new cljs.core.Keyword(null,"xlink-href","xlink-href",244956585),R,new cljs.core.Keyword(null,"x","x",2099068185),javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,z,y,A,B,C,D,E,F,I,G,H,K,L,J,M,N,O,P,Q,S,R,T,U){return function(a){return.1*a}}(N,O,P,Q,S,R,T,U,a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,z,y,A,B,C,D,E,F,I,G,H,K,L,J,M)).call(null,f),new cljs.core.Keyword(null,"y","y",-1757859776),
javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,z,y,A,B,C,D,E,F,I,G,H,K,L,J,M,N,O,P,Q,S,R,T,U){return function(a){return.1*a}}(N,O,P,Q,S,R,T,U,a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,z,y,A,B,C,D,E,F,I,G,H,K,L,J,M)).call(null,f),new cljs.core.Keyword(null,"width","width",-384071477),javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,z,y,A,B,C,D,E,F,I,G,H,K,L,J,M,N,O,P,Q,S,R,T,U){return function(a){return.8*a}}(N,O,P,Q,S,R,T,U,a,b,c,d,e,f,
g,h,k,l,m,n,p,q,r,t,u,v,w,x,z,y,A,B,C,D,E,F,I,G,H,K,L,J,M)).call(null,f),new cljs.core.Keyword(null,"height","height",1025178622),javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,z,y,A,B,C,D,E,F,I,G,H,K,L,J,M,N,O,P,Q,S,R,T,U){return function(a){return.8*a}}(N,O,P,Q,S,R,T,U,a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,z,y,A,B,C,D,E,F,I,G,H,K,L,J,M)).call(null,f)))}}(M,I,H,K,L,J,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,z,y,A,B,C,D,E,F,G,da);return hoplon.svg.g.call(null,new cljs.core.Keyword(null,
"debug","debug",-1608172596),javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,z,y,A,B,C,D,E,F,I,G,H,K,L,J,M,N){return function(a,b){return["edit buttons. Dragging: ",a.call(null,b)].join("")}}(N,M,I,H,K,L,J,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,z,y,A,B,C,D,E,F,G,da)).call(null,cljs.core.pr_str,w),cljs.core.truth_(da.call(null,new cljs.core.Keyword(null,"move","move",-2110884309)))?N.call(null,new cljs.core.PersistentArrayMap(null,5,[new cljs.core.Keyword(null,"name",
"name",1843675177),"Move",new cljs.core.Keyword(null,"x","x",2099068185),javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,z,y,A,B,C,D,E,F,I,G,H,K,L,J,M,N){return function(a,b){return-(a+b/2)}}(N,M,I,H,K,L,J,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,z,y,A,B,C,D,E,F,G,da)).call(null,J,I),new cljs.core.Keyword(null,"y","y",-1757859776),javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,z,y,A,B,C,D,E,F,I,G,H,K,L,J,M,N){return function(a,b){return-(a+
b/2)}}(N,M,I,H,K,L,J,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,z,y,A,B,C,D,E,F,G,da)).call(null,J,I),new cljs.core.Keyword(null,"src","src",-1651076051),"images/move.svg",new cljs.core.Keyword(null,"drag","drag",449951290),function(b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,z,y,A,B,C,D,E,F,I,G,H,K,L,J,M,N,O){return function(){var P=(new cljs.core.Keyword(null,"x","x",2099068185)).cljs$core$IFn$_invoke$arity$1(cljs.core.deref.call(null,a)),Q=(new cljs.core.Keyword(null,"y","y",-1757859776)).cljs$core$IFn$_invoke$arity$1(cljs.core.deref.call(null,
a));return function(b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,z,y,A,B,C,D,E,F,I,G,H,K,L,J,M,N,O,P,Q){return function(d,e){e=cljs.core.nth.call(null,d,0,null);d=cljs.core.nth.call(null,d,1,null);return cljs.core.swap_BANG_.call(null,a,cljs.core.assoc,new cljs.core.Keyword(null,"x","x",2099068185),b+e,new cljs.core.Keyword(null,"y","y",-1757859776),c+d)}}(P,Q,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,z,y,A,B,C,D,E,F,I,G,H,K,L,J,M,N,O)}}(N,M,I,H,K,L,J,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,z,y,A,B,C,D,E,F,G,
da)],null)):null,cljs.core.truth_(da.call(null,new cljs.core.Keyword(null,"rotate","rotate",152705015)))?N.call(null,new cljs.core.PersistentArrayMap(null,5,[new cljs.core.Keyword(null,"name","name",1843675177),"Rotate",new cljs.core.Keyword(null,"x","x",2099068185),javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,z,y,A,B,C,D,E,F,I,G,H,K,L,J,M,N){return function(a,b){return a/2+b/-2}}(N,M,I,H,K,L,J,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,z,y,A,B,C,D,E,F,G,da)).call(null,
b,J),new cljs.core.Keyword(null,"y","y",-1757859776),javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,z,y,A,B,C,D,E,F,I,G,H,K,L,J,M,N){return function(a,b){return-(3*a+b/2)}}(N,M,I,H,K,L,J,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,z,y,A,B,C,D,E,F,G,da)).call(null,J,I),new cljs.core.Keyword(null,"src","src",-1651076051),"images/rotate.svg",new cljs.core.Keyword(null,"drag","drag",449951290),function(b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,z,y,A,B,C,D,E,F,I,G,H,K,L,J,M,N,O){return function(){var P=
cljs.core.deref.call(null,p),Q=weathergen.math.rotate.call(null,-P,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[0,-2.5*cljs.core.deref.call(null,h)],null)),S=new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[-(cljs.core.deref.call(null,k)/2),0],null),R=cljs.core.deref.call(null,m),T=cljs.core.deref.call(null,n),U=weathergen.math.rotate.call(null,P,S);return function(b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,z,y,A,B,C,D,E,F,I,G,H,K,L,J,M,N,
O,P,Q,S,R,T,U){return function(b,h){cljs.core.nth.call(null,b,0,null);cljs.core.nth.call(null,b,1,null);h=weathergen.math.vector_add.call(null,b,c);b=cljs.core.nth.call(null,h,0,null);h=cljs.core.nth.call(null,h,1,null);b=weathergen.math.heading.call(null,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[b,-h],null));h=weathergen.math.rotate.call(null,b,d);var k=weathergen.math.vector_add.call(null,h,weathergen.math.vector_scale.call(null,-1,g));h=cljs.core.nth.call(null,
k,0,null);k=cljs.core.nth.call(null,k,1,null);return cljs.core.swap_BANG_.call(null,a,cljs.core.assoc,new cljs.core.Keyword(null,"rotation","rotation",-1728051644),cljs.core.mod.call(null,b,360),new cljs.core.Keyword(null,"x","x",2099068185),e+h,new cljs.core.Keyword(null,"y","y",-1757859776),f-k)}}(P,Q,S,R,T,U,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,z,y,A,B,C,D,E,F,I,G,H,K,L,J,M,N,O)}}(N,M,I,H,K,L,J,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,z,y,A,B,C,D,E,F,G,da)],null)):null,cljs.core.truth_(da.call(null,
new cljs.core.Keyword(null,"resize-text","resize-text",1413184480)))?N.call(null,new cljs.core.PersistentArrayMap(null,5,[new cljs.core.Keyword(null,"name","name",1843675177),"Resize Text",new cljs.core.Keyword(null,"x","x",2099068185),javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,z,y,A,B,C,D,E,F,I,G,H,K,L,J,M,N){return function(a,b){return a+b/-2}}(N,M,I,H,K,L,J,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,z,y,A,B,C,D,E,F,G,da)).call(null,J,I),new cljs.core.Keyword(null,
"y","y",-1757859776),javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,z,y,A,B,C,D,E,F,I,G,H,K,L,J,M,N){return function(a,b){return-(a+b/2)}}(N,M,I,H,K,L,J,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,z,y,A,B,C,D,E,F,G,da)).call(null,J,I),new cljs.core.Keyword(null,"src","src",-1651076051),"images/text-resize.svg",new cljs.core.Keyword(null,"drag","drag",449951290),function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,z,y,A,B,C,D,E,F,I,G,H,K,L,J,M,N){return function(){var O=.5*(new cljs.core.Keyword(null,
"width","width",-384071477)).cljs$core$IFn$_invoke$arity$1(cljs.core.deref.call(null,B)),P=cljs.core.deref.call(null,r);return function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,z,y,A,B,C,D,E,F,I,G,H,K,L,J,M,N,O,P){return function(c,d){var e=cljs.core.nth.call(null,c,0,null);cljs.core.nth.call(null,c,1,null);return cljs.core.reset_BANG_.call(null,u,function(){var c=e/a*100+b;c=1<c?c:1;return 100>c?c:100}())}}(O,P,a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,z,y,A,B,C,D,E,F,I,G,H,K,L,J,M,N)}}(N,M,I,H,K,L,
J,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,z,y,A,B,C,D,E,F,G,da)],null)):null,cljs.core.truth_(da.call(null,new cljs.core.Keyword(null,"done","done",-889844188)))?N.call(null,new cljs.core.PersistentArrayMap(null,5,[new cljs.core.Keyword(null,"name","name",1843675177),"Done",new cljs.core.Keyword(null,"x","x",2099068185),javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,z,y,A,B,C,D,E,F,I,G,H,K,L,J,M,N){return function(a,b){return-(a+b/2)}}(N,M,I,H,K,L,J,b,c,d,e,f,g,h,k,
l,m,n,p,q,r,t,u,v,w,x,z,y,A,B,C,D,E,F,G,da)).call(null,J,I),new cljs.core.Keyword(null,"y","y",-1757859776),javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,z,y,A,B,C,D,E,F,I,G,H,K,L,J,M,N){return function(a,b){return a+b/2}}(N,M,I,H,K,L,J,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,z,y,A,B,C,D,E,F,G,da)).call(null,c,I),new cljs.core.Keyword(null,"src","src",-1651076051),"images/checkmark.png",new cljs.core.Keyword(null,"click","click",1912301393),function(a,b,c,d,e,f,g,h,
k,l,m,n,p,q,r,t,u,v,w,x,z,y,A,B,C,D,E,F,I,G,H,K,L,J,M,N){return function(){return cljs.core.reset_BANG_.call(null,w,!1)}}(N,M,I,H,K,L,J,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,z,y,A,B,C,D,E,F,G,da)],null)):null,cljs.core.truth_(da.call(null,new cljs.core.Keyword(null,"delete","delete",-1768633620)))?N.call(null,new cljs.core.PersistentArrayMap(null,5,[new cljs.core.Keyword(null,"name","name",1843675177),"Delete",new cljs.core.Keyword(null,"x","x",2099068185),javelin.core.formula.call(null,function(a,
b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,z,y,A,B,C,D,E,F,I,G,H,K,L,J,M,N){return function(a,b){return a+b/-2}}(N,M,I,H,K,L,J,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,z,y,A,B,C,D,E,F,G,da)).call(null,J,I),new cljs.core.Keyword(null,"y","y",-1757859776),javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,z,y,A,B,C,D,E,F,I,G,H,K,L,J,M,N){return function(a,b){return a+b/2}}(N,M,I,H,K,L,J,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,z,y,A,B,C,D,E,F,G,da)).call(null,c,I),new cljs.core.Keyword(null,
"src","src",-1651076051),"images/trash.png",new cljs.core.Keyword(null,"click","click",1912301393),B],null)):null,cljs.core.truth_(da.call(null,new cljs.core.Keyword(null,"resize","resize",297367086)))?N.call(null,new cljs.core.PersistentArrayMap(null,5,[new cljs.core.Keyword(null,"name","name",1843675177),"Resize",new cljs.core.Keyword(null,"x","x",2099068185),javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,z,y,A,B,C,D,E,F,I,G,H,K,L,J,M,N){return function(a,b){return a+
b/2}}(N,M,I,H,K,L,J,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,z,y,A,B,C,D,E,F,G,da)).call(null,b,I),new cljs.core.Keyword(null,"y","y",-1757859776),javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,z,y,A,B,C,D,E,F,I,G,H,K,L,J,M,N){return function(a,b){return a+b/2}}(N,M,I,H,K,L,J,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,z,y,A,B,C,D,E,F,G,da)).call(null,c,I),new cljs.core.Keyword(null,"src","src",-1651076051),"images/resize.svg",new cljs.core.Keyword(null,"drag","drag",449951290),
function(b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,z,y,A,B,C,D,E,F,I,G,H,K,L,J,M,N,O){return function(){var P=cljs.core.deref.call(null,k),Q=cljs.core.deref.call(null,l),S=cljs.core.deref.call(null,p);return function(b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,z,y,A,B,C,D,E,F,I,G,H,K,L,J,M,N,O,P,Q,S){return function(e,f){f=weathergen.math.rotate.call(null,d,e);e=cljs.core.nth.call(null,f,0,null);f=cljs.core.nth.call(null,f,1,null);e=b+e;f=c+f;return cljs.core.swap_BANG_.call(null,a,cljs.core.assoc,new cljs.core.Keyword(null,
"width","width",-384071477),0>e?0:e,new cljs.core.Keyword(null,"height","height",1025178622),0>f?0:f)}}(P,Q,S,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,z,y,A,B,C,D,E,F,I,G,H,K,L,J,M,N,O)}}(N,M,I,H,K,L,J,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,z,y,A,B,C,D,E,F,G,da)],null)):null)}())}}(D,F,B,C,A,u,t,v,w,x,y,z,b,e,e,f,g,h,c,k,k,l,m,d,n,n,p,q,r),null),G=new cljs.core.Delay(function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,z,y,A,B,C,D,E,F,G,ma){return function(){return null}}(E,D,F,B,C,A,u,t,v,w,x,y,z,b,e,e,
f,g,h,c,k,k,l,m,d,n,n,p,q,r),null);E=function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,z,y,A,B,C,D,E,F,G,ma,Fa){return function(c){return cljs.core.deref.call(null,function(){var d=cljs.core.truth_(c)?a:b;return cljs.core.truth_(d)?d:cljs.core.atom.call(null,null)}())}}(E,G,D,F,B,C,A,u,t,v,w,x,y,z,b,e,e,f,g,h,c,k,k,l,m,d,n,n,p,q,r);return javelin.core.formula.call(null,E).call(null,z)}())};
weathergen.ui.layers.annotations.shape_overlay=function(a,b,c){var d=null!=b&&(b.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===b.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,b):b,e=cljs.core.get.call(null,d,new cljs.core.Keyword(null,"annotations","annotations",1640956248)),f=cljs.core.get.call(null,d,new cljs.core.Keyword(null,"map-viewbox","map-viewbox",860086717)),g=cljs.core.get.call(null,d,new cljs.core.Keyword(null,"map-zoom","map-zoom",1543291337)),
h=null!=c&&(c.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===c.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,c):c,k=cljs.core.get.call(null,h,new cljs.core.Keyword(null,"register-drag","register-drag",1575693720)),l=cljs.core.get.call(null,h,new cljs.core.Keyword(null,"delete-annotation","delete-annotation",563372499)),m=weathergen.ui.common.path_lens.call(null,a,new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,
"shape-type","shape-type",-835891005)],null)),n=weathergen.ui.common.path_lens.call(null,a,new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"font-size","font-size",-1847940346)],null)),p=weathergen.ui.common.path_lens.call(null,a,new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"font-family","font-family",-667419874)],null)),q=weathergen.ui.common.path_lens.call(null,a,new cljs.core.PersistentVector(null,
1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"font-color","font-color",-2019660285)],null)),r=weathergen.ui.common.path_lens.call(null,a,new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"text","text",-1790561697)],null)),u=weathergen.ui.common.path_lens.call(null,a,new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"x","x",2099068185)],null)),t=weathergen.ui.common.path_lens.call(null,
a,new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"y","y",-1757859776)],null)),v=weathergen.ui.common.path_lens.call(null,a,new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"width","width",-384071477)],null)),w=weathergen.ui.common.path_lens.call(null,a,new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"height","height",1025178622)],
null)),x=weathergen.ui.common.path_lens.call(null,a,new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"rotation","rotation",-1728051644)],null)),y=weathergen.ui.common.path_lens.call(null,a,new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"editing?","editing?",1646440800)],null)),z=javelin.core.lens.call(null,javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,
x,z,y){return function(a){return cljs.core.truth_(a)?a:0}}(m,n,p,q,r,u,t,v,w,x,y,b,d,d,e,f,g,c,h,h,k,l)).call(null,u),function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,z,y){return function(a){return cljs.core.reset_BANG_.call(null,f,a)}}(m,n,p,q,r,u,t,v,w,x,y,b,d,d,e,f,g,c,h,h,k,l)),B=javelin.core.lens.call(null,javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,z,y,A){return function(a){return cljs.core.truth_(a)?a:0}}(z,m,n,p,q,r,u,t,v,w,x,y,b,d,d,e,f,g,c,h,h,k,l)).call(null,
t),function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,z,y,A){return function(a){return cljs.core.reset_BANG_.call(null,h,a)}}(z,m,n,p,q,r,u,t,v,w,x,y,b,d,d,e,f,g,c,h,h,k,l)),C=javelin.core.lens.call(null,javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,z,y,A,B){return function(a){return cljs.core.truth_(a)?a:0}}(z,B,m,n,p,q,r,u,t,v,w,x,y,b,d,d,e,f,g,c,h,h,k,l)).call(null,v),function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,z,y,A,B){return function(a){return cljs.core.reset_BANG_.call(null,
l,a)}}(z,B,m,n,p,q,r,u,t,v,w,x,y,b,d,d,e,f,g,c,h,h,k,l)),A=javelin.core.lens.call(null,javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,z,y,A,B,C){return function(a){return cljs.core.truth_(a)?a:0}}(z,B,C,m,n,p,q,r,u,t,v,w,x,y,b,d,d,e,f,g,c,h,h,k,l)).call(null,w),function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,z,y,A,B,C){return function(a){return cljs.core.reset_BANG_.call(null,n,a)}}(z,B,C,m,n,p,q,r,u,t,v,w,x,y,b,d,d,e,f,g,c,h,h,k,l)),D=javelin.core.lens.call(null,
javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,z,y,A,B,C,D){return function(a){return cljs.core.truth_(a)?a:0}}(z,B,C,A,m,n,p,q,r,u,t,v,w,x,y,b,d,d,e,f,g,c,h,h,k,l)).call(null,x),function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,z,y,A,B,C,D){return function(a){return cljs.core.reset_BANG_.call(null,q,a)}}(z,B,C,A,m,n,p,q,r,u,t,v,w,x,y,b,d,d,e,f,g,c,h,h,k,l)),F=javelin.core.lens.call(null,javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,
x,z,y,A,B,C,D,F){return function(a){return cljs.core.truth_(a)?a:0}}(z,B,C,A,D,m,n,p,q,r,u,t,v,w,x,y,b,d,d,e,f,g,c,h,h,k,l)).call(null,n),function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,z,y,A,B,C,D,F){return function(a){return cljs.core.reset_BANG_.call(null,g,a)}}(z,B,C,A,D,m,n,p,q,r,u,t,v,w,x,y,b,d,d,e,f,g,c,h,h,k,l));return hoplon.svg.g.call(null,new cljs.core.Keyword(null,"transform","transform",1381301764),javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,z,y,A,
B,C,D,F,ka){return function(a,b,c){return b.call(null,a,c)}}(z,B,C,A,D,F,m,n,p,q,r,u,t,v,w,x,y,b,d,d,e,f,g,c,h,h,k,l)).call(null,z,weathergen.ui.common.svg_translate,B),hoplon.svg.g.call(null,new cljs.core.Keyword(null,"transform","transform",1381301764),javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,z,y,A,B,C,D,F,ka){return function(a,b){return a.call(null,b)}}(z,B,C,A,D,F,m,n,p,q,r,u,t,v,w,x,y,b,d,d,e,f,g,c,h,h,k,l)).call(null,weathergen.ui.common.svg_rotate,D),
function(){var E=javelin.core.cell.call(null,null),G=cljs.core.assoc.call(null,d,new cljs.core.Keyword(null,"dragging","dragging",1185097613),E);return hoplon.svg.g.call(null,new cljs.core.Keyword(null,"debug","debug",-1608172596),"shape annotation",weathergen.ui.layers.annotations.shape_contents_overlay.call(null,a,G),function(){var J=new cljs.core.Delay(function(b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,z,y,A,B,C,D,E,F,G,J,M){return function(){return weathergen.ui.layers.annotations.edit_frame_overlay.call(null,
a,c,G,new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"buttons","buttons",-1953831197),new cljs.core.PersistentHashSet(null,new cljs.core.PersistentArrayMap(null,6,[new cljs.core.Keyword(null,"resize-text","resize-text",1413184480),null,new cljs.core.Keyword(null,"done","done",-889844188),null,new cljs.core.Keyword(null,"move","move",-2110884309),null,new cljs.core.Keyword(null,"delete","delete",-1768633620),null,new cljs.core.Keyword(null,"resize","resize",297367086),null,new cljs.core.Keyword(null,
"rotate","rotate",152705015),null],null),null)],null))}}(E,G,z,B,C,A,D,F,m,n,p,q,r,u,t,v,w,x,y,b,d,d,e,f,g,c,h,h,k,l),null),M=new cljs.core.Delay(function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,z,y,A,B,C,D,E,F,G,J,M){return function(){return null}}(J,E,G,z,B,C,A,D,F,m,n,p,q,r,u,t,v,w,x,y,b,d,d,e,f,g,c,h,h,k,l),null);J=function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,z,y,A,B,C,D,E,F,G,J,M,Ga){return function(c){return cljs.core.deref.call(null,function(){var d=cljs.core.truth_(c)?a:b;return cljs.core.truth_(d)?
d:cljs.core.atom.call(null,null)}())}}(J,M,E,G,z,B,C,A,D,F,m,n,p,q,r,u,t,v,w,x,y,b,d,d,e,f,g,c,h,h,k,l);return javelin.core.formula.call(null,J).call(null,y)}())}()))};
weathergen.ui.layers.annotations.move_all=function(a){return function(b){return function(c,d){d=cljs.core.nth.call(null,c,0,null);var e=cljs.core.nth.call(null,c,1,null);return cljs.core.swap_BANG_.call(null,a,function(a,b,c,d,e){return function(f){return cljs.core.into.call(null,cljs.core.sorted_map.call(null),cljs.core.map.call(null,function(a,b,c,d,e){return function(a){var b=cljs.core.nth.call(null,a,0,null);cljs.core.nth.call(null,a,1,null);return new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,
[b,weathergen.math.vector_add.call(null,cljs.core.get.call(null,e,b),d)],null)}}(a,b,c,d,e),f))}}(c,d,e,c,b))}}(cljs.core.deref.call(null,a))};
weathergen.ui.layers.annotations.linear_edit_buttons=function(a,b,c){var d=null!=b&&(b.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===b.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,b):b,e=cljs.core.get.call(null,d,new cljs.core.Keyword(null,"annotations","annotations",1640956248)),f=cljs.core.get.call(null,d,new cljs.core.Keyword(null,"map-viewbox","map-viewbox",860086717)),g=cljs.core.get.call(null,d,new cljs.core.Keyword(null,"map-zoom","map-zoom",1543291337)),
h=cljs.core.get.call(null,d,new cljs.core.Keyword(null,"dragging","dragging",1185097613)),k=cljs.core.get.call(null,d,new cljs.core.Keyword(null,"rotation","rotation",-1728051644)),l=cljs.core.get.call(null,d,new cljs.core.Keyword(null,"add-points?","add-points?",-228600117)),m=null!=c&&(c.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===c.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,c):c,n=cljs.core.get.call(null,m,new cljs.core.Keyword(null,"register-drag",
"register-drag",1575693720)),p=cljs.core.get.call(null,m,new cljs.core.Keyword(null,"delete-annotation","delete-annotation",563372499)),q=weathergen.ui.common.path_lens.call(null,a,new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"points","points",-1486596883)],null)),r=weathergen.ui.common.path_lens.call(null,a,new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"editing?","editing?",1646440800)],
null)),u=weathergen.ui.common.path_lens.call(null,a,new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"open?","open?",1238443125)],null)),t=javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u){return function(a,b,c){return a.call(null,c.call(null,b))}}(q,r,u,b,d,d,e,f,g,h,k,l,c,m,m,n,p)).call(null,cljs.core.sort,q,cljs.core.keys),v=javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v){return function(a,
b){return a.call(null,b)}}(t,q,r,u,b,d,d,e,f,g,h,k,l,c,m,m,n,p)).call(null,cljs.core.first,t),w=javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w){return function(a,b){return a.call(null,b)}}(t,v,q,r,u,b,d,d,e,f,g,h,k,l,c,m,m,n,p)).call(null,cljs.core.second,t),x=javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x){return function(a,b,c){return b.call(null,a.call(null,c))}}(t,v,w,q,r,u,b,d,d,e,f,g,h,k,l,c,m,m,n,p)).call(null,cljs.core.butlast,
cljs.core.last,t),y=javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,z){return function(a,b){return a.call(null,b)}}(t,v,w,x,q,r,u,b,d,d,e,f,g,h,k,l,c,m,m,n,p)).call(null,cljs.core.last,t),z=weathergen.ui.common.map_lens.call(null,q,v),B=weathergen.ui.common.map_lens.call(null,z,0),C=weathergen.ui.common.map_lens.call(null,z,1),A=weathergen.ui.common.map_lens.call(null,q,w),D=weathergen.ui.common.map_lens.call(null,q,x),F=weathergen.ui.common.map_lens.call(null,q,y),
E=javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,z,y,A,B,C,D,E,F){return function(a,b){return b.call(null,a)}}(t,v,w,x,y,z,B,C,A,D,F,q,r,u,b,d,d,e,f,g,h,k,l,c,m,m,n,p)).call(null,q,cljs.core.count),G=javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,z,y,A,B,C,D,E,F,G){return function(I,H,K,L,J,M,N,O,P,Q){var S=cljs.core.drop.call(null,1,cljs.core.cycle.call(null,H)),R=cljs.core.drop.call(null,P-1,cljs.core.cycle.call(null,H));P=cljs.core.not.call(null,
Q)&&2<P;P=function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,z,y,A,B,C,D,E,F,I,G,H,K){return function(a,b,c){b=weathergen.math.normalize.call(null,weathergen.math.vector_subtract.call(null,b,a));a=weathergen.math.normalize.call(null,weathergen.math.vector_subtract.call(null,c,a));return weathergen.ui.layers.annotations.annotation_rotation.call(null,weathergen.ui.layers.annotations.midpoint.call(null,b,a))}}(S,R,P,a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,z,y,A,B,C,D,E,F,G);I=cljs.core.zipmap.call(null,
H,cljs.core.map.call(null,P,cljs.core.map.call(null,I,H),cljs.core.map.call(null,I,S),cljs.core.map.call(null,I,R)));return cljs.core.truth_(Q)?cljs.core.assoc.call(null,I,K,P.call(null,J,M,M),L,P.call(null,O,N,N)):I}}(t,v,w,x,y,z,B,C,A,D,F,E,q,r,u,b,d,d,e,f,g,h,k,l,c,m,m,n,p)).call(null,q,t,v,y,z,A,D,F,E,u);return hoplon.svg.g.call(null,new cljs.core.Keyword(null,"debug","debug",-1608172596),"edit controls",function(){var J=new cljs.core.Delay(function(b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,z,y,A,
B,C,D,E,F,G,L,J){return function(){var I=javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,z,y,A,B,C,D,E,F,G,I){return function(a){return 1/a}}(b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,z,y,A,B,C,D,E,F,G,L,J)).call(null,A),H=javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,z,y,A,B,C,D,E,F,G,I,H){return function(a){return a/2}}(I,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,z,y,A,B,C,D,E,F,G,L,J)).call(null,I);return hoplon.svg.g.call(null,function(){var K=
function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,z,y,A,B,C,D,E,F,G,I,H,L){return function(K){var J=null!=K&&(K.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===K.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,K):K,M=cljs.core.get.call(null,J,new cljs.core.Keyword(null,"x","x",2099068185)),N=cljs.core.get.call(null,J,new cljs.core.Keyword(null,"drag","drag",449951290)),O=cljs.core.get.call(null,J,new cljs.core.Keyword(null,"y","y",-1757859776)),P=cljs.core.get.call(null,
J,new cljs.core.Keyword(null,"rotation","rotation",-1728051644)),Q=cljs.core.get.call(null,J,new cljs.core.Keyword(null,"scale","scale",-230427353)),S=cljs.core.get.call(null,J,new cljs.core.Keyword(null,"name","name",1843675177)),R=cljs.core.get.call(null,J,new cljs.core.Keyword(null,"cursor","cursor",1011937484)),T=cljs.core.get.call(null,J,new cljs.core.Keyword(null,"src","src",-1651076051)),U=cljs.core.get.call(null,J,new cljs.core.Keyword(null,"click","click",1912301393)),V=cljs.core.get.call(null,
J,new cljs.core.Keyword(null,"label","label",1718410804)),W=javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,z,y,A,B,C,D,E,F,G,I,H,L,J,K,M,N,O,P,Q,S,R,T,U,V){return function(a,b){a=cljs.core.truth_(a)?a:1;return b*a}}(K,J,M,N,O,P,Q,S,R,T,U,V,a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,z,y,A,B,C,D,E,F,G,I,H,L)).call(null,Q,a),X=javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,z,y,A,B,C,D,E,F,G,I,H,L,J,K,M,N,O,P,Q,S,R,T,U,V,W){return function(a){return a/
2}}(W,K,J,M,N,O,P,Q,S,R,T,U,V,a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,z,y,A,B,C,D,E,F,G,I,H,L)).call(null,W);return hoplon.svg.g.call(null,new cljs.core.Keyword(null,"debug","debug",-1608172596),S,new cljs.core.Keyword(null,"transform","transform",1381301764),javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,z,y,A,B,C,D,E,F,G,I,H,L,J,K,M,N,O,P,Q,S,R,T,U,V,W,X){return function(a,b,c,d,e,f){return f.call(null,b.call(null,a,d),c.call(null,cljs.core.truth_(e)?e:0))}}(W,X,
K,J,M,N,O,P,Q,S,R,T,U,V,a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,z,y,A,B,C,D,E,F,G,I,H,L)).call(null,M,weathergen.ui.common.svg_translate,weathergen.ui.common.svg_rotate,O,P,weathergen.ui.common.svg_xform_combine),new cljs.core.Keyword(null,"mousedown","mousedown",1391242074),function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,z,y,A,B,C,D,E,F,G,I,H,L,J,K,M,N,O,P,Q,S,R,T,U,V,W,X){return function(Y){return cljs.core.truth_(f)?W.call(null,function(){var Y=f.call(null);cljs.core.reset_BANG_.call(null,Q,l);
return function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,z,y,A,B,C,D,E,F,G,I,H,L,J,K,M,N,O,P,Q,S,R,T,U,V,W,X,Y){return function(b,c){a.call(null,b,c);return cljs.core.truth_(c)?cljs.core.reset_BANG_.call(null,S,null):null}}(Y,a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,z,y,A,B,C,D,E,F,G,I,H,L,J,K,M,N,O,P,Q,S,R,T,U,V,W,X)}()):null}}(W,X,K,J,M,N,O,P,Q,S,R,T,U,V,a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,z,y,A,B,C,D,E,F,G,I,H,L),new cljs.core.Keyword(null,"click","click",1912301393),function(a,b,c,d,e,f,g,h,
k,l,m,n,p,q,r,t,u,v,w,x,z,y,A,B,C,D,E,F,G,I,H,L,J,K,M,N,O,P,Q,S,R,T,U,V,W,X){return function(a){return cljs.core.truth_(p)?p.call(null):null}}(W,X,K,J,M,N,O,P,Q,S,R,T,U,V,a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,z,y,A,B,C,D,E,F,G,I,H,L),new cljs.core.Keyword(null,"css","css",1135045163),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"cursor","cursor",1011937484),R],null),hoplon.svg.rect.call(null,new cljs.core.Keyword(null,"x","x",2099068185),javelin.core.formula.call(null,function(a,
b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,z,y,A,B,C,D,E,F,G,I,H,L,J,K,M,N,O,P,Q,S,R,T,U,V,W,X){return function(a){return-a}}(W,X,K,J,M,N,O,P,Q,S,R,T,U,V,a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,z,y,A,B,C,D,E,F,G,I,H,L)).call(null,X),new cljs.core.Keyword(null,"y","y",-1757859776),javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,z,y,A,B,C,D,E,F,G,I,H,L,J,K,M,N,O,P,Q,S,R,T,U,V,W,X){return function(a){return-a}}(W,X,K,J,M,N,O,P,Q,S,R,T,U,V,a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,
v,w,x,z,y,A,B,C,D,E,F,G,I,H,L)).call(null,X),new cljs.core.Keyword(null,"width","width",-384071477),W,new cljs.core.Keyword(null,"height","height",1025178622),W,new cljs.core.Keyword(null,"stroke","stroke",1741823555),"black",new cljs.core.Keyword(null,"fill","fill",883462889),javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,z,y,A,B,C,D,E,F,G,I,H,L,J,K,M,N,O,P,Q,S,R,T,U,V,W,X){return function(a){return cljs.core._EQ_.call(null,a,l)?"lightblue":"white"}}(W,X,K,J,M,N,
O,P,Q,S,R,T,U,V,a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,z,y,A,B,C,D,E,F,G,I,H,L)).call(null,C),new cljs.core.Keyword(null,"stroke-width","stroke-width",716836435),javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,z,y,A,B,C,D,E,F,G,I,H,L,J,K,M,N,O,P,Q,S,R,T,U,V,W,X){return function(a){return.1/a}}(W,X,K,J,M,N,O,P,Q,S,R,T,U,V,a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,z,y,A,B,C,D,E,F,G,I,H,L)).call(null,B)),cljs.core.truth_(V)?hoplon.svg.text.call(null,new cljs.core.Keyword(null,
"transform","transform",1381301764),javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,z,y,A,B,C,D,E,F,G,I,H,L,J,K,M,N,O,P,Q,S,R,T,U,V,W,X){return function(a){return weathergen.ui.common.svg_scale.call(null,a/17)}}(W,X,K,J,M,N,O,P,Q,S,R,T,U,V,a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,z,y,A,B,C,D,E,F,G,I,H,L)).call(null,W),new cljs.core.Keyword(null,"css","css",1135045163),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"pointer-events","pointer-events",
-1053858853),"none"],null),new cljs.core.Keyword(null,"x","x",2099068185),0,new cljs.core.Keyword(null,"y","y",-1757859776),1.5,new cljs.core.Keyword(null,"font-family","font-family",-667419874),"Helvetica",new cljs.core.Keyword(null,"stroke","stroke",1741823555),"Black",new cljs.core.Keyword(null,"alignment-baseline","alignment-baseline",-311060879),"middle",new cljs.core.Keyword(null,"text-anchor","text-anchor",585613696),"middle",new cljs.core.Keyword(null,"text","text",-1790561697),V):null,cljs.core.truth_(T)?
hoplon.svg.image.call(null,new cljs.core.Keyword(null,"xlink-href","xlink-href",244956585),T,new cljs.core.Keyword(null,"x","x",2099068185),javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,z,y,A,B,C,D,E,F,G,I,H,L,J,K,M,N,O,P,Q,S,R,T,U,V,W,X){return function(a){return-.4*a}}(W,X,K,J,M,N,O,P,Q,S,R,T,U,V,a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,z,y,A,B,C,D,E,F,G,I,H,L)).call(null,W),new cljs.core.Keyword(null,"y","y",-1757859776),javelin.core.formula.call(null,function(a,
b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,z,y,A,B,C,D,E,F,G,I,H,L,J,K,M,N,O,P,Q,S,R,T,U,V,W,X){return function(a){return-.4*a}}(W,X,K,J,M,N,O,P,Q,S,R,T,U,V,a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,z,y,A,B,C,D,E,F,G,I,H,L)).call(null,W),new cljs.core.Keyword(null,"width","width",-384071477),javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,z,y,A,B,C,D,E,F,G,I,H,L,J,K,M,N,O,P,Q,S,R,T,U,V,W,X){return function(a){return.8*a}}(W,X,K,J,M,N,O,P,Q,S,R,T,U,V,a,b,c,d,e,f,g,h,k,l,m,
n,p,q,r,t,u,v,w,x,z,y,A,B,C,D,E,F,G,I,H,L)).call(null,W),new cljs.core.Keyword(null,"height","height",1025178622),javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,z,y,A,B,C,D,E,F,G,I,H,L,J,K,M,N,O,P,Q,S,R,T,U,V,W,X){return function(a){return.8*a}}(W,X,K,J,M,N,O,P,Q,S,R,T,U,V,a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,z,y,A,B,C,D,E,F,G,I,H,L)).call(null,W)):null)}}(I,H,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,z,y,A,B,C,D,E,F,G,L,J),M=javelin.core.formula.call(null,function(a,
b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,z,y,A,B,C,D,E,F,G,I,H,L,J){return function(a){return 3*a}}(K,I,H,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,z,y,A,B,C,D,E,F,G,L,J)).call(null,I),N=javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,z,y,A,B,C,D,E,F,G,I,H,L,J,K){return function(a){return.75*a}}(K,M,I,H,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,z,y,A,B,C,D,E,F,G,L,J)).call(null,M),O=javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,z,y,A,B,C,D,E,
F,G,I,H,L,J,K,M){return function(a){return.1*a}}(K,M,N,I,H,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,z,y,A,B,C,D,E,F,G,L,J)).call(null,I);return hoplon.svg.g.call(null,new cljs.core.Keyword(null,"debug","debug",-1608172596),javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,z,y,A,B,C,D,E,F,G,I,H,L,J,K,M,N){return function(a,b){return["edit buttons. Dragging: ",a.call(null,b)].join("")}}(K,M,N,O,I,H,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,z,y,A,B,C,D,E,F,G,L,J)).call(null,cljs.core.pr_str,
B),hoplon.svg.g.call(null,new cljs.core.Keyword(null,"debug","debug",-1608172596),"Big button bars",new cljs.core.Keyword(null,"transform","transform",1381301764),javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,z,y,A,B,C,D,E,F,G,I,H,L,J,K,M,N){return function(a,b,c,d){return weathergen.ui.common.svg_xform_combine.call(null,weathergen.ui.common.svg_translate.call(null,a,b),weathergen.ui.common.svg_rotate.call(null,cljs.core.get.call(null,d,c,0)))}}(K,M,N,O,I,H,b,c,d,
e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,z,y,A,B,C,D,E,F,G,L,J)).call(null,h,k,c,q),hoplon.svg.rect.call(null,new cljs.core.Keyword(null,"x","x",2099068185),javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,z,y,A,B,C,D,E,F,G,I,H,L,J,K,M,N){return function(a){return-a}}(K,M,N,O,I,H,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,z,y,A,B,C,D,E,F,G,L,J)).call(null,M),new cljs.core.Keyword(null,"y","y",-1757859776),0,new cljs.core.Keyword(null,"width","width",-384071477),M,new cljs.core.Keyword(null,
"height","height",1025178622),O,new cljs.core.Keyword(null,"fill","fill",883462889),"blue",new cljs.core.Keyword(null,"stroke","stroke",1741823555),"lightblue",new cljs.core.Keyword(null,"stroke-width","stroke-width",716836435),javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,z,y,A,B,C,D,E,F,G,I,H,L,J,K,M,N){return function(a){return a/2}}(K,M,N,O,I,H,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,z,y,A,B,C,D,E,F,G,L,J)).call(null,O)),hoplon.svg.rect.call(null,new cljs.core.Keyword(null,
"x","x",2099068185),0,new cljs.core.Keyword(null,"y","y",-1757859776),javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,z,y,A,B,C,D,E,F,G,I,H,L,J,K,M,N){return function(a){return-a}}(K,M,N,O,I,H,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,z,y,A,B,C,D,E,F,G,L,J)).call(null,M),new cljs.core.Keyword(null,"width","width",-384071477),O,new cljs.core.Keyword(null,"height","height",1025178622),javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,z,y,A,B,
C,D,E,F,G,I,H,L,J,K,M,N){return function(a){return 2*a}}(K,M,N,O,I,H,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,z,y,A,B,C,D,E,F,G,L,J)).call(null,M),new cljs.core.Keyword(null,"fill","fill",883462889),"blue",new cljs.core.Keyword(null,"stroke","stroke",1741823555),"lightblue",new cljs.core.Keyword(null,"stroke-width","stroke-width",716836435),javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,z,y,A,B,C,D,E,F,G,I,H,L,J,K,M,N){return function(a){return a/2}}(K,M,N,O,I,H,b,c,
d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,z,y,A,B,C,D,E,F,G,L,J)).call(null,O))),function(){var a=new cljs.core.Delay(function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,z,y,A,B,C,D,E,F,G,I,H,L,J,K,M,N){return function(){var O=javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,z,y,A,B,C,D,E,F,G,I,H,L,J,K,M,N){return function(a,b,c){return a.call(null,c,b,0)}}(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,z,y,A,B,C,D,E,F,G,I,H,L,J,K,M,N)).call(null,cljs.core.get,m,w);return hoplon.svg.g.call(null,
new cljs.core.Keyword(null,"debug","debug",-1608172596),"Add new point (last) bar",new cljs.core.Keyword(null,"transform","transform",1381301764),javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,z,y,A,B,C,D,E,F,G,I,H,L,J,K,M,N,O){return function(a,b){var c=cljs.core.nth.call(null,b,0,null);b=cljs.core.nth.call(null,b,1,null);return weathergen.ui.common.svg_xform_combine.call(null,weathergen.ui.common.svg_translate.call(null,c,b),weathergen.ui.common.svg_rotate.call(null,
180+a))}}(O,a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,z,y,A,B,C,D,E,F,G,I,H,L,J,K,M,N)).call(null,O,u),hoplon.svg.rect.call(null,new cljs.core.Keyword(null,"x","x",2099068185),0,new cljs.core.Keyword(null,"y","y",-1757859776),0,new cljs.core.Keyword(null,"width","width",-384071477),c,new cljs.core.Keyword(null,"height","height",1025178622),d,new cljs.core.Keyword(null,"fill","fill",883462889),"blue",new cljs.core.Keyword(null,"stroke","stroke",1741823555),"lightblue",new cljs.core.Keyword(null,"stroke-width",
"stroke-width",716836435),javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,z,y,A,B,C,D,E,F,G,I,H,L,J,K,M,N,O){return function(a){return a/2}}(O,a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,z,y,A,B,C,D,E,F,G,I,H,L,J,K,M,N)).call(null,d)))}}(K,M,N,O,I,H,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,z,y,A,B,C,D,E,F,G,L,J),null),P=new cljs.core.Delay(function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,z,y,A,B,C,D,E,F,G,I,H,L,J,K,M,N,O){return function(){return null}}(a,K,M,N,O,I,H,b,c,
d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,z,y,A,B,C,D,E,F,G,L,J),null);a=function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,z,y,A,B,C,D,E,F,G,I,H,L,J,K,M,N,O,P){return function(c){return cljs.core.deref.call(null,function(){var d=cljs.core.truth_(c)?a:b;return cljs.core.truth_(d)?d:cljs.core.atom.call(null,null)}())}}(a,P,K,M,N,O,I,H,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,z,y,A,B,C,D,E,F,G,L,J);return javelin.core.formula.call(null,a).call(null,u)}(),function(){var P=weathergen.ui.layers.annotations.point_names.call(null,
r);return hoplon.svg.g.call(null,new cljs.core.Keyword(null,"debug","debug",-1608172596),"Point buttons",weathergen.ui.common.keyed_loop_tpl_STAR_.call(null,r,cljs.core.key,function(b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,z,y,A,B,C,D,E,F,G,I,H,L,J,K,M,N,O,P){return function(Q){Q=javelin.core.cell_map.call(null,cljs.core.identity,javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,z,y,A,B,C,D,E,F,G,I,H,L,J,K,M,N,O){return function(a){var b=cljs.core.nth.call(null,a,0,null);
a=cljs.core.nth.call(null,a,1,null);return new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[a,b],null)}}(b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,z,y,A,B,C,D,E,F,G,I,H,L,J,K,M,N,O,P)).call(null,Q));var S=cljs.core.nth.call(null,Q,0,null),R=cljs.core.nth.call(null,Q,1,null),T=weathergen.ui.common.map_lens.call(null,y,R),U=weathergen.ui.common.map_lens.call(null,z,R);return hoplon.svg.g.call(null,new cljs.core.Keyword(null,"debug","debug",-1608172596),javelin.core.formula.call(null,
function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,z,y,A,B,C,D,E,F,G,I,H,L,J,K,M,N,O,P,Q,S,R,T){return function(a,b){return a.call(null,b)}}(U,T,Q,S,R,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,z,y,A,B,C,D,E,F,G,I,H,L,J,K,M,N,O,P)).call(null,b,R),new cljs.core.Keyword(null,"transform","transform",1381301764),javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,z,y,A,B,C,D,E,F,G,I,H,L,J,K,M,N,O,P,Q,S,R,T){return function(a,b){return weathergen.ui.common.svg_xform_combine.call(null,
weathergen.ui.common.svg_translate.call(null,cljs.core.get.call(null,a,0),cljs.core.get.call(null,a,1)),weathergen.ui.common.svg_rotate.call(null,cljs.core.truth_(b)?b:0))}}(U,T,Q,S,R,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,z,y,A,B,C,D,E,F,G,I,H,L,J,K,M,N,O,P)).call(null,T,U),cljs.core.truth_(J)?hoplon.svg.g.call(null,new cljs.core.Keyword(null,"debug","debug",-1608172596),javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,z,y,A,B,C,D,E,F,G,I,H,L,J,K,M,N,O,P,Q,S,R,T){return function(a){return["Delete point ",
cljs.core.str.cljs$core$IFn$_invoke$arity$1(a)].join("")}}(U,T,Q,S,R,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,z,y,A,B,C,D,E,F,G,I,H,L,J,K,M,N,O,P)).call(null,R),hoplon.svg.rect.call(null,new cljs.core.Keyword(null,"debug","debug",-1608172596),"Delete point bar",new cljs.core.Keyword(null,"x","x",2099068185),0,new cljs.core.Keyword(null,"y","y",-1757859776),0,new cljs.core.Keyword(null,"width","width",-384071477),e,new cljs.core.Keyword(null,"height","height",1025178622),f,new cljs.core.Keyword(null,
"fill","fill",883462889),"blue",new cljs.core.Keyword(null,"stroke","stroke",1741823555),"lightblue",new cljs.core.Keyword(null,"stroke-width","stroke-width",716836435),javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,z,y,A,B,C,D,E,F,G,I,H,L,J,K,M,N,O,P,Q,S,R,T){return function(a){return a/2}}(U,T,Q,S,R,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,z,y,A,B,C,D,E,F,G,I,H,L,J,K,M,N,O,P)).call(null,f)),c.call(null,new cljs.core.PersistentArrayMap(null,8,[new cljs.core.Keyword(null,
"name","name",1843675177),javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,z,y,A,B,C,D,E,F,G,I,H,L,J,K,M,N,O,P,Q,S,R,T){return function(a,b){return["-",cljs.core.str.cljs$core$IFn$_invoke$arity$1(a.call(null,b))].join("")}}(U,T,Q,S,R,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,z,y,A,B,C,D,E,F,G,I,H,L,J,K,M,N,O,P)).call(null,b,R),new cljs.core.Keyword(null,"label","label",1718410804),"-",new cljs.core.Keyword(null,"cursor","cursor",1011937484),"pointer",new cljs.core.Keyword(null,
"scale","scale",-230427353),.8,new cljs.core.Keyword(null,"rotation","rotation",-1728051644),javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,z,y,A,B,C,D,E,F,G,I,H,L,J,K,M,N,O,P,Q,S,R,T){return function(a){return-a}}(U,T,Q,S,R,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,z,y,A,B,C,D,E,F,G,I,H,L,J,K,M,N,O,P)).call(null,U),new cljs.core.Keyword(null,"x","x",2099068185),e,new cljs.core.Keyword(null,"y","y",-1757859776),0,new cljs.core.Keyword(null,"click","click",1912301393),
function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,z,y,A,B,C,D,E,F,G,I,H,L,J,K,M,N,O,P,Q,S,R,T){return function(a){return cljs.core.swap_BANG_.call(null,D,cljs.core.dissoc,cljs.core.deref.call(null,e))}}(U,T,Q,S,R,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,z,y,A,B,C,D,E,F,G,I,H,L,J,K,M,N,O,P)],null))):null,hoplon.svg.g.call(null,new cljs.core.Keyword(null,"debug","debug",-1608172596),"point button",c.call(null,new cljs.core.PersistentArrayMap(null,7,[new cljs.core.Keyword(null,"name","name",1843675177),
javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,z,y,A,B,C,D,E,F,G,I,H,L,J,K,M,N,O,P,Q,S,R,T){return function(a,b){return a.call(null,b)}}(U,T,Q,S,R,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,z,y,A,B,C,D,E,F,G,I,H,L,J,K,M,N,O,P)).call(null,b,R),new cljs.core.Keyword(null,"label","label",1718410804),javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,z,y,A,B,C,D,E,F,G,I,H,L,J,K,M,N,O,P,Q,S,R,T){return function(a,b){return a.call(null,b)}}(U,T,Q,
S,R,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,z,y,A,B,C,D,E,F,G,I,H,L,J,K,M,N,O,P)).call(null,b,R),new cljs.core.Keyword(null,"cursor","cursor",1011937484),"move",new cljs.core.Keyword(null,"x","x",2099068185),0,new cljs.core.Keyword(null,"y","y",-1757859776),0,new cljs.core.Keyword(null,"rotation","rotation",-1728051644),javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,z,y,A,B,C,D,E,F,G,I,H,L,J,K,M,N,O,P,Q,S,R,T){return function(a){return-a}}(U,T,Q,S,R,b,c,d,e,f,g,h,k,
l,m,n,p,q,r,t,u,v,w,x,z,y,A,B,C,D,E,F,G,I,H,L,J,K,M,N,O,P)).call(null,U),new cljs.core.Keyword(null,"drag","drag",449951290),function(b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,z,y,A,B,C,D,E,F,G,I,H,L,J,K,M,N,O,P,Q,S,R,T,U){return function(){return function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,z,y,A,B,C,D,E,F,G,I,H,L,J,K,M,N,O,P,Q,S,R,T,U){return function(b,c){cljs.core.nth.call(null,b,0,null);cljs.core.nth.call(null,b,1,null);return cljs.core.swap_BANG_.call(null,E,cljs.core.assoc,cljs.core.deref.call(null,
f),weathergen.math.vector_add.call(null,a,b))}}(cljs.core.get_in.call(null,cljs.core.deref.call(null,a),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"points","points",-1486596883),cljs.core.deref.call(null,f)],null)),b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,z,y,A,B,C,D,E,F,G,I,H,L,J,K,M,N,O,P,Q,S,R,T,U)}}(U,T,Q,S,R,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,z,y,A,B,C,D,E,F,G,I,H,L,J,K,M,N,O,P)],null))))}}(P,K,M,N,O,I,H,b,c,d,e,f,g,h,k,l,m,n,p,q,
r,t,u,v,w,x,z,y,A,B,C,D,E,F,G,L,J)))}(),cljs.core.truth_(D)?function(){var P=javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,z,y,A,B,C,D,E,F,G,I,H,L,J,K,M,N){return function(O,P){var Q=cljs.core.first.call(null,O),S=cljs.core.nth.call(null,Q,0,null),R=cljs.core.nth.call(null,Q,1,null),T=cljs.core.last.call(null,O),U=cljs.core.nth.call(null,T,0,null),V=cljs.core.nth.call(null,T,1,null);Q=cljs.core.mapv.call(null,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,z,y,A,
B,C,D,E,F,G,I,H,L,J,K,M,N,O,P,Q,S,R,T){return function(a,b){var c=cljs.core.nth.call(null,a,0,null);a=cljs.core.nth.call(null,a,1,null);var d=cljs.core.nth.call(null,b,0,null);b=cljs.core.nth.call(null,b,1,null);return new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[(c+d)/2,weathergen.ui.layers.annotations.midpoint.call(null,a,b)],null)}}(Q,S,R,T,U,V,a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,z,y,A,B,C,D,E,F,G,I,H,L,J,K,M,N),O,cljs.core.drop.call(null,1,O));return cljs.core.into.call(null,
cljs.core.sorted_map.call(null),cljs.core.not.call(null,P)&&2<cljs.core.count.call(null,O)?cljs.core.conj.call(null,Q,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[null,weathergen.ui.layers.annotations.midpoint.call(null,R,V)],null)):Q)}}(K,M,N,O,I,H,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,z,y,A,B,C,D,E,F,G,L,J)).call(null,r,u);return hoplon.svg.g.call(null,new cljs.core.Keyword(null,"debug","debug",-1608172596),"Add point buttons",hoplon.svg.g.call(null,new cljs.core.Keyword(null,
"debug","debug",-1608172596),"Nonlast",weathergen.ui.common.keyed_loop_tpl_STAR_.call(null,P,cljs.core.key,function(b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,z,y,A,B,C,D,E,F,G,I,H,L,J,K,M,N,O,P){return function(Q){Q=javelin.core.cell_map.call(null,cljs.core.identity,javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,z,y,A,B,C,D,E,F,G,I,H,L,J,K,M,N,O){return function(a){var b=cljs.core.nth.call(null,a,0,null);a=cljs.core.nth.call(null,a,1,null);return new cljs.core.PersistentVector(null,
2,5,cljs.core.PersistentVector.EMPTY_NODE,[a,b],null)}}(b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,z,y,A,B,C,D,E,F,G,I,H,L,J,K,M,N,O,P)).call(null,Q));var S=cljs.core.nth.call(null,Q,0,null),R=cljs.core.nth.call(null,Q,1,null);return hoplon.svg.g.call(null,new cljs.core.Keyword(null,"transform","transform",1381301764),javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,z,y,A,B,C,D,E,F,G,I,H,L,J,K,M,N,O,P,Q,R){return function(a,b){return weathergen.ui.common.svg_translate.call(null,
cljs.core.get_in.call(null,a,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[b,0],null)),cljs.core.get_in.call(null,a,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[b,1],null)))}}(Q,S,R,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,z,y,A,B,C,D,E,F,G,I,H,L,J,K,M,N,O,P)).call(null,b,R),c.call(null,new cljs.core.PersistentArrayMap(null,7,[new cljs.core.Keyword(null,"name","name",1843675177),javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,
k,l,m,n,p,q,r,t,u,v,w,x,z,y,A,B,C,D,E,F,G,I,H,L,J,K,M,N,O,P,Q,R){return function(a){return["intermediary",cljs.core.str.cljs$core$IFn$_invoke$arity$1(a)].join("")}}(Q,S,R,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,z,y,A,B,C,D,E,F,G,I,H,L,J,K,M,N,O,P)).call(null,R),new cljs.core.Keyword(null,"label","label",1718410804),"+",new cljs.core.Keyword(null,"cursor","cursor",1011937484),"move",new cljs.core.Keyword(null,"scale","scale",-230427353),.8,new cljs.core.Keyword(null,"x","x",2099068185),0,new cljs.core.Keyword(null,
"y","y",-1757859776),0,new cljs.core.Keyword(null,"drag","drag",449951290),function(b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,z,y,A,B,C,D,E,F,G,I,H,L,J,K,M,N,O,P,Q,R,S){return function(){var T=function(){var a=cljs.core.deref.call(null,d);return cljs.core.truth_(a)?a:weathergen.ui.layers.annotations.unique_id.call(null)}(),U=cljs.core.get.call(null,cljs.core.deref.call(null,e),cljs.core.deref.call(null,d));return function(b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,z,y,A,B,C,D,E,F,G,I,H,L,J,K,M,N,O,P,Q,R,S,
T,U){return function(d,e){cljs.core.nth.call(null,d,0,null);cljs.core.nth.call(null,d,1,null);return cljs.core.swap_BANG_.call(null,a,cljs.core.assoc_in,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"points","points",-1486596883),b],null),weathergen.math.vector_add.call(null,c,d))}}(T,U,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,z,y,A,B,C,D,E,F,G,I,H,L,J,K,M,N,O,P,Q,R,S)}}(Q,S,R,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,z,y,A,B,C,D,E,F,G,I,H,L,J,
K,M,N,O,P)],null)))}}(P,K,M,N,O,I,H,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,z,y,A,B,C,D,E,F,G,L,J))),hoplon.svg.g.call(null,new cljs.core.Keyword(null,"debug","debug",-1608172596),"Last",function(){var Q=new cljs.core.Delay(function(b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,z,y,A,B,C,D,E,F,G,I,H,L,J,K,M,N,O,P){return function(){var Q=javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,z,y,A,B,C,D,E,F,G,I,H,L,J,K,M,N,O){return function(a,b,c){return a.call(null,c,b,0)}}(b,c,d,
e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,z,y,A,B,C,D,E,F,G,I,H,L,J,K,M,N,O,P)).call(null,cljs.core.get,p,z);return hoplon.svg.g.call(null,new cljs.core.Keyword(null,"debug","debug",-1608172596),"Add new point (last)",new cljs.core.Keyword(null,"transform","transform",1381301764),javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,z,y,A,B,C,D,E,F,G,I,H,L,J,K,M,N,O,P){return function(a,b){var c=cljs.core.nth.call(null,b,0,null);b=cljs.core.nth.call(null,b,1,null);return weathergen.ui.common.svg_xform_combine.call(null,
weathergen.ui.common.svg_translate.call(null,c,b),weathergen.ui.common.svg_rotate.call(null,180+a))}}(Q,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,z,y,A,B,C,D,E,F,G,I,H,L,J,K,M,N,O,P)).call(null,Q,w),c.call(null,new cljs.core.PersistentArrayMap(null,8,[new cljs.core.Keyword(null,"name","name",1843675177),javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,z,y,A,B,C,D,E,F,G,I,H,L,J,K,M,N,O,P){return function(a){return["add",cljs.core.str.cljs$core$IFn$_invoke$arity$1(a)].join("")}}(Q,
b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,z,y,A,B,C,D,E,F,G,I,H,L,J,K,M,N,O,P)).call(null,p),new cljs.core.Keyword(null,"label","label",1718410804),"+",new cljs.core.Keyword(null,"rotation","rotation",-1728051644),javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,z,y,A,B,C,D,E,F,G,I,H,L,J,K,M,N,O,P){return function(a){return-a}}(Q,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,z,y,A,B,C,D,E,F,G,I,H,L,J,K,M,N,O,P)).call(null,Q),new cljs.core.Keyword(null,"cursor","cursor",1011937484),
"move",new cljs.core.Keyword(null,"scale","scale",-230427353),.8,new cljs.core.Keyword(null,"x","x",2099068185),e,new cljs.core.Keyword(null,"y","y",-1757859776),0,new cljs.core.Keyword(null,"drag","drag",449951290),function(b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,z,y,A,B,C,D,E,F,G,I,H,L,J,K,M,N,O,P,Q){return function(){var R=weathergen.ui.layers.annotations.unique_id.call(null),S=weathergen.math.vector_add.call(null,weathergen.math.rotate.call(null,180-cljs.core.deref.call(null,b),new cljs.core.PersistentVector(null,
2,5,cljs.core.PersistentVector.EMPTY_NODE,[cljs.core.deref.call(null,f),0],null)),cljs.core.deref.call(null,x));return function(b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,z,y,A,B,C,D,E,F,G,I,H,L,J,K,M,N,O,P,Q,R,S){return function(d,e){cljs.core.nth.call(null,d,0,null);cljs.core.nth.call(null,d,1,null);return cljs.core.swap_BANG_.call(null,a,cljs.core.assoc_in,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"points","points",-1486596883),b],null),
weathergen.math.vector_add.call(null,c,d))}}(R,S,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,z,y,A,B,C,D,E,F,G,I,H,L,J,K,M,N,O,P,Q)}}(Q,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,z,y,A,B,C,D,E,F,G,I,H,L,J,K,M,N,O,P)],null)))}}(P,K,M,N,O,I,H,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,z,y,A,B,C,D,E,F,G,L,J),null),R=new cljs.core.Delay(function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,z,y,A,B,C,D,E,F,G,I,H,L,J,K,M,N,O,P){return function(){return null}}(Q,P,K,M,N,O,I,H,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,z,y,A,B,C,
D,E,F,G,L,J),null);Q=function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,z,y,A,B,C,D,E,F,G,I,H,L,J,K,M,N,O,P,Q){return function(c){return cljs.core.deref.call(null,function(){var d=cljs.core.truth_(c)?a:b;return cljs.core.truth_(d)?d:cljs.core.atom.call(null,null)}())}}(Q,R,P,K,M,N,O,I,H,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,z,y,A,B,C,D,E,F,G,L,J);return javelin.core.formula.call(null,Q).call(null,u)}()))}():null,function(){var a=javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,
t,u,v,w,x,z,y,A,B,C,D,E,F,G,I,H,L,J,K,M,N){return function(a,b,c){return a.call(null,c,b,0)}}(K,M,N,O,I,H,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,z,y,A,B,C,D,E,F,G,L,J)).call(null,cljs.core.get,c,q);return hoplon.svg.g.call(null,new cljs.core.Keyword(null,"debug","debug",-1608172596),"Big edit buttons",new cljs.core.Keyword(null,"transform","transform",1381301764),javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,z,y,A,B,C,D,E,F,G,I,H,L,J,K,M,N,O){return function(a,b,c){return weathergen.ui.common.svg_xform_combine.call(null,
weathergen.ui.common.svg_translate.call(null,a,b),weathergen.ui.common.svg_rotate.call(null,c))}}(a,K,M,N,O,I,H,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,z,y,A,B,C,D,E,F,G,L,J)).call(null,h,k,a),K.call(null,new cljs.core.PersistentArrayMap(null,8,[new cljs.core.Keyword(null,"name","name",1843675177),"Move",new cljs.core.Keyword(null,"cursor","cursor",1011937484),"move",new cljs.core.Keyword(null,"scale","scale",-230427353),2,new cljs.core.Keyword(null,"x","x",2099068185),javelin.core.formula.call(null,
function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,z,y,A,B,C,D,E,F,G,I,H,L,J,K,M,N,O){return function(a){return-a}}(a,K,M,N,O,I,H,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,z,y,A,B,C,D,E,F,G,L,J)).call(null,M),new cljs.core.Keyword(null,"y","y",-1757859776),0,new cljs.core.Keyword(null,"rotation","rotation",-1728051644),javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,z,y,A,B,C,D,E,F,G,I,H,L,J,K,M,N,O){return function(a){return-a}}(a,K,M,N,O,I,H,b,c,d,e,f,g,h,k,l,m,n,p,q,r,
t,u,v,w,x,z,y,A,B,C,D,E,F,G,L,J)).call(null,a),new cljs.core.Keyword(null,"src","src",-1651076051),"images/move.svg",new cljs.core.Keyword(null,"drag","drag",449951290),function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,z,y,A,B,C,D,E,F,G,I,H,L,J,K,M,N,O){return function(){return weathergen.ui.layers.annotations.move_all.call(null,z)}}(a,K,M,N,O,I,H,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,z,y,A,B,C,D,E,F,G,L,J)],null)),K.call(null,new cljs.core.PersistentArrayMap(null,8,[new cljs.core.Keyword(null,"name",
"name",1843675177),"Done",new cljs.core.Keyword(null,"cursor","cursor",1011937484),"pointer",new cljs.core.Keyword(null,"scale","scale",-230427353),2,new cljs.core.Keyword(null,"x","x",2099068185),0,new cljs.core.Keyword(null,"y","y",-1757859776),M,new cljs.core.Keyword(null,"rotation","rotation",-1728051644),javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,z,y,A,B,C,D,E,F,G,I,H,L,J,K,M,N,O){return function(a){return-a}}(a,K,M,N,O,I,H,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,
v,w,x,z,y,A,B,C,D,E,F,G,L,J)).call(null,a),new cljs.core.Keyword(null,"src","src",-1651076051),"images/checkmark.png",new cljs.core.Keyword(null,"click","click",1912301393),function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,z,y,A,B,C,D,E,F,G,I,H,L,J,K,M,N,O){return function(){return cljs.core.reset_BANG_.call(null,y,!1)}}(a,K,M,N,O,I,H,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,z,y,A,B,C,D,E,F,G,L,J)],null)),K.call(null,new cljs.core.PersistentArrayMap(null,8,[new cljs.core.Keyword(null,"name","name",1843675177),
"Delete",new cljs.core.Keyword(null,"cursor","cursor",1011937484),"pointer",new cljs.core.Keyword(null,"scale","scale",-230427353),2,new cljs.core.Keyword(null,"x","x",2099068185),0,new cljs.core.Keyword(null,"y","y",-1757859776),javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,z,y,A,B,C,D,E,F,G,I,H,L,J,K,M,N,O){return function(a){return-a}}(a,K,M,N,O,I,H,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,z,y,A,B,C,D,E,F,G,L,J)).call(null,M),new cljs.core.Keyword(null,"rotation",
"rotation",-1728051644),javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,z,y,A,B,C,D,E,F,G,I,H,L,J,K,M,N,O){return function(a){return-a}}(a,K,M,N,O,I,H,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,z,y,A,B,C,D,E,F,G,L,J)).call(null,a),new cljs.core.Keyword(null,"src","src",-1651076051),"images/trash.png",new cljs.core.Keyword(null,"click","click",1912301393),J],null)))}())}())}}(t,v,w,x,y,z,B,C,A,D,F,E,G,q,r,u,b,d,d,e,f,g,h,k,l,c,m,m,n,p),null),M=new cljs.core.Delay(function(a,
b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,z,y,A,B,C,D,E,F,G,L,J){return function(){return null}}(J,t,v,w,x,y,z,B,C,A,D,F,E,G,q,r,u,b,d,d,e,f,g,h,k,l,c,m,m,n,p),null),L=function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,z,y,A,B,C,D,E,F,G,L,J,M){return function(c){return cljs.core.deref.call(null,function(){var d=cljs.core.truth_(c)?a:b;return cljs.core.truth_(d)?d:cljs.core.atom.call(null,null)}())}}(J,M,t,v,w,x,y,z,B,C,A,D,F,E,G,q,r,u,b,d,d,e,f,g,h,k,l,c,m,m,n,p);return javelin.core.formula.call(null,L).call(null,
javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,z,y,A,B,C,D,E,F,G,L,J,M,Za){return function(a,b,c){return cljs.core.truth_(a)?0<c.call(null,b):a}}(J,M,L,t,v,w,x,y,z,B,C,A,D,F,E,G,q,r,u,b,d,d,e,f,g,h,k,l,c,m,m,n,p)).call(null,r,q,cljs.core.count))}())};
weathergen.ui.layers.annotations.arrow_overlay=function(a,b,c){var d=null!=b&&(b.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===b.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,b):b,e=cljs.core.get.call(null,d,new cljs.core.Keyword(null,"annotations","annotations",1640956248)),f=cljs.core.get.call(null,d,new cljs.core.Keyword(null,"map-viewbox","map-viewbox",860086717)),g=cljs.core.get.call(null,d,new cljs.core.Keyword(null,"map-zoom","map-zoom",1543291337)),
h=null!=c&&(c.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===c.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,c):c,k=cljs.core.get.call(null,h,new cljs.core.Keyword(null,"register-drag","register-drag",1575693720)),l=cljs.core.get.call(null,h,new cljs.core.Keyword(null,"delete-annotation","delete-annotation",563372499)),m=weathergen.ui.common.path_lens.call(null,a,new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,
"points","points",-1486596883)],null)),n=weathergen.ui.common.path_lens.call(null,a,new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"arrowhead-width","arrowhead-width",839938517)],null)),p=weathergen.ui.common.path_lens.call(null,a,new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"arrowhead-length","arrowhead-length",437777364)],null)),q=weathergen.ui.common.path_lens.call(null,a,new cljs.core.PersistentVector(null,
1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"shaft","shaft",-278047141)],null)),r=weathergen.ui.common.path_lens.call(null,a,new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"heft","heft",-1112917)],null)),u=weathergen.ui.common.path_lens.call(null,a,new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"editing?","editing?",1646440800)],null)),t=javelin.core.lens.call(null,
javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u){return function(a){return cljs.core.truth_(a)?a:0}}(m,n,p,q,r,u,b,d,d,e,f,g,c,h,h,k,l)).call(null,n),function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u){return function(a){return cljs.core.reset_BANG_.call(null,b,a)}}(m,n,p,q,r,u,b,d,d,e,f,g,c,h,h,k,l)),v=javelin.core.lens.call(null,javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v){return function(a){return cljs.core.truth_(a)?a:0}}(t,m,n,p,q,r,u,b,d,d,e,
f,g,c,h,h,k,l)).call(null,p),function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v){return function(a){return cljs.core.reset_BANG_.call(null,d,a)}}(t,m,n,p,q,r,u,b,d,d,e,f,g,c,h,h,k,l)),w=javelin.core.lens.call(null,javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w){return function(a){return cljs.core.truth_(a)?a:0}}(t,v,m,n,p,q,r,u,b,d,d,e,f,g,c,h,h,k,l)).call(null,q),function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w){return function(a){return cljs.core.reset_BANG_.call(null,f,a)}}(t,
v,m,n,p,q,r,u,b,d,d,e,f,g,c,h,h,k,l)),x=javelin.core.cell.call(null,null),y=javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,z){return function(a){var b=cljs.core.get.call(null,a,0);a=cljs.core.get.call(null,a,1);return weathergen.ui.layers.annotations.annotation_rotation.call(null,weathergen.math.vector_subtract.call(null,a,b))}}(x,t,v,w,m,n,p,q,r,u,b,d,d,e,f,g,c,h,h,k,l)).call(null,m),z=javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,
x,z,y){return function(a){var b=cljs.core.get.call(null,a,0);a=cljs.core.get.call(null,a,1);return weathergen.math.magnitude.call(null,weathergen.math.vector_subtract.call(null,a,b))}}(x,y,t,v,w,m,n,p,q,r,u,b,d,d,e,f,g,c,h,h,k,l)).call(null,m);return hoplon.svg.g.call(null,hoplon.svg.g.call(null,new cljs.core.Keyword(null,"debug","debug",-1608172596),"Arrow annotation",new cljs.core.Keyword(null,"transform","transform",1381301764),javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,k,l,m,n,p,
q,r,t,u,v,w,x,z,y,V){return function(a){var b=cljs.core.get.call(null,a,0);a=cljs.core.nth.call(null,b,0,null);b=cljs.core.nth.call(null,b,1,null);return weathergen.ui.common.svg_translate.call(null,a,b)}}(x,y,z,t,v,w,m,n,p,q,r,u,b,d,d,e,f,g,c,h,h,k,l)).call(null,m),new cljs.core.Keyword(null,"css","css",1135045163),javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,z,y,V){return function(a){return new cljs.core.PersistentArrayMap(null,2,[new cljs.core.Keyword(null,"cursor",
"cursor",1011937484),cljs.core.truth_(a)?"move":null,new cljs.core.Keyword(null,"pointer-events","pointer-events",-1053858853),cljs.core.truth_(a)?null:"none"],null)}}(x,y,z,t,v,w,m,n,p,q,r,u,b,d,d,e,f,g,c,h,h,k,l)).call(null,u),hoplon.svg.g.call(null,new cljs.core.Keyword(null,"transform","transform",1381301764),javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,z,y,V){return function(a,b){return a.call(null,b)}}(x,y,z,t,v,w,m,n,p,q,r,u,b,d,d,e,f,g,c,h,h,k,l)).call(null,
weathergen.ui.common.svg_rotate,y),hoplon.svg.g.call(null,new cljs.core.Keyword(null,"mousedown","mousedown",1391242074),function(b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,z,y,W,V){return function(A){cljs.core.reset_BANG_.call(null,b,"all");A=cljs.core.get_in.call(null,cljs.core.deref.call(null,a),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"points","points",-1486596883),0],null));var B=cljs.core.get_in.call(null,cljs.core.deref.call(null,
a),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"points","points",-1486596883),1],null));return W.call(null,function(b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,z,y,A,B,C,D){return function(E,F){var G=cljs.core.nth.call(null,E,0,null),I=cljs.core.nth.call(null,E,1,null);cljs.core.swap_BANG_.call(null,a,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,z,y,A,B,C,D,E,F,G){return function(a){return cljs.core.assoc_in.call(null,cljs.core.assoc_in.call(null,
a,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"points","points",-1486596883),0],null),weathergen.math.vector_add.call(null,e,d)),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"points","points",-1486596883),1],null),weathergen.math.vector_add.call(null,f,d))}}(E,G,I,E,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,z,y,A,B,C,D));return cljs.core.truth_(F)?cljs.core.reset_BANG_.call(null,
d,null):null}}(A,B,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,z,y,W,V))}}(x,y,z,t,v,w,m,n,p,q,r,u,b,d,d,e,f,g,c,h,h,k,l),weathergen.ui.layers.annotations.stroke_and_fill_attrs.call(null,a),hoplon.svg.polygon.call(null,new cljs.core.Keyword(null,"points","points",-1486596883),javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,z,y,V){return function(A,B,C,D,E){D=weathergen.ui.layers.annotations.linear__GT_exp.call(null,D,1,100,.1,10);C=D*weathergen.ui.layers.annotations.linear__GT_exp.call(null,
C,1,100,.005,4);A=weathergen.ui.layers.annotations.linear__GT_exp.call(null,A,1,100,.005,25);B=weathergen.ui.layers.annotations.linear__GT_exp.call(null,B,1,100,.005,10);var F=A*D,G=B*D,I=E-G,H=C/-2,L=-H,J=F/-2,K=-J;return clojure.string.join.call(null," ",cljs.core.map.call(null,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,z,y,A,B,C,D,E,F,G,I,H,L,J,K){return function(a){return clojure.string.join.call(null,",",a)}}(D,C,A,B,F,G,I,H,L,J,K,a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,z,y,V),new cljs.core.PersistentVector(null,
7,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[0,H],null),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[I,H],null),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[I,J],null),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[E,0],null),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[I,K],null),new cljs.core.PersistentVector(null,
2,5,cljs.core.PersistentVector.EMPTY_NODE,[I,L],null),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[0,L],null)],null)))}}(x,y,z,t,v,w,m,n,p,q,r,u,b,d,d,e,f,g,c,h,h,k,l)).call(null,t,v,w,r,z))))),weathergen.ui.layers.annotations.linear_edit_buttons.call(null,a,cljs.core.assoc.call(null,d,new cljs.core.Keyword(null,"dragging","dragging",1185097613),x),h))};
weathergen.ui.layers.annotations.lines_overlay=function(a,b,c){var d=null!=b&&(b.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===b.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,b):b,e=cljs.core.get.call(null,d,new cljs.core.Keyword(null,"annotations","annotations",1640956248)),f=cljs.core.get.call(null,d,new cljs.core.Keyword(null,"map-viewbox","map-viewbox",860086717)),g=cljs.core.get.call(null,d,new cljs.core.Keyword(null,"map-zoom","map-zoom",1543291337)),
h=null!=c&&(c.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===c.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,c):c,k=cljs.core.get.call(null,h,new cljs.core.Keyword(null,"register-drag","register-drag",1575693720)),l=cljs.core.get.call(null,h,new cljs.core.Keyword(null,"delete-annotation","delete-annotation",563372499)),m=weathergen.ui.common.path_lens.call(null,a,new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,
"points","points",-1486596883)],null)),n=weathergen.ui.common.path_lens.call(null,a,new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"editing?","editing?",1646440800)],null)),p=weathergen.ui.common.path_lens.call(null,a,new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"open?","open?",1238443125)],null)),q=javelin.core.cell.call(null,null),r=javelin.core.formula.call(null,function(a,b,
c,d,e,f,g,h,k,l,m,n,p,q,r){return function(t){return clojure.string.join.call(null," ",cljs.core.map.call(null,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r){return function(a){var b=cljs.core.nth.call(null,a,0,null);a=cljs.core.nth.call(null,a,1,null);return[cljs.core.str.cljs$core$IFn$_invoke$arity$1(b),",",cljs.core.str.cljs$core$IFn$_invoke$arity$1(a)].join("")}}(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r),cljs.core.map.call(null,cljs.core.val,cljs.core.sort_by.call(null,cljs.core.key,t))))}}(q,m,n,p,b,d,d,e,f,g,
c,h,h,k,l)).call(null,m),u=weathergen.ui.layers.annotations.stroke_and_fill_attrs.call(null,a);return hoplon.svg.g.call(null,new cljs.core.Keyword(null,"debug","debug",-1608172596),"Line annotation",new cljs.core.Keyword(null,"css","css",1135045163),javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,K){return function(a){return new cljs.core.PersistentArrayMap(null,2,[new cljs.core.Keyword(null,"cursor","cursor",1011937484),cljs.core.truth_(a)?"move":null,new cljs.core.Keyword(null,
"pointer-events","pointer-events",-1053858853),cljs.core.truth_(a)?null:"none"],null)}}(q,r,u,m,n,p,b,d,d,e,f,g,c,h,h,k,l)).call(null,n),new cljs.core.Keyword(null,"mousedown","mousedown",1391242074),function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,K){return function(t){cljs.core.reset_BANG_.call(null,a,"all");t=weathergen.ui.layers.annotations.move_all.call(null,d);return u.call(null,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v){return function(c,d){cljs.core.nth.call(null,c,0,null);cljs.core.nth.call(null,
c,1,null);a.call(null,c,d);return cljs.core.truth_(d)?cljs.core.reset_BANG_.call(null,b,null):null}}(t,a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,K))}}(q,r,u,m,n,p,b,d,d,e,f,g,c,h,h,k,l),function(){var a=new cljs.core.Delay(function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u){return function(){return hoplon.svg.polyline.call(null,c,new cljs.core.Keyword(null,"points","points",-1486596883),b)}}(q,r,u,m,n,p,b,d,d,e,f,g,c,h,h,k,l),null),v=new cljs.core.Delay(function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v){return function(){return hoplon.svg.polygon.call(null,
d,new cljs.core.Keyword(null,"points","points",-1486596883),c)}}(a,q,r,u,m,n,p,b,d,d,e,f,g,c,h,h,k,l),null);a=function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,P){return function(c){return cljs.core.deref.call(null,function(){var d=cljs.core.truth_(c)?a:b;return cljs.core.truth_(d)?d:cljs.core.atom.call(null,null)}())}}(a,v,q,r,u,m,n,p,b,d,d,e,f,g,c,h,h,k,l);return javelin.core.formula.call(null,a).call(null,p)}(),weathergen.ui.layers.annotations.linear_edit_buttons.call(null,a,cljs.core.assoc.call(null,
d,new cljs.core.Keyword(null,"dragging","dragging",1185097613),q,new cljs.core.Keyword(null,"add-points?","add-points?",-228600117),!0),h))};
weathergen.ui.layers.annotations.ppt_overlay=function(a,b,c){var d=null!=b&&(b.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===b.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,b):b,e=cljs.core.get.call(null,d,new cljs.core.Keyword(null,"annotations","annotations",1640956248)),f=cljs.core.get.call(null,d,new cljs.core.Keyword(null,"map-viewbox","map-viewbox",860086717)),g=cljs.core.get.call(null,d,new cljs.core.Keyword(null,"map-zoom","map-zoom",1543291337)),h=
cljs.core.get.call(null,d,new cljs.core.Keyword(null,"mission","mission",1740288522)),k=cljs.core.get.call(null,d,new cljs.core.Keyword(null,"map-text-scale","map-text-scale",1420206123)),l=cljs.core.get.call(null,d,new cljs.core.Keyword(null,"map-icon-scale","map-icon-scale",-1307959664)),m=null!=c&&(c.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===c.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,c):c,n=cljs.core.get.call(null,m,new cljs.core.Keyword(null,"register-drag",
"register-drag",1575693720)),p=cljs.core.get.call(null,m,new cljs.core.Keyword(null,"delete-annotation","delete-annotation",563372499)),q=weathergen.ui.common.path_lens.call(null,a,new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"edge-style","edge-style",1285542514)],null)),r=weathergen.ui.common.path_lens.call(null,a,new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"edge-width","edge-width",
-1845528442)],null)),u=weathergen.ui.common.path_lens.call(null,a,new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"x","x",2099068185)],null)),t=weathergen.ui.common.path_lens.call(null,a,new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"y","y",-1757859776)],null)),v=weathergen.ui.common.path_lens.call(null,a,new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,
[new cljs.core.Keyword(null,"label","label",1718410804)],null)),w=weathergen.ui.common.path_lens.call(null,a,new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"threat","threat",-2071776455)],null)),x=weathergen.ui.common.path_lens.call(null,a,new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"editing?","editing?",1646440800)],null)),y=javelin.core.lens.call(null,javelin.core.formula.call(null,
function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,z){return function(a){return cljs.core.truth_(a)?a:0}}(q,r,u,t,v,w,x,b,d,d,e,f,g,h,k,l,c,m,m,n,p)).call(null,u),function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,z){return function(a){return cljs.core.reset_BANG_.call(null,c,a)}}(q,r,u,t,v,w,x,b,d,d,e,f,g,h,k,l,c,m,m,n,p)),z=javelin.core.lens.call(null,javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,z,y){return function(a){return cljs.core.truth_(a)?a:0}}(y,q,r,u,t,v,
w,x,b,d,d,e,f,g,h,k,l,c,m,m,n,p)).call(null,t),function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,z,y){return function(a){return cljs.core.reset_BANG_.call(null,e,a)}}(y,q,r,u,t,v,w,x,b,d,d,e,f,g,h,k,l,c,m,m,n,p));javelin.core.lens.call(null,javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,z,y,A){return function(a){return cljs.core.truth_(a)?a:0}}(y,z,q,r,u,t,v,w,x,b,d,d,e,f,g,h,k,l,c,m,m,n,p)).call(null,r),function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,z,y,A){return function(a){return cljs.core.reset_BANG_.call(null,
d,a)}}(y,z,q,r,u,t,v,w,x,b,d,d,e,f,g,h,k,l,c,m,m,n,p));var B=javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,z){return function(a,b){return b/a}}(q,r,u,t,v,w,x,b,d,d,e,f,g,h,k,l,c,m,m,n,p)).call(null,g,l),C=javelin.core.cell.call(null,null),A=javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,z,y,A){return function(a,b,c,d){return b.call(null,c,d.call(null,function(){var b=(new cljs.core.Keyword(null,"radius-ft","radius-ft",1860060448)).cljs$core$IFn$_invoke$arity$1(a);
return cljs.core.truth_(b)?b:0}()))}}(B,C,q,r,u,t,v,w,x,b,d,d,e,f,g,h,k,l,c,m,m,n,p)).call(null,w,weathergen.coordinates.nm__GT_weather,h,weathergen.coordinates.ft__GT_nm),D=javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,z,y,A,B){return function(a,b){return cljs.core._EQ_.call(null,new cljs.core.Keyword(null,"none","none",1333468478),a)?0:b/200}}(B,C,A,q,r,u,t,v,w,x,b,d,d,e,f,g,h,k,l,c,m,m,n,p)).call(null,q,r);return hoplon.svg.g.call(null,new cljs.core.Keyword(null,
"transform","transform",1381301764),javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,z,y,A,B,C){return function(a,b,c){return b.call(null,a,c)}}(B,C,A,D,q,r,u,t,v,w,x,b,d,d,e,f,g,h,k,l,c,m,m,n,p)).call(null,u,weathergen.ui.common.svg_translate,t),new cljs.core.Keyword(null,"cursor","cursor",1011937484),function(){var a=new cljs.core.Delay(function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,z,y,A,B,C){return function(){return"move"}}(B,C,A,D,q,r,u,t,v,w,x,b,d,d,e,f,g,h,
k,l,c,m,m,n,p),null),z=new cljs.core.Delay(function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,z,y,A,B,C,D){return function(){return null}}(a,B,C,A,D,q,r,u,t,v,w,x,b,d,d,e,f,g,h,k,l,c,m,m,n,p),null);a=function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,z,y,A,B,C,D,E){return function(c){return cljs.core.deref.call(null,function(){var d=cljs.core.truth_(c)?a:b;return cljs.core.truth_(d)?d:cljs.core.atom.call(null,null)}())}}(a,z,B,C,A,D,q,r,u,t,v,w,x,b,d,d,e,f,g,h,k,l,c,m,m,n,p);return javelin.core.formula.call(null,
a).call(null,x)}(),new cljs.core.Keyword(null,"pointer-events","pointer-events",-1053858853),function(){var a=new cljs.core.Delay(function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,z,y,A,B,C){return function(){return"all"}}(B,C,A,D,q,r,u,t,v,w,x,b,d,d,e,f,g,h,k,l,c,m,m,n,p),null),z=new cljs.core.Delay(function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,z,y,A,B,C,D){return function(){return"none"}}(a,B,C,A,D,q,r,u,t,v,w,x,b,d,d,e,f,g,h,k,l,c,m,m,n,p),null);a=function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,
w,x,z,y,A,B,C,D,E){return function(c){return cljs.core.deref.call(null,function(){var d=cljs.core.truth_(c)?a:b;return cljs.core.truth_(d)?d:cljs.core.atom.call(null,null)}())}}(a,z,B,C,A,D,q,r,u,t,v,w,x,b,d,d,e,f,g,h,k,l,c,m,m,n,p);return javelin.core.formula.call(null,a).call(null,x)}(),new cljs.core.Keyword(null,"mousedown","mousedown",1391242074),function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,z,y,A,B,C){return function(D){cljs.core.reset_BANG_.call(null,b,"all");D=cljs.core.deref.call(null,
g);var E=cljs.core.deref.call(null,h);return B.call(null,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,z,y,A,B,C,D,E){return function(c,e){var f=cljs.core.nth.call(null,c,0,null);c=cljs.core.nth.call(null,c,1,null);cljs.core.reset_BANG_.call(null,k,a+f);cljs.core.reset_BANG_.call(null,l,b+c);return cljs.core.truth_(e)?cljs.core.reset_BANG_.call(null,d,null):null}}(D,E,a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,z,y,A,B,C))}}(B,C,A,D,q,r,u,t,v,w,x,b,d,d,e,f,g,h,k,l,c,m,m,n,p),function(){var z=new cljs.core.Delay(function(b,
c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,z,y,A,B,C,D){return function(){return hoplon.svg.circle.call(null,weathergen.ui.layers.annotations.stroke_and_fill_attrs.call(null,a),new cljs.core.Keyword(null,"cx","cx",1272694324),0,new cljs.core.Keyword(null,"cy","cy",755331060),0,new cljs.core.Keyword(null,"r","r",-471384190),javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,z,y,A,B,C){return function(a,b){return b-a}}(b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,z,y,A,B,C,D)).call(null,
e,d))}}(B,C,A,D,q,r,u,t,v,w,x,b,d,d,e,f,g,h,k,l,c,m,m,n,p),null),y=new cljs.core.Delay(function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,z,y,A,B,C,D){return function(){return null}}(z,B,C,A,D,q,r,u,t,v,w,x,b,d,d,e,f,g,h,k,l,c,m,m,n,p),null),G=function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,z,y,A,B,C,D,E){return function(c){return cljs.core.deref.call(null,function(){var d=cljs.core.truth_(c)?a:b;return cljs.core.truth_(d)?d:cljs.core.atom.call(null,null)}())}}(z,y,B,C,A,D,q,r,u,t,v,w,x,b,d,d,e,f,
g,h,k,l,c,m,m,n,p);return javelin.core.formula.call(null,G).call(null,javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,z,y,A,B,C,D,E,F){return function(a){return.1<a}}(z,y,G,B,C,A,D,q,r,u,t,v,w,x,b,d,d,e,f,g,h,k,l,c,m,m,n,p)).call(null,A))}(),hoplon.svg.image.call(null,new cljs.core.Keyword(null,"xlink-href","xlink-href",244956585),"images/ppt.svg",new cljs.core.Keyword(null,"x","x",2099068185),javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,
u,v,w,x,z,y,A,B,C){return function(a){return-.4*a}}(B,C,A,D,q,r,u,t,v,w,x,b,d,d,e,f,g,h,k,l,c,m,m,n,p)).call(null,B),new cljs.core.Keyword(null,"y","y",-1757859776),javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,z,y,A,B,C){return function(a){return-.4*a}}(B,C,A,D,q,r,u,t,v,w,x,b,d,d,e,f,g,h,k,l,c,m,m,n,p)).call(null,B),new cljs.core.Keyword(null,"width","width",-384071477),javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,z,y,A,B,C){return function(a){return.8*
a}}(B,C,A,D,q,r,u,t,v,w,x,b,d,d,e,f,g,h,k,l,c,m,m,n,p)).call(null,B),new cljs.core.Keyword(null,"height","height",1025178622),javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,z,y,A,B,C){return function(a){return.8*a}}(B,C,A,D,q,r,u,t,v,w,x,b,d,d,e,f,g,h,k,l,c,m,m,n,p)).call(null,B)),hoplon.svg.text.call(null,new cljs.core.Keyword(null,"transform","transform",1381301764),javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,z,y,A,B,C){return function(a,
b,c,d,e,f){return f.call(null,a.call(null,0,c/2),b.call(null,.06*e/d))}}(B,C,A,D,q,r,u,t,v,w,x,b,d,d,e,f,g,h,k,l,c,m,m,n,p)).call(null,weathergen.ui.common.svg_translate,weathergen.ui.common.svg_scale,B,g,k,weathergen.ui.common.svg_xform_combine),new cljs.core.Keyword(null,"x","x",2099068185),0,new cljs.core.Keyword(null,"y","y",-1757859776),-2.5,new cljs.core.Keyword(null,"dominant-baseline","dominant-baseline",609259826),"text-before-edge",new cljs.core.Keyword(null,"text-anchor","text-anchor",
585613696),"middle",new cljs.core.Keyword(null,"stroke","stroke",1741823555),"none",new cljs.core.Keyword(null,"fill","fill",883462889),"white",new cljs.core.Keyword(null,"font-family","font-family",-667419874),"Courier New",javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,z,y,A,B,C){return function(a,b){return cljs.core.truth_(b)?b:(new cljs.core.Keyword(null,"id","id",-1388402092)).cljs$core$IFn$_invoke$arity$1(a)}}(B,C,A,D,q,r,u,t,v,w,x,b,d,d,e,f,g,h,k,l,c,m,m,n,
p)).call(null,w,v)),cljs.core.truth_(x)?function(){var z=javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,z,y,A,B,C){return function(a,b){b*=2;a=4/a;return b>a?b:a}}(B,C,A,D,q,r,u,t,v,w,x,b,d,d,e,f,g,h,k,l,c,m,m,n,p)).call(null,g,A);return hoplon.svg.g.call(null,new cljs.core.Keyword(null,"transform","transform",1381301764),javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,z,y,A,B,C,D){return function(a,b){return a.call(null,b/-2,b/-2)}}(z,
B,C,A,D,q,r,u,t,v,w,x,b,d,d,e,f,g,h,k,l,c,m,m,n,p)).call(null,weathergen.ui.common.svg_translate,z),weathergen.ui.layers.annotations.edit_frame_overlay.call(null,a,cljs.core.assoc.call(null,d,new cljs.core.Keyword(null,"dragging","dragging",1185097613),C),m,new cljs.core.PersistentArrayMap(null,3,[new cljs.core.Keyword(null,"width","width",-384071477),z,new cljs.core.Keyword(null,"height","height",1025178622),z,new cljs.core.Keyword(null,"buttons","buttons",-1953831197),new cljs.core.PersistentHashSet(null,
new cljs.core.PersistentArrayMap(null,3,[new cljs.core.Keyword(null,"done","done",-889844188),null,new cljs.core.Keyword(null,"move","move",-2110884309),null,new cljs.core.Keyword(null,"delete","delete",-1768633620),null],null),null)],null)))}():null)};
weathergen.ui.layers.annotations.overlay=function(a,b){var c=null!=a&&(a.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===a.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,a):a,d=cljs.core.get.call(null,c,new cljs.core.Keyword(null,"annotations","annotations",1640956248));return hoplon.svg.g.call(null,new cljs.core.Keyword(null,"id","id",-1388402092),"annotations-overlay",weathergen.ui.common.keyed_loop_tpl_STAR_.call(null,d,cljs.core.key,function(a,c,d,h){return function(e){var f=
javelin.core.cell_map.call(null,cljs.core.identity,javelin.core.formula.call(null,function(a,b,c,d){return function(a){var b=cljs.core.nth.call(null,a,0,null);a=cljs.core.nth.call(null,a,1,null);return new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[a,b],null)}}(a,c,d,h)).call(null,e)),g=cljs.core.nth.call(null,f,0,null),k=cljs.core.nth.call(null,f,1,null),p=weathergen.ui.common.map_lens.call(null,h,k),q=function(a,b,c,d,e,f,g,h){return function(){return cljs.core.swap_BANG_.call(null,
h,cljs.core.dissoc,cljs.core.deref.call(null,d))}}(p,f,g,k,a,c,d,h),r=new cljs.core.PersistentArrayMap(null,2,[new cljs.core.Keyword(null,"register-drag","register-drag",1575693720),b,new cljs.core.Keyword(null,"delete-annotation","delete-annotation",563372499),q],null),u=weathergen.ui.common.path_lens.call(null,p,new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"rotation","rotation",-1728051644)],null)),t=weathergen.ui.common.path_lens.call(null,
p,new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"type","type",1174270348)],null)),v=weathergen.ui.common.path_lens.call(null,p,new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"x","x",2099068185)],null)),w=weathergen.ui.common.path_lens.call(null,p,new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"y","y",-1757859776)],null)),
x=weathergen.ui.common.path_lens.call(null,p,new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"editing?","editing?",1646440800)],null)),y=weathergen.ui.common.path_lens.call(null,p,new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"hidden?","hidden?",1339691380)],null)),z=javelin.core.lens.call(null,javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t){return function(a){return cljs.core.truth_(a)?
a:0}}(u,t,v,w,x,y,p,q,r,f,g,k,a,c,d,h)).call(null,u),function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t){return function(b){return cljs.core.reset_BANG_.call(null,a,b)}}(u,t,v,w,x,y,p,q,r,f,g,k,a,c,d,h)),B=javelin.core.lens.call(null,javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u){return function(a){return cljs.core.truth_(a)?a:0}}(z,u,t,v,w,x,y,p,q,r,f,g,k,a,c,d,h)).call(null,v),function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u){return function(a){return cljs.core.reset_BANG_.call(null,
d,a)}}(z,u,t,v,w,x,y,p,q,r,f,g,k,a,c,d,h)),C=javelin.core.lens.call(null,javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v){return function(a){return cljs.core.truth_(a)?a:0}}(z,B,u,t,v,w,x,y,p,q,r,f,g,k,a,c,d,h)).call(null,w),function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v){return function(a){return cljs.core.reset_BANG_.call(null,f,a)}}(z,B,u,t,v,w,x,y,p,q,r,f,g,k,a,c,d,h));return hoplon.svg.g.call(null,new cljs.core.Keyword(null,"debug","debug",-1608172596),javelin.core.formula.call(null,
function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w){return function(a,b){return a.call(null,cljs.core.truth_(b)?b:"")}}(z,B,C,u,t,v,w,x,y,p,q,r,f,g,k,a,c,d,h)).call(null,cljs.core.name,t),new cljs.core.Keyword(null,"css","css",1135045163),javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w){return function(a,b){return new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"display","display",242065432),cljs.core.truth_(function(){var c=cljs.core.not.call(null,a);
return c?b:c}())?"none":null],null)}}(z,B,C,u,t,v,w,x,y,p,q,r,f,g,k,a,c,d,h)).call(null,x,y),function(){var b=new cljs.core.Delay(function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w){return function(){return weathergen.ui.layers.annotations.shape_overlay.call(null,l,v,n)}}(z,B,C,u,t,v,w,x,y,p,q,r,f,g,k,a,c,d,h),null),e=new cljs.core.Delay(function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x){return function(){return weathergen.ui.layers.annotations.arrow_overlay.call(null,m,w,p)}}(b,z,B,C,u,t,v,w,x,y,p,q,
r,f,g,k,a,c,d,h),null),l=new cljs.core.Delay(function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,z){return function(){return weathergen.ui.layers.annotations.lines_overlay.call(null,n,x,q)}}(b,e,z,B,C,u,t,v,w,x,y,p,q,r,f,g,k,a,c,d,h),null),m=new cljs.core.Delay(function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,z,y){return function(){return weathergen.ui.layers.annotations.ppt_overlay.call(null,p,z,r)}}(b,e,l,z,B,C,u,t,v,w,x,y,p,q,r,f,g,k,a,c,d,h),null),n=new cljs.core.Delay(function(a,b,c,d,e,f,g,h,k,
l,m,n,p,q,r,t,u,v,w,x,z,y,B){return function(){return hoplon.svg.g.call(null,new cljs.core.Keyword(null,"debug","debug",-1608172596),"Unsupported type")}}(b,e,l,m,z,B,C,u,t,v,w,x,y,p,q,r,f,g,k,a,c,d,h),null),J=function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,z,y,B,A){return function(f){return cljs.core.deref.call(null,function(){var g=function(){switch(f instanceof cljs.core.Keyword?f.fqn:null){case "shape":return a;case "arrow":return b;case "lines":return c;case "ppt":return d;default:return e}}();
return cljs.core.truth_(g)?g:cljs.core.atom.call(null,null)}())}}(b,e,l,m,n,z,B,C,u,t,v,w,x,y,p,q,r,f,g,k,a,c,d,h);return javelin.core.formula.call(null,J).call(null,javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,z,y,B,A,C){return function(a){return a}}(b,e,l,m,n,J,z,B,C,u,t,v,w,x,y,p,q,r,f,g,k,a,c,d,h)).call(null,t))}())}}(a,c,c,d)))};
weathergen.ui.layers.annotations.coord_edit=function(a){return weathergen.ui.common.validating_edit.call(null,new cljs.core.Keyword(null,"width","width",-384071477),50,new cljs.core.Keyword(null,"source","source",-433931539),a,new cljs.core.Keyword(null,"conform","conform",1846236460),weathergen.ui.common.conform_nonnegative_float,new cljs.core.Keyword(null,"placeholder","placeholder",-104873083),"0.00",new cljs.core.Keyword(null,"fmt","fmt",332300772),function(a){return a.toFixed(2)})};
weathergen.ui.layers.annotations.helped=function(a,b){return weathergen.help.with_help.call(null,new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"map-controls","map-controls",-1453318552),new cljs.core.Keyword(null,"annotations","annotations",1640956248),a],null),b)};
weathergen.ui.layers.annotations.location_controls=function(a){for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;b=4<b.length?new cljs.core.IndexedSeq(b.slice(4),0,null):null;return weathergen.ui.layers.annotations.location_controls.cljs$core$IFn$_invoke$arity$variadic(arguments[0],arguments[1],arguments[2],arguments[3],b)};
weathergen.ui.layers.annotations.location_controls.cljs$core$IFn$_invoke$arity$variadic=function(a,b,c,d,e){var f=javelin.core.lens.call(null,javelin.core.formula.call(null,function(a){return cljs.core.truth_(a)?a:0}).call(null,c),function(a){return cljs.core.reset_BANG_.call(null,c,a)}),g=javelin.core.lens.call(null,javelin.core.formula.call(null,function(a){return function(a){return cljs.core.truth_(a)?a:0}}(f)).call(null,d),function(a){return function(a){return cljs.core.reset_BANG_.call(null,
d,a)}}(f));return cljs.core.apply.call(null,hoplon.core.tr,hoplon.core.td.call(null,weathergen.ui.layers.annotations.helped.call(null,b,a)),hoplon.core.td.call(null,weathergen.ui.layers.annotations.coord_edit.call(null,f)),hoplon.core.td.call(null,weathergen.ui.layers.annotations.coord_edit.call(null,g)),e)};weathergen.ui.layers.annotations.location_controls.cljs$lang$maxFixedArity=4;
weathergen.ui.layers.annotations.location_controls.cljs$lang$applyTo=function(a){var b=cljs.core.first.call(null,a),c=cljs.core.next.call(null,a);a=cljs.core.first.call(null,c);var d=cljs.core.next.call(null,c);c=cljs.core.first.call(null,d);var e=cljs.core.next.call(null,d);d=cljs.core.first.call(null,e);e=cljs.core.next.call(null,e);return this.cljs$core$IFn$_invoke$arity$variadic(b,a,c,d,e)};
weathergen.ui.layers.annotations.shape_location_controls=function(a){var b=weathergen.ui.common.path_lens.call(null,a,new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"x","x",2099068185)],null)),c=weathergen.ui.common.path_lens.call(null,a,new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"y","y",-1757859776)],null));a=javelin.core.lens.call(null,javelin.core.formula.call(null,function(a,
b){return function(a){return cljs.core.truth_(a)?a:0}}(b,c)).call(null,b),function(a,b){return function(b){return cljs.core.reset_BANG_.call(null,a,b)}}(b,c));b=javelin.core.lens.call(null,javelin.core.formula.call(null,function(a,b,c){return function(a){return cljs.core.truth_(a)?a:0}}(a,b,c)).call(null,c),function(a,b,c){return function(a){return cljs.core.reset_BANG_.call(null,c,a)}}(a,b,c));return weathergen.ui.layers.annotations.location_controls.call(null,"Location:",new cljs.core.Keyword(null,
"location","location",1815599388),a,b)};
weathergen.ui.layers.annotations.size_controls=function(a){var b=weathergen.ui.common.path_lens.call(null,a,new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"width","width",-384071477)],null)),c=weathergen.ui.common.path_lens.call(null,a,new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"height","height",1025178622)],null));a=javelin.core.lens.call(null,javelin.core.formula.call(null,function(a,
b){return function(a){return cljs.core.truth_(a)?a:0}}(b,c)).call(null,b),function(a,b){return function(b){return cljs.core.reset_BANG_.call(null,a,b)}}(b,c));b=javelin.core.lens.call(null,javelin.core.formula.call(null,function(a,b,c){return function(a){return cljs.core.truth_(a)?a:0}}(a,b,c)).call(null,c),function(a,b,c){return function(a){return cljs.core.reset_BANG_.call(null,c,a)}}(a,b,c));return hoplon.core.tr.call(null,hoplon.core.td.call(null,weathergen.ui.layers.annotations.helped.call(null,
new cljs.core.Keyword(null,"size","size",1098693007),"Size:")),hoplon.core.td.call(null,weathergen.ui.layers.annotations.coord_edit.call(null,a)),hoplon.core.td.call(null,weathergen.ui.layers.annotations.coord_edit.call(null,b)))};
weathergen.ui.layers.annotations.rotation_controls=function(a){a=weathergen.ui.common.path_lens.call(null,a,new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"rotation","rotation",-1728051644)],null));var b=javelin.core.lens.call(null,javelin.core.formula.call(null,function(a){return function(a){return cljs.core.truth_(a)?a:0}}(a)).call(null,a),function(a){return function(b){return cljs.core.reset_BANG_.call(null,a,b)}}(a));return hoplon.core.tr.call(null,
hoplon.core.td.call(null,weathergen.ui.layers.annotations.helped.call(null,new cljs.core.Keyword(null,"rotation","rotation",-1728051644),"Rotation:")),hoplon.core.td.call(null,weathergen.ui.common.validating_edit.call(null,new cljs.core.Keyword(null,"width","width",-384071477),50,new cljs.core.Keyword(null,"source","source",-433931539),b,new cljs.core.Keyword(null,"conform","conform",1846236460),weathergen.ui.common.float_conformer.call(null,-360,360),new cljs.core.Keyword(null,"placeholder","placeholder",
-104873083),"0.00",new cljs.core.Keyword(null,"fmt","fmt",332300772),function(a,b){return function(a){return a.toFixed(2)}}(b,a))))};
weathergen.ui.layers.annotations.range_controls=function(a,b,c){return hoplon.core.tr.call(null,hoplon.core.td.call(null,weathergen.ui.layers.annotations.helped.call(null,b,a)),hoplon.core.td.call(null,weathergen.ui.common.slider.call(null,new cljs.core.Keyword(null,"css","css",1135045163),new cljs.core.PersistentArrayMap(null,2,[new cljs.core.Keyword(null,"width","width",-384071477),weathergen.ui.common.pct.call(null,100),new cljs.core.Keyword(null,"vertical-align","vertical-align",651007333),"middle"],
null),new cljs.core.Keyword(null,"value","value",305978217),c,new cljs.core.Keyword(null,"min","min",444991522),1,new cljs.core.Keyword(null,"max","max",61366548),100)),hoplon.core.td.call(null,weathergen.ui.common.validating_edit.call(null,new cljs.core.Keyword(null,"source","source",-433931539),c,new cljs.core.Keyword(null,"width","width",-384071477),50,new cljs.core.Keyword(null,"placeholder","placeholder",-104873083),"0.00",new cljs.core.Keyword(null,"conform","conform",1846236460),weathergen.ui.common.float_conformer.call(null,
1,100),new cljs.core.Keyword(null,"fmt","fmt",332300772),function(a){return a.toFixed(2)})))};
weathergen.ui.layers.annotations.checkbox_controls=function(a,b,c){return hoplon.core.tr.call(null,hoplon.core.td.call(null,weathergen.ui.layers.annotations.helped.call(null,b,a)),hoplon.core.td.call(null,weathergen.ui.common.checkbox.call(null,new cljs.core.Keyword(null,"css","css",1135045163),new cljs.core.PersistentArrayMap(null,2,[new cljs.core.Keyword(null,"width","width",-384071477),weathergen.ui.common.pct.call(null,100),new cljs.core.Keyword(null,"vertical-align","vertical-align",651007333),
"middle"],null),new cljs.core.Keyword(null,"value","value",305978217),c)))};
weathergen.ui.layers.annotations.color_controls=function(a,b,c){return hoplon.core.tr.call(null,hoplon.core.td.call(null,weathergen.ui.layers.annotations.helped.call(null,b,a)),hoplon.core.td.call(null,weathergen.ui.common.color_picker2.call(null,new cljs.core.Keyword(null,"value","value",305978217),c,new cljs.core.Keyword(null,"alpha?","alpha?",1329751525),!0)),hoplon.core.td.call(null,weathergen.ui.common.validating_edit.call(null,new cljs.core.Keyword(null,"width","width",-384071477),70,new cljs.core.Keyword(null,
"source","source",-433931539),c,new cljs.core.Keyword(null,"conform","conform",1846236460),function(a){return javelin.core.formula.call(null,function(a){var b=weathergen.ui.common.tinycolor.call(null,a).isValid();return new cljs.core.PersistentArrayMap(null,3,[new cljs.core.Keyword(null,"valid?","valid?",-212412379),b,new cljs.core.Keyword(null,"message","message",-406056002),cljs.core.truth_(b)?null:"Must be a valid color",new cljs.core.Keyword(null,"value","value",305978217),a],null)}).call(null,
a)},new cljs.core.Keyword(null,"placeholder","placeholder",-104873083),"#aarrggbb",new cljs.core.Keyword(null,"fmt","fmt",332300772),cljs.core.identity)))};
weathergen.ui.layers.annotations.point_controls=function(a){return hoplon.core.table.call(null,weathergen.ui.common.keyed_loop_tpl_STAR_.call(null,a,cljs.core.key,function(b){b=javelin.core.cell_map.call(null,cljs.core.identity,javelin.core.formula.call(null,function(a){var b=cljs.core.nth.call(null,a,0,null);a=cljs.core.nth.call(null,a,1,null);return new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[a,b],null)}).call(null,b));var c=cljs.core.nth.call(null,b,0,null),d=
cljs.core.nth.call(null,b,1,null),e=weathergen.ui.common.map_lens.call(null,a,d),f=weathergen.ui.layers.annotations.point_names.call(null,a),g=weathergen.ui.common.path_lens.call(null,e,new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[0],null)),h=weathergen.ui.common.path_lens.call(null,e,new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[1],null));return weathergen.ui.layers.annotations.location_controls.call(null,javelin.core.formula.call(null,
function(a,b,c,d,e,f,g){return function(a,b){return[cljs.core.str.cljs$core$IFn$_invoke$arity$1(a.call(null,b)),":"].join("")}}(f,g,h,e,b,c,d)).call(null,f,d),new cljs.core.Keyword(null,"points","points",-1486596883),g,h,hoplon.core.td.call(null,weathergen.ui.buttons.image_button.call(null,new cljs.core.Keyword(null,"click","click",1912301393),function(b,c,d,e,f,g,h){return function(b){return cljs.core.swap_BANG_.call(null,a,cljs.core.dissoc,cljs.core.deref.call(null,h))}}(f,g,h,e,b,c,d),new cljs.core.Keyword(null,
"src","src",-1651076051),"images/trash.png",new cljs.core.Keyword(null,"title","title",636505583),"Delete Point",new cljs.core.Keyword(null,"width","width",-384071477),weathergen.ui.common.px.call(null,16))))}))};
weathergen.ui.layers.annotations.line_point_controls=function(a,b){return hoplon.core.div.call(null,function(){var c=weathergen.ui.common.path_lens.call(null,a,new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"points","points",-1486596883)],null)),d=weathergen.ui.common.path_lens.call(null,a,new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"open?","open?",1238443125)],null));return hoplon.core.div.call(null,
weathergen.ui.common.inl.call(null,weathergen.ui.layers.annotations.helped.call(null,new cljs.core.Keyword(null,"closed?","closed?",-1408769040),"Closed?"),weathergen.ui.common.checkbox.call(null,new cljs.core.Keyword(null,"value","value",305978217),weathergen.ui.common.not_lens.call(null,d))),weathergen.ui.layers.annotations.point_controls.call(null,c),weathergen.ui.buttons.a_button.call(null,new cljs.core.Keyword(null,"click","click",1912301393),function(c,d){return function(d){return cljs.core.swap_BANG_.call(null,
a,cljs.core.update,new cljs.core.Keyword(null,"points","points",-1486596883),cljs.core.assoc,weathergen.ui.layers.annotations.unique_id.call(null),cljs.core.empty_QMARK_.call(null,cljs.core.deref.call(null,c))?function(){var a=cljs.core.deref.call(null,b),c=null!=a&&(a.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===a.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,a):a;a=cljs.core.get.call(null,c,new cljs.core.Keyword(null,"x","x",2099068185));var d=cljs.core.get.call(null,
c,new cljs.core.Keyword(null,"y","y",-1757859776)),e=cljs.core.get.call(null,c,new cljs.core.Keyword(null,"width","width",-384071477));c=cljs.core.get.call(null,c,new cljs.core.Keyword(null,"height","height",1025178622));return new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[a+e/2,d+c/2],null)}():weathergen.math.vector_clamp.call(null,weathergen.math.vector_add.call(null,cljs.core.last.call(null,cljs.core.vals.call(null,cljs.core.deref.call(null,c))),new cljs.core.PersistentVector(null,
2,5,cljs.core.PersistentVector.EMPTY_NODE,[0,(new cljs.core.Keyword(null,"width","width",-384071477)).cljs$core$IFn$_invoke$arity$1(cljs.core.deref.call(null,b))/20],null)),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[0,0],null),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[59,59],null)))}}(c,d),"Add New Point"))}())};
weathergen.ui.layers.annotations.arrow_point_controls=function(a){return hoplon.core.div.call(null,function(){var b=weathergen.ui.common.path_lens.call(null,a,new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"points","points",-1486596883)],null));return weathergen.ui.layers.annotations.point_controls.call(null,b)}())};
weathergen.ui.layers.annotations.arrow_appearance_controls=function(a){var b=weathergen.ui.common.path_lens.call(null,a,new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"shaft","shaft",-278047141)],null)),c=weathergen.ui.common.path_lens.call(null,a,new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"arrowhead-length","arrowhead-length",437777364)],null)),d=weathergen.ui.common.path_lens.call(null,
a,new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"arrowhead-width","arrowhead-width",839938517)],null)),e=weathergen.ui.common.path_lens.call(null,a,new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"heft","heft",-1112917)],null));a=javelin.core.lens.call(null,javelin.core.formula.call(null,function(a,b,c,d){return function(a){return cljs.core.truth_(a)?a:0}}(b,c,d,e)).call(null,b),function(a,
b,c,d){return function(b){return cljs.core.reset_BANG_.call(null,a,b)}}(b,c,d,e));var f=javelin.core.lens.call(null,javelin.core.formula.call(null,function(a,b,c,d,e){return function(a){return cljs.core.truth_(a)?a:0}}(a,b,c,d,e)).call(null,d),function(a,b,c,d,e){return function(a){return cljs.core.reset_BANG_.call(null,d,a)}}(a,b,c,d,e)),g=javelin.core.lens.call(null,javelin.core.formula.call(null,function(a,b,c,d,e,f){return function(a){return cljs.core.truth_(a)?a:0}}(a,f,b,c,d,e)).call(null,c),
function(a,b,c,d,e,f){return function(a){return cljs.core.reset_BANG_.call(null,d,a)}}(a,f,b,c,d,e));b=javelin.core.lens.call(null,javelin.core.formula.call(null,function(a,b,c,d,e,f,g){return function(a){return cljs.core.truth_(a)?a:0}}(a,f,g,b,c,d,e)).call(null,e),function(a,b,c,d,e,f,g){return function(a){return cljs.core.reset_BANG_.call(null,g,a)}}(a,f,g,b,c,d,e));return hoplon.core.table.call(null,weathergen.ui.layers.annotations.range_controls.call(null,"Overall:",new cljs.core.Keyword(null,
"heft","heft",-1112917),b),weathergen.ui.layers.annotations.range_controls.call(null,"Shaft:",new cljs.core.Keyword(null,"shaft","shaft",-278047141),a),weathergen.ui.layers.annotations.range_controls.call(null,"Head Width:",new cljs.core.Keyword(null,"arrowhead-width","arrowhead-width",839938517),f),weathergen.ui.layers.annotations.range_controls.call(null,"Head Length:",new cljs.core.Keyword(null,"arrowhead-length","arrowhead-length",437777364),g))};
weathergen.ui.layers.annotations.text_controls=function(a){var b=weathergen.ui.common.path_lens.call(null,a,new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"font-size","font-size",-1847940346)],null)),c=weathergen.ui.common.path_lens.call(null,a,new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"font-family","font-family",-667419874)],null)),d=weathergen.ui.common.path_lens.call(null,
a,new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"font-color","font-color",-2019660285)],null)),e=weathergen.ui.common.path_lens.call(null,a,new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"font-bold?","font-bold?",-796638521)],null)),f=weathergen.ui.common.path_lens.call(null,a,new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,
"font-italic?","font-italic?",-663673639)],null)),g=weathergen.ui.common.path_lens.call(null,a,new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"halign","halign",-1113968481)],null)),h=weathergen.ui.common.path_lens.call(null,a,new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"height","height",1025178622)],null)),k=weathergen.ui.common.path_lens.call(null,a,new cljs.core.PersistentVector(null,
1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"rotation","rotation",-1728051644)],null)),l=weathergen.ui.common.path_lens.call(null,a,new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"text","text",-1790561697)],null)),m=weathergen.ui.common.path_lens.call(null,a,new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"valign","valign",1485197511)],null)),n=weathergen.ui.common.path_lens.call(null,
a,new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"width","width",-384071477)],null)),p=javelin.core.lens.call(null,javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,k,l,m){return function(a){return cljs.core.truth_(a)?a:0}}(b,c,d,e,f,g,h,k,l,m,n)).call(null,b),function(a,b,c,d,e,f,g,h,k,l,m){return function(b){return cljs.core.reset_BANG_.call(null,a,b)}}(b,c,d,e,f,g,h,k,l,m,n));return hoplon.core.table.call(null,weathergen.ui.layers.annotations.range_controls.call(null,
"Font Size:",new cljs.core.Keyword(null,"font-size","font-size",-1847940346),p),hoplon.core.tr.call(null,hoplon.core.td.call(null,weathergen.ui.layers.annotations.helped.call(null,new cljs.core.Keyword(null,"font","font",-1506159249),"Font:")),hoplon.core.td.call(null,new cljs.core.Keyword(null,"colspan","colspan",-1512420934),2,weathergen.ui.common.select2.call(null,new cljs.core.Keyword(null,"css","css",1135045163),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"width","width",
-384071477),weathergen.ui.common.pct.call(null,100)],null),new cljs.core.Keyword(null,"value","value",305978217),c,new cljs.core.Keyword(null,"choices","choices",1385611597),function(){return function(a,b,c,d,e,f,g,h,k,l,m,n){return function E(p){return new cljs.core.LazySeq(null,function(a,b,c,d,e,f,g,h,k,l,m,n){return function(){for(;;){var a=cljs.core.seq.call(null,p);if(a){if(cljs.core.chunked_seq_QMARK_.call(null,a)){var b=cljs.core.chunk_first.call(null,a),c=cljs.core.count.call(null,b),d=cljs.core.chunk_buffer.call(null,
c);a:for(var e=0;;)if(e<c){var f=cljs.core._nth.call(null,b,e);cljs.core.chunk_append.call(null,d,new cljs.core.PersistentArrayMap(null,2,[new cljs.core.Keyword(null,"value","value",305978217),f,new cljs.core.Keyword(null,"label","label",1718410804),f],null));e+=1}else{b=!0;break a}return b?cljs.core.chunk_cons.call(null,cljs.core.chunk.call(null,d),E.call(null,cljs.core.chunk_rest.call(null,a))):cljs.core.chunk_cons.call(null,cljs.core.chunk.call(null,d),null)}d=cljs.core.first.call(null,a);return cljs.core.cons.call(null,
new cljs.core.PersistentArrayMap(null,2,[new cljs.core.Keyword(null,"value","value",305978217),d,new cljs.core.Keyword(null,"label","label",1718410804),d],null),E.call(null,cljs.core.rest.call(null,a)))}return null}}}(a,b,c,d,e,f,g,h,k,l,m,n),null,null)}}(p,b,c,d,e,f,g,h,k,l,m,n).call(null,new cljs.core.PersistentVector(null,12,5,cljs.core.PersistentVector.EMPTY_NODE,"Arial;Bookman;Comic Sans MS;Courier;Courier New;Garamond;Georgia;Helvetica;Palatino;Times;Times New Roman;Verdana".split(";"),null))}(),
new cljs.core.Keyword(null,"formatter","formatter",-483008823),function(a,b,c,d,e,f,g,h,k,l,m,n){return function(a){a=null!=a&&(a.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===a.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,a):a;a=cljs.core.get.call(null,a,new cljs.core.Keyword(null,"label","label",1718410804));return hoplon.core.span.call(null,new cljs.core.Keyword(null,"css","css",1135045163),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,
"font-family","font-family",-667419874),a],null),a)}}(p,b,c,d,e,f,g,h,k,l,m,n)))),hoplon.core.tr.call(null,hoplon.core.td.call(null,weathergen.ui.layers.annotations.helped.call(null,new cljs.core.Keyword(null,"halign","halign",-1113968481),"Horizontal alignment:")),hoplon.core.td.call(null,new cljs.core.Keyword(null,"colspan","colspan",-1512420934),2,weathergen.ui.common.select2.call(null,new cljs.core.Keyword(null,"css","css",1135045163),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,
"width","width",-384071477),weathergen.ui.common.pct.call(null,100)],null),new cljs.core.Keyword(null,"value","value",305978217),g,new cljs.core.Keyword(null,"choices","choices",1385611597),new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.PersistentArrayMap(null,2,[new cljs.core.Keyword(null,"value","value",305978217),"left",new cljs.core.Keyword(null,"label","label",1718410804),"Left"],null),new cljs.core.PersistentArrayMap(null,2,[new cljs.core.Keyword(null,
"value","value",305978217),"center",new cljs.core.Keyword(null,"label","label",1718410804),"Center"],null),new cljs.core.PersistentArrayMap(null,2,[new cljs.core.Keyword(null,"value","value",305978217),"right",new cljs.core.Keyword(null,"label","label",1718410804),"Right"],null)],null)))),hoplon.core.tr.call(null,hoplon.core.td.call(null,weathergen.ui.layers.annotations.helped.call(null,new cljs.core.Keyword(null,"valign","valign",1485197511),"Vertical alignment:")),hoplon.core.td.call(null,new cljs.core.Keyword(null,
"colspan","colspan",-1512420934),2,weathergen.ui.common.select2.call(null,new cljs.core.Keyword(null,"css","css",1135045163),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"width","width",-384071477),weathergen.ui.common.pct.call(null,100)],null),new cljs.core.Keyword(null,"value","value",305978217),m,new cljs.core.Keyword(null,"choices","choices",1385611597),new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.PersistentArrayMap(null,2,
[new cljs.core.Keyword(null,"value","value",305978217),new cljs.core.Keyword(null,"top","top",-1856271961),new cljs.core.Keyword(null,"label","label",1718410804),"Top"],null),new cljs.core.PersistentArrayMap(null,2,[new cljs.core.Keyword(null,"value","value",305978217),new cljs.core.Keyword(null,"middle","middle",-701029031),new cljs.core.Keyword(null,"label","label",1718410804),"Middle"],null),new cljs.core.PersistentArrayMap(null,2,[new cljs.core.Keyword(null,"value","value",305978217),new cljs.core.Keyword(null,
"bottom","bottom",-1550509018),new cljs.core.Keyword(null,"label","label",1718410804),"Bottom"],null)],null)))),hoplon.core.tr.call(null,hoplon.core.td.call(null,weathergen.ui.layers.annotations.helped.call(null,new cljs.core.Keyword(null,"font-bold?","font-bold?",-796638521),"Bold?:")),hoplon.core.td.call(null,weathergen.ui.common.checkbox.call(null,new cljs.core.Keyword(null,"value","value",305978217),e))),hoplon.core.tr.call(null,hoplon.core.td.call(null,weathergen.ui.layers.annotations.helped.call(null,
new cljs.core.Keyword(null,"font-italic?","font-italic?",-663673639),"Italic?:")),hoplon.core.td.call(null,weathergen.ui.common.checkbox.call(null,new cljs.core.Keyword(null,"value","value",305978217),f))),weathergen.ui.layers.annotations.color_controls.call(null,"Color:",new cljs.core.Keyword(null,"color","color",1011675173),d),hoplon.core.tr.call(null,hoplon.core.td.call(null,weathergen.ui.layers.annotations.helped.call(null,new cljs.core.Keyword(null,"text","text",-1790561697),"Text:")),hoplon.core.td.call(null,
new cljs.core.Keyword(null,"colspan","colspan",-1512420934),2,new cljs.core.Keyword(null,"css","css",1135045163),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"padding-right","padding-right",-1250249681),weathergen.ui.common.px.call(null,8)],null),weathergen.ui.textarea.textarea2.call(null,new cljs.core.Keyword(null,"css","css",1135045163),javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,k,l,m,n){return function(a,b,c){return new cljs.core.PersistentArrayMap(null,6,[new cljs.core.Keyword(null,
"font-family","font-family",-667419874),a,new cljs.core.Keyword(null,"font-style","font-style",-773672352),cljs.core.truth_(b)?"italic":null,new cljs.core.Keyword(null,"font-weight","font-weight",2085804583),cljs.core.truth_(c)?"bold":null,new cljs.core.Keyword(null,"font-size","font-size",-1847940346),weathergen.ui.common.pct.call(null,100),new cljs.core.Keyword(null,"width","width",-384071477),weathergen.ui.common.pct.call(null,100),new cljs.core.Keyword(null,"horizontal-alignment","horizontal-alignment",
-280310931),g],null)}}(p,b,c,d,e,f,g,h,k,l,m,n)).call(null,c,f,e),new cljs.core.Keyword(null,"value","value",305978217),l,new cljs.core.Keyword(null,"change","change",-1163046502),function(a,b,c,d,e,f,g,h,k,l,m,n){return function(a){return cljs.core.reset_BANG_.call(null,l,a)}}(p,b,c,d,e,f,g,h,k,l,m,n),new cljs.core.Keyword(null,"placeholder","placeholder",-104873083),"Enter text here"))))};
weathergen.ui.layers.annotations.edge_controls=function(a){var b=weathergen.ui.common.path_lens.call(null,a,new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"edge-style","edge-style",1285542514)],null)),c=weathergen.ui.common.path_lens.call(null,a,new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"edge-width","edge-width",-1845528442)],null)),d=weathergen.ui.common.path_lens.call(null,
a,new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"edge-color","edge-color",-533761623)],null)),e=weathergen.ui.common.path_lens.call(null,a,new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"edge-dash-length","edge-dash-length",-19162360)],null)),f=weathergen.ui.common.path_lens.call(null,a,new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,
"edge-dash-spacing","edge-dash-spacing",1667711192)],null)),g=javelin.core.lens.call(null,javelin.core.formula.call(null,function(a,b,c,d,e){return function(a){return cljs.core.truth_(a)?a:0}}(b,c,d,e,f)).call(null,c),function(a,b,c,d,e){return function(a){return cljs.core.reset_BANG_.call(null,b,a)}}(b,c,d,e,f)),h=javelin.core.lens.call(null,javelin.core.formula.call(null,function(a,b,c,d,e,f){return function(a){return cljs.core.truth_(a)?a:0}}(g,b,c,d,e,f)).call(null,e),function(a,b,c,d,e,f){return function(a){return cljs.core.reset_BANG_.call(null,
e,a)}}(g,b,c,d,e,f)),k=javelin.core.lens.call(null,javelin.core.formula.call(null,function(a,b,c,d,e,f,g){return function(a){return cljs.core.truth_(a)?a:0}}(g,h,b,c,d,e,f)).call(null,f),function(a,b,c,d,e,f,g){return function(a){return cljs.core.reset_BANG_.call(null,g,a)}}(g,h,b,c,d,e,f));return hoplon.core.table.call(null,function(){var a=javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h){return function(a,b){return a.call(null,b,new cljs.core.Keyword(null,"dashed","dashed",-1449249319))}}(g,
h,k,b,c,d,e,f)).call(null,cljs.core._EQ_,b),m=javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,k){return function(a){return(new cljs.core.PersistentHashSet(null,new cljs.core.PersistentArrayMap(null,2,[new cljs.core.Keyword(null,"solid","solid",-2023773691),null,new cljs.core.Keyword(null,"dashed","dashed",-1449249319),null],null),null)).call(null,a)}}(a,g,h,k,b,c,d,e,f)).call(null,b);return hoplon.core.tbody.call(null,hoplon.core.tr.call(null,hoplon.core.td.call(null,weathergen.ui.layers.annotations.helped.call(null,
new cljs.core.Keyword(null,"edge-style","edge-style",1285542514),"Style:")),hoplon.core.td.call(null,new cljs.core.Keyword(null,"colspan","colspan",-1512420934),2,weathergen.ui.common.select2.call(null,new cljs.core.Keyword(null,"css","css",1135045163),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"width","width",-384071477),weathergen.ui.common.pct.call(null,100)],null),new cljs.core.Keyword(null,"value","value",305978217),b,new cljs.core.Keyword(null,"choices","choices",1385611597),
new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.PersistentArrayMap(null,2,[new cljs.core.Keyword(null,"value","value",305978217),new cljs.core.Keyword(null,"none","none",1333468478),new cljs.core.Keyword(null,"label","label",1718410804),"No Edge"],null),new cljs.core.PersistentArrayMap(null,2,[new cljs.core.Keyword(null,"value","value",305978217),new cljs.core.Keyword(null,"solid","solid",-2023773691),new cljs.core.Keyword(null,"label","label",1718410804),
"Solid"],null),new cljs.core.PersistentArrayMap(null,2,[new cljs.core.Keyword(null,"value","value",305978217),new cljs.core.Keyword(null,"dashed","dashed",-1449249319),new cljs.core.Keyword(null,"label","label",1718410804),"Dashed"],null)],null),new cljs.core.Keyword(null,"formatter","formatter",-483008823),new cljs.core.Keyword(null,"label","label",1718410804)))),function(){var l=new cljs.core.Delay(function(a,b,c,d,e,f,g,h,k,l){return function(){return weathergen.ui.layers.annotations.color_controls.call(null,
"Color:",new cljs.core.Keyword(null,"edge-color","edge-color",-533761623),h)}}(a,m,g,h,k,b,c,d,e,f),null),p=new cljs.core.Delay(function(a,b,c,d,e,f,g,h,k,l,m){return function(){return null}}(l,a,m,g,h,k,b,c,d,e,f),null);l=function(a,b,c,d,e,f,g,h,k,l,m,n){return function(c){return cljs.core.deref.call(null,function(){var d=cljs.core.truth_(c)?a:b;return cljs.core.truth_(d)?d:cljs.core.atom.call(null,null)}())}}(l,p,a,m,g,h,k,b,c,d,e,f);return javelin.core.formula.call(null,l).call(null,m)}(),function(){var l=
new cljs.core.Delay(function(a,b,c,d,e,f,g,h,k,l){return function(){return weathergen.ui.layers.annotations.range_controls.call(null,"Width:",new cljs.core.Keyword(null,"edge-width","edge-width",-1845528442),c)}}(a,m,g,h,k,b,c,d,e,f),null),p=new cljs.core.Delay(function(a,b,c,d,e,f,g,h,k,l,m){return function(){return null}}(l,a,m,g,h,k,b,c,d,e,f),null);l=function(a,b,c,d,e,f,g,h,k,l,m,n){return function(c){return cljs.core.deref.call(null,function(){var d=cljs.core.truth_(c)?a:b;return cljs.core.truth_(d)?
d:cljs.core.atom.call(null,null)}())}}(l,p,a,m,g,h,k,b,c,d,e,f);return javelin.core.formula.call(null,l).call(null,m)}(),function(){var l=new cljs.core.Delay(function(a,b,c,d,e,f,g,h,k,l){return function(){return weathergen.ui.layers.annotations.range_controls.call(null,"Dash length:",new cljs.core.Keyword(null,"edge-dash-length","edge-dash-length",-19162360),d)}}(a,m,g,h,k,b,c,d,e,f),null),p=new cljs.core.Delay(function(a,b,c,d,e,f,g,h,k,l,m){return function(){return null}}(l,a,m,g,h,k,b,c,d,e,f),
null);l=function(a,b,c,d,e,f,g,h,k,l,m,n){return function(c){return cljs.core.deref.call(null,function(){var d=cljs.core.truth_(c)?a:b;return cljs.core.truth_(d)?d:cljs.core.atom.call(null,null)}())}}(l,p,a,m,g,h,k,b,c,d,e,f);return javelin.core.formula.call(null,l).call(null,a)}(),function(){var l=new cljs.core.Delay(function(a,b,c,d,e,f,g,h,k,l){return function(){return weathergen.ui.layers.annotations.range_controls.call(null,"Dash spacing:",new cljs.core.Keyword(null,"edge-dash-spacing","edge-dash-spacing",
1667711192),e)}}(a,m,g,h,k,b,c,d,e,f),null),p=new cljs.core.Delay(function(a,b,c,d,e,f,g,h,k,l,m){return function(){return null}}(l,a,m,g,h,k,b,c,d,e,f),null);l=function(a,b,c,d,e,f,g,h,k,l,m,n){return function(c){return cljs.core.deref.call(null,function(){var d=cljs.core.truth_(c)?a:b;return cljs.core.truth_(d)?d:cljs.core.atom.call(null,null)}())}}(l,p,a,m,g,h,k,b,c,d,e,f);return javelin.core.formula.call(null,l).call(null,a)}())}())};
weathergen.ui.layers.annotations.threat_controls=function(a,b){var c=weathergen.ui.common.path_lens.call(null,a,new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"threat","threat",-2071776455)],null));a=weathergen.ui.common.path_lens.call(null,a,new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"label","label",1718410804)],null));return hoplon.core.tbody.call(null,hoplon.core.tr.call(null,
hoplon.core.td.call(null,weathergen.ui.layers.annotations.helped.call(null,new cljs.core.Keyword(null,"threat","threat",-2071776455),"Threat:")),hoplon.core.td.call(null,weathergen.ui.common.select2.call(null,new cljs.core.Keyword(null,"css","css",1135045163),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"width","width",-384071477),weathergen.ui.common.px.call(null,150)],null),new cljs.core.Keyword(null,"value","value",305978217),c,new cljs.core.Keyword(null,"choices","choices",
1385611597),javelin.core.formula.call(null,function(a,b){return function(c){return function(a,b){return function m(c){return new cljs.core.LazySeq(null,function(a,b){return function(){for(;;){var a=cljs.core.seq.call(null,c);if(a){if(cljs.core.chunked_seq_QMARK_.call(null,a)){var b=cljs.core.chunk_first.call(null,a),d=cljs.core.count.call(null,b),e=cljs.core.chunk_buffer.call(null,d);a:for(var f=0;;)if(f<d){var g=cljs.core._nth.call(null,b,f),h=null!=g&&(g.cljs$lang$protocol_mask$partition0$&64||
cljs.core.PROTOCOL_SENTINEL===g.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,g):g;g=h;var l=cljs.core.get.call(null,h,new cljs.core.Keyword(null,"id","id",-1388402092));cljs.core.get.call(null,h,new cljs.core.Keyword(null,"radius-ft","radius-ft",1860060448));h=cljs.core.get.call(null,h,new cljs.core.Keyword(null,"description","description",-1428560544));cljs.core.chunk_append.call(null,e,new cljs.core.PersistentArrayMap(null,2,[new cljs.core.Keyword(null,"value","value",305978217),
g,new cljs.core.Keyword(null,"label","label",1718410804),[cljs.core.str.cljs$core$IFn$_invoke$arity$1(l)," ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(h)].join("")],null));f+=1}else{b=!0;break a}return b?cljs.core.chunk_cons.call(null,cljs.core.chunk.call(null,e),m.call(null,cljs.core.chunk_rest.call(null,a))):cljs.core.chunk_cons.call(null,cljs.core.chunk.call(null,e),null)}e=cljs.core.first.call(null,a);e=d=null!=e&&(e.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===e.cljs$core$ISeq$)?
cljs.core.apply.call(null,cljs.core.hash_map,e):e;b=cljs.core.get.call(null,d,new cljs.core.Keyword(null,"id","id",-1388402092));cljs.core.get.call(null,d,new cljs.core.Keyword(null,"radius-ft","radius-ft",1860060448));d=cljs.core.get.call(null,d,new cljs.core.Keyword(null,"description","description",-1428560544));return cljs.core.cons.call(null,new cljs.core.PersistentArrayMap(null,2,[new cljs.core.Keyword(null,"value","value",305978217),e,new cljs.core.Keyword(null,"label","label",1718410804),[cljs.core.str.cljs$core$IFn$_invoke$arity$1(b),
" ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(d)].join("")],null),m.call(null,cljs.core.rest.call(null,a)))}return null}}}(a,b),null,null)}}(a,b).call(null,c)}}(c,a)).call(null,b),new cljs.core.Keyword(null,"formatter","formatter",-483008823),function(a,b){return function(a){a=null!=a&&(a.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===a.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,a):a;var b=cljs.core.get.call(null,a,new cljs.core.Keyword(null,"value","value",
305978217));cljs.core.get.call(null,a,new cljs.core.Keyword(null,"label","label",1718410804));var c=null!=b&&(b.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===b.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,b):b;a=cljs.core.get.call(null,c,new cljs.core.Keyword(null,"id","id",-1388402092));b=cljs.core.get.call(null,c,new cljs.core.Keyword(null,"radius-ft","radius-ft",1860060448));c=cljs.core.get.call(null,c,new cljs.core.Keyword(null,"description","description",
-1428560544));return hoplon.core.div.call(null,hoplon.core.span.call(null,new cljs.core.Keyword(null,"css","css",1135045163),new cljs.core.PersistentArrayMap(null,2,[new cljs.core.Keyword(null,"font-weight","font-weight",2085804583),"bold",new cljs.core.Keyword(null,"margin-right","margin-right",809689658),weathergen.ui.common.px.call(null,5)],null),a),hoplon.core.span.call(null,new cljs.core.Keyword(null,"css","css",1135045163),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,
"margin-right","margin-right",809689658),weathergen.ui.common.px.call(null,5)],null),"(",c,")"),hoplon.core.span.call(null,weathergen.coordinates.ft__GT_nm.call(null,b).toFixed(1),"nm"))}}(c,a)))),hoplon.core.tr.call(null,hoplon.core.td.call(null,weathergen.ui.layers.annotations.helped.call(null,new cljs.core.Keyword(null,"label","label",1718410804),"Label:")),hoplon.core.td.call(null,hoplon.core.input.call(null,new cljs.core.Keyword(null,"css","css",1135045163),new cljs.core.PersistentArrayMap(null,
1,[new cljs.core.Keyword(null,"width","width",-384071477),weathergen.ui.common.pct.call(null,97)],null),new cljs.core.Keyword(null,"value","value",305978217),a,new cljs.core.Keyword(null,"placeholder","placeholder",-104873083),javelin.core.formula.call(null,function(a,b){return function(a,b){return cljs.core.truth_(b)?null:(new cljs.core.Keyword(null,"id","id",-1388402092)).cljs$core$IFn$_invoke$arity$1(a)}}(c,a)).call(null,c,a),new cljs.core.Keyword(null,"input","input",556931961),function(a,b){return function(a){return cljs.core.reset_BANG_.call(null,
b,cljs.core.deref.call(null,a))}}(c,a))),hoplon.core.td.call(null,weathergen.ui.buttons.a_button.call(null,new cljs.core.Keyword(null,"click","click",1912301393),function(a,b){return function(){return cljs.core.reset_BANG_.call(null,b,null)}}(c,a),"Reset"),weathergen.help.help_icon.call(null,new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"map-controls","map-controls",-1453318552),new cljs.core.Keyword(null,"annotations","annotations",1640956248),
new cljs.core.Keyword(null,"reset-label","reset-label",-1700235787)],null)))))};
weathergen.ui.layers.annotations.annotation_edit_section=function(a){var b=null!=a&&(a.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===a.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,a):a,c=cljs.core.get.call(null,b,new cljs.core.Keyword(null,"annotations","annotations",1640956248)),d=cljs.core.get.call(null,b,new cljs.core.Keyword(null,"map-viewbox","map-viewbox",860086717)),e=cljs.core.get.call(null,b,new cljs.core.Keyword(null,"map-zoom","map-zoom",1543291337)),
f=cljs.core.get.call(null,b,new cljs.core.Keyword(null,"mission","mission",1740288522));return weathergen.ui.common.control_section.call(null,new cljs.core.Keyword(null,"title","title",636505583),weathergen.ui.layers.annotations.helped.call(null,new cljs.core.Keyword(null,"overview","overview",-435037267),"Annotations"),hoplon.core.div.call(null,function(){var g=function(a,b,c,d,e,f,g){return function(a,b){var c=cljs.core.deref.call(null,e);c=null!=c&&(c.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===
c.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,c):c;var g=cljs.core.get.call(null,c,new cljs.core.Keyword(null,"x","x",2099068185)),h=cljs.core.get.call(null,c,new cljs.core.Keyword(null,"y","y",-1757859776)),k=cljs.core.get.call(null,c,new cljs.core.Keyword(null,"width","width",-384071477)),l=cljs.core.get.call(null,c,new cljs.core.Keyword(null,"height","height",1025178622)),m=weathergen.ui.layers.annotations.scale__GT_font_size.call(null,k/59/4);return cljs.core.swap_BANG_.call(null,
d,cljs.core.assoc,weathergen.ui.layers.annotations.unique_id.call(null),function(){var c=cljs.core.PersistentHashMap.fromArrays([new cljs.core.Keyword(null,"y","y",-1757859776),new cljs.core.Keyword(null,"editing?","editing?",1646440800),new cljs.core.Keyword(null,"fill-color","fill-color",-1156875903),new cljs.core.Keyword(null,"shape-type","shape-type",-835891005),new cljs.core.Keyword(null,"font-color","font-color",-2019660285),new cljs.core.Keyword(null,"rotation","rotation",-1728051644),new cljs.core.Keyword(null,
"edge-width","edge-width",-1845528442),new cljs.core.Keyword(null,"font-size","font-size",-1847940346),new cljs.core.Keyword(null,"valign","valign",1485197511),new cljs.core.Keyword(null,"edge-dash-length","edge-dash-length",-19162360),new cljs.core.Keyword(null,"edge-color","edge-color",-533761623),new cljs.core.Keyword(null,"width","width",-384071477),new cljs.core.Keyword(null,"filled?","filled?",-1363697461),new cljs.core.Keyword(null,"type","type",1174270348),new cljs.core.Keyword(null,"edge-style",
"edge-style",1285542514),new cljs.core.Keyword(null,"hidden?","hidden?",1339691380),new cljs.core.Keyword(null,"edge-dash-spacing","edge-dash-spacing",1667711192),new cljs.core.Keyword(null,"x","x",2099068185),new cljs.core.Keyword(null,"font-family","font-family",-667419874),new cljs.core.Keyword(null,"height","height",1025178622),new cljs.core.Keyword(null,"halign","halign",-1113968481),new cljs.core.Keyword(null,"text","text",-1790561697)],[h+l/2,!0,"#80000000",new cljs.core.Keyword(null,"rectangle",
"rectangle",293163262),"white",0,12/cljs.core.deref.call(null,f),m,new cljs.core.Keyword(null,"middle","middle",-701029031),m,"black",k/2,!0,a,new cljs.core.Keyword(null,"solid","solid",-2023773691),!1,50,g+k/4,"Times New Roman",l/12,"center","Edit this text"]);return cljs.core.merge.call(null,c,b.call(null,c))}())}}(a,b,b,c,d,e,f);return hoplon.core.div.call(null,weathergen.ui.buttons.a_button.call(null,new cljs.core.Keyword(null,"click","click",1912301393),function(a,b,c,d,e,f,g,r){return function(){return a.call(null,
new cljs.core.Keyword(null,"shape","shape",1190694006),cljs.core.constantly.call(null,null))}}(g,a,b,b,c,d,e,f),"Add Shape"),weathergen.ui.buttons.a_button.call(null,new cljs.core.Keyword(null,"click","click",1912301393),function(a,b,c,d,e,f,g,r){return function(){return a.call(null,new cljs.core.Keyword(null,"arrow","arrow",1071351425),function(a,b,c,d,e,f,g,h){return function(k){var l=null!=k&&(k.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===k.cljs$core$ISeq$)?cljs.core.apply.call(null,
cljs.core.hash_map,k):k,m=cljs.core.get.call(null,l,new cljs.core.Keyword(null,"font-size","font-size",-1847940346)),n=cljs.core.get.call(null,l,new cljs.core.Keyword(null,"width","width",-384071477)),p=cljs.core.get.call(null,l,new cljs.core.Keyword(null,"x","x",2099068185)),q=cljs.core.get.call(null,l,new cljs.core.Keyword(null,"y","y",-1757859776));k=function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r){return function(b,c,d){return weathergen.ui.layers.annotations.exp__GT_linear.call(null,weathergen.ui.layers.annotations.linear__GT_exp.call(null,
b,1,100,c,d)/a,1,100,c,d)}}(cljs.core.deref.call(null,g),k,l,m,n,p,q,a,b,c,d,e,f,g,h);return new cljs.core.PersistentArrayMap(null,5,[new cljs.core.Keyword(null,"shaft","shaft",-278047141),k.call(null,70,.005,4),new cljs.core.Keyword(null,"arrowhead-width","arrowhead-width",839938517),k.call(null,65,.005,25),new cljs.core.Keyword(null,"arrowhead-length","arrowhead-length",437777364),k.call(null,82,.005,10),new cljs.core.Keyword(null,"heft","heft",-1112917),50,new cljs.core.Keyword(null,"points","points",
-1486596883),cljs.core.sorted_map.call(null,0,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[p,q],null),1,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[p+n,q],null))],null)}}(a,b,c,d,e,f,g,r))}}(g,a,b,b,c,d,e,f),"Add Arrow"),weathergen.ui.buttons.a_button.call(null,new cljs.core.Keyword(null,"click","click",1912301393),function(a,b,c,d,e,f,g,r){return function(){return a.call(null,new cljs.core.Keyword(null,"lines","lines",-700165781),
function(a,b,c,d,e,f,g,h){return function(k){var l=null!=k&&(k.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===k.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,k):k,m=cljs.core.get.call(null,l,new cljs.core.Keyword(null,"font-size","font-size",-1847940346)),n=cljs.core.get.call(null,l,new cljs.core.Keyword(null,"width","width",-384071477)),p=cljs.core.get.call(null,l,new cljs.core.Keyword(null,"x","x",2099068185)),q=cljs.core.get.call(null,l,new cljs.core.Keyword(null,
"y","y",-1757859776));(function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r){return function(b,c,d){return weathergen.ui.layers.annotations.exp__GT_linear.call(null,weathergen.ui.layers.annotations.linear__GT_exp.call(null,b,1,100,c,d)/a,1,100,c,d)}})(cljs.core.deref.call(null,g),k,l,m,n,p,q,a,b,c,d,e,f,g,h);return new cljs.core.PersistentArrayMap(null,2,[new cljs.core.Keyword(null,"points","points",-1486596883),cljs.core.sorted_map.call(null,0,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,
[p,q],null),1,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[p+n,q],null)),new cljs.core.Keyword(null,"open?","open?",1238443125),!0],null)}}(a,b,c,d,e,f,g,r))}}(g,a,b,b,c,d,e,f),"Add Lines"),weathergen.ui.buttons.a_button.call(null,new cljs.core.Keyword(null,"click","click",1912301393),function(a,b,c,d,e,f,g,r){return function(){return a.call(null,new cljs.core.Keyword(null,"ppt","ppt",976691076),function(a,b,c,d,e,f,g,h){return function(a){a=null!=a&&(a.cljs$lang$protocol_mask$partition0$&
64||cljs.core.PROTOCOL_SENTINEL===a.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,a):a;cljs.core.get.call(null,a,new cljs.core.Keyword(null,"font-size","font-size",-1847940346));var b=cljs.core.get.call(null,a,new cljs.core.Keyword(null,"width","width",-384071477)),c=cljs.core.get.call(null,a,new cljs.core.Keyword(null,"x","x",2099068185));cljs.core.get.call(null,a,new cljs.core.Keyword(null,"y","y",-1757859776));return new cljs.core.PersistentArrayMap(null,8,[new cljs.core.Keyword(null,
"threat","threat",-2071776455),cljs.core.first.call(null,(new cljs.core.Keyword(null,"ppt-data","ppt-data",-1749164693)).cljs$core$IFn$_invoke$arity$1(cljs.core.deref.call(null,h))),new cljs.core.Keyword(null,"text","text",-1790561697),(new cljs.core.Keyword(null,"id","id",-1388402092)).cljs$core$IFn$_invoke$arity$1(cljs.core.first.call(null,(new cljs.core.Keyword(null,"ppt-data","ppt-data",-1749164693)).cljs$core$IFn$_invoke$arity$1(cljs.core.deref.call(null,h)))),new cljs.core.Keyword(null,"font-family",
"font-family",-667419874),"Courier New",new cljs.core.Keyword(null,"filled?","filled?",-1363697461),!1,new cljs.core.Keyword(null,"fill-color","fill-color",-1156875903),"#80ff0000",new cljs.core.Keyword(null,"edge-color","edge-color",-533761623),"red",new cljs.core.Keyword(null,"edge-width","edge-width",-1845528442),12,new cljs.core.Keyword(null,"x","x",2099068185),c+b/2],null)}}(a,b,c,d,e,f,g,r))}}(g,a,b,b,c,d,e,f),"Add PPT"))}(),hoplon.core.div.call(null,new cljs.core.Keyword(null,"css","css",1135045163),
new cljs.core.PersistentArrayMap(null,2,[new cljs.core.Keyword(null,"display","display",242065432),"flex",new cljs.core.Keyword(null,"flex-wrap","flex-wrap",455413707),"wrap"],null),weathergen.ui.common.keyed_loop_tpl_STAR_.call(null,c,cljs.core.key,function(a,b,c,d,e,f,p){return function(g){var h=javelin.core.cell_map.call(null,cljs.core.identity,javelin.core.formula.call(null,function(a,b,c,d,e,f,g){return function(a){var b=cljs.core.nth.call(null,a,0,null);a=cljs.core.nth.call(null,a,1,null);return new cljs.core.PersistentVector(null,
2,5,cljs.core.PersistentVector.EMPTY_NODE,[a,b],null)}}(a,b,c,d,e,f,p)).call(null,g)),k=cljs.core.nth.call(null,h,0,null),l=cljs.core.nth.call(null,h,1,null),m=weathergen.ui.common.map_lens.call(null,d,l),n=weathergen.ui.common.path_lens.call(null,m,new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"type","type",1174270348)],null)),q=weathergen.ui.common.path_lens.call(null,m,new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,
[new cljs.core.Keyword(null,"shape-type","shape-type",-835891005)],null)),y=weathergen.ui.common.path_lens.call(null,m,new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"editing?","editing?",1646440800)],null)),z=weathergen.ui.common.path_lens.call(null,m,new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"hidden?","hidden?",1339691380)],null)),B=weathergen.ui.common.path_lens.call(null,
m,new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"fill-color","fill-color",-1156875903)],null)),C=weathergen.ui.common.path_lens.call(null,m,new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"filled?","filled?",-1363697461)],null)),A=weathergen.ui.common.path_lens.call(null,m,new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"open?",
"open?",1238443125)],null));return hoplon.core.div.call(null,new cljs.core.Keyword(null,"css","css",1135045163),javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v){return function(a,b){return cljs.core.PersistentHashMap.fromArrays([new cljs.core.Keyword(null,"border-style","border-style",-485574304),new cljs.core.Keyword(null,"min-width","min-width",1926193728),new cljs.core.Keyword(null,"min-height","min-height",398480837),new cljs.core.Keyword(null,"background","background",
-863952629),new cljs.core.Keyword(null,"border-width","border-width",-1512605390),new cljs.core.Keyword(null,"padding","padding",1660304693),new cljs.core.Keyword(null,"position","position",-2011731912),new cljs.core.Keyword(null,"margin-right","margin-right",809689658),new cljs.core.Keyword(null,"margin-bottom","margin-bottom",388334941)],[cljs.core.truth_(a)?"dashed":"double",weathergen.ui.common.px.call(null,350),weathergen.ui.common.px.call(null,330),cljs.core.truth_(b)?"#e0ffff":cljs.core.truth_(a)?
"#f0f0f0":null,weathergen.ui.common.px.call(null,3),weathergen.ui.common.px.call(null,0,5,30),"relative",weathergen.ui.common.px.call(null,3),weathergen.ui.common.px.call(null,3)])}}(n,q,y,z,B,C,A,m,h,k,l,a,b,c,d,e,f,p)).call(null,z,y),hoplon.core.div.call(null,new cljs.core.Keyword(null,"css","css",1135045163),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"margin","margin",-995903681),weathergen.ui.common.px.call(null,5,0,15,7)],null),weathergen.ui.common.inl.call(null,new cljs.core.PersistentArrayMap(null,
1,[new cljs.core.Keyword(null,"css","css",1135045163),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"margin-right","margin-right",809689658),weathergen.ui.common.px.call(null,10)],null)],null),weathergen.ui.layers.annotations.helped.call(null,new cljs.core.Keyword(null,"type","type",1174270348),"Type:")),weathergen.ui.common.inl.call(null,function(){var g=new cljs.core.Delay(function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v){return function(){return weathergen.ui.common.select2.call(null,
new cljs.core.Keyword(null,"css","css",1135045163),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"width","width",-384071477),weathergen.ui.common.px.call(null,125)],null),new cljs.core.Keyword(null,"value","value",305978217),b,new cljs.core.Keyword(null,"choices","choices",1385611597),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.PersistentArrayMap(null,2,[new cljs.core.Keyword(null,"value","value",305978217),new cljs.core.Keyword(null,
"rectangle","rectangle",293163262),new cljs.core.Keyword(null,"label","label",1718410804),"Rectangle"],null),new cljs.core.PersistentArrayMap(null,2,[new cljs.core.Keyword(null,"value","value",305978217),new cljs.core.Keyword(null,"oval","oval",910486219),new cljs.core.Keyword(null,"label","label",1718410804),"Oval"],null)],null))}}(n,q,y,z,B,C,A,m,h,k,l,a,b,c,d,e,f,p),null),r=new cljs.core.Delay(function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w){return function(){return hoplon.core.span.call(null,new cljs.core.PersistentArrayMap(null,
1,[new cljs.core.Keyword(null,"css","css",1135045163),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"font-size","font-size",-1847940346),weathergen.ui.common.pct.call(null,110)],null)],null),"Arrow")}}(g,n,q,y,z,B,C,A,m,h,k,l,a,b,c,d,e,f,p),null),u=new cljs.core.Delay(function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w,x){return function(){return hoplon.core.span.call(null,new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"css","css",1135045163),new cljs.core.PersistentArrayMap(null,
1,[new cljs.core.Keyword(null,"font-size","font-size",-1847940346),weathergen.ui.common.pct.call(null,110)],null)],null),"Lines")}}(g,r,n,q,y,z,B,C,A,m,h,k,l,a,b,c,d,e,f,p),null),t=new cljs.core.Delay(function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w,x,z){return function(){return hoplon.core.span.call(null,new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"css","css",1135045163),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"font-size","font-size",-1847940346),
weathergen.ui.common.pct.call(null,110)],null)],null),"PPT")}}(g,r,u,n,q,y,z,B,C,A,m,h,k,l,a,b,c,d,e,f,p),null),v=new cljs.core.Delay(function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w,x,z,y){return function(){return null}}(g,r,u,t,n,q,y,z,B,C,A,m,h,k,l,a,b,c,d,e,f,p),null);g=function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w,x,z,y,B){return function(f){return cljs.core.deref.call(null,function(){var g=function(){switch(f instanceof cljs.core.Keyword?f.fqn:null){case "shape":return a;case "arrow":return b;
case "lines":return c;case "ppt":return d;default:return e}}();return cljs.core.truth_(g)?g:cljs.core.atom.call(null,null)}())}}(g,r,u,t,v,n,q,y,z,B,C,A,m,h,k,l,a,b,c,d,e,f,p);return javelin.core.formula.call(null,g).call(null,n)}())),function(){var g=new cljs.core.PersistentVector(null,10,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.PersistentArrayMap(null,3,[new cljs.core.Keyword(null,"id","id",-1388402092),new cljs.core.Keyword(null,"shape-positioning","shape-positioning",-1114086428),
new cljs.core.Keyword(null,"title","title",636505583),"Positioning",new cljs.core.Keyword(null,"ui","ui",-469653645),hoplon.core.table.call(null,weathergen.ui.layers.annotations.shape_location_controls.call(null,m),weathergen.ui.layers.annotations.size_controls.call(null,m),weathergen.ui.layers.annotations.rotation_controls.call(null,m))],null),new cljs.core.PersistentArrayMap(null,3,[new cljs.core.Keyword(null,"id","id",-1388402092),new cljs.core.Keyword(null,"arrow-positioning","arrow-positioning",
1649570193),new cljs.core.Keyword(null,"title","title",636505583),"Positioning",new cljs.core.Keyword(null,"ui","ui",-469653645),weathergen.ui.layers.annotations.arrow_point_controls.call(null,m)],null),new cljs.core.PersistentArrayMap(null,3,[new cljs.core.Keyword(null,"id","id",-1388402092),new cljs.core.Keyword(null,"line-positioning","line-positioning",-2137933824),new cljs.core.Keyword(null,"title","title",636505583),"Points",new cljs.core.Keyword(null,"ui","ui",-469653645),weathergen.ui.layers.annotations.line_point_controls.call(null,
m,e)],null),new cljs.core.PersistentArrayMap(null,3,[new cljs.core.Keyword(null,"id","id",-1388402092),new cljs.core.Keyword(null,"ppt-positioning","ppt-positioning",678266284),new cljs.core.Keyword(null,"title","title",636505583),"Positioning",new cljs.core.Keyword(null,"ui","ui",-469653645),hoplon.core.table.call(null,weathergen.ui.layers.annotations.shape_location_controls.call(null,m))],null),new cljs.core.PersistentArrayMap(null,3,[new cljs.core.Keyword(null,"id","id",-1388402092),new cljs.core.Keyword(null,
"threat","threat",-2071776455),new cljs.core.Keyword(null,"title","title",636505583),"Threat",new cljs.core.Keyword(null,"ui","ui",-469653645),function(){var a=weathergen.ui.common.path_lens.call(null,p,new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"ppt-data","ppt-data",-1749164693)],null));return hoplon.core.table.call(null,weathergen.ui.layers.annotations.threat_controls.call(null,m,a))}()],null),new cljs.core.PersistentArrayMap(null,3,
[new cljs.core.Keyword(null,"id","id",-1388402092),new cljs.core.Keyword(null,"arrow-appearance","arrow-appearance",-45540204),new cljs.core.Keyword(null,"title","title",636505583),"Appearance",new cljs.core.Keyword(null,"ui","ui",-469653645),weathergen.ui.layers.annotations.arrow_appearance_controls.call(null,m)],null),new cljs.core.PersistentArrayMap(null,3,[new cljs.core.Keyword(null,"id","id",-1388402092),new cljs.core.Keyword(null,"edge","edge",919909153),new cljs.core.Keyword(null,"title","title",
636505583),"Edges",new cljs.core.Keyword(null,"ui","ui",-469653645),weathergen.ui.layers.annotations.edge_controls.call(null,m)],null),new cljs.core.PersistentArrayMap(null,4,[new cljs.core.Keyword(null,"id","id",-1388402092),new cljs.core.Keyword(null,"fill","fill",883462889),new cljs.core.Keyword(null,"title","title",636505583),"Fill",new cljs.core.Keyword(null,"hidden?","hidden?",1339691380),javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v){return function(a,b,c){a=a.call(null,
b,new cljs.core.Keyword(null,"lines","lines",-700165781));return cljs.core.truth_(a)?c:a}}(n,q,y,z,B,C,A,m,h,k,l,a,b,c,d,e,f,p)).call(null,cljs.core._EQ_,n,A),new cljs.core.Keyword(null,"ui","ui",-469653645),weathergen.ui.common.styled.call(null,new cljs.core.Keyword(null,"garden","garden",-1966516149),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"td","td",1479933353),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"min-width",
"min-width",1926193728),weathergen.ui.common.px.call(null,40)],null)],null),hoplon.core.table.call(null,weathergen.ui.layers.annotations.checkbox_controls.call(null,"Fill:",new cljs.core.Keyword(null,"filled?","filled?",-1363697461),C),function(){var g=new cljs.core.Delay(function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v){return function(){return weathergen.ui.layers.annotations.color_controls.call(null,"Color:",new cljs.core.Keyword(null,"fill-color","fill-color",-1156875903),e)}}(n,q,y,z,B,C,A,m,h,k,
l,a,b,c,d,e,f,p),null),r=new cljs.core.Delay(function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w){return function(){return null}}(g,n,q,y,z,B,C,A,m,h,k,l,a,b,c,d,e,f,p),null);g=function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w,x){return function(c){return cljs.core.deref.call(null,function(){var d=cljs.core.truth_(c)?a:b;return cljs.core.truth_(d)?d:cljs.core.atom.call(null,null)}())}}(g,r,n,q,y,z,B,C,A,m,h,k,l,a,b,c,d,e,f,p);return javelin.core.formula.call(null,g).call(null,C)}()))],null),new cljs.core.PersistentArrayMap(null,
3,[new cljs.core.Keyword(null,"id","id",-1388402092),new cljs.core.Keyword(null,"text","text",-1790561697),new cljs.core.Keyword(null,"title","title",636505583),"Text",new cljs.core.Keyword(null,"ui","ui",-469653645),weathergen.ui.layers.annotations.text_controls.call(null,m)],null),new cljs.core.PersistentArrayMap(null,3,[new cljs.core.Keyword(null,"id","id",-1388402092),new cljs.core.Keyword(null,"debug","debug",-1608172596),new cljs.core.Keyword(null,"title","title",636505583),"Debug",new cljs.core.Keyword(null,
"ui","ui",-469653645),hoplon.core.pre.call(null,new cljs.core.Keyword(null,"css","css",1135045163),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"white-space","white-space",-707351930),"pre-wrap"],null),javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v){return function(w,x,z,y,B){y=new y;var A=cljs.core._STAR_print_newline_STAR_,C=cljs.core._STAR_print_fn_STAR_,D=function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w,x,z,y){return function(a){return d.append(a)}}(A,
C,!0,y,a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v);cljs.core._STAR_print_newline_STAR_=!0;cljs.core._STAR_print_fn_STAR_=D;try{w.call(null,z.call(null,B.call(null),x))}finally{cljs.core._STAR_print_fn_STAR_=C,cljs.core._STAR_print_newline_STAR_=A}return cljs.core.str.cljs$core$IFn$_invoke$arity$1(y)}}(n,q,y,z,B,C,A,m,h,k,l,a,b,c,d,e,f,p)).call(null,cljs.pprint.pprint,m,cljs.core.into,goog.string.StringBuffer,cljs.core.sorted_map))],null)],null),r=new cljs.core.PersistentArrayMap(null,4,[new cljs.core.Keyword(null,
"shape","shape",1190694006),new cljs.core.PersistentVector(null,4,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"shape-positioning","shape-positioning",-1114086428),new cljs.core.Keyword(null,"edge","edge",919909153),new cljs.core.Keyword(null,"fill","fill",883462889),new cljs.core.Keyword(null,"text","text",-1790561697)],null),new cljs.core.Keyword(null,"arrow","arrow",1071351425),new cljs.core.PersistentVector(null,4,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,
"arrow-positioning","arrow-positioning",1649570193),new cljs.core.Keyword(null,"arrow-appearance","arrow-appearance",-45540204),new cljs.core.Keyword(null,"edge","edge",919909153),new cljs.core.Keyword(null,"fill","fill",883462889)],null),new cljs.core.Keyword(null,"lines","lines",-700165781),new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"line-positioning","line-positioning",-2137933824),new cljs.core.Keyword(null,"edge","edge",919909153),
new cljs.core.Keyword(null,"fill","fill",883462889)],null),new cljs.core.Keyword(null,"ppt","ppt",976691076),new cljs.core.PersistentVector(null,4,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"threat","threat",-2071776455),new cljs.core.Keyword(null,"ppt-positioning","ppt-positioning",678266284),new cljs.core.Keyword(null,"edge","edge",919909153),new cljs.core.Keyword(null,"fill","fill",883462889)],null)],null);return javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,
k,l,m,n,p,q,r,u,t,v,w,x){return function(z){return weathergen.ui.tabs.tabs.call(null,new cljs.core.Keyword(null,"selected","selected",574897764),javelin.core.cell.call(null,cljs.core.first.call(null,cljs.core.get.call(null,b,z))),new cljs.core.Keyword(null,"tabs","tabs",-779855354),cljs.core.filter.call(null,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w,x){return function(a){return cljs.core.contains_QMARK_.call(null,cljs.core.set.call(null,cljs.core.get.call(null,b,z)),(new cljs.core.Keyword(null,
"id","id",-1388402092)).cljs$core$IFn$_invoke$arity$1(a))}}(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w,x),a))}}(g,r,n,q,y,z,B,C,A,m,h,k,l,a,b,c,d,e,f,p)).call(null,n)}(),hoplon.core.div.call(null,new cljs.core.Keyword(null,"css","css",1135045163),new cljs.core.PersistentArrayMap(null,2,[new cljs.core.Keyword(null,"position","position",-2011731912),"absolute",new cljs.core.Keyword(null,"bottom","bottom",-1550509018),weathergen.ui.common.px.call(null,7)],null),weathergen.help.help_icon.call(null,new cljs.core.PersistentVector(null,
3,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"map-controls","map-controls",-1453318552),new cljs.core.Keyword(null,"annotations","annotations",1640956248),new cljs.core.Keyword(null,"edit-buttons","edit-buttons",-799797836)],null))),weathergen.ui.buttons.image_button.call(null,new cljs.core.Keyword(null,"css","css",1135045163),new cljs.core.PersistentArrayMap(null,3,[new cljs.core.Keyword(null,"position","position",-2011731912),"absolute",new cljs.core.Keyword(null,"bottom",
"bottom",-1550509018),weathergen.ui.common.px.call(null,5),new cljs.core.Keyword(null,"left","left",-399115937),weathergen.ui.common.px.call(null,30)],null),new cljs.core.Keyword(null,"click","click",1912301393),function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v){return function(){return cljs.core.swap_BANG_.call(null,c,cljs.core.not)}}(n,q,y,z,B,C,A,m,h,k,l,a,b,c,d,e,f,p),new cljs.core.Keyword(null,"title","title",636505583),"Edit",new cljs.core.Keyword(null,"src","src",-1651076051),"images/edit.svg",
new cljs.core.Keyword(null,"width","width",-384071477),"16px",new cljs.core.Keyword(null,"height","height",1025178622),"16px",new cljs.core.Keyword(null,"latched?","latched?",2124907793),y),weathergen.ui.buttons.image_button.call(null,new cljs.core.Keyword(null,"css","css",1135045163),new cljs.core.PersistentArrayMap(null,3,[new cljs.core.Keyword(null,"position","position",-2011731912),"absolute",new cljs.core.Keyword(null,"bottom","bottom",-1550509018),weathergen.ui.common.px.call(null,5),new cljs.core.Keyword(null,
"left","left",-399115937),weathergen.ui.common.px.call(null,57)],null),new cljs.core.Keyword(null,"click","click",1912301393),function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v){return function(){return cljs.core.swap_BANG_.call(null,d,cljs.core.not)}}(n,q,y,z,B,C,A,m,h,k,l,a,b,c,d,e,f,p),new cljs.core.Keyword(null,"title","title",636505583),"Hide",new cljs.core.Keyword(null,"src","src",-1651076051),"images/hide-eye.svg",new cljs.core.Keyword(null,"width","width",-384071477),"16px",new cljs.core.Keyword(null,
"height","height",1025178622),"16px",new cljs.core.Keyword(null,"latched?","latched?",2124907793),z),weathergen.ui.buttons.image_button.call(null,new cljs.core.Keyword(null,"css","css",1135045163),new cljs.core.PersistentArrayMap(null,3,[new cljs.core.Keyword(null,"position","position",-2011731912),"absolute",new cljs.core.Keyword(null,"bottom","bottom",-1550509018),weathergen.ui.common.px.call(null,5),new cljs.core.Keyword(null,"left","left",-399115937),weathergen.ui.common.px.call(null,84)],null),
new cljs.core.Keyword(null,"click","click",1912301393),function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v){return function(){return cljs.core.swap_BANG_.call(null,r,cljs.core.assoc,weathergen.ui.layers.annotations.unique_id.call(null),cljs.core.deref.call(null,h))}}(n,q,y,z,B,C,A,m,h,k,l,a,b,c,d,e,f,p),new cljs.core.Keyword(null,"title","title",636505583),"Copy",new cljs.core.Keyword(null,"src","src",-1651076051),"images/copy.svg",new cljs.core.Keyword(null,"width","width",-384071477),"16px",new cljs.core.Keyword(null,
"height","height",1025178622),"16px"),weathergen.ui.buttons.image_button.call(null,new cljs.core.Keyword(null,"css","css",1135045163),new cljs.core.PersistentArrayMap(null,3,[new cljs.core.Keyword(null,"position","position",-2011731912),"absolute",new cljs.core.Keyword(null,"bottom","bottom",-1550509018),weathergen.ui.common.px.call(null,5),new cljs.core.Keyword(null,"right","right",-452581833),weathergen.ui.common.px.call(null,5)],null),new cljs.core.Keyword(null,"src","src",-1651076051),"images/trash.png",
new cljs.core.Keyword(null,"width","width",-384071477),"16px",new cljs.core.Keyword(null,"title","title",636505583),"Remove",new cljs.core.Keyword(null,"click","click",1912301393),function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v){return function(){return cljs.core.swap_BANG_.call(null,r,cljs.core.dissoc,cljs.core.deref.call(null,m))}}(n,q,y,z,B,C,A,m,h,k,l,a,b,c,d,e,f,p)))}}(a,b,b,c,d,e,f)))))};
weathergen.ui.layers.annotations.save_annotations=function(a){var b=null!=a&&(a.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===a.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,a):a;a=cljs.core.get.call(null,b,new cljs.core.Keyword(null,"mission","mission",1740288522));var c=cljs.core.get.call(null,b,new cljs.core.Keyword(null,"annotations","annotations",1640956248));b=cljs.core.get.call(null,b,new cljs.core.Keyword(null,"build-info","build-info",-622713066));
return weathergen.ui.common.save_data.call(null,new cljs.core.PersistentArrayMap(null,4,[new cljs.core.Keyword(null,"data","data",-232669377),weathergen.encoding.encode.call(null,new cljs.core.PersistentArrayMap(null,2,[new cljs.core.Keyword(null,"vmt-version","vmt-version",587039393),cljs.core.get.call(null,b,"VERSION"),new cljs.core.Keyword(null,"annotations","annotations",1640956248),cljs.core.vals.call(null,cljs.core.deref.call(null,c))],null)),new cljs.core.Keyword(null,"title","title",636505583),
"Save VMT Annoations",new cljs.core.Keyword(null,"filters","filters",974726919),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.PersistentArrayMap(null,2,[new cljs.core.Keyword(null,"name","name",1843675177),"VMT Annotations",new cljs.core.Keyword(null,"extension","extension",1453374065),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,["vmta"],null)],null)],null),new cljs.core.Keyword(null,"default-path","default-path",-1046856029),
[cljs.core.str.cljs$core$IFn$_invoke$arity$1(weathergen.filesystem.basename.call(null,(new cljs.core.Keyword(null,"mission-name","mission-name",1479736582)).cljs$core$IFn$_invoke$arity$1(cljs.core.deref.call(null,a)),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"omit-extension?","omit-extension?",-1855127967),!0],null))),".vmta"].join("")],null))};
weathergen.ui.layers.annotations.load_annotations=function(a){var b=null!=a&&(a.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===a.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,a):a;a=cljs.core.get.call(null,b,new cljs.core.Keyword(null,"annotations","annotations",1640956248));var c=cljs.core.get.call(null,b,new cljs.core.Keyword(null,"build-info","build-info",-622713066));b=cljs.core.get.call(null,b,new cljs.core.Keyword(null,"serialization-messages","serialization-messages",
1294708403));var d=weathergen.ui.common.get_path_for_load.call(null,new cljs.core.PersistentArrayMap(null,3,[new cljs.core.Keyword(null,"title","title",636505583),"Load VMT Annotations",new cljs.core.Keyword(null,"filters","filters",974726919),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.PersistentArrayMap(null,2,[new cljs.core.Keyword(null,"name","name",1843675177),"VMT Annotations",new cljs.core.Keyword(null,"extensions","extensions",-1103629196),
new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,["vmta"],null)],null)],null),new cljs.core.Keyword(null,"default-path","default-path",-1046856029),null],null));if(cljs.core.truth_(d)){var e=weathergen.encoding.decode.call(null,weathergen.filesystem.file_text.call(null,d));d=cljs.core.get.call(null,c,"VERSION");var f=null!=e&&(e.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===e.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,e):e;e=
cljs.core.get.call(null,f,new cljs.core.Keyword(null,"vmt-version","vmt-version",587039393));f=cljs.core.get.call(null,f,new cljs.core.Keyword(null,"annotations","annotations",1640956248));cljs.core.swap_BANG_.call(null,a,cljs.core.merge,cljs.core.zipmap.call(null,cljs.core.repeatedly.call(null,weathergen.ui.layers.annotations.unique_id),f));return cljs.core.not_EQ_.call(null,e,cljs.core.get.call(null,c,"VERSION"))?cljs.core.swap_BANG_.call(null,b,cljs.core.assoc,weathergen.ui.layers.annotations.unique_id.call(null),
["You are running version ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.core.truth_(d)?d:"(no version)"),"of VMT, but the loaded annotation file was saved with version ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.core.truth_(e)?e:"(no version)"),". Using different versions of VMT does not usually cause a problem, but if you see anything unusal in the loaded annotations, this may be the reason."].join("")):null}return null};
weathergen.ui.layers.annotations.import_annotations=function(a){var b=null!=a&&(a.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===a.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,a):a;a=cljs.core.get.call(null,b,new cljs.core.Keyword(null,"annotations","annotations",1640956248));var c=cljs.core.get.call(null,b,new cljs.core.Keyword(null,"mission","mission",1740288522)),d=cljs.core.get.call(null,b,new cljs.core.Keyword(null,"build-info","build-info",-622713066));
b=cljs.core.get.call(null,b,new cljs.core.Keyword(null,"serialization-messages","serialization-messages",1294708403));var e=weathergen.ui.common.get_path_for_load.call(null,new cljs.core.PersistentArrayMap(null,3,[new cljs.core.Keyword(null,"title","title",636505583),"Choose VMT Briefing",new cljs.core.Keyword(null,"filters","filters",974726919),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.PersistentArrayMap(null,2,[new cljs.core.Keyword(null,"name",
"name",1843675177),"VMT Briefing",new cljs.core.Keyword(null,"extensions","extensions",-1103629196),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,["vmtb"],null)],null)],null),new cljs.core.Keyword(null,"default-path","default-path",-1046856029),null],null));if(cljs.core.truth_(e)){e=weathergen.encoding.decode.call(null,weathergen.compression.decompress.call(null,weathergen.filesystem.file_buffer.call(null,e)));var f=null!=e&&(e.cljs$lang$protocol_mask$partition0$&64||
cljs.core.PROTOCOL_SENTINEL===e.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,e):e;e=cljs.core.get.call(null,f,new cljs.core.Keyword(null,"vmt-version","vmt-version",587039393));var g=cljs.core.get.call(null,f,new cljs.core.Keyword(null,"briefing","briefing",-176308969));f=cljs.core.get.call(null,f,new cljs.core.Keyword(null,"annotations","annotations",1640956248));var h=(new cljs.core.Keyword(null,"install-id","install-id",-1310868737)).cljs$core$IFn$_invoke$arity$1(g),k=(new cljs.core.Keyword(null,
"theaterdef-name","theaterdef-name",-635231832)).cljs$core$IFn$_invoke$arity$1(g),l=(new cljs.core.Keyword(null,"annotations","annotations",1640956248)).cljs$core$IFn$_invoke$arity$1(f);var m=(new cljs.core.Keyword(null,"install-id","install-id",-1310868737)).cljs$core$IFn$_invoke$arity$1(cljs.core.deref.call(null,c));m=cljs.core.truth_(m)?cljs.core.PersistentHashSet.createAsIfByAssoc([m]):cljs.core.set.call(null,cljs.core.keys.call(null,(new cljs.core.Keyword(null,"installs","installs",-915592927)).cljs$core$IFn$_invoke$arity$1(cljs.core.deref.call(null,
c))));var n=cljs.core.get.call(null,d,"VERSION");c=weathergen.falcon.files.mission.theaterdef_name.call(null,cljs.core.deref.call(null,c));console.log("briefing",cljs.core.pr_str.call(null,cljs.core.keys.call(null,g)));console.log("annotation-data",cljs.core.pr_str.call(null,f));console.log("annotations",cljs.core.count.call(null,l));if(0===cljs.core.count.call(null,l))return cljs.core.swap_BANG_.call(null,b,cljs.core.assoc,weathergen.ui.layers.annotations.unique_id.call(null),"No annotations were found in the briefing.");
cljs.core._EQ_.call(null,c,k)||cljs.core.swap_BANG_.call(null,b,cljs.core.assoc,weathergen.ui.layers.annotations.unique_id.call(null),["The selected briefing is for theater ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(k)," but this mission is for theater ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(c),". The locations of the loaded annotations may therefore be incorrect."].join(""));cljs.core.truth_(m.call(null,h))||cljs.core.swap_BANG_.call(null,b,cljs.core.assoc,weathergen.ui.layers.annotations.unique_id.call(null),
["The imported briefing was saved for installation ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(h)," but this mission targets ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(weathergen.util.format_list.call(null,new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"conjuction","conjuction",-1999183686),"or"],null),m)),". Unexpected results may occur."].join(""));cljs.core.not_EQ_.call(null,e,cljs.core.get.call(null,d,"VERSION"))&&cljs.core.swap_BANG_.call(null,b,cljs.core.assoc,weathergen.ui.layers.annotations.unique_id.call(null),
["You are running version ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.core.truth_(n)?n:"(no version)"),"of VMT, but the loaded annotation file was saved with version ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.core.truth_(e)?e:"(no version)"),". Using different versions of VMT does not usually cause a problem, but if you see anything unusal in the loaded annotations, this may be the reason."].join(""));return cljs.core.swap_BANG_.call(null,a,cljs.core.merge,cljs.core.zipmap.call(null,
cljs.core.repeatedly.call(null,weathergen.ui.layers.annotations.unique_id),l))}return null};
weathergen.ui.layers.annotations.annotation_serialization_section=function(a){var b=null!=a&&(a.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===a.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,a):a,c=cljs.core.get.call(null,b,new cljs.core.Keyword(null,"annotations","annotations",1640956248)),d=cljs.core.get.call(null,b,new cljs.core.Keyword(null,"mission","mission",1740288522)),e=javelin.core.cell.call(null,cljs.core.sorted_map.call(null)),f=cljs.core.assoc.call(null,
b,new cljs.core.Keyword(null,"serialization-messages","serialization-messages",1294708403),e);return weathergen.ui.common.control_section.call(null,new cljs.core.Keyword(null,"title","title",636505583),weathergen.ui.layers.annotations.helped.call(null,new cljs.core.Keyword(null,"serialization","serialization",-471429060),"Save/load"),weathergen.ui.buttons.a_button.call(null,new cljs.core.Keyword(null,"click","click",1912301393),function(a,b,c,d,e,f,p){return function(){return weathergen.ui.layers.annotations.save_annotations.call(null,
b)}}(e,f,a,b,b,c,d),new cljs.core.Keyword(null,"disabled?","disabled?",-1523234181),javelin.core.formula.call(null,function(a,b,c,d,e,f,p){return function(a,b){return a.call(null,b)}}(e,f,a,b,b,c,d)).call(null,cljs.core.empty_QMARK_,c),"Save"),weathergen.ui.buttons.a_button.call(null,new cljs.core.Keyword(null,"click","click",1912301393),function(a,b,c,d,e,f,p){return function(){return weathergen.ui.layers.annotations.load_annotations.call(null,b)}}(e,f,a,b,b,c,d),"Load"),weathergen.ui.buttons.a_button.call(null,
new cljs.core.Keyword(null,"click","click",1912301393),function(a,b,c,d,e,f,p){return function(){return weathergen.ui.layers.annotations.import_annotations.call(null,b)}}(e,f,a,b,b,c,d),"Import From Briefing"),weathergen.help.help_icon.call(null,new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"map-controls","map-controls",-1453318552),new cljs.core.Keyword(null,"annotations","annotations",1640956248),new cljs.core.Keyword(null,"serialization-buttons",
"serialization-buttons",-1286443653)],null)),weathergen.ui.common.keyed_loop_tpl_STAR_.call(null,e,cljs.core.key,function(a,b,c,d,e,f,p){return function(g){g=javelin.core.cell_map.call(null,cljs.core.identity,javelin.core.formula.call(null,function(a,b,c,d,e,f,g){return function(a){var b=cljs.core.nth.call(null,a,0,null);a=cljs.core.nth.call(null,a,1,null);return new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[a,b],null)}}(a,b,c,d,e,f,p)).call(null,g));var h=cljs.core.nth.call(null,
g,0,null),k=cljs.core.nth.call(null,g,1,null),l=weathergen.ui.common.map_lens.call(null,a,k);return hoplon.core.div.call(null,new cljs.core.Keyword(null,"css","css",1135045163),new cljs.core.PersistentArrayMap(null,7,[new cljs.core.Keyword(null,"border","border",1444987323),"double",new cljs.core.Keyword(null,"border-color","border-color",-2059162761),"black",new cljs.core.Keyword(null,"background","background",-863952629),"#945594",new cljs.core.Keyword(null,"color","color",1011675173),"white",new cljs.core.Keyword(null,
"position","position",-2011731912),"relative",new cljs.core.Keyword(null,"margin-bottom","margin-bottom",388334941),weathergen.ui.common.px.call(null,3),new cljs.core.Keyword(null,"padding","padding",1660304693),weathergen.ui.common.px.call(null,0,3)],null),weathergen.ui.common.styled.call(null,new cljs.core.Keyword(null,"garden","garden",-1966516149),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"a","a",-2123407586),new cljs.core.PersistentArrayMap(null,
1,[new cljs.core.Keyword(null,"color","color",1011675173),"#ebff00"],null)],null),new cljs.core.Keyword(null,"css","css",1135045163),new cljs.core.PersistentArrayMap(null,2,[new cljs.core.Keyword(null,"display","display",242065432),"inline-block",new cljs.core.Keyword(null,"padding-right","padding-right",-1250249681),weathergen.ui.common.px.call(null,10)],null),l),hoplon.core.div.call(null,new cljs.core.Keyword(null,"css","css",1135045163),new cljs.core.PersistentArrayMap(null,7,[new cljs.core.Keyword(null,
"position","position",-2011731912),"absolute",new cljs.core.Keyword(null,"color","color",1011675173),"#ff6b6b",new cljs.core.Keyword(null,"font-size","font-size",-1847940346),weathergen.ui.common.pct.call(null,150),new cljs.core.Keyword(null,"font-weight","font-weight",2085804583),"bold",new cljs.core.Keyword(null,"top","top",-1856271961),weathergen.ui.common.px.call(null,-8),new cljs.core.Keyword(null,"right","right",-452581833),weathergen.ui.common.px.call(null,5),new cljs.core.Keyword(null,"cursor",
"cursor",1011937484),"pointer"],null),new cljs.core.Keyword(null,"click","click",1912301393),function(a,b,c,d,e,f,g,h,k,l,m){return function(){return cljs.core.swap_BANG_.call(null,e,cljs.core.dissoc,cljs.core.deref.call(null,d))}}(l,g,h,k,a,b,c,d,e,f,p),"×"))}}(e,f,a,b,b,c,d)))};
weathergen.ui.layers.annotations.controls=function(a){return hoplon.core.div.call(null,weathergen.ui.layers.annotations.annotation_serialization_section.call(null,a),weathergen.ui.layers.annotations.annotation_edit_section.call(null,a))};
weathergen.ui.layers.annotations.create=function(a,b){var c=null!=b&&(b.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===b.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,b):b,d=cljs.core.get.call(null,c,new cljs.core.Keyword(null,"map-viewbox","map-viewbox",860086717)),e=cljs.core.get.call(null,c,new cljs.core.Keyword(null,"map-zoom","map-zoom",1543291337));a=cljs.core.assoc.call(null,c,new cljs.core.Keyword(null,"annotations","annotations",1640956248),javelin.core.cell.call(null,
cljs.core.sorted_map.call(null)),new cljs.core.Keyword(null,"mission","mission",1740288522),a);return new cljs.core.PersistentArrayMap(null,3,[new cljs.core.Keyword(null,"controls-fn","controls-fn",-807620277),function(a,b,c,d,e,m){return function(){return weathergen.ui.layers.annotations.controls.call(null,a)}}(a,b,c,c,d,e),new cljs.core.Keyword(null,"overlay-fn","overlay-fn",1005125217),function(a,b,c,d,e,m){return function(b){return weathergen.ui.layers.annotations.overlay.call(null,a,b)}}(a,b,
c,c,d,e),new cljs.core.Keyword(null,"state","state",-1988618099),a],null)};
weathergen.ui.layers.annotations.briefing_data=function(a){return new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"annotations","annotations",1640956248),cljs.core.map.call(null,function(a){return cljs.core.assoc.call(null,a,new cljs.core.Keyword(null,"editing?","editing?",1646440800),!1)},cljs.core.vals.call(null,cljs.core.deref.call(null,(new cljs.core.Keyword(null,"annotations","annotations",1640956248)).cljs$core$IFn$_invoke$arity$1((new cljs.core.Keyword(null,"state","state",
-1988618099)).cljs$core$IFn$_invoke$arity$1(a)))))],null)};
weathergen.ui.layers.annotations.load_briefing_data=function(a,b){return cljs.core.reset_BANG_.call(null,cljs.core.get_in.call(null,a,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"state","state",-1988618099),new cljs.core.Keyword(null,"annotations","annotations",1640956248)],null)),cljs.core.into.call(null,cljs.core.sorted_map.call(null),function(){var a=null==b?null:(new cljs.core.Keyword(null,"annotations","annotations",1640956248)).cljs$core$IFn$_invoke$arity$1(b);
return null==a?null:cljs.core.zipmap.call(null,cljs.core.repeatedly.call(null,weathergen.ui.layers.annotations.unique_id),a)}()))};weathergen.twx={};weathergen.twx.buffer_size=764;weathergen.twx.map_model=3;
weathergen.twx.color=octet.core.spec.call(null,new cljs.core.Keyword(null,"r","r",-471384190),octet.core.float$,new cljs.core.Keyword(null,"g","g",1738089905),octet.core.float$,new cljs.core.Keyword(null,"b","b",1482224470),octet.core.float$,new cljs.core.Keyword(null,"h","h",1109658740),octet.core.float$,new cljs.core.Keyword(null,"s","s",1705939918),octet.core.float$,new cljs.core.Keyword(null,"v","v",21465059),octet.core.float$,new cljs.core.Keyword(null,"X","X",1705996313),octet.core.float$,new cljs.core.Keyword(null,
"Y","Y",-560717356),octet.core.float$,new cljs.core.Keyword(null,"Z","Z",459124588),octet.core.float$,new cljs.core.Keyword(null,"x","x",2099068185),octet.core.float$,new cljs.core.Keyword(null,"y","y",-1757859776),octet.core.float$,new cljs.core.Keyword(null,"L","L",-1038307519),octet.core.float$);
weathergen.twx.min_mid_max=function(a){return octet.core.spec.call(null,new cljs.core.Keyword(null,"min","min",444991522),a,new cljs.core.Keyword(null,"mid","mid",-2123385246),a,new cljs.core.Keyword(null,"max","max",61366548),a)};
weathergen.twx.for_weather_types=function(a){return octet.core.spec.call(null,new cljs.core.Keyword(null,"sunny","sunny",1448267778),a,new cljs.core.Keyword(null,"fair","fair",1684139423),a,new cljs.core.Keyword(null,"poor","poor",1462482211),a,new cljs.core.Keyword(null,"inclement","inclement",-550669382),a)};
weathergen.twx.condition_preset=octet.core.spec.call(null,new cljs.core.Keyword(null,"temp","temp",1791541284),weathergen.twx.min_mid_max.call(null,octet.core.int32),new cljs.core.Keyword(null,"pressure","pressure",505343747),weathergen.twx.min_mid_max.call(null,octet.core.int32),new cljs.core.Keyword(null,"wind-speed","wind-speed",-815617496),octet.core.spec.call(null,new cljs.core.Keyword(null,"min","min",444991522),octet.core.int32,new cljs.core.Keyword(null,"mid","mid",-2123385246),octet.core.int32,
new cljs.core.Keyword(null,"max","max",61366548),octet.core.int32,new cljs.core.Keyword(null,"thresh","thresh",-1241229885),octet.core.int32),new cljs.core.Keyword(null,"stratus-base","stratus-base",-1631962478),octet.core.int32,new cljs.core.Keyword(null,"cumulus-base","cumulus-base",-578210868),octet.core.int32,new cljs.core.Keyword(null,"stratus-thick","stratus-thick",365371931),octet.core.int32,new cljs.core.Keyword(null,"contrail-base","contrail-base",1468366421),octet.core.int32,new cljs.core.Keyword(null,
"last-tod","last-tod",-396006067),octet.core.int32,new cljs.core.Keyword(null,"fog-start-below-layer","fog-start-below-layer",-770862433),octet.core.float$,new cljs.core.Keyword(null,"fog-start-above-layer","fog-start-above-layer",439741482),octet.core.float$,new cljs.core.Keyword(null,"fog-end-below-layer","fog-end-below-layer",1550420314),octet.core.float$,new cljs.core.Keyword(null,"fog-end-above-layer","fog-end-above-layer",1358391533),octet.core.float$,new cljs.core.Keyword(null,"horizon-blend",
"horizon-blend",-1391946836),octet.core.float$,new cljs.core.Keyword(null,"sky-fog-level","sky-fog-level",1887146670),octet.core.float$,new cljs.core.Keyword(null,"sky-fog-start-elev","sky-fog-start-elev",747283504),octet.core.float$,new cljs.core.Keyword(null,"sky-fog-end-elev","sky-fog-end-elev",588752918),octet.core.float$,new cljs.core.Keyword(null,"earth-color","earth-color",-1971664003),weathergen.twx.color,new cljs.core.Keyword(null,"stratus-factor","stratus-factor",1081110154),weathergen.twx.for_weather_types.call(null,
octet.core.float$),new cljs.core.Keyword(null,"haze-min","haze-min",1253474527),octet.core.float$,new cljs.core.Keyword(null,"cumulus-z","cumulus-z",429358063),octet.core.float$,new cljs.core.Keyword(null,"stratus-z","stratus-z",149877474),octet.core.float$,new cljs.core.Keyword(null,"contrail-low","contrail-low",-745449192),octet.core.float$,new cljs.core.Keyword(null,"contrail-high","contrail-high",-1235778798),octet.core.float$,new cljs.core.Keyword(null,"temperature","temperature",899018429),
octet.core.float$);
weathergen.twx.twx=octet.core.spec.call(null,new cljs.core.Keyword(null,"version","version",425292698),octet.core.uint32,new cljs.core.Keyword(null,"last-check","last-check",-339535317),octet.core.int32,new cljs.core.Keyword(null,"basic-old-condition","basic-old-condition",1309887828),octet.core.int32,new cljs.core.Keyword(null,"basic-condition","basic-condition",-162264035),octet.core.int32,new cljs.core.Keyword(null,"basic-condition-counter","basic-condition-counter",-1441861875),octet.core.int32,
new cljs.core.Keyword(null,"current-condition","current-condition",-566180811),weathergen.twx.condition_preset,new cljs.core.Keyword(null,"condition-change-interval","condition-change-interval",893701369),octet.core.int32,new cljs.core.Keyword(null,"model","model",331153215),octet.core.int32,new cljs.core.Keyword(null,"map-updates","map-updates",-1922486454),octet.core.int32,new cljs.core.Keyword(null,"interval","interval",1708495417),octet.core.spec.call(null,new cljs.core.Keyword(null,"min","min",
444991522),octet.core.int32,new cljs.core.Keyword(null,"max","max",61366548),octet.core.int32),new cljs.core.Keyword(null,"wx-prob","wx-prob",-1460080674),weathergen.twx.for_weather_types.call(null,octet.core.float$),new cljs.core.Keyword(null,"wth-user-shift","wth-user-shift",-1886391343),octet.core.repeat.call(null,5,octet.core.spec.call(null,new cljs.core.Keyword(null,"shift-time","shift-time",-2088311977),octet.core.uint32,new cljs.core.Keyword(null,"shift-old-condition","shift-old-condition",
1640618544),octet.core.int32)),new cljs.core.Keyword(null,"wind-heading-model","wind-heading-model",1475180681),octet.core.int32,new cljs.core.Keyword(null,"wind-heading","wind-heading",248646220),octet.core.int32,new cljs.core.Keyword(null,"map-wind-heading","map-wind-heading",1215534522),octet.core.int32,new cljs.core.Keyword(null,"map-wind-speed","map-wind-speed",1879872886),octet.core.float$,new cljs.core.Keyword(null,"wth-wind","wth-wind",-1186913001),weathergen.twx.for_weather_types.call(null,
octet.core.spec.call(null,new cljs.core.Keyword(null,"night-speed","night-speed",1787456793),octet.core.int32,new cljs.core.Keyword(null,"dawn-speed","dawn-speed",1917633958),octet.core.int32,new cljs.core.Keyword(null,"day-speed","day-speed",1891855632),octet.core.int32,new cljs.core.Keyword(null,"burst-interval","burst-interval",-1840121827),octet.core.int32,new cljs.core.Keyword(null,"burst-duration","burst-duration",1282991874),octet.core.int32,new cljs.core.Keyword(null,"burst-speed","burst-speed",
1211039546),octet.core.int32,new cljs.core.Keyword(null,"burst-direction","burst-direction",1726705412),octet.core.int32)),new cljs.core.Keyword(null,"wth-turbuluence","wth-turbuluence",-213608889),octet.core.repeat.call(null,6,octet.core.spec.call(null,new cljs.core.Keyword(null,"rot-x-wind","rot-x-wind",564373616),octet.core.int32,new cljs.core.Keyword(null,"rot-y-wind","rot-y-wind",1997488264),octet.core.int32,new cljs.core.Keyword(null,"rot-z-wind","rot-z-wind",135263615),octet.core.int32,new cljs.core.Keyword(null,
"rot-x-rot","rot-x-rot",-516874998),octet.core.int32,new cljs.core.Keyword(null,"rot-y-rot","rot-y-rot",-118743002),octet.core.int32,new cljs.core.Keyword(null,"rot-z-rot","rot-z-rot",-1443514693),octet.core.int32)),new cljs.core.Keyword(null,"mech-layer","mech-layer",-218931489),octet.core.int32,new cljs.core.Keyword(null,"heat-layer","heat-layer",-453010931),octet.core.int32,new cljs.core.Keyword(null,"occurrence","occurrence",-1730809154),octet.core.int32,new cljs.core.Keyword(null,"duration",
"duration",1444101068),octet.core.int32,new cljs.core.Keyword(null,"fog-start","fog-start",-180274053),weathergen.twx.for_weather_types.call(null,octet.core.float$),new cljs.core.Keyword(null,"fog-end","fog-end",175288886),weathergen.twx.for_weather_types.call(null,octet.core.float$),new cljs.core.Keyword(null,"stratus-thick","stratus-thick",365371931),weathergen.twx.for_weather_types.call(null,octet.core.int32),new cljs.core.Keyword(null,"cumulus-layer","cumulus-layer",928032071),weathergen.twx.for_weather_types.call(null,
octet.core.int32),new cljs.core.Keyword(null,"contrail-layer","contrail-layer",-456651541),weathergen.twx.for_weather_types.call(null,octet.core.int32),new cljs.core.Keyword(null,"cumulus-density","cumulus-density",-212067170),octet.core.int32,new cljs.core.Keyword(null,"cumulus-size","cumulus-size",-954219270),octet.core.float$);
weathergen.twx.parse=function(a){var b=octet.buffer._STAR_byte_order_STAR_,c=new cljs.core.Keyword(null,"little-endian","little-endian",1877303413);octet.buffer._STAR_byte_order_STAR_=c;try{return octet.core.read.call(null,a,weathergen.twx.twx)}finally{octet.buffer._STAR_byte_order_STAR_=b}};
weathergen.twx.current_condition_template=cljs.core.PersistentHashMap.fromArrays([new cljs.core.Keyword(null,"stratus-z","stratus-z",149877474),new cljs.core.Keyword(null,"pressure","pressure",505343747),new cljs.core.Keyword(null,"temp","temp",1791541284),new cljs.core.Keyword(null,"wind-speed","wind-speed",-815617496),new cljs.core.Keyword(null,"fog-start-above-layer","fog-start-above-layer",439741482),new cljs.core.Keyword(null,"stratus-factor","stratus-factor",1081110154),new cljs.core.Keyword(null,
"horizon-blend","horizon-blend",-1391946836),new cljs.core.Keyword(null,"cumulus-base","cumulus-base",-578210868),new cljs.core.Keyword(null,"fog-end-above-layer","fog-end-above-layer",1358391533),new cljs.core.Keyword(null,"last-tod","last-tod",-396006067),new cljs.core.Keyword(null,"sky-fog-level","sky-fog-level",1887146670),new cljs.core.Keyword(null,"cumulus-z","cumulus-z",429358063),new cljs.core.Keyword(null,"sky-fog-start-elev","sky-fog-start-elev",747283504),new cljs.core.Keyword(null,"stratus-base",
"stratus-base",-1631962478),new cljs.core.Keyword(null,"contrail-high","contrail-high",-1235778798),new cljs.core.Keyword(null,"contrail-base","contrail-base",1468366421),new cljs.core.Keyword(null,"sky-fog-end-elev","sky-fog-end-elev",588752918),new cljs.core.Keyword(null,"contrail-low","contrail-low",-745449192),new cljs.core.Keyword(null,"fog-end-below-layer","fog-end-below-layer",1550420314),new cljs.core.Keyword(null,"stratus-thick","stratus-thick",365371931),new cljs.core.Keyword(null,"temperature",
"temperature",899018429),new cljs.core.Keyword(null,"earth-color","earth-color",-1971664003),new cljs.core.Keyword(null,"haze-min","haze-min",1253474527),new cljs.core.Keyword(null,"fog-start-below-layer","fog-start-below-layer",-770862433)],[-35E3,new cljs.core.PersistentArrayMap(null,3,[new cljs.core.Keyword(null,"min","min",444991522),0,new cljs.core.Keyword(null,"mid","mid",-2123385246),0,new cljs.core.Keyword(null,"max","max",61366548),0],null),new cljs.core.PersistentArrayMap(null,3,[new cljs.core.Keyword(null,
"min","min",444991522),0,new cljs.core.Keyword(null,"mid","mid",-2123385246),0,new cljs.core.Keyword(null,"max","max",61366548),0],null),new cljs.core.PersistentArrayMap(null,4,[new cljs.core.Keyword(null,"min","min",444991522),0,new cljs.core.Keyword(null,"mid","mid",-2123385246),0,new cljs.core.Keyword(null,"max","max",61366548),0,new cljs.core.Keyword(null,"thresh","thresh",-1241229885),0],null),6E3,new cljs.core.PersistentArrayMap(null,4,[new cljs.core.Keyword(null,"sunny","sunny",1448267778),
1,new cljs.core.Keyword(null,"fair","fair",1684139423),0,new cljs.core.Keyword(null,"poor","poor",1462482211),0,new cljs.core.Keyword(null,"inclement","inclement",-550669382),0],null),.5,0,12E4,0,.99,0,0,35E3,4E4,34E3,0,34E3,159232.16,0,0,cljs.core.PersistentHashMap.fromArrays([new cljs.core.Keyword(null,"y","y",-1757859776),new cljs.core.Keyword(null,"L","L",-1038307519),new cljs.core.Keyword(null,"r","r",-471384190),new cljs.core.Keyword(null,"v","v",21465059),new cljs.core.Keyword(null,"Z","Z",
459124588),new cljs.core.Keyword(null,"s","s",1705939918),new cljs.core.Keyword(null,"g","g",1738089905),new cljs.core.Keyword(null,"h","h",1109658740),new cljs.core.Keyword(null,"Y","Y",-560717356),new cljs.core.Keyword(null,"b","b",1482224470),new cljs.core.Keyword(null,"X","X",1705996313),new cljs.core.Keyword(null,"x","x",2099068185)],[48995.688,0,.54509807,0,5.003981E-39,2.832474E-16,.63529414,0,0,.76862746,1.4E-45,0]),0,3991.4685]);
weathergen.twx.twx_template=cljs.core.PersistentHashMap.fromArrays([new cljs.core.Keyword(null,"cumulus-layer","cumulus-layer",928032071),new cljs.core.Keyword(null,"wth-turbuluence","wth-turbuluence",-213608889),new cljs.core.Keyword(null,"wind-heading-model","wind-heading-model",1475180681),new cljs.core.Keyword(null,"map-updates","map-updates",-1922486454),new cljs.core.Keyword(null,"contrail-layer","contrail-layer",-456651541),new cljs.core.Keyword(null,"last-check","last-check",-339535317),new cljs.core.Keyword(null,
"wind-heading","wind-heading",248646220),new cljs.core.Keyword(null,"duration","duration",1444101068),new cljs.core.Keyword(null,"heat-layer","heat-layer",-453010931),new cljs.core.Keyword(null,"basic-condition-counter","basic-condition-counter",-1441861875),new cljs.core.Keyword(null,"stratus-layer","stratus-layer",1850856816),new cljs.core.Keyword(null,"wth-user-shift","wth-user-shift",-1886391343),new cljs.core.Keyword(null,"wth-temp","wth-temp",-1431587693),new cljs.core.Keyword(null,"wth-press",
"wth-press",212615827),new cljs.core.Keyword(null,"basic-old-condition","basic-old-condition",1309887828),new cljs.core.Keyword(null,"current-condition","current-condition",-566180811),new cljs.core.Keyword(null,"map-wind-speed","map-wind-speed",1879872886),new cljs.core.Keyword(null,"fog-end","fog-end",175288886),new cljs.core.Keyword(null,"wth-wind","wth-wind",-1186913001),new cljs.core.Keyword(null,"condition-change-interval","condition-change-interval",893701369),new cljs.core.Keyword(null,"interval",
"interval",1708495417),new cljs.core.Keyword(null,"cumulus-size","cumulus-size",-954219270),new cljs.core.Keyword(null,"map-wind-heading","map-wind-heading",1215534522),new cljs.core.Keyword(null,"version","version",425292698),new cljs.core.Keyword(null,"fog-start","fog-start",-180274053),new cljs.core.Keyword(null,"stratus-thick","stratus-thick",365371931),new cljs.core.Keyword(null,"basic-condition","basic-condition",-162264035),new cljs.core.Keyword(null,"cumulus-density","cumulus-density",-212067170),
new cljs.core.Keyword(null,"occurrence","occurrence",-1730809154),new cljs.core.Keyword(null,"wx-prob","wx-prob",-1460080674),new cljs.core.Keyword(null,"mech-layer","mech-layer",-218931489),new cljs.core.Keyword(null,"model","model",331153215)],[new cljs.core.PersistentArrayMap(null,4,[new cljs.core.Keyword(null,"sunny","sunny",1448267778),0,new cljs.core.Keyword(null,"fair","fair",1684139423),8E3,new cljs.core.Keyword(null,"poor","poor",1462482211),7500,new cljs.core.Keyword(null,"inclement","inclement",
-550669382),2E3],null),new cljs.core.PersistentVector(null,6,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.PersistentArrayMap(null,6,[new cljs.core.Keyword(null,"rot-x-wind","rot-x-wind",564373616),5,new cljs.core.Keyword(null,"rot-y-wind","rot-y-wind",1997488264),7,new cljs.core.Keyword(null,"rot-z-wind","rot-z-wind",135263615),3,new cljs.core.Keyword(null,"rot-x-rot","rot-x-rot",-516874998),45,new cljs.core.Keyword(null,"rot-y-rot","rot-y-rot",-118743002),134,new cljs.core.Keyword(null,
"rot-z-rot","rot-z-rot",-1443514693),240],null),new cljs.core.PersistentArrayMap(null,6,[new cljs.core.Keyword(null,"rot-x-wind","rot-x-wind",564373616),3,new cljs.core.Keyword(null,"rot-y-wind","rot-y-wind",1997488264),4,new cljs.core.Keyword(null,"rot-z-wind","rot-z-wind",135263615),2,new cljs.core.Keyword(null,"rot-x-rot","rot-x-rot",-516874998),45,new cljs.core.Keyword(null,"rot-y-rot","rot-y-rot",-118743002),134,new cljs.core.Keyword(null,"rot-z-rot","rot-z-rot",-1443514693),240],null),new cljs.core.PersistentArrayMap(null,
6,[new cljs.core.Keyword(null,"rot-x-wind","rot-x-wind",564373616),4,new cljs.core.Keyword(null,"rot-y-wind","rot-y-wind",1997488264),5,new cljs.core.Keyword(null,"rot-z-wind","rot-z-wind",135263615),2,new cljs.core.Keyword(null,"rot-x-rot","rot-x-rot",-516874998),45,new cljs.core.Keyword(null,"rot-y-rot","rot-y-rot",-118743002),134,new cljs.core.Keyword(null,"rot-z-rot","rot-z-rot",-1443514693),240],null),new cljs.core.PersistentArrayMap(null,6,[new cljs.core.Keyword(null,"rot-x-wind","rot-x-wind",
564373616),1,new cljs.core.Keyword(null,"rot-y-wind","rot-y-wind",1997488264),3,new cljs.core.Keyword(null,"rot-z-wind","rot-z-wind",135263615),3,new cljs.core.Keyword(null,"rot-x-rot","rot-x-rot",-516874998),45,new cljs.core.Keyword(null,"rot-y-rot","rot-y-rot",-118743002),193,new cljs.core.Keyword(null,"rot-z-rot","rot-z-rot",-1443514693),240],null),new cljs.core.PersistentArrayMap(null,6,[new cljs.core.Keyword(null,"rot-x-wind","rot-x-wind",564373616),3,new cljs.core.Keyword(null,"rot-y-wind",
"rot-y-wind",1997488264),4,new cljs.core.Keyword(null,"rot-z-wind","rot-z-wind",135263615),4,new cljs.core.Keyword(null,"rot-x-rot","rot-x-rot",-516874998),45,new cljs.core.Keyword(null,"rot-y-rot","rot-y-rot",-118743002),193,new cljs.core.Keyword(null,"rot-z-rot","rot-z-rot",-1443514693),240],null),new cljs.core.PersistentArrayMap(null,6,[new cljs.core.Keyword(null,"rot-x-wind","rot-x-wind",564373616),1,new cljs.core.Keyword(null,"rot-y-wind","rot-y-wind",1997488264),1,new cljs.core.Keyword(null,
"rot-z-wind","rot-z-wind",135263615),0,new cljs.core.Keyword(null,"rot-x-rot","rot-x-rot",-516874998),45,new cljs.core.Keyword(null,"rot-y-rot","rot-y-rot",-118743002),193,new cljs.core.Keyword(null,"rot-z-rot","rot-z-rot",-1443514693),240],null)],null),1,1,new cljs.core.PersistentArrayMap(null,4,[new cljs.core.Keyword(null,"sunny","sunny",1448267778),34E3,new cljs.core.Keyword(null,"fair","fair",1684139423),28E3,new cljs.core.Keyword(null,"poor","poor",1462482211),25E3,new cljs.core.Keyword(null,
"inclement","inclement",-550669382),2E4],null),324E5,0,20,1500,0,new cljs.core.PersistentArrayMap(null,4,[new cljs.core.Keyword(null,"sunny","sunny",1448267778),35E3,new cljs.core.Keyword(null,"fair","fair",1684139423),3E4,new cljs.core.Keyword(null,"poor","poor",1462482211),13300,new cljs.core.Keyword(null,"inclement","inclement",-550669382),13300],null),new cljs.core.PersistentVector(null,5,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.PersistentArrayMap(null,2,[new cljs.core.Keyword(null,
"shift-time","shift-time",-2088311977),1188E5,new cljs.core.Keyword(null,"shift-old-condition","shift-old-condition",1640618544),1],null),new cljs.core.PersistentArrayMap(null,2,[new cljs.core.Keyword(null,"shift-time","shift-time",-2088311977),2052E5,new cljs.core.Keyword(null,"shift-old-condition","shift-old-condition",1640618544),1],null),new cljs.core.PersistentArrayMap(null,2,[new cljs.core.Keyword(null,"shift-time","shift-time",-2088311977),2916E5,new cljs.core.Keyword(null,"shift-old-condition",
"shift-old-condition",1640618544),1],null),new cljs.core.PersistentArrayMap(null,2,[new cljs.core.Keyword(null,"shift-time","shift-time",-2088311977),378E6,new cljs.core.Keyword(null,"shift-old-condition","shift-old-condition",1640618544),1],null),new cljs.core.PersistentArrayMap(null,2,[new cljs.core.Keyword(null,"shift-time","shift-time",-2088311977),4644E5,new cljs.core.Keyword(null,"shift-old-condition","shift-old-condition",1640618544),1],null)],null),new cljs.core.PersistentArrayMap(null,4,
[new cljs.core.Keyword(null,"sunny","sunny",1448267778),new cljs.core.PersistentArrayMap(null,3,[new cljs.core.Keyword(null,"night","night",773755357),12,new cljs.core.Keyword(null,"dawn","dawn",65911168),18,new cljs.core.Keyword(null,"day","day",-274800446),30],null),new cljs.core.Keyword(null,"fair","fair",1684139423),new cljs.core.PersistentArrayMap(null,3,[new cljs.core.Keyword(null,"night","night",773755357),12,new cljs.core.Keyword(null,"dawn","dawn",65911168),18,new cljs.core.Keyword(null,
"day","day",-274800446),28],null),new cljs.core.Keyword(null,"poor","poor",1462482211),new cljs.core.PersistentArrayMap(null,3,[new cljs.core.Keyword(null,"night","night",773755357),10,new cljs.core.Keyword(null,"dawn","dawn",65911168),15,new cljs.core.Keyword(null,"day","day",-274800446),25],null),new cljs.core.Keyword(null,"inclement","inclement",-550669382),new cljs.core.PersistentArrayMap(null,3,[new cljs.core.Keyword(null,"night","night",773755357),9,new cljs.core.Keyword(null,"dawn","dawn",
65911168),14,new cljs.core.Keyword(null,"day","day",-274800446),22],null)],null),new cljs.core.PersistentArrayMap(null,4,[new cljs.core.Keyword(null,"sunny","sunny",1448267778),new cljs.core.PersistentArrayMap(null,3,[new cljs.core.Keyword(null,"night","night",773755357),1034,new cljs.core.Keyword(null,"dawn","dawn",65911168),1036,new cljs.core.Keyword(null,"day","day",-274800446),1040],null),new cljs.core.Keyword(null,"fair","fair",1684139423),new cljs.core.PersistentArrayMap(null,3,[new cljs.core.Keyword(null,
"night","night",773755357),1007,new cljs.core.Keyword(null,"dawn","dawn",65911168),1009,new cljs.core.Keyword(null,"day","day",-274800446),1013],null),new cljs.core.Keyword(null,"poor","poor",1462482211),new cljs.core.PersistentArrayMap(null,3,[new cljs.core.Keyword(null,"night","night",773755357),989,new cljs.core.Keyword(null,"dawn","dawn",65911168),991,new cljs.core.Keyword(null,"day","day",-274800446),995],null),new cljs.core.Keyword(null,"inclement","inclement",-550669382),new cljs.core.PersistentArrayMap(null,
3,[new cljs.core.Keyword(null,"night","night",773755357),978,new cljs.core.Keyword(null,"dawn","dawn",65911168),980,new cljs.core.Keyword(null,"day","day",-274800446),994],null)],null),2,weathergen.twx.current_condition_template,45,new cljs.core.PersistentArrayMap(null,4,[new cljs.core.Keyword(null,"sunny","sunny",1448267778),2E5,new cljs.core.Keyword(null,"fair","fair",1684139423),159232.16,new cljs.core.Keyword(null,"poor","poor",1462482211),69889.87,new cljs.core.Keyword(null,"inclement","inclement",
-550669382),24785.021],null),new cljs.core.PersistentArrayMap(null,4,[new cljs.core.Keyword(null,"sunny","sunny",1448267778),new cljs.core.PersistentArrayMap(null,7,[new cljs.core.Keyword(null,"night-speed","night-speed",1787456793),0,new cljs.core.Keyword(null,"dawn-speed","dawn-speed",1917633958),2,new cljs.core.Keyword(null,"day-speed","day-speed",1891855632),5,new cljs.core.Keyword(null,"burst-interval","burst-interval",-1840121827),30,new cljs.core.Keyword(null,"burst-duration","burst-duration",
1282991874),5,new cljs.core.Keyword(null,"burst-speed","burst-speed",1211039546),2,new cljs.core.Keyword(null,"burst-direction","burst-direction",1726705412),10],null),new cljs.core.Keyword(null,"fair","fair",1684139423),new cljs.core.PersistentArrayMap(null,7,[new cljs.core.Keyword(null,"night-speed","night-speed",1787456793),5,new cljs.core.Keyword(null,"dawn-speed","dawn-speed",1917633958),10,new cljs.core.Keyword(null,"day-speed","day-speed",1891855632),15,new cljs.core.Keyword(null,"burst-interval",
"burst-interval",-1840121827),20,new cljs.core.Keyword(null,"burst-duration","burst-duration",1282991874),10,new cljs.core.Keyword(null,"burst-speed","burst-speed",1211039546),9,new cljs.core.Keyword(null,"burst-direction","burst-direction",1726705412),20],null),new cljs.core.Keyword(null,"poor","poor",1462482211),new cljs.core.PersistentArrayMap(null,7,[new cljs.core.Keyword(null,"night-speed","night-speed",1787456793),10,new cljs.core.Keyword(null,"dawn-speed","dawn-speed",1917633958),15,new cljs.core.Keyword(null,
"day-speed","day-speed",1891855632),20,new cljs.core.Keyword(null,"burst-interval","burst-interval",-1840121827),15,new cljs.core.Keyword(null,"burst-duration","burst-duration",1282991874),10,new cljs.core.Keyword(null,"burst-speed","burst-speed",1211039546),13,new cljs.core.Keyword(null,"burst-direction","burst-direction",1726705412),30],null),new cljs.core.Keyword(null,"inclement","inclement",-550669382),new cljs.core.PersistentArrayMap(null,7,[new cljs.core.Keyword(null,"night-speed","night-speed",
1787456793),15,new cljs.core.Keyword(null,"dawn-speed","dawn-speed",1917633958),20,new cljs.core.Keyword(null,"day-speed","day-speed",1891855632),25,new cljs.core.Keyword(null,"burst-interval","burst-interval",-1840121827),5,new cljs.core.Keyword(null,"burst-duration","burst-duration",1282991874),5,new cljs.core.Keyword(null,"burst-speed","burst-speed",1211039546),16,new cljs.core.Keyword(null,"burst-direction","burst-direction",1726705412),30],null)],null),20293,new cljs.core.PersistentArrayMap(null,
2,[new cljs.core.Keyword(null,"min","min",444991522),2E4,new cljs.core.Keyword(null,"max","max",61366548),25E3],null),.98130846,123,3,new cljs.core.PersistentArrayMap(null,4,[new cljs.core.Keyword(null,"sunny","sunny",1448267778),8E3,new cljs.core.Keyword(null,"fair","fair",1684139423),3991.4685,new cljs.core.Keyword(null,"poor","poor",1462482211),3E3,new cljs.core.Keyword(null,"inclement","inclement",-550669382),3E3],null),new cljs.core.PersistentArrayMap(null,4,[new cljs.core.Keyword(null,"sunny",
"sunny",1448267778),0,new cljs.core.Keyword(null,"fair","fair",1684139423),0,new cljs.core.Keyword(null,"poor","poor",1462482211),2E3,new cljs.core.Keyword(null,"inclement","inclement",-550669382),7E3],null),1,1,60,new cljs.core.PersistentArrayMap(null,4,[new cljs.core.Keyword(null,"sunny","sunny",1448267778),.25,new cljs.core.Keyword(null,"fair","fair",1684139423),.25,new cljs.core.Keyword(null,"poor","poor",1462482211),.25,new cljs.core.Keyword(null,"inclement","inclement",-550669382),.25],null),
500,3]);weathergen.twx.fog_start=function(a){return 15.5286*Math.exp(.1928564*a)+2944.614};weathergen.twx.fog_end=function(a){return cljs.core.long$.call(null,19690/3*a+3100)};
weathergen.twx.per_weather_type=function(a,b){var c=null!=b&&(b.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===b.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,b):b;b=cljs.core.get.call(null,c,new cljs.core.Keyword(null,"sunny","sunny",1448267778));var d=cljs.core.get.call(null,c,new cljs.core.Keyword(null,"fair","fair",1684139423)),e=cljs.core.get.call(null,c,new cljs.core.Keyword(null,"poor","poor",1462482211));c=cljs.core.get.call(null,c,new cljs.core.Keyword(null,
"inclement","inclement",-550669382));return new cljs.core.PersistentArrayMap(null,4,[new cljs.core.Keyword(null,"sunny","sunny",1448267778),a.call(null,b),new cljs.core.Keyword(null,"fair","fair",1684139423),a.call(null,d),new cljs.core.Keyword(null,"poor","poor",1462482211),a.call(null,e),new cljs.core.Keyword(null,"inclement","inclement",-550669382),a.call(null,c)],null)};
weathergen.twx.params__GT_twx=function(a,b){return cljs.core.assoc.call(null,cljs.core.assoc.call(null,weathergen.twx.twx_template,new cljs.core.Keyword(null,"model","model",331153215),3,new cljs.core.Keyword(null,"map-updates","map-updates",-1922486454),1,new cljs.core.Keyword(null,"map-wind-heading","map-wind-heading",1215534522),cljs.core.mod.call(null,(new cljs.core.Keyword(null,"heading","heading",-1312171873)).cljs$core$IFn$_invoke$arity$1(b)+180,360),new cljs.core.Keyword(null,"map-wind-speed",
"map-wind-speed",1879872886),(new cljs.core.Keyword(null,"speed","speed",1257663751)).cljs$core$IFn$_invoke$arity$1(b)),new cljs.core.Keyword(null,"cumulus-density","cumulus-density",-212067170),cljs.core.long$.call(null,((new cljs.core.Keyword(null,"cumulus-density","cumulus-density",-212067170)).cljs$core$IFn$_invoke$arity$1(a)-5)/45*12+1),new cljs.core.Keyword(null,"cumulus-size","cumulus-size",-954219270),(new cljs.core.Keyword(null,"cumulus-size","cumulus-size",-954219270)).cljs$core$IFn$_invoke$arity$1(a),
new cljs.core.Keyword(null,"fog-start","fog-start",-180274053),weathergen.twx.per_weather_type.call(null,weathergen.twx.fog_start,(new cljs.core.Keyword(null,"visibility","visibility",1338380893)).cljs$core$IFn$_invoke$arity$1(a)),new cljs.core.Keyword(null,"fog-end","fog-end",175288886),weathergen.twx.per_weather_type.call(null,weathergen.twx.fog_end,(new cljs.core.Keyword(null,"visibility","visibility",1338380893)).cljs$core$IFn$_invoke$arity$1(a)),new cljs.core.Keyword(null,"stratus-layer","stratus-layer",
1850856816),function(){var b=null!=a&&(a.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===a.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,a):a,d=cljs.core.get.call(null,b,new cljs.core.Keyword(null,"stratus-base","stratus-base",-1631962478));b=cljs.core.get.call(null,b,new cljs.core.Keyword(null,"stratus-top","stratus-top",784220574));d=null!=d&&(d.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===d.cljs$core$ISeq$)?cljs.core.apply.call(null,
cljs.core.hash_map,d):d;var e=cljs.core.get.call(null,d,new cljs.core.Keyword(null,"sunny","sunny",1448267778)),f=cljs.core.get.call(null,d,new cljs.core.Keyword(null,"fair","fair",1684139423));cljs.core.get.call(null,d,new cljs.core.Keyword(null,"poor","poor",1462482211));cljs.core.get.call(null,d,new cljs.core.Keyword(null,"inclement","inclement",-550669382));return new cljs.core.PersistentArrayMap(null,4,[new cljs.core.Keyword(null,"sunny","sunny",1448267778),e,new cljs.core.Keyword(null,"fair",
"fair",1684139423),f,new cljs.core.Keyword(null,"poor","poor",1462482211),b,new cljs.core.Keyword(null,"inclement","inclement",-550669382),b],null)}(),new cljs.core.Keyword(null,"stratus-thick","stratus-thick",365371931),function(){var b=null!=a&&(a.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===a.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,a):a,d=cljs.core.get.call(null,b,new cljs.core.Keyword(null,"stratus-base","stratus-base",-1631962478));b=cljs.core.get.call(null,
b,new cljs.core.Keyword(null,"stratus-top","stratus-top",784220574));var e=null!=d&&(d.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===d.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,d):d;cljs.core.get.call(null,e,new cljs.core.Keyword(null,"sunny","sunny",1448267778));cljs.core.get.call(null,e,new cljs.core.Keyword(null,"fair","fair",1684139423));d=cljs.core.get.call(null,e,new cljs.core.Keyword(null,"poor","poor",1462482211));e=cljs.core.get.call(null,e,new cljs.core.Keyword(null,
"inclement","inclement",-550669382));return new cljs.core.PersistentArrayMap(null,4,[new cljs.core.Keyword(null,"sunny","sunny",1448267778),0,new cljs.core.Keyword(null,"fair","fair",1684139423),0,new cljs.core.Keyword(null,"poor","poor",1462482211),b-d,new cljs.core.Keyword(null,"inclement","inclement",-550669382),b-e],null)}(),new cljs.core.Keyword(null,"cumulus-layer","cumulus-layer",928032071),(new cljs.core.Keyword(null,"cumulus-base","cumulus-base",-578210868)).cljs$core$IFn$_invoke$arity$1(a),
new cljs.core.Keyword(null,"contrail-layer","contrail-layer",-456651541),(new cljs.core.Keyword(null,"contrails","contrails",1430581743)).cljs$core$IFn$_invoke$arity$1(a))};
weathergen.twx.twx_data=cljs.core.PersistentVector.fromArray([3,0,0,0,-128,98,-18,1,2,0,0,0,2,0,0,0,0,0,0,0,12,0,0,0,18,0,0,0,28,0,0,0,-17,3,0,0,-15,3,0,0,-11,3,0,0,9,0,0,0,18,0,0,0,27,0,0,0,98,0,0,0,-72,-120,0,0,-120,19,0,0,96,109,0,0,0,0,0,0,0,0,-6,69,0,-128,-69,69,0,80,67,72,0,96,106,72,0,0,0,63,-51,-52,12,63,0,64,-100,69,0,0,0,0,-116,-117,11,63,-93,-94,34,63,-59,-60,68,63,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,64,64,0,-128,-69,68,0,0,-128,63,0,0,-128,
63,0,0,-128,63,51,51,115,63,0,0,-128,63,0,0,-128,63,0,64,-100,-59,0,-72,8,-57,0,-64,-38,70,0,-48,4,71,0,0,0,0,28,86,0,0,3,0,0,0,1,0,0,0,32,78,0,0,-88,97,0,0,0,0,-128,62,0,0,-128,62,0,0,-128,62,0,0,-128,62,-128,-66,20,7,1,0,0,0,-128,26,59,12,1,0,0,0,-128,118,97,17,1,0,0,0,-128,-46,-121,22,1,0,0,0,-128,46,-82,27,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,5,0,0,0,30,0,0,0,5,0,0,0,2,0,0,0,10,0,0,0,5,0,0,0,10,0,0,0,15,0,0,0,20,0,0,0,10,0,0,0,9,0,0,0,20,0,0,0,10,0,0,0,15,0,0,0,20,0,0,0,15,0,0,0,10,0,0,0,13,
0,0,0,30,0,0,0,15,0,0,0,20,0,0,0,25,0,0,0,5,0,0,0,5,0,0,0,16,0,0,0,30,0,0,0,5,0,0,0,7,0,0,0,3,0,0,0,45,0,0,0,-122,0,0,0,-16,0,0,0,3,0,0,0,4,0,0,0,2,0,0,0,45,0,0,0,-122,0,0,0,-16,0,0,0,4,0,0,0,5,0,0,0,2,0,0,0,45,0,0,0,-122,0,0,0,-16,0,0,0,1,0,0,0,3,0,0,0,3,0,0,0,45,0,0,0,-63,0,0,0,-16,0,0,0,3,0,0,0,4,0,0,0,4,0,0,0,45,0,0,0,-63,0,0,0,-16,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,45,0,0,0,-63,0,0,0,-16,0,0,0,-12,1,0,0,-36,5,0,0,60,0,0,0,20,0,0,0,-118,-46,-37,69,-119,-69,118,69,0,0,-6,68,0,0,-6,68,95,-64,64,72,-89,
-126,27,72,103,94,-118,71,-100,7,-46,70,-72,-120,0,0,-72,-120,0,0,48,117,0,0,48,117,0,0,-120,19,0,0,-120,19,0,0,-96,15,0,0,-72,11,0,0,-48,-124,0,0,96,109,0,0,-88,97,0,0,32,78,0,0,5,0,0,0,0,0,64,64,12,0,0,0,18,0,0,0,30,0,0,0,12,0,0,0,18,0,0,0,28,0,0,0,10,0,0,0,15,0,0,0,25,0,0,0,9,0,0,0,14,0,0,0,22,0,0,0,10,4,0,0,12,4,0,0,16,4,0,0,-17,3,0,0,-15,3,0,0,-11,3,0,0,-35,3,0,0,-33,3,0,0,-29,3,0,0,-46,3,0,0,-44,3,0,0,-30,3,0,0],!0);weathergen.twx.twx_data_len=cljs.core.count.call(null,weathergen.twx.twx_data);
weathergen.twx.get_twx=function(){var a=octet.core.allocate.call(null,weathergen.twx.twx_data_len),b=octet.buffer._STAR_byte_order_STAR_,c=new cljs.core.Keyword(null,"little-endian","little-endian",1877303413);octet.buffer._STAR_byte_order_STAR_=c;try{octet.core.write_BANG_.call(null,a,weathergen.twx.twx_data,octet.core.repeat.call(null,weathergen.twx.twx_data_len,octet.core.byte$))}finally{octet.buffer._STAR_byte_order_STAR_=b}return a};weathergen.ui.layers.flights={};
weathergen.ui.layers.flights.mission_category_names=cljs.core.PersistentHashMap.fromArrays([weathergen.falcon.constants.ATO_STRIKE,weathergen.falcon.constants.ATO_OCA,weathergen.falcon.constants.ATO_OTHER,weathergen.falcon.constants.ATO_SEAD,weathergen.falcon.constants.ATO_SUPPORT,weathergen.falcon.constants.ATO_CCCI,weathergen.falcon.constants.ATO_CAS,weathergen.falcon.constants.ATO_MARITIME,weathergen.falcon.constants.ATO_INTERDICTION,weathergen.falcon.constants.ATO_DCA],"Strike OCA Other SEAD Support C3I CAS Maritime Interdiction DCA".split(" "));
weathergen.ui.layers.flights.default_mission_category_colors=cljs.core.PersistentHashMap.fromArrays([weathergen.falcon.constants.ATO_STRIKE,weathergen.falcon.constants.ATO_OCA,weathergen.falcon.constants.ATO_OTHER,weathergen.falcon.constants.ATO_SEAD,weathergen.falcon.constants.ATO_SUPPORT,weathergen.falcon.constants.ATO_CCCI,weathergen.falcon.constants.ATO_CAS,weathergen.falcon.constants.ATO_MARITIME,weathergen.falcon.constants.ATO_INTERDICTION,weathergen.falcon.constants.ATO_DCA],["#e00000",weathergen.ui.common.to_hex_str.call(null,
"green"),weathergen.ui.common.to_hex_str.call(null,"black"),"#640082","#a8a8a8",weathergen.ui.common.to_hex_str.call(null,"white"),weathergen.ui.common.to_hex_str.call(null,"darkblue"),weathergen.ui.common.to_hex_str.call(null,"lightblue"),"#cc00cc","#ffa800"]);
weathergen.ui.layers.flights.mission_category_colors=weathergen.ui.common.versioned_local_storage.call(null,new cljs.core.Keyword("weathergen.ui.layers.flights","mission-category-colors","weathergen.ui.layers.flights/mission-category-colors",-704412508),weathergen.ui.layers.flights.default_mission_category_colors);
weathergen.ui.layers.flights.hidden_flights_columns=weathergen.ui.common.versioned_local_storage.call(null,new cljs.core.Keyword("weathergen.ui.layers.flights","hidden-flights-columns","weathergen.ui.layers.flights/hidden-flights-columns",345798875),cljs.core.PersistentHashSet.EMPTY);
weathergen.ui.layers.flights.movable_flights_columns=weathergen.ui.common.versioned_local_storage.call(null,new cljs.core.Keyword("weathergen.ui.layers.flights","movable-flights-columns","weathergen.ui.layers.flights/movable-flights-columns",1349199949),new cljs.core.PersistentVector(null,10,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"combatant","combatant",2138865651),new cljs.core.Keyword(null,"callsign","callsign",1222385874),new cljs.core.Keyword(null,"airframe","airframe",
643222926),new cljs.core.Keyword(null,"mission","mission",1740288522),new cljs.core.Keyword(null,"package","package",1189062786),new cljs.core.Keyword(null,"squadron","squadron",-1131671273),new cljs.core.Keyword(null,"airbase","airbase",-369690299),new cljs.core.Keyword(null,"takeoff","takeoff",719937767),new cljs.core.Keyword(null,"tot","tot",2086174646),new cljs.core.Keyword(null,"egress","egress",610445366)],null));
weathergen.ui.layers.flights.hidden_steerpoints_columns=weathergen.ui.common.versioned_local_storage.call(null,new cljs.core.Keyword("weathergen.ui.layers.flights","hidden-steerpoints-columns","weathergen.ui.layers.flights/hidden-steerpoints-columns",-122666770),new cljs.core.PersistentHashSet(null,new cljs.core.PersistentArrayMap(null,5,[new cljs.core.Keyword(null,"depart","depart",-100007287),null,new cljs.core.Keyword(null,"speed-ias","speed-ias",-534091766),null,new cljs.core.Keyword(null,"speed-tas",
"speed-tas",228844362),null,new cljs.core.Keyword(null,"action","action",-811238024),null,new cljs.core.Keyword(null,"enroute","enroute",-1681821057),null],null),null));
weathergen.ui.layers.flights.movable_steerpoints_columns=weathergen.ui.common.versioned_local_storage.call(null,new cljs.core.Keyword("weathergen.ui.layers.flights","movable-steerpoints-columns","weathergen.ui.layers.flights/movable-steerpoints-columns",-1824262332),new cljs.core.PersistentVector(null,15,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"description","description",-1428560544),new cljs.core.Keyword(null,"arrive","arrive",-284644322),new cljs.core.Keyword(null,"depart",
"depart",-100007287),new cljs.core.Keyword(null,"remain","remain",1399477086),new cljs.core.Keyword(null,"action","action",-811238024),new cljs.core.Keyword(null,"enroute","enroute",-1681821057),new cljs.core.Keyword(null,"distance","distance",-1671893894),new cljs.core.Keyword(null,"heading","heading",-1312171873),new cljs.core.Keyword(null,"speed-cas","speed-cas",-239308126),new cljs.core.Keyword(null,"speed-tas","speed-tas",228844362),new cljs.core.Keyword(null,"speed-gnd","speed-gnd",1356834908),
new cljs.core.Keyword(null,"speed-mach","speed-mach",-1842148254),new cljs.core.Keyword(null,"speed-ias","speed-ias",-534091766),new cljs.core.Keyword(null,"altitude","altitude",463588637),new cljs.core.Keyword(null,"comments","comments",-293346423)],null));weathergen.ui.layers.flights.row_primary_color="white";weathergen.ui.layers.flights.row_alternate_color="#f0f0f0";weathergen.ui.layers.flights.row_tertiary_color="darkgrey";
weathergen.ui.layers.flights.row_color=function(a){return cljs.core.truth_(a)?cljs.core.even_QMARK_.call(null,a)?weathergen.ui.layers.flights.row_alternate_color:weathergen.ui.layers.flights.row_primary_color:null};
weathergen.ui.layers.flights.flight_mission_color=function(a,b,c){return c.call(null,(new cljs.core.Keyword(null,"category","category",-593092832)).cljs$core$IFn$_invoke$arity$1((new cljs.core.Keyword("weathergen.falcon.files.mission","mission","weathergen.falcon.files.mission/mission",43331456)).cljs$core$IFn$_invoke$arity$1(b)))};
weathergen.ui.layers.flights.flight_aircraft=function(a){a=(new cljs.core.Keyword("weathergen.falcon.files.mission","aircraft","weathergen.falcon.files.mission/aircraft",774567258)).cljs$core$IFn$_invoke$arity$1(a);var b=null!=a&&(a.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===a.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,a):a;a=cljs.core.get.call(null,b,new cljs.core.Keyword(null,"quantity","quantity",-1929050694));b=cljs.core.get.call(null,b,new cljs.core.Keyword(null,
"airframe","airframe",643222926));return[cljs.core.str.cljs$core$IFn$_invoke$arity$1(a)," ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(b)].join("")};
weathergen.ui.common.register_styles_BANG_.call(null,new cljs.core.Keyword("weathergen.ui.layers.flights","briefing-summary","weathergen.ui.layers.flights/briefing-summary",-1486998600),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,[weathergen.ui.common.class_selector_for.call(null,new cljs.core.Keyword("weathergen.ui.layers.flights","briefing-summary","weathergen.ui.layers.flights/briefing-summary",
-1486998600)),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"background","background",-863952629),"initial"],null),new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"tr","tr",-1424774646),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"background","background",-863952629),"initial"],null),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"td","td",
1479933353),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"border","border",1444987323),"none"],null)],null)],null)],null)],null));
weathergen.ui.layers.flights.flight_details=function(a){var b=null!=a&&(a.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===a.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,a):a,c=cljs.core.get.call(null,b,new cljs.core.Keyword(null,"mission","mission",1740288522)),d=cljs.core.get.call(null,b,new cljs.core.Keyword(null,"flight","flight",-764860679)),e=cljs.core.get.call(null,b,new cljs.core.Keyword(null,"display","display",242065432)),f=cljs.core.get.call(null,b,
new cljs.core.Keyword(null,"tabbed-flights","tabbed-flights",432685200)),g=cljs.core.get.call(null,b,new cljs.core.Keyword(null,"checked-flights","checked-flights",1669126695)),h=function(a,b,c,d,e,f,g){return function(){var h=null,k=function(a,b,c){return h.call(null,a,b,cljs.core.PersistentArrayMap.EMPTY,c)},l=function(h,k,l,m){var n=null!=l&&(l.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===l.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,l):l,p=cljs.core.get.call(null,
n,new cljs.core.Keyword(null,"align","align",1964212802));return new cljs.core.PersistentArrayMap(null,4,[new cljs.core.Keyword(null,"title","title",636505583),weathergen.help.with_help.call(null,new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"flights","flights",-1637719124),new cljs.core.Keyword(null,"waypoint-columns","waypoint-columns",1546876163),k],null),h),new cljs.core.Keyword(null,"disable-sort","disable-sort",-579071276),!0,new cljs.core.Keyword(null,
"sort-key","sort-key",1285844623),m,new cljs.core.Keyword(null,"formatter","formatter",-483008823),function(a,b,c,d,e,f,g,h,k,l){return function(n){return hoplon.core.div.call(null,new cljs.core.Keyword(null,"css","css",1135045163),new cljs.core.PersistentArrayMap(null,3,[new cljs.core.Keyword(null,"white-space","white-space",-707351930),"nowrap",new cljs.core.Keyword(null,"text-align","text-align",1786091845),cljs.core._EQ_.call(null,new cljs.core.Keyword(null,"right","right",-452581833),c)?"right":
null,new cljs.core.Keyword(null,"padding","padding",1660304693),weathergen.ui.common.px.call(null,0,2)],null),javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,k,l){return function(a){return m.call(null,a)}}(a,b,c,d,e,f,g,h,k,l)).call(null,n))}}(l,n,p,a,b,c,d,e,f,g)],null)};h=function(a,b,c,d){switch(arguments.length){case 3:return k.call(this,a,b,c);case 4:return l.call(this,a,b,c,d)}throw Error("Invalid arity: "+arguments.length);};h.cljs$core$IFn$_invoke$arity$3=k;h.cljs$core$IFn$_invoke$arity$4=
l;return h}()}(a,b,c,d,e,f,g),k=function(a,b,c,d,e,f,g,h){return function(){var a=function(a){return cljs.core.apply.call(null,hoplon.core.div,new cljs.core.Keyword(null,"css","css",1135045163),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"font-weight","font-weight",2085804583),"bold"],null),a)},b=function(b){var c=null;if(0<arguments.length){c=0;for(var d=Array(arguments.length-0);c<d.length;)d[c]=arguments[c+0],++c;c=new cljs.core.IndexedSeq(d,0,null)}return a.call(this,c)};
b.cljs$lang$maxFixedArity=0;b.cljs$lang$applyTo=function(b){b=cljs.core.seq(b);return a(b)};b.cljs$core$IFn$_invoke$arity$variadic=a;return b}()}(h,a,b,c,d,e,f,g),l=javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,k){return function(a,b){return a.call(null,(new cljs.core.Keyword(null,"id","id",-1388402092)).cljs$core$IFn$_invoke$arity$1(b))}}(h,k,a,b,c,d,e,f,g)).call(null,f,d);return hoplon.core.div.call(null,hoplon.core.div.call(null,hoplon.core.div.call(null,new cljs.core.Keyword(null,"css",
"css",1135045163),new cljs.core.PersistentArrayMap(null,3,[new cljs.core.Keyword(null,"display","display",242065432),"inline-block",new cljs.core.Keyword(null,"font-weight","font-weight",2085804583),"bold",new cljs.core.Keyword(null,"font-size","font-size",-1847940346),"120%"],null),javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,k,l){return function(a){return(new cljs.core.Keyword(null,"name","name",1843675177)).cljs$core$IFn$_invoke$arity$1(a)}}(h,k,l,a,b,c,d,e,f,g)).call(null,d)),hoplon.core.div.call(null,
new cljs.core.Keyword(null,"css","css",1135045163),javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,k,l){return function(a){return new cljs.core.PersistentArrayMap(null,6,[new cljs.core.Keyword(null,"display","display",242065432),cljs.core.truth_(a)?"none":null,new cljs.core.Keyword(null,"float","float",-1732389368),"right",new cljs.core.Keyword(null,"text-decoration","text-decoration",1836813207),"underline",new cljs.core.Keyword(null,"color","color",1011675173),"blue",new cljs.core.Keyword(null,
"cursor","cursor",1011937484),"pointer",new cljs.core.Keyword(null,"user-select","user-select",-346451650),"none"],null)}}(h,k,l,a,b,c,d,e,f,g)).call(null,l),new cljs.core.Keyword(null,"click","click",1912301393),function(a,b,c,d,e,f,g,h,k,l){return function(a){return cljs.core.swap_BANG_.call(null,k,cljs.core.assoc,(new cljs.core.Keyword(null,"id","id",-1388402092)).cljs$core$IFn$_invoke$arity$1(cljs.core.deref.call(null,g)),cljs.core.deref.call(null,g))}}(h,k,l,a,b,c,d,e,f,g),"Open flight in tab")),
hoplon.core.table.call(null,new cljs.core.Keyword(null,"class","class",-2030961996),weathergen.ui.common.class_for.call(null,new cljs.core.Keyword("weathergen.ui.layers.flights","briefing-summary","weathergen.ui.layers.flights/briefing-summary",-1486998600)),hoplon.core.tr.call(null,hoplon.core.td.call(null,k.call(null,"Mission")),hoplon.core.td.call(null,javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,k,l){return function(a){return(new cljs.core.Keyword(null,"name","name",1843675177)).cljs$core$IFn$_invoke$arity$1((new cljs.core.Keyword("weathergen.falcon.files.mission",
"mission","weathergen.falcon.files.mission/mission",43331456)).cljs$core$IFn$_invoke$arity$1(a))}}(h,k,l,a,b,c,d,e,f,g)).call(null,d))),hoplon.core.tr.call(null,hoplon.core.td.call(null,k.call(null,"Package")),hoplon.core.td.call(null,javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,k,l){return function(a){return(new cljs.core.Keyword(null,"name","name",1843675177)).cljs$core$IFn$_invoke$arity$1((new cljs.core.Keyword("weathergen.falcon.files.mission","package","weathergen.falcon.files.mission/package",
-1415630340)).cljs$core$IFn$_invoke$arity$1(a))}}(h,k,l,a,b,c,d,e,f,g)).call(null,d))),hoplon.core.tr.call(null,hoplon.core.td.call(null,k.call(null,"Aircraft")),hoplon.core.td.call(null,javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,k,l){return function(a){return weathergen.ui.layers.flights.flight_aircraft.call(null,a)}}(h,k,l,a,b,c,d,e,f,g)).call(null,d)))),hoplon.core.hr.call(null),hoplon.core.div.call(null,new cljs.core.Keyword(null,"css","css",1135045163),new cljs.core.PersistentArrayMap(null,
2,[new cljs.core.Keyword(null,"font-weight","font-weight",2085804583),"bold",new cljs.core.Keyword(null,"font-size","font-size",-1847940346),"110%"],null),"Steerpoints"),hoplon.core.div.call(null,new cljs.core.Keyword(null,"css","css",1135045163),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"margin-bottom","margin-bottom",388334941),weathergen.ui.common.px.call(null,3)],null),weathergen.ui.common.checkbox.call(null,new cljs.core.Keyword(null,"value","value",305978217),javelin.core.formula.call(null,
function(a,b,c,d,e,f,g,h,k,l){return function(a,b){return a.call(null,b)}}(h,k,l,a,b,c,d,e,f,g)).call(null,g,d),new cljs.core.Keyword(null,"change","change",-1163046502),function(a,b,c,d,e,f,g,h,k,l){return function(a){console.log("checkbox change",cljs.core.truth_(cljs.core.deref.call(null,l).call(null,cljs.core.deref.call(null,g)))?"true":"false");return cljs.core.swap_BANG_.call(null,l,weathergen.util.toggle_set_membership,cljs.core.deref.call(null,g))}}(h,k,l,a,b,c,d,e,f,g)),weathergen.help.with_help.call(null,
new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"flight-paths","flight-paths",159519268),new cljs.core.Keyword(null,"show?","show?",1543842127)],null),hoplon.core.span.call(null,new cljs.core.Keyword(null,"css","css",1135045163),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"margin-left","margin-left",2015598377),weathergen.ui.common.px.call(null,3)],null),"Show flight path on map?"))),hoplon.core.div.call(null,new cljs.core.Keyword(null,
"css","css",1135045163),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"margin-bottom","margin-bottom",388334941),weathergen.ui.common.px.call(null,3)],null),weathergen.help.with_help.call(null,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"flight-paths","flight-paths",159519268),new cljs.core.Keyword(null,"color","color",1011675173)],null),hoplon.core.span.call(null,new cljs.core.Keyword(null,"css","css",1135045163),
new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"margin-right","margin-right",809689658),weathergen.ui.common.px.call(null,3)],null),"Color:")),weathergen.ui.common.color_picker2.call(null,new cljs.core.Keyword(null,"value","value",305978217),javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,k,l){return function(a,b,c,d){var e=null!=b&&(b.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===b.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,
b):b;e=cljs.core.get.call(null,e,new cljs.core.Keyword(null,"camp-id","camp-id",618705690));c=cljs.core.get_in.call(null,c,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[e,new cljs.core.Keyword(null,"color","color",1011675173)],null));return cljs.core.truth_(c)?c:weathergen.ui.layers.flights.flight_mission_color.call(null,a,b,d)}}(h,k,l,a,b,c,d,e,f,g)).call(null,c,d,e,weathergen.ui.layers.flights.mission_category_colors),new cljs.core.Keyword(null,"change","change",
-1163046502),function(a,b,c,d,e,f,g,h,k,l){return function(a){return cljs.core.swap_BANG_.call(null,h,cljs.core.assoc_in,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[(new cljs.core.Keyword(null,"camp-id","camp-id",618705690)).cljs$core$IFn$_invoke$arity$1(cljs.core.deref.call(null,g)),new cljs.core.Keyword(null,"color","color",1011675173)],null),a)}}(h,k,l,a,b,c,d,e,f,g))),weathergen.ui.grids.table_grid.call(null,new cljs.core.Keyword(null,"data","data",-232669377),
javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,k,l){return function(a){return(new cljs.core.Keyword("weathergen.falcon.files.mission","waypoints","weathergen.falcon.files.mission/waypoints",712228162)).cljs$core$IFn$_invoke$arity$1(a)}}(h,k,l,a,b,c,d,e,f,g)).call(null,d),new cljs.core.Keyword(null,"key-fn","key-fn",-636154479),new cljs.core.Keyword("weathergen.falcon.files.mission","number","weathergen.falcon.files.mission/number",-1176793792),new cljs.core.Keyword(null,"row-attrs","row-attrs",
2139633863),cljs.core.constantly.call(null,cljs.core.PersistentArrayMap.EMPTY),new cljs.core.Keyword(null,"when-empty","when-empty",-1825107890),"Flight has no waypoints",new cljs.core.Keyword(null,"fixed-columns","fixed-columns",-1793374858),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"number","number",1570378438)],null),new cljs.core.Keyword(null,"movable-columns","movable-columns",-1079893862),weathergen.ui.layers.flights.movable_steerpoints_columns,
new cljs.core.Keyword(null,"hidden-columns","hidden-columns",-1045524800),weathergen.ui.layers.flights.hidden_steerpoints_columns,new cljs.core.Keyword(null,"columns","columns",1998437288),cljs.core.PersistentHashMap.fromArrays([new cljs.core.Keyword(null,"description","description",-1428560544),new cljs.core.Keyword(null,"speed-mach","speed-mach",-1842148254),new cljs.core.Keyword(null,"speed-cas","speed-cas",-239308126),new cljs.core.Keyword(null,"number","number",1570378438),new cljs.core.Keyword(null,
"depart","depart",-100007287),new cljs.core.Keyword(null,"comments","comments",-293346423),new cljs.core.Keyword(null,"speed-ias","speed-ias",-534091766),new cljs.core.Keyword(null,"speed-tas","speed-tas",228844362),new cljs.core.Keyword(null,"action","action",-811238024),new cljs.core.Keyword(null,"distance","distance",-1671893894),new cljs.core.Keyword(null,"speed-gnd","speed-gnd",1356834908),new cljs.core.Keyword(null,"altitude","altitude",463588637),new cljs.core.Keyword(null,"arrive","arrive",
-284644322),new cljs.core.Keyword(null,"remain","remain",1399477086),new cljs.core.Keyword(null,"heading","heading",-1312171873),new cljs.core.Keyword(null,"enroute","enroute",-1681821057)],[h.call(null,"Desc",new cljs.core.Keyword(null,"description","description",-1428560544),new cljs.core.Keyword("weathergen.falcon.files.mission","description","weathergen.falcon.files.mission/description",-1977659382)),h.call(null,"Mach",new cljs.core.Keyword(null,"speed-mach","speed-mach",-1842148254),new cljs.core.PersistentArrayMap(null,
1,[new cljs.core.Keyword(null,"align","align",1964212802),new cljs.core.Keyword(null,"right","right",-452581833)],null),function(a,b,c,d,e,f,g,h,k,l){return function(a){a=weathergen.ui.common.format_mach.call(null,(new cljs.core.Keyword("weathergen.falcon.files.mission","speed-mach","weathergen.falcon.files.mission/speed-mach",-185245472)).cljs$core$IFn$_invoke$arity$1(a));return cljs.core.truth_(a)?a:"--"}}(h,k,l,a,b,c,d,e,f,g)),h.call(null,"CAS",new cljs.core.Keyword(null,"speed-cas","speed-cas",
-239308126),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"align","align",1964212802),new cljs.core.Keyword(null,"right","right",-452581833)],null),function(a,b,c,d,e,f,g,h,k,l){return function(a){a=weathergen.ui.common.format_speed.call(null,(new cljs.core.Keyword("weathergen.falcon.files.mission","speed-cas","weathergen.falcon.files.mission/speed-cas",-588060328)).cljs$core$IFn$_invoke$arity$1(a));return cljs.core.truth_(a)?a:"--"}}(h,k,l,a,b,c,d,e,f,g)),h.call(null,"#",new cljs.core.Keyword(null,
"number","number",1570378438),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"align","align",1964212802),new cljs.core.Keyword(null,"right","right",-452581833)],null),new cljs.core.Keyword("weathergen.falcon.files.mission","number","weathergen.falcon.files.mission/number",-1176793792)),h.call(null,"Depart",new cljs.core.Keyword(null,"depart","depart",-100007287),function(a,b,c,d,e,f,g,h,k,l){return function(a){a=weathergen.ui.common.format_time.call(null,(new cljs.core.Keyword(null,
"depart","depart",-100007287)).cljs$core$IFn$_invoke$arity$1(a),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"seconds?","seconds?",-1600404958),!0],null));return cljs.core.truth_(a)?a:"--"}}(h,k,l,a,b,c,d,e,f,g)),h.call(null,"Comments",new cljs.core.Keyword(null,"comments","comments",-293346423),new cljs.core.Keyword("weathergen.falcon.files.mission","comments","weathergen.falcon.files.mission/comments",-1789953753)),h.call(null,"IAS",new cljs.core.Keyword(null,"speed-ias",
"speed-ias",-534091766),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"align","align",1964212802),new cljs.core.Keyword(null,"right","right",-452581833)],null),function(a,b,c,d,e,f,g,h,k,l){return function(a){a=weathergen.ui.common.format_speed.call(null,(new cljs.core.Keyword("weathergen.falcon.files.mission","speed-ias","weathergen.falcon.files.mission/speed-ias",-2064912472)).cljs$core$IFn$_invoke$arity$1(a));return cljs.core.truth_(a)?a:"--"}}(h,k,l,a,b,c,d,e,f,g)),h.call(null,
"TAS",new cljs.core.Keyword(null,"speed-tas","speed-tas",228844362),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"align","align",1964212802),new cljs.core.Keyword(null,"right","right",-452581833)],null),function(a,b,c,d,e,f,g,h,k,l){return function(a){a=weathergen.ui.common.format_speed.call(null,(new cljs.core.Keyword("weathergen.falcon.files.mission","speed-tas","weathergen.falcon.files.mission/speed-tas",568219840)).cljs$core$IFn$_invoke$arity$1(a));return cljs.core.truth_(a)?
a:"--"}}(h,k,l,a,b,c,d,e,f,g)),h.call(null,"Action",new cljs.core.Keyword(null,"action","action",-811238024),new cljs.core.Keyword("weathergen.falcon.files.mission","action-name","weathergen.falcon.files.mission/action-name",-1230729595)),h.call(null,"Dist",new cljs.core.Keyword(null,"distance","distance",-1671893894),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"align","align",1964212802),new cljs.core.Keyword(null,"right","right",-452581833)],null),function(a,b,c,d,e,f,g,
h,k,l){return function(a){a=weathergen.ui.common.format_distance.call(null,(new cljs.core.Keyword("weathergen.falcon.files.mission","distance","weathergen.falcon.files.mission/distance",18637316)).cljs$core$IFn$_invoke$arity$1(a));return cljs.core.truth_(a)?a:"--"}}(h,k,l,a,b,c,d,e,f,g)),h.call(null,"Gnd Spd",new cljs.core.Keyword(null,"speed-gnd","speed-gnd",1356834908),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"align","align",1964212802),new cljs.core.Keyword(null,"right",
"right",-452581833)],null),function(a,b,c,d,e,f,g,h,k,l){return function(a){a=weathergen.ui.common.format_speed.call(null,(new cljs.core.Keyword("weathergen.falcon.files.mission","speed-gnd","weathergen.falcon.files.mission/speed-gnd",-39445006)).cljs$core$IFn$_invoke$arity$1(a));return cljs.core.truth_(a)?a:"--"}}(h,k,l,a,b,c,d,e,f,g)),h.call(null,"Alt",new cljs.core.Keyword(null,"altitude","altitude",463588637),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"aligh","aligh",
1960130388),new cljs.core.Keyword(null,"right","right",-452581833)],null),new cljs.core.Keyword("weathergen.falcon.files.mission","altitude","weathergen.falcon.files.mission/altitude",543643555)),h.call(null,"Time",new cljs.core.Keyword(null,"arrive","arrive",-284644322),function(a,b,c,d,e,f,g,h,k,l){return function(a){a=weathergen.ui.common.format_time.call(null,(new cljs.core.Keyword(null,"arrive","arrive",-284644322)).cljs$core$IFn$_invoke$arity$1(a),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,
"seconds?","seconds?",-1600404958),!0],null));return cljs.core.truth_(a)?a:"--"}}(h,k,l,a,b,c,d,e,f,g)),h.call(null,"Remain",new cljs.core.Keyword(null,"remain","remain",1399477086),function(a,b,c,d,e,f,g,h,k,l){return function(a){a=weathergen.ui.common.format_time.call(null,(new cljs.core.Keyword("weathergen.falcon.files.mission","remain","weathergen.falcon.files.mission/remain",1849736680)).cljs$core$IFn$_invoke$arity$1(a),new cljs.core.PersistentArrayMap(null,2,[new cljs.core.Keyword(null,"omit-day?",
"omit-day?",1622751707),!0,new cljs.core.Keyword(null,"seconds?","seconds?",-1600404958),!0],null));return cljs.core.truth_(a)?a:"--"}}(h,k,l,a,b,c,d,e,f,g)),h.call(null,"Hdg",new cljs.core.Keyword(null,"heading","heading",-1312171873),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"align","align",1964212802),new cljs.core.Keyword(null,"right","right",-452581833)],null),function(a,b,c,d,e,f,g,h,k,l){return function(a){a=weathergen.ui.common.format_heading.call(null,(new cljs.core.Keyword("weathergen.falcon.files.mission",
"heading","weathergen.falcon.files.mission/heading",361734949)).cljs$core$IFn$_invoke$arity$1(a));return cljs.core.truth_(a)?a:"--"}}(h,k,l,a,b,c,d,e,f,g)),h.call(null,"Enroute",new cljs.core.Keyword(null,"enroute","enroute",-1681821057),new cljs.core.Keyword("weathergen.falcon.files.mission","enroute-action-name","weathergen.falcon.files.mission/enroute-action-name",-95379962))])),hoplon.core.hr.call(null),hoplon.core.div.call(null,new cljs.core.Keyword(null,"css","css",1135045163),new cljs.core.PersistentArrayMap(null,
2,[new cljs.core.Keyword(null,"font-weight","font-weight",2085804583),"bold",new cljs.core.Keyword(null,"font-size","font-size",-1847940346),"120%"],null),"Ordnance"),function(){var m=new cljs.core.Delay(function(a,b,c,d,e,f,g,h,k,l){return function(){return hoplon.core.div.call(null,new cljs.core.Keyword(null,"css","css",1135045163),new cljs.core.PersistentArrayMap(null,3,[new cljs.core.Keyword(null,"margin-left","margin-left",2015598377),weathergen.ui.common.px.call(null,10),new cljs.core.Keyword(null,
"margin-top","margin-top",392161226),weathergen.ui.common.px.call(null,7),new cljs.core.Keyword(null,"margin-bottom","margin-bottom",388334941),weathergen.ui.common.px.call(null,5)],null),"No weapons carried")}}(h,k,l,a,b,c,d,e,f,g),null),n=new cljs.core.Delay(function(a,b,c,d,e,f,g,h,k,l,m){return function(){return hoplon.core.div.call(null,new cljs.core.Keyword(null,"css","css",1135045163),new cljs.core.PersistentArrayMap(null,3,[new cljs.core.Keyword(null,"display","display",242065432),"flex",
new cljs.core.Keyword(null,"flex-direction","flex-direction",364609438),"row",new cljs.core.Keyword(null,"flex-wrap","flex-wrap",455413707),"wrap"],null),hoplon.core.loop_tpl_STAR_.call(null,javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,k,l,m){return function(a){return cljs.core.map_indexed.call(null,cljs.core.vector,(new cljs.core.Keyword("weathergen.falcon.files.mission","loadouts","weathergen.falcon.files.mission/loadouts",142269567)).cljs$core$IFn$_invoke$arity$1(a))}}(a,b,c,d,e,f,g,
h,k,l,m)).call(null,h),function(a,b,c,d,e,f,g,h,k,l,m){return function(n){n=javelin.core.cell_map.call(null,cljs.core.identity,javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,k,l,m){return function(a){return new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[a],null)}}(a,b,c,d,e,f,g,h,k,l,m)).call(null,n));var p=cljs.core.nth.call(null,n,0,null),q=javelin.core.cell_map.call(null,cljs.core.identity,javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,k,l,m,n,
p){return function(a){var b=cljs.core.nth.call(null,a,0,null);a=cljs.core.nth.call(null,a,1,null);return new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[b,a],null)}}(n,p,a,b,c,d,e,f,g,h,k,l,m)).call(null,p)),r=cljs.core.nth.call(null,q,0,null),u=cljs.core.nth.call(null,q,1,null),t=javelin.core.cell_map.call(null,cljs.core.identity,javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u){return function(a){var b=null!=a&&(a.cljs$lang$protocol_mask$partition0$&
64||cljs.core.PROTOCOL_SENTINEL===a.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,a):a;a=cljs.core.get.call(null,b,new cljs.core.Keyword(null,"quantity","quantity",-1929050694));b=cljs.core.get.call(null,b,new cljs.core.Keyword(null,"name","name",1843675177));return new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[a,b],null)}}(q,r,u,n,p,a,b,c,d,e,f,g,h,k,l,m)).call(null,u)),v=cljs.core.nth.call(null,t,0,null),w=cljs.core.nth.call(null,t,1,null);return hoplon.core.div.call(null,
new cljs.core.Keyword(null,"css","css",1135045163),new cljs.core.PersistentArrayMap(null,4,[new cljs.core.Keyword(null,"width","width",-384071477),weathergen.ui.common.pct.call(null,35),new cljs.core.Keyword(null,"min-width","min-width",1926193728),weathergen.ui.common.pct.call(null,35),new cljs.core.Keyword(null,"max-width","max-width",-1939924051),weathergen.ui.common.pct.call(null,45),new cljs.core.Keyword(null,"padding","padding",1660304693),weathergen.ui.common.px.call(null,10)],null),hoplon.core.div.call(null,
hoplon.core.span.call(null,new cljs.core.Keyword(null,"css","css",1135045163),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"font-weight","font-weight",2085804583),"bold"],null),javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w){return function(a,b){return[cljs.core.str.cljs$core$IFn$_invoke$arity$1((new cljs.core.Keyword(null,"name","name",1843675177)).cljs$core$IFn$_invoke$arity$1(a)),"-",cljs.core.str.cljs$core$IFn$_invoke$arity$1(b+1)].join("")}}(t,
v,w,q,r,u,n,p,a,b,c,d,e,f,g,h,k,l,m)).call(null,h,r)),hoplon.core.span.call(null,new cljs.core.Keyword(null,"css","css",1135045163),new cljs.core.PersistentArrayMap(null,2,[new cljs.core.Keyword(null,"font-size","font-size",-1847940346),"90%",new cljs.core.Keyword(null,"font-style","font-style",-773672352),"italic"],null),javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w){return function(a,b){a=cljs.core.nth.call(null,(new cljs.core.Keyword(null,"plane-stats","plane-stats",
-4010361)).cljs$core$IFn$_invoke$arity$1(a),b);b=cljs.core._EQ_;return cljs.core.truth_(b.call(null,weathergen.falcon.constants.AIRCRAFT_MISSING,a))?" (missing)":cljs.core.truth_(b.call(null,weathergen.falcon.constants.AIRCRAFT_DEAD,a))?" (destroyed)":""}}(t,v,w,q,r,u,n,p,a,b,c,d,e,f,g,h,k,l,m)).call(null,h,r))),hoplon.core.ul.call(null,new cljs.core.Keyword(null,"css","css",1135045163),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"margin-top","margin-top",392161226),weathergen.ui.common.px.call(null,
5)],null),hoplon.core.loop_tpl_STAR_.call(null,u,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w){return function(z){z=javelin.core.cell_map.call(null,cljs.core.identity,javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w){return function(a){return new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[a],null)}}(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w)).call(null,z));var x=cljs.core.nth.call(null,z,0,null),y=javelin.core.cell_map.call(null,cljs.core.identity,
javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w,z,x){return function(a){var b=null!=a&&(a.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===a.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,a):a;a=cljs.core.get.call(null,b,new cljs.core.Keyword(null,"name","name",1843675177));b=cljs.core.get.call(null,b,new cljs.core.Keyword(null,"quantity","quantity",-1929050694));return new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,
[b,a],null)}}(z,x,a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w)).call(null,x)),B=cljs.core.nth.call(null,y,0,null),A=cljs.core.nth.call(null,y,1,null);return hoplon.core.li.call(null,javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w,z,x,y,B,A){return function(a,b){return[cljs.core.str.cljs$core$IFn$_invoke$arity$1(a)," x ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(b)].join("")}}(y,B,A,z,x,a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w)).call(null,B,A))}}(t,v,w,q,r,u,n,p,a,b,c,d,e,f,
g,h,k,l,m))))}}(a,b,c,d,e,f,g,h,k,l,m)))}}(m,h,k,l,a,b,c,d,e,f,g),null),p=function(a,b,c,d,e,f,g,h,k,l,m,n){return function(c){return cljs.core.deref.call(null,function(){var d=cljs.core.truth_(c)?a:b;return cljs.core.truth_(d)?d:cljs.core.atom.call(null,null)}())}}(m,n,h,k,l,a,b,c,d,e,f,g);return javelin.core.formula.call(null,p).call(null,javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,k,l,m,n,p){return function(a,b,c){return b.call(null,c,(new cljs.core.Keyword("weathergen.falcon.files.mission",
"loadouts","weathergen.falcon.files.mission/loadouts",142269567)).cljs$core$IFn$_invoke$arity$1(a))}}(m,n,p,h,k,l,a,b,c,d,e,f,g)).call(null,d,cljs.core.every_QMARK_,cljs.core.empty_QMARK_))}())};
weathergen.ui.layers.flights.flight_info_formatter=function(a){var b=null!=a&&(a.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===a.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,a):a,c=cljs.core.get.call(null,b,new cljs.core.Keyword(null,"mission","mission",1740288522)),d=cljs.core.get.call(null,b,new cljs.core.Keyword(null,"display","display",242065432)),e=cljs.core.get.call(null,b,new cljs.core.Keyword(null,"detailed-flight","detailed-flight",216212956)),f=cljs.core.get.call(null,
b,new cljs.core.Keyword(null,"scroll-container","scroll-container",-1938238550)),g=cljs.core.get.call(null,b,new cljs.core.Keyword(null,"tabbed-flights","tabbed-flights",432685200)),h=cljs.core.get.call(null,b,new cljs.core.Keyword(null,"checked-flights","checked-flights",1669126695));return function(a,b,c,d,e,f,g,h){return function(k){var l=javelin.core.cell_map.call(null,cljs.core.identity,javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h){return function(a){a=null!=a&&(a.cljs$lang$protocol_mask$partition0$&
64||cljs.core.PROTOCOL_SENTINEL===a.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,a):a;a=cljs.core.get.call(null,a,new cljs.core.Keyword(null,"camp-id","camp-id",618705690));return new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[a],null)}}(a,b,c,d,e,f,g,h)).call(null,k)),m=cljs.core.nth.call(null,l,0,null),n=javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,k,l){return function(a,b,c){return c.call(null,a,b)}}(l,m,a,b,c,d,e,f,g,h)).call(null,m,
e,cljs.core._EQ_),p=function(a,b,c,d,e,f,g,h,k,l,m){return function H(a){document.removeEventListener("click",H);return cljs.core.reset_BANG_.call(null,h,null)}}(n,l,m,a,b,c,d,e,f,g,h);return hoplon.core.div.call(null,new cljs.core.Keyword(null,"click","click",1912301393),cljs.core.constantly.call(null,!1),new cljs.core.Keyword(null,"css","css",1135045163),new cljs.core.PersistentArrayMap(null,2,[new cljs.core.Keyword(null,"position","position",-2011731912),"relative",new cljs.core.Keyword(null,"white-space",
"white-space",-707351930),"nowrap"],null),weathergen.ui.buttons.a_button.call(null,new cljs.core.Keyword(null,"latched?","latched?",2124907793),n,new cljs.core.Keyword(null,"click","click",1912301393),function(a,b,c,d,e,f,g,h,k,l,m,n){return function(){cljs.core.swap_BANG_.call(null,k,function(a,b,c,d,e,f,g,h,k,l,m,n){return function(a){return cljs.core.not_EQ_.call(null,a,cljs.core.deref.call(null,d))?(document.addEventListener("click",b),cljs.core.deref.call(null,d)):null}}(a,b,c,d,e,f,g,h,k,l,
m,n));return!1}}(n,p,l,m,a,b,c,d,e,f,g,h),new cljs.core.Keyword(null,"css","css",1135045163),new cljs.core.PersistentArrayMap(null,8,[new cljs.core.Keyword(null,"border-radius","border-radius",419594011),"50%",new cljs.core.Keyword(null,"width","width",-384071477),weathergen.ui.common.px.call(null,12),new cljs.core.Keyword(null,"height","height",1025178622),weathergen.ui.common.px.call(null,12),new cljs.core.Keyword(null,"text-align","text-align",1786091845),"center",new cljs.core.Keyword(null,"font-weight",
"font-weight",2085804583),"bold",new cljs.core.Keyword(null,"font-family","font-family",-667419874),"serif",new cljs.core.Keyword(null,"font-size","font-size",-1847940346),"110%",new cljs.core.Keyword(null,"line-height","line-height",1870784992),weathergen.ui.common.px.call(null,12)],null),new cljs.core.Keyword(null,"title","title",636505583),"More options...","i"),weathergen.ui.buttons.image_button.call(null,new cljs.core.Keyword(null,"latched?","latched?",2124907793),javelin.core.formula.call(null,
function(a,b,c,d,e,f,g,h,k,l,m,n){return function(a,b,c){return b.call(null,c,(new cljs.core.Keyword(null,"id","id",-1388402092)).cljs$core$IFn$_invoke$arity$1(a))}}(n,p,l,m,a,b,c,d,e,f,g,h)).call(null,k,cljs.core.contains_QMARK_,g),new cljs.core.Keyword(null,"click","click",1912301393),function(a,b,c,d,e,f,g,h,l,m,n,p){return function(a){return cljs.core.contains_QMARK_.call(null,cljs.core.deref.call(null,n),(new cljs.core.Keyword(null,"id","id",-1388402092)).cljs$core$IFn$_invoke$arity$1(cljs.core.deref.call(null,
k)))?cljs.core.swap_BANG_.call(null,n,cljs.core.dissoc,(new cljs.core.Keyword(null,"id","id",-1388402092)).cljs$core$IFn$_invoke$arity$1(cljs.core.deref.call(null,k))):cljs.core.swap_BANG_.call(null,n,cljs.core.assoc,(new cljs.core.Keyword(null,"id","id",-1388402092)).cljs$core$IFn$_invoke$arity$1(cljs.core.deref.call(null,k)),cljs.core.deref.call(null,k))}}(n,p,l,m,a,b,c,d,e,f,g,h),new cljs.core.Keyword(null,"width","width",-384071477),weathergen.ui.common.px.call(null,16),new cljs.core.Keyword(null,
"title","title",636505583),"Show flight in separate tab",new cljs.core.Keyword(null,"src","src",-1651076051),"images/open-external.svg"),function(){var q=new cljs.core.Delay(function(a,b,c,d,e,f,g,h,l,m,n,p){return function(){var q=hoplon.core.div.call(null,new cljs.core.Keyword(null,"css","css",1135045163),cljs.core.PersistentHashMap.fromArrays([new cljs.core.Keyword(null,"border-style","border-style",-485574304),new cljs.core.Keyword(null,"top","top",-1856271961),new cljs.core.Keyword(null,"background",
"background",-863952629),new cljs.core.Keyword(null,"z-index","z-index",1892827090),new cljs.core.Keyword(null,"padding","padding",1660304693),new cljs.core.Keyword(null,"border-color","border-color",-2059162761),new cljs.core.Keyword(null,"position","position",-2011731912),new cljs.core.Keyword(null,"margin-bottom","margin-bottom",388334941),new cljs.core.Keyword(null,"left","left",-399115937)],["double",weathergen.ui.common.px.call(null,25),"#FDFFD9",1,weathergen.ui.common.px.call(null,5),"black",
"absolute",weathergen.ui.common.px.call(null,5),weathergen.ui.common.px.call(null,25)]),weathergen.ui.layers.flights.flight_details.call(null,new cljs.core.PersistentArrayMap(null,5,[new cljs.core.Keyword(null,"mission","mission",1740288522),g,new cljs.core.Keyword(null,"flight","flight",-764860679),k,new cljs.core.Keyword(null,"display","display",242065432),h,new cljs.core.Keyword(null,"tabbed-flights","tabbed-flights",432685200),n,new cljs.core.Keyword(null,"checked-flights","checked-flights",1669126695),
p],null)));hoplon.core.do_watch.call(null,a,function(a,b,c,d,e,f,g,h,k,l,m,n,p){return function(q,r){return cljs.core.truth_(function(){var a=cljs.core.not.call(null,q);return a?r:a}())?setTimeout(function(a,b,c,d,e,f,g,h,k,l,m,n,p){return function(){var b=jQuery(m),c=b.offset().top;b=b.scrollTop();var d=jQuery(window).height()-c,e=b+d,f=jQuery(a),g=f.height();c=f.offset().top-c+b;f=c+g;var h=c-b-25,k=e-f;cljs.core.prn.call(null,new cljs.core.Keyword(null,"vis-top","vis-top",-1877899818),b,new cljs.core.Keyword(null,
"vis-height","vis-height",-621249871),d,new cljs.core.Keyword(null,"vis-bottom","vis-bottom",1773347385),e,new cljs.core.Keyword(null,"elem-height","elem-height",-1672618154),g,new cljs.core.Keyword(null,"elem-top","elem-top",1545964974),c,new cljs.core.Keyword(null,"elem-bototm","elem-bototm",280962377),f);return 0>h?jQuery("body").animate({scrollTop:c+25},300):0>k?jQuery(m).animate({scrollTop:g<d?25+(b-k):c-25},300):null}}(a,b,c,d,e,f,g,h,k,l,m,n,p),0):null}}(q,a,b,c,d,e,f,g,h,l,m,n,p));return q}}(n,
p,l,m,a,b,c,d,e,f,g,h),null),r=new cljs.core.Delay(function(a,b,c,d,e,f,g,h,k,l,m,n,p){return function(){return null}}(q,n,p,l,m,a,b,c,d,e,f,g,h),null);q=function(a,b,c,d,e,f,g,h,k,l,m,n,p,q){return function(c){return cljs.core.deref.call(null,function(){var d=cljs.core.truth_(c)?a:b;return cljs.core.truth_(d)?d:cljs.core.atom.call(null,null)}())}}(q,r,n,p,l,m,a,b,c,d,e,f,g,h);return javelin.core.formula.call(null,q).call(null,n)}())}}(a,b,c,d,e,f,g,h)};
weathergen.ui.layers.flights.flight_path_display_controls=function(a,b){return weathergen.ui.common.control_section.call(null,new cljs.core.Keyword(null,"title","title",636505583),weathergen.help.with_help.call(null,new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"flights","flights",-1637719124),new cljs.core.Keyword(null,"display-options","display-options",1066052168),new cljs.core.Keyword(null,"overview","overview",-435037267)],null),a),
function(){var a=null!=b&&(b.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===b.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,b):b,d=cljs.core.get.call(null,a,new cljs.core.Keyword(null,"map-flight-path-size","map-flight-path-size",-1349075868)),e=new cljs.core.PersistentArrayMap(null,5,[new cljs.core.Keyword(null,"label","label",1718410804),"Flight path size:",new cljs.core.Keyword(null,"key","key",-1516042587),new cljs.core.Keyword(null,"map-flight-path-size",
"map-flight-path-size",-1349075868),new cljs.core.Keyword(null,"init","init",-1875481434),0,new cljs.core.Keyword(null,"min","min",444991522),-1,new cljs.core.Keyword(null,"max","max",61366548),1],null),f=null!=e&&(e.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===e.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,e):e,g=cljs.core.get.call(null,f,new cljs.core.Keyword(null,"label","label",1718410804)),h=cljs.core.get.call(null,f,new cljs.core.Keyword(null,"key",
"key",-1516042587)),k=cljs.core.get.call(null,f,new cljs.core.Keyword(null,"init","init",-1875481434)),l=cljs.core.get.call(null,f,new cljs.core.Keyword(null,"min","min",444991522)),m=cljs.core.get.call(null,f,new cljs.core.Keyword(null,"max","max",61366548));return hoplon.core.div.call(null,weathergen.help.with_help.call(null,new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"flights","flights",-1637719124),new cljs.core.Keyword(null,"display-options",
"display-options",1066052168),h],null),g),function(){var c=cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.core.gensym.call(null));return weathergen.ui.common.inl.call(null,new cljs.core.Keyword(null,"css","css",1135045163),new cljs.core.PersistentArrayMap(null,2,[new cljs.core.Keyword(null,"vertical-align","vertical-align",651007333),"middle",new cljs.core.Keyword(null,"margin","margin",-995903681),weathergen.ui.common.px.call(null,0,5)],null),hoplon.core.datalist.call(null,new cljs.core.Keyword(null,
"id","id",-1388402092),c,function(){return function(a,b,c,d,e,f,g,h,k,l,m){return function D(n){return new cljs.core.LazySeq(null,function(a,b,c,d,e,f,g,h,k,l,m){return function(){for(;;){var a=cljs.core.seq.call(null,n);if(a){if(cljs.core.chunked_seq_QMARK_.call(null,a)){var b=cljs.core.chunk_first.call(null,a),c=cljs.core.count.call(null,b),d=cljs.core.chunk_buffer.call(null,c);a:for(var e=0;;)if(e<c){var f=cljs.core._nth.call(null,b,e);cljs.core.chunk_append.call(null,d,hoplon.core.option.call(null,
new cljs.core.Keyword(null,"value","value",305978217),f));e+=1}else{b=!0;break a}return b?cljs.core.chunk_cons.call(null,cljs.core.chunk.call(null,d),D.call(null,cljs.core.chunk_rest.call(null,a))):cljs.core.chunk_cons.call(null,cljs.core.chunk.call(null,d),null)}d=cljs.core.first.call(null,a);return cljs.core.cons.call(null,hoplon.core.option.call(null,new cljs.core.Keyword(null,"value","value",305978217),d),D.call(null,cljs.core.rest.call(null,a)))}return null}}}(a,b,c,d,e,f,g,h,k,l,m),null,null)}}(c,
b,a,d,e,f,g,h,k,l,m).call(null,cljs.core.range.call(null,100*l,100*(m+1),25*(m-l)))}()),hoplon.core.input.call(null,new cljs.core.PersistentArrayMap(null,6,[new cljs.core.Keyword(null,"type","type",1174270348),"range",new cljs.core.Keyword(null,"list","list",765357683),c,new cljs.core.Keyword(null,"min","min",444991522),cljs.core.long$.call(null,100*l),new cljs.core.Keyword(null,"max","max",61366548),cljs.core.long$.call(null,100*m),new cljs.core.Keyword(null,"value","value",305978217),javelin.core.formula.call(null,
function(a,b,c,d,e,f,g,h,k,l,m){return function(a){return 100*a}}(c,b,a,d,e,f,g,h,k,l,m)).call(null,d),new cljs.core.Keyword(null,"input","input",556931961),function(a,b,c,d,e,f,g,h,k,l,m){return function(a){return cljs.core.reset_BANG_.call(null,d,cljs.core.deref.call(null,a)/100)}}(c,b,a,d,e,f,g,h,k,l,m)],null)))}(),weathergen.ui.common.inl.call(null,weathergen.ui.buttons.a_button.call(null,new cljs.core.Keyword(null,"click","click",1912301393),function(a,b,c,d,e,f,g,h,k,l){return function(){return cljs.core.reset_BANG_.call(null,
c,h)}}(b,a,d,e,f,g,h,k,l,m),"Reset"),weathergen.help.help_icon.call(null,new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"flights","flights",-1637719124),new cljs.core.Keyword(null,"display-options","display-options",1066052168),cljs.core.keyword.call(null,["reset-",cljs.core.name.call(null,h)].join(""))],null))))}())};
weathergen.ui.layers.flights.controls=function(a){var b=null!=a&&(a.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===a.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,a):a,c=cljs.core.get.call(null,b,new cljs.core.Keyword(null,"checked-flights","checked-flights",1669126695)),d=cljs.core.get.call(null,b,new cljs.core.Keyword(null,"mission","mission",1740288522)),e=cljs.core.get.call(null,b,new cljs.core.Keyword(null,"scroll-container","scroll-container",-1938238550)),
f=cljs.core.get.call(null,b,new cljs.core.Keyword(null,"tabbed-flights","tabbed-flights",432685200)),g=cljs.core.get.call(null,b,new cljs.core.Keyword(null,"highlighted-flight","highlighted-flight",-2117068813)),h=cljs.core.get.call(null,b,new cljs.core.Keyword(null,"selected-teams","selected-teams",317107671)),k=cljs.core.get.call(null,b,new cljs.core.Keyword(null,"display","display",242065432)),l=cljs.core.get.call(null,b,new cljs.core.Keyword(null,"visible-teams","visible-teams",-110455752)),m=
cljs.core.get.call(null,b,new cljs.core.Keyword(null,"all-flights","all-flights",253678712)),n=new cljs.core.Delay(function(a,b,c,d,e,f,g,h,k,l,m,n){return function(){return"No mission loaded"}}(a,b,b,c,d,e,f,g,h,k,l,m),null),p=new cljs.core.Delay(function(a,b,c,d,e,f,g,h,k,l,m,n,p){return function(){return"No flights present in the mission"}}(n,a,b,b,c,d,e,f,g,h,k,l,m),null),q=new cljs.core.Delay(function(a,b,c,d,e,f,g,h,k,l,m,n,p,q){return function(){return hoplon.core.div.call(null,weathergen.ui.common.control_section.call(null,
new cljs.core.Keyword(null,"title","title",636505583),weathergen.help.with_help.call(null,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"flights","flights",-1637719124),new cljs.core.Keyword(null,"mission-key","mission-key",-2054000190)],null),"Mission Key"),new cljs.core.Keyword(null,"css","css",1135045163),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"margin-bottom","margin-bottom",388334941),weathergen.ui.common.px.call(null,
3)],null),hoplon.core.div.call(null,new cljs.core.Keyword(null,"css","css",1135045163),new cljs.core.PersistentArrayMap(null,3,[new cljs.core.Keyword(null,"display","display",242065432),"flex",new cljs.core.Keyword(null,"flex-wrap","flex-wrap",455413707),"wrap",new cljs.core.Keyword(null,"max-width","max-width",-1939924051),weathergen.ui.common.px.call(null,400)],null),function(){return function(a,b,c,d,e,f,g,h,k,l,m,n,p,q){return function X(r){return new cljs.core.LazySeq(null,function(a,b,c,d,e,
f,g,h,k,l,m,n,p,q){return function(){for(;;){var u=cljs.core.seq.call(null,r);if(u){var t=u;if(cljs.core.chunked_seq_QMARK_.call(null,t)){var v=cljs.core.chunk_first.call(null,t),w=cljs.core.count.call(null,v),z=cljs.core.chunk_buffer.call(null,w);return function(){for(var r=0;;)if(r<w){var x=cljs.core._nth.call(null,v,r),y=cljs.core.nth.call(null,x,0,null),B=cljs.core.nth.call(null,x,1,null);cljs.core.chunk_append.call(null,z,hoplon.core.div.call(null,new cljs.core.Keyword(null,"css","css",1135045163),
new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"white-space","white-space",-707351930),"nowrap"],null),weathergen.ui.common.inl.call(null,new cljs.core.Keyword(null,"css","css",1135045163),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"margin-right","margin-right",809689658),weathergen.ui.common.px.call(null,3)],null),new cljs.core.Keyword(null,"click","click",1912301393),cljs.core.constantly.call(null,!1),weathergen.ui.common.color_picker2.call(null,new cljs.core.Keyword(null,
"value","value",305978217),javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w,x,z,y,B){return function(a){return a.call(null,c)}}(r,x,y,B,v,w,z,t,u,a,b,c,d,e,f,g,h,k,l,m,n,p,q)).call(null,weathergen.ui.layers.flights.mission_category_colors),new cljs.core.Keyword(null,"change","change",-1163046502),function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w,x,z,y,B){return function(a){return cljs.core.swap_BANG_.call(null,weathergen.ui.layers.flights.mission_category_colors,cljs.core.assoc,
c,a)}}(r,x,y,B,v,w,z,t,u,a,b,c,d,e,f,g,h,k,l,m,n,p,q))),weathergen.ui.common.inl.call(null,new cljs.core.Keyword(null,"css","css",1135045163),new cljs.core.PersistentArrayMap(null,2,[new cljs.core.Keyword(null,"width","width",-384071477),weathergen.ui.common.px.call(null,70),new cljs.core.Keyword(null,"vertical-align","vertical-align",651007333),"middle"],null),B)));r+=1}else return!0}()?cljs.core.chunk_cons.call(null,cljs.core.chunk.call(null,z),X.call(null,cljs.core.chunk_rest.call(null,t))):cljs.core.chunk_cons.call(null,
cljs.core.chunk.call(null,z),null)}var x=cljs.core.first.call(null,t),y=cljs.core.nth.call(null,x,0,null),B=cljs.core.nth.call(null,x,1,null);return cljs.core.cons.call(null,hoplon.core.div.call(null,new cljs.core.Keyword(null,"css","css",1135045163),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"white-space","white-space",-707351930),"nowrap"],null),weathergen.ui.common.inl.call(null,new cljs.core.Keyword(null,"css","css",1135045163),new cljs.core.PersistentArrayMap(null,1,
[new cljs.core.Keyword(null,"margin-right","margin-right",809689658),weathergen.ui.common.px.call(null,3)],null),new cljs.core.Keyword(null,"click","click",1912301393),cljs.core.constantly.call(null,!1),weathergen.ui.common.color_picker2.call(null,new cljs.core.Keyword(null,"value","value",305978217),javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w){return function(a){return a.call(null,b)}}(x,y,B,t,u,a,b,c,d,e,f,g,h,k,l,m,n,p,q)).call(null,weathergen.ui.layers.flights.mission_category_colors),
new cljs.core.Keyword(null,"change","change",-1163046502),function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w){return function(a){return cljs.core.swap_BANG_.call(null,weathergen.ui.layers.flights.mission_category_colors,cljs.core.assoc,b,a)}}(x,y,B,t,u,a,b,c,d,e,f,g,h,k,l,m,n,p,q))),weathergen.ui.common.inl.call(null,new cljs.core.Keyword(null,"css","css",1135045163),new cljs.core.PersistentArrayMap(null,2,[new cljs.core.Keyword(null,"width","width",-384071477),weathergen.ui.common.px.call(null,70),new cljs.core.Keyword(null,
"vertical-align","vertical-align",651007333),"middle"],null),B)),X.call(null,cljs.core.rest.call(null,t)))}return null}}}(a,b,c,d,e,f,g,h,k,l,m,n,p,q),null,null)}}(a,b,c,d,e,f,g,h,k,l,m,n,p,q).call(null,weathergen.ui.layers.flights.mission_category_names)}()),weathergen.ui.buttons.a_button.call(null,new cljs.core.Keyword(null,"click","click",1912301393),function(a,b,c,d,e,f,g,h,k,l,m,n,p,q){return function(){return cljs.core.reset_BANG_.call(null,weathergen.ui.layers.flights.mission_category_colors,
weathergen.ui.layers.flights.default_mission_category_colors)}}(a,b,c,d,e,f,g,h,k,l,m,n,p,q),"Reset to defaults"),weathergen.help.help_icon.call(null,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"flights","flights",-1637719124),new cljs.core.Keyword(null,"mission-key-reset","mission-key-reset",-2081456284)],null))),weathergen.ui.layers.flights.flight_path_display_controls.call(null,"Display Options",e),weathergen.ui.common.control_section.call(null,
new cljs.core.Keyword(null,"title","title",636505583),weathergen.help.with_help.call(null,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"flights","flights",-1637719124),new cljs.core.Keyword(null,"team-visibility","team-visibility",-2011507771)],null),"Team Visibility"),weathergen.ui.common.team_selector.call(null,new cljs.core.Keyword(null,"mission","mission",1740288522),g,new cljs.core.Keyword(null,"selected-teams","selected-teams",317107671),
m,new cljs.core.Keyword(null,"selectable-teams","selectable-teams",1104557919),p)),weathergen.ui.common.control_section.call(null,new cljs.core.Keyword(null,"title","title",636505583),weathergen.help.with_help.call(null,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"flights","flights",-1637719124),new cljs.core.Keyword(null,"flight-info","flight-info",-1755465938)],null),"Flight Info"),function(){var r=javelin.core.cell.call(null,null);return weathergen.ui.grids.table_grid.call(null,
new cljs.core.Keyword(null,"data","data",-232669377),javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r){return function(u,t,v){return cljs.core.filter.call(null,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r){return function(a){return cljs.core.contains_QMARK_.call(null,v,(new cljs.core.Keyword(null,"owner","owner",-392611939)).cljs$core$IFn$_invoke$arity$1(a))}}(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r),t)}}(r,a,b,c,d,e,f,g,h,k,l,m,n,p,q)).call(null,g,q,m),new cljs.core.Keyword(null,"key-fn","key-fn",
-636154479),new cljs.core.Keyword(null,"id","id",-1388402092),new cljs.core.Keyword(null,"when-empty","when-empty",-1825107890),document.createTextNode("No flights to show"),new cljs.core.Keyword(null,"row-attrs","row-attrs",2139633863),function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r){return function(u,t){return cljs.core.truth_(cljs.core.truth_(u)?t:u)?new cljs.core.PersistentArrayMap(null,5,[new cljs.core.Keyword(null,"css","css",1135045163),javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,k,l,m,
n,p,q,r){return function(a,b,c){return new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"background","background",-863952629),cljs.core._EQ_.call(null,c,b)?"lightgoldenrodyellow":weathergen.ui.layers.flights.row_color.call(null,a)],null)}}(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r)).call(null,t,u,m),new cljs.core.Keyword(null,"mouseenter","mouseenter",-1792413560),function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r){return function(){return cljs.core.reset_BANG_.call(null,m,cljs.core.deref.call(null,u))}}(a,
b,c,d,e,f,g,h,k,l,m,n,p,q,r),new cljs.core.Keyword(null,"mouseleave","mouseleave",531566580),function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r){return function(){return cljs.core.reset_BANG_.call(null,m,null)}}(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r),new cljs.core.Keyword(null,"click","click",1912301393),function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r){return function(){return javelin.core.dosync_STAR_.call(null,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r){return function(){cljs.core.swap_BANG_.call(null,g,weathergen.util.toggle_set_membership,
cljs.core.deref.call(null,u));return cljs.core.reset_BANG_.call(null,m,cljs.core.deref.call(null,g).call(null,cljs.core.deref.call(null,u)))}}(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r))}}(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r),new cljs.core.Keyword(null,"class","class",-2030961996),javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r){return function(a,b,c){return new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"highlighted","highlighted",1723498733),b.call(null,c,a)],null)}}(a,
b,c,d,e,f,g,h,k,l,m,n,p,q,r)).call(null,u,cljs.core._EQ_,m)],null):null}}(r,a,b,c,d,e,f,g,h,k,l,m,n,p,q),new cljs.core.Keyword(null,"hidden-columns","hidden-columns",-1045524800),weathergen.ui.layers.flights.hidden_flights_columns,new cljs.core.Keyword(null,"fixed-columns","fixed-columns",-1793374858),javelin.core.cell.call(null,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"show?","show?",1543842127),new cljs.core.Keyword(null,"info","info",
-317069002)],null)),new cljs.core.Keyword(null,"movable-columns","movable-columns",-1079893862),weathergen.ui.layers.flights.movable_flights_columns,new cljs.core.Keyword(null,"columns","columns",1998437288),function(){var u=function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r){return function(u,t,v){return new cljs.core.PersistentArrayMap(null,3,[new cljs.core.Keyword(null,"title","title",636505583),weathergen.help.with_help.call(null,new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,
[new cljs.core.Keyword(null,"flights","flights",-1637719124),new cljs.core.Keyword(null,"columns","columns",1998437288),t],null),u),new cljs.core.Keyword(null,"sort-key","sort-key",1285844623),function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r){return function(a){return v.call(null,cljs.core.deref.call(null,h),a)}}(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r),new cljs.core.Keyword(null,"formatter","formatter",-483008823),function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r){return function(u){return javelin.core.formula.call(null,function(a,
b,c,d,e,f,g,h,k,l,m,n,p,q,r){return function(a,b){return v.call(null,a,b)}}(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r)).call(null,h,u)}}(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r)],null)}}(r,a,b,c,d,e,f,g,h,k,l,m,n,p,q);return cljs.core.PersistentHashMap.fromArrays([new cljs.core.Keyword(null,"package","package",1189062786),new cljs.core.Keyword(null,"airbase","airbase",-369690299),new cljs.core.Keyword(null,"takeoff","takeoff",719937767),new cljs.core.Keyword(null,"mission","mission",1740288522),new cljs.core.Keyword(null,
"airframe","airframe",643222926),new cljs.core.Keyword(null,"show?","show?",1543842127),new cljs.core.Keyword(null,"callsign","callsign",1222385874),new cljs.core.Keyword(null,"combatant","combatant",2138865651),new cljs.core.Keyword(null,"egress","egress",610445366),new cljs.core.Keyword(null,"info","info",-317069002),new cljs.core.Keyword(null,"tot","tot",2086174646),new cljs.core.Keyword(null,"squadron","squadron",-1131671273)],[u.call(null,"Package",new cljs.core.Keyword(null,"package","package",
1189062786),function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u){return function(a,b){return(new cljs.core.Keyword(null,"name","name",1843675177)).cljs$core$IFn$_invoke$arity$1((new cljs.core.Keyword("weathergen.falcon.files.mission","package","weathergen.falcon.files.mission/package",-1415630340)).cljs$core$IFn$_invoke$arity$1(b))}}(u,r,a,b,c,d,e,f,g,h,k,l,m,n,p,q)),u.call(null,"Airbase",new cljs.core.Keyword(null,"airbase","airbase",-369690299),function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u){return function(a,b){a=
null==b?null:(new cljs.core.Keyword("weathergen.falcon.files.mission","airbase","weathergen.falcon.files.mission/airbase",-1926407441)).cljs$core$IFn$_invoke$arity$1(b);return null==a?null:(new cljs.core.Keyword(null,"name","name",1843675177)).cljs$core$IFn$_invoke$arity$1(a)}}(u,r,a,b,c,d,e,f,g,h,k,l,m,n,p,q)),u.call(null,"T/O",new cljs.core.Keyword(null,"takeoff","takeoff",719937767),function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u){return function(a,b){return weathergen.ui.common.format_time.call(null,
(new cljs.core.Keyword(null,"depart","depart",-100007287)).cljs$core$IFn$_invoke$arity$1(cljs.core.first.call(null,(new cljs.core.Keyword(null,"waypoints","waypoints",-844253224)).cljs$core$IFn$_invoke$arity$1(b))))}}(u,r,a,b,c,d,e,f,g,h,k,l,m,n,p,q)),new cljs.core.PersistentArrayMap(null,4,[new cljs.core.Keyword(null,"title","title",636505583),weathergen.help.with_help.call(null,new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"flights","flights",
-1637719124),new cljs.core.Keyword(null,"columns","columns",1998437288),new cljs.core.Keyword(null,"mission","mission",1740288522)],null),"Mission"),new cljs.core.Keyword(null,"sort-key","sort-key",1285844623),function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u){return function(a){return(new cljs.core.Keyword(null,"name","name",1843675177)).cljs$core$IFn$_invoke$arity$1((new cljs.core.Keyword("weathergen.falcon.files.mission","mission","weathergen.falcon.files.mission/mission",43331456)).cljs$core$IFn$_invoke$arity$1(a))}}(u,
r,a,b,c,d,e,f,g,h,k,l,m,n,p,q),new cljs.core.Keyword(null,"formatter","formatter",-483008823),function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u){return function(t){return javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u){return function(a){return(new cljs.core.Keyword(null,"name","name",1843675177)).cljs$core$IFn$_invoke$arity$1((new cljs.core.Keyword("weathergen.falcon.files.mission","mission","weathergen.falcon.files.mission/mission",43331456)).cljs$core$IFn$_invoke$arity$1(a))}}(a,
b,c,d,e,f,g,h,k,l,m,n,p,q,r,u)).call(null,t)}}(u,r,a,b,c,d,e,f,g,h,k,l,m,n,p,q),new cljs.core.Keyword(null,"css","css",1135045163),function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u){return function(t,v){return javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u){return function(a,b,c,d){a=weathergen.ui.layers.flights.flight_mission_color.call(null,a,b,c);d=weathergen.ui.common.contrasting.call(null,a,weathergen.ui.layers.flights.row_tertiary_color,weathergen.ui.layers.flights.row_color.call(null,
d));return new cljs.core.PersistentArrayMap(null,2,[new cljs.core.Keyword(null,"background","background",-863952629),d,new cljs.core.Keyword(null,"color","color",1011675173),a],null)}}(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u)).call(null,k,t,weathergen.ui.layers.flights.mission_category_colors,v)}}(u,r,a,b,c,d,e,f,g,h,k,l,m,n,p,q)],null),new cljs.core.PersistentArrayMap(null,3,[new cljs.core.Keyword(null,"title","title",636505583),"Aircraft",new cljs.core.Keyword(null,"sort-key","sort-key",1285844623),function(a,
b,c,d,e,f,g,h,k,l,m,n,p,q,r,u){return function(a){return weathergen.ui.layers.flights.flight_aircraft.call(null,a)}}(u,r,a,b,c,d,e,f,g,h,k,l,m,n,p,q),new cljs.core.Keyword(null,"formatter","formatter",-483008823),function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u){return function(t){return hoplon.core.div.call(null,hoplon.core.div.call(null,new cljs.core.Keyword(null,"css","css",1135045163),new cljs.core.PersistentArrayMap(null,4,[new cljs.core.Keyword(null,"display","display",242065432),"inline-block",new cljs.core.Keyword(null,
"float","float",-1732389368),"left",new cljs.core.Keyword(null,"width","width",-384071477),weathergen.ui.common.px.call(null,19),new cljs.core.Keyword(null,"text-align","text-align",1786091845),"center"],null),weathergen.ui.common.centered_image.call(null,k,javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u){return function(a){return(new cljs.core.Keyword("weathergen.falcon.files.mission","squadron-image","weathergen.falcon.files.mission/squadron-image",-423118152)).cljs$core$IFn$_invoke$arity$1(a)}}(a,
b,c,d,e,f,g,h,k,l,m,n,p,q,r,u)).call(null,t),19)),hoplon.core.span.call(null,new cljs.core.Keyword(null,"css","css",1135045163),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"margin-left","margin-left",2015598377),weathergen.ui.common.px.call(null,3)],null),javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u){return function(a,b){return b.call(null,a)}}(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u)).call(null,t,weathergen.ui.layers.flights.flight_aircraft)))}}(u,r,a,b,
c,d,e,f,g,h,k,l,m,n,p,q)],null),new cljs.core.PersistentArrayMap(null,3,[new cljs.core.Keyword(null,"title","title",636505583),weathergen.help.with_help.call(null,new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"flights","flights",-1637719124),new cljs.core.Keyword(null,"columns","columns",1998437288),new cljs.core.Keyword(null,"show?","show?",1543842127)],null),"Show?"),new cljs.core.Keyword(null,"sort-key","sort-key",1285844623),function(a,
b,c,d,e,f,g,h,k,l,m,n,p,q,r,u){return function(a){return cljs.core.not.call(null,cljs.core.deref.call(null,h).call(null,a))}}(u,r,a,b,c,d,e,f,g,h,k,l,m,n,p,q),new cljs.core.Keyword(null,"formatter","formatter",-483008823),function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u){return function(t){var v=javelin.core.cell_map.call(null,cljs.core.identity,javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u){return function(a){a=null!=a&&(a.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===
a.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,a):a;a=cljs.core.get.call(null,a,new cljs.core.Keyword(null,"camp-id","camp-id",618705690));return new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[a],null)}}(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u)).call(null,t)),w=cljs.core.nth.call(null,v,0,null),x=javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v){return function(a,b){return a.call(null,b)}}(v,w,a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u)).call(null,
h,t);return hoplon.core.div.call(null,new cljs.core.Keyword(null,"css","css",1135045163),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"white-space","white-space",-707351930),"nowrap"],null),hoplon.core.input.call(null,new cljs.core.Keyword(null,"camp-id","camp-id",618705690),w,new cljs.core.Keyword(null,"type","type",1174270348),"checkbox",new cljs.core.Keyword(null,"value","value",305978217),x),weathergen.ui.common.inl.call(null,new cljs.core.Keyword(null,"css","css",1135045163),
new cljs.core.PersistentArrayMap(null,2,[new cljs.core.Keyword(null,"margin-right","margin-right",809689658),"2px",new cljs.core.Keyword(null,"vertical-align","vertical-align",651007333),"middle"],null),new cljs.core.Keyword(null,"click","click",1912301393),cljs.core.constantly.call(null,!1),weathergen.ui.common.color_picker2.call(null,new cljs.core.Keyword(null,"value","value",305978217),javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w){return function(a,b,c,d,e){c=cljs.core.get_in.call(null,
d,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[c,new cljs.core.Keyword(null,"color","color",1011675173)],null));return cljs.core.truth_(c)?c:weathergen.ui.layers.flights.flight_mission_color.call(null,a,b,e)}}(x,v,w,a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u)).call(null,k,t,w,q,weathergen.ui.layers.flights.mission_category_colors),new cljs.core.Keyword(null,"change","change",-1163046502),function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w){return function(a){return cljs.core.swap_BANG_.call(null,
t,cljs.core.assoc_in,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[cljs.core.deref.call(null,c),new cljs.core.Keyword(null,"color","color",1011675173)],null),a)}}(x,v,w,a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u))))}}(u,r,a,b,c,d,e,f,g,h,k,l,m,n,p,q)],null),u.call(null,"Callsign",new cljs.core.Keyword(null,"callsign","callsign",1222385874),function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u){return function(a,b){return(new cljs.core.Keyword(null,"name","name",1843675177)).cljs$core$IFn$_invoke$arity$1(b)}}(u,
r,a,b,c,d,e,f,g,h,k,l,m,n,p,q)),new cljs.core.PersistentArrayMap(null,3,[new cljs.core.Keyword(null,"title","title",636505583),weathergen.help.with_help.call(null,new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"flights","flights",-1637719124),new cljs.core.Keyword(null,"columns","columns",1998437288),new cljs.core.Keyword(null,"combatant","combatant",2138865651)],null),"Who"),new cljs.core.Keyword(null,"sort-key","sort-key",1285844623),function(a,
b,c,d,e,f,g,h,k,l,m,n,p,q,r,u){return function(a){return weathergen.falcon.files.mission.team_name.call(null,cljs.core.deref.call(null,k),(new cljs.core.Keyword(null,"owner","owner",-392611939)).cljs$core$IFn$_invoke$arity$1(a))}}(u,r,a,b,c,d,e,f,g,h,k,l,m,n,p,q),new cljs.core.Keyword(null,"formatter","formatter",-483008823),function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u){return function(t){t=javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u){return function(a){return(new cljs.core.Keyword(null,
"owner","owner",-392611939)).cljs$core$IFn$_invoke$arity$1(a)}}(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u)).call(null,t);return weathergen.ui.common.inl.call(null,new cljs.core.Keyword(null,"css","css",1135045163),javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t){return function(a,b){return new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"color","color",1011675173),b.call(null,a,new cljs.core.Keyword(null,"dark-text","dark-text",814777253))],null)}}(t,a,b,c,d,e,
f,g,h,k,l,m,n,p,q,r,u)).call(null,t,weathergen.ui.common.team_color),javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t){return function(a,b,c){return a.call(null,b,c)}}(t,a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u)).call(null,weathergen.falcon.files.mission.team_name,k,t))}}(u,r,a,b,c,d,e,f,g,h,k,l,m,n,p,q)],null),u.call(null,"Egress",new cljs.core.Keyword(null,"egress","egress",610445366),function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u){return function(a,b){return weathergen.ui.common.format_time.call(null,
(new cljs.core.Keyword(null,"mission-over-time","mission-over-time",949947865)).cljs$core$IFn$_invoke$arity$1(b))}}(u,r,a,b,c,d,e,f,g,h,k,l,m,n,p,q)),new cljs.core.PersistentArrayMap(null,3,[new cljs.core.Keyword(null,"title","title",636505583),weathergen.help.with_help.call(null,new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"flights","flights",-1637719124),new cljs.core.Keyword(null,"columns","columns",1998437288),new cljs.core.Keyword(null,
"info","info",-317069002)],null),"Info"),new cljs.core.Keyword(null,"disable-sort","disable-sort",-579071276),!0,new cljs.core.Keyword(null,"formatter","formatter",-483008823),weathergen.ui.layers.flights.flight_info_formatter.call(null,new cljs.core.PersistentArrayMap(null,6,[new cljs.core.Keyword(null,"mission","mission",1740288522),g,new cljs.core.Keyword(null,"display","display",242065432),n,new cljs.core.Keyword(null,"detailed-flight","detailed-flight",216212956),r,new cljs.core.Keyword(null,
"scroll-container","scroll-container",-1938238550),h,new cljs.core.Keyword(null,"tabbed-flights","tabbed-flights",432685200),k,new cljs.core.Keyword(null,"checked-flights","checked-flights",1669126695),f],null))],null),u.call(null,"TOT",new cljs.core.Keyword(null,"tot","tot",2086174646),function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u){return function(a,b){return weathergen.ui.common.format_time.call(null,(new cljs.core.Keyword(null,"time-on-target","time-on-target",-857850216)).cljs$core$IFn$_invoke$arity$1(b))}}(u,
r,a,b,c,d,e,f,g,h,k,l,m,n,p,q)),u.call(null,"Squadron",new cljs.core.Keyword(null,"squadron","squadron",-1131671273),function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u){return function(a,b){return(new cljs.core.Keyword(null,"name","name",1843675177)).cljs$core$IFn$_invoke$arity$1((new cljs.core.Keyword("weathergen.falcon.files.mission","squadron","weathergen.falcon.files.mission/squadron",463902337)).cljs$core$IFn$_invoke$arity$1(b))}}(u,r,a,b,c,d,e,f,g,h,k,l,m,n,p,q))])}())}()))}}(n,p,a,b,b,c,d,e,f,g,h,k,
l,m),null),r=function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r){return function(d,e,f){return cljs.core.deref.call(null,function(){var g=cljs.core.truth_(d)?a:cljs.core.truth_(e)?b:cljs.core.truth_(f)?c:null;return cljs.core.truth_(g)?g:cljs.core.atom.call(null,null)}())}}(n,p,q,a,b,b,c,d,e,f,g,h,k,l,m);return javelin.core.formula.call(null,r).call(null,javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,M){return function(a,b){return b.call(null,a)}}(n,p,q,r,a,b,b,c,d,e,f,g,h,k,l,m)).call(null,
d,cljs.core.not),javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,M){return function(a,b){return 0===a.call(null,b)}}(n,p,q,r,a,b,b,c,d,e,f,g,h,k,l,m)).call(null,cljs.core.count,m),new cljs.core.Keyword(null,"else","else",-1508377146))};
weathergen.ui.layers.flights.waypoint_grid_coords=function(a,b){return weathergen.coordinates.fgrid__GT_weather.call(null,a,(new cljs.core.Keyword(null,"grid-x","grid-x",1935903622)).cljs$core$IFn$_invoke$arity$1(b),(new cljs.core.Keyword(null,"grid-y","grid-y",1140315474)).cljs$core$IFn$_invoke$arity$1(b))};
weathergen.ui.layers.flights.waypoints__GT_path=function(a,b){var c=null==b?null:weathergen.util.take_until.call(null,function(a){return function(a){return weathergen.util.has_flag_QMARK_.call(null,(new cljs.core.Keyword(null,"flags","flags",1775418075)).cljs$core$IFn$_invoke$arity$1(a),weathergen.falcon.constants.WPF_LAND)}}(b),b),d=null==c?null:cljs.core.mapv.call(null,function(b,c){return function(b){return weathergen.ui.layers.flights.waypoint_grid_coords.call(null,a,b)}}(b,c),c);b=null==d?null:
cljs.core.mapv.call(null,function(a,b,c){return function(a){return goog.string.format("%f,%f",(new cljs.core.Keyword(null,"x","x",2099068185)).cljs$core$IFn$_invoke$arity$1(a),(new cljs.core.Keyword(null,"y","y",-1757859776)).cljs$core$IFn$_invoke$arity$1(a))}}(b,c,d),d);b=null==b?null:cljs.core.interpose.call(null," L",b);return null==b?null:cljs.core.apply.call(null,cljs.core.str,"M",b)};
weathergen.ui.layers.flights.flight_path_overlay=function(a,b){var c=null!=b&&(b.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===b.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,b):b,d=cljs.core.get.call(null,c,new cljs.core.Keyword(null,"checked-flights","checked-flights",1669126695)),e=cljs.core.get.call(null,c,new cljs.core.Keyword(null,"display","display",242065432)),f=cljs.core.get.call(null,c,new cljs.core.Keyword(null,"highlighted-flight","highlighted-flight",
-2117068813)),g=cljs.core.get.call(null,c,new cljs.core.Keyword(null,"mission","mission",1740288522)),h=cljs.core.get.call(null,c,new cljs.core.Keyword(null,"map-zoom","map-zoom",1543291337)),k=cljs.core.get.call(null,c,new cljs.core.Keyword(null,"map-text-scale","map-text-scale",1420206123)),l=cljs.core.get.call(null,c,new cljs.core.Keyword(null,"map-flight-path-scale","map-flight-path-scale",866693625)),m=cljs.core.get.call(null,c,new cljs.core.Keyword(null,"map-show-text-background?","map-show-text-background?",
409410295)),n=javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,k,l){return function(a){return(new cljs.core.Keyword(null,"camp-id","camp-id",618705690)).cljs$core$IFn$_invoke$arity$1(a)}}(b,c,d,e,f,g,h,k,l,m)).call(null,a),p=javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,k,l,m){return function(a,b){return cljs.core._EQ_.call(null,a,b)}}(n,b,c,d,e,f,g,h,k,l,m)).call(null,a,f),q=javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,k,l,m,n){return function(a,b,c,d,e,f){return cljs.core.get_in.call(null,
d,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[c,new cljs.core.Keyword(null,"color","color",1011675173)],null),weathergen.ui.layers.flights.flight_mission_color.call(null,a,b,f))}}(n,p,b,c,d,e,f,g,h,k,l,m)).call(null,g,a,n,e,p,weathergen.ui.layers.flights.mission_category_colors),r=function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,K,I,H,O,P,N,Q){return function(a){return new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.PersistentArrayMap(null,
2,[new cljs.core.Keyword(null,"width","width",-384071477),k,new cljs.core.Keyword(null,"color","color",1011675173),weathergen.ui.common.contrasting.call(null,a)],null),new cljs.core.PersistentArrayMap(null,2,[new cljs.core.Keyword(null,"width","width",-384071477),f,new cljs.core.Keyword(null,"color","color",1011675173),a],null)],null)}}(n,p,q,1,.01,.1,.1,.1,.15,4,400,.4,.4,b,c,d,e,f,g,h,k,l,m),u=function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,K,I,H,O,P,N,Q,R){return function(a){return 1+1.5*a}}(n,p,q,1,
.01,.1,.1,.1,.15,4,400,.4,.4,r,b,c,d,e,f,g,h,k,l,m);return hoplon.svg.g.call(null,new cljs.core.Keyword(null,"flight","flight",-764860679),javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,K,I,H,O,P,N,Q,R,S){return function(a){return(new cljs.core.Keyword(null,"name","name",1843675177)).cljs$core$IFn$_invoke$arity$1(a)}}(n,p,q,1,.01,.1,.1,.1,.15,4,400,.4,.4,r,u,b,c,d,e,f,g,h,k,l,m)).call(null,a),function(){var t=javelin.core.cell_map.call(null,cljs.core.identity,javelin.core.formula.call(null,
function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w,x,y,U,W,V,X){return function(a){a=null!=a&&(a.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===a.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,a):a;a=cljs.core.get.call(null,a,new cljs.core.Keyword(null,"waypoints","waypoints",-844253224));return new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[a],null)}}(n,p,q,1,.01,.1,.1,.1,.15,4,400,.4,.4,r,u,b,c,d,e,f,g,h,k,l,m)).call(null,a)),v=cljs.core.nth.call(null,
t,0,null),w=javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w,x,y,U,W,V,X,Y,aa){return function(a,b){return a*(cljs.core.truth_(b)?1.4:1.2)}}(t,v,n,p,q,1,.01,.1,.1,.1,.15,4,400,.4,.4,r,u,b,c,d,e,f,g,h,k,l,m)).call(null,l,p),x=javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w,x,y,U,W,V,X,Y,aa,ba){return function(a,b){return b.call(null,a)}}(w,t,v,n,p,q,1,.01,.1,.1,.1,.15,4,400,.4,.4,r,u,b,c,d,e,f,g,h,k,l,m)).call(null,q,r),y=javelin.core.formula.call(null,
function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w,x,y,U,W,V,X,Y,aa,ba,Z){return function(a,b){return b.call(null,a)}}(w,x,t,v,n,p,q,1,.01,.1,.1,.1,.15,4,400,.4,.4,r,u,b,c,d,e,f,g,h,k,l,m)).call(null,q,weathergen.ui.common.contrasting);return hoplon.svg.g.call(null,new cljs.core.Keyword(null,"debug","debug",-1608172596),"waypoint markers and lines",new cljs.core.Keyword("svg","class","svg/class",-2030780416),javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w,x,y,U,W,V,X,Y,aa,
ba,Z,ca){return function(a){return cljs.core.truth_(a)?weathergen.ui.common.pulse_class:null}}(w,x,y,t,v,n,p,q,1,.01,.1,.1,.1,.15,4,400,.4,.4,r,u,b,c,d,e,f,g,h,k,l,m)).call(null,p),hoplon.svg.g.call(null,new cljs.core.Keyword(null,"debug","debug",-1608172596),"waypoint lines",hoplon.core.loop_tpl_STAR_.call(null,x,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w,x,y,U,W,V,X,Y,aa,ba,Z,ca){return function(z){z=javelin.core.cell_map.call(null,cljs.core.identity,javelin.core.formula.call(null,function(a,
b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w,x,z,y,B,A,C,D,E,F,G,I){return function(a){return new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[a],null)}}(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w,x,y,U,W,V,X,Y,aa,ba,Z,ca)).call(null,z));var B=cljs.core.nth.call(null,z,0,null),A=javelin.core.cell_map.call(null,cljs.core.identity,javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w,x,z,y,B,A,C,D,E,F,G,I,H,J){return function(a){var b=null!=a&&(a.cljs$lang$protocol_mask$partition0$&
64||cljs.core.PROTOCOL_SENTINEL===a.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,a):a;a=cljs.core.get.call(null,b,new cljs.core.Keyword(null,"width","width",-384071477));b=cljs.core.get.call(null,b,new cljs.core.Keyword(null,"color","color",1011675173));return new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[b,a],null)}}(z,B,a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w,x,y,U,W,V,X,Y,aa,ba,Z,ca)).call(null,B)),C=cljs.core.nth.call(null,A,0,null),D=cljs.core.nth.call(null,
A,1,null);return hoplon.svg.path.call(null,new cljs.core.Keyword(null,"stroke","stroke",1741823555),C,new cljs.core.Keyword(null,"stroke-width","stroke-width",716836435),javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w,x,z,y,B,A,C,D,E,F,G,I,H,J,L,K,M){return function(a,b,c){return b*c/a}}(A,C,D,z,B,a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w,x,y,U,W,V,X,Y,aa,ba,Z,ca)).call(null,aa,D,a),new cljs.core.Keyword(null,"fill","fill",883462889),"none",new cljs.core.Keyword(null,"pointer-events",
"pointer-events",-1053858853),"none",new cljs.core.Keyword(null,"opacity","opacity",397153780),k,new cljs.core.Keyword(null,"d","d",1972142424),javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w,x,z,y,B,A,C,D,E,F,G,I,H,J,L,K,M){return function(a,b){return weathergen.ui.layers.flights.waypoints__GT_path.call(null,a,b)}}(A,C,D,z,B,a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w,x,y,U,W,V,X,Y,aa,ba,Z,ca)).call(null,Y,e))}}(w,x,y,t,v,n,p,q,1,.01,.1,.1,.1,.15,4,400,.4,.4,r,u,b,c,d,e,f,
g,h,k,l,m))),hoplon.svg.g.call(null,new cljs.core.Keyword(null,"debug","debug",-1608172596),"waypoint markers",new cljs.core.Keyword(null,"transform","transform",1381301764),javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w,x,y,U,W,V,X,Y,aa,ba,Z,ca){return function(a){return weathergen.ui.common.svg_scale.call(null,1/a,1/a)}}(w,x,y,t,v,n,p,q,1,.01,.1,.1,.1,.15,4,400,.4,.4,r,u,b,c,d,e,f,g,h,k,l,m)).call(null,h),hoplon.core.loop_tpl_STAR_.call(null,javelin.core.formula.call(null,
function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w,x,y,U,W,V,X,Y,aa,ba,Z,ca){return function(a,b,c){return a.call(null,b,c)}}(w,x,y,t,v,n,p,q,1,.01,.1,.1,.1,.15,4,400,.4,.4,r,u,b,c,d,e,f,g,h,k,l,m)).call(null,cljs.core.map_indexed,cljs.core.vector,v),function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w,x,y,U,W,V,X,Y,aa,ba,Z,ca){return function(z){var B=javelin.core.cell_map.call(null,cljs.core.identity,javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w,x,z,y,B,A,C,D,E,F,G,I){return function(a){return new cljs.core.PersistentVector(null,
1,5,cljs.core.PersistentVector.EMPTY_NODE,[a],null)}}(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w,x,y,U,W,V,X,Y,aa,ba,Z,ca)).call(null,z)),A=cljs.core.nth.call(null,B,0,null),C=javelin.core.cell_map.call(null,cljs.core.identity,javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w,x,z,y,B,A,C,D,E,F,G,I,H,J){return function(a){var b=cljs.core.nth.call(null,a,0,null);a=cljs.core.nth.call(null,a,1,null);return new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,
[b,a],null)}}(B,A,a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w,x,y,U,W,V,X,Y,aa,ba,Z,ca)).call(null,A)),D=cljs.core.nth.call(null,C,0,null),E=cljs.core.nth.call(null,C,1,null),F=javelin.core.cell_map.call(null,cljs.core.identity,javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w,x,z,y,B,A,C,D,E,F,G,I,H,J,L,K,M){return function(a){var b=null!=a&&(a.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===a.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,
a):a;a=cljs.core.get.call(null,b,new cljs.core.Keyword(null,"action","action",-811238024));var c=cljs.core.get.call(null,b,new cljs.core.Keyword(null,"grid-x","grid-x",1935903622));b=cljs.core.get.call(null,b,new cljs.core.Keyword(null,"grid-y","grid-y",1140315474));return new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,[c,b,a],null)}}(C,D,E,B,A,a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w,x,y,U,W,V,X,Y,aa,ba,Z,ca)).call(null,E)),G=cljs.core.nth.call(null,F,0,null),I=cljs.core.nth.call(null,
F,1,null),H=cljs.core.nth.call(null,F,2,null),J=javelin.core.cell_map.call(null,cljs.core.identity,javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w,x,z,y,B,A,C,D,E,F,G,I,H,J,L,K,M,N,O,P,Q){return function(a){var b=null!=a&&(a.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===a.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,a):a;a=cljs.core.get.call(null,b,new cljs.core.Keyword(null,"x","x",2099068185));b=cljs.core.get.call(null,b,new cljs.core.Keyword(null,
"y","y",-1757859776));return new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[a,b],null)}}(F,G,I,H,C,D,E,B,A,a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w,x,y,U,W,V,X,Y,aa,ba,Z,ca)).call(null,javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w,x,z,y,B,A,C,D,E,F,G,I,H,J,L,K,M,N,O,P,Q){return function(a,b,c,d){return b.call(null,c,a,d)}}(F,G,I,H,C,D,E,B,A,a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w,x,y,U,W,V,X,Y,aa,ba,Z,ca)).call(null,G,weathergen.coordinates.fgrid__GT_weather,
Y,I))),L=cljs.core.nth.call(null,J,0,null),K=cljs.core.nth.call(null,J,1,null),M=new cljs.core.PersistentArrayMap(null,3,[new cljs.core.Keyword(null,"pointer-events","pointer-events",-1053858853),"none",new cljs.core.Keyword(null,"fill","fill",883462889),"none",new cljs.core.Keyword(null,"opacity","opacity",397153780),k],null);return hoplon.svg.g.call(null,new cljs.core.Keyword(null,"debug","debug",-1608172596),"waypoint markers",new cljs.core.Keyword(null,"transform","transform",1381301764),javelin.core.formula.call(null,
function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w,x,z,y,B,A,C,D,E,F,G,I,H,J,L,K,M,N,O,P,Q,R,S,U,T){return function(a,b,c){return weathergen.ui.common.svg_translate.call(null,a*c,b*c)}}(M,J,L,K,F,G,I,H,C,D,E,B,A,a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w,x,y,U,W,V,X,Y,aa,ba,Z,ca)).call(null,L,K,aa),hoplon.core.loop_tpl_STAR_.call(null,b,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w,x,z,y,B,A,C,D,E,F,G,I,H,J,L,K,M,N,O,P,Q,R,S,U,T){return function(V){var W=javelin.core.cell_map.call(null,cljs.core.identity,
javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w,x,z,y,B,A,C,D,E,F,G,I,H,J,L,K,M,N,O,P,Q,R,S,U,T){return function(a){return new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[a],null)}}(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w,x,z,y,B,A,C,D,E,F,G,I,H,J,L,K,M,N,O,P,Q,R,S,U,T)).call(null,V)),X=cljs.core.nth.call(null,W,0,null);return hoplon.svg.g.call(null,new cljs.core.Keyword(null,"debug","debug",-1608172596),"waypoint marker",function(){var V=
javelin.core.cell_map.call(null,cljs.core.identity,javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w,x,z,y,B,A,C,D,E,F,G,I,H,J,L,K,M,N,O,P,Q,R,S,U,T,V,W){return function(a){var b=null!=a&&(a.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===a.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,a):a;a=cljs.core.get.call(null,b,new cljs.core.Keyword(null,"width","width",-384071477));b=cljs.core.get.call(null,b,new cljs.core.Keyword(null,"color",
"color",1011675173));return new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[b,a],null)}}(W,X,a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w,x,z,y,B,A,C,D,E,F,G,I,H,J,L,K,M,N,O,P,Q,R,S,U,T)).call(null,X)),Z=cljs.core.nth.call(null,V,0,null),Y=cljs.core.nth.call(null,V,1,null),ba=javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w,x,z,y,B,A,C,D,E,F,G,I,H,J,L,K,M,N,O,P,Q,R,S,U,T,V,W,X,Z,Y){return function(a){return M*a/2}}(V,Z,Y,W,X,a,b,c,d,e,f,g,h,k,l,
m,n,p,q,r,u,t,v,w,x,z,y,B,A,C,D,E,F,G,I,H,J,L,K,M,N,O,P,Q,R,S,U,T)).call(null,q),aa=cljs.core.assoc.call(null,a,new cljs.core.Keyword(null,"opacity","opacity",397153780),y,new cljs.core.Keyword(null,"stroke","stroke",1741823555),Z,new cljs.core.Keyword(null,"stroke-width","stroke-width",716836435),javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w,x,z,y,B,A,C,D,E,F,G,I,H,J,L,K,M,N,O,P,Q,R,S,U,T,V,W,X,Z,Y,ba){return function(a,b){return.6*a*b}}(ba,V,Z,Y,W,X,a,b,c,d,e,f,g,
h,k,l,m,n,p,q,r,u,t,v,w,x,z,y,B,A,C,D,E,F,G,I,H,J,L,K,M,N,O,P,Q,R,S,U,T)).call(null,Y,q)),ca=javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w,x,z,y,B,A,C,D,E,F,G,I,H,J,L,K,M,N,O,P,Q,R,S,U,T,V,W,X,Z,Y,ba,aa){return function(a){return!weathergen.util.has_flag_QMARK_.call(null,(new cljs.core.Keyword(null,"flags","flags",1775418075)).cljs$core$IFn$_invoke$arity$1(a),weathergen.falcon.constants.WPF_TARGET)}}(ba,aa,V,Z,Y,W,X,a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w,x,z,y,B,A,C,
D,E,F,G,I,H,J,L,K,M,N,O,P,Q,R,S,U,T)).call(null,m),ea=new cljs.core.Delay(function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w,x,z,y,B,A,C,D,E,F,G,I,H,J,L,K,M,N,O,P,Q,R,S,U,T,V,W,X,Z,Y,ba,aa,ca){return function(){return hoplon.svg.circle.call(null,b,new cljs.core.Keyword(null,"cx","cx",1272694324),0,new cljs.core.Keyword(null,"cy","cy",755331060),0,new cljs.core.Keyword(null,"r","r",-471384190),a)}}(ba,aa,ca,V,Z,Y,W,X,a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w,x,z,y,B,A,C,D,E,F,G,I,H,J,L,K,M,N,O,P,Q,R,S,U,T),
null),fa=new cljs.core.Delay(function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w,x,z,y,B,A,C,D,E,F,G,I,H,J,L,K,M,N,O,P,Q,R,S,U,T,V,W,X,Z,Y,ba,aa,ca,ea){return function(){return weathergen.ui.common.triangle.call(null,c,new cljs.core.Keyword(null,"r","r",-471384190),b)}}(ea,ba,aa,ca,V,Z,Y,W,X,a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w,x,z,y,B,A,C,D,E,F,G,I,H,J,L,K,M,N,O,P,Q,R,S,U,T),null);V=function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w,x,z,y,B,A,C,D,E,F,G,I,H,J,L,K,M,N,O,P,Q,R,S,U,T,V,W,X,Z,Y,ba,aa,ca,ea,fa){return function(c){return cljs.core.deref.call(null,
function(){var d=cljs.core.truth_(c)?a:b;return cljs.core.truth_(d)?d:cljs.core.atom.call(null,null)}())}}(ea,fa,ba,aa,ca,V,Z,Y,W,X,a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w,x,z,y,B,A,C,D,E,F,G,I,H,J,L,K,M,N,O,P,Q,R,S,U,T);return javelin.core.formula.call(null,V).call(null,ca)}())}}(M,J,L,K,F,G,I,H,C,D,E,B,A,a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w,x,y,U,W,V,X,Y,aa,ba,Z,ca)),function(){var z=javelin.core.cell.call(null,!0),N=javelin.core.cell.call(null,!0),O=javelin.core.formula.call(null,function(a,b,c,
d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w,x,z,y,B,A,C,D,E,F,G,I,H,J,L,K,M,N,O,P,Q,R,S,T,U,V,W){return function(a,b,c,d,e){return cljs.core.truth_(cljs.core.truth_(c)?weathergen.util.has_flag_QMARK_.call(null,(new cljs.core.Keyword(null,"flags","flags",1775418075)).cljs$core$IFn$_invoke$arity$1(a),weathergen.falcon.constants.WPF_ALTERNATE):c)?"Alternate Field":cljs.core.truth_(cljs.core.truth_(c)?cljs.core._EQ_.call(null,b,weathergen.falcon.constants.WP_REFUEL):c)?cljs.core.truth_(c)?"Tanker":null:cljs.core.truth_(d)?
e+1:null}}(z,N,M,J,L,K,F,G,I,H,C,D,E,B,A,a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w,x,y,U,W,V,X,Y,aa,ba,Z,ca)).call(null,E,H,z,N,D),P=javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w,x,z,y,B,A,C,D,E,F,G,I,H,J,L,K,M,N,O,P,Q,R,S,T,U,V,W,X){return function(a,b){return new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[a,b],null)}}(O,z,N,M,J,L,K,F,G,I,H,C,D,E,B,A,a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w,x,y,U,W,V,X,Y,aa,ba,Z,ca)).call(null,O,a),Q=javelin.core.cell.call(null,
0),R=javelin.core.cell.call(null,0),S=javelin.core.cell.call(null,0),T=javelin.core.cell.call(null,0),ea=hoplon.svg.text.call(null,new cljs.core.Keyword(null,"stroke","stroke",1741823555),h,new cljs.core.Keyword(null,"stroke-width","stroke-width",716836435),javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w,x,z,y,B,A,C,D,E,F,G,I,H,J,L,K,M,N,O,P,Q,R,S,T,U,V,W,X,Z,Y,ba,aa,ea){return function(a,b){return a*b}}(Q,R,S,T,O,P,z,N,M,J,L,K,F,G,I,H,C,D,E,B,A,a,b,c,d,e,f,g,h,k,l,m,
n,p,q,r,u,t,v,w,x,y,U,W,V,X,Y,aa,ba,Z,ca)).call(null,l,a),new cljs.core.Keyword(null,"fill","fill",883462889),h,new cljs.core.Keyword(null,"font-size","font-size",-1847940346),javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w,x,z,y,B,A,C,D,E,F,G,I,H,J,L,K,M,N,O,P,Q,R,S,T,U,V,W,X,Z,Y,ba,aa,ea){return function(a,b){return[cljs.core.str.cljs$core$IFn$_invoke$arity$1(a*b),"%"].join("")}}(Q,R,S,T,O,P,z,N,M,J,L,K,F,G,I,H,C,D,E,B,A,a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w,x,y,U,
W,V,X,Y,aa,ba,Z,ca)).call(null,r,a),new cljs.core.Keyword(null,"text-anchor","text-anchor",585613696),"middle",new cljs.core.Keyword(null,"opacity","opacity",397153780),k,new cljs.core.Keyword(null,"x","x",2099068185),0,new cljs.core.Keyword(null,"y","y",-1757859776),javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w,x,z,y,B,A,C,D,E,F,G,I,H,J,L,K,M,N,O,P,Q,R,S,T,U,V,W,X,Z,Y,ba,aa,ea){return function(a,b){return-(a*b)}}(Q,R,S,T,O,P,z,N,M,J,L,K,F,G,I,H,C,D,E,B,A,a,b,c,d,e,
f,g,h,k,l,m,n,p,q,r,u,t,v,w,x,y,U,W,V,X,Y,aa,ba,Z,ca)).call(null,t,a),O),fa=function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w,x,z,y,B,A,C,D,E,F,G,I,H,J,L,K,M,N,O,P,Q,R,S,T,U,V,W,X,Z,Y,ba,aa,ea,ca){return function(){return javelin.core.dosync_STAR_.call(null,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w,x,z,y,B,A,C,D,E,F,G,I,H,J,L,K,M,N,O,P,Q,R,S,T,U,V,W,X,Z,Y,ba,aa,ea,ca){return function(){var f=e.getBBox();return cljs.core.truth_(f.x)?(cljs.core.reset_BANG_.call(null,a,f.x),cljs.core.reset_BANG_.call(null,
b,f.y),cljs.core.reset_BANG_.call(null,c,f.width),cljs.core.reset_BANG_.call(null,d,f.height)):null}}(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w,x,z,y,B,A,C,D,E,F,G,I,H,J,L,K,M,N,O,P,Q,R,S,T,U,V,W,X,Z,Y,ba,aa,ea,ca))}}(Q,R,S,T,ea,O,P,z,N,M,J,L,K,F,G,I,H,C,D,E,B,A,a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w,x,y,U,W,V,X,Y,aa,ba,Z,ca);setTimeout(function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w,x,z,y,B,A,C,D,E,F,G,I,H,J,L,K,M,N,O,P,Q,R,S,T,U,V,W,X,Z,Y,ba,aa,ea,ca,fa){return function(){return f.call(null)}}(Q,R,S,
T,ea,fa,O,P,z,N,M,J,L,K,F,G,I,H,C,D,E,B,A,a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w,x,y,U,W,V,X,Y,aa,ba,Z,ca),0);cljs.core.truth_(P)&&cljs.core.add_watch.call(null,P,cljs.core.keyword.call(null,cljs.core.gensym.call(null)),function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w,x,z,y,B,A,C,D,E,F,G,I,H,J,L,K,M,N,O,P,Q,R,S,T,U,V,W,X,Z,Y,ba,aa,ea,ca,fa,da,ha){return function(ka,ia,ja,Aa){return setTimeout(function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w,x,z,y,B,A,C,D,E,F,G,I,H,J,L,K,M,N,O,P,Q,R,S,T,U,V,W,X,Z,Y,ba,
aa,ea,ca,fa,da,ha){return function(){return h.call(null)}}(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w,x,z,y,B,A,C,D,E,F,G,I,H,J,L,K,M,N,O,P,Q,R,S,T,U,V,W,X,Z,Y,ba,aa,ea,ca,fa,da,ha),0)}}(P,P,Q,R,S,T,ea,fa,O,P,z,N,M,J,L,K,F,G,I,H,C,D,E,B,A,a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w,x,y,U,W,V,X,Y,aa,ba,Z,ca));var da=new cljs.core.Delay(function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w,x,z,y,B,A,C,D,E,F,G,I,H,J,L,K,M,N,O,P,Q,R,S,T,U,V,W,X,Z,Y,ba,aa,ea,ca,fa){return function(){return hoplon.svg.g.call(null,new cljs.core.Keyword(null,
"debug","debug",-1608172596),"waypoint label",new cljs.core.Keyword(null,"transform","transform",1381301764),javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w,x,z,y,B,A,C,D,E,F,G,I,H,J,L,K,M,N,O,P,Q,R,S,T,U,V,W,X,Z,Y,ba,aa,ea,ca,fa){return function(a,b,c){return b.call(null,c/a)}}(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w,x,z,y,B,A,C,D,E,F,G,I,H,J,L,K,M,N,O,P,Q,R,S,T,U,V,W,X,Z,Y,ba,aa,ea,ca,fa)).call(null,ca,weathergen.ui.common.svg_scale,ea),function(){var da=new cljs.core.Delay(function(a,
b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w,x,z,y,B,A,C,D,E,F,G,I,H,J,L,K,M,N,O,P,Q,R,S,T,U,V,W,X,Z,Y,ba,aa,ea,ca,fa){return function(){return hoplon.svg.rect.call(null,new cljs.core.Keyword(null,"x","x",2099068185),a,new cljs.core.Keyword(null,"y","y",-1757859776),b,new cljs.core.Keyword(null,"width","width",-384071477),c,new cljs.core.Keyword(null,"height","height",1025178622),d,new cljs.core.Keyword(null,"fill","fill",883462889),D,new cljs.core.Keyword(null,"opacity","opacity",397153780),S)}}(a,b,c,d,
e,f,g,h,k,l,m,n,p,q,r,u,t,v,w,x,z,y,B,A,C,D,E,F,G,I,H,J,L,K,M,N,O,P,Q,R,S,T,U,V,W,X,Z,Y,ba,aa,ea,ca,fa),null),ha=new cljs.core.Delay(function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w,x,z,y,B,A,C,D,E,F,G,I,H,J,L,K,M,N,O,P,Q,R,S,T,U,V,W,X,Z,Y,ba,aa,ea,ca,fa,da){return function(){return null}}(da,a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w,x,z,y,B,A,C,D,E,F,G,I,H,J,L,K,M,N,O,P,Q,R,S,T,U,V,W,X,Z,Y,ba,aa,ea,ca,fa),null);da=function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w,x,z,y,B,A,C,D,E,F,G,I,H,J,L,K,M,N,O,P,Q,R,
S,T,U,V,W,X,Z,Y,ba,aa,ea,ca,fa,da,ha){return function(c){return cljs.core.deref.call(null,function(){var d=cljs.core.truth_(c)?a:b;return cljs.core.truth_(d)?d:cljs.core.atom.call(null,null)}())}}(da,ha,a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w,x,z,y,B,A,C,D,E,F,G,I,H,J,L,K,M,N,O,P,Q,R,S,T,U,V,W,X,Z,Y,ba,aa,ea,ca,fa);return javelin.core.formula.call(null,da).call(null,fa)}(),e)}}(Q,R,S,T,ea,fa,O,P,z,N,M,J,L,K,F,G,I,H,C,D,E,B,A,a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w,x,y,U,W,V,X,Y,aa,ba,Z,ca),null),ha=new cljs.core.Delay(function(a,
b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w,x,z,y,B,A,C,D,E,F,G,I,H,J,L,K,M,N,O,P,Q,R,S,T,U,V,W,X,Z,Y,ba,aa,ea,ca,fa,da){return function(){return null}}(da,Q,R,S,T,ea,fa,O,P,z,N,M,J,L,K,F,G,I,H,C,D,E,B,A,a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w,x,y,U,W,V,X,Y,aa,ba,Z,ca),null),ka=function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w,x,z,y,B,A,C,D,E,F,G,I,H,J,L,K,M,N,O,P,Q,R,S,T,U,V,W,X,Z,Y,ba,aa,ea,ca,fa,da,ha){return function(c){return cljs.core.deref.call(null,function(){var d=cljs.core.truth_(c)?a:b;return cljs.core.truth_(d)?
d:cljs.core.atom.call(null,null)}())}}(da,ha,Q,R,S,T,ea,fa,O,P,z,N,M,J,L,K,F,G,I,H,C,D,E,B,A,a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w,x,y,U,W,V,X,Y,aa,ba,Z,ca);return javelin.core.formula.call(null,ka).call(null,javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w,x,z,y,B,A,C,D,E,F,G,I,H,J,L,K,M,N,O,P,Q,R,S,T,U,V,W,X,Z,Y,ba,aa,ea,ca,fa,da,ha,ka){return function(a){return cljs.core.not.call(null,null==a)}}(da,ha,ka,Q,R,S,T,ea,fa,O,P,z,N,M,J,L,K,F,G,I,H,C,D,E,B,A,a,b,c,d,e,f,g,
h,k,l,m,n,p,q,r,u,t,v,w,x,y,U,W,V,X,Y,aa,ba,Z,ca)).call(null,O))}())}}(w,x,y,t,v,n,p,q,1,.01,.1,.1,.1,.15,4,400,.4,.4,r,u,b,c,d,e,f,g,h,k,l,m))))}())};
weathergen.ui.layers.flights.overlay=function(a){var b=null!=a&&(a.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===a.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,a):a,c=cljs.core.get.call(null,b,new cljs.core.Keyword(null,"checked-flights","checked-flights",1669126695)),d=cljs.core.get.call(null,b,new cljs.core.Keyword(null,"highlighted-flight","highlighted-flight",-2117068813)),e=cljs.core.get.call(null,b,new cljs.core.Keyword(null,"mission","mission",1740288522)),
f=cljs.core.get.call(null,b,new cljs.core.Keyword(null,"selected-teams","selected-teams",317107671)),g=javelin.core.formula.call(null,function(a,b,c,d,e,f,g){return function(h,k,l,m){return cljs.core.set.call(null,cljs.core.filter.call(null,function(a,b,c,d,e,f,g){return function(a){return m.call(null,(new cljs.core.Keyword(null,"owner","owner",-392611939)).cljs$core$IFn$_invoke$arity$1(a))}}(a,b,c,d,e,f,g),h))}}(a,b,b,c,d,e,f)).call(null,c,d,e,f);return hoplon.svg.g.call(null,new cljs.core.Keyword(null,
"section","section",-300141526),"flights-overlay",hoplon.svg.g.call(null,new cljs.core.Keyword(null,"section","section",-300141526),"checked-flight-paths",hoplon.core.loop_tpl_STAR_.call(null,javelin.core.formula.call(null,function(a,b,c,d,e,f,g,r){return function(a,b,c){return a.call(null,b,c)}}(g,a,b,b,c,d,e,f)).call(null,cljs.core.disj,g,d),function(a,b,c,d,e,f,g,r){return function(h){h=javelin.core.cell_map.call(null,cljs.core.identity,javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h){return function(a){return new cljs.core.PersistentVector(null,
1,5,cljs.core.PersistentVector.EMPTY_NODE,[a],null)}}(a,b,c,d,e,f,g,r)).call(null,h));h=cljs.core.nth.call(null,h,0,null);return weathergen.ui.layers.flights.flight_path_overlay.call(null,h,d)}}(g,a,b,b,c,d,e,f)),function(){var h=new cljs.core.Delay(function(a,b,c,d,e,f,g,h){return function(){return hoplon.svg.g.call(null,new cljs.core.Keyword(null,"section","section",-300141526),"highlighted-flight-path",weathergen.ui.layers.flights.flight_path_overlay.call(null,f,d))}}(g,a,b,b,c,d,e,f),null),k=
new cljs.core.Delay(function(a,b,c,d,e,f,g,h,k){return function(){return null}}(h,g,a,b,b,c,d,e,f),null);h=function(a,b,c,d,e,f,g,h,k,w){return function(c){return cljs.core.deref.call(null,function(){var d=cljs.core.truth_(c)?a:b;return cljs.core.truth_(d)?d:cljs.core.atom.call(null,null)}())}}(h,k,g,a,b,b,c,d,e,f);return javelin.core.formula.call(null,h).call(null,d)}()))};
weathergen.ui.layers.flights.create=function(a,b){var c=null!=b&&(b.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===b.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,b):b,d=cljs.core.get.call(null,c,new cljs.core.Keyword(null,"map-zoom","map-zoom",1543291337)),e=cljs.core.get.call(null,c,new cljs.core.Keyword(null,"map-text-scale","map-text-scale",1420206123)),f=cljs.core.get.call(null,c,new cljs.core.Keyword(null,"visible-teams","visible-teams",-110455752)),g=
javelin.core.cell.call(null,0),h=javelin.core.formula.call(null,function(a,b,c,d,e,f,g){return function(a,b){return b.call(null,4,a)}}(g,b,c,c,d,e,f)).call(null,g,Math.pow),k=javelin.core.cell.call(null,cljs.core.PersistentArrayMap.EMPTY),l=javelin.core.cell.call(null,cljs.core.PersistentHashSet.EMPTY),m=javelin.core.cell.call(null,null),n=javelin.core.cell.call(null,cljs.core.PersistentArrayMap.EMPTY),p=cljs.core.merge.call(null,c,cljs.core.PersistentHashMap.fromArrays([new cljs.core.Keyword(null,
"map-flight-path-size","map-flight-path-size",-1349075868),new cljs.core.Keyword(null,"checked-flights","checked-flights",1669126695),new cljs.core.Keyword(null,"mission","mission",1740288522),new cljs.core.Keyword(null,"tabbed-flights","tabbed-flights",432685200),new cljs.core.Keyword(null,"highlighted-flight","highlighted-flight",-2117068813),new cljs.core.Keyword(null,"selected-teams","selected-teams",317107671),new cljs.core.Keyword(null,"display","display",242065432),new cljs.core.Keyword(null,
"all-flights","all-flights",253678712),new cljs.core.Keyword(null,"map-flight-path-scale","map-flight-path-scale",866693625)],[g,l,a,k,m,javelin.core.cell.call(null,cljs.core.PersistentHashSet.EMPTY),n,javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,k,l,m,n){return function(a){return(new cljs.core.Keyword("weathergen.falcon.files.mission","flights","weathergen.falcon.files.mission/flights",-1943609790)).cljs$core$IFn$_invoke$arity$1(a)}}(g,h,k,l,m,n,b,c,c,d,e,f)).call(null,a),h])),q=javelin.core.formula.call(null,
function(a,b,c,d,e,f,g,h,k,l,m,n,p){return function(a,b){return new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[a,b],null)}}(g,h,k,l,m,n,p,b,c,c,d,e,f)).call(null,a,f);hoplon.core.do_watch.call(null,q,new cljs.core.Keyword("weathergen.ui.layers.flights","reset-on-mission-change","weathergen.ui.layers.flights/reset-on-mission-change",496588105),function(a,b,c,d,e,f,g,h,k,l,m,n,p,q){return function(r,u){r=cljs.core.nth.call(null,u,0,null);var t=cljs.core.nth.call(null,
u,1,null),v=console.time("updating flights section");u=javelin.core.dosync_STAR_.call(null,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w){return function(){cljs.core.reset_BANG_.call(null,(new cljs.core.Keyword(null,"display","display",242065432)).cljs$core$IFn$_invoke$arity$1(n),cljs.core.PersistentArrayMap.EMPTY);cljs.core.reset_BANG_.call(null,(new cljs.core.Keyword(null,"highlighted-flight","highlighted-flight",-2117068813)).cljs$core$IFn$_invoke$arity$1(n),null);cljs.core.reset_BANG_.call(null,
(new cljs.core.Keyword(null,"checked-flights","checked-flights",1669126695)).cljs$core$IFn$_invoke$arity$1(n),cljs.core.PersistentHashSet.EMPTY);return cljs.core.reset_BANG_.call(null,(new cljs.core.Keyword(null,"selected-teams","selected-teams",317107671)).cljs$core$IFn$_invoke$arity$1(n),function(){var a=cljs.core.set.call(null,weathergen.falcon.files.mission.teams_for_side.call(null,d,weathergen.falcon.files.mission.side.call(null,d,weathergen.falcon.files.mission.last_player_team.call(null,d))));
return cljs.core.empty_QMARK_.call(null,clojure.set.intersection.call(null,a,e))?e:a}())}}("updating flights section",v,u,r,t,a,b,c,d,e,f,g,h,k,l,m,n,p,q));console.timeEnd("updating flights section");return u}}(g,h,k,l,m,n,p,q,b,c,c,d,e,f));return cljs.core.assoc.call(null,p,new cljs.core.Keyword(null,"controls-fn","controls-fn",-807620277),function(a,b,c,d,e,f,g,h,k,l,m,n,p,q){return function(a){return weathergen.ui.layers.flights.controls.call(null,cljs.core.assoc.call(null,g,new cljs.core.Keyword(null,
"scroll-container","scroll-container",-1938238550),a))}}(g,h,k,l,m,n,p,q,b,c,c,d,e,f),new cljs.core.Keyword(null,"map-display-controls-fn","map-display-controls-fn",1472969543),function(a,b,c,d,e,f,g,h,k,l,m,n,p,q){return function(a){return weathergen.ui.layers.flights.flight_path_display_controls.call(null,a,g)}}(g,h,k,l,m,n,p,q,b,c,c,d,e,f),new cljs.core.Keyword(null,"overlay-fn","overlay-fn",1005125217),function(a,b,c,d,e,f,g,h,k,l,m,n,p,q){return function(){return weathergen.ui.layers.flights.overlay.call(null,
g)}}(g,h,k,l,m,n,p,q,b,c,c,d,e,f),new cljs.core.Keyword(null,"tab-body-fn","tab-body-fn",-2145852517),function(b,c,d,e,f,g,h,k,l,m,n,p,q,E){return function(r){return weathergen.ui.layers.flights.flight_details.call(null,new cljs.core.PersistentArrayMap(null,5,[new cljs.core.Keyword(null,"mission","mission",1740288522),a,new cljs.core.Keyword(null,"flight","flight",-764860679),javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q){return function(a){return(new cljs.core.Keyword("weathergen.ui.layers.flights",
"flight","weathergen.ui.layers.flights/flight",-2019099686)).cljs$core$IFn$_invoke$arity$1(a)}}(b,c,d,e,f,g,h,k,l,m,n,p,q,E)).call(null,r),new cljs.core.Keyword(null,"display","display",242065432),g,new cljs.core.Keyword(null,"tabbed-flights","tabbed-flights",432685200),d,new cljs.core.Keyword(null,"checked-flights","checked-flights",1669126695),e],null))}}(g,h,k,l,m,n,p,q,b,c,c,d,e,f),new cljs.core.Keyword(null,"tab-title-fn","tab-title-fn",-242851006),function(b,c,d,e,f,g,h,k,l,m,n,p,q,E){return function(r,
u){return hoplon.core.div.call(null,new cljs.core.Keyword(null,"mouseenter","mouseenter",-1792413560),function(a,b,c,d,e,f,g,h,k,l,m,n,p,q){return function(){return cljs.core.reset_BANG_.call(null,e,(new cljs.core.Keyword("weathergen.ui.layers.flights","flight","weathergen.ui.layers.flights/flight",-2019099686)).cljs$core$IFn$_invoke$arity$1(cljs.core.deref.call(null,r)))}}(b,c,d,e,f,g,h,k,l,m,n,p,q,E),new cljs.core.Keyword(null,"mouseleave","mouseleave",531566580),function(a,b,c,d,e,f,g,h,k,l,m,
n,p,q){return function(){return cljs.core.reset_BANG_.call(null,e,null)}}(b,c,d,e,f,g,h,k,l,m,n,p,q,E),weathergen.ui.common.centered_image.call(null,a,javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q){return function(a){return(new cljs.core.Keyword("weathergen.falcon.files.mission","squadron-image","weathergen.falcon.files.mission/squadron-image",-423118152)).cljs$core$IFn$_invoke$arity$1((new cljs.core.Keyword("weathergen.ui.layers.flights","flight","weathergen.ui.layers.flights/flight",
-2019099686)).cljs$core$IFn$_invoke$arity$1(a))}}(b,c,d,e,f,g,h,k,l,m,n,p,q,E)).call(null,r),19),hoplon.core.span.call(null,new cljs.core.Keyword(null,"css","css",1135045163),javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q){return function(a,b,c,d,e){b=(new cljs.core.Keyword("weathergen.ui.layers.flights","flight","weathergen.ui.layers.flights/flight",-2019099686)).cljs$core$IFn$_invoke$arity$1(b);d=cljs.core.get_in.call(null,d,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,
[(new cljs.core.Keyword(null,"camp-id","camp-id",618705690)).cljs$core$IFn$_invoke$arity$1(b),new cljs.core.Keyword(null,"color","color",1011675173)],null));a=cljs.core.truth_(d)?d:weathergen.ui.layers.flights.flight_mission_color.call(null,a,b,c);return cljs.core.PersistentHashMap.fromArrays([new cljs.core.Keyword(null,"border-style","border-style",-485574304),new cljs.core.Keyword(null,"vertical-align","vertical-align",651007333),new cljs.core.Keyword(null,"margin-left","margin-left",2015598377),
new cljs.core.Keyword(null,"width","width",-384071477),new cljs.core.Keyword(null,"background","background",-863952629),new cljs.core.Keyword(null,"border-width","border-width",-1512605390),new cljs.core.Keyword(null,"border-color","border-color",-2059162761),new cljs.core.Keyword(null,"display","display",242065432),new cljs.core.Keyword(null,"height","height",1025178622)],["solid","middle",weathergen.ui.common.px.call(null,5),weathergen.ui.common.px.call(null,13),a,weathergen.ui.common.px.call(null,
1),cljs.core.truth_(e)?"white":"black","inline-block",weathergen.ui.common.px.call(null,14)])}}(b,c,d,e,f,g,h,k,l,m,n,p,q,E)).call(null,a,r,weathergen.ui.layers.flights.mission_category_colors,g,u)," "),hoplon.core.span.call(null,new cljs.core.Keyword(null,"css","css",1135045163),new cljs.core.PersistentArrayMap(null,2,[new cljs.core.Keyword(null,"vertical-align","vertical-align",651007333),"middle",new cljs.core.Keyword(null,"margin-left","margin-left",2015598377),weathergen.ui.common.px.call(null,
5)],null),javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q){return function(a){return(new cljs.core.Keyword(null,"title","title",636505583)).cljs$core$IFn$_invoke$arity$1(a)}}(b,c,d,e,f,g,h,k,l,m,n,p,q,E)).call(null,r)),hoplon.core.span.call(null,new cljs.core.Keyword(null,"css","css",1135045163),new cljs.core.PersistentArrayMap(null,5,[new cljs.core.Keyword(null,"color","color",1011675173),"red",new cljs.core.Keyword(null,"float","float",-1732389368),"right",new cljs.core.Keyword(null,
"margin-left","margin-left",2015598377),"5px",new cljs.core.Keyword(null,"font-weight","font-weight",2085804583),"bold",new cljs.core.Keyword(null,"font-size","font-size",-1847940346),weathergen.ui.common.pct.call(null,90)],null),new cljs.core.Keyword(null,"click","click",1912301393),function(a,b,c,d,e,f,g,h,k,l,m,n,p,q){return function(a){cljs.core.reset_BANG_.call(null,e,null);return cljs.core.swap_BANG_.call(null,c,cljs.core.dissoc,(new cljs.core.Keyword(null,"id","id",-1388402092)).cljs$core$IFn$_invoke$arity$1(cljs.core.deref.call(null,
r)))}}(b,c,d,e,f,g,h,k,l,m,n,p,q,E),"X"))}}(g,h,k,l,m,n,p,q,b,c,c,d,e,f),new cljs.core.Keyword(null,"tabs","tabs",-779855354),javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q){return function(r){return cljs.core.sort_by.call(null,new cljs.core.Keyword(null,"title","title",636505583),function(){return function(a,b,c,d,e,f,g,h,k,l,m,n,p,q){return function X(r){return new cljs.core.LazySeq(null,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q){return function(){for(;;){var a=cljs.core.seq.call(null,
r);if(a){if(cljs.core.chunked_seq_QMARK_.call(null,a)){var b=cljs.core.chunk_first.call(null,a),c=cljs.core.count.call(null,b),d=cljs.core.chunk_buffer.call(null,c);a:for(var e=0;;)if(e<c){var f=cljs.core._nth.call(null,b,e),g=cljs.core.nth.call(null,f,0,null);f=cljs.core.nth.call(null,f,1,null);cljs.core.chunk_append.call(null,d,new cljs.core.PersistentArrayMap(null,3,[new cljs.core.Keyword(null,"id","id",-1388402092),g,new cljs.core.Keyword(null,"title","title",636505583),(new cljs.core.Keyword(null,
"name","name",1843675177)).cljs$core$IFn$_invoke$arity$1(f),new cljs.core.Keyword("weathergen.ui.layers.flights","flight","weathergen.ui.layers.flights/flight",-2019099686),f],null));e+=1}else{b=!0;break a}return b?cljs.core.chunk_cons.call(null,cljs.core.chunk.call(null,d),X.call(null,cljs.core.chunk_rest.call(null,a))):cljs.core.chunk_cons.call(null,cljs.core.chunk.call(null,d),null)}b=cljs.core.first.call(null,a);d=cljs.core.nth.call(null,b,0,null);b=cljs.core.nth.call(null,b,1,null);return cljs.core.cons.call(null,
new cljs.core.PersistentArrayMap(null,3,[new cljs.core.Keyword(null,"id","id",-1388402092),d,new cljs.core.Keyword(null,"title","title",636505583),(new cljs.core.Keyword(null,"name","name",1843675177)).cljs$core$IFn$_invoke$arity$1(b),new cljs.core.Keyword("weathergen.ui.layers.flights","flight","weathergen.ui.layers.flights/flight",-2019099686),b],null),X.call(null,cljs.core.rest.call(null,a)))}return null}}}(a,b,c,d,e,f,g,h,k,l,m,n,p,q),null,null)}}(a,b,c,d,e,f,g,h,k,l,m,n,p,q).call(null,r)}())}}(g,
h,k,l,m,n,p,q,b,c,c,d,e,f)).call(null,k))};
weathergen.ui.layers.flights.briefing_data=function(a){var b=null!=a&&(a.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===a.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,a):a;a=cljs.core.get.call(null,b,new cljs.core.Keyword(null,"display","display",242065432));var c=cljs.core.get.call(null,b,new cljs.core.Keyword(null,"tabbed-flights","tabbed-flights",432685200));b=cljs.core.get.call(null,b,new cljs.core.Keyword(null,"checked-flights","checked-flights",1669126695));
return new cljs.core.PersistentArrayMap(null,3,[new cljs.core.Keyword(null,"display","display",242065432),cljs.core.deref.call(null,a),new cljs.core.Keyword(null,"tabbed-flights","tabbed-flights",432685200),cljs.core.set.call(null,cljs.core.keys.call(null,cljs.core.deref.call(null,c))),new cljs.core.Keyword(null,"checked-flights","checked-flights",1669126695),cljs.core.set.call(null,cljs.core.map.call(null,new cljs.core.Keyword(null,"id","id",-1388402092),cljs.core.deref.call(null,b)))],null)};
weathergen.ui.layers.flights.load_briefing_data=function(a,b){var c=null!=a&&(a.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===a.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,a):a,d=cljs.core.get.call(null,c,new cljs.core.Keyword(null,"display","display",242065432)),e=cljs.core.get.call(null,c,new cljs.core.Keyword(null,"tabbed-flights","tabbed-flights",432685200)),f=cljs.core.get.call(null,c,new cljs.core.Keyword(null,"checked-flights","checked-flights",1669126695)),
g=cljs.core.get.call(null,c,new cljs.core.Keyword(null,"mission","mission",1740288522));return javelin.core.dosync_STAR_.call(null,function(a,c,d,e,f,g){return function(){console.log("Using data",cljs.core.pr_str.call(null,cljs.core.select_keys.call(null,b,new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"display","display",242065432),new cljs.core.Keyword(null,"tabbed-flights","tabbed-flights",432685200),new cljs.core.Keyword(null,"checked-flights",
"checked-flights",1669126695)],null))));cljs.core.reset_BANG_.call(null,d,(new cljs.core.Keyword(null,"display","display",242065432)).cljs$core$IFn$_invoke$arity$1(b));cljs.core.reset_BANG_.call(null,e,function(){var h=cljs.core.filter.call(null,function(a,c,d,e,f,g){return function(a){return cljs.core.contains_QMARK_.call(null,(new cljs.core.Keyword(null,"tabbed-flights","tabbed-flights",432685200)).cljs$core$IFn$_invoke$arity$1(b),(new cljs.core.Keyword(null,"id","id",-1388402092)).cljs$core$IFn$_invoke$arity$1(a))}}(a,
c,d,e,f,g),(new cljs.core.Keyword("weathergen.falcon.files.mission","flights","weathergen.falcon.files.mission/flights",-1943609790)).cljs$core$IFn$_invoke$arity$1(cljs.core.deref.call(null,g)));return cljs.core.zipmap.call(null,cljs.core.map.call(null,new cljs.core.Keyword(null,"id","id",-1388402092),h),h)}());return cljs.core.reset_BANG_.call(null,f,cljs.core.set.call(null,cljs.core.filter.call(null,function(a,c,d,e,f,g){return function(a){return cljs.core.contains_QMARK_.call(null,(new cljs.core.Keyword(null,
"checked-flights","checked-flights",1669126695)).cljs$core$IFn$_invoke$arity$1(b),(new cljs.core.Keyword(null,"id","id",-1388402092)).cljs$core$IFn$_invoke$arity$1(a))}}(a,c,d,e,f,g),(new cljs.core.Keyword("weathergen.falcon.files.mission","flights","weathergen.falcon.files.mission/flights",-1943609790)).cljs$core$IFn$_invoke$arity$1(cljs.core.deref.call(null,g)))))}}(a,c,d,e,f,g))};var org={craigandera:{}};org.craigandera.weathergen={};org.craigandera.weathergen.pattern_space={};weathergen.model={};weathergen.model.mmhg__GT_inhg=function(a){return(a-950)/110*3.25+28.05};weathergen.model.inhg__GT_mmhg=function(a){return(a-28.05)/3.25*110+950};weathergen.model.types=new cljs.core.PersistentVector(null,4,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"inclement","inclement",-550669382),new cljs.core.Keyword(null,"poor","poor",1462482211),new cljs.core.Keyword(null,"fair","fair",1684139423),new cljs.core.Keyword(null,"sunny","sunny",1448267778)],null);
weathergen.model.mix=function(a,b,c){var d=cljs.core.get_in.call(null,c,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"inclement","inclement",-550669382),new cljs.core.Keyword(null,"weight","weight",-1262796205)],null)),e=cljs.core.get_in.call(null,c,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"poor","poor",1462482211),new cljs.core.Keyword(null,"weight","weight",-1262796205)],
null)),f=cljs.core.get_in.call(null,c,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"fair","fair",1684139423),new cljs.core.Keyword(null,"weight","weight",-1262796205)],null));c=cljs.core.get_in.call(null,c,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"sunny","sunny",1448267778),new cljs.core.Keyword(null,"weight","weight",-1262796205)],null));var g=d+e+f+c,h=d/g,k=(d+e)/g,l=(d+
e+f)/g;b=new cljs.core.PersistentVector(null,8,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[0,new cljs.core.PersistentVector(null,4,5,cljs.core.PersistentVector.EMPTY_NODE,[1,0,0,0],null)],null),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[(1-b)*h,new cljs.core.PersistentVector(null,4,5,cljs.core.PersistentVector.EMPTY_NODE,[1,0,0,0],null)],null),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,
[weathergen.math.interpolate.call(null,h,k,b),new cljs.core.PersistentVector(null,4,5,cljs.core.PersistentVector.EMPTY_NODE,[0,1,0,0],null)],null),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[weathergen.math.interpolate.call(null,k,h,b),new cljs.core.PersistentVector(null,4,5,cljs.core.PersistentVector.EMPTY_NODE,[0,1,0,0],null)],null),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[weathergen.math.interpolate.call(null,k,l,b),new cljs.core.PersistentVector(null,
4,5,cljs.core.PersistentVector.EMPTY_NODE,[0,0,1,0],null)],null),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[weathergen.math.interpolate.call(null,l,k,b),new cljs.core.PersistentVector(null,4,5,cljs.core.PersistentVector.EMPTY_NODE,[0,0,1,0],null)],null),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[1-b,new cljs.core.PersistentVector(null,4,5,cljs.core.PersistentVector.EMPTY_NODE,[0,0,0,1],null)],null),new cljs.core.PersistentVector(null,
2,5,cljs.core.PersistentVector.EMPTY_NODE,[1,new cljs.core.PersistentVector(null,4,5,cljs.core.PersistentVector.EMPTY_NODE,[0,0,0,1],null)],null)],null);f=cljs.core.first.call(null,cljs.core.filter.call(null,function(b,c,d,e,f,g,h,k,l){return function(b){var c=cljs.core.nth.call(null,b,0,null);c=cljs.core.nth.call(null,c,0,null);b=cljs.core.nth.call(null,b,1,null);b=cljs.core.nth.call(null,b,0,null);return c<=a&&a<=b}}(d,e,f,c,g,h,k,l,b),cljs.core.partition.call(null,2,1,b)));e=cljs.core.nth.call(null,
f,0,null);d=cljs.core.nth.call(null,e,0,null);e=cljs.core.nth.call(null,e,1,null);b=cljs.core.nth.call(null,f,1,null);f=cljs.core.nth.call(null,b,0,null);b=cljs.core.nth.call(null,b,1,null);return cljs.core.zipmap.call(null,weathergen.model.types,weathergen.math.vector_interpolate.call(null,e,b,a,d,f))};
weathergen.model.mix_on=function(a,b,c){return cljs.core.reduce.call(null,cljs.core._PLUS_,cljs.core.mapv.call(null,function(b){var d=cljs.core.nth.call(null,b,0,null);b=cljs.core.nth.call(null,b,1,null);return cljs.core.get_in.call(null,cljs.core.get.call(null,a,d),c)*b},b))};
weathergen.model.smoothed_noise_field=function(a,b,c,d,e){d=cljs.core.long$.call(null,Math.floor(c+d));return weathergen.math.clamp.call(null,0,1,Math.pow(weathergen.math.interpolate.call(null,weathergen.math.fractal_field.call(null,a,b,e,d-.01,1),weathergen.math.fractal_field.call(null,a,b,e,d+1.01,1),cljs.core.mod.call(null,weathergen.math.frac.call(null,c),1)),1.25)+.1)};
weathergen.model.perturb=function(a){var b=null!=a&&(a.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===a.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,a):a;a=cljs.core.get.call(null,b,new cljs.core.Keyword("org.craigandera.weathergen.pattern-space","x","org.craigandera.weathergen.pattern-space/x",441833243));var c=cljs.core.get.call(null,b,new cljs.core.Keyword("org.craigandera.weathergen.pattern-space","y","org.craigandera.weathergen.pattern-space/y",-176904590)),
d=cljs.core.get.call(null,b,new cljs.core.Keyword("org.craigandera.weathergen.pattern-space","t","org.craigandera.weathergen.pattern-space/t",1253598919)),e=cljs.core.get.call(null,b,new cljs.core.Keyword(null,"seed","seed",68613327)),f=cljs.core.get.call(null,b,new cljs.core.Keyword(null,"turbulence","turbulence",-915506410));b=(new cljs.core.Keyword(null,"power","power",-937852079)).cljs$core$IFn$_invoke$arity$1(f);var g=(new cljs.core.Keyword(null,"size","size",1098693007)).cljs$core$IFn$_invoke$arity$1(f);
f=a/g;var h=c/g;g=weathergen.model.smoothed_noise_field.call(null,f,h,d,e,32);d=weathergen.model.smoothed_noise_field.call(null,f,h,d+16,e,32);return new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[b*g+a,b*d+c],null)};weathergen.model.pressure_pattern=function(a,b,c){var d=cljs.core.nth.call(null,a,0,null);a=cljs.core.nth.call(null,a,1,null);return(Math.sin(d)*Math.sin(a)+Math.sin(d/b)*Math.sin(a/c)+2)/4};
weathergen.model.wind_direction=function(a,b,c){var d=cljs.core.nth.call(null,a,0,null);a=cljs.core.nth.call(null,a,1,null);c=cljs.core.get_in.call(null,c,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"prevailing-wind","prevailing-wind",-190580386),new cljs.core.Keyword(null,"heading","heading",-1312171873)],null));d=weathergen.math.rotate.call(null,90,weathergen.math.normalize.call(null,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,
[Math.cos(d)*Math.sin(a)+1/3*Math.cos(d/3)*Math.sin(a/3),Math.sin(d)*Math.cos(a)+1/3*Math.sin(d/3)*Math.cos(a/3)],null)));c=weathergen.math.rotate.call(null,c,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[0,1],null));return weathergen.math.normalize.call(null,weathergen.math.vector_interpolate.call(null,c,d,Math.abs(b-.5),0,.5))};
weathergen.model.wind_speed=function(a,b,c){var d=weathergen.model.mix_on.call(null,a,b,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"wind","wind",-527553074),new cljs.core.Keyword(null,"mean","mean",-1359234715)],null)),e=weathergen.model.mix_on.call(null,a,b,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"wind","wind",-527553074),new cljs.core.Keyword(null,"min","min",444991522)],
null));a=weathergen.model.mix_on.call(null,a,b,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"wind","wind",-527553074),new cljs.core.Keyword(null,"max","max",61366548)],null));return weathergen.math.distribute.call(null,c,e,d,a,1)};
weathergen.model.in_area_QMARK_=function(a,b,c){var d=null!=a&&(a.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===a.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,a):a;a=cljs.core.get.call(null,d,new cljs.core.Keyword(null,"x","x",2099068185));var e=cljs.core.get.call(null,d,new cljs.core.Keyword(null,"y","y",-1757859776)),f=cljs.core.get.call(null,d,new cljs.core.Keyword(null,"width","width",-384071477));d=cljs.core.get.call(null,d,new cljs.core.Keyword(null,
"height","height",1025178622));return cljs.core.truth_(a)?cljs.core.truth_(e)?cljs.core.truth_(f)?cljs.core.truth_(d)?a<=b&&b<a+f&&e<=c&&c<e+d:d:f:e:a};
weathergen.model.time_weight=function(a,b){a=null!=a&&(a.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===a.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,a):a;var c=cljs.core.get.call(null,a,new cljs.core.Keyword(null,"begin","begin",-319034319)),d=cljs.core.get.call(null,a,new cljs.core.Keyword(null,"peak","peak",389096055)),e=cljs.core.get.call(null,a,new cljs.core.Keyword(null,"taper","taper",1772067478)),f=cljs.core.get.call(null,a,new cljs.core.Keyword(null,
"end","end",-268185958));a=cljs.core.get.call(null,a,new cljs.core.Keyword(null,"animate?","animate?",-1559039739));c=weathergen.time.campaign_time__GT_minutes.call(null,c);d=weathergen.time.campaign_time__GT_minutes.call(null,d);e=weathergen.time.campaign_time__GT_minutes.call(null,e);f=weathergen.time.campaign_time__GT_minutes.call(null,f);b=weathergen.time.campaign_time__GT_minutes.call(null,b);return cljs.core.not.call(null,a)?1:f<b?0:e<b?1-(b-e)/(f-e):d<b?1:c<b?(b-c)/(d-c):0};
weathergen.model.override_weight=function(a,b){a=null!=a&&(a.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===a.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,a):a;var c=cljs.core.get.call(null,a,new cljs.core.Keyword(null,"x","x",2099068185)),d=cljs.core.get.call(null,a,new cljs.core.Keyword(null,"y","y",-1757859776));cljs.core.get.call(null,a,new cljs.core.Keyword(null,"t","t",-1397832519));cljs.core.get.call(null,a,new cljs.core.Keyword(null,"weather-overrides",
"weather-overrides",-837381710));var e=cljs.core.get.call(null,a,new cljs.core.Keyword(null,"time","time",1385887882)),f=null!=b&&(b.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===b.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,b):b,g=cljs.core.get.call(null,f,new cljs.core.Keyword(null,"location","location",1815599388)),h=cljs.core.get.call(null,f,new cljs.core.Keyword(null,"radius","radius",-2073122258)),k=cljs.core.get.call(null,f,new cljs.core.Keyword(null,
"falloff","falloff",-1639069456));a=cljs.core.get.call(null,f,new cljs.core.Keyword(null,"strength","strength",-415606478));cljs.core.get.call(null,f,new cljs.core.Keyword(null,"animate?","animate?",-1559039739));f=(new cljs.core.Keyword(null,"x","x",2099068185)).cljs$core$IFn$_invoke$arity$1(g);g=(new cljs.core.Keyword(null,"y","y",-1757859776)).cljs$core$IFn$_invoke$arity$1(g);c=f-c;d=g-d;d=c*c+d*d;h=d<k*k?1:d<h*h?1-(Math.sqrt(d)-k)/(h-k):0;b=weathergen.model.time_weight.call(null,b,(new cljs.core.Keyword(null,
"current","current",-1088038603)).cljs$core$IFn$_invoke$arity$1(e));return h*b*a};weathergen.model.wind_alts=new cljs.core.PersistentVector(null,10,5,cljs.core.PersistentVector.EMPTY_NODE,[0,3E3,6E3,9E3,12E3,18E3,24E3,3E4,4E4,5E4],null);
weathergen.model.wind=function(a,b,c){var d=null!=a&&(a.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===a.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,a):a,e=cljs.core.get.call(null,d,new cljs.core.Keyword(null,"x","x",2099068185)),f=cljs.core.get.call(null,d,new cljs.core.Keyword(null,"y","y",-1757859776)),g=cljs.core.get.call(null,d,new cljs.core.Keyword(null,"winds-aloft","winds-aloft",83956399)),h=cljs.core.get.call(null,d,new cljs.core.Keyword(null,"prevailing-wind",
"prevailing-wind",-190580386)),k=cljs.core.get.call(null,d,new cljs.core.Keyword(null,"weather-overrides","weather-overrides",-837381710)),l=cljs.core.reduce.call(null,function(a,d,e,f,g,h,k,l){return function(a,d){return cljs.core.assoc.call(null,a,d,new cljs.core.PersistentArrayMap(null,2,[new cljs.core.Keyword(null,"speed","speed",1257663751),(new cljs.core.Keyword(null,"speed","speed",1257663751)).cljs$core$IFn$_invoke$arity$1(c)+weathergen.math.interpolate.call(null,cljs.core.get_in.call(null,
h,new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,[d,new cljs.core.Keyword(null,"speed","speed",1257663751),new cljs.core.Keyword(null,"from","from",1815293044)],null)),cljs.core.get_in.call(null,h,new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,[d,new cljs.core.Keyword(null,"speed","speed",1257663751),new cljs.core.Keyword(null,"to","to",192099007)],null)),b),new cljs.core.Keyword(null,"heading","heading",-1312171873),cljs.core.mod.call(null,
weathergen.math.interpolate.call(null,(new cljs.core.Keyword(null,"heading","heading",-1312171873)).cljs$core$IFn$_invoke$arity$1(c),(new cljs.core.Keyword(null,"heading","heading",-1312171873)).cljs$core$IFn$_invoke$arity$1(k),cljs.core.get_in.call(null,h,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[d,new cljs.core.Keyword(null,"bias","bias",-315297926)],null))),360)],null))}}(a,d,d,e,f,g,h,k),new cljs.core.PersistentArrayMap(null,1,[0,c],null),cljs.core.drop.call(null,
1,weathergen.model.wind_alts));return cljs.core.reduce.call(null,function(a,b,c,d,e,f,g,h,k){return function(l,m){var n=(new cljs.core.Keyword(null,"wind-alts","wind-alts",1257047776)).cljs$core$IFn$_invoke$arity$1(m),p=cljs.core.get.call(null,m,new cljs.core.Keyword(null,"wind-dir","wind-dir",-432221184)),q=cljs.core.get.call(null,m,new cljs.core.Keyword(null,"wind-speed","wind-speed",-815617496));m=weathergen.model.override_weight.call(null,d,m);return cljs.core.reduce.call(null,function(a,b,c,
d,e,f,g,h,k,l,m,n,p){return function(q,r){var u=null!=b?cljs.core.update_in.call(null,q,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[r,new cljs.core.Keyword(null,"heading","heading",-1312171873)],null),function(a,b,c,d,e,f,g,h,k,l,m,n,p,q){return function(a){return weathergen.math.nearest.call(null,cljs.core.mod.call(null,a*(1-e)+e*c,360),1)}}(q,a,b,c,d,e,f,g,h,k,l,m,n,p)):q;return null!=c?cljs.core.update_in.call(null,u,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,
[r,new cljs.core.Keyword(null,"speed","speed",1257663751)],null),function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r){return function(a){return a*(1-f)+f*e}}(q,u,a,b,c,d,e,f,g,h,k,l,m,n,p)):u}}(n,p,q,m,a,b,c,d,e,f,g,h,k),l,n)}}(l,a,d,d,e,f,g,h,k),l,k)};
weathergen.model.override_pressure=function(a,b){var c=cljs.core.get_in.call(null,a,new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"categories","categories",178386610),new cljs.core.Keyword(null,"inclement","inclement",-550669382),new cljs.core.Keyword(null,"weight","weight",-1262796205)],null)),d=cljs.core.get_in.call(null,a,new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"categories",
"categories",178386610),new cljs.core.Keyword(null,"poor","poor",1462482211),new cljs.core.Keyword(null,"weight","weight",-1262796205)],null)),e=cljs.core.get_in.call(null,a,new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"categories","categories",178386610),new cljs.core.Keyword(null,"fair","fair",1684139423),new cljs.core.Keyword(null,"weight","weight",-1262796205)],null));a=cljs.core.get_in.call(null,a,new cljs.core.PersistentVector(null,
3,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"categories","categories",178386610),new cljs.core.Keyword(null,"sunny","sunny",1448267778),new cljs.core.Keyword(null,"weight","weight",-1262796205)],null));a=c+d+e+a;b=(new cljs.core.Keyword(null,"type","type",1174270348)).cljs$core$IFn$_invoke$arity$1(b);b=b instanceof cljs.core.Keyword?b.fqn:null;switch(b){case "sunny":return 1;case "inclement":return 0;case "poor":return(d/2+c)/a;case "fair":return(e/2+c+d)/a;default:throw Error(["No matching clause: ",
cljs.core.str.cljs$core$IFn$_invoke$arity$1(b)].join(""));}};
weathergen.model.override=function(a,b){var c=null!=a&&(a.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===a.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,a):a,d=cljs.core.get.call(null,c,new cljs.core.Keyword(null,"x","x",2099068185)),e=cljs.core.get.call(null,c,new cljs.core.Keyword(null,"y","y",-1757859776)),f=cljs.core.get.call(null,c,new cljs.core.Keyword(null,"t","t",-1397832519)),g=cljs.core.get.call(null,c,new cljs.core.Keyword(null,"weather-overrides",
"weather-overrides",-837381710)),h=cljs.core.get.call(null,c,new cljs.core.Keyword(null,"time","time",1385887882));return weathergen.math.clamp.call(null,0,1,cljs.core.reduce.call(null,function(b,c,d,e,f,g,h){return function(b,c){var f=null!=c&&(c.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===c.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,c):c,g=cljs.core.get.call(null,f,new cljs.core.Keyword(null,"location","location",1815599388)),k=cljs.core.get.call(null,
f,new cljs.core.Keyword(null,"radius","radius",-2073122258)),l=cljs.core.get.call(null,f,new cljs.core.Keyword(null,"falloff","falloff",-1639069456)),m=cljs.core.get.call(null,f,new cljs.core.Keyword(null,"strength","strength",-415606478));cljs.core.get.call(null,f,new cljs.core.Keyword(null,"animate?","animate?",-1559039739));f=(new cljs.core.Keyword(null,"x","x",2099068185)).cljs$core$IFn$_invoke$arity$1(g);g=(new cljs.core.Keyword(null,"y","y",-1757859776)).cljs$core$IFn$_invoke$arity$1(g);f-=
d;g-=e;g=f*f+g*g;k=g<l*l?1:g<k*k?1-(Math.sqrt(g)-l)/(k-l):0;l=weathergen.model.time_weight.call(null,c,(new cljs.core.Keyword(null,"current","current",-1088038603)).cljs$core$IFn$_invoke$arity$1(h));m*=k*l;return weathergen.model.override_pressure.call(null,a,c)*m+b*(1-m)}}(a,c,d,e,f,g,h),b,cljs.core.filter.call(null,new cljs.core.Keyword(null,"type","type",1174270348),g)))};
weathergen.model.override_param=function(a,b,c,d,e){b=cljs.core.get.call(null,e,b);if(null==b)return d;a=weathergen.model.override_weight.call(null,a,e);return c.call(null,b)*a+d*(1-a)};
weathergen.model.temperature=function(a,b,c){var d=null!=a&&(a.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===a.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,a):a,e=cljs.core.get.call(null,d,new cljs.core.Keyword(null,"categories","categories",178386610)),f=cljs.core.get.call(null,d,new cljs.core.Keyword(null,"weather-overrides","weather-overrides",-837381710)),g=weathergen.model.mix_on.call(null,e,b,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,
[new cljs.core.Keyword(null,"temp","temp",1791541284),new cljs.core.Keyword(null,"mean","mean",-1359234715)],null)),h=weathergen.model.mix_on.call(null,e,b,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"temp","temp",1791541284),new cljs.core.Keyword(null,"min","min",444991522)],null));b=weathergen.model.mix_on.call(null,e,b,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"temp","temp",
1791541284),new cljs.core.Keyword(null,"max","max",61366548)],null));c=weathergen.math.distribute.call(null,c,h,g,b,1);return cljs.core.reduce.call(null,function(a,b,c,d,e,f,g,h,t){return function(a,b){return weathergen.model.override_param.call(null,g,new cljs.core.Keyword(null,"temperature","temperature",899018429),cljs.core.identity,a,b)}}(g,h,b,c,a,d,d,e,f),c,f)};
weathergen.model.cloud_coverages=new cljs.core.PersistentVector(null,5,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"none","none",1333468478),new cljs.core.Keyword(null,"few","few",941665998),new cljs.core.Keyword(null,"scattered","scattered",-1263632526),new cljs.core.Keyword(null,"broken","broken",-1742446874),new cljs.core.Keyword(null,"overcast","overcast",-2096313755)],null);
var coverage_vals_36839=cljs.core.zipmap.call(null,weathergen.model.cloud_coverages,new cljs.core.PersistentVector(null,5,5,cljs.core.PersistentVector.EMPTY_NODE,[0,.25,.5,.75,1],null)),inverse_36840=cljs.core.zipmap.call(null,cljs.core.vals.call(null,coverage_vals_36839),cljs.core.keys.call(null,coverage_vals_36839));
weathergen.model.cloud_coverage=function(a,b){return function(c,d){var e=null!=c&&(c.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===c.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,c):c,f=cljs.core.get.call(null,e,new cljs.core.Keyword(null,"type","type",1174270348)),g=cljs.core.get.call(null,e,new cljs.core.Keyword(null,"categories","categories",178386610)),h=cljs.core.get.call(null,e,new cljs.core.Keyword(null,"weather-overrides","weather-overrides",-837381710));
if(cljs.core._EQ_.call(null,f,new cljs.core.Keyword(null,"sunny","sunny",1448267778)))return new cljs.core.Keyword(null,"none","none",1333468478);var k=cljs.core.get_in.call(null,g,new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,[f,new cljs.core.Keyword(null,"low-clouds","low-clouds",-702988471),new cljs.core.Keyword(null,"coverage","coverage",1606292651)],null)),l=null!=k&&(k.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===k.cljs$core$ISeq$)?cljs.core.apply.call(null,
cljs.core.hash_map,k):k,m=cljs.core.get.call(null,l,new cljs.core.Keyword(null,"from","from",1815293044)),n=cljs.core.get.call(null,l,new cljs.core.Keyword(null,"to","to",192099007)),p=a.call(null,m)-.12,q=a.call(null,n)+.12;d=weathergen.math.interpolate.call(null,p,q,d);c=weathergen.math.clamp.call(null,function(){var a=f instanceof cljs.core.Keyword?f.fqn:null;switch(a){case "sunny":return 0;case "fair":return.25;case "poor":return.5;case "inclement":return.5;default:throw Error(["No matching clause: ",
cljs.core.str.cljs$core$IFn$_invoke$arity$1(a)].join(""));}}(),function(){var a=f instanceof cljs.core.Keyword?f.fqn:null;switch(a){case "sunny":return 0;case "fair":return.75;case "poor":return 1;case "inclement":return 1;default:throw Error(["No matching clause: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(a)].join(""));}}(),cljs.core.reduce.call(null,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,G){return function(a,b){return weathergen.model.override_param.call(null,l,new cljs.core.Keyword(null,"cloud-cover",
"cloud-cover",1830614752),q,a,b)}}(k,l,m,n,p,q,d,c,e,e,f,g,h,a,b),d,h));e=b.call(null,weathergen.math.nearest.call(null,c,.25));cljs.core.truth_(e)||console.debug("coverage error",c,e);return e}}(coverage_vals_36839,inverse_36840);
weathergen.model.cloud_towering_QMARK_=function(a,b){var c=null!=a&&(a.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===a.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,a):a,d=cljs.core.get.call(null,c,new cljs.core.Keyword(null,"type","type",1174270348)),e=cljs.core.get.call(null,c,new cljs.core.Keyword(null,"categories","categories",178386610)),f=cljs.core.get.call(null,c,new cljs.core.Keyword(null,"weather-overrides","weather-overrides",-837381710));if(cljs.core._EQ_.call(null,
d,new cljs.core.Keyword(null,"sunny","sunny",1448267778)))return!1;var g=cljs.core.get_in.call(null,e,new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,[d,new cljs.core.Keyword(null,"low-clouds","low-clouds",-702988471),new cljs.core.Keyword(null,"towering","towering",-44547353)],null));return cljs.core.reduce.call(null,function(a,b,c,d,e,f,g){return function(h,k){return weathergen.model.override_param.call(null,d,new cljs.core.Keyword(null,"towering?","towering?",2005070836),
function(a,b,c,d,e,f,g){return function(b){return cljs.core.truth_(b)?a/2:(1+a)/2}}(a,b,c,d,e,f,g),h,k)}}(g,a,c,c,d,e,f),b,f)<g};
weathergen.model.linear_param=function(a,b){var c=null!=a&&(a.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===a.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,a):a;a=cljs.core.get.call(null,c,new cljs.core.Keyword(null,"from","from",1815293044));c=cljs.core.get.call(null,c,new cljs.core.Keyword(null,"to","to",192099007));return weathergen.math.interpolate.call(null,a,c,b)};
weathergen.model.cloud_param=function(a,b,c){var d=null!=a&&(a.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===a.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,a):a;a=cljs.core.get.call(null,d,new cljs.core.Keyword(null,"type","type",1174270348));d=cljs.core.get.call(null,d,new cljs.core.Keyword(null,"categories","categories",178386610));return cljs.core._EQ_.call(null,a,new cljs.core.Keyword(null,"sunny","sunny",1448267778))?0:weathergen.model.linear_param.call(null,
cljs.core.get_in.call(null,d,new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,[a,new cljs.core.Keyword(null,"low-clouds","low-clouds",-702988471),b],null)),c)};
weathergen.model.cloud_size=function(a,b){var c=null!=a&&(a.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===a.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,a):a,d=cljs.core.get.call(null,c,new cljs.core.Keyword(null,"weather-overrides","weather-overrides",-837381710)),e=cljs.core.get.call(null,c,new cljs.core.Keyword(null,"type","type",1174270348));return cljs.core._EQ_.call(null,e,new cljs.core.Keyword(null,"sunny","sunny",1448267778))?0:cljs.core.reduce.call(null,
function(a,b,c,d,e){return function(a,b){return weathergen.model.override_param.call(null,c,new cljs.core.Keyword(null,"cloud-size","cloud-size",-1568256381),cljs.core.identity,a,b)}}(a,c,c,d,e),weathergen.model.cloud_param.call(null,c,new cljs.core.Keyword(null,"size","size",1098693007),b),d)};
weathergen.model.cloud_base=function(a,b){var c=null!=a&&(a.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===a.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,a):a,d=cljs.core.get.call(null,c,new cljs.core.Keyword(null,"weather-overrides","weather-overrides",-837381710)),e=cljs.core.get.call(null,c,new cljs.core.Keyword(null,"type","type",1174270348));return cljs.core._EQ_.call(null,e,new cljs.core.Keyword(null,"sunny","sunny",1448267778))?0:weathergen.math.nearest.call(null,
cljs.core.reduce.call(null,function(a,b,c,d,e){return function(a,b){return weathergen.model.override_param.call(null,c,new cljs.core.Keyword(null,"cloud-base","cloud-base",826793857),cljs.core.identity,a,b)}}(a,c,c,d,e),weathergen.model.cloud_param.call(null,c,new cljs.core.Keyword(null,"base","base",185279322),b),d),100)};
weathergen.model.visibility=function(a,b){var c=null!=a&&(a.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===a.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,a):a,d=cljs.core.get.call(null,c,new cljs.core.Keyword(null,"type","type",1174270348)),e=cljs.core.get.call(null,c,new cljs.core.Keyword(null,"categories","categories",178386610)),f=cljs.core.get.call(null,c,new cljs.core.Keyword("weathergen.model","mixture","weathergen.model/mixture",-456301147)),g=cljs.core.get.call(null,
c,new cljs.core.Keyword(null,"weather-overrides","weather-overrides",-837381710));return cljs.core.reduce.call(null,function(a,b,c,d,e,f,g){return function(a,b){return weathergen.model.override_param.call(null,c,new cljs.core.Keyword(null,"visibility","visibility",1338380893),cljs.core.identity,a,b)}}(a,c,c,d,e,f,g),weathergen.model.linear_param.call(null,new cljs.core.PersistentArrayMap(null,2,[new cljs.core.Keyword(null,"from","from",1815293044),weathergen.model.mix_on.call(null,e,f,new cljs.core.PersistentVector(null,
2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"visibility","visibility",1338380893),new cljs.core.Keyword(null,"from","from",1815293044)],null)),new cljs.core.Keyword(null,"to","to",192099007),weathergen.model.mix_on.call(null,e,f,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"visibility","visibility",1338380893),new cljs.core.Keyword(null,"to","to",192099007)],null))],null),b),g)};
weathergen.model.weather=function(a){var b=null!=a&&(a.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===a.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,a):a,c=cljs.core.get.call(null,b,new cljs.core.Keyword(null,"wind-uniformity","wind-uniformity",827531801)),d=cljs.core.get.call(null,b,new cljs.core.Keyword(null,"x","x",2099068185)),e=cljs.core.get.call(null,b,new cljs.core.Keyword(null,"crossfade","crossfade",-118506406));cljs.core.get.call(null,b,new cljs.core.Keyword(null,
"prevailing-wind","prevailing-wind",-190580386));var f=cljs.core.get.call(null,b,new cljs.core.Keyword(null,"y","y",-1757859776));cljs.core.get.call(null,b,new cljs.core.Keyword(null,"temp-uniformity","temp-uniformity",836756864));var g=cljs.core.get.call(null,b,new cljs.core.Keyword(null,"pressure","pressure",505343747)),h=cljs.core.get.call(null,b,new cljs.core.Keyword(null,"time","time",1385887882)),k=cljs.core.get.call(null,b,new cljs.core.Keyword(null,"evolution","evolution",944820557)),l=cljs.core.get.call(null,
b,new cljs.core.Keyword(null,"seed","seed",68613327)),m=cljs.core.get.call(null,b,new cljs.core.Keyword(null,"feature-size","feature-size",-878734864));a=cljs.core.get.call(null,b,new cljs.core.Keyword(null,"categories","categories",178386610));var n=cljs.core.get.call(null,b,new cljs.core.Keyword(null,"origin","origin",1037372088)),p=cljs.core.nth.call(null,n,0,null);n=cljs.core.nth.call(null,n,1,null);d=(p+d)/m;p=(n+f)/m;f=null!=h&&(h.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===
h.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,h):h;h=cljs.core.get.call(null,f,new cljs.core.Keyword(null,"offset","offset",296498311));f=cljs.core.get.call(null,f,new cljs.core.Keyword(null,"current","current",-1088038603));var q=h+weathergen.time.campaign_time__GT_minutes.call(null,f);n=q/k/10;var r=(new cljs.core.Keyword(null,"max","max",61366548)).cljs$core$IFn$_invoke$arity$1(g),u=(new cljs.core.Keyword(null,"min","min",444991522)).cljs$core$IFn$_invoke$arity$1(g);k=cljs.core.assoc.call(null,
b,new cljs.core.Keyword("org.craigandera.weathergen.pattern-space","x","org.craigandera.weathergen.pattern-space/x",441833243),d,new cljs.core.Keyword("org.craigandera.weathergen.pattern-space","y","org.craigandera.weathergen.pattern-space/y",-176904590),p,new cljs.core.Keyword("org.craigandera.weathergen.pattern-space","t","org.craigandera.weathergen.pattern-space/t",1253598919),n);h=weathergen.model.perturb.call(null,k);b=weathergen.model.override.call(null,b,weathergen.model.pressure_pattern.call(null,
h,3,3));f=weathergen.model.wind_direction.call(null,h,b,k);q=q/(new cljs.core.Keyword(null,"speed","speed",1257663751)).cljs$core$IFn$_invoke$arity$1(g)/4;g=(new cljs.core.Keyword(null,"variance","variance",1132010827)).cljs$core$IFn$_invoke$arity$1(g);g=weathergen.math.interpolate.call(null,u,r-g,weathergen.math.fractal_field.call(null,q,1234,32,l,1))+g*b;e=weathergen.model.mix.call(null,b,e,a);c=weathergen.math.reject_tails.call(null,c,weathergen.model.smoothed_noise_field.call(null,d*m,p*m,n,l+
17,32));l=weathergen.model.pressure_pattern.call(null,h,3.2,3.2);m=weathergen.model.pressure_pattern.call(null,h,3.3,3.3);d=weathergen.math.reject_tails.call(null,.9,weathergen.model.pressure_pattern.call(null,weathergen.math.vector_add.call(null,h,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[1E3,1E3],null)),2.5,3.5));p=cljs.core.key.call(null,cljs.core.last.call(null,cljs.core.sort_by.call(null,cljs.core.val,e)));n=weathergen.model.pressure_pattern.call(null,h,1.5,
1.5);r=weathergen.model.pressure_pattern.call(null,h,3.4,3.5);u=weathergen.model.pressure_pattern.call(null,h,3.5,3.6);q=weathergen.model.pressure_pattern.call(null,h,3.7,3.8);var t=cljs.core.assoc.call(null,k,new cljs.core.Keyword(null,"type","type",1174270348),p);return cljs.core.PersistentHashMap.fromArrays([new cljs.core.Keyword(null,"towering-var","towering-var",-1328603040),new cljs.core.Keyword(null,"pressure","pressure",505343747),new cljs.core.Keyword(null,"temp-var","temp-var",1728501704),
new cljs.core.Keyword(null,"low-clouds","low-clouds",-702988471),new cljs.core.Keyword(null,"value","value",305978217),new cljs.core.Keyword(null,"coverage-var","coverage-var",1734683883),new cljs.core.Keyword(null,"type","type",1174270348),new cljs.core.Keyword(null,"wind","wind",-527553074),new cljs.core.Keyword(null,"mixture","mixture",-739485872),new cljs.core.Keyword(null,"wind-var","wind-var",-996728908),new cljs.core.Keyword(null,"wind-vec","wind-vec",-1062133259),new cljs.core.Keyword(null,
"p","p",151049309),new cljs.core.Keyword(null,"visibility","visibility",1338380893),new cljs.core.Keyword(null,"temperature","temperature",899018429)],[n,weathergen.math.nearest.call(null,g,.01),m,new cljs.core.PersistentArrayMap(null,4,[new cljs.core.Keyword(null,"coverage","coverage",1606292651),weathergen.model.cloud_coverage.call(null,t,d),new cljs.core.Keyword(null,"towering?","towering?",2005070836),weathergen.model.cloud_towering_QMARK_.call(null,t,n),new cljs.core.Keyword(null,"base","base",
185279322),weathergen.model.cloud_base.call(null,t,r),new cljs.core.Keyword(null,"size","size",1098693007),weathergen.model.cloud_size.call(null,t,u)],null),b,d,p,weathergen.model.wind.call(null,k,l,new cljs.core.PersistentArrayMap(null,2,[new cljs.core.Keyword(null,"heading","heading",-1312171873),weathergen.math.heading.call(null,f),new cljs.core.Keyword(null,"speed","speed",1257663751),weathergen.model.wind_speed.call(null,a,e,c)],null)),e,c,f,h,weathergen.model.visibility.call(null,cljs.core.assoc.call(null,
t,new cljs.core.Keyword("weathergen.model","mixture","weathergen.model/mixture",-456301147),e),q),weathergen.model.temperature.call(null,t,e,m)])};
weathergen.model.weather_grid=function(a){var b=null!=a&&(a.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===a.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,a):a,c=cljs.core.get.call(null,b,new cljs.core.Keyword(null,"map-fn","map-fn",1184112686)),d=cljs.core.get.call(null,b,new cljs.core.Keyword(null,"cells","cells",-985166822)),e=cljs.core.get.call(null,b,new cljs.core.Keyword(null,"origin","origin",1037372088)),f=cljs.core.get.call(null,b,new cljs.core.Keyword(null,
"time","time",1385887882)),g=cljs.core.truth_(c)?c:cljs.core.mapv;return cljs.core.into.call(null,cljs.core.sorted_map.call(null),g.call(null,function(a,b,c,d,e,f,g,r){return function(a){var b=cljs.core.nth.call(null,a,0,null),c=cljs.core.nth.call(null,b,0,null);b=cljs.core.nth.call(null,b,1,null);a=cljs.core.nth.call(null,a,1,null);return new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[c,
b],null),weathergen.model.weather.call(null,a)],null)}}(g,a,b,b,c,d,e,f),function(){return function(a,b,c,d,e,f,g,r){return function v(h){return new cljs.core.LazySeq(null,function(a,b,c,d,e,f,g,k){return function(){for(;;){var a=cljs.core.seq.call(null,h);if(a){if(cljs.core.chunked_seq_QMARK_.call(null,a)){var b=cljs.core.chunk_first.call(null,a),c=cljs.core.count.call(null,b),e=cljs.core.chunk_buffer.call(null,c);a:for(var f=0;;)if(f<c){var g=cljs.core._nth.call(null,b,f),k=cljs.core.nth.call(null,
g,0,null);g=cljs.core.nth.call(null,g,1,null);cljs.core.chunk_append.call(null,e,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[k,g],null),cljs.core.assoc.call(null,d,new cljs.core.Keyword(null,"x","x",2099068185),k,new cljs.core.Keyword(null,"y","y",-1757859776),g)],null));f+=1}else{b=!0;break a}return b?cljs.core.chunk_cons.call(null,cljs.core.chunk.call(null,e),v.call(null,cljs.core.chunk_rest.call(null,
a))):cljs.core.chunk_cons.call(null,cljs.core.chunk.call(null,e),null)}b=cljs.core.first.call(null,a);e=cljs.core.nth.call(null,b,0,null);b=cljs.core.nth.call(null,b,1,null);return cljs.core.cons.call(null,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[e,b],null),cljs.core.assoc.call(null,d,new cljs.core.Keyword(null,"x","x",2099068185),e,new cljs.core.Keyword(null,"y","y",-1757859776),b)],
null),v.call(null,cljs.core.rest.call(null,a)))}return null}}}(a,b,c,d,e,f,g,r),null,null)}}(g,a,b,b,c,d,e,f).call(null,d)}()))};
weathergen.model.step=function(a,b,c){var d=null!=b&&(b.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===b.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,b):b;b=cljs.core.get.call(null,d,new cljs.core.Keyword(null,"step","step",1288888124));d=cljs.core.get.call(null,d,new cljs.core.Keyword(null,"direction","direction",-633359395));var e=null!=d&&(d.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===d.cljs$core$ISeq$)?cljs.core.apply.call(null,
cljs.core.hash_map,d):d;d=cljs.core.get.call(null,e,new cljs.core.Keyword(null,"speed","speed",1257663751));e=cljs.core.get.call(null,e,new cljs.core.Keyword(null,"heading","heading",-1312171873));c*=b;return cljs.core.update.call(null,cljs.core.update_in.call(null,a,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"time","time",1385887882),new cljs.core.Keyword(null,"current","current",-1088038603)],null),weathergen.time.add_minutes,c),new cljs.core.Keyword(null,
"origin","origin",1037372088),weathergen.math.vector_add,weathergen.math.scale.call(null,d/60/9*c,weathergen.math.rotate.call(null,-e,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[0,1],null))))};
weathergen.model.forecast=function(a,b,c,d,e){var f=cljs.core.nth.call(null,a,0,null),g=cljs.core.nth.call(null,a,1,null),h=null!=b&&(b.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===b.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,b):b,k=cljs.core.get.call(null,h,new cljs.core.Keyword(null,"seed","seed",68613327)),l=cljs.core.get.call(null,h,new cljs.core.Keyword(null,"time","time",1385887882)),m=null!=l&&(l.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===
l.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,l):l,n=cljs.core.get.call(null,m,new cljs.core.Keyword(null,"offset","offset",296498311)),p=cljs.core.get.call(null,m,new cljs.core.Keyword(null,"current","current",-1088038603)),q=cljs.core.get.call(null,m,new cljs.core.Keyword(null,"max","max",61366548)),r=null!=c&&(c.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===c.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,c):c,u=cljs.core.get.call(null,r,
new cljs.core.Keyword(null,"direction","direction",-633359395)),t=cljs.core.get.call(null,r,new cljs.core.Keyword(null,"step","step",1288888124)),v=null!=u&&(u.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===u.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,u):u,w=cljs.core.get.call(null,v,new cljs.core.Keyword(null,"heading","heading",-1312171873)),x=cljs.core.get.call(null,v,new cljs.core.Keyword(null,"speed","speed",1257663751)),y=weathergen.time.campaign_time__GT_minutes.call(null,
p),z=cljs.core.truth_(q)?weathergen.time.campaign_time__GT_minutes.call(null,q):null,B=cljs.core.update.call(null,b,new cljs.core.Keyword(null,"weather-overrides","weather-overrides",-837381710),function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w,x,z,y){return function(a){return cljs.core.remove.call(null,new cljs.core.Keyword(null,"exclude-from-forecast?","exclude-from-forecast?",1182671640),a)}}(b,h,k,l,l,m,n,p,q,c,r,u,t,u,v,w,x,y,z,a,f,g));return cljs.core.into.call(null,cljs.core.sorted_map_by.call(null,
function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w,x,z,y,B){return function(a,b){return cljs.core.compare.call(null,weathergen.time.campaign_time__GT_minutes.call(null,a),weathergen.time.campaign_time__GT_minutes.call(null,b))}}(b,h,k,l,l,m,n,p,q,c,r,u,t,u,v,w,x,y,z,B,a,f,g)),function(){var C=function(a,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w,x,z,y,B,C){return function Z(A){return new cljs.core.LazySeq(null,function(a,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w,x,z,y,B,C){return function(){for(;;){var a=cljs.core.seq.call(null,
A);if(a){if(cljs.core.chunked_seq_QMARK_.call(null,a)){var c=cljs.core.chunk_first.call(null,a),d=cljs.core.count.call(null,c),e=cljs.core.chunk_buffer.call(null,d);return function(){for(var a=0;;)if(a<d){var f=cljs.core._nth.call(null,c,a),g=f-w,k=weathergen.math.scale.call(null,v/60/9*g,weathergen.math.rotate.call(null,-t,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[0,1],null)));cljs.core.nth.call(null,k,0,null);cljs.core.nth.call(null,k,1,null);cljs.core.chunk_append.call(null,
e,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[weathergen.time.minutes__GT_campaign_time.call(null,f),weathergen.model.weather.call(null,cljs.core.update.call(null,cljs.core.assoc_in.call(null,cljs.core.assoc_in.call(null,cljs.core.assoc.call(null,cljs.core.truth_(function(){var a=cljs.core._EQ_.call(null,f,w);return a?a:cljs.core.truth_(x)?f<=x:x}())?b:z,new cljs.core.Keyword(null,"x","x",2099068185),B,new cljs.core.Keyword(null,"y","y",-1757859776),C),new cljs.core.PersistentVector(null,
2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"time","time",1385887882),new cljs.core.Keyword(null,"current","current",-1088038603)],null),weathergen.time.minutes__GT_campaign_time.call(null,f)),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"time","time",1385887882),new cljs.core.Keyword(null,"offset","offset",296498311)],null),h-g),new cljs.core.Keyword(null,"origin","origin",1037372088),weathergen.math.vector_add,
k))],null));a+=1}else return!0}()?cljs.core.chunk_cons.call(null,cljs.core.chunk.call(null,e),Z.call(null,cljs.core.chunk_rest.call(null,a))):cljs.core.chunk_cons.call(null,cljs.core.chunk.call(null,e),null)}var f=cljs.core.first.call(null,a),g=f-w,k=weathergen.math.scale.call(null,v/60/9*g,weathergen.math.rotate.call(null,-t,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[0,1],null)));cljs.core.nth.call(null,k,0,null);cljs.core.nth.call(null,k,1,null);return cljs.core.cons.call(null,
new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[weathergen.time.minutes__GT_campaign_time.call(null,f),weathergen.model.weather.call(null,cljs.core.update.call(null,cljs.core.assoc_in.call(null,cljs.core.assoc_in.call(null,cljs.core.assoc.call(null,cljs.core.truth_(function(){var a=cljs.core._EQ_.call(null,f,w);return a?a:cljs.core.truth_(x)?f<=x:x}())?b:z,new cljs.core.Keyword(null,"x","x",2099068185),B,new cljs.core.Keyword(null,"y","y",-1757859776),C),new cljs.core.PersistentVector(null,
2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"time","time",1385887882),new cljs.core.Keyword(null,"current","current",-1088038603)],null),weathergen.time.minutes__GT_campaign_time.call(null,f)),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"time","time",1385887882),new cljs.core.Keyword(null,"offset","offset",296498311)],null),h-g),new cljs.core.Keyword(null,"origin","origin",1037372088),weathergen.math.vector_add,
k))],null),Z.call(null,cljs.core.rest.call(null,a)))}return null}}}(a,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w,x,z,y,B,C),null,null)}}(b,h,k,l,l,m,n,p,q,c,r,u,t,u,v,w,x,y,z,B,a,f,g);return C.call(null,cljs.core.into.call(null,new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[y],null),cljs.core.map.call(null,function(a,b,c,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w,x,z,y,B,C,aa){return function(a){return cljs.core.long$.call(null,((a+1)*d+x)/d)*d}}(C,b,h,k,l,l,m,n,p,q,c,r,u,t,u,v,w,x,y,z,
B,a,f,g),cljs.core.range.call(null,e))))}())};
weathergen.model.jump_to_time=function(a,b,c){b=null!=b&&(b.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===b.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,b):b;cljs.core.get.call(null,b,new cljs.core.Keyword(null,"evolution","evolution",944820557));b=cljs.core.get.call(null,b,new cljs.core.Keyword(null,"direction","direction",-633359395));var d=null!=b&&(b.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===b.cljs$core$ISeq$)?cljs.core.apply.call(null,
cljs.core.hash_map,b):b;b=cljs.core.get.call(null,d,new cljs.core.Keyword(null,"speed","speed",1257663751));d=cljs.core.get.call(null,d,new cljs.core.Keyword(null,"heading","heading",-1312171873));var e=null!=a&&(a.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===a.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,a):a;e=cljs.core.get.call(null,e,new cljs.core.Keyword(null,"time","time",1385887882));e=null!=e&&(e.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===
e.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,e):e;e=cljs.core.get.call(null,e,new cljs.core.Keyword(null,"current","current",-1088038603));e=weathergen.time.campaign_time__GT_minutes.call(null,c)-weathergen.time.campaign_time__GT_minutes.call(null,e);a=cljs.core.assoc_in.call(null,cljs.core.update.call(null,a,new cljs.core.Keyword(null,"origin","origin",1037372088),weathergen.math.vector_add,weathergen.math.scale.call(null,b/60/9*e,weathergen.math.rotate.call(null,-d,new cljs.core.PersistentVector(null,
2,5,cljs.core.PersistentVector.EMPTY_NODE,[0,1],null)))),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"time","time",1385887882),new cljs.core.Keyword(null,"current","current",-1088038603)],null),c);cljs.core.println.call(null,new cljs.core.Keyword(null,"new","new",-2085437848),a);return a};
weathergen.model.set_time=function(a,b){cljs.core.get_in.call(null,a,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"time","time",1385887882),new cljs.core.Keyword(null,"offset","offset",296498311)],null));var c=cljs.core.get_in.call(null,a,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"time","time",1385887882),new cljs.core.Keyword(null,"current","current",-1088038603)],null));c=
weathergen.time.campaign_time__GT_minutes.call(null,c)-weathergen.time.campaign_time__GT_minutes.call(null,b);return cljs.core.assoc_in.call(null,cljs.core.update_in.call(null,a,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"time","time",1385887882),new cljs.core.Keyword(null,"offset","offset",296498311)],null),cljs.core._PLUS_,c),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"time",
"time",1385887882),new cljs.core.Keyword(null,"current","current",-1088038603)],null),b)};
weathergen.model.upgrade_pressure_threshold=function(a){var b=cljs.core.get_in.call(null,a,new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"weather-params","weather-params",-259271365),new cljs.core.Keyword(null,"pressure","pressure",505343747),new cljs.core.Keyword(null,"min","min",444991522)],null)),c=cljs.core.get_in.call(null,a,new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"weather-params",
"weather-params",-259271365),new cljs.core.Keyword(null,"pressure","pressure",505343747),new cljs.core.Keyword(null,"max","max",61366548)],null)),d=c-b,e=function(a,b,c){return function(b){return a+b*c}}(b,c,d),f=cljs.core.reductions.call(null,cljs.core._PLUS_,cljs.core.map.call(null,function(b,c,d,e){return function(b){var c=cljs.core.get_in.call(null,a,new cljs.core.PersistentVector(null,4,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"weather-params","weather-params",-259271365),
new cljs.core.Keyword(null,"categories","categories",178386610),b,new cljs.core.Keyword(null,"weight","weight",-1262796205)],null));return cljs.core._EQ_.call(null,b,new cljs.core.Keyword(null,"sunny","sunny",1448267778))?c*c:c}}(b,c,d,e),weathergen.model.types)),g=cljs.core.last.call(null,f),h=cljs.core.zipmap.call(null,weathergen.model.types,cljs.core.map.call(null,function(a,b,c,d,e,f){return function(b){return b/f*c+a}}(b,c,d,e,f,g),f));return cljs.core.reduce.call(null,function(a,b,c,d,e,f,g){return function(a,
b){return cljs.core.assoc_in.call(null,a,new cljs.core.PersistentVector(null,4,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"weather-params","weather-params",-259271365),new cljs.core.Keyword(null,"categories","categories",178386610),b,new cljs.core.Keyword(null,"pressure","pressure",505343747)],null),g.call(null,b))}}(b,c,d,e,f,g,h),a,weathergen.model.types)};
weathergen.model.upgrade=function(a,b){a=null!=a&&(a.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===a.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,a):a;var c=cljs.core.get.call(null,a,new cljs.core.Keyword(null,"revision","revision",-1350113114));if(8>c)throw cljs.core.ex_info.call(null,"This version of VMT cannot be used to load weather files from prior versions - file format changes in BMS 4.34 resulted in incompatibilities. You will need to ask the mission creator for a new briefing file.",
new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"omit-stack-trace?","omit-stack-trace?",1080142229),!0],null));a=7>c?weathergen.model.upgrade_pressure_threshold.call(null,a):a;return cljs.core.assoc.call(null,a,new cljs.core.Keyword(null,"revision","revision",-1350113114),b)};var vmt={fmap:{}};vmt.fmap.weather_type_code__GT_type=new cljs.core.PersistentArrayMap(null,4,[1,new cljs.core.Keyword(null,"sunny","sunny",1448267778),2,new cljs.core.Keyword(null,"fair","fair",1684139423),3,new cljs.core.Keyword(null,"poor","poor",1462482211),4,new cljs.core.Keyword(null,"inclement","inclement",-550669382)],null);vmt.fmap.weather_type__GT_code=cljs.core.zipmap.call(null,cljs.core.vals.call(null,vmt.fmap.weather_type_code__GT_type),cljs.core.keys.call(null,vmt.fmap.weather_type_code__GT_type));
vmt.fmap.coverage_code__GT_type=new cljs.core.PersistentArrayMap(null,5,[new cljs.core.Keyword(null,"none","none",1333468478),0,new cljs.core.Keyword(null,"few","few",941665998),1,new cljs.core.Keyword(null,"scattered","scattered",-1263632526),5,new cljs.core.Keyword(null,"broken","broken",-1742446874),9,new cljs.core.Keyword(null,"overcast","overcast",-2096313755),13],null);
vmt.fmap.header_spec=octet.core.spec.call(null,new cljs.core.Keyword("vmt.fmap","version","vmt.fmap/version",-891566703),octet.core.int32,new cljs.core.Keyword("vmt.fmap","rows","vmt.fmap/rows",-2077747017),octet.core.int32,new cljs.core.Keyword("vmt.fmap","cols","vmt.fmap/cols",-579722870),octet.core.int32,new cljs.core.Keyword("vmt.fmap","map-move-heading","vmt.fmap/map-move-heading",-1087640792),octet.core.int32,new cljs.core.Keyword("vmt.fmap","map-move-speed","vmt.fmap/map-move-speed",-502838238),
octet.core.float$,new cljs.core.Keyword("vmt.fmap","stratus-z-fair","vmt.fmap/stratus-z-fair",680651391),octet.core.int32,new cljs.core.Keyword("vmt.fmap","stratus-z-inclement","vmt.fmap/stratus-z-inclement",-1379631644),octet.core.int32,new cljs.core.Keyword("vmt.fmap","contrails","vmt.fmap/contrails",-2100804586),octet.core.spec.call(null,new cljs.core.Keyword(null,"sunny","sunny",1448267778),octet.core.int32,new cljs.core.Keyword(null,"fair","fair",1684139423),octet.core.int32,new cljs.core.Keyword(null,
"poor","poor",1462482211),octet.core.int32,new cljs.core.Keyword(null,"inclement","inclement",-550669382),octet.core.int32));
vmt.fmap.wind_data=octet.core.spec.call(null,new cljs.core.Keyword(null,"data-0","data-0",91600913),octet.core.float$,new cljs.core.Keyword(null,"data-3000","data-3000",1181021713),octet.core.float$,new cljs.core.Keyword(null,"data-6000","data-6000",-2114307240),octet.core.float$,new cljs.core.Keyword(null,"data-9000","data-9000",-1863816853),octet.core.float$,new cljs.core.Keyword(null,"data-12000","data-12000",1186648415),octet.core.float$,new cljs.core.Keyword(null,"data-18000","data-18000",1133358567),
octet.core.float$,new cljs.core.Keyword(null,"data-24000","data-24000",951011067),octet.core.float$,new cljs.core.Keyword(null,"data-30000","data-30000",1569593243),octet.core.float$,new cljs.core.Keyword(null,"data-40000","data-40000",433116385),octet.core.float$,new cljs.core.Keyword(null,"data-50000","data-50000",-596290684),octet.core.float$);
vmt.fmap.data_spec=function(a){var b=null!=a&&(a.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===a.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,a):a;a=cljs.core.get.call(null,b,new cljs.core.Keyword("vmt.fmap","rows","vmt.fmap/rows",-2077747017));b=cljs.core.get.call(null,b,new cljs.core.Keyword("vmt.fmap","cols","vmt.fmap/cols",-579722870));a*=b;return octet.core.spec.call(null,new cljs.core.Keyword("vmt.fmap","weather-type","vmt.fmap/weather-type",-357476417),
octet.core.repeat.call(null,a,octet.core.int32),new cljs.core.Keyword("vmt.fmap","pressure-mmhg","vmt.fmap/pressure-mmhg",2122955509),octet.core.repeat.call(null,a,octet.core.float$),new cljs.core.Keyword("vmt.fmap","temperature","vmt.fmap/temperature",1125269734),octet.core.repeat.call(null,a,octet.core.float$),new cljs.core.Keyword("vmt.fmap","wind-speed","vmt.fmap/wind-speed",-2132345843),octet.core.repeat.call(null,a,vmt.fmap.wind_data),new cljs.core.Keyword("vmt.fmap","wind-heading","vmt.fmap/wind-heading",
-1085391803),octet.core.repeat.call(null,a,vmt.fmap.wind_data),new cljs.core.Keyword("vmt.fmap","cloud-base","vmt.fmap/cloud-base",1086566634),octet.core.repeat.call(null,a,octet.core.float$),new cljs.core.Keyword("vmt.fmap","cloud-coverage","vmt.fmap/cloud-coverage",716283117),octet.core.repeat.call(null,a,octet.core.int32),new cljs.core.Keyword("vmt.fmap","cloud-size","vmt.fmap/cloud-size",-755360788),octet.core.repeat.call(null,a,octet.core.float$),new cljs.core.Keyword("vmt.fmap","towering-cumulus?",
"vmt.fmap/towering-cumulus?",-562813332),octet.core.repeat.call(null,a,octet.core.int32),new cljs.core.Keyword("vmt.fmap","visibility-km","vmt.fmap/visibility-km",1588242188),octet.core.repeat.call(null,a,octet.core.float$))};
vmt.fmap.decode=function(a){var b=octet.buffer._STAR_byte_order_STAR_,c=new cljs.core.Keyword(null,"little-endian","little-endian",1877303413);octet.buffer._STAR_byte_order_STAR_=c;try{var d=octet.core.read.call(null,a,vmt.fmap.header_spec),e=(new cljs.core.Keyword("vmt.fmap","rows","vmt.fmap/rows",-2077747017)).cljs$core$IFn$_invoke$arity$1(d)*(new cljs.core.Keyword("vmt.fmap","cols","vmt.fmap/cols",-579722870)).cljs$core$IFn$_invoke$arity$1(d),f=octet.core.read.call(null,a,vmt.fmap.data_spec.call(null,
d),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"offset","offset",296498311),octet.core.size.call(null,vmt.fmap.header_spec)],null)),g=cljs.core.merge.call(null,d,f),h=cljs.core.update.call(null,g,new cljs.core.Keyword("vmt.fmap","towering-cumulus?","vmt.fmap/towering-cumulus?",-562813332),function(a,b,c,d,e,f,g){return function(a){return cljs.core.mapv.call(null,cljs.core.comp.call(null,cljs.core.not,cljs.core.zero_QMARK_),a)}}(d,g,d,e,f,b,c)),k=cljs.core.update.call(null,
h,new cljs.core.Keyword("vmt.fmap","weather-type","vmt.fmap/weather-type",-357476417),function(a,b,c,d,e,f,g,h){return function(a){return cljs.core.mapv.call(null,vmt.fmap.weather_type_code__GT_type,a)}}(d,g,h,d,e,f,b,c)),l=cljs.core.assoc.call(null,k,new cljs.core.Keyword("vmt.fmap","wind-speed","vmt.fmap/wind-speed",-2132345843),cljs.core.map.call(null,function(a,b,c,d,e,f,g,h,k){return function(a,b,c,d,e,f,g,h,k,l){return cljs.core.PersistentHashMap.fromArrays([0,12E3,18E3,3E3,9E3,4E4,3E4,24E3,
5E4,6E3],[a,e,f,b,d,k,h,g,l,c])}}(d,g,h,k,d,e,f,b,c),(new cljs.core.Keyword("vmt.fmap","wind-speed-0","vmt.fmap/wind-speed-0",-680210885)).cljs$core$IFn$_invoke$arity$1(k),(new cljs.core.Keyword("vmt.fmap","wind-speed-3000","vmt.fmap/wind-speed-3000",-1922437171)).cljs$core$IFn$_invoke$arity$1(k),(new cljs.core.Keyword("vmt.fmap","wind-speed-6000","vmt.fmap/wind-speed-6000",-102569858)).cljs$core$IFn$_invoke$arity$1(k),(new cljs.core.Keyword("vmt.fmap","wind-speed-9000","vmt.fmap/wind-speed-9000",
649992788)).cljs$core$IFn$_invoke$arity$1(k),(new cljs.core.Keyword("vmt.fmap","wind-speed-12000","vmt.fmap/wind-speed-12000",-1925951473)).cljs$core$IFn$_invoke$arity$1(k),(new cljs.core.Keyword("vmt.fmap","wind-speed-18000","vmt.fmap/wind-speed-18000",705501907)).cljs$core$IFn$_invoke$arity$1(k),(new cljs.core.Keyword("vmt.fmap","wind-speed-24000","vmt.fmap/wind-speed-24000",651275419)).cljs$core$IFn$_invoke$arity$1(k),(new cljs.core.Keyword("vmt.fmap","wind-speed-30000","vmt.fmap/wind-speed-30000",
-1749725472)).cljs$core$IFn$_invoke$arity$1(k),(new cljs.core.Keyword("vmt.fmap","wind-speed-40000","vmt.fmap/wind-speed-40000",-1462690361)).cljs$core$IFn$_invoke$arity$1(k),(new cljs.core.Keyword("vmt.fmap","wind-speed-50000","vmt.fmap/wind-speed-50000",318573486)).cljs$core$IFn$_invoke$arity$1(k))),m=cljs.core.dissoc.call(null,l,new cljs.core.Keyword("vmt.fmap","wind-speed-0","vmt.fmap/wind-speed-0",-680210885),new cljs.core.Keyword("vmt.fmap","wind-speed-3000","vmt.fmap/wind-speed-3000",-1922437171),
new cljs.core.Keyword("vmt.fmap","wind-speed-6000","vmt.fmap/wind-speed-6000",-102569858),new cljs.core.Keyword("vmt.fmap","wind-speed-9000","vmt.fmap/wind-speed-9000",649992788),new cljs.core.Keyword("vmt.fmap","wind-speed-12000","vmt.fmap/wind-speed-12000",-1925951473),new cljs.core.Keyword("vmt.fmap","wind-speed-18000","vmt.fmap/wind-speed-18000",705501907),new cljs.core.Keyword("vmt.fmap","wind-speed-24000","vmt.fmap/wind-speed-24000",651275419),new cljs.core.Keyword("vmt.fmap","wind-speed-30000",
"vmt.fmap/wind-speed-30000",-1749725472),new cljs.core.Keyword("vmt.fmap","wind-speed-40000","vmt.fmap/wind-speed-40000",-1462690361),new cljs.core.Keyword("vmt.fmap","wind-speed-50000","vmt.fmap/wind-speed-50000",318573486)),n=cljs.core.assoc.call(null,m,new cljs.core.Keyword("vmt.fmap","wind-heading","vmt.fmap/wind-heading",-1085391803),cljs.core.map.call(null,function(a,b,c,d,e,f,g,h,k,l,m){return function(a,b,c,d,e,f,g,h,k,l){return cljs.core.PersistentHashMap.fromArrays([0,12E3,18E3,3E3,9E3,
4E4,3E4,24E3,5E4,6E3],[a,e,f,b,d,k,h,g,l,c])}}(d,g,h,k,l,m,d,e,f,b,c),(new cljs.core.Keyword("vmt.fmap","wind-heading-0","vmt.fmap/wind-heading-0",-566409224)).cljs$core$IFn$_invoke$arity$1(m),(new cljs.core.Keyword("vmt.fmap","wind-heading-3000","vmt.fmap/wind-heading-3000",2013286206)).cljs$core$IFn$_invoke$arity$1(m),(new cljs.core.Keyword("vmt.fmap","wind-heading-6000","vmt.fmap/wind-heading-6000",1827592429)).cljs$core$IFn$_invoke$arity$1(m),(new cljs.core.Keyword("vmt.fmap","wind-heading-9000",
"vmt.fmap/wind-heading-9000",2045515027)).cljs$core$IFn$_invoke$arity$1(m),(new cljs.core.Keyword("vmt.fmap","wind-heading-12000","vmt.fmap/wind-heading-12000",2044633396)).cljs$core$IFn$_invoke$arity$1(m),(new cljs.core.Keyword("vmt.fmap","wind-heading-18000","vmt.fmap/wind-heading-18000",749002599)).cljs$core$IFn$_invoke$arity$1(m),(new cljs.core.Keyword("vmt.fmap","wind-heading-24000","vmt.fmap/wind-heading-24000",-1943819796)).cljs$core$IFn$_invoke$arity$1(m),(new cljs.core.Keyword("vmt.fmap",
"wind-heading-30000","vmt.fmap/wind-heading-30000",925337525)).cljs$core$IFn$_invoke$arity$1(m),(new cljs.core.Keyword("vmt.fmap","wind-heading-40000","vmt.fmap/wind-heading-40000",738253691)).cljs$core$IFn$_invoke$arity$1(m),(new cljs.core.Keyword("vmt.fmap","wind-heading-50000","vmt.fmap/wind-heading-50000",152656464)).cljs$core$IFn$_invoke$arity$1(m)));return cljs.core.dissoc.call(null,n,new cljs.core.Keyword("vmt.fmap","wind-heading-0","vmt.fmap/wind-heading-0",-566409224),new cljs.core.Keyword("vmt.fmap",
"wind-heading-3000","vmt.fmap/wind-heading-3000",2013286206),new cljs.core.Keyword("vmt.fmap","wind-heading-6000","vmt.fmap/wind-heading-6000",1827592429),new cljs.core.Keyword("vmt.fmap","wind-heading-9000","vmt.fmap/wind-heading-9000",2045515027),new cljs.core.Keyword("vmt.fmap","wind-heading-12000","vmt.fmap/wind-heading-12000",2044633396),new cljs.core.Keyword("vmt.fmap","wind-heading-18000","vmt.fmap/wind-heading-18000",749002599),new cljs.core.Keyword("vmt.fmap","wind-heading-24000","vmt.fmap/wind-heading-24000",
-1943819796),new cljs.core.Keyword("vmt.fmap","wind-heading-30000","vmt.fmap/wind-heading-30000",925337525),new cljs.core.Keyword("vmt.fmap","wind-heading-40000","vmt.fmap/wind-heading-40000",738253691),new cljs.core.Keyword("vmt.fmap","wind-heading-50000","vmt.fmap/wind-heading-50000",152656464))}finally{octet.buffer._STAR_byte_order_STAR_=b}};
vmt.fmap.convert=function(a,b,c){return cljs.core.PersistentHashMap.fromArrays([new cljs.core.Keyword("vmt.fmap","wind-heading","vmt.fmap/wind-heading",-1085391803),new cljs.core.Keyword("vmt.fmap","temperature","vmt.fmap/temperature",1125269734),new cljs.core.Keyword("vmt.fmap","cloud-base","vmt.fmap/cloud-base",1086566634),new cljs.core.Keyword("vmt.fmap","towering-cumulus?","vmt.fmap/towering-cumulus?",-562813332),new cljs.core.Keyword("vmt.fmap","visibility-km","vmt.fmap/visibility-km",1588242188),
new cljs.core.Keyword("vmt.fmap","cloud-size","vmt.fmap/cloud-size",-755360788),new cljs.core.Keyword("vmt.fmap","wind-speed","vmt.fmap/wind-speed",-2132345843),new cljs.core.Keyword("vmt.fmap","cloud-coverage","vmt.fmap/cloud-coverage",716283117),new cljs.core.Keyword("vmt.fmap","pressure-mmhg","vmt.fmap/pressure-mmhg",2122955509),new cljs.core.Keyword("vmt.fmap","weather-type","vmt.fmap/weather-type",-357476417)],[function(){return function f(c){return new cljs.core.LazySeq(null,function(){for(var e=
c;;){var h=cljs.core.seq.call(null,e);if(h){var k=h,l=cljs.core.first.call(null,k);h=function(b,c,e,f){return function t(g){return new cljs.core.LazySeq(null,function(b,c,e,f){return function(){for(;;){var b=cljs.core.seq.call(null,g);if(b){if(cljs.core.chunked_seq_QMARK_.call(null,b)){var e=cljs.core.chunk_first.call(null,b),f=cljs.core.count.call(null,e),h=cljs.core.chunk_buffer.call(null,f);a:for(var k=0;;)if(k<f){var l=cljs.core._nth.call(null,e,k);cljs.core.chunk_append.call(null,h,cljs.core.PersistentHashMap.fromArrays([new cljs.core.Keyword(null,
"data-40000","data-40000",433116385),new cljs.core.Keyword(null,"data-50000","data-50000",-596290684),new cljs.core.Keyword(null,"data-18000","data-18000",1133358567),new cljs.core.Keyword(null,"data-9000","data-9000",-1863816853),new cljs.core.Keyword(null,"data-0","data-0",91600913),new cljs.core.Keyword(null,"data-3000","data-3000",1181021713),new cljs.core.Keyword(null,"data-6000","data-6000",-2114307240),new cljs.core.Keyword(null,"data-24000","data-24000",951011067),new cljs.core.Keyword(null,
"data-30000","data-30000",1569593243),new cljs.core.Keyword(null,"data-12000","data-12000",1186648415)],[cljs.core.get_in.call(null,a,new cljs.core.PersistentVector(null,4,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[l,c],null),new cljs.core.Keyword(null,"wind","wind",-527553074),4E4,new cljs.core.Keyword(null,"heading","heading",-1312171873)],null)),cljs.core.get_in.call(null,a,new cljs.core.PersistentVector(null,4,5,cljs.core.PersistentVector.EMPTY_NODE,
[new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[l,c],null),new cljs.core.Keyword(null,"wind","wind",-527553074),5E4,new cljs.core.Keyword(null,"heading","heading",-1312171873)],null)),cljs.core.get_in.call(null,a,new cljs.core.PersistentVector(null,4,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[l,c],null),new cljs.core.Keyword(null,"wind","wind",-527553074),18E3,new cljs.core.Keyword(null,"heading",
"heading",-1312171873)],null)),cljs.core.get_in.call(null,a,new cljs.core.PersistentVector(null,4,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[l,c],null),new cljs.core.Keyword(null,"wind","wind",-527553074),9E3,new cljs.core.Keyword(null,"heading","heading",-1312171873)],null)),cljs.core.get_in.call(null,a,new cljs.core.PersistentVector(null,4,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.PersistentVector(null,2,5,
cljs.core.PersistentVector.EMPTY_NODE,[l,c],null),new cljs.core.Keyword(null,"wind","wind",-527553074),0,new cljs.core.Keyword(null,"heading","heading",-1312171873)],null)),cljs.core.get_in.call(null,a,new cljs.core.PersistentVector(null,4,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[l,c],null),new cljs.core.Keyword(null,"wind","wind",-527553074),3E3,new cljs.core.Keyword(null,"heading","heading",-1312171873)],null)),cljs.core.get_in.call(null,
a,new cljs.core.PersistentVector(null,4,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[l,c],null),new cljs.core.Keyword(null,"wind","wind",-527553074),6E3,new cljs.core.Keyword(null,"heading","heading",-1312171873)],null)),cljs.core.get_in.call(null,a,new cljs.core.PersistentVector(null,4,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[l,c],null),new cljs.core.Keyword(null,
"wind","wind",-527553074),24E3,new cljs.core.Keyword(null,"heading","heading",-1312171873)],null)),cljs.core.get_in.call(null,a,new cljs.core.PersistentVector(null,4,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[l,c],null),new cljs.core.Keyword(null,"wind","wind",-527553074),3E4,new cljs.core.Keyword(null,"heading","heading",-1312171873)],null)),cljs.core.get_in.call(null,a,new cljs.core.PersistentVector(null,4,5,cljs.core.PersistentVector.EMPTY_NODE,
[new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[l,c],null),new cljs.core.Keyword(null,"wind","wind",-527553074),12E3,new cljs.core.Keyword(null,"heading","heading",-1312171873)],null))]));k+=1}else{e=!0;break a}return e?cljs.core.chunk_cons.call(null,cljs.core.chunk.call(null,h),t.call(null,cljs.core.chunk_rest.call(null,b))):cljs.core.chunk_cons.call(null,cljs.core.chunk.call(null,h),null)}h=cljs.core.first.call(null,b);return cljs.core.cons.call(null,cljs.core.PersistentHashMap.fromArrays([new cljs.core.Keyword(null,
"data-40000","data-40000",433116385),new cljs.core.Keyword(null,"data-50000","data-50000",-596290684),new cljs.core.Keyword(null,"data-18000","data-18000",1133358567),new cljs.core.Keyword(null,"data-9000","data-9000",-1863816853),new cljs.core.Keyword(null,"data-0","data-0",91600913),new cljs.core.Keyword(null,"data-3000","data-3000",1181021713),new cljs.core.Keyword(null,"data-6000","data-6000",-2114307240),new cljs.core.Keyword(null,"data-24000","data-24000",951011067),new cljs.core.Keyword(null,
"data-30000","data-30000",1569593243),new cljs.core.Keyword(null,"data-12000","data-12000",1186648415)],[cljs.core.get_in.call(null,a,new cljs.core.PersistentVector(null,4,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[h,c],null),new cljs.core.Keyword(null,"wind","wind",-527553074),4E4,new cljs.core.Keyword(null,"heading","heading",-1312171873)],null)),cljs.core.get_in.call(null,a,new cljs.core.PersistentVector(null,4,5,cljs.core.PersistentVector.EMPTY_NODE,
[new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[h,c],null),new cljs.core.Keyword(null,"wind","wind",-527553074),5E4,new cljs.core.Keyword(null,"heading","heading",-1312171873)],null)),cljs.core.get_in.call(null,a,new cljs.core.PersistentVector(null,4,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[h,c],null),new cljs.core.Keyword(null,"wind","wind",-527553074),18E3,new cljs.core.Keyword(null,"heading",
"heading",-1312171873)],null)),cljs.core.get_in.call(null,a,new cljs.core.PersistentVector(null,4,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[h,c],null),new cljs.core.Keyword(null,"wind","wind",-527553074),9E3,new cljs.core.Keyword(null,"heading","heading",-1312171873)],null)),cljs.core.get_in.call(null,a,new cljs.core.PersistentVector(null,4,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.PersistentVector(null,2,5,
cljs.core.PersistentVector.EMPTY_NODE,[h,c],null),new cljs.core.Keyword(null,"wind","wind",-527553074),0,new cljs.core.Keyword(null,"heading","heading",-1312171873)],null)),cljs.core.get_in.call(null,a,new cljs.core.PersistentVector(null,4,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[h,c],null),new cljs.core.Keyword(null,"wind","wind",-527553074),3E3,new cljs.core.Keyword(null,"heading","heading",-1312171873)],null)),cljs.core.get_in.call(null,
a,new cljs.core.PersistentVector(null,4,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[h,c],null),new cljs.core.Keyword(null,"wind","wind",-527553074),6E3,new cljs.core.Keyword(null,"heading","heading",-1312171873)],null)),cljs.core.get_in.call(null,a,new cljs.core.PersistentVector(null,4,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[h,c],null),new cljs.core.Keyword(null,
"wind","wind",-527553074),24E3,new cljs.core.Keyword(null,"heading","heading",-1312171873)],null)),cljs.core.get_in.call(null,a,new cljs.core.PersistentVector(null,4,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[h,c],null),new cljs.core.Keyword(null,"wind","wind",-527553074),3E4,new cljs.core.Keyword(null,"heading","heading",-1312171873)],null)),cljs.core.get_in.call(null,a,new cljs.core.PersistentVector(null,4,5,cljs.core.PersistentVector.EMPTY_NODE,
[new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[h,c],null),new cljs.core.Keyword(null,"wind","wind",-527553074),12E3,new cljs.core.Keyword(null,"heading","heading",-1312171873)],null))]),t.call(null,cljs.core.rest.call(null,b)))}return null}}}(b,c,e,f),null,null)}}(e,l,k,h);if(h=cljs.core.seq.call(null,h.call(null,cljs.core.range.call(null,b))))return cljs.core.concat.call(null,h,f.call(null,cljs.core.rest.call(null,e)));e=cljs.core.rest.call(null,e)}else return null}},
null,null)}.call(null,cljs.core.range.call(null,b))}(),function(){return function f(b){return new cljs.core.LazySeq(null,function(){for(var e=b;;){var h=cljs.core.seq.call(null,e);if(h){var k=h,l=cljs.core.first.call(null,k);h=function(b,c,e,f){return function t(g){return new cljs.core.LazySeq(null,function(b,c,e,f){return function(){for(;;){var b=cljs.core.seq.call(null,g);if(b){if(cljs.core.chunked_seq_QMARK_.call(null,b)){var e=cljs.core.chunk_first.call(null,b),f=cljs.core.count.call(null,e),
h=cljs.core.chunk_buffer.call(null,f);a:for(var k=0;;)if(k<f){var l=cljs.core._nth.call(null,e,k);cljs.core.chunk_append.call(null,h,cljs.core.get_in.call(null,a,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[l,c],null),new cljs.core.Keyword(null,"temperature","temperature",899018429)],null)));k+=1}else{e=!0;break a}return e?cljs.core.chunk_cons.call(null,cljs.core.chunk.call(null,h),t.call(null,
cljs.core.chunk_rest.call(null,b))):cljs.core.chunk_cons.call(null,cljs.core.chunk.call(null,h),null)}h=cljs.core.first.call(null,b);return cljs.core.cons.call(null,cljs.core.get_in.call(null,a,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[h,c],null),new cljs.core.Keyword(null,"temperature","temperature",899018429)],null)),t.call(null,cljs.core.rest.call(null,b)))}return null}}}(b,c,e,f),
null,null)}}(e,l,k,h);if(h=cljs.core.seq.call(null,h.call(null,cljs.core.range.call(null,c))))return cljs.core.concat.call(null,h,f.call(null,cljs.core.rest.call(null,e)));e=cljs.core.rest.call(null,e)}else return null}},null,null)}.call(null,cljs.core.range.call(null,b))}(),function(){return function f(b){return new cljs.core.LazySeq(null,function(){for(var e=b;;){var h=cljs.core.seq.call(null,e);if(h){var k=h,l=cljs.core.first.call(null,k);h=function(b,c,e,f){return function t(g){return new cljs.core.LazySeq(null,
function(b,c,e,f){return function(){for(;;){var b=cljs.core.seq.call(null,g);if(b){if(cljs.core.chunked_seq_QMARK_.call(null,b)){var e=cljs.core.chunk_first.call(null,b),f=cljs.core.count.call(null,e),h=cljs.core.chunk_buffer.call(null,f);a:for(var k=0;;)if(k<f){var l=cljs.core._nth.call(null,e,k);cljs.core.chunk_append.call(null,h,cljs.core.get_in.call(null,a,new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,
[l,c],null),new cljs.core.Keyword(null,"low-clouds","low-clouds",-702988471),new cljs.core.Keyword(null,"base","base",185279322)],null)));k+=1}else{e=!0;break a}return e?cljs.core.chunk_cons.call(null,cljs.core.chunk.call(null,h),t.call(null,cljs.core.chunk_rest.call(null,b))):cljs.core.chunk_cons.call(null,cljs.core.chunk.call(null,h),null)}h=cljs.core.first.call(null,b);return cljs.core.cons.call(null,cljs.core.get_in.call(null,a,new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,
[new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[h,c],null),new cljs.core.Keyword(null,"low-clouds","low-clouds",-702988471),new cljs.core.Keyword(null,"base","base",185279322)],null)),t.call(null,cljs.core.rest.call(null,b)))}return null}}}(b,c,e,f),null,null)}}(e,l,k,h);if(h=cljs.core.seq.call(null,h.call(null,cljs.core.range.call(null,c))))return cljs.core.concat.call(null,h,f.call(null,cljs.core.rest.call(null,e)));e=cljs.core.rest.call(null,e)}else return null}},
null,null)}.call(null,cljs.core.range.call(null,b))}(),function(){return function f(b){return new cljs.core.LazySeq(null,function(){for(var e=b;;){var h=cljs.core.seq.call(null,e);if(h){var k=h,l=cljs.core.first.call(null,k);h=function(b,c,e,f){return function t(g){return new cljs.core.LazySeq(null,function(b,c,e,f){return function(){for(;;){var b=cljs.core.seq.call(null,g);if(b){if(cljs.core.chunked_seq_QMARK_.call(null,b)){var e=cljs.core.chunk_first.call(null,b),f=cljs.core.count.call(null,e),
h=cljs.core.chunk_buffer.call(null,f);a:for(var k=0;;)if(k<f){var l=cljs.core._nth.call(null,e,k);l=cljs.core.get_in.call(null,a,new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[l,c],null),new cljs.core.Keyword(null,"low-clouds","low-clouds",-702988471),new cljs.core.Keyword(null,"towering?","towering?",2005070836)],null));cljs.core.chunk_append.call(null,h,cljs.core.truth_(l)?1:0);k+=1}else{e=
!0;break a}return e?cljs.core.chunk_cons.call(null,cljs.core.chunk.call(null,h),t.call(null,cljs.core.chunk_rest.call(null,b))):cljs.core.chunk_cons.call(null,cljs.core.chunk.call(null,h),null)}h=cljs.core.first.call(null,b);h=cljs.core.get_in.call(null,a,new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[h,c],null),new cljs.core.Keyword(null,"low-clouds","low-clouds",-702988471),new cljs.core.Keyword(null,
"towering?","towering?",2005070836)],null));return cljs.core.cons.call(null,cljs.core.truth_(h)?1:0,t.call(null,cljs.core.rest.call(null,b)))}return null}}}(b,c,e,f),null,null)}}(e,l,k,h);if(h=cljs.core.seq.call(null,h.call(null,cljs.core.range.call(null,c))))return cljs.core.concat.call(null,h,f.call(null,cljs.core.rest.call(null,e)));e=cljs.core.rest.call(null,e)}else return null}},null,null)}.call(null,cljs.core.range.call(null,b))}(),function(){return function f(b){return new cljs.core.LazySeq(null,
function(){for(var e=b;;){var h=cljs.core.seq.call(null,e);if(h){var k=h,l=cljs.core.first.call(null,k);h=function(b,c,e,f){return function t(g){return new cljs.core.LazySeq(null,function(b,c,e,f){return function(){for(;;){var b=cljs.core.seq.call(null,g);if(b){if(cljs.core.chunked_seq_QMARK_.call(null,b)){var e=cljs.core.chunk_first.call(null,b),f=cljs.core.count.call(null,e),h=cljs.core.chunk_buffer.call(null,f);a:for(var k=0;;)if(k<f){var l=cljs.core._nth.call(null,e,k);cljs.core.chunk_append.call(null,
h,cljs.core.get_in.call(null,a,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[l,c],null),new cljs.core.Keyword(null,"visibility","visibility",1338380893)],null)));k+=1}else{e=!0;break a}return e?cljs.core.chunk_cons.call(null,cljs.core.chunk.call(null,h),t.call(null,cljs.core.chunk_rest.call(null,b))):cljs.core.chunk_cons.call(null,cljs.core.chunk.call(null,h),null)}h=cljs.core.first.call(null,
b);return cljs.core.cons.call(null,cljs.core.get_in.call(null,a,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[h,c],null),new cljs.core.Keyword(null,"visibility","visibility",1338380893)],null)),t.call(null,cljs.core.rest.call(null,b)))}return null}}}(b,c,e,f),null,null)}}(e,l,k,h);if(h=cljs.core.seq.call(null,h.call(null,cljs.core.range.call(null,c))))return cljs.core.concat.call(null,h,
f.call(null,cljs.core.rest.call(null,e)));e=cljs.core.rest.call(null,e)}else return null}},null,null)}.call(null,cljs.core.range.call(null,b))}(),function(){return function f(b){return new cljs.core.LazySeq(null,function(){for(var e=b;;){var h=cljs.core.seq.call(null,e);if(h){var k=h,l=cljs.core.first.call(null,k);h=function(b,c,e,f){return function t(g){return new cljs.core.LazySeq(null,function(b,c,e,f){return function(){for(;;){var b=cljs.core.seq.call(null,g);if(b){if(cljs.core.chunked_seq_QMARK_.call(null,
b)){var e=cljs.core.chunk_first.call(null,b),f=cljs.core.count.call(null,e),h=cljs.core.chunk_buffer.call(null,f);a:for(var k=0;;)if(k<f){var l=cljs.core._nth.call(null,e,k);cljs.core.chunk_append.call(null,h,cljs.core.get_in.call(null,a,new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[l,c],null),new cljs.core.Keyword(null,"low-clouds","low-clouds",-702988471),new cljs.core.Keyword(null,"size",
"size",1098693007)],null)));k+=1}else{e=!0;break a}return e?cljs.core.chunk_cons.call(null,cljs.core.chunk.call(null,h),t.call(null,cljs.core.chunk_rest.call(null,b))):cljs.core.chunk_cons.call(null,cljs.core.chunk.call(null,h),null)}h=cljs.core.first.call(null,b);return cljs.core.cons.call(null,cljs.core.get_in.call(null,a,new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[h,c],null),new cljs.core.Keyword(null,
"low-clouds","low-clouds",-702988471),new cljs.core.Keyword(null,"size","size",1098693007)],null)),t.call(null,cljs.core.rest.call(null,b)))}return null}}}(b,c,e,f),null,null)}}(e,l,k,h);if(h=cljs.core.seq.call(null,h.call(null,cljs.core.range.call(null,c))))return cljs.core.concat.call(null,h,f.call(null,cljs.core.rest.call(null,e)));e=cljs.core.rest.call(null,e)}else return null}},null,null)}.call(null,cljs.core.range.call(null,b))}(),function(){return function f(c){return new cljs.core.LazySeq(null,
function(){for(var e=c;;){var h=cljs.core.seq.call(null,e);if(h){var k=h,l=cljs.core.first.call(null,k);h=function(b,c,e,f){return function t(g){return new cljs.core.LazySeq(null,function(b,c,e,f){return function(){for(;;){var b=cljs.core.seq.call(null,g);if(b){if(cljs.core.chunked_seq_QMARK_.call(null,b)){var e=cljs.core.chunk_first.call(null,b),f=cljs.core.count.call(null,e),h=cljs.core.chunk_buffer.call(null,f);a:for(var k=0;;)if(k<f){var l=cljs.core._nth.call(null,e,k);cljs.core.chunk_append.call(null,
h,cljs.core.PersistentHashMap.fromArrays([new cljs.core.Keyword(null,"data-40000","data-40000",433116385),new cljs.core.Keyword(null,"data-50000","data-50000",-596290684),new cljs.core.Keyword(null,"data-18000","data-18000",1133358567),new cljs.core.Keyword(null,"data-9000","data-9000",-1863816853),new cljs.core.Keyword(null,"data-0","data-0",91600913),new cljs.core.Keyword(null,"data-3000","data-3000",1181021713),new cljs.core.Keyword(null,"data-6000","data-6000",-2114307240),new cljs.core.Keyword(null,
"data-24000","data-24000",951011067),new cljs.core.Keyword(null,"data-30000","data-30000",1569593243),new cljs.core.Keyword(null,"data-12000","data-12000",1186648415)],[cljs.core.get_in.call(null,a,new cljs.core.PersistentVector(null,4,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[l,c],null),new cljs.core.Keyword(null,"wind","wind",-527553074),4E4,new cljs.core.Keyword(null,"speed","speed",1257663751)],null)),cljs.core.get_in.call(null,
a,new cljs.core.PersistentVector(null,4,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[l,c],null),new cljs.core.Keyword(null,"wind","wind",-527553074),5E4,new cljs.core.Keyword(null,"speed","speed",1257663751)],null)),cljs.core.get_in.call(null,a,new cljs.core.PersistentVector(null,4,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[l,c],null),new cljs.core.Keyword(null,
"wind","wind",-527553074),18E3,new cljs.core.Keyword(null,"speed","speed",1257663751)],null)),cljs.core.get_in.call(null,a,new cljs.core.PersistentVector(null,4,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[l,c],null),new cljs.core.Keyword(null,"wind","wind",-527553074),9E3,new cljs.core.Keyword(null,"speed","speed",1257663751)],null)),cljs.core.get_in.call(null,a,new cljs.core.PersistentVector(null,4,5,cljs.core.PersistentVector.EMPTY_NODE,
[new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[l,c],null),new cljs.core.Keyword(null,"wind","wind",-527553074),0,new cljs.core.Keyword(null,"speed","speed",1257663751)],null)),cljs.core.get_in.call(null,a,new cljs.core.PersistentVector(null,4,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[l,c],null),new cljs.core.Keyword(null,"wind","wind",-527553074),3E3,new cljs.core.Keyword(null,"speed","speed",
1257663751)],null)),cljs.core.get_in.call(null,a,new cljs.core.PersistentVector(null,4,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[l,c],null),new cljs.core.Keyword(null,"wind","wind",-527553074),6E3,new cljs.core.Keyword(null,"speed","speed",1257663751)],null)),cljs.core.get_in.call(null,a,new cljs.core.PersistentVector(null,4,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,
[l,c],null),new cljs.core.Keyword(null,"wind","wind",-527553074),24E3,new cljs.core.Keyword(null,"speed","speed",1257663751)],null)),cljs.core.get_in.call(null,a,new cljs.core.PersistentVector(null,4,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[l,c],null),new cljs.core.Keyword(null,"wind","wind",-527553074),3E4,new cljs.core.Keyword(null,"speed","speed",1257663751)],null)),cljs.core.get_in.call(null,a,new cljs.core.PersistentVector(null,
4,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[l,c],null),new cljs.core.Keyword(null,"wind","wind",-527553074),12E3,new cljs.core.Keyword(null,"speed","speed",1257663751)],null))]));k+=1}else{e=!0;break a}return e?cljs.core.chunk_cons.call(null,cljs.core.chunk.call(null,h),t.call(null,cljs.core.chunk_rest.call(null,b))):cljs.core.chunk_cons.call(null,cljs.core.chunk.call(null,h),null)}h=cljs.core.first.call(null,b);return cljs.core.cons.call(null,
cljs.core.PersistentHashMap.fromArrays([new cljs.core.Keyword(null,"data-40000","data-40000",433116385),new cljs.core.Keyword(null,"data-50000","data-50000",-596290684),new cljs.core.Keyword(null,"data-18000","data-18000",1133358567),new cljs.core.Keyword(null,"data-9000","data-9000",-1863816853),new cljs.core.Keyword(null,"data-0","data-0",91600913),new cljs.core.Keyword(null,"data-3000","data-3000",1181021713),new cljs.core.Keyword(null,"data-6000","data-6000",-2114307240),new cljs.core.Keyword(null,
"data-24000","data-24000",951011067),new cljs.core.Keyword(null,"data-30000","data-30000",1569593243),new cljs.core.Keyword(null,"data-12000","data-12000",1186648415)],[cljs.core.get_in.call(null,a,new cljs.core.PersistentVector(null,4,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[h,c],null),new cljs.core.Keyword(null,"wind","wind",-527553074),4E4,new cljs.core.Keyword(null,"speed","speed",1257663751)],null)),cljs.core.get_in.call(null,
a,new cljs.core.PersistentVector(null,4,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[h,c],null),new cljs.core.Keyword(null,"wind","wind",-527553074),5E4,new cljs.core.Keyword(null,"speed","speed",1257663751)],null)),cljs.core.get_in.call(null,a,new cljs.core.PersistentVector(null,4,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[h,c],null),new cljs.core.Keyword(null,
"wind","wind",-527553074),18E3,new cljs.core.Keyword(null,"speed","speed",1257663751)],null)),cljs.core.get_in.call(null,a,new cljs.core.PersistentVector(null,4,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[h,c],null),new cljs.core.Keyword(null,"wind","wind",-527553074),9E3,new cljs.core.Keyword(null,"speed","speed",1257663751)],null)),cljs.core.get_in.call(null,a,new cljs.core.PersistentVector(null,4,5,cljs.core.PersistentVector.EMPTY_NODE,
[new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[h,c],null),new cljs.core.Keyword(null,"wind","wind",-527553074),0,new cljs.core.Keyword(null,"speed","speed",1257663751)],null)),cljs.core.get_in.call(null,a,new cljs.core.PersistentVector(null,4,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[h,c],null),new cljs.core.Keyword(null,"wind","wind",-527553074),3E3,new cljs.core.Keyword(null,"speed","speed",
1257663751)],null)),cljs.core.get_in.call(null,a,new cljs.core.PersistentVector(null,4,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[h,c],null),new cljs.core.Keyword(null,"wind","wind",-527553074),6E3,new cljs.core.Keyword(null,"speed","speed",1257663751)],null)),cljs.core.get_in.call(null,a,new cljs.core.PersistentVector(null,4,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,
[h,c],null),new cljs.core.Keyword(null,"wind","wind",-527553074),24E3,new cljs.core.Keyword(null,"speed","speed",1257663751)],null)),cljs.core.get_in.call(null,a,new cljs.core.PersistentVector(null,4,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[h,c],null),new cljs.core.Keyword(null,"wind","wind",-527553074),3E4,new cljs.core.Keyword(null,"speed","speed",1257663751)],null)),cljs.core.get_in.call(null,a,new cljs.core.PersistentVector(null,
4,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[h,c],null),new cljs.core.Keyword(null,"wind","wind",-527553074),12E3,new cljs.core.Keyword(null,"speed","speed",1257663751)],null))]),t.call(null,cljs.core.rest.call(null,b)))}return null}}}(b,c,e,f),null,null)}}(e,l,k,h);if(h=cljs.core.seq.call(null,h.call(null,cljs.core.range.call(null,b))))return cljs.core.concat.call(null,h,f.call(null,cljs.core.rest.call(null,e)));e=cljs.core.rest.call(null,
e)}else return null}},null,null)}.call(null,cljs.core.range.call(null,b))}(),function(){return function f(b){return new cljs.core.LazySeq(null,function(){for(var e=b;;){var h=cljs.core.seq.call(null,e);if(h){var k=h,l=cljs.core.first.call(null,k);h=function(b,c,e,f){return function t(g){return new cljs.core.LazySeq(null,function(b,c,e,f){return function(){for(;;){var b=cljs.core.seq.call(null,g);if(b){if(cljs.core.chunked_seq_QMARK_.call(null,b)){var e=cljs.core.chunk_first.call(null,b),f=cljs.core.count.call(null,
e),h=cljs.core.chunk_buffer.call(null,f);a:for(var k=0;;)if(k<f){var l=cljs.core._nth.call(null,e,k);cljs.core.chunk_append.call(null,h,vmt.fmap.coverage_code__GT_type.call(null,cljs.core.get_in.call(null,a,new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[l,c],null),new cljs.core.Keyword(null,"low-clouds","low-clouds",-702988471),new cljs.core.Keyword(null,"coverage","coverage",1606292651)],
null))));k+=1}else{e=!0;break a}return e?cljs.core.chunk_cons.call(null,cljs.core.chunk.call(null,h),t.call(null,cljs.core.chunk_rest.call(null,b))):cljs.core.chunk_cons.call(null,cljs.core.chunk.call(null,h),null)}h=cljs.core.first.call(null,b);return cljs.core.cons.call(null,vmt.fmap.coverage_code__GT_type.call(null,cljs.core.get_in.call(null,a,new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,
[h,c],null),new cljs.core.Keyword(null,"low-clouds","low-clouds",-702988471),new cljs.core.Keyword(null,"coverage","coverage",1606292651)],null))),t.call(null,cljs.core.rest.call(null,b)))}return null}}}(b,c,e,f),null,null)}}(e,l,k,h);if(h=cljs.core.seq.call(null,h.call(null,cljs.core.range.call(null,c))))return cljs.core.concat.call(null,h,f.call(null,cljs.core.rest.call(null,e)));e=cljs.core.rest.call(null,e)}else return null}},null,null)}.call(null,cljs.core.range.call(null,b))}(),function(){return function f(b){return new cljs.core.LazySeq(null,
function(){for(var e=b;;){var h=cljs.core.seq.call(null,e);if(h){var k=h,l=cljs.core.first.call(null,k);h=function(b,c,e,f){return function t(g){return new cljs.core.LazySeq(null,function(b,c,e,f){return function(){for(;;){var b=cljs.core.seq.call(null,g);if(b){if(cljs.core.chunked_seq_QMARK_.call(null,b)){var e=cljs.core.chunk_first.call(null,b),f=cljs.core.count.call(null,e),h=cljs.core.chunk_buffer.call(null,f);return function(){for(var b=0;;)if(b<f){var g=cljs.core._nth.call(null,e,b);cljs.core.chunk_append.call(null,
h,function(){var b=null==a?null:cljs.core.get.call(null,a,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[g,c],null));b=null==b?null:(new cljs.core.Keyword(null,"pressure","pressure",505343747)).cljs$core$IFn$_invoke$arity$1(b);b=null==b?null:weathergen.model.inhg__GT_mmhg.call(null,b);return cljs.core.truth_(b)?b:.1<cljs.core.rand.call(null)?cljs.core.println.call(null,"pressure is nil",new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,[g,
c,cljs.core.get.call(null,a,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[g,c],null))],null)):null}());b+=1}else return!0}()?cljs.core.chunk_cons.call(null,cljs.core.chunk.call(null,h),t.call(null,cljs.core.chunk_rest.call(null,b))):cljs.core.chunk_cons.call(null,cljs.core.chunk.call(null,h),null)}var k=cljs.core.first.call(null,b);return cljs.core.cons.call(null,function(){var b=null==a?null:cljs.core.get.call(null,a,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,
[k,c],null));b=null==b?null:(new cljs.core.Keyword(null,"pressure","pressure",505343747)).cljs$core$IFn$_invoke$arity$1(b);b=null==b?null:weathergen.model.inhg__GT_mmhg.call(null,b);return cljs.core.truth_(b)?b:.1<cljs.core.rand.call(null)?cljs.core.println.call(null,"pressure is nil",new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,[k,c,cljs.core.get.call(null,a,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[k,c],null))],null)):null}(),
t.call(null,cljs.core.rest.call(null,b)))}return null}}}(b,c,e,f),null,null)}}(e,l,k,h);if(h=cljs.core.seq.call(null,h.call(null,cljs.core.range.call(null,c))))return cljs.core.concat.call(null,h,f.call(null,cljs.core.rest.call(null,e)));e=cljs.core.rest.call(null,e)}else return null}},null,null)}.call(null,cljs.core.range.call(null,b))}(),function(){return function f(b){return new cljs.core.LazySeq(null,function(){for(var e=b;;){var h=cljs.core.seq.call(null,e);if(h){var k=h,l=cljs.core.first.call(null,
k);h=function(b,c,e,f){return function t(g){return new cljs.core.LazySeq(null,function(b,c,e,f){return function(){for(;;){var b=cljs.core.seq.call(null,g);if(b){if(cljs.core.chunked_seq_QMARK_.call(null,b)){var e=cljs.core.chunk_first.call(null,b),f=cljs.core.count.call(null,e),h=cljs.core.chunk_buffer.call(null,f);a:for(var k=0;;)if(k<f){var l=cljs.core._nth.call(null,e,k);cljs.core.chunk_append.call(null,h,vmt.fmap.weather_type__GT_code.call(null,(new cljs.core.Keyword(null,"type","type",1174270348)).cljs$core$IFn$_invoke$arity$1(cljs.core.get.call(null,
a,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[l,c],null)))));k+=1}else{e=!0;break a}return e?cljs.core.chunk_cons.call(null,cljs.core.chunk.call(null,h),t.call(null,cljs.core.chunk_rest.call(null,b))):cljs.core.chunk_cons.call(null,cljs.core.chunk.call(null,h),null)}h=cljs.core.first.call(null,b);return cljs.core.cons.call(null,vmt.fmap.weather_type__GT_code.call(null,(new cljs.core.Keyword(null,"type","type",1174270348)).cljs$core$IFn$_invoke$arity$1(cljs.core.get.call(null,
a,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[h,c],null)))),t.call(null,cljs.core.rest.call(null,b)))}return null}}}(b,c,e,f),null,null)}}(e,l,k,h);if(h=cljs.core.seq.call(null,h.call(null,cljs.core.range.call(null,c))))return cljs.core.concat.call(null,h,f.call(null,cljs.core.rest.call(null,e)));e=cljs.core.rest.call(null,e)}else return null}},null,null)}.call(null,cljs.core.range.call(null,b))}()])};
vmt.fmap.encode=function(a,b,c,d){var e=(new cljs.core.Keyword(null,"cell-count","cell-count",-441457582)).cljs$core$IFn$_invoke$arity$1(b);b=cljs.core.nth.call(null,e,0,null);e=cljs.core.nth.call(null,e,1,null);c=new cljs.core.PersistentArrayMap(null,8,[new cljs.core.Keyword("vmt.fmap","version","vmt.fmap/version",-891566703),5,new cljs.core.Keyword("vmt.fmap","rows","vmt.fmap/rows",-2077747017),b,new cljs.core.Keyword("vmt.fmap","cols","vmt.fmap/cols",-579722870),e,new cljs.core.Keyword("vmt.fmap",
"map-move-heading","vmt.fmap/map-move-heading",-1087640792),cljs.core.get_in.call(null,c,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"direction","direction",-633359395),new cljs.core.Keyword(null,"heading","heading",-1312171873)],null)),new cljs.core.Keyword("vmt.fmap","map-move-speed","vmt.fmap/map-move-speed",-502838238),cljs.core.get_in.call(null,c,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,
"direction","direction",-633359395),new cljs.core.Keyword(null,"speed","speed",1257663751)],null)),new cljs.core.Keyword("vmt.fmap","stratus-z-fair","vmt.fmap/stratus-z-fair",680651391),(new cljs.core.Keyword(null,"stratus-z-fair","stratus-z-fair",2031975528)).cljs$core$IFn$_invoke$arity$1(d),new cljs.core.Keyword("vmt.fmap","stratus-z-inclement","vmt.fmap/stratus-z-inclement",-1379631644),(new cljs.core.Keyword(null,"stratus-z-inclement","stratus-z-inclement",1983411333)).cljs$core$IFn$_invoke$arity$1(d),
new cljs.core.Keyword("vmt.fmap","contrails","vmt.fmap/contrails",-2100804586),(new cljs.core.Keyword(null,"contrails","contrails",1430581743)).cljs$core$IFn$_invoke$arity$1(d)],null);d=vmt.fmap.data_spec.call(null,c);var f=octet.core.allocate.call(null,octet.core.size.call(null,vmt.fmap.header_spec)+octet.core.size.call(null,d)),g=octet.buffer._STAR_byte_order_STAR_,h=new cljs.core.Keyword(null,"little-endian","little-endian",1877303413);octet.buffer._STAR_byte_order_STAR_=h;try{octet.core.write_BANG_.call(null,
f,c,vmt.fmap.header_spec),octet.core.write_BANG_.call(null,f,vmt.fmap.convert.call(null,a,b,e),d,new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"offset","offset",296498311),octet.core.size.call(null,vmt.fmap.header_spec)],null))}finally{octet.buffer._STAR_byte_order_STAR_=g}return f};cljs.core.async={};cljs.core.async.impl={};cljs.core.async.impl.protocols={};cljs.core.async.impl.protocols.MAX_QUEUE_SIZE=1024;cljs.core.async.impl.protocols.ReadPort=function(){};
cljs.core.async.impl.protocols.take_BANG_=function(a,b){if(null!=a&&null!=a.cljs$core$async$impl$protocols$ReadPort$take_BANG_$arity$2)return a.cljs$core$async$impl$protocols$ReadPort$take_BANG_$arity$2(a,b);var c=cljs.core.async.impl.protocols.take_BANG_[goog.typeOf(null==a?null:a)];if(null!=c)return c.call(null,a,b);c=cljs.core.async.impl.protocols.take_BANG_._;if(null!=c)return c.call(null,a,b);throw cljs.core.missing_protocol.call(null,"ReadPort.take!",a);};
cljs.core.async.impl.protocols.WritePort=function(){};
cljs.core.async.impl.protocols.put_BANG_=function(a,b,c){if(null!=a&&null!=a.cljs$core$async$impl$protocols$WritePort$put_BANG_$arity$3)return a.cljs$core$async$impl$protocols$WritePort$put_BANG_$arity$3(a,b,c);var d=cljs.core.async.impl.protocols.put_BANG_[goog.typeOf(null==a?null:a)];if(null!=d)return d.call(null,a,b,c);d=cljs.core.async.impl.protocols.put_BANG_._;if(null!=d)return d.call(null,a,b,c);throw cljs.core.missing_protocol.call(null,"WritePort.put!",a);};
cljs.core.async.impl.protocols.Channel=function(){};
cljs.core.async.impl.protocols.close_BANG_=function(a){if(null!=a&&null!=a.cljs$core$async$impl$protocols$Channel$close_BANG_$arity$1)return a.cljs$core$async$impl$protocols$Channel$close_BANG_$arity$1(a);var b=cljs.core.async.impl.protocols.close_BANG_[goog.typeOf(null==a?null:a)];if(null!=b)return b.call(null,a);b=cljs.core.async.impl.protocols.close_BANG_._;if(null!=b)return b.call(null,a);throw cljs.core.missing_protocol.call(null,"Channel.close!",a);};
cljs.core.async.impl.protocols.closed_QMARK_=function(a){if(null!=a&&null!=a.cljs$core$async$impl$protocols$Channel$closed_QMARK_$arity$1)return a.cljs$core$async$impl$protocols$Channel$closed_QMARK_$arity$1(a);var b=cljs.core.async.impl.protocols.closed_QMARK_[goog.typeOf(null==a?null:a)];if(null!=b)return b.call(null,a);b=cljs.core.async.impl.protocols.closed_QMARK_._;if(null!=b)return b.call(null,a);throw cljs.core.missing_protocol.call(null,"Channel.closed?",a);};
cljs.core.async.impl.protocols.Handler=function(){};
cljs.core.async.impl.protocols.active_QMARK_=function(a){if(null!=a&&null!=a.cljs$core$async$impl$protocols$Handler$active_QMARK_$arity$1)return a.cljs$core$async$impl$protocols$Handler$active_QMARK_$arity$1(a);var b=cljs.core.async.impl.protocols.active_QMARK_[goog.typeOf(null==a?null:a)];if(null!=b)return b.call(null,a);b=cljs.core.async.impl.protocols.active_QMARK_._;if(null!=b)return b.call(null,a);throw cljs.core.missing_protocol.call(null,"Handler.active?",a);};
cljs.core.async.impl.protocols.blockable_QMARK_=function(a){if(null!=a&&null!=a.cljs$core$async$impl$protocols$Handler$blockable_QMARK_$arity$1)return a.cljs$core$async$impl$protocols$Handler$blockable_QMARK_$arity$1(a);var b=cljs.core.async.impl.protocols.blockable_QMARK_[goog.typeOf(null==a?null:a)];if(null!=b)return b.call(null,a);b=cljs.core.async.impl.protocols.blockable_QMARK_._;if(null!=b)return b.call(null,a);throw cljs.core.missing_protocol.call(null,"Handler.blockable?",a);};
cljs.core.async.impl.protocols.commit=function(a){if(null!=a&&null!=a.cljs$core$async$impl$protocols$Handler$commit$arity$1)return a.cljs$core$async$impl$protocols$Handler$commit$arity$1(a);var b=cljs.core.async.impl.protocols.commit[goog.typeOf(null==a?null:a)];if(null!=b)return b.call(null,a);b=cljs.core.async.impl.protocols.commit._;if(null!=b)return b.call(null,a);throw cljs.core.missing_protocol.call(null,"Handler.commit",a);};cljs.core.async.impl.protocols.Buffer=function(){};
cljs.core.async.impl.protocols.full_QMARK_=function(a){if(null!=a&&null!=a.cljs$core$async$impl$protocols$Buffer$full_QMARK_$arity$1)return a.cljs$core$async$impl$protocols$Buffer$full_QMARK_$arity$1(a);var b=cljs.core.async.impl.protocols.full_QMARK_[goog.typeOf(null==a?null:a)];if(null!=b)return b.call(null,a);b=cljs.core.async.impl.protocols.full_QMARK_._;if(null!=b)return b.call(null,a);throw cljs.core.missing_protocol.call(null,"Buffer.full?",a);};
cljs.core.async.impl.protocols.remove_BANG_=function(a){if(null!=a&&null!=a.cljs$core$async$impl$protocols$Buffer$remove_BANG_$arity$1)return a.cljs$core$async$impl$protocols$Buffer$remove_BANG_$arity$1(a);var b=cljs.core.async.impl.protocols.remove_BANG_[goog.typeOf(null==a?null:a)];if(null!=b)return b.call(null,a);b=cljs.core.async.impl.protocols.remove_BANG_._;if(null!=b)return b.call(null,a);throw cljs.core.missing_protocol.call(null,"Buffer.remove!",a);};
cljs.core.async.impl.protocols.add_BANG__STAR_=function(a,b){if(null!=a&&null!=a.cljs$core$async$impl$protocols$Buffer$add_BANG__STAR_$arity$2)return a.cljs$core$async$impl$protocols$Buffer$add_BANG__STAR_$arity$2(a,b);var c=cljs.core.async.impl.protocols.add_BANG__STAR_[goog.typeOf(null==a?null:a)];if(null!=c)return c.call(null,a,b);c=cljs.core.async.impl.protocols.add_BANG__STAR_._;if(null!=c)return c.call(null,a,b);throw cljs.core.missing_protocol.call(null,"Buffer.add!*",a);};
cljs.core.async.impl.protocols.close_buf_BANG_=function(a){if(null!=a&&null!=a.cljs$core$async$impl$protocols$Buffer$close_buf_BANG_$arity$1)return a.cljs$core$async$impl$protocols$Buffer$close_buf_BANG_$arity$1(a);var b=cljs.core.async.impl.protocols.close_buf_BANG_[goog.typeOf(null==a?null:a)];if(null!=b)return b.call(null,a);b=cljs.core.async.impl.protocols.close_buf_BANG_._;if(null!=b)return b.call(null,a);throw cljs.core.missing_protocol.call(null,"Buffer.close-buf!",a);};
cljs.core.async.impl.protocols.add_BANG_=function(a){switch(arguments.length){case 1:return cljs.core.async.impl.protocols.add_BANG_.cljs$core$IFn$_invoke$arity$1(arguments[0]);case 2:return cljs.core.async.impl.protocols.add_BANG_.cljs$core$IFn$_invoke$arity$2(arguments[0],arguments[1]);default:throw Error(["Invalid arity: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(""));}};cljs.core.async.impl.protocols.add_BANG_.cljs$core$IFn$_invoke$arity$1=function(a){return a};
cljs.core.async.impl.protocols.add_BANG_.cljs$core$IFn$_invoke$arity$2=function(a,b){if(null==b)throw Error("Assert failed: (not (nil? itm))");return cljs.core.async.impl.protocols.add_BANG__STAR_.call(null,a,b)};cljs.core.async.impl.protocols.add_BANG_.cljs$lang$maxFixedArity=2;cljs.core.async.impl.protocols.UnblockingBuffer=function(){};cljs.core.async.impl.buffers={};cljs.core.async.impl.buffers.acopy=function(a,b,c,d,e){for(var f=0;;)if(f<e)c[d+f]=a[b+f],f+=1;else return null};cljs.core.async.impl.buffers.RingBuffer=function(a,b,c,d){this.head=a;this.tail=b;this.length=c;this.arr=d};cljs.core.async.impl.buffers.RingBuffer.prototype.pop=function(){if(0===this.length)return null;var a=this.arr[this.tail];this.arr[this.tail]=null;this.tail=(this.tail+1)%this.arr.length;--this.length;return a};
cljs.core.async.impl.buffers.RingBuffer.prototype.unshift=function(a){this.arr[this.head]=a;this.head=(this.head+1)%this.arr.length;this.length+=1;return null};cljs.core.async.impl.buffers.RingBuffer.prototype.unbounded_unshift=function(a){this.length+1===this.arr.length&&this.resize();return this.unshift(a)};
cljs.core.async.impl.buffers.RingBuffer.prototype.resize=function(){var a=Array(2*this.arr.length);return this.tail<this.head?(cljs.core.async.impl.buffers.acopy.call(null,this.arr,this.tail,a,0,this.length),this.tail=0,this.head=this.length,this.arr=a):this.tail>this.head?(cljs.core.async.impl.buffers.acopy.call(null,this.arr,this.tail,a,0,this.arr.length-this.tail),cljs.core.async.impl.buffers.acopy.call(null,this.arr,0,a,this.arr.length-this.tail,this.head),this.tail=0,this.head=this.length,this.arr=
a):this.tail===this.head?(this.head=this.tail=0,this.arr=a):null};cljs.core.async.impl.buffers.RingBuffer.prototype.cleanup=function(a){for(var b=this.length,c=0;;)if(c<b){var d=this.pop();a.call(null,d)&&this.unshift(d);c+=1}else return null};
cljs.core.async.impl.buffers.RingBuffer.getBasis=function(){return new cljs.core.PersistentVector(null,4,5,cljs.core.PersistentVector.EMPTY_NODE,[cljs.core.with_meta(new cljs.core.Symbol(null,"head","head",869147608,null),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"mutable","mutable",875778266),!0],null)),cljs.core.with_meta(new cljs.core.Symbol(null,"tail","tail",494507963,null),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"mutable","mutable",875778266),
!0],null)),cljs.core.with_meta(new cljs.core.Symbol(null,"length","length",-2065447907,null),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"mutable","mutable",875778266),!0],null)),cljs.core.with_meta(new cljs.core.Symbol(null,"arr","arr",2115492975,null),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"mutable","mutable",875778266),!0],null))],null)};cljs.core.async.impl.buffers.RingBuffer.cljs$lang$type=!0;
cljs.core.async.impl.buffers.RingBuffer.cljs$lang$ctorStr="cljs.core.async.impl.buffers/RingBuffer";cljs.core.async.impl.buffers.RingBuffer.cljs$lang$ctorPrWriter=function(a,b,c){return cljs.core._write.call(null,b,"cljs.core.async.impl.buffers/RingBuffer")};cljs.core.async.impl.buffers.__GT_RingBuffer=function(a,b,c,d){return new cljs.core.async.impl.buffers.RingBuffer(a,b,c,d)};
cljs.core.async.impl.buffers.ring_buffer=function(a){if(!(0<a))throw Error("Assert failed: Can't create a ring buffer of size 0\n(\x3e n 0)");return new cljs.core.async.impl.buffers.RingBuffer(0,0,0,Array(a))};cljs.core.async.impl.buffers.FixedBuffer=function(a,b){this.buf=a;this.n=b;this.cljs$lang$protocol_mask$partition0$=2;this.cljs$lang$protocol_mask$partition1$=0};cljs.core.async.impl.buffers.FixedBuffer.prototype.cljs$core$async$impl$protocols$Buffer$=cljs.core.PROTOCOL_SENTINEL;
cljs.core.async.impl.buffers.FixedBuffer.prototype.cljs$core$async$impl$protocols$Buffer$full_QMARK_$arity$1=function(a){return this.buf.length===this.n};cljs.core.async.impl.buffers.FixedBuffer.prototype.cljs$core$async$impl$protocols$Buffer$remove_BANG_$arity$1=function(a){return this.buf.pop()};cljs.core.async.impl.buffers.FixedBuffer.prototype.cljs$core$async$impl$protocols$Buffer$add_BANG__STAR_$arity$2=function(a,b){this.buf.unbounded_unshift(b);return this};
cljs.core.async.impl.buffers.FixedBuffer.prototype.cljs$core$async$impl$protocols$Buffer$close_buf_BANG_$arity$1=function(a){return null};cljs.core.async.impl.buffers.FixedBuffer.prototype.cljs$core$ICounted$_count$arity$1=function(a){return this.buf.length};
cljs.core.async.impl.buffers.FixedBuffer.getBasis=function(){return new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"buf","buf",1426618187,null),new cljs.core.Symbol(null,"n","n",-2092305744,null)],null)};cljs.core.async.impl.buffers.FixedBuffer.cljs$lang$type=!0;cljs.core.async.impl.buffers.FixedBuffer.cljs$lang$ctorStr="cljs.core.async.impl.buffers/FixedBuffer";
cljs.core.async.impl.buffers.FixedBuffer.cljs$lang$ctorPrWriter=function(a,b,c){return cljs.core._write.call(null,b,"cljs.core.async.impl.buffers/FixedBuffer")};cljs.core.async.impl.buffers.__GT_FixedBuffer=function(a,b){return new cljs.core.async.impl.buffers.FixedBuffer(a,b)};cljs.core.async.impl.buffers.fixed_buffer=function(a){return new cljs.core.async.impl.buffers.FixedBuffer(cljs.core.async.impl.buffers.ring_buffer.call(null,a),a)};
cljs.core.async.impl.buffers.DroppingBuffer=function(a,b){this.buf=a;this.n=b;this.cljs$lang$protocol_mask$partition0$=2;this.cljs$lang$protocol_mask$partition1$=0};cljs.core.async.impl.buffers.DroppingBuffer.prototype.cljs$core$async$impl$protocols$UnblockingBuffer$=cljs.core.PROTOCOL_SENTINEL;cljs.core.async.impl.buffers.DroppingBuffer.prototype.cljs$core$async$impl$protocols$Buffer$=cljs.core.PROTOCOL_SENTINEL;
cljs.core.async.impl.buffers.DroppingBuffer.prototype.cljs$core$async$impl$protocols$Buffer$full_QMARK_$arity$1=function(a){return!1};cljs.core.async.impl.buffers.DroppingBuffer.prototype.cljs$core$async$impl$protocols$Buffer$remove_BANG_$arity$1=function(a){return this.buf.pop()};cljs.core.async.impl.buffers.DroppingBuffer.prototype.cljs$core$async$impl$protocols$Buffer$add_BANG__STAR_$arity$2=function(a,b){this.buf.length!==this.n&&this.buf.unshift(b);return this};
cljs.core.async.impl.buffers.DroppingBuffer.prototype.cljs$core$async$impl$protocols$Buffer$close_buf_BANG_$arity$1=function(a){return null};cljs.core.async.impl.buffers.DroppingBuffer.prototype.cljs$core$ICounted$_count$arity$1=function(a){return this.buf.length};
cljs.core.async.impl.buffers.DroppingBuffer.getBasis=function(){return new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"buf","buf",1426618187,null),new cljs.core.Symbol(null,"n","n",-2092305744,null)],null)};cljs.core.async.impl.buffers.DroppingBuffer.cljs$lang$type=!0;cljs.core.async.impl.buffers.DroppingBuffer.cljs$lang$ctorStr="cljs.core.async.impl.buffers/DroppingBuffer";
cljs.core.async.impl.buffers.DroppingBuffer.cljs$lang$ctorPrWriter=function(a,b,c){return cljs.core._write.call(null,b,"cljs.core.async.impl.buffers/DroppingBuffer")};cljs.core.async.impl.buffers.__GT_DroppingBuffer=function(a,b){return new cljs.core.async.impl.buffers.DroppingBuffer(a,b)};cljs.core.async.impl.buffers.dropping_buffer=function(a){return new cljs.core.async.impl.buffers.DroppingBuffer(cljs.core.async.impl.buffers.ring_buffer.call(null,a),a)};
cljs.core.async.impl.buffers.SlidingBuffer=function(a,b){this.buf=a;this.n=b;this.cljs$lang$protocol_mask$partition0$=2;this.cljs$lang$protocol_mask$partition1$=0};cljs.core.async.impl.buffers.SlidingBuffer.prototype.cljs$core$async$impl$protocols$UnblockingBuffer$=cljs.core.PROTOCOL_SENTINEL;cljs.core.async.impl.buffers.SlidingBuffer.prototype.cljs$core$async$impl$protocols$Buffer$=cljs.core.PROTOCOL_SENTINEL;
cljs.core.async.impl.buffers.SlidingBuffer.prototype.cljs$core$async$impl$protocols$Buffer$full_QMARK_$arity$1=function(a){return!1};cljs.core.async.impl.buffers.SlidingBuffer.prototype.cljs$core$async$impl$protocols$Buffer$remove_BANG_$arity$1=function(a){return this.buf.pop()};
cljs.core.async.impl.buffers.SlidingBuffer.prototype.cljs$core$async$impl$protocols$Buffer$add_BANG__STAR_$arity$2=function(a,b){this.buf.length===this.n&&cljs.core.async.impl.protocols.remove_BANG_.call(null,this);this.buf.unshift(b);return this};cljs.core.async.impl.buffers.SlidingBuffer.prototype.cljs$core$async$impl$protocols$Buffer$close_buf_BANG_$arity$1=function(a){return null};cljs.core.async.impl.buffers.SlidingBuffer.prototype.cljs$core$ICounted$_count$arity$1=function(a){return this.buf.length};
cljs.core.async.impl.buffers.SlidingBuffer.getBasis=function(){return new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"buf","buf",1426618187,null),new cljs.core.Symbol(null,"n","n",-2092305744,null)],null)};cljs.core.async.impl.buffers.SlidingBuffer.cljs$lang$type=!0;cljs.core.async.impl.buffers.SlidingBuffer.cljs$lang$ctorStr="cljs.core.async.impl.buffers/SlidingBuffer";
cljs.core.async.impl.buffers.SlidingBuffer.cljs$lang$ctorPrWriter=function(a,b,c){return cljs.core._write.call(null,b,"cljs.core.async.impl.buffers/SlidingBuffer")};cljs.core.async.impl.buffers.__GT_SlidingBuffer=function(a,b){return new cljs.core.async.impl.buffers.SlidingBuffer(a,b)};cljs.core.async.impl.buffers.sliding_buffer=function(a){return new cljs.core.async.impl.buffers.SlidingBuffer(cljs.core.async.impl.buffers.ring_buffer.call(null,a),a)};
if("undefined"===typeof cljs||"undefined"===typeof cljs.core||"undefined"===typeof cljs.core.async||"undefined"===typeof cljs.core.async.impl||"undefined"===typeof cljs.core.async.impl.buffers||"undefined"===typeof cljs.core.async.impl.buffers.NO_VAL)cljs.core.async.impl.buffers.NO_VAL={};cljs.core.async.impl.buffers.undelivered_QMARK_=function(a){return cljs.core.async.impl.buffers.NO_VAL===a};
cljs.core.async.impl.buffers.PromiseBuffer=function(a){this.val=a;this.cljs$lang$protocol_mask$partition0$=2;this.cljs$lang$protocol_mask$partition1$=0};cljs.core.async.impl.buffers.PromiseBuffer.prototype.cljs$core$async$impl$protocols$UnblockingBuffer$=cljs.core.PROTOCOL_SENTINEL;cljs.core.async.impl.buffers.PromiseBuffer.prototype.cljs$core$async$impl$protocols$Buffer$=cljs.core.PROTOCOL_SENTINEL;
cljs.core.async.impl.buffers.PromiseBuffer.prototype.cljs$core$async$impl$protocols$Buffer$full_QMARK_$arity$1=function(a){return!1};cljs.core.async.impl.buffers.PromiseBuffer.prototype.cljs$core$async$impl$protocols$Buffer$remove_BANG_$arity$1=function(a){return this.val};cljs.core.async.impl.buffers.PromiseBuffer.prototype.cljs$core$async$impl$protocols$Buffer$add_BANG__STAR_$arity$2=function(a,b){cljs.core.async.impl.buffers.undelivered_QMARK_.call(null,this.val)&&(this.val=b);return this};
cljs.core.async.impl.buffers.PromiseBuffer.prototype.cljs$core$async$impl$protocols$Buffer$close_buf_BANG_$arity$1=function(a){return cljs.core.async.impl.buffers.undelivered_QMARK_.call(null,this.val)?this.val=null:null};cljs.core.async.impl.buffers.PromiseBuffer.prototype.cljs$core$ICounted$_count$arity$1=function(a){return cljs.core.async.impl.buffers.undelivered_QMARK_.call(null,this.val)?0:1};
cljs.core.async.impl.buffers.PromiseBuffer.getBasis=function(){return new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[cljs.core.with_meta(new cljs.core.Symbol(null,"val","val",1769233139,null),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"mutable","mutable",875778266),!0],null))],null)};cljs.core.async.impl.buffers.PromiseBuffer.cljs$lang$type=!0;cljs.core.async.impl.buffers.PromiseBuffer.cljs$lang$ctorStr="cljs.core.async.impl.buffers/PromiseBuffer";
cljs.core.async.impl.buffers.PromiseBuffer.cljs$lang$ctorPrWriter=function(a,b,c){return cljs.core._write.call(null,b,"cljs.core.async.impl.buffers/PromiseBuffer")};cljs.core.async.impl.buffers.__GT_PromiseBuffer=function(a){return new cljs.core.async.impl.buffers.PromiseBuffer(a)};cljs.core.async.impl.buffers.promise_buffer=function(){return new cljs.core.async.impl.buffers.PromiseBuffer(cljs.core.async.impl.buffers.NO_VAL)};cljs.core.async.impl.dispatch={};cljs.core.async.impl.dispatch.tasks=cljs.core.async.impl.buffers.ring_buffer.call(null,32);cljs.core.async.impl.dispatch.running_QMARK_=!1;cljs.core.async.impl.dispatch.queued_QMARK_=!1;cljs.core.async.impl.dispatch.TASK_BATCH_SIZE=1024;
cljs.core.async.impl.dispatch.process_messages=function(){cljs.core.async.impl.dispatch.running_QMARK_=!0;cljs.core.async.impl.dispatch.queued_QMARK_=!1;for(var a=0;;){var b=cljs.core.async.impl.dispatch.tasks.pop();if(null!=b&&(b.call(null),a<cljs.core.async.impl.dispatch.TASK_BATCH_SIZE)){a+=1;continue}break}cljs.core.async.impl.dispatch.running_QMARK_=!1;return 0<cljs.core.async.impl.dispatch.tasks.length?cljs.core.async.impl.dispatch.queue_dispatcher.call(null):null};
cljs.core.async.impl.dispatch.queue_dispatcher=function(){if(cljs.core.async.impl.dispatch.queued_QMARK_&&cljs.core.async.impl.dispatch.running_QMARK_)return null;cljs.core.async.impl.dispatch.queued_QMARK_=!0;return goog.async.nextTick.call(null,cljs.core.async.impl.dispatch.process_messages)};cljs.core.async.impl.dispatch.run=function(a){cljs.core.async.impl.dispatch.tasks.unbounded_unshift(a);return cljs.core.async.impl.dispatch.queue_dispatcher.call(null)};
cljs.core.async.impl.dispatch.queue_delay=function(a,b){return setTimeout(a,b)};cljs.core.async.impl.channels={};
cljs.core.async.impl.channels.box=function(a){if("undefined"===typeof cljs||"undefined"===typeof cljs.core||"undefined"===typeof cljs.core.async||"undefined"===typeof cljs.core.async.impl||"undefined"===typeof cljs.core.async.impl.channels||"undefined"===typeof cljs.core.async.impl.channels.t_cljs$core$async$impl$channels35561)cljs.core.async.impl.channels.t_cljs$core$async$impl$channels35561=function(a,c){this.val=a;this.meta35562=c;this.cljs$lang$protocol_mask$partition0$=425984;this.cljs$lang$protocol_mask$partition1$=
0},cljs.core.async.impl.channels.t_cljs$core$async$impl$channels35561.prototype.cljs$core$IWithMeta$_with_meta$arity$2=function(a,c){return new cljs.core.async.impl.channels.t_cljs$core$async$impl$channels35561(this.val,c)},cljs.core.async.impl.channels.t_cljs$core$async$impl$channels35561.prototype.cljs$core$IMeta$_meta$arity$1=function(a){return this.meta35562},cljs.core.async.impl.channels.t_cljs$core$async$impl$channels35561.prototype.cljs$core$IDeref$_deref$arity$1=function(a){return this.val},
cljs.core.async.impl.channels.t_cljs$core$async$impl$channels35561.getBasis=function(){return new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"val","val",1769233139,null),new cljs.core.Symbol(null,"meta35562","meta35562",2073919064,null)],null)},cljs.core.async.impl.channels.t_cljs$core$async$impl$channels35561.cljs$lang$type=!0,cljs.core.async.impl.channels.t_cljs$core$async$impl$channels35561.cljs$lang$ctorStr="cljs.core.async.impl.channels/t_cljs$core$async$impl$channels35561",
cljs.core.async.impl.channels.t_cljs$core$async$impl$channels35561.cljs$lang$ctorPrWriter=function(a,c,d){return cljs.core._write.call(null,c,"cljs.core.async.impl.channels/t_cljs$core$async$impl$channels35561")},cljs.core.async.impl.channels.__GT_t_cljs$core$async$impl$channels35561=function(a,c){return new cljs.core.async.impl.channels.t_cljs$core$async$impl$channels35561(a,c)};return new cljs.core.async.impl.channels.t_cljs$core$async$impl$channels35561(a,cljs.core.PersistentArrayMap.EMPTY)};
cljs.core.async.impl.channels.PutBox=function(a,b){this.handler=a;this.val=b};cljs.core.async.impl.channels.PutBox.getBasis=function(){return new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"handler","handler",1444934915,null),new cljs.core.Symbol(null,"val","val",1769233139,null)],null)};cljs.core.async.impl.channels.PutBox.cljs$lang$type=!0;cljs.core.async.impl.channels.PutBox.cljs$lang$ctorStr="cljs.core.async.impl.channels/PutBox";
cljs.core.async.impl.channels.PutBox.cljs$lang$ctorPrWriter=function(a,b,c){return cljs.core._write.call(null,b,"cljs.core.async.impl.channels/PutBox")};cljs.core.async.impl.channels.__GT_PutBox=function(a,b){return new cljs.core.async.impl.channels.PutBox(a,b)};cljs.core.async.impl.channels.put_active_QMARK_=function(a){return cljs.core.async.impl.protocols.active_QMARK_.call(null,a.handler)};cljs.core.async.impl.channels.MAX_DIRTY=64;cljs.core.async.impl.channels.MMC=function(){};
cljs.core.async.impl.channels.abort=function(a){if(null!=a&&null!=a.cljs$core$async$impl$channels$MMC$abort$arity$1)return a.cljs$core$async$impl$channels$MMC$abort$arity$1(a);var b=cljs.core.async.impl.channels.abort[goog.typeOf(null==a?null:a)];if(null!=b)return b.call(null,a);b=cljs.core.async.impl.channels.abort._;if(null!=b)return b.call(null,a);throw cljs.core.missing_protocol.call(null,"MMC.abort",a);};
cljs.core.async.impl.channels.ManyToManyChannel=function(a,b,c,d,e,f,g){this.takes=a;this.dirty_takes=b;this.puts=c;this.dirty_puts=d;this.buf=e;this.closed=f;this.add_BANG_=g};cljs.core.async.impl.channels.ManyToManyChannel.prototype.cljs$core$async$impl$channels$MMC$=cljs.core.PROTOCOL_SENTINEL;
cljs.core.async.impl.channels.ManyToManyChannel.prototype.cljs$core$async$impl$channels$MMC$abort$arity$1=function(a){for(;;){a=this.puts.pop();if(null!=a){var b=a.handler,c=a.val;if(cljs.core.async.impl.protocols.active_QMARK_.call(null,b)){var d=cljs.core.async.impl.protocols.commit.call(null,b);cljs.core.async.impl.dispatch.run.call(null,function(a,b,c,d,k){return function(){return a.call(null,!0)}}(d,b,c,a,this))}else continue}break}this.puts.cleanup(cljs.core.constantly.call(null,!1));return cljs.core.async.impl.protocols.close_BANG_.call(null,
this)};cljs.core.async.impl.channels.ManyToManyChannel.prototype.cljs$core$async$impl$protocols$WritePort$=cljs.core.PROTOCOL_SENTINEL;
cljs.core.async.impl.channels.ManyToManyChannel.prototype.cljs$core$async$impl$protocols$WritePort$put_BANG_$arity$3=function(a,b,c){var d=this,e=this;if(null==b)throw Error("Assert failed: Can't put nil on a channel\n(not (nil? val))");var f=d.closed;if(f||!cljs.core.async.impl.protocols.active_QMARK_.call(null,c))return cljs.core.async.impl.channels.box.call(null,!f);if(cljs.core.truth_(function(){var a=d.buf;return cljs.core.truth_(a)?cljs.core.not.call(null,cljs.core.async.impl.protocols.full_QMARK_.call(null,
d.buf)):a}())){cljs.core.async.impl.protocols.commit.call(null,c);var g=cljs.core.reduced_QMARK_.call(null,d.add_BANG_.call(null,d.buf,b));c=function(){for(var a=cljs.core.PersistentVector.EMPTY;;)if(0<d.takes.length&&0<cljs.core.count.call(null,d.buf)){var b=d.takes.pop();if(cljs.core.async.impl.protocols.active_QMARK_.call(null,b)){var c=cljs.core.async.impl.protocols.commit.call(null,b),h=cljs.core.async.impl.protocols.remove_BANG_.call(null,d.buf);a=cljs.core.conj.call(null,a,function(a,b,c,d,
e,f,g){return function(){return b.call(null,c)}}(a,c,h,b,g,f,e))}}else return a}();g&&cljs.core.async.impl.channels.abort.call(null,e);if(cljs.core.seq.call(null,c)){c=cljs.core.seq.call(null,c);a=null;for(var h=0,k=0;;)if(k<h){var l=cljs.core._nth.call(null,a,k);cljs.core.async.impl.dispatch.run.call(null,l);k+=1}else if(c=cljs.core.seq.call(null,c))a=c,cljs.core.chunked_seq_QMARK_.call(null,a)?(c=cljs.core.chunk_first.call(null,a),k=cljs.core.chunk_rest.call(null,a),a=c,h=cljs.core.count.call(null,
c),c=k):(c=cljs.core.first.call(null,a),cljs.core.async.impl.dispatch.run.call(null,c),c=cljs.core.next.call(null,a),a=null,h=0),k=0;else break}return cljs.core.async.impl.channels.box.call(null,!0)}a=function(){for(;;){var a=d.takes.pop();if(cljs.core.truth_(a)){if(cljs.core.truth_(cljs.core.async.impl.protocols.active_QMARK_.call(null,a)))return a}else return null}}();if(cljs.core.truth_(a))return h=cljs.core.async.impl.protocols.commit.call(null,a),cljs.core.async.impl.protocols.commit.call(null,
c),cljs.core.async.impl.dispatch.run.call(null,function(a,c,d,e){return function(){return a.call(null,b)}}(h,a,f,e)),cljs.core.async.impl.channels.box.call(null,!0);64<d.dirty_puts?(d.dirty_puts=0,d.puts.cleanup(cljs.core.async.impl.channels.put_active_QMARK_)):d.dirty_puts+=1;if(cljs.core.truth_(cljs.core.async.impl.protocols.blockable_QMARK_.call(null,c))){if(!(1024>d.puts.length))throw Error(["Assert failed: ",["No more than ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(1024)," pending puts are allowed on a single channel. Consider using a windowed buffer."].join(""),
"\n(\x3c (.-length puts) impl/MAX-QUEUE-SIZE)"].join(""));d.puts.unbounded_unshift(new cljs.core.async.impl.channels.PutBox(c,b))}return null};cljs.core.async.impl.channels.ManyToManyChannel.prototype.cljs$core$async$impl$protocols$ReadPort$=cljs.core.PROTOCOL_SENTINEL;
cljs.core.async.impl.channels.ManyToManyChannel.prototype.cljs$core$async$impl$protocols$ReadPort$take_BANG_$arity$2=function(a,b){var c=this;if(cljs.core.async.impl.protocols.active_QMARK_.call(null,b)){if(null!=c.buf&&0<cljs.core.count.call(null,c.buf)){a=cljs.core.async.impl.protocols.commit.call(null,b);if(cljs.core.truth_(a)){var d=cljs.core.async.impl.protocols.remove_BANG_.call(null,c.buf),e=0<c.puts.length?function(){for(var a=cljs.core.PersistentVector.EMPTY;;){var b=c.puts.pop(),d=b.handler;
b=b.val;var e=cljs.core.async.impl.protocols.active_QMARK_.call(null,d);d=e?cljs.core.async.impl.protocols.commit.call(null,d):e;a=cljs.core.truth_(d)?cljs.core.conj.call(null,a,d):a;b=cljs.core.truth_(d)?cljs.core.reduced_QMARK_.call(null,c.add_BANG_.call(null,c.buf,b)):null;if(!(cljs.core.not.call(null,b)&&cljs.core.not.call(null,cljs.core.async.impl.protocols.full_QMARK_.call(null,c.buf))&&0<c.puts.length))return new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[b,
a],null)}}():null,f=cljs.core.nth.call(null,e,0,null),g=cljs.core.nth.call(null,e,1,null);cljs.core.truth_(f)&&cljs.core.async.impl.channels.abort.call(null,this);for(var h=cljs.core.seq.call(null,g),k=null,l=0,m=0;;)if(m<l){var n=cljs.core._nth.call(null,k,m);cljs.core.async.impl.dispatch.run.call(null,function(a,b,c,d,e,f,g,h,k,l,m,n){return function(){return e.call(null,!0)}}(h,k,l,m,n,d,e,f,g,a,a,this));m+=1}else{var p=cljs.core.seq.call(null,h);if(p){n=p;if(cljs.core.chunked_seq_QMARK_.call(null,
n))h=cljs.core.chunk_first.call(null,n),m=cljs.core.chunk_rest.call(null,n),k=h,l=cljs.core.count.call(null,h),h=m;else{var q=cljs.core.first.call(null,n);cljs.core.async.impl.dispatch.run.call(null,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q){return function(){return e.call(null,!0)}}(h,k,l,m,q,n,p,d,e,f,g,a,a,this));h=cljs.core.next.call(null,n);k=null;l=0}m=0}else break}return cljs.core.async.impl.channels.box.call(null,d)}return null}a=function(){for(;;){var a=c.puts.pop();if(cljs.core.truth_(a)){if(cljs.core.async.impl.protocols.active_QMARK_.call(null,
a.handler))return a}else return null}}();if(cljs.core.truth_(a))return d=cljs.core.async.impl.protocols.commit.call(null,a.handler),cljs.core.async.impl.protocols.commit.call(null,b),cljs.core.async.impl.dispatch.run.call(null,function(a,b,c){return function(){return a.call(null,!0)}}(d,a,this)),cljs.core.async.impl.channels.box.call(null,a.val);if(cljs.core.truth_(c.closed))return cljs.core.truth_(c.buf)&&c.add_BANG_.call(null,c.buf),cljs.core.truth_(function(){var a=cljs.core.async.impl.protocols.active_QMARK_.call(null,
b);return cljs.core.truth_(a)?cljs.core.async.impl.protocols.commit.call(null,b):a}())?(a=function(){var a=c.buf;return cljs.core.truth_(a)?0<cljs.core.count.call(null,c.buf):a}(),d=cljs.core.truth_(a)?cljs.core.async.impl.protocols.remove_BANG_.call(null,c.buf):null,cljs.core.async.impl.channels.box.call(null,d)):null;64<c.dirty_takes?(c.dirty_takes=0,c.takes.cleanup(cljs.core.async.impl.protocols.active_QMARK_)):c.dirty_takes+=1;if(cljs.core.truth_(cljs.core.async.impl.protocols.blockable_QMARK_.call(null,
b))){if(!(1024>c.takes.length))throw Error(["Assert failed: ",["No more than ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(1024)," pending takes are allowed on a single channel."].join(""),"\n(\x3c (.-length takes) impl/MAX-QUEUE-SIZE)"].join(""));c.takes.unbounded_unshift(b)}}return null};cljs.core.async.impl.channels.ManyToManyChannel.prototype.cljs$core$async$impl$protocols$Channel$=cljs.core.PROTOCOL_SENTINEL;
cljs.core.async.impl.channels.ManyToManyChannel.prototype.cljs$core$async$impl$protocols$Channel$closed_QMARK_$arity$1=function(a){return this.closed};
cljs.core.async.impl.channels.ManyToManyChannel.prototype.cljs$core$async$impl$protocols$Channel$close_BANG_$arity$1=function(a){var b=this;if(!b.closed){b.closed=!0;for(cljs.core.truth_(function(){var a=b.buf;return cljs.core.truth_(a)?0===b.puts.length:a}())&&b.add_BANG_.call(null,b.buf);;)if(a=b.takes.pop(),null!=a){if(cljs.core.async.impl.protocols.active_QMARK_.call(null,a)){var c=cljs.core.async.impl.protocols.commit.call(null,a),d=cljs.core.truth_(function(){var a=b.buf;return cljs.core.truth_(a)?
0<cljs.core.count.call(null,b.buf):a}())?cljs.core.async.impl.protocols.remove_BANG_.call(null,b.buf):null;cljs.core.async.impl.dispatch.run.call(null,function(a,b,c,d){return function(){return a.call(null,b)}}(c,d,a,this))}}else break;cljs.core.truth_(b.buf)&&cljs.core.async.impl.protocols.close_buf_BANG_.call(null,b.buf)}return null};
cljs.core.async.impl.channels.ManyToManyChannel.getBasis=function(){return new cljs.core.PersistentVector(null,7,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"takes","takes",298247964,null),cljs.core.with_meta(new cljs.core.Symbol(null,"dirty-takes","dirty-takes",575642138,null),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"mutable","mutable",875778266),!0],null)),new cljs.core.Symbol(null,"puts","puts",-1883877054,null),cljs.core.with_meta(new cljs.core.Symbol(null,
"dirty-puts","dirty-puts",57041148,null),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"mutable","mutable",875778266),!0],null)),cljs.core.with_meta(new cljs.core.Symbol(null,"buf","buf",1426618187,null),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"tag","tag",-1290361223),new cljs.core.Symbol(null,"not-native","not-native",-236392494,null)],null)),cljs.core.with_meta(new cljs.core.Symbol(null,"closed","closed",720856168,null),new cljs.core.PersistentArrayMap(null,
1,[new cljs.core.Keyword(null,"mutable","mutable",875778266),!0],null)),new cljs.core.Symbol(null,"add!","add!",2046056845,null)],null)};cljs.core.async.impl.channels.ManyToManyChannel.cljs$lang$type=!0;cljs.core.async.impl.channels.ManyToManyChannel.cljs$lang$ctorStr="cljs.core.async.impl.channels/ManyToManyChannel";cljs.core.async.impl.channels.ManyToManyChannel.cljs$lang$ctorPrWriter=function(a,b,c){return cljs.core._write.call(null,b,"cljs.core.async.impl.channels/ManyToManyChannel")};
cljs.core.async.impl.channels.__GT_ManyToManyChannel=function(a,b,c,d,e,f,g){return new cljs.core.async.impl.channels.ManyToManyChannel(a,b,c,d,e,f,g)};cljs.core.async.impl.channels.ex_handler=function(a){console.log(a);return null};cljs.core.async.impl.channels.handle=function(a,b,c){b=cljs.core.truth_(b)?b:cljs.core.async.impl.channels.ex_handler;c=b.call(null,c);return null==c?a:cljs.core.async.impl.protocols.add_BANG_.call(null,a,c)};
cljs.core.async.impl.channels.chan=function(a){switch(arguments.length){case 1:return cljs.core.async.impl.channels.chan.cljs$core$IFn$_invoke$arity$1(arguments[0]);case 2:return cljs.core.async.impl.channels.chan.cljs$core$IFn$_invoke$arity$2(arguments[0],arguments[1]);case 3:return cljs.core.async.impl.channels.chan.cljs$core$IFn$_invoke$arity$3(arguments[0],arguments[1],arguments[2]);default:throw Error(["Invalid arity: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(""));
}};cljs.core.async.impl.channels.chan.cljs$core$IFn$_invoke$arity$1=function(a){return cljs.core.async.impl.channels.chan.call(null,a,null)};cljs.core.async.impl.channels.chan.cljs$core$IFn$_invoke$arity$2=function(a,b){return cljs.core.async.impl.channels.chan.call(null,a,b,null)};
cljs.core.async.impl.channels.chan.cljs$core$IFn$_invoke$arity$3=function(a,b,c){return new cljs.core.async.impl.channels.ManyToManyChannel(cljs.core.async.impl.buffers.ring_buffer.call(null,32),0,cljs.core.async.impl.buffers.ring_buffer.call(null,32),0,a,!1,function(){return function(a){return function(){var b=null,d=function(b){try{return a.call(null,b)}catch(k){return cljs.core.async.impl.channels.handle.call(null,b,c,k)}},g=function(b,d){try{return a.call(null,b,d)}catch(l){return cljs.core.async.impl.channels.handle.call(null,
b,c,l)}};b=function(a,b){switch(arguments.length){case 1:return d.call(this,a);case 2:return g.call(this,a,b)}throw Error("Invalid arity: "+arguments.length);};b.cljs$core$IFn$_invoke$arity$1=d;b.cljs$core$IFn$_invoke$arity$2=g;return b}()}(cljs.core.truth_(b)?b.call(null,cljs.core.async.impl.protocols.add_BANG_):cljs.core.async.impl.protocols.add_BANG_)}())};cljs.core.async.impl.channels.chan.cljs$lang$maxFixedArity=3;cljs.core.async.impl.ioc_helpers={};cljs.core.async.impl.ioc_helpers.FN_IDX=0;cljs.core.async.impl.ioc_helpers.STATE_IDX=1;cljs.core.async.impl.ioc_helpers.VALUE_IDX=2;cljs.core.async.impl.ioc_helpers.BINDINGS_IDX=3;cljs.core.async.impl.ioc_helpers.EXCEPTION_FRAMES=4;cljs.core.async.impl.ioc_helpers.CURRENT_EXCEPTION=5;cljs.core.async.impl.ioc_helpers.USER_START_IDX=6;cljs.core.async.impl.ioc_helpers.aset_object=function(a,b,c){return a[b][c]};
cljs.core.async.impl.ioc_helpers.aget_object=function(a,b){return a[b]};cljs.core.async.impl.ioc_helpers.finished_QMARK_=function(a){return cljs.core.keyword_identical_QMARK_.call(null,a[1],new cljs.core.Keyword(null,"finished","finished",-1018867731))};
cljs.core.async.impl.ioc_helpers.fn_handler=function(a){if("undefined"===typeof cljs||"undefined"===typeof cljs.core||"undefined"===typeof cljs.core.async||"undefined"===typeof cljs.core.async.impl||"undefined"===typeof cljs.core.async.impl.ioc_helpers||"undefined"===typeof cljs.core.async.impl.ioc_helpers.t_cljs$core$async$impl$ioc_helpers38290)cljs.core.async.impl.ioc_helpers.t_cljs$core$async$impl$ioc_helpers38290=function(a,c){this.f=a;this.meta38291=c;this.cljs$lang$protocol_mask$partition0$=
393216;this.cljs$lang$protocol_mask$partition1$=0},cljs.core.async.impl.ioc_helpers.t_cljs$core$async$impl$ioc_helpers38290.prototype.cljs$core$IWithMeta$_with_meta$arity$2=function(a,c){return new cljs.core.async.impl.ioc_helpers.t_cljs$core$async$impl$ioc_helpers38290(this.f,c)},cljs.core.async.impl.ioc_helpers.t_cljs$core$async$impl$ioc_helpers38290.prototype.cljs$core$IMeta$_meta$arity$1=function(a){return this.meta38291},cljs.core.async.impl.ioc_helpers.t_cljs$core$async$impl$ioc_helpers38290.prototype.cljs$core$async$impl$protocols$Handler$=
cljs.core.PROTOCOL_SENTINEL,cljs.core.async.impl.ioc_helpers.t_cljs$core$async$impl$ioc_helpers38290.prototype.cljs$core$async$impl$protocols$Handler$active_QMARK_$arity$1=function(a){return!0},cljs.core.async.impl.ioc_helpers.t_cljs$core$async$impl$ioc_helpers38290.prototype.cljs$core$async$impl$protocols$Handler$blockable_QMARK_$arity$1=function(a){return!0},cljs.core.async.impl.ioc_helpers.t_cljs$core$async$impl$ioc_helpers38290.prototype.cljs$core$async$impl$protocols$Handler$commit$arity$1=function(a){return this.f},
cljs.core.async.impl.ioc_helpers.t_cljs$core$async$impl$ioc_helpers38290.getBasis=function(){return new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"f","f",43394975,null),new cljs.core.Symbol(null,"meta38291","meta38291",-1098272943,null)],null)},cljs.core.async.impl.ioc_helpers.t_cljs$core$async$impl$ioc_helpers38290.cljs$lang$type=!0,cljs.core.async.impl.ioc_helpers.t_cljs$core$async$impl$ioc_helpers38290.cljs$lang$ctorStr="cljs.core.async.impl.ioc-helpers/t_cljs$core$async$impl$ioc_helpers38290",
cljs.core.async.impl.ioc_helpers.t_cljs$core$async$impl$ioc_helpers38290.cljs$lang$ctorPrWriter=function(a,c,d){return cljs.core._write.call(null,c,"cljs.core.async.impl.ioc-helpers/t_cljs$core$async$impl$ioc_helpers38290")},cljs.core.async.impl.ioc_helpers.__GT_t_cljs$core$async$impl$ioc_helpers38290=function(a,c){return new cljs.core.async.impl.ioc_helpers.t_cljs$core$async$impl$ioc_helpers38290(a,c)};return new cljs.core.async.impl.ioc_helpers.t_cljs$core$async$impl$ioc_helpers38290(a,cljs.core.PersistentArrayMap.EMPTY)};
cljs.core.async.impl.ioc_helpers.run_state_machine=function(a){return cljs.core.async.impl.ioc_helpers.aget_object.call(null,a,0).call(null,a)};cljs.core.async.impl.ioc_helpers.run_state_machine_wrapped=function(a){try{return cljs.core.async.impl.ioc_helpers.run_state_machine.call(null,a)}catch(c){if(c instanceof Object){var b=c;cljs.core.async.impl.protocols.close_BANG_.call(null,cljs.core.async.impl.ioc_helpers.aget_object.call(null,a,6));throw b;}throw c;}};
cljs.core.async.impl.ioc_helpers.take_BANG_=function(a,b,c){c=cljs.core.async.impl.protocols.take_BANG_.call(null,c,cljs.core.async.impl.ioc_helpers.fn_handler.call(null,function(c){a[2]=c;a[1]=b;return cljs.core.async.impl.ioc_helpers.run_state_machine_wrapped.call(null,a)}));return cljs.core.truth_(c)?(a[2]=cljs.core.deref.call(null,c),a[1]=b,new cljs.core.Keyword(null,"recur","recur",-437573268)):null};
cljs.core.async.impl.ioc_helpers.put_BANG_=function(a,b,c,d){c=cljs.core.async.impl.protocols.put_BANG_.call(null,c,d,cljs.core.async.impl.ioc_helpers.fn_handler.call(null,function(c){a[2]=c;a[1]=b;return cljs.core.async.impl.ioc_helpers.run_state_machine_wrapped.call(null,a)}));return cljs.core.truth_(c)?(a[2]=cljs.core.deref.call(null,c),a[1]=b,new cljs.core.Keyword(null,"recur","recur",-437573268)):null};
cljs.core.async.impl.ioc_helpers.return_chan=function(a,b){a=a[6];null!=b&&cljs.core.async.impl.protocols.put_BANG_.call(null,a,b,cljs.core.async.impl.ioc_helpers.fn_handler.call(null,function(a){return function(){return null}}(a)));cljs.core.async.impl.protocols.close_BANG_.call(null,a);return a};
cljs.core.async.impl.ioc_helpers.ExceptionFrame=function(a,b,c,d,e,f,g,h){this.catch_block=a;this.catch_exception=b;this.finally_block=c;this.continue_block=d;this.prev=e;this.__meta=f;this.__extmap=g;this.__hash=h;this.cljs$lang$protocol_mask$partition0$=2230716170;this.cljs$lang$protocol_mask$partition1$=139264};cljs.core.async.impl.ioc_helpers.ExceptionFrame.prototype.cljs$core$ILookup$_lookup$arity$2=function(a,b){return this.cljs$core$ILookup$_lookup$arity$3(null,b,null)};
cljs.core.async.impl.ioc_helpers.ExceptionFrame.prototype.cljs$core$ILookup$_lookup$arity$3=function(a,b,c){switch(b instanceof cljs.core.Keyword?b.fqn:null){case "catch-block":return this.catch_block;case "catch-exception":return this.catch_exception;case "finally-block":return this.finally_block;case "continue-block":return this.continue_block;case "prev":return this.prev;default:return cljs.core.get.call(null,this.__extmap,b,c)}};
cljs.core.async.impl.ioc_helpers.ExceptionFrame.prototype.cljs$core$IKVReduce$_kv_reduce$arity$3=function(a,b,c){return cljs.core.reduce.call(null,function(a){return function(a,c){var d=cljs.core.nth.call(null,c,0,null);c=cljs.core.nth.call(null,c,1,null);return b.call(null,a,d,c)}}(this),c,this)};
cljs.core.async.impl.ioc_helpers.ExceptionFrame.prototype.cljs$core$IPrintWithWriter$_pr_writer$arity$3=function(a,b,c){a=function(a){return function(a){return cljs.core.pr_sequential_writer.call(null,b,cljs.core.pr_writer,""," ","",c,a)}}(this);return cljs.core.pr_sequential_writer.call(null,b,a,"#cljs.core.async.impl.ioc-helpers.ExceptionFrame{",", ","}",c,cljs.core.concat.call(null,new cljs.core.PersistentVector(null,5,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.PersistentVector(null,
2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"catch-block","catch-block",1175212748),this.catch_block],null),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"catch-exception","catch-exception",-1997306795),this.catch_exception],null),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"finally-block","finally-block",832982472),this.finally_block],null),new cljs.core.PersistentVector(null,
2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"continue-block","continue-block",-1852047850),this.continue_block],null),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"prev","prev",-1597069226),this.prev],null)],null),this.__extmap))};
cljs.core.async.impl.ioc_helpers.ExceptionFrame.prototype.cljs$core$IIterable$_iterator$arity$1=function(a){return new cljs.core.RecordIter(0,this,5,new cljs.core.PersistentVector(null,5,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"catch-block","catch-block",1175212748),new cljs.core.Keyword(null,"catch-exception","catch-exception",-1997306795),new cljs.core.Keyword(null,"finally-block","finally-block",832982472),new cljs.core.Keyword(null,"continue-block","continue-block",
-1852047850),new cljs.core.Keyword(null,"prev","prev",-1597069226)],null),cljs.core.truth_(this.__extmap)?cljs.core._iterator.call(null,this.__extmap):cljs.core.nil_iter.call(null))};cljs.core.async.impl.ioc_helpers.ExceptionFrame.prototype.cljs$core$IMeta$_meta$arity$1=function(a){return this.__meta};
cljs.core.async.impl.ioc_helpers.ExceptionFrame.prototype.cljs$core$ICloneable$_clone$arity$1=function(a){return new cljs.core.async.impl.ioc_helpers.ExceptionFrame(this.catch_block,this.catch_exception,this.finally_block,this.continue_block,this.prev,this.__meta,this.__extmap,this.__hash)};cljs.core.async.impl.ioc_helpers.ExceptionFrame.prototype.cljs$core$ICounted$_count$arity$1=function(a){return 5+cljs.core.count.call(null,this.__extmap)};
cljs.core.async.impl.ioc_helpers.ExceptionFrame.prototype.cljs$core$IHash$_hash$arity$1=function(a){a=this.__hash;return null!=a?a:this.__hash=a=function(a,c){return function(a){return 846900531^cljs.core.hash_unordered_coll.call(null,a)}}(a,this).call(null,this)};
cljs.core.async.impl.ioc_helpers.ExceptionFrame.prototype.cljs$core$IEquiv$_equiv$arity$2=function(a,b){return null!=b&&this.constructor===b.constructor&&cljs.core._EQ_.call(null,this.catch_block,b.catch_block)&&cljs.core._EQ_.call(null,this.catch_exception,b.catch_exception)&&cljs.core._EQ_.call(null,this.finally_block,b.finally_block)&&cljs.core._EQ_.call(null,this.continue_block,b.continue_block)&&cljs.core._EQ_.call(null,this.prev,b.prev)&&cljs.core._EQ_.call(null,this.__extmap,b.__extmap)};
cljs.core.async.impl.ioc_helpers.ExceptionFrame.prototype.cljs$core$IMap$_dissoc$arity$2=function(a,b){return cljs.core.contains_QMARK_.call(null,new cljs.core.PersistentHashSet(null,new cljs.core.PersistentArrayMap(null,5,[new cljs.core.Keyword(null,"finally-block","finally-block",832982472),null,new cljs.core.Keyword(null,"catch-block","catch-block",1175212748),null,new cljs.core.Keyword(null,"catch-exception","catch-exception",-1997306795),null,new cljs.core.Keyword(null,"prev","prev",-1597069226),
null,new cljs.core.Keyword(null,"continue-block","continue-block",-1852047850),null],null),null),b)?cljs.core.dissoc.call(null,cljs.core._with_meta.call(null,cljs.core.into.call(null,cljs.core.PersistentArrayMap.EMPTY,this),this.__meta),b):new cljs.core.async.impl.ioc_helpers.ExceptionFrame(this.catch_block,this.catch_exception,this.finally_block,this.continue_block,this.prev,this.__meta,cljs.core.not_empty.call(null,cljs.core.dissoc.call(null,this.__extmap,b)),null)};
cljs.core.async.impl.ioc_helpers.ExceptionFrame.prototype.cljs$core$IAssociative$_assoc$arity$3=function(a,b,c){a=cljs.core.keyword_identical_QMARK_;return cljs.core.truth_(a.call(null,new cljs.core.Keyword(null,"catch-block","catch-block",1175212748),b))?new cljs.core.async.impl.ioc_helpers.ExceptionFrame(c,this.catch_exception,this.finally_block,this.continue_block,this.prev,this.__meta,this.__extmap,null):cljs.core.truth_(a.call(null,new cljs.core.Keyword(null,"catch-exception","catch-exception",
-1997306795),b))?new cljs.core.async.impl.ioc_helpers.ExceptionFrame(this.catch_block,c,this.finally_block,this.continue_block,this.prev,this.__meta,this.__extmap,null):cljs.core.truth_(a.call(null,new cljs.core.Keyword(null,"finally-block","finally-block",832982472),b))?new cljs.core.async.impl.ioc_helpers.ExceptionFrame(this.catch_block,this.catch_exception,c,this.continue_block,this.prev,this.__meta,this.__extmap,null):cljs.core.truth_(a.call(null,new cljs.core.Keyword(null,"continue-block","continue-block",
-1852047850),b))?new cljs.core.async.impl.ioc_helpers.ExceptionFrame(this.catch_block,this.catch_exception,this.finally_block,c,this.prev,this.__meta,this.__extmap,null):cljs.core.truth_(a.call(null,new cljs.core.Keyword(null,"prev","prev",-1597069226),b))?new cljs.core.async.impl.ioc_helpers.ExceptionFrame(this.catch_block,this.catch_exception,this.finally_block,this.continue_block,c,this.__meta,this.__extmap,null):new cljs.core.async.impl.ioc_helpers.ExceptionFrame(this.catch_block,this.catch_exception,
this.finally_block,this.continue_block,this.prev,this.__meta,cljs.core.assoc.call(null,this.__extmap,b,c),null)};
cljs.core.async.impl.ioc_helpers.ExceptionFrame.prototype.cljs$core$ISeqable$_seq$arity$1=function(a){return cljs.core.seq.call(null,cljs.core.concat.call(null,new cljs.core.PersistentVector(null,5,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.MapEntry(new cljs.core.Keyword(null,"catch-block","catch-block",1175212748),this.catch_block,null),new cljs.core.MapEntry(new cljs.core.Keyword(null,"catch-exception","catch-exception",-1997306795),this.catch_exception,null),new cljs.core.MapEntry(new cljs.core.Keyword(null,
"finally-block","finally-block",832982472),this.finally_block,null),new cljs.core.MapEntry(new cljs.core.Keyword(null,"continue-block","continue-block",-1852047850),this.continue_block,null),new cljs.core.MapEntry(new cljs.core.Keyword(null,"prev","prev",-1597069226),this.prev,null)],null),this.__extmap))};
cljs.core.async.impl.ioc_helpers.ExceptionFrame.prototype.cljs$core$IWithMeta$_with_meta$arity$2=function(a,b){return new cljs.core.async.impl.ioc_helpers.ExceptionFrame(this.catch_block,this.catch_exception,this.finally_block,this.continue_block,this.prev,b,this.__extmap,this.__hash)};
cljs.core.async.impl.ioc_helpers.ExceptionFrame.prototype.cljs$core$ICollection$_conj$arity$2=function(a,b){return cljs.core.vector_QMARK_.call(null,b)?this.cljs$core$IAssociative$_assoc$arity$3(null,cljs.core._nth.call(null,b,0),cljs.core._nth.call(null,b,1)):cljs.core.reduce.call(null,cljs.core._conj,this,b)};
cljs.core.async.impl.ioc_helpers.ExceptionFrame.getBasis=function(){return new cljs.core.PersistentVector(null,5,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"catch-block","catch-block",-1479223021,null),cljs.core.with_meta(new cljs.core.Symbol(null,"catch-exception","catch-exception",-356775268,null),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"tag","tag",-1290361223),new cljs.core.Symbol(null,"Class","Class",2064526977,null)],null)),new cljs.core.Symbol(null,
"finally-block","finally-block",-1821453297,null),new cljs.core.Symbol(null,"continue-block","continue-block",-211516323,null),new cljs.core.Symbol(null,"prev","prev",43462301,null)],null)};cljs.core.async.impl.ioc_helpers.ExceptionFrame.cljs$lang$type=!0;cljs.core.async.impl.ioc_helpers.ExceptionFrame.cljs$lang$ctorPrSeq=function(a){return new cljs.core.List(null,"cljs.core.async.impl.ioc-helpers/ExceptionFrame",null,1,null)};
cljs.core.async.impl.ioc_helpers.ExceptionFrame.cljs$lang$ctorPrWriter=function(a,b){return cljs.core._write.call(null,b,"cljs.core.async.impl.ioc-helpers/ExceptionFrame")};cljs.core.async.impl.ioc_helpers.__GT_ExceptionFrame=function(a,b,c,d,e){return new cljs.core.async.impl.ioc_helpers.ExceptionFrame(a,b,c,d,e,null,null,null)};
cljs.core.async.impl.ioc_helpers.map__GT_ExceptionFrame=function(a){var b=cljs.core.dissoc.call(null,a,new cljs.core.Keyword(null,"catch-block","catch-block",1175212748),new cljs.core.Keyword(null,"catch-exception","catch-exception",-1997306795),new cljs.core.Keyword(null,"finally-block","finally-block",832982472),new cljs.core.Keyword(null,"continue-block","continue-block",-1852047850),new cljs.core.Keyword(null,"prev","prev",-1597069226));b=cljs.core.record_QMARK_.call(null,a)?cljs.core.into.call(null,
cljs.core.PersistentArrayMap.EMPTY,b):b;return new cljs.core.async.impl.ioc_helpers.ExceptionFrame((new cljs.core.Keyword(null,"catch-block","catch-block",1175212748)).cljs$core$IFn$_invoke$arity$1(a),(new cljs.core.Keyword(null,"catch-exception","catch-exception",-1997306795)).cljs$core$IFn$_invoke$arity$1(a),(new cljs.core.Keyword(null,"finally-block","finally-block",832982472)).cljs$core$IFn$_invoke$arity$1(a),(new cljs.core.Keyword(null,"continue-block","continue-block",-1852047850)).cljs$core$IFn$_invoke$arity$1(a),
(new cljs.core.Keyword(null,"prev","prev",-1597069226)).cljs$core$IFn$_invoke$arity$1(a),null,cljs.core.not_empty.call(null,b),null)};cljs.core.async.impl.ioc_helpers.add_exception_frame=function(a,b,c,d,e){a[4]=cljs.core.async.impl.ioc_helpers.__GT_ExceptionFrame.call(null,b,c,d,e,cljs.core.async.impl.ioc_helpers.aget_object.call(null,a,4));return a};
cljs.core.async.impl.ioc_helpers.process_exception=function(a){for(;;){var b=cljs.core.async.impl.ioc_helpers.aget_object.call(null,a,4),c=(new cljs.core.Keyword(null,"catch-block","catch-block",1175212748)).cljs$core$IFn$_invoke$arity$1(b),d=(new cljs.core.Keyword(null,"catch-exception","catch-exception",-1997306795)).cljs$core$IFn$_invoke$arity$1(b),e=cljs.core.async.impl.ioc_helpers.aget_object.call(null,a,5);if(cljs.core.truth_(function(){var a=e;return cljs.core.truth_(a)?cljs.core.not.call(null,
b):a}()))throw e;if(cljs.core.truth_(function(){var a=e;return cljs.core.truth_(a)?(a=c,cljs.core.truth_(a)?cljs.core._EQ_.call(null,new cljs.core.Keyword(null,"default","default",-1987822328),d)||e instanceof d:a):a}()))return a[1]=c,a[2]=e,a[5]=null,a[4]=cljs.core.assoc.call(null,b,new cljs.core.Keyword(null,"catch-block","catch-block",1175212748),null,new cljs.core.Keyword(null,"catch-exception","catch-exception",-1997306795),null),a;if(cljs.core.truth_(function(){var a=e;return cljs.core.truth_(a)?
cljs.core.not.call(null,c)&&cljs.core.not.call(null,(new cljs.core.Keyword(null,"finally-block","finally-block",832982472)).cljs$core$IFn$_invoke$arity$1(b)):a}()))a[4]=(new cljs.core.Keyword(null,"prev","prev",-1597069226)).cljs$core$IFn$_invoke$arity$1(b);else{if(cljs.core.truth_(function(){var a=e;return cljs.core.truth_(a)?(a=cljs.core.not.call(null,c))?(new cljs.core.Keyword(null,"finally-block","finally-block",832982472)).cljs$core$IFn$_invoke$arity$1(b):a:a}())||cljs.core.truth_(function(){var a=
cljs.core.not.call(null,e);return a?(new cljs.core.Keyword(null,"finally-block","finally-block",832982472)).cljs$core$IFn$_invoke$arity$1(b):a}()))return a[1]=(new cljs.core.Keyword(null,"finally-block","finally-block",832982472)).cljs$core$IFn$_invoke$arity$1(b),a[4]=cljs.core.assoc.call(null,b,new cljs.core.Keyword(null,"finally-block","finally-block",832982472),null),a;if(cljs.core.not.call(null,e)&&cljs.core.not.call(null,(new cljs.core.Keyword(null,"finally-block","finally-block",832982472)).cljs$core$IFn$_invoke$arity$1(b)))return a[1]=
(new cljs.core.Keyword(null,"continue-block","continue-block",-1852047850)).cljs$core$IFn$_invoke$arity$1(b),a[4]=(new cljs.core.Keyword(null,"prev","prev",-1597069226)).cljs$core$IFn$_invoke$arity$1(b),a;throw Error("No matching clause");}}};cljs.core.async.impl.timers={};cljs.core.async.impl.timers.MAX_LEVEL=15;cljs.core.async.impl.timers.P=.5;cljs.core.async.impl.timers.random_level=function(a){switch(arguments.length){case 0:return cljs.core.async.impl.timers.random_level.cljs$core$IFn$_invoke$arity$0();case 1:return cljs.core.async.impl.timers.random_level.cljs$core$IFn$_invoke$arity$1(arguments[0]);default:throw Error(["Invalid arity: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(""));}};
cljs.core.async.impl.timers.random_level.cljs$core$IFn$_invoke$arity$0=function(){return cljs.core.async.impl.timers.random_level.call(null,0)};cljs.core.async.impl.timers.random_level.cljs$core$IFn$_invoke$arity$1=function(a){for(;;)if(Math.random()<cljs.core.async.impl.timers.P&&a<cljs.core.async.impl.timers.MAX_LEVEL)a+=1;else return a};cljs.core.async.impl.timers.random_level.cljs$lang$maxFixedArity=1;
cljs.core.async.impl.timers.SkipListNode=function(a,b,c){this.key=a;this.val=b;this.forward=c;this.cljs$lang$protocol_mask$partition0$=2155872256;this.cljs$lang$protocol_mask$partition1$=0};cljs.core.async.impl.timers.SkipListNode.prototype.cljs$core$ISeqable$_seq$arity$1=function(a){return new cljs.core.List(null,this.key,new cljs.core.List(null,this.val,null,1,null),2,null)};
cljs.core.async.impl.timers.SkipListNode.prototype.cljs$core$IPrintWithWriter$_pr_writer$arity$3=function(a,b,c){return cljs.core.pr_sequential_writer.call(null,b,cljs.core.pr_writer,"["," ","]",c,this)};
cljs.core.async.impl.timers.SkipListNode.getBasis=function(){return new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"key","key",124488940,null),cljs.core.with_meta(new cljs.core.Symbol(null,"val","val",1769233139,null),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"mutable","mutable",875778266),!0],null)),new cljs.core.Symbol(null,"forward","forward",1083186224,null)],null)};
cljs.core.async.impl.timers.SkipListNode.cljs$lang$type=!0;cljs.core.async.impl.timers.SkipListNode.cljs$lang$ctorStr="cljs.core.async.impl.timers/SkipListNode";cljs.core.async.impl.timers.SkipListNode.cljs$lang$ctorPrWriter=function(a,b,c){return cljs.core._write.call(null,b,"cljs.core.async.impl.timers/SkipListNode")};cljs.core.async.impl.timers.__GT_SkipListNode=function(a,b,c){return new cljs.core.async.impl.timers.SkipListNode(a,b,c)};
cljs.core.async.impl.timers.skip_list_node=function(a){switch(arguments.length){case 1:return cljs.core.async.impl.timers.skip_list_node.cljs$core$IFn$_invoke$arity$1(arguments[0]);case 3:return cljs.core.async.impl.timers.skip_list_node.cljs$core$IFn$_invoke$arity$3(arguments[0],arguments[1],arguments[2]);default:throw Error(["Invalid arity: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(""));}};
cljs.core.async.impl.timers.skip_list_node.cljs$core$IFn$_invoke$arity$1=function(a){return cljs.core.async.impl.timers.skip_list_node.call(null,null,null,a)};cljs.core.async.impl.timers.skip_list_node.cljs$core$IFn$_invoke$arity$3=function(a,b,c){c=Array(c+1);for(var d=0;;)if(d<c.length)c[d]=null,d+=1;else break;return new cljs.core.async.impl.timers.SkipListNode(a,b,c)};cljs.core.async.impl.timers.skip_list_node.cljs$lang$maxFixedArity=3;
cljs.core.async.impl.timers.least_greater_node=function(a){switch(arguments.length){case 3:return cljs.core.async.impl.timers.least_greater_node.cljs$core$IFn$_invoke$arity$3(arguments[0],arguments[1],arguments[2]);case 4:return cljs.core.async.impl.timers.least_greater_node.cljs$core$IFn$_invoke$arity$4(arguments[0],arguments[1],arguments[2],arguments[3]);default:throw Error(["Invalid arity: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(""));}};
cljs.core.async.impl.timers.least_greater_node.cljs$core$IFn$_invoke$arity$3=function(a,b,c){return cljs.core.async.impl.timers.least_greater_node.call(null,a,b,c,null)};cljs.core.async.impl.timers.least_greater_node.cljs$core$IFn$_invoke$arity$4=function(a,b,c,d){for(;;){if(0>c)return a;a:for(;;){var e=c<a.forward.length?a.forward[c]:null;if(cljs.core.truth_(e))if(e.key<b)a=e;else break a;else break a}null!=d&&(d[c]=a);--c}};
cljs.core.async.impl.timers.least_greater_node.cljs$lang$maxFixedArity=4;cljs.core.async.impl.timers.SkipList=function(a,b){this.header=a;this.level=b;this.cljs$lang$protocol_mask$partition0$=2155872256;this.cljs$lang$protocol_mask$partition1$=0};
cljs.core.async.impl.timers.SkipList.prototype.put=function(a,b){var c=Array(cljs.core.async.impl.timers.MAX_LEVEL),d=cljs.core.async.impl.timers.least_greater_node.call(null,this.header,a,this.level,c).forward[0];if(null!=d&&d.key===a)return d.val=b;d=cljs.core.async.impl.timers.random_level.call(null);if(d>this.level){for(var e=this.level+1;;)if(e<=d+1)c[e]=this.header,e+=1;else break;this.level=d}for(a=cljs.core.async.impl.timers.skip_list_node.call(null,a,b,Array(d));;)return 0<=this.level?(c=
c[0].forward,a.forward[0]=c[0],c[0]=a):null};
cljs.core.async.impl.timers.SkipList.prototype.remove=function(a){var b=Array(cljs.core.async.impl.timers.MAX_LEVEL),c=cljs.core.async.impl.timers.least_greater_node.call(null,this.header,a,this.level,b);c=0===c.forward.length?null:c.forward[0];if(null!=c&&c.key===a){for(a=0;;)if(a<=this.level){var d=b[a].forward;c===(a<d.length?d[a]:null)&&(d[a]=c.forward[a]);a+=1}else break;for(;;)if(0<this.level&&this.level<this.header.forward.length&&null==this.header.forward[this.level])--this.level;else return null}else return null};
cljs.core.async.impl.timers.SkipList.prototype.ceilingEntry=function(a){for(var b=this.header,c=this.level;;){if(0>c)return b===this.header?null:b;var d;a:for(d=b;;)if(d=c<d.forward.length?d.forward[c]:null,null==d){d=null;break a}else if(d.key>=a)break a;null!=d?(--c,b=d):--c}};
cljs.core.async.impl.timers.SkipList.prototype.floorEntry=function(a){for(var b=this.header,c=this.level;;){if(0>c)return b===this.header?null:b;var d;a:for(d=b;;){var e=c<d.forward.length?d.forward[c]:null;if(null!=e){if(e.key>a)break a;d=e}else{d=0===c?d:null;break a}}cljs.core.truth_(d)?(--c,b=d):--c}};
cljs.core.async.impl.timers.SkipList.prototype.cljs$core$ISeqable$_seq$arity$1=function(a){return function(a){return function e(b){return new cljs.core.LazySeq(null,function(a){return function(){return null==b?null:cljs.core.cons.call(null,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[b.key,b.val],null),e.call(null,b.forward[0]))}}(a),null,null)}}(this).call(null,this.header.forward[0])};
cljs.core.async.impl.timers.SkipList.prototype.cljs$core$IPrintWithWriter$_pr_writer$arity$3=function(a,b,c){a=function(a){return function(a){return cljs.core.pr_sequential_writer.call(null,b,cljs.core.pr_writer,""," ","",c,a)}}(this);return cljs.core.pr_sequential_writer.call(null,b,a,"{",", ","}",c,this)};
cljs.core.async.impl.timers.SkipList.getBasis=function(){return new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"header","header",1759972661,null),cljs.core.with_meta(new cljs.core.Symbol(null,"level","level",-1363938217,null),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"mutable","mutable",875778266),!0],null))],null)};cljs.core.async.impl.timers.SkipList.cljs$lang$type=!0;
cljs.core.async.impl.timers.SkipList.cljs$lang$ctorStr="cljs.core.async.impl.timers/SkipList";cljs.core.async.impl.timers.SkipList.cljs$lang$ctorPrWriter=function(a,b,c){return cljs.core._write.call(null,b,"cljs.core.async.impl.timers/SkipList")};cljs.core.async.impl.timers.__GT_SkipList=function(a,b){return new cljs.core.async.impl.timers.SkipList(a,b)};
cljs.core.async.impl.timers.skip_list=function(){return new cljs.core.async.impl.timers.SkipList(cljs.core.async.impl.timers.skip_list_node.call(null,0),0)};cljs.core.async.impl.timers.timeouts_map=cljs.core.async.impl.timers.skip_list.call(null);cljs.core.async.impl.timers.TIMEOUT_RESOLUTION_MS=10;
cljs.core.async.impl.timers.timeout=function(a){var b=(new Date).valueOf()+a,c=cljs.core.async.impl.timers.timeouts_map.ceilingEntry(b),d=cljs.core.truth_(cljs.core.truth_(c)?c.key<b+cljs.core.async.impl.timers.TIMEOUT_RESOLUTION_MS:c)?c.val:null;if(cljs.core.truth_(d))return d;var e=cljs.core.async.impl.channels.chan.call(null,null);cljs.core.async.impl.timers.timeouts_map.put(b,e);cljs.core.async.impl.dispatch.queue_delay.call(null,function(a,b,c,d){return function(){cljs.core.async.impl.timers.timeouts_map.remove(c);
return cljs.core.async.impl.protocols.close_BANG_.call(null,a)}}(e,d,b,c),a);return e};cljs.core.async.fn_handler=function(a){switch(arguments.length){case 1:return cljs.core.async.fn_handler.cljs$core$IFn$_invoke$arity$1(arguments[0]);case 2:return cljs.core.async.fn_handler.cljs$core$IFn$_invoke$arity$2(arguments[0],arguments[1]);default:throw Error(["Invalid arity: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(""));}};cljs.core.async.fn_handler.cljs$core$IFn$_invoke$arity$1=function(a){return cljs.core.async.fn_handler.call(null,a,!0)};
cljs.core.async.fn_handler.cljs$core$IFn$_invoke$arity$2=function(a,b){if("undefined"===typeof cljs||"undefined"===typeof cljs.core||"undefined"===typeof cljs.core.async||"undefined"===typeof cljs.core.async.t_cljs$core$async38431)cljs.core.async.t_cljs$core$async38431=function(a,b,e){this.f=a;this.blockable=b;this.meta38432=e;this.cljs$lang$protocol_mask$partition0$=393216;this.cljs$lang$protocol_mask$partition1$=0},cljs.core.async.t_cljs$core$async38431.prototype.cljs$core$IWithMeta$_with_meta$arity$2=
function(a,b){return new cljs.core.async.t_cljs$core$async38431(this.f,this.blockable,b)},cljs.core.async.t_cljs$core$async38431.prototype.cljs$core$IMeta$_meta$arity$1=function(a){return this.meta38432},cljs.core.async.t_cljs$core$async38431.prototype.cljs$core$async$impl$protocols$Handler$=cljs.core.PROTOCOL_SENTINEL,cljs.core.async.t_cljs$core$async38431.prototype.cljs$core$async$impl$protocols$Handler$active_QMARK_$arity$1=function(a){return!0},cljs.core.async.t_cljs$core$async38431.prototype.cljs$core$async$impl$protocols$Handler$blockable_QMARK_$arity$1=
function(a){return this.blockable},cljs.core.async.t_cljs$core$async38431.prototype.cljs$core$async$impl$protocols$Handler$commit$arity$1=function(a){return this.f},cljs.core.async.t_cljs$core$async38431.getBasis=function(){return new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"f","f",43394975,null),new cljs.core.Symbol(null,"blockable","blockable",-28395259,null),new cljs.core.Symbol(null,"meta38432","meta38432",-1493567469,null)],null)},
cljs.core.async.t_cljs$core$async38431.cljs$lang$type=!0,cljs.core.async.t_cljs$core$async38431.cljs$lang$ctorStr="cljs.core.async/t_cljs$core$async38431",cljs.core.async.t_cljs$core$async38431.cljs$lang$ctorPrWriter=function(a,b,e){return cljs.core._write.call(null,b,"cljs.core.async/t_cljs$core$async38431")},cljs.core.async.__GT_t_cljs$core$async38431=function(a,b,e){return new cljs.core.async.t_cljs$core$async38431(a,b,e)};return new cljs.core.async.t_cljs$core$async38431(a,b,cljs.core.PersistentArrayMap.EMPTY)};
cljs.core.async.fn_handler.cljs$lang$maxFixedArity=2;cljs.core.async.buffer=function(a){return cljs.core.async.impl.buffers.fixed_buffer.call(null,a)};cljs.core.async.dropping_buffer=function(a){return cljs.core.async.impl.buffers.dropping_buffer.call(null,a)};cljs.core.async.sliding_buffer=function(a){return cljs.core.async.impl.buffers.sliding_buffer.call(null,a)};
cljs.core.async.unblocking_buffer_QMARK_=function(a){return null!=a?cljs.core.PROTOCOL_SENTINEL===a.cljs$core$async$impl$protocols$UnblockingBuffer$?!0:a.cljs$lang$protocol_mask$partition$?!1:cljs.core.native_satisfies_QMARK_.call(null,cljs.core.async.impl.protocols.UnblockingBuffer,a):cljs.core.native_satisfies_QMARK_.call(null,cljs.core.async.impl.protocols.UnblockingBuffer,a)};
cljs.core.async.chan=function(a){switch(arguments.length){case 0:return cljs.core.async.chan.cljs$core$IFn$_invoke$arity$0();case 1:return cljs.core.async.chan.cljs$core$IFn$_invoke$arity$1(arguments[0]);case 2:return cljs.core.async.chan.cljs$core$IFn$_invoke$arity$2(arguments[0],arguments[1]);case 3:return cljs.core.async.chan.cljs$core$IFn$_invoke$arity$3(arguments[0],arguments[1],arguments[2]);default:throw Error(["Invalid arity: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(""));
}};cljs.core.async.chan.cljs$core$IFn$_invoke$arity$0=function(){return cljs.core.async.chan.call(null,null)};cljs.core.async.chan.cljs$core$IFn$_invoke$arity$1=function(a){return cljs.core.async.chan.call(null,a,null,null)};cljs.core.async.chan.cljs$core$IFn$_invoke$arity$2=function(a,b){return cljs.core.async.chan.call(null,a,b,null)};
cljs.core.async.chan.cljs$core$IFn$_invoke$arity$3=function(a,b,c){a=cljs.core._EQ_.call(null,a,0)?null:a;if(cljs.core.truth_(b)&&!cljs.core.truth_(a))throw Error("Assert failed: buffer must be supplied when transducer is\nbuf-or-n");return cljs.core.async.impl.channels.chan.call(null,"number"===typeof a?cljs.core.async.buffer.call(null,a):a,b,c)};cljs.core.async.chan.cljs$lang$maxFixedArity=3;
cljs.core.async.promise_chan=function(a){switch(arguments.length){case 0:return cljs.core.async.promise_chan.cljs$core$IFn$_invoke$arity$0();case 1:return cljs.core.async.promise_chan.cljs$core$IFn$_invoke$arity$1(arguments[0]);case 2:return cljs.core.async.promise_chan.cljs$core$IFn$_invoke$arity$2(arguments[0],arguments[1]);default:throw Error(["Invalid arity: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(""));}};
cljs.core.async.promise_chan.cljs$core$IFn$_invoke$arity$0=function(){return cljs.core.async.promise_chan.call(null,null)};cljs.core.async.promise_chan.cljs$core$IFn$_invoke$arity$1=function(a){return cljs.core.async.promise_chan.call(null,a,null)};cljs.core.async.promise_chan.cljs$core$IFn$_invoke$arity$2=function(a,b){return cljs.core.async.chan.call(null,cljs.core.async.impl.buffers.promise_buffer.call(null),a,b)};cljs.core.async.promise_chan.cljs$lang$maxFixedArity=2;
cljs.core.async.timeout=function(a){return cljs.core.async.impl.timers.timeout.call(null,a)};cljs.core.async._LT__BANG_=function(a){throw Error("\x3c! used not in (go ...) block");};
cljs.core.async.take_BANG_=function(a){switch(arguments.length){case 2:return cljs.core.async.take_BANG_.cljs$core$IFn$_invoke$arity$2(arguments[0],arguments[1]);case 3:return cljs.core.async.take_BANG_.cljs$core$IFn$_invoke$arity$3(arguments[0],arguments[1],arguments[2]);default:throw Error(["Invalid arity: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(""));}};
cljs.core.async.take_BANG_.cljs$core$IFn$_invoke$arity$2=function(a,b){return cljs.core.async.take_BANG_.call(null,a,b,!0)};cljs.core.async.take_BANG_.cljs$core$IFn$_invoke$arity$3=function(a,b,c){a=cljs.core.async.impl.protocols.take_BANG_.call(null,a,cljs.core.async.fn_handler.call(null,b));if(cljs.core.truth_(a)){var d=cljs.core.deref.call(null,a);cljs.core.truth_(c)?b.call(null,d):cljs.core.async.impl.dispatch.run.call(null,function(a,c){return function(){return b.call(null,a)}}(d,a))}return null};
cljs.core.async.take_BANG_.cljs$lang$maxFixedArity=3;cljs.core.async.nop=function(a){return null};cljs.core.async.fhnop=cljs.core.async.fn_handler.call(null,cljs.core.async.nop);cljs.core.async._GT__BANG_=function(a,b){throw Error("\x3e! used not in (go ...) block");};
cljs.core.async.put_BANG_=function(a){switch(arguments.length){case 2:return cljs.core.async.put_BANG_.cljs$core$IFn$_invoke$arity$2(arguments[0],arguments[1]);case 3:return cljs.core.async.put_BANG_.cljs$core$IFn$_invoke$arity$3(arguments[0],arguments[1],arguments[2]);case 4:return cljs.core.async.put_BANG_.cljs$core$IFn$_invoke$arity$4(arguments[0],arguments[1],arguments[2],arguments[3]);default:throw Error(["Invalid arity: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(""));
}};cljs.core.async.put_BANG_.cljs$core$IFn$_invoke$arity$2=function(a,b){a=cljs.core.async.impl.protocols.put_BANG_.call(null,a,b,cljs.core.async.fhnop);return cljs.core.truth_(a)?cljs.core.deref.call(null,a):!0};cljs.core.async.put_BANG_.cljs$core$IFn$_invoke$arity$3=function(a,b,c){return cljs.core.async.put_BANG_.call(null,a,b,c,!0)};
cljs.core.async.put_BANG_.cljs$core$IFn$_invoke$arity$4=function(a,b,c,d){a=cljs.core.async.impl.protocols.put_BANG_.call(null,a,b,cljs.core.async.fn_handler.call(null,c));return cljs.core.truth_(a)?(b=cljs.core.deref.call(null,a),cljs.core.truth_(d)?c.call(null,b):cljs.core.async.impl.dispatch.run.call(null,function(a,b,d){return function(){return c.call(null,a)}}(b,a,a)),b):!0};cljs.core.async.put_BANG_.cljs$lang$maxFixedArity=4;
cljs.core.async.close_BANG_=function(a){return cljs.core.async.impl.protocols.close_BANG_.call(null,a)};cljs.core.async.random_array=function(a){for(var b=Array(a),c=0;;)if(c<a)b[c]=0,c+=1;else break;for(c=1;;){if(cljs.core._EQ_.call(null,c,a))return b;var d=cljs.core.rand_int.call(null,c);b[c]=b[d];b[d]=c;c+=1}};
cljs.core.async.alt_flag=function(){var a=cljs.core.atom.call(null,!0);if("undefined"===typeof cljs||"undefined"===typeof cljs.core||"undefined"===typeof cljs.core.async||"undefined"===typeof cljs.core.async.t_cljs$core$async38453)cljs.core.async.t_cljs$core$async38453=function(a,c){this.flag=a;this.meta38454=c;this.cljs$lang$protocol_mask$partition0$=393216;this.cljs$lang$protocol_mask$partition1$=0},cljs.core.async.t_cljs$core$async38453.prototype.cljs$core$IWithMeta$_with_meta$arity$2=function(a){return function(a,
b){return new cljs.core.async.t_cljs$core$async38453(this.flag,b)}}(a),cljs.core.async.t_cljs$core$async38453.prototype.cljs$core$IMeta$_meta$arity$1=function(a){return function(a){return this.meta38454}}(a),cljs.core.async.t_cljs$core$async38453.prototype.cljs$core$async$impl$protocols$Handler$=cljs.core.PROTOCOL_SENTINEL,cljs.core.async.t_cljs$core$async38453.prototype.cljs$core$async$impl$protocols$Handler$active_QMARK_$arity$1=function(a){return function(a){return cljs.core.deref.call(null,this.flag)}}(a),
cljs.core.async.t_cljs$core$async38453.prototype.cljs$core$async$impl$protocols$Handler$blockable_QMARK_$arity$1=function(a){return function(a){return!0}}(a),cljs.core.async.t_cljs$core$async38453.prototype.cljs$core$async$impl$protocols$Handler$commit$arity$1=function(a){return function(a){cljs.core.reset_BANG_.call(null,this.flag,null);return!0}}(a),cljs.core.async.t_cljs$core$async38453.getBasis=function(a){return function(){return new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,
[new cljs.core.Symbol(null,"flag","flag",-1565787888,null),new cljs.core.Symbol(null,"meta38454","meta38454",-1062104821,null)],null)}}(a),cljs.core.async.t_cljs$core$async38453.cljs$lang$type=!0,cljs.core.async.t_cljs$core$async38453.cljs$lang$ctorStr="cljs.core.async/t_cljs$core$async38453",cljs.core.async.t_cljs$core$async38453.cljs$lang$ctorPrWriter=function(a){return function(a,b,e){return cljs.core._write.call(null,b,"cljs.core.async/t_cljs$core$async38453")}}(a),cljs.core.async.__GT_t_cljs$core$async38453=
function(a){return function(a,b){return new cljs.core.async.t_cljs$core$async38453(a,b)}}(a);return new cljs.core.async.t_cljs$core$async38453(a,cljs.core.PersistentArrayMap.EMPTY)};
cljs.core.async.alt_handler=function(a,b){if("undefined"===typeof cljs||"undefined"===typeof cljs.core||"undefined"===typeof cljs.core.async||"undefined"===typeof cljs.core.async.t_cljs$core$async38456)cljs.core.async.t_cljs$core$async38456=function(a,b,e){this.flag=a;this.cb=b;this.meta38457=e;this.cljs$lang$protocol_mask$partition0$=393216;this.cljs$lang$protocol_mask$partition1$=0},cljs.core.async.t_cljs$core$async38456.prototype.cljs$core$IWithMeta$_with_meta$arity$2=function(a,b){return new cljs.core.async.t_cljs$core$async38456(this.flag,
this.cb,b)},cljs.core.async.t_cljs$core$async38456.prototype.cljs$core$IMeta$_meta$arity$1=function(a){return this.meta38457},cljs.core.async.t_cljs$core$async38456.prototype.cljs$core$async$impl$protocols$Handler$=cljs.core.PROTOCOL_SENTINEL,cljs.core.async.t_cljs$core$async38456.prototype.cljs$core$async$impl$protocols$Handler$active_QMARK_$arity$1=function(a){return cljs.core.async.impl.protocols.active_QMARK_.call(null,this.flag)},cljs.core.async.t_cljs$core$async38456.prototype.cljs$core$async$impl$protocols$Handler$blockable_QMARK_$arity$1=
function(a){return!0},cljs.core.async.t_cljs$core$async38456.prototype.cljs$core$async$impl$protocols$Handler$commit$arity$1=function(a){cljs.core.async.impl.protocols.commit.call(null,this.flag);return this.cb},cljs.core.async.t_cljs$core$async38456.getBasis=function(){return new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"flag","flag",-1565787888,null),new cljs.core.Symbol(null,"cb","cb",-2064487928,null),new cljs.core.Symbol(null,"meta38457",
"meta38457",554063549,null)],null)},cljs.core.async.t_cljs$core$async38456.cljs$lang$type=!0,cljs.core.async.t_cljs$core$async38456.cljs$lang$ctorStr="cljs.core.async/t_cljs$core$async38456",cljs.core.async.t_cljs$core$async38456.cljs$lang$ctorPrWriter=function(a,b,e){return cljs.core._write.call(null,b,"cljs.core.async/t_cljs$core$async38456")},cljs.core.async.__GT_t_cljs$core$async38456=function(a,b,e){return new cljs.core.async.t_cljs$core$async38456(a,b,e)};return new cljs.core.async.t_cljs$core$async38456(a,
b,cljs.core.PersistentArrayMap.EMPTY)};
cljs.core.async.do_alts=function(a,b,c){var d=cljs.core.async.alt_flag.call(null),e=cljs.core.count.call(null,b),f=cljs.core.async.random_array.call(null,e),g=(new cljs.core.Keyword(null,"priority","priority",1431093715)).cljs$core$IFn$_invoke$arity$1(c),h=function(){for(var c=0;;)if(c<e){var h=cljs.core.truth_(g)?c:f[c],m=cljs.core.nth.call(null,b,h),n=cljs.core.vector_QMARK_.call(null,m)?m.call(null,0):null,p=cljs.core.truth_(n)?function(){var b=m.call(null,1);return cljs.core.async.impl.protocols.put_BANG_.call(null,
n,b,cljs.core.async.alt_handler.call(null,d,function(b,c,d,e,f,g,h,k,l){return function(b){return a.call(null,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[b,f],null))}}(c,b,h,m,n,d,e,f,g)))}():cljs.core.async.impl.protocols.take_BANG_.call(null,m,cljs.core.async.alt_handler.call(null,d,function(b,c,d,e,f,g,h,k){return function(b){return a.call(null,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[b,d],null))}}(c,h,m,n,d,e,f,g)));if(cljs.core.truth_(p))return cljs.core.async.impl.channels.box.call(null,
new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[cljs.core.deref.call(null,p),function(){var a=n;return cljs.core.truth_(a)?a:m}()],null));c+=1}else return null}();return cljs.core.truth_(h)?h:cljs.core.contains_QMARK_.call(null,c,new cljs.core.Keyword(null,"default","default",-1987822328))?(h=function(){var a=cljs.core.async.impl.protocols.active_QMARK_.call(null,d);return cljs.core.truth_(a)?cljs.core.async.impl.protocols.commit.call(null,d):a}(),cljs.core.truth_(h)?
cljs.core.async.impl.channels.box.call(null,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[(new cljs.core.Keyword(null,"default","default",-1987822328)).cljs$core$IFn$_invoke$arity$1(c),new cljs.core.Keyword(null,"default","default",-1987822328)],null)):null):null};
cljs.core.async.alts_BANG_=function(a){for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;b=1<b.length?new cljs.core.IndexedSeq(b.slice(1),0,null):null;return cljs.core.async.alts_BANG_.cljs$core$IFn$_invoke$arity$variadic(arguments[0],b)};
cljs.core.async.alts_BANG_.cljs$core$IFn$_invoke$arity$variadic=function(a,b){null!=b&&(b.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===b.cljs$core$ISeq$)&&cljs.core.apply.call(null,cljs.core.hash_map,b);throw Error("alts! used not in (go ...) block");};cljs.core.async.alts_BANG_.cljs$lang$maxFixedArity=1;
cljs.core.async.alts_BANG_.cljs$lang$applyTo=function(a){var b=cljs.core.first.call(null,a);a=cljs.core.next.call(null,a);return this.cljs$core$IFn$_invoke$arity$variadic(b,a)};cljs.core.async.offer_BANG_=function(a,b){a=cljs.core.async.impl.protocols.put_BANG_.call(null,a,b,cljs.core.async.fn_handler.call(null,cljs.core.async.nop,!1));return cljs.core.truth_(a)?cljs.core.deref.call(null,a):null};
cljs.core.async.poll_BANG_=function(a){a=cljs.core.async.impl.protocols.take_BANG_.call(null,a,cljs.core.async.fn_handler.call(null,cljs.core.async.nop,!1));return cljs.core.truth_(a)?cljs.core.deref.call(null,a):null};
cljs.core.async.pipe=function(a){switch(arguments.length){case 2:return cljs.core.async.pipe.cljs$core$IFn$_invoke$arity$2(arguments[0],arguments[1]);case 3:return cljs.core.async.pipe.cljs$core$IFn$_invoke$arity$3(arguments[0],arguments[1],arguments[2]);default:throw Error(["Invalid arity: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(""));}};cljs.core.async.pipe.cljs$core$IFn$_invoke$arity$2=function(a,b){return cljs.core.async.pipe.call(null,a,b,!0)};
cljs.core.async.pipe.cljs$core$IFn$_invoke$arity$3=function(a,b,c){var d=cljs.core.async.chan.call(null,1);cljs.core.async.impl.dispatch.run.call(null,function(d){return function(){var e=function(){return function(a,b){return function(){var b=null,c=function(){var a=[null,null,null,null,null,null,null,null];a[0]=b;a[1]=1;return a},d=function(b){for(;;){a:try{for(;;){var c=a.call(null,b);if(!cljs.core.keyword_identical_QMARK_.call(null,c,new cljs.core.Keyword(null,"recur","recur",-437573268))){var d=
c;break a}}}catch(u){if(u instanceof Object)b[5]=u,cljs.core.async.impl.ioc_helpers.process_exception.call(null,b),d=new cljs.core.Keyword(null,"recur","recur",-437573268);else throw u;}if(!cljs.core.keyword_identical_QMARK_.call(null,d,new cljs.core.Keyword(null,"recur","recur",-437573268)))return d}};b=function(a){switch(arguments.length){case 0:return c.call(this);case 1:return d.call(this,a)}throw Error("Invalid arity: "+arguments.length);};b.cljs$core$IFn$_invoke$arity$0=c;b.cljs$core$IFn$_invoke$arity$1=
d;return b}()}(function(d){return function(d){var e=d[1];return 7===e?(d[2]=d[2],d[1]=3,new cljs.core.Keyword(null,"recur","recur",-437573268)):1===e?(d[2]=null,d[1]=2,new cljs.core.Keyword(null,"recur","recur",-437573268)):4===e?(e=d[2],d[7]=e,cljs.core.truth_(null==e)?d[1]=5:d[1]=6,new cljs.core.Keyword(null,"recur","recur",-437573268)):13===e?(d[2]=null,d[1]=14,new cljs.core.Keyword(null,"recur","recur",-437573268)):6===e?(e=d[7],cljs.core.async.impl.ioc_helpers.put_BANG_.call(null,d,11,b,e)):
3===e?cljs.core.async.impl.ioc_helpers.return_chan.call(null,d,d[2]):12===e?(d[2]=null,d[1]=2,new cljs.core.Keyword(null,"recur","recur",-437573268)):2===e?cljs.core.async.impl.ioc_helpers.take_BANG_.call(null,d,4,a):11===e?(e=d[2],cljs.core.truth_(e)?d[1]=12:d[1]=13,new cljs.core.Keyword(null,"recur","recur",-437573268)):9===e?(d[2]=null,d[1]=10,new cljs.core.Keyword(null,"recur","recur",-437573268)):5===e?(cljs.core.truth_(c)?d[1]=8:d[1]=9,new cljs.core.Keyword(null,"recur","recur",-437573268)):
14===e||10===e?(d[2]=d[2],d[1]=7,new cljs.core.Keyword(null,"recur","recur",-437573268)):8===e?(e=cljs.core.async.close_BANG_.call(null,b),d[2]=e,d[1]=10,new cljs.core.Keyword(null,"recur","recur",-437573268)):null}}(d),d)}(),g=function(){var a=e.call(null);a[6]=d;return a}();return cljs.core.async.impl.ioc_helpers.run_state_machine_wrapped.call(null,g)}}(d));return b};cljs.core.async.pipe.cljs$lang$maxFixedArity=3;
cljs.core.async.pipeline_STAR_=function(a,b,c,d,e,f,g){if(!(0<a))throw Error("Assert failed: (pos? n)");for(var h=cljs.core.async.chan.call(null,a),k=cljs.core.async.chan.call(null,a),l=function(a,b){return function(d){var e=cljs.core.nth.call(null,d,0,null),g=cljs.core.nth.call(null,d,1,null);if(null==d)return cljs.core.async.close_BANG_.call(null,b),null;var h=cljs.core.async.chan.call(null,1,c,f),k=cljs.core.async.chan.call(null,1);cljs.core.async.impl.dispatch.run.call(null,function(a,b,c,d,e,
f,g,h){return function(){var k=function(){return function(a,b,c,d,e,f,g,h,k){return function(){var b=null,c=function(){var a=[null,null,null,null,null,null,null,null];a[0]=b;a[1]=1;return a},d=function(b){for(;;){a:try{for(;;){var c=a.call(null,b);if(!cljs.core.keyword_identical_QMARK_.call(null,c,new cljs.core.Keyword(null,"recur","recur",-437573268))){var d=c;break a}}}catch(aa){if(aa instanceof Object)b[5]=aa,cljs.core.async.impl.ioc_helpers.process_exception.call(null,b),d=new cljs.core.Keyword(null,
"recur","recur",-437573268);else throw aa;}if(!cljs.core.keyword_identical_QMARK_.call(null,d,new cljs.core.Keyword(null,"recur","recur",-437573268)))return d}};b=function(a){switch(arguments.length){case 0:return c.call(this);case 1:return d.call(this,a)}throw Error("Invalid arity: "+arguments.length);};b.cljs$core$IFn$_invoke$arity$0=c;b.cljs$core$IFn$_invoke$arity$1=d;return b}()}(function(a,b,c,d,e,f,g,h){return function(a){var c=a[1];if(1===c)return cljs.core.async.impl.ioc_helpers.put_BANG_.call(null,
a,2,b,d);if(2===c){c=a[2];var e=cljs.core.async.close_BANG_.call(null,b);a[7]=c;return cljs.core.async.impl.ioc_helpers.return_chan.call(null,a,e)}return null}}(a,b,c,d,e,f,g,h),a,b,c,d,e,f,g,h)}(),l=function(){var b=k.call(null);b[6]=a;return b}();return cljs.core.async.impl.ioc_helpers.run_state_machine_wrapped.call(null,l)}}(k,h,d,e,g,d,a,b));cljs.core.async.put_BANG_.call(null,g,h);return!0}}(h,k),m=function(a,b,d){return function(a){var d=cljs.core.nth.call(null,a,0,null),e=cljs.core.nth.call(null,
a,1,null);if(null==a)return cljs.core.async.close_BANG_.call(null,b),null;a=cljs.core.async.chan.call(null,1);c.call(null,d,a);cljs.core.async.put_BANG_.call(null,e,a);return!0}}(h,k,l),n=0;;)if(n<a){var p=g,q=p instanceof cljs.core.Keyword?p.fqn:null;switch(q){case "compute":var r=cljs.core.async.chan.call(null,1);cljs.core.async.impl.dispatch.run.call(null,function(a,b,c,d,e,f,g,h,k){return function(){var l=function(){var l=function(a,b,c,d,e,f,g,h,k){return function(a){var b=a[1];return 1===b?
(a[2]=null,a[1]=2,new cljs.core.Keyword(null,"recur","recur",-437573268)):2===b?cljs.core.async.impl.ioc_helpers.take_BANG_.call(null,a,4,f):3===b?cljs.core.async.impl.ioc_helpers.return_chan.call(null,a,a[2]):4===b?(b=h.call(null,a[2]),cljs.core.truth_(b)?a[1]=5:a[1]=6,new cljs.core.Keyword(null,"recur","recur",-437573268)):5===b?(a[2]=null,a[1]=2,new cljs.core.Keyword(null,"recur","recur",-437573268)):6===b?(a[2]=null,a[1]=7,new cljs.core.Keyword(null,"recur","recur",-437573268)):7===b?(a[2]=a[2],
a[1]=3,new cljs.core.Keyword(null,"recur","recur",-437573268)):null}}(a,b,c,d,e,f,g,h,k);return function(a,b,c,d,e,f,g,h,k,l){return function(){var a=null,c=function(){var b=[null,null,null,null,null,null,null];b[0]=a;b[1]=1;return b},d=function(a){for(;;){a:try{for(;;){var c=b.call(null,a);if(!cljs.core.keyword_identical_QMARK_.call(null,c,new cljs.core.Keyword(null,"recur","recur",-437573268))){var d=c;break a}}}catch(W){if(W instanceof Object)a[5]=W,cljs.core.async.impl.ioc_helpers.process_exception.call(null,
a),d=new cljs.core.Keyword(null,"recur","recur",-437573268);else throw W;}if(!cljs.core.keyword_identical_QMARK_.call(null,d,new cljs.core.Keyword(null,"recur","recur",-437573268)))return d}};a=function(a){switch(arguments.length){case 0:return c.call(this);case 1:return d.call(this,a)}throw Error("Invalid arity: "+arguments.length);};a.cljs$core$IFn$_invoke$arity$0=c;a.cljs$core$IFn$_invoke$arity$1=d;return a}()}(a,l,b,c,d,e,f,g,h,k)}(),m=function(){var a=l.call(null);a[6]=b;return a}();return cljs.core.async.impl.ioc_helpers.run_state_machine_wrapped.call(null,
m)}}(n,r,p,q,a,h,k,l,m));break;case "async":r=cljs.core.async.chan.call(null,1);cljs.core.async.impl.dispatch.run.call(null,function(a,b,c,d,e,f,g,h,k){return function(){var l=function(){var l=function(a,b,c,d,e,f,g,h,k){return function(a){var b=a[1];return 1===b?(a[2]=null,a[1]=2,new cljs.core.Keyword(null,"recur","recur",-437573268)):2===b?cljs.core.async.impl.ioc_helpers.take_BANG_.call(null,a,4,f):3===b?cljs.core.async.impl.ioc_helpers.return_chan.call(null,a,a[2]):4===b?(b=k.call(null,a[2]),
cljs.core.truth_(b)?a[1]=5:a[1]=6,new cljs.core.Keyword(null,"recur","recur",-437573268)):5===b?(a[2]=null,a[1]=2,new cljs.core.Keyword(null,"recur","recur",-437573268)):6===b?(a[2]=null,a[1]=7,new cljs.core.Keyword(null,"recur","recur",-437573268)):7===b?(a[2]=a[2],a[1]=3,new cljs.core.Keyword(null,"recur","recur",-437573268)):null}}(a,b,c,d,e,f,g,h,k);return function(a,b,c,d,e,f,g,h,k,l){return function(){var a=null,c=function(){var b=[null,null,null,null,null,null,null];b[0]=a;b[1]=1;return b},
d=function(a){for(;;){a:try{for(;;){var c=b.call(null,a);if(!cljs.core.keyword_identical_QMARK_.call(null,c,new cljs.core.Keyword(null,"recur","recur",-437573268))){var d=c;break a}}}catch(W){if(W instanceof Object)a[5]=W,cljs.core.async.impl.ioc_helpers.process_exception.call(null,a),d=new cljs.core.Keyword(null,"recur","recur",-437573268);else throw W;}if(!cljs.core.keyword_identical_QMARK_.call(null,d,new cljs.core.Keyword(null,"recur","recur",-437573268)))return d}};a=function(a){switch(arguments.length){case 0:return c.call(this);
case 1:return d.call(this,a)}throw Error("Invalid arity: "+arguments.length);};a.cljs$core$IFn$_invoke$arity$0=c;a.cljs$core$IFn$_invoke$arity$1=d;return a}()}(a,l,b,c,d,e,f,g,h,k)}(),m=function(){var a=l.call(null);a[6]=b;return a}();return cljs.core.async.impl.ioc_helpers.run_state_machine_wrapped.call(null,m)}}(n,r,p,q,a,h,k,l,m));break;default:throw Error(["No matching clause: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(q)].join(""));}n+=1}else break;a=cljs.core.async.chan.call(null,1);cljs.core.async.impl.dispatch.run.call(null,
function(a,b,c,e,f){return function(){var g=function(){return function(a,b,c,d,e,f){return function(){var b=null,c=function(){var a=[null,null,null,null,null,null,null,null,null,null,null];a[0]=b;a[1]=1;return a},d=function(b){for(;;){a:try{for(;;){var c=a.call(null,b);if(!cljs.core.keyword_identical_QMARK_.call(null,c,new cljs.core.Keyword(null,"recur","recur",-437573268))){var d=c;break a}}}catch(H){if(H instanceof Object)b[5]=H,cljs.core.async.impl.ioc_helpers.process_exception.call(null,b),d=
new cljs.core.Keyword(null,"recur","recur",-437573268);else throw H;}if(!cljs.core.keyword_identical_QMARK_.call(null,d,new cljs.core.Keyword(null,"recur","recur",-437573268)))return d}};b=function(a){switch(arguments.length){case 0:return c.call(this);case 1:return d.call(this,a)}throw Error("Invalid arity: "+arguments.length);};b.cljs$core$IFn$_invoke$arity$0=c;b.cljs$core$IFn$_invoke$arity$1=d;return b}()}(function(a,b,c,e,f){return function(a){var e=a[1];if(7===e)return a[2]=a[2],a[1]=3,new cljs.core.Keyword(null,
"recur","recur",-437573268);if(1===e)return a[2]=null,a[1]=2,new cljs.core.Keyword(null,"recur","recur",-437573268);if(4===e)return e=a[2],a[7]=e,cljs.core.truth_(null==e)?a[1]=5:a[1]=6,new cljs.core.Keyword(null,"recur","recur",-437573268);if(6===e){var f=a[7];e=cljs.core.async.chan.call(null,1);f=new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[f,e],null);a[8]=e;return cljs.core.async.impl.ioc_helpers.put_BANG_.call(null,a,8,b,f)}return 3===e?cljs.core.async.impl.ioc_helpers.return_chan.call(null,
a,a[2]):2===e?cljs.core.async.impl.ioc_helpers.take_BANG_.call(null,a,4,d):9===e?(a[9]=a[2],a[2]=null,a[1]=2,new cljs.core.Keyword(null,"recur","recur",-437573268)):5===e?(e=cljs.core.async.close_BANG_.call(null,b),a[2]=e,a[1]=7,new cljs.core.Keyword(null,"recur","recur",-437573268)):8===e?(e=a[8],a[10]=a[2],cljs.core.async.impl.ioc_helpers.put_BANG_.call(null,a,9,c,e)):null}}(a,b,c,e,f),a,b,c,e,f)}(),h=function(){var b=g.call(null);b[6]=a;return b}();return cljs.core.async.impl.ioc_helpers.run_state_machine_wrapped.call(null,
h)}}(a,h,k,l,m));a=cljs.core.async.chan.call(null,1);cljs.core.async.impl.dispatch.run.call(null,function(a,c,d,f,g){return function(){var h=function(){return function(a,b,c,d,e,f){return function(){var b=null,c=function(){var a=[null,null,null,null,null,null,null,null,null,null,null,null];a[0]=b;a[1]=1;return a},d=function(b){for(;;){a:try{for(;;){var c=a.call(null,b);if(!cljs.core.keyword_identical_QMARK_.call(null,c,new cljs.core.Keyword(null,"recur","recur",-437573268))){var d=c;break a}}}catch(H){if(H instanceof
Object)b[5]=H,cljs.core.async.impl.ioc_helpers.process_exception.call(null,b),d=new cljs.core.Keyword(null,"recur","recur",-437573268);else throw H;}if(!cljs.core.keyword_identical_QMARK_.call(null,d,new cljs.core.Keyword(null,"recur","recur",-437573268)))return d}};b=function(a){switch(arguments.length){case 0:return c.call(this);case 1:return d.call(this,a)}throw Error("Invalid arity: "+arguments.length);};b.cljs$core$IFn$_invoke$arity$0=c;b.cljs$core$IFn$_invoke$arity$1=d;return b}()}(function(a,
c,d,f,g){return function(a){var c=a[1];if(7===c)return a[2]=a[2],a[1]=3,new cljs.core.Keyword(null,"recur","recur",-437573268);if(20===c)return a[2]=null,a[1]=21,new cljs.core.Keyword(null,"recur","recur",-437573268);if(1===c)return a[2]=null,a[1]=2,new cljs.core.Keyword(null,"recur","recur",-437573268);if(4===c)return c=a[2],a[7]=c,cljs.core.truth_(null==c)?a[1]=5:a[1]=6,new cljs.core.Keyword(null,"recur","recur",-437573268);if(15===c)return cljs.core.async.impl.ioc_helpers.put_BANG_.call(null,a,
18,b,a[8]);if(21===c)return a[2]=a[2],a[1]=13,new cljs.core.Keyword(null,"recur","recur",-437573268);if(13===c)return a[9]=a[2],a[2]=null,a[1]=2,new cljs.core.Keyword(null,"recur","recur",-437573268);if(6===c)return c=a[7],cljs.core.async.impl.ioc_helpers.take_BANG_.call(null,a,11,c);if(17===c)return c=a[2],cljs.core.truth_(c)?a[1]=19:a[1]=20,new cljs.core.Keyword(null,"recur","recur",-437573268);if(3===c)return cljs.core.async.impl.ioc_helpers.return_chan.call(null,a,a[2]);if(12===c)return c=a[10],
cljs.core.async.impl.ioc_helpers.take_BANG_.call(null,a,14,c);if(2===c)return cljs.core.async.impl.ioc_helpers.take_BANG_.call(null,a,4,d);if(19===c)return a[2]=null,a[1]=12,new cljs.core.Keyword(null,"recur","recur",-437573268);if(11===c)return c=a[2],a[10]=c,a[2]=null,a[1]=12,new cljs.core.Keyword(null,"recur","recur",-437573268);if(9===c)return a[2]=null,a[1]=10,new cljs.core.Keyword(null,"recur","recur",-437573268);if(5===c)return cljs.core.truth_(e)?a[1]=8:a[1]=9,new cljs.core.Keyword(null,"recur",
"recur",-437573268);if(14===c){c=a[2];var f=cljs.core.not.call(null,null==c);a[11]=f;a[8]=c;a[1]=f?15:16;return new cljs.core.Keyword(null,"recur","recur",-437573268)}return 16===c?(c=a[11],a[2]=c,a[1]=17,new cljs.core.Keyword(null,"recur","recur",-437573268)):10===c?(a[2]=a[2],a[1]=7,new cljs.core.Keyword(null,"recur","recur",-437573268)):18===c?(a[2]=a[2],a[1]=17,new cljs.core.Keyword(null,"recur","recur",-437573268)):8===c?(c=cljs.core.async.close_BANG_.call(null,b),a[2]=c,a[1]=10,new cljs.core.Keyword(null,
"recur","recur",-437573268)):null}}(a,c,d,f,g),a,c,d,f,g)}(),k=function(){var b=h.call(null);b[6]=a;return b}();return cljs.core.async.impl.ioc_helpers.run_state_machine_wrapped.call(null,k)}}(a,h,k,l,m));return a};
cljs.core.async.pipeline_async=function(a){switch(arguments.length){case 4:return cljs.core.async.pipeline_async.cljs$core$IFn$_invoke$arity$4(arguments[0],arguments[1],arguments[2],arguments[3]);case 5:return cljs.core.async.pipeline_async.cljs$core$IFn$_invoke$arity$5(arguments[0],arguments[1],arguments[2],arguments[3],arguments[4]);default:throw Error(["Invalid arity: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(""));}};
cljs.core.async.pipeline_async.cljs$core$IFn$_invoke$arity$4=function(a,b,c,d){return cljs.core.async.pipeline_async.call(null,a,b,c,d,!0)};cljs.core.async.pipeline_async.cljs$core$IFn$_invoke$arity$5=function(a,b,c,d,e){return cljs.core.async.pipeline_STAR_.call(null,a,b,c,d,e,null,new cljs.core.Keyword(null,"async","async",1050769601))};cljs.core.async.pipeline_async.cljs$lang$maxFixedArity=5;
cljs.core.async.pipeline=function(a){switch(arguments.length){case 4:return cljs.core.async.pipeline.cljs$core$IFn$_invoke$arity$4(arguments[0],arguments[1],arguments[2],arguments[3]);case 5:return cljs.core.async.pipeline.cljs$core$IFn$_invoke$arity$5(arguments[0],arguments[1],arguments[2],arguments[3],arguments[4]);case 6:return cljs.core.async.pipeline.cljs$core$IFn$_invoke$arity$6(arguments[0],arguments[1],arguments[2],arguments[3],arguments[4],arguments[5]);default:throw Error(["Invalid arity: ",
cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(""));}};cljs.core.async.pipeline.cljs$core$IFn$_invoke$arity$4=function(a,b,c,d){return cljs.core.async.pipeline.call(null,a,b,c,d,!0)};cljs.core.async.pipeline.cljs$core$IFn$_invoke$arity$5=function(a,b,c,d,e){return cljs.core.async.pipeline.call(null,a,b,c,d,e,null)};
cljs.core.async.pipeline.cljs$core$IFn$_invoke$arity$6=function(a,b,c,d,e,f){return cljs.core.async.pipeline_STAR_.call(null,a,b,c,d,e,f,new cljs.core.Keyword(null,"compute","compute",1555393130))};cljs.core.async.pipeline.cljs$lang$maxFixedArity=6;
cljs.core.async.split=function(a){switch(arguments.length){case 2:return cljs.core.async.split.cljs$core$IFn$_invoke$arity$2(arguments[0],arguments[1]);case 4:return cljs.core.async.split.cljs$core$IFn$_invoke$arity$4(arguments[0],arguments[1],arguments[2],arguments[3]);default:throw Error(["Invalid arity: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(""));}};cljs.core.async.split.cljs$core$IFn$_invoke$arity$2=function(a,b){return cljs.core.async.split.call(null,a,b,null,null)};
cljs.core.async.split.cljs$core$IFn$_invoke$arity$4=function(a,b,c,d){c=cljs.core.async.chan.call(null,c);d=cljs.core.async.chan.call(null,d);var e=cljs.core.async.chan.call(null,1);cljs.core.async.impl.dispatch.run.call(null,function(c,d,e){return function(){var f=function(){return function(a,b,c,d){return function(){var b=null,c=function(){var a=[null,null,null,null,null,null,null,null,null];a[0]=b;a[1]=1;return a},d=function(b){for(;;){a:try{for(;;){var c=a.call(null,b);if(!cljs.core.keyword_identical_QMARK_.call(null,
c,new cljs.core.Keyword(null,"recur","recur",-437573268))){var d=c;break a}}}catch(y){if(y instanceof Object)b[5]=y,cljs.core.async.impl.ioc_helpers.process_exception.call(null,b),d=new cljs.core.Keyword(null,"recur","recur",-437573268);else throw y;}if(!cljs.core.keyword_identical_QMARK_.call(null,d,new cljs.core.Keyword(null,"recur","recur",-437573268)))return d}};b=function(a){switch(arguments.length){case 0:return c.call(this);case 1:return d.call(this,a)}throw Error("Invalid arity: "+arguments.length);
};b.cljs$core$IFn$_invoke$arity$0=c;b.cljs$core$IFn$_invoke$arity$1=d;return b}()}(function(c,d,e){return function(c){var f=c[1];if(7===f)return c[2]=c[2],c[1]=3,new cljs.core.Keyword(null,"recur","recur",-437573268);if(1===f)return c[2]=null,c[1]=2,new cljs.core.Keyword(null,"recur","recur",-437573268);if(4===f)return f=c[2],c[7]=f,cljs.core.truth_(null==f)?c[1]=5:c[1]=6,new cljs.core.Keyword(null,"recur","recur",-437573268);if(13===f)return c[2]=null,c[1]=14,new cljs.core.Keyword(null,"recur","recur",
-437573268);if(6===f)return f=c[7],f=a.call(null,f),cljs.core.truth_(f)?c[1]=9:c[1]=10,new cljs.core.Keyword(null,"recur","recur",-437573268);if(3===f)return cljs.core.async.impl.ioc_helpers.return_chan.call(null,c,c[2]);if(12===f)return c[2]=null,c[1]=2,new cljs.core.Keyword(null,"recur","recur",-437573268);if(2===f)return cljs.core.async.impl.ioc_helpers.take_BANG_.call(null,c,4,b);if(11===f)return f=c[7],cljs.core.async.impl.ioc_helpers.put_BANG_.call(null,c,8,c[2],f);if(9===f)return c[2]=d,c[1]=
11,new cljs.core.Keyword(null,"recur","recur",-437573268);if(5===f){var g=cljs.core.async.close_BANG_.call(null,d);f=cljs.core.async.close_BANG_.call(null,e);c[8]=g;c[2]=f;c[1]=7;return new cljs.core.Keyword(null,"recur","recur",-437573268)}return 14===f?(c[2]=c[2],c[1]=7,new cljs.core.Keyword(null,"recur","recur",-437573268)):10===f?(c[2]=e,c[1]=11,new cljs.core.Keyword(null,"recur","recur",-437573268)):8===f?(f=c[2],cljs.core.truth_(f)?c[1]=12:c[1]=13,new cljs.core.Keyword(null,"recur","recur",
-437573268)):null}}(c,d,e),c,d,e)}(),g=function(){var a=f.call(null);a[6]=c;return a}();return cljs.core.async.impl.ioc_helpers.run_state_machine_wrapped.call(null,g)}}(e,c,d));return new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[c,d],null)};cljs.core.async.split.cljs$lang$maxFixedArity=4;
cljs.core.async.reduce=function(a,b,c){var d=cljs.core.async.chan.call(null,1);cljs.core.async.impl.dispatch.run.call(null,function(d){return function(){var e=function(){return function(a,b){return function(){var b=null,c=function(){var a=[null,null,null,null,null,null,null,null,null,null];a[0]=b;a[1]=1;return a},d=function(b){for(;;){a:try{for(;;){var c=a.call(null,b);if(!cljs.core.keyword_identical_QMARK_.call(null,c,new cljs.core.Keyword(null,"recur","recur",-437573268))){var d=c;break a}}}catch(u){if(u instanceof
Object)b[5]=u,cljs.core.async.impl.ioc_helpers.process_exception.call(null,b),d=new cljs.core.Keyword(null,"recur","recur",-437573268);else throw u;}if(!cljs.core.keyword_identical_QMARK_.call(null,d,new cljs.core.Keyword(null,"recur","recur",-437573268)))return d}};b=function(a){switch(arguments.length){case 0:return c.call(this);case 1:return d.call(this,a)}throw Error("Invalid arity: "+arguments.length);};b.cljs$core$IFn$_invoke$arity$0=c;b.cljs$core$IFn$_invoke$arity$1=d;return b}()}(function(d){return function(d){var e=
d[1];if(7===e)return d[2]=d[2],d[1]=3,new cljs.core.Keyword(null,"recur","recur",-437573268);if(1===e)return e=b,d[7]=e,d[2]=null,d[1]=2,new cljs.core.Keyword(null,"recur","recur",-437573268);if(4===e)return e=d[2],d[8]=e,cljs.core.truth_(null==e)?d[1]=5:d[1]=6,new cljs.core.Keyword(null,"recur","recur",-437573268);if(6===e){var f=d[8];e=d[7];e=a.call(null,e,f);f=cljs.core.reduced_QMARK_.call(null,e);d[9]=e;d[1]=f?8:9;return new cljs.core.Keyword(null,"recur","recur",-437573268)}return 3===e?cljs.core.async.impl.ioc_helpers.return_chan.call(null,
d,d[2]):2===e?cljs.core.async.impl.ioc_helpers.take_BANG_.call(null,d,4,c):9===e?(e=d[9],d[7]=e,d[2]=null,d[1]=2,new cljs.core.Keyword(null,"recur","recur",-437573268)):5===e?(e=d[7],d[2]=e,d[1]=7,new cljs.core.Keyword(null,"recur","recur",-437573268)):10===e?(d[2]=d[2],d[1]=7,new cljs.core.Keyword(null,"recur","recur",-437573268)):8===e?(e=d[9],e=cljs.core.deref.call(null,e),d[2]=e,d[1]=10,new cljs.core.Keyword(null,"recur","recur",-437573268)):null}}(d),d)}(),g=function(){var a=e.call(null);a[6]=
d;return a}();return cljs.core.async.impl.ioc_helpers.run_state_machine_wrapped.call(null,g)}}(d));return d};
cljs.core.async.transduce=function(a,b,c,d){a=a.call(null,b);b=cljs.core.async.chan.call(null,1);cljs.core.async.impl.dispatch.run.call(null,function(a,b){return function(){var e=function(){return function(a,b,c){return function(){var b=null,c=function(){var a=[null,null,null,null,null,null,null];a[0]=b;a[1]=1;return a},d=function(b){for(;;){a:try{for(;;){var c=a.call(null,b);if(!cljs.core.keyword_identical_QMARK_.call(null,c,new cljs.core.Keyword(null,"recur","recur",-437573268))){var d=c;break a}}}catch(v){if(v instanceof
Object)b[5]=v,cljs.core.async.impl.ioc_helpers.process_exception.call(null,b),d=new cljs.core.Keyword(null,"recur","recur",-437573268);else throw v;}if(!cljs.core.keyword_identical_QMARK_.call(null,d,new cljs.core.Keyword(null,"recur","recur",-437573268)))return d}};b=function(a){switch(arguments.length){case 0:return c.call(this);case 1:return d.call(this,a)}throw Error("Invalid arity: "+arguments.length);};b.cljs$core$IFn$_invoke$arity$0=c;b.cljs$core$IFn$_invoke$arity$1=d;return b}()}(function(a,
b){return function(a){var e=a[1];return 1===e?(e=cljs.core.async.reduce.call(null,b,c,d),cljs.core.async.impl.ioc_helpers.take_BANG_.call(null,a,2,e)):2===e?(e=b.call(null,a[2]),cljs.core.async.impl.ioc_helpers.return_chan.call(null,a,e)):null}}(a,b),a,b)}(),f=function(){var b=e.call(null);b[6]=a;return b}();return cljs.core.async.impl.ioc_helpers.run_state_machine_wrapped.call(null,f)}}(b,a));return b};
cljs.core.async.onto_chan=function(a){switch(arguments.length){case 2:return cljs.core.async.onto_chan.cljs$core$IFn$_invoke$arity$2(arguments[0],arguments[1]);case 3:return cljs.core.async.onto_chan.cljs$core$IFn$_invoke$arity$3(arguments[0],arguments[1],arguments[2]);default:throw Error(["Invalid arity: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(""));}};
cljs.core.async.onto_chan.cljs$core$IFn$_invoke$arity$2=function(a,b){return cljs.core.async.onto_chan.call(null,a,b,!0)};
cljs.core.async.onto_chan.cljs$core$IFn$_invoke$arity$3=function(a,b,c){var d=cljs.core.async.chan.call(null,1);cljs.core.async.impl.dispatch.run.call(null,function(d){return function(){var e=function(){return function(a,b){return function(){var b=null,c=function(){var a=[null,null,null,null,null,null,null,null];a[0]=b;a[1]=1;return a},d=function(b){for(;;){a:try{for(;;){var c=a.call(null,b);if(!cljs.core.keyword_identical_QMARK_.call(null,c,new cljs.core.Keyword(null,"recur","recur",-437573268))){var d=
c;break a}}}catch(u){if(u instanceof Object)b[5]=u,cljs.core.async.impl.ioc_helpers.process_exception.call(null,b),d=new cljs.core.Keyword(null,"recur","recur",-437573268);else throw u;}if(!cljs.core.keyword_identical_QMARK_.call(null,d,new cljs.core.Keyword(null,"recur","recur",-437573268)))return d}};b=function(a){switch(arguments.length){case 0:return c.call(this);case 1:return d.call(this,a)}throw Error("Invalid arity: "+arguments.length);};b.cljs$core$IFn$_invoke$arity$0=c;b.cljs$core$IFn$_invoke$arity$1=
d;return b}()}(function(d){return function(d){var e=d[1];return 7===e?(d[2]=d[2],d[1]=6,new cljs.core.Keyword(null,"recur","recur",-437573268)):1===e?(e=cljs.core.seq.call(null,b),d[7]=e,d[2]=null,d[1]=2,new cljs.core.Keyword(null,"recur","recur",-437573268)):4===e?(e=d[7],e=cljs.core.first.call(null,e),cljs.core.async.impl.ioc_helpers.put_BANG_.call(null,d,7,a,e)):13===e?(d[2]=d[2],d[1]=10,new cljs.core.Keyword(null,"recur","recur",-437573268)):6===e?(e=d[2],cljs.core.truth_(e)?d[1]=8:d[1]=9,new cljs.core.Keyword(null,
"recur","recur",-437573268)):3===e?cljs.core.async.impl.ioc_helpers.return_chan.call(null,d,d[2]):12===e?(d[2]=null,d[1]=13,new cljs.core.Keyword(null,"recur","recur",-437573268)):2===e?(e=d[7],cljs.core.truth_(e)?d[1]=4:d[1]=5,new cljs.core.Keyword(null,"recur","recur",-437573268)):11===e?(e=cljs.core.async.close_BANG_.call(null,a),d[2]=e,d[1]=13,new cljs.core.Keyword(null,"recur","recur",-437573268)):9===e?(cljs.core.truth_(c)?d[1]=11:d[1]=12,new cljs.core.Keyword(null,"recur","recur",-437573268)):
5===e?(e=d[7],d[2]=e,d[1]=6,new cljs.core.Keyword(null,"recur","recur",-437573268)):10===e?(d[2]=d[2],d[1]=3,new cljs.core.Keyword(null,"recur","recur",-437573268)):8===e?(e=d[7],e=cljs.core.next.call(null,e),d[7]=e,d[2]=null,d[1]=2,new cljs.core.Keyword(null,"recur","recur",-437573268)):null}}(d),d)}(),g=function(){var a=e.call(null);a[6]=d;return a}();return cljs.core.async.impl.ioc_helpers.run_state_machine_wrapped.call(null,g)}}(d));return d};
cljs.core.async.onto_chan.cljs$lang$maxFixedArity=3;cljs.core.async.to_chan=function(a){var b=cljs.core.async.chan.call(null,cljs.core.bounded_count.call(null,100,a));cljs.core.async.onto_chan.call(null,b,a);return b};cljs.core.async.Mux=function(){};
cljs.core.async.muxch_STAR_=function(a){if(null!=a&&null!=a.cljs$core$async$Mux$muxch_STAR_$arity$1)return a.cljs$core$async$Mux$muxch_STAR_$arity$1(a);var b=cljs.core.async.muxch_STAR_[goog.typeOf(null==a?null:a)];if(null!=b)return b.call(null,a);b=cljs.core.async.muxch_STAR_._;if(null!=b)return b.call(null,a);throw cljs.core.missing_protocol.call(null,"Mux.muxch*",a);};cljs.core.async.Mult=function(){};
cljs.core.async.tap_STAR_=function(a,b,c){if(null!=a&&null!=a.cljs$core$async$Mult$tap_STAR_$arity$3)return a.cljs$core$async$Mult$tap_STAR_$arity$3(a,b,c);var d=cljs.core.async.tap_STAR_[goog.typeOf(null==a?null:a)];if(null!=d)return d.call(null,a,b,c);d=cljs.core.async.tap_STAR_._;if(null!=d)return d.call(null,a,b,c);throw cljs.core.missing_protocol.call(null,"Mult.tap*",a);};
cljs.core.async.untap_STAR_=function(a,b){if(null!=a&&null!=a.cljs$core$async$Mult$untap_STAR_$arity$2)return a.cljs$core$async$Mult$untap_STAR_$arity$2(a,b);var c=cljs.core.async.untap_STAR_[goog.typeOf(null==a?null:a)];if(null!=c)return c.call(null,a,b);c=cljs.core.async.untap_STAR_._;if(null!=c)return c.call(null,a,b);throw cljs.core.missing_protocol.call(null,"Mult.untap*",a);};
cljs.core.async.untap_all_STAR_=function(a){if(null!=a&&null!=a.cljs$core$async$Mult$untap_all_STAR_$arity$1)return a.cljs$core$async$Mult$untap_all_STAR_$arity$1(a);var b=cljs.core.async.untap_all_STAR_[goog.typeOf(null==a?null:a)];if(null!=b)return b.call(null,a);b=cljs.core.async.untap_all_STAR_._;if(null!=b)return b.call(null,a);throw cljs.core.missing_protocol.call(null,"Mult.untap-all*",a);};
cljs.core.async.mult=function(a){var b=cljs.core.atom.call(null,cljs.core.PersistentArrayMap.EMPTY),c=function(){if("undefined"===typeof cljs||"undefined"===typeof cljs.core||"undefined"===typeof cljs.core.async||"undefined"===typeof cljs.core.async.t_cljs$core$async38967)cljs.core.async.t_cljs$core$async38967=function(a,b,c){this.ch=a;this.cs=b;this.meta38968=c;this.cljs$lang$protocol_mask$partition0$=393216;this.cljs$lang$protocol_mask$partition1$=0},cljs.core.async.t_cljs$core$async38967.prototype.cljs$core$IWithMeta$_with_meta$arity$2=
function(a){return function(a,b){return new cljs.core.async.t_cljs$core$async38967(this.ch,this.cs,b)}}(b),cljs.core.async.t_cljs$core$async38967.prototype.cljs$core$IMeta$_meta$arity$1=function(a){return function(a){return this.meta38968}}(b),cljs.core.async.t_cljs$core$async38967.prototype.cljs$core$async$Mux$=cljs.core.PROTOCOL_SENTINEL,cljs.core.async.t_cljs$core$async38967.prototype.cljs$core$async$Mux$muxch_STAR_$arity$1=function(a){return function(a){return this.ch}}(b),cljs.core.async.t_cljs$core$async38967.prototype.cljs$core$async$Mult$=
cljs.core.PROTOCOL_SENTINEL,cljs.core.async.t_cljs$core$async38967.prototype.cljs$core$async$Mult$tap_STAR_$arity$3=function(a){return function(a,b,c){cljs.core.swap_BANG_.call(null,this.cs,cljs.core.assoc,b,c);return null}}(b),cljs.core.async.t_cljs$core$async38967.prototype.cljs$core$async$Mult$untap_STAR_$arity$2=function(a){return function(a,b){cljs.core.swap_BANG_.call(null,this.cs,cljs.core.dissoc,b);return null}}(b),cljs.core.async.t_cljs$core$async38967.prototype.cljs$core$async$Mult$untap_all_STAR_$arity$1=
function(a){return function(a){cljs.core.reset_BANG_.call(null,this.cs,cljs.core.PersistentArrayMap.EMPTY);return null}}(b),cljs.core.async.t_cljs$core$async38967.getBasis=function(a){return function(){return new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"ch","ch",1085813622,null),new cljs.core.Symbol(null,"cs","cs",-117024463,null),new cljs.core.Symbol(null,"meta38968","meta38968",-1027262243,null)],null)}}(b),cljs.core.async.t_cljs$core$async38967.cljs$lang$type=
!0,cljs.core.async.t_cljs$core$async38967.cljs$lang$ctorStr="cljs.core.async/t_cljs$core$async38967",cljs.core.async.t_cljs$core$async38967.cljs$lang$ctorPrWriter=function(a){return function(a,b,c){return cljs.core._write.call(null,b,"cljs.core.async/t_cljs$core$async38967")}}(b),cljs.core.async.__GT_t_cljs$core$async38967=function(a){return function(a,b,c){return new cljs.core.async.t_cljs$core$async38967(a,b,c)}}(b);return new cljs.core.async.t_cljs$core$async38967(a,b,cljs.core.PersistentArrayMap.EMPTY)}(),
d=cljs.core.async.chan.call(null,1),e=cljs.core.atom.call(null,null),f=function(a,b,c,d){return function(a){return 0===cljs.core.swap_BANG_.call(null,d,cljs.core.dec)?cljs.core.async.put_BANG_.call(null,c,!0):null}}(b,c,d,e),g=cljs.core.async.chan.call(null,1);cljs.core.async.impl.dispatch.run.call(null,function(b,c,d,e,f,g){return function(){var h=function(){return function(a,b,c,d,e,f,g){return function(){var b=null,c=function(){var a=[null,null,null,null,null,null,null,null,null,null,null,null,
null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null];a[0]=b;a[1]=1;return a},d=function(b){for(;;){a:try{for(;;){var c=a.call(null,b);if(!cljs.core.keyword_identical_QMARK_.call(null,c,new cljs.core.Keyword(null,"recur","recur",-437573268))){var d=c;break a}}}catch(G){if(G instanceof Object)b[5]=G,cljs.core.async.impl.ioc_helpers.process_exception.call(null,b),d=new cljs.core.Keyword(null,"recur","recur",-437573268);else throw G;}if(!cljs.core.keyword_identical_QMARK_.call(null,
d,new cljs.core.Keyword(null,"recur","recur",-437573268)))return d}};b=function(a){switch(arguments.length){case 0:return c.call(this);case 1:return d.call(this,a)}throw Error("Invalid arity: "+arguments.length);};b.cljs$core$IFn$_invoke$arity$0=c;b.cljs$core$IFn$_invoke$arity$1=d;return b}()}(function(b,c,d,e,f,g){return function(b){var h=b[1];if(7===h){var k=b,l=k;l[2]=b[2];l[1]=3;return new cljs.core.Keyword(null,"recur","recur",-437573268)}if(20===h){var m=b[7],n=cljs.core.first.call(null,m),
p=cljs.core.nth.call(null,n,0,null),q=cljs.core.nth.call(null,n,1,null);b[8]=p;k=b;cljs.core.truth_(q)?k[1]=22:k[1]=23;return new cljs.core.Keyword(null,"recur","recur",-437573268)}if(27===h){var r=b[9],u=b[10],t=b[11],v=b[12],w=cljs.core._nth.call(null,u,v),x=cljs.core.async.put_BANG_.call(null,w,r,g);b[11]=w;k=b;cljs.core.truth_(x)?k[1]=30:k[1]=31;return new cljs.core.Keyword(null,"recur","recur",-437573268)}if(1===h){var y=k=b;y[2]=null;y[1]=2;return new cljs.core.Keyword(null,"recur","recur",
-437573268)}if(24===h){m=b[7];var z=b[2],N=cljs.core.next.call(null,m),Q=null,R=0,S=0;b[13]=R;b[14]=z;b[15]=S;b[16]=N;b[17]=Q;var T=k=b;T[2]=null;T[1]=8;return new cljs.core.Keyword(null,"recur","recur",-437573268)}if(39===h){var U=k=b;U[2]=null;U[1]=41;return new cljs.core.Keyword(null,"recur","recur",-437573268)}if(4===h){r=b[9];var W=b[2],V=null==W;b[9]=W;k=b;cljs.core.truth_(V)?k[1]=5:k[1]=6;return new cljs.core.Keyword(null,"recur","recur",-437573268)}if(15===h){R=b[13];S=b[15];N=b[16];Q=b[17];
var X=b[2],Y=N,aa=Q,ba=S+1;b[13]=R;b[18]=X;b[15]=ba;b[16]=Y;b[17]=aa;var Z=k=b;Z[2]=null;Z[1]=8;return new cljs.core.Keyword(null,"recur","recur",-437573268)}if(21===h){var ca=b[2],ea=k=b;ea[2]=ca;ea[1]=18;return new cljs.core.Keyword(null,"recur","recur",-437573268)}if(31===h){t=b[11];var ha=g.call(null,null),fa=cljs.core.async.untap_STAR_.call(null,d,t);b[19]=ha;var ka=k=b;ka[2]=fa;ka[1]=32;return new cljs.core.Keyword(null,"recur","recur",-437573268)}if(32===h){u=b[10];var ia=b[20],ja=b[21];v=
b[12];var da=ja,ma=u,Fa=ia,Ya=v+1;b[22]=b[2];b[10]=ma;b[20]=Fa;b[21]=da;b[12]=Ya;var Aa=k=b;Aa[2]=null;Aa[1]=25;return new cljs.core.Keyword(null,"recur","recur",-437573268)}if(40===h){var Ga=b[23],Oa=g.call(null,null),Za=cljs.core.async.untap_STAR_.call(null,d,Ga);b[24]=Oa;var Ha=k=b;Ha[2]=Za;Ha[1]=41;return new cljs.core.Keyword(null,"recur","recur",-437573268)}if(33===h){var na=b[25],$a=cljs.core.chunked_seq_QMARK_.call(null,na);k=b;k[1]=$a?36:37;return new cljs.core.Keyword(null,"recur","recur",
-437573268)}if(13===h){var wa=b[26],vb=cljs.core.async.close_BANG_.call(null,wa),kb=k=b;kb[2]=vb;kb[1]=15;return new cljs.core.Keyword(null,"recur","recur",-437573268)}if(22===h){p=b[8];var lb=cljs.core.async.close_BANG_.call(null,p),Ba=k=b;Ba[2]=lb;Ba[1]=24;return new cljs.core.Keyword(null,"recur","recur",-437573268)}if(36===h){na=b[25];var ab=cljs.core.chunk_first.call(null,na),wb=cljs.core.chunk_rest.call(null,na),mb=cljs.core.count.call(null,ab);ja=wb;u=ab;ia=mb;v=0;b[10]=u;b[20]=ia;b[21]=ja;
b[12]=v;var bb=k=b;bb[2]=null;bb[1]=25;return new cljs.core.Keyword(null,"recur","recur",-437573268)}if(41===h){na=b[25];var xb=b[2];ja=cljs.core.next.call(null,na);u=null;v=ia=0;b[27]=xb;b[10]=u;b[20]=ia;b[21]=ja;b[12]=v;var nb=k=b;nb[2]=null;nb[1]=25;return new cljs.core.Keyword(null,"recur","recur",-437573268)}if(43===h){var cb=k=b;cb[2]=null;cb[1]=44;return new cljs.core.Keyword(null,"recur","recur",-437573268)}if(29===h){var Ca=b[2],xa=k=b;xa[2]=Ca;xa[1]=26;return new cljs.core.Keyword(null,
"recur","recur",-437573268)}if(44===h){b[28]=b[2];var ob=k=b;ob[2]=null;ob[1]=2;return new cljs.core.Keyword(null,"recur","recur",-437573268)}if(6===h){var db=b[29],yb=cljs.core.deref.call(null,c),ya=cljs.core.keys.call(null,yb),eb=cljs.core.count.call(null,ya),fb=cljs.core.reset_BANG_.call(null,f,eb);ja=cljs.core.seq.call(null,ya);u=null;v=ia=0;b[30]=fb;b[10]=u;b[20]=ia;b[29]=ya;b[21]=ja;b[12]=v;var Ia=k=b;Ia[2]=null;Ia[1]=25;return new cljs.core.Keyword(null,"recur","recur",-437573268)}if(28===
h){na=b[25];ja=b[21];var la=cljs.core.seq.call(null,ja);b[25]=la;k=b;k[1]=la?33:34;return new cljs.core.Keyword(null,"recur","recur",-437573268)}if(25===h){ia=b[20];v=b[12];var ta=v<ia;k=b;cljs.core.truth_(ta)?k[1]=27:k[1]=28;return new cljs.core.Keyword(null,"recur","recur",-437573268)}if(34===h){var ra=k=b;ra[2]=null;ra[1]=35;return new cljs.core.Keyword(null,"recur","recur",-437573268)}if(17===h){var ua=k=b;ua[2]=null;ua[1]=18;return new cljs.core.Keyword(null,"recur","recur",-437573268)}if(3===
h){var sa=b[2];k=b;return cljs.core.async.impl.ioc_helpers.return_chan.call(null,k,sa)}if(12===h){var oa=b[2],Da=k=b;Da[2]=oa;Da[1]=9;return new cljs.core.Keyword(null,"recur","recur",-437573268)}if(2===h)return k=b,cljs.core.async.impl.ioc_helpers.take_BANG_.call(null,k,4,a);if(23===h){var pa=k=b;pa[2]=null;pa[1]=24;return new cljs.core.Keyword(null,"recur","recur",-437573268)}if(35===h){var Ja=b[2],za=k=b;za[2]=Ja;za[1]=29;return new cljs.core.Keyword(null,"recur","recur",-437573268)}if(19===h){m=
b[7];var Ka=cljs.core.chunk_first.call(null,m),zb=cljs.core.chunk_rest.call(null,m),Pa=cljs.core.count.call(null,Ka);N=zb;Q=Ka;R=Pa;S=0;b[13]=R;b[15]=S;b[16]=N;b[17]=Q;var Qa=k=b;Qa[2]=null;Qa[1]=8;return new cljs.core.Keyword(null,"recur","recur",-437573268)}if(11===h){m=b[7];N=b[16];var qa=cljs.core.seq.call(null,N);b[7]=qa;k=b;k[1]=qa?16:17;return new cljs.core.Keyword(null,"recur","recur",-437573268)}if(9===h){var va=b[2],Ra=k=b;Ra[2]=va;Ra[1]=7;return new cljs.core.Keyword(null,"recur","recur",
-437573268)}if(5===h){var Sa=cljs.core.deref.call(null,c);N=cljs.core.seq.call(null,Sa);Q=null;S=R=0;b[13]=R;b[15]=S;b[16]=N;b[17]=Q;var Ta=k=b;Ta[2]=null;Ta[1]=8;return new cljs.core.Keyword(null,"recur","recur",-437573268)}if(14===h){var La=k=b;La[2]=null;La[1]=15;return new cljs.core.Keyword(null,"recur","recur",-437573268)}if(45===h){var Ua=b[2],Va=k=b;Va[2]=Ua;Va[1]=44;return new cljs.core.Keyword(null,"recur","recur",-437573268)}if(26===h){db=b[29];var gb=b[2],Ea=cljs.core.seq.call(null,db);
b[31]=gb;k=b;k[1]=Ea?42:43;return new cljs.core.Keyword(null,"recur","recur",-437573268)}if(16===h){m=b[7];var Wa=cljs.core.chunked_seq_QMARK_.call(null,m);k=b;k[1]=Wa?19:20;return new cljs.core.Keyword(null,"recur","recur",-437573268)}if(38===h){var pb=b[2],Ma=k=b;Ma[2]=pb;Ma[1]=35;return new cljs.core.Keyword(null,"recur","recur",-437573268)}if(30===h){var hb=k=b;hb[2]=null;hb[1]=32;return new cljs.core.Keyword(null,"recur","recur",-437573268)}if(10===h){S=b[15];Q=b[17];var ib=cljs.core._nth.call(null,
Q,S);wa=cljs.core.nth.call(null,ib,0,null);var Na=cljs.core.nth.call(null,ib,1,null);b[26]=wa;k=b;cljs.core.truth_(Na)?k[1]=13:k[1]=14;return new cljs.core.Keyword(null,"recur","recur",-437573268)}if(18===h){var qb=b[2],rb=k=b;rb[2]=qb;rb[1]=12;return new cljs.core.Keyword(null,"recur","recur",-437573268)}if(42===h)return k=b,cljs.core.async.impl.ioc_helpers.take_BANG_.call(null,k,45,e);if(37===h){r=b[9];na=b[25];Ga=b[23];var sb=cljs.core.first.call(null,na),Ab=cljs.core.async.put_BANG_.call(null,
sb,r,g);b[23]=sb;k=b;cljs.core.truth_(Ab)?k[1]=39:k[1]=40;return new cljs.core.Keyword(null,"recur","recur",-437573268)}if(8===h){R=b[13];S=b[15];var tb=S<R;k=b;cljs.core.truth_(tb)?k[1]=10:k[1]=11;return new cljs.core.Keyword(null,"recur","recur",-437573268)}return null}}(b,c,d,e,f,g),b,c,d,e,f,g)}(),k=function(){var a=h.call(null);a[6]=b;return a}();return cljs.core.async.impl.ioc_helpers.run_state_machine_wrapped.call(null,k)}}(g,b,c,d,e,f));return c};
cljs.core.async.tap=function(a){switch(arguments.length){case 2:return cljs.core.async.tap.cljs$core$IFn$_invoke$arity$2(arguments[0],arguments[1]);case 3:return cljs.core.async.tap.cljs$core$IFn$_invoke$arity$3(arguments[0],arguments[1],arguments[2]);default:throw Error(["Invalid arity: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(""));}};cljs.core.async.tap.cljs$core$IFn$_invoke$arity$2=function(a,b){return cljs.core.async.tap.call(null,a,b,!0)};
cljs.core.async.tap.cljs$core$IFn$_invoke$arity$3=function(a,b,c){cljs.core.async.tap_STAR_.call(null,a,b,c);return b};cljs.core.async.tap.cljs$lang$maxFixedArity=3;cljs.core.async.untap=function(a,b){return cljs.core.async.untap_STAR_.call(null,a,b)};cljs.core.async.untap_all=function(a){return cljs.core.async.untap_all_STAR_.call(null,a)};cljs.core.async.Mix=function(){};
cljs.core.async.admix_STAR_=function(a,b){if(null!=a&&null!=a.cljs$core$async$Mix$admix_STAR_$arity$2)return a.cljs$core$async$Mix$admix_STAR_$arity$2(a,b);var c=cljs.core.async.admix_STAR_[goog.typeOf(null==a?null:a)];if(null!=c)return c.call(null,a,b);c=cljs.core.async.admix_STAR_._;if(null!=c)return c.call(null,a,b);throw cljs.core.missing_protocol.call(null,"Mix.admix*",a);};
cljs.core.async.unmix_STAR_=function(a,b){if(null!=a&&null!=a.cljs$core$async$Mix$unmix_STAR_$arity$2)return a.cljs$core$async$Mix$unmix_STAR_$arity$2(a,b);var c=cljs.core.async.unmix_STAR_[goog.typeOf(null==a?null:a)];if(null!=c)return c.call(null,a,b);c=cljs.core.async.unmix_STAR_._;if(null!=c)return c.call(null,a,b);throw cljs.core.missing_protocol.call(null,"Mix.unmix*",a);};
cljs.core.async.unmix_all_STAR_=function(a){if(null!=a&&null!=a.cljs$core$async$Mix$unmix_all_STAR_$arity$1)return a.cljs$core$async$Mix$unmix_all_STAR_$arity$1(a);var b=cljs.core.async.unmix_all_STAR_[goog.typeOf(null==a?null:a)];if(null!=b)return b.call(null,a);b=cljs.core.async.unmix_all_STAR_._;if(null!=b)return b.call(null,a);throw cljs.core.missing_protocol.call(null,"Mix.unmix-all*",a);};
cljs.core.async.toggle_STAR_=function(a,b){if(null!=a&&null!=a.cljs$core$async$Mix$toggle_STAR_$arity$2)return a.cljs$core$async$Mix$toggle_STAR_$arity$2(a,b);var c=cljs.core.async.toggle_STAR_[goog.typeOf(null==a?null:a)];if(null!=c)return c.call(null,a,b);c=cljs.core.async.toggle_STAR_._;if(null!=c)return c.call(null,a,b);throw cljs.core.missing_protocol.call(null,"Mix.toggle*",a);};
cljs.core.async.solo_mode_STAR_=function(a,b){if(null!=a&&null!=a.cljs$core$async$Mix$solo_mode_STAR_$arity$2)return a.cljs$core$async$Mix$solo_mode_STAR_$arity$2(a,b);var c=cljs.core.async.solo_mode_STAR_[goog.typeOf(null==a?null:a)];if(null!=c)return c.call(null,a,b);c=cljs.core.async.solo_mode_STAR_._;if(null!=c)return c.call(null,a,b);throw cljs.core.missing_protocol.call(null,"Mix.solo-mode*",a);};
cljs.core.async.ioc_alts_BANG_=function(a){for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;b=3<b.length?new cljs.core.IndexedSeq(b.slice(3),0,null):null;return cljs.core.async.ioc_alts_BANG_.cljs$core$IFn$_invoke$arity$variadic(arguments[0],arguments[1],arguments[2],b)};
cljs.core.async.ioc_alts_BANG_.cljs$core$IFn$_invoke$arity$variadic=function(a,b,c,d){var e=null!=d&&(d.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===d.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,d):d;a[1]=b;b=cljs.core.async.do_alts.call(null,function(b,c,d){return function(b){a[2]=b;return cljs.core.async.impl.ioc_helpers.run_state_machine_wrapped.call(null,a)}}(d,e,e),c,e);return cljs.core.truth_(b)?(a[2]=cljs.core.deref.call(null,b),new cljs.core.Keyword(null,
"recur","recur",-437573268)):null};cljs.core.async.ioc_alts_BANG_.cljs$lang$maxFixedArity=3;cljs.core.async.ioc_alts_BANG_.cljs$lang$applyTo=function(a){var b=cljs.core.first.call(null,a),c=cljs.core.next.call(null,a);a=cljs.core.first.call(null,c);var d=cljs.core.next.call(null,c);c=cljs.core.first.call(null,d);d=cljs.core.next.call(null,d);return this.cljs$core$IFn$_invoke$arity$variadic(b,a,c,d)};
cljs.core.async.mix=function(a){var b=cljs.core.atom.call(null,cljs.core.PersistentArrayMap.EMPTY),c=new cljs.core.PersistentHashSet(null,new cljs.core.PersistentArrayMap(null,2,[new cljs.core.Keyword(null,"pause","pause",-2095325672),null,new cljs.core.Keyword(null,"mute","mute",1151223646),null],null),null),d=cljs.core.conj.call(null,c,new cljs.core.Keyword(null,"solo","solo",-316350075)),e=cljs.core.atom.call(null,new cljs.core.Keyword(null,"mute","mute",1151223646)),f=cljs.core.async.chan.call(null),
g=function(a,b,c,d,e){return function(){return cljs.core.async.put_BANG_.call(null,e,!0)}}(b,c,d,e,f),h=function(a,b,c,d,e,f){return function(g,h){return cljs.core.reduce_kv.call(null,function(a,b,c,d,e,f){return function(a,b,c){return cljs.core.truth_(g.call(null,c))?cljs.core.conj.call(null,a,b):a}}(a,b,c,d,e,f),cljs.core.PersistentHashSet.EMPTY,h)}}(b,c,d,e,f,g),k=function(a,b,c,d,e,f,g){return function(){var b=cljs.core.deref.call(null,a),c=cljs.core.deref.call(null,d),f=g.call(null,new cljs.core.Keyword(null,
"solo","solo",-316350075),b),h=g.call(null,new cljs.core.Keyword(null,"pause","pause",-2095325672),b);return new cljs.core.PersistentArrayMap(null,3,[new cljs.core.Keyword(null,"solos","solos",1441458643),f,new cljs.core.Keyword(null,"mutes","mutes",1068806309),g.call(null,new cljs.core.Keyword(null,"mute","mute",1151223646),b),new cljs.core.Keyword(null,"reads","reads",-1215067361),cljs.core.conj.call(null,cljs.core._EQ_.call(null,c,new cljs.core.Keyword(null,"pause","pause",-2095325672))&&!cljs.core.empty_QMARK_.call(null,
f)?cljs.core.vec.call(null,f):cljs.core.vec.call(null,cljs.core.remove.call(null,h,cljs.core.keys.call(null,b))),e)],null)}}(b,c,d,e,f,g,h),l=function(){if("undefined"===typeof cljs||"undefined"===typeof cljs.core||"undefined"===typeof cljs.core.async||"undefined"===typeof cljs.core.async.t_cljs$core$async39265)cljs.core.async.t_cljs$core$async39265=function(a,b,c,d,e,f,g,h,k,l){this.change=a;this.solo_mode=b;this.pick=c;this.cs=d;this.calc_state=e;this.out=f;this.changed=g;this.solo_modes=h;this.attrs=
k;this.meta39266=l;this.cljs$lang$protocol_mask$partition0$=393216;this.cljs$lang$protocol_mask$partition1$=0},cljs.core.async.t_cljs$core$async39265.prototype.cljs$core$IWithMeta$_with_meta$arity$2=function(a,b,c,d,e,f,g,h){return function(a,b){return new cljs.core.async.t_cljs$core$async39265(this.change,this.solo_mode,this.pick,this.cs,this.calc_state,this.out,this.changed,this.solo_modes,this.attrs,b)}}(b,c,d,e,f,g,h,k),cljs.core.async.t_cljs$core$async39265.prototype.cljs$core$IMeta$_meta$arity$1=
function(a,b,c,d,e,f,g,h){return function(a){return this.meta39266}}(b,c,d,e,f,g,h,k),cljs.core.async.t_cljs$core$async39265.prototype.cljs$core$async$Mux$=cljs.core.PROTOCOL_SENTINEL,cljs.core.async.t_cljs$core$async39265.prototype.cljs$core$async$Mux$muxch_STAR_$arity$1=function(a,b,c,d,e,f,g,h){return function(a){return this.out}}(b,c,d,e,f,g,h,k),cljs.core.async.t_cljs$core$async39265.prototype.cljs$core$async$Mix$=cljs.core.PROTOCOL_SENTINEL,cljs.core.async.t_cljs$core$async39265.prototype.cljs$core$async$Mix$admix_STAR_$arity$2=
function(a,b,c,d,e,f,g,h){return function(a,b){cljs.core.swap_BANG_.call(null,this.cs,cljs.core.assoc,b,cljs.core.PersistentArrayMap.EMPTY);return this.changed.call(null)}}(b,c,d,e,f,g,h,k),cljs.core.async.t_cljs$core$async39265.prototype.cljs$core$async$Mix$unmix_STAR_$arity$2=function(a,b,c,d,e,f,g,h){return function(a,b){cljs.core.swap_BANG_.call(null,this.cs,cljs.core.dissoc,b);return this.changed.call(null)}}(b,c,d,e,f,g,h,k),cljs.core.async.t_cljs$core$async39265.prototype.cljs$core$async$Mix$unmix_all_STAR_$arity$1=
function(a,b,c,d,e,f,g,h){return function(a){cljs.core.reset_BANG_.call(null,this.cs,cljs.core.PersistentArrayMap.EMPTY);return this.changed.call(null)}}(b,c,d,e,f,g,h,k),cljs.core.async.t_cljs$core$async39265.prototype.cljs$core$async$Mix$toggle_STAR_$arity$2=function(a,b,c,d,e,f,g,h){return function(a,b){cljs.core.swap_BANG_.call(null,this.cs,cljs.core.partial.call(null,cljs.core.merge_with,cljs.core.merge),b);return this.changed.call(null)}}(b,c,d,e,f,g,h,k),cljs.core.async.t_cljs$core$async39265.prototype.cljs$core$async$Mix$solo_mode_STAR_$arity$2=
function(a,b,c,d,e,f,g,h){return function(a,b){if(!cljs.core.truth_(this.solo_modes.call(null,b)))throw Error(["Assert failed: ",["mode must be one of: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(this.solo_modes)].join(""),"\n(solo-modes mode)"].join(""));cljs.core.reset_BANG_.call(null,this.solo_mode,b);return this.changed.call(null)}}(b,c,d,e,f,g,h,k),cljs.core.async.t_cljs$core$async39265.getBasis=function(a,b,c,d,e,f,g,h){return function(){return new cljs.core.PersistentVector(null,10,5,cljs.core.PersistentVector.EMPTY_NODE,
[new cljs.core.Symbol(null,"change","change",477485025,null),new cljs.core.Symbol(null,"solo-mode","solo-mode",2031788074,null),new cljs.core.Symbol(null,"pick","pick",1300068175,null),new cljs.core.Symbol(null,"cs","cs",-117024463,null),new cljs.core.Symbol(null,"calc-state","calc-state",-349968968,null),new cljs.core.Symbol(null,"out","out",729986010,null),new cljs.core.Symbol(null,"changed","changed",-2083710852,null),new cljs.core.Symbol(null,"solo-modes","solo-modes",882180540,null),new cljs.core.Symbol(null,
"attrs","attrs",-450137186,null),new cljs.core.Symbol(null,"meta39266","meta39266",1436953891,null)],null)}}(b,c,d,e,f,g,h,k),cljs.core.async.t_cljs$core$async39265.cljs$lang$type=!0,cljs.core.async.t_cljs$core$async39265.cljs$lang$ctorStr="cljs.core.async/t_cljs$core$async39265",cljs.core.async.t_cljs$core$async39265.cljs$lang$ctorPrWriter=function(a,b,c,d,e,f,g,h){return function(a,b,c){return cljs.core._write.call(null,b,"cljs.core.async/t_cljs$core$async39265")}}(b,c,d,e,f,g,h,k),cljs.core.async.__GT_t_cljs$core$async39265=
function(a,b,c,d,e,f,g,h){return function(a,b,c,d,e,f,g,h,k,l){return new cljs.core.async.t_cljs$core$async39265(a,b,c,d,e,f,g,h,k,l)}}(b,c,d,e,f,g,h,k);return new cljs.core.async.t_cljs$core$async39265(f,e,h,b,k,a,g,c,d,cljs.core.PersistentArrayMap.EMPTY)}(),m=cljs.core.async.chan.call(null,1);cljs.core.async.impl.dispatch.run.call(null,function(b,c,d,e,f,g,h,k,l,m){return function(){var n=function(){return function(a,b,c,d,e,f,g,h,k,l,m){return function(){var b=null,c=function(){var a=[null,null,
null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null];a[0]=b;a[1]=1;return a},d=function(b){for(;;){a:try{for(;;){var c=a.call(null,b);if(!cljs.core.keyword_identical_QMARK_.call(null,c,new cljs.core.Keyword(null,"recur","recur",-437573268))){var d=c;break a}}}catch(S){if(S instanceof Object)b[5]=S,cljs.core.async.impl.ioc_helpers.process_exception.call(null,b),d=new cljs.core.Keyword(null,"recur","recur",-437573268);else throw S;}if(!cljs.core.keyword_identical_QMARK_.call(null,
d,new cljs.core.Keyword(null,"recur","recur",-437573268)))return d}};b=function(a){switch(arguments.length){case 0:return c.call(this);case 1:return d.call(this,a)}throw Error("Invalid arity: "+arguments.length);};b.cljs$core$IFn$_invoke$arity$0=c;b.cljs$core$IFn$_invoke$arity$1=d;return b}()}(function(b,c,d,e,f,g,h,k,l,m){return function(b){var d=b[1];if(7===d)return d=b,d[2]=b[2],d[1]=4,new cljs.core.Keyword(null,"recur","recur",-437573268);if(20===d)return d=b[7],b[2]=d,b[1]=21,new cljs.core.Keyword(null,
"recur","recur",-437573268);if(27===d)return b[2]=null,b[1]=28,new cljs.core.Keyword(null,"recur","recur",-437573268);if(1===d){d=l.call(null);var e=cljs.core.not.call(null,null==d);b[8]=d;b[1]=e?2:3;return new cljs.core.Keyword(null,"recur","recur",-437573268)}if(24===d){e=b[9];var f=b[11];d=e.call(null,f);b[10]=d;cljs.core.truth_(d)?b[1]=29:b[1]=30;return new cljs.core.Keyword(null,"recur","recur",-437573268)}if(4===d)return d=b[2],cljs.core.truth_(d)?b[1]=8:b[1]=9,new cljs.core.Keyword(null,"recur",
"recur",-437573268);if(15===d)return d=b[2],cljs.core.truth_(d)?b[1]=19:b[1]=20,new cljs.core.Keyword(null,"recur","recur",-437573268);if(21===d){f=b[2];e=cljs.core.get.call(null,f,new cljs.core.Keyword(null,"solos","solos",1441458643));d=cljs.core.get.call(null,f,new cljs.core.Keyword(null,"mutes","mutes",1068806309));var h=cljs.core.get.call(null,f,new cljs.core.Keyword(null,"reads","reads",-1215067361));b[9]=e;b[13]=d;b[12]=f;return cljs.core.async.ioc_alts_BANG_.call(null,b,22,h)}return 31===
d?(d=b[2],cljs.core.truth_(d)?b[1]=32:b[1]=33,new cljs.core.Keyword(null,"recur","recur",-437573268)):32===d?(d=b[14],cljs.core.async.impl.ioc_helpers.put_BANG_.call(null,b,35,a,d)):33===d?(d=b[12],b[7]=d,b[2]=null,b[1]=11,new cljs.core.Keyword(null,"recur","recur",-437573268)):13===d?(d=b[7],e=cljs.core.PROTOCOL_SENTINEL===d.cljs$core$ISeq$,d=d.cljs$lang$protocol_mask$partition0$&64||e,cljs.core.truth_(d)?b[1]=16:b[1]=17,new cljs.core.Keyword(null,"recur","recur",-437573268)):22===d?(e=b[2],d=cljs.core.nth.call(null,
e,0,null),h=cljs.core.nth.call(null,e,1,null),e=null==d,f=cljs.core._EQ_.call(null,h,g),b[11]=h,b[14]=d,cljs.core.truth_(e||f)?b[1]=23:b[1]=24,new cljs.core.Keyword(null,"recur","recur",-437573268)):36===d?(d=b[12],b[7]=d,b[2]=null,b[1]=11,new cljs.core.Keyword(null,"recur","recur",-437573268)):29===d?(d=b[10],b[2]=d,b[1]=31,new cljs.core.Keyword(null,"recur","recur",-437573268)):6===d?(b[2]=!1,b[1]=7,new cljs.core.Keyword(null,"recur","recur",-437573268)):28===d?(e=b[2],d=l.call(null),b[7]=d,b[15]=
e,b[2]=null,b[1]=11,new cljs.core.Keyword(null,"recur","recur",-437573268)):25===d?(d=b[2],b[2]=d,b[1]=12,new cljs.core.Keyword(null,"recur","recur",-437573268)):34===d?(d=b[2],b[2]=d,b[1]=25,new cljs.core.Keyword(null,"recur","recur",-437573268)):17===d?(b[2]=!1,b[1]=18,new cljs.core.Keyword(null,"recur","recur",-437573268)):3===d?(b[2]=!1,b[1]=4,new cljs.core.Keyword(null,"recur","recur",-437573268)):12===d?(d=b[2],cljs.core.async.impl.ioc_helpers.return_chan.call(null,b,d)):2===d?(d=b[8],e=cljs.core.PROTOCOL_SENTINEL===
d.cljs$core$ISeq$,d=d.cljs$lang$protocol_mask$partition0$&64||e,cljs.core.truth_(d)?b[1]=5:b[1]=6,new cljs.core.Keyword(null,"recur","recur",-437573268)):23===d?(d=b[14],cljs.core.truth_(null==d)?b[1]=26:b[1]=27,new cljs.core.Keyword(null,"recur","recur",-437573268)):35===d?(d=b[2],cljs.core.truth_(d)?b[1]=36:b[1]=37,new cljs.core.Keyword(null,"recur","recur",-437573268)):19===d?(d=b[7],d=cljs.core.apply.call(null,cljs.core.hash_map,d),b[2]=d,b[1]=21,new cljs.core.Keyword(null,"recur","recur",-437573268)):
11===d?(d=b[7],d=cljs.core.not.call(null,null==d),b[1]=d?13:14,new cljs.core.Keyword(null,"recur","recur",-437573268)):9===d?(d=b[8],b[2]=d,b[1]=10,new cljs.core.Keyword(null,"recur","recur",-437573268)):5===d?(b[2]=!0,b[1]=7,new cljs.core.Keyword(null,"recur","recur",-437573268)):14===d?(b[2]=!1,b[1]=15,new cljs.core.Keyword(null,"recur","recur",-437573268)):26===d?(f=b[11],d=cljs.core.swap_BANG_.call(null,c,cljs.core.dissoc,f),b[2]=d,b[1]=28,new cljs.core.Keyword(null,"recur","recur",-437573268)):
16===d?(b[2]=!0,b[1]=18,new cljs.core.Keyword(null,"recur","recur",-437573268)):38===d?(d=b[2],b[2]=d,b[1]=34,new cljs.core.Keyword(null,"recur","recur",-437573268)):30===d?(e=b[9],d=b[13],f=b[11],e=cljs.core.empty_QMARK_.call(null,e),d=d.call(null,f),d=cljs.core.not.call(null,d),b[2]=e&&d,b[1]=31,new cljs.core.Keyword(null,"recur","recur",-437573268)):10===d?(d=b[8],h=b[2],e=cljs.core.get.call(null,h,new cljs.core.Keyword(null,"solos","solos",1441458643)),f=cljs.core.get.call(null,h,new cljs.core.Keyword(null,
"mutes","mutes",1068806309)),h=cljs.core.get.call(null,h,new cljs.core.Keyword(null,"reads","reads",-1215067361)),b[7]=d,b[16]=f,b[17]=e,b[18]=h,b[2]=null,b[1]=11,new cljs.core.Keyword(null,"recur","recur",-437573268)):18===d?(d=b[2],b[2]=d,b[1]=15,new cljs.core.Keyword(null,"recur","recur",-437573268)):37===d?(b[2]=null,b[1]=38,new cljs.core.Keyword(null,"recur","recur",-437573268)):8===d?(d=b[8],d=cljs.core.apply.call(null,cljs.core.hash_map,d),b[2]=d,b[1]=10,new cljs.core.Keyword(null,"recur",
"recur",-437573268)):null}}(b,c,d,e,f,g,h,k,l,m),b,c,d,e,f,g,h,k,l,m)}(),p=function(){var a=n.call(null);a[6]=b;return a}();return cljs.core.async.impl.ioc_helpers.run_state_machine_wrapped.call(null,p)}}(m,b,c,d,e,f,g,h,k,l));return l};cljs.core.async.admix=function(a,b){return cljs.core.async.admix_STAR_.call(null,a,b)};cljs.core.async.unmix=function(a,b){return cljs.core.async.unmix_STAR_.call(null,a,b)};cljs.core.async.unmix_all=function(a){return cljs.core.async.unmix_all_STAR_.call(null,a)};
cljs.core.async.toggle=function(a,b){return cljs.core.async.toggle_STAR_.call(null,a,b)};cljs.core.async.solo_mode=function(a,b){return cljs.core.async.solo_mode_STAR_.call(null,a,b)};cljs.core.async.Pub=function(){};
cljs.core.async.sub_STAR_=function(a,b,c,d){if(null!=a&&null!=a.cljs$core$async$Pub$sub_STAR_$arity$4)return a.cljs$core$async$Pub$sub_STAR_$arity$4(a,b,c,d);var e=cljs.core.async.sub_STAR_[goog.typeOf(null==a?null:a)];if(null!=e)return e.call(null,a,b,c,d);e=cljs.core.async.sub_STAR_._;if(null!=e)return e.call(null,a,b,c,d);throw cljs.core.missing_protocol.call(null,"Pub.sub*",a);};
cljs.core.async.unsub_STAR_=function(a,b,c){if(null!=a&&null!=a.cljs$core$async$Pub$unsub_STAR_$arity$3)return a.cljs$core$async$Pub$unsub_STAR_$arity$3(a,b,c);var d=cljs.core.async.unsub_STAR_[goog.typeOf(null==a?null:a)];if(null!=d)return d.call(null,a,b,c);d=cljs.core.async.unsub_STAR_._;if(null!=d)return d.call(null,a,b,c);throw cljs.core.missing_protocol.call(null,"Pub.unsub*",a);};
cljs.core.async.unsub_all_STAR_=function(a){switch(arguments.length){case 1:return cljs.core.async.unsub_all_STAR_.cljs$core$IFn$_invoke$arity$1(arguments[0]);case 2:return cljs.core.async.unsub_all_STAR_.cljs$core$IFn$_invoke$arity$2(arguments[0],arguments[1]);default:throw Error(["Invalid arity: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(""));}};
cljs.core.async.unsub_all_STAR_.cljs$core$IFn$_invoke$arity$1=function(a){if(null!=a&&null!=a.cljs$core$async$Pub$unsub_all_STAR_$arity$1)return a.cljs$core$async$Pub$unsub_all_STAR_$arity$1(a);var b=cljs.core.async.unsub_all_STAR_[goog.typeOf(null==a?null:a)];if(null!=b)return b.call(null,a);b=cljs.core.async.unsub_all_STAR_._;if(null!=b)return b.call(null,a);throw cljs.core.missing_protocol.call(null,"Pub.unsub-all*",a);};
cljs.core.async.unsub_all_STAR_.cljs$core$IFn$_invoke$arity$2=function(a,b){if(null!=a&&null!=a.cljs$core$async$Pub$unsub_all_STAR_$arity$2)return a.cljs$core$async$Pub$unsub_all_STAR_$arity$2(a,b);var c=cljs.core.async.unsub_all_STAR_[goog.typeOf(null==a?null:a)];if(null!=c)return c.call(null,a,b);c=cljs.core.async.unsub_all_STAR_._;if(null!=c)return c.call(null,a,b);throw cljs.core.missing_protocol.call(null,"Pub.unsub-all*",a);};cljs.core.async.unsub_all_STAR_.cljs$lang$maxFixedArity=2;
cljs.core.async.pub=function(a){switch(arguments.length){case 2:return cljs.core.async.pub.cljs$core$IFn$_invoke$arity$2(arguments[0],arguments[1]);case 3:return cljs.core.async.pub.cljs$core$IFn$_invoke$arity$3(arguments[0],arguments[1],arguments[2]);default:throw Error(["Invalid arity: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(""));}};
cljs.core.async.pub.cljs$core$IFn$_invoke$arity$2=function(a,b){return cljs.core.async.pub.call(null,a,b,cljs.core.constantly.call(null,null))};
cljs.core.async.pub.cljs$core$IFn$_invoke$arity$3=function(a,b,c){var d=cljs.core.atom.call(null,cljs.core.PersistentArrayMap.EMPTY),e=function(a){return function(b){var d=cljs.core.get.call(null,cljs.core.deref.call(null,a),b);return cljs.core.truth_(d)?d:cljs.core.get.call(null,cljs.core.swap_BANG_.call(null,a,function(a,d){return function(a){return cljs.core.truth_(a.call(null,b))?a:cljs.core.assoc.call(null,a,b,cljs.core.async.mult.call(null,cljs.core.async.chan.call(null,c.call(null,b))))}}(d,
a)),b)}}(d),f=function(){if("undefined"===typeof cljs||"undefined"===typeof cljs.core||"undefined"===typeof cljs.core.async||"undefined"===typeof cljs.core.async.t_cljs$core$async39484)cljs.core.async.t_cljs$core$async39484=function(a,b,c,d,e,f){this.ch=a;this.topic_fn=b;this.buf_fn=c;this.mults=d;this.ensure_mult=e;this.meta39485=f;this.cljs$lang$protocol_mask$partition0$=393216;this.cljs$lang$protocol_mask$partition1$=0},cljs.core.async.t_cljs$core$async39484.prototype.cljs$core$IWithMeta$_with_meta$arity$2=
function(a,b){return function(a,b){return new cljs.core.async.t_cljs$core$async39484(this.ch,this.topic_fn,this.buf_fn,this.mults,this.ensure_mult,b)}}(d,e),cljs.core.async.t_cljs$core$async39484.prototype.cljs$core$IMeta$_meta$arity$1=function(a,b){return function(a){return this.meta39485}}(d,e),cljs.core.async.t_cljs$core$async39484.prototype.cljs$core$async$Mux$=cljs.core.PROTOCOL_SENTINEL,cljs.core.async.t_cljs$core$async39484.prototype.cljs$core$async$Mux$muxch_STAR_$arity$1=function(a,b){return function(a){return this.ch}}(d,
e),cljs.core.async.t_cljs$core$async39484.prototype.cljs$core$async$Pub$=cljs.core.PROTOCOL_SENTINEL,cljs.core.async.t_cljs$core$async39484.prototype.cljs$core$async$Pub$sub_STAR_$arity$4=function(a,b){return function(a,b,c,d){a=this.ensure_mult.call(null,b);return cljs.core.async.tap.call(null,a,c,d)}}(d,e),cljs.core.async.t_cljs$core$async39484.prototype.cljs$core$async$Pub$unsub_STAR_$arity$3=function(a,b){return function(a,b,c){a=cljs.core.get.call(null,cljs.core.deref.call(null,this.mults),b);
return cljs.core.truth_(a)?cljs.core.async.untap.call(null,a,c):null}}(d,e),cljs.core.async.t_cljs$core$async39484.prototype.cljs$core$async$Pub$unsub_all_STAR_$arity$1=function(a,b){return function(a){return cljs.core.reset_BANG_.call(null,this.mults,cljs.core.PersistentArrayMap.EMPTY)}}(d,e),cljs.core.async.t_cljs$core$async39484.prototype.cljs$core$async$Pub$unsub_all_STAR_$arity$2=function(a,b){return function(a,b){return cljs.core.swap_BANG_.call(null,this.mults,cljs.core.dissoc,b)}}(d,e),cljs.core.async.t_cljs$core$async39484.getBasis=
function(a,b){return function(){return new cljs.core.PersistentVector(null,6,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"ch","ch",1085813622,null),new cljs.core.Symbol(null,"topic-fn","topic-fn",-862449736,null),new cljs.core.Symbol(null,"buf-fn","buf-fn",-1200281591,null),new cljs.core.Symbol(null,"mults","mults",-461114485,null),new cljs.core.Symbol(null,"ensure-mult","ensure-mult",1796584816,null),new cljs.core.Symbol(null,"meta39485","meta39485",-409404699,null)],null)}}(d,
e),cljs.core.async.t_cljs$core$async39484.cljs$lang$type=!0,cljs.core.async.t_cljs$core$async39484.cljs$lang$ctorStr="cljs.core.async/t_cljs$core$async39484",cljs.core.async.t_cljs$core$async39484.cljs$lang$ctorPrWriter=function(a,b){return function(a,b,c){return cljs.core._write.call(null,b,"cljs.core.async/t_cljs$core$async39484")}}(d,e),cljs.core.async.__GT_t_cljs$core$async39484=function(a,b){return function(a,b,c,d,e,f){return new cljs.core.async.t_cljs$core$async39484(a,b,c,d,e,f)}}(d,e);return new cljs.core.async.t_cljs$core$async39484(a,
b,c,d,e,cljs.core.PersistentArrayMap.EMPTY)}(),g=cljs.core.async.chan.call(null,1);cljs.core.async.impl.dispatch.run.call(null,function(c,d,e,f){return function(){var g=function(){return function(a,b,c,d,e){return function(){var b=null,c=function(){var a=[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null];a[0]=b;a[1]=1;return a},d=function(b){for(;;){a:try{for(;;){var c=a.call(null,b);if(!cljs.core.keyword_identical_QMARK_.call(null,c,new cljs.core.Keyword(null,
"recur","recur",-437573268))){var d=c;break a}}}catch(A){if(A instanceof Object)b[5]=A,cljs.core.async.impl.ioc_helpers.process_exception.call(null,b),d=new cljs.core.Keyword(null,"recur","recur",-437573268);else throw A;}if(!cljs.core.keyword_identical_QMARK_.call(null,d,new cljs.core.Keyword(null,"recur","recur",-437573268)))return d}};b=function(a){switch(arguments.length){case 0:return c.call(this);case 1:return d.call(this,a)}throw Error("Invalid arity: "+arguments.length);};b.cljs$core$IFn$_invoke$arity$0=
c;b.cljs$core$IFn$_invoke$arity$1=d;return b}()}(function(c,d,e,f){return function(c){var e=c[1];if(7===e)return c[2]=c[2],c[1]=3,new cljs.core.Keyword(null,"recur","recur",-437573268);if(20===e)return c[2]=null,c[1]=21,new cljs.core.Keyword(null,"recur","recur",-437573268);if(1===e)return c[2]=null,c[1]=2,new cljs.core.Keyword(null,"recur","recur",-437573268);if(24===e)return e=cljs.core.swap_BANG_.call(null,d,cljs.core.dissoc,c[7]),c[2]=e,c[1]=25,new cljs.core.Keyword(null,"recur","recur",-437573268);
if(4===e)return e=c[2],c[8]=e,cljs.core.truth_(null==e)?c[1]=5:c[1]=6,new cljs.core.Keyword(null,"recur","recur",-437573268);if(15===e)return c[2]=c[2],c[1]=12,new cljs.core.Keyword(null,"recur","recur",-437573268);if(21===e)return c[9]=c[2],c[2]=null,c[1]=2,new cljs.core.Keyword(null,"recur","recur",-437573268);if(13===e)return e=c[10],e=cljs.core.chunked_seq_QMARK_.call(null,e),c[1]=e?16:17,new cljs.core.Keyword(null,"recur","recur",-437573268);if(22===e)return e=c[2],cljs.core.truth_(e)?c[1]=23:
c[1]=24,new cljs.core.Keyword(null,"recur","recur",-437573268);if(6===e){e=c[8];e=b.call(null,e);var f=cljs.core.deref.call(null,d);f=cljs.core.get.call(null,f,e);c[7]=e;c[11]=f;cljs.core.truth_(f)?c[1]=19:c[1]=20;return new cljs.core.Keyword(null,"recur","recur",-437573268)}if(25===e)return c[2]=c[2],c[1]=21,new cljs.core.Keyword(null,"recur","recur",-437573268);if(17===e){e=c[10];f=cljs.core.first.call(null,e);f=cljs.core.async.muxch_STAR_.call(null,f);f=cljs.core.async.close_BANG_.call(null,f);
var g=cljs.core.next.call(null,e);c[12]=g;c[13]=f;c[14]=0;c[15]=null;c[16]=0;c[2]=null;c[1]=8;return new cljs.core.Keyword(null,"recur","recur",-437573268)}if(3===e)return cljs.core.async.impl.ioc_helpers.return_chan.call(null,c,c[2]);if(12===e)return c[2]=c[2],c[1]=9,new cljs.core.Keyword(null,"recur","recur",-437573268);if(2===e)return cljs.core.async.impl.ioc_helpers.take_BANG_.call(null,c,4,a);if(23===e)return c[2]=null,c[1]=25,new cljs.core.Keyword(null,"recur","recur",-437573268);if(19===e)return e=
c[8],f=c[11],f=cljs.core.async.muxch_STAR_.call(null,f),cljs.core.async.impl.ioc_helpers.put_BANG_.call(null,c,22,f,e);if(11===e)return g=c[12],e=cljs.core.seq.call(null,g),c[10]=e,c[1]=e?13:14,new cljs.core.Keyword(null,"recur","recur",-437573268);if(9===e)return c[2]=c[2],c[1]=7,new cljs.core.Keyword(null,"recur","recur",-437573268);if(5===e)return e=cljs.core.deref.call(null,d),e=cljs.core.vals.call(null,e),g=cljs.core.seq.call(null,e),c[12]=g,c[14]=0,c[15]=null,c[16]=0,c[2]=null,c[1]=8,new cljs.core.Keyword(null,
"recur","recur",-437573268);if(14===e)return c[2]=null,c[1]=15,new cljs.core.Keyword(null,"recur","recur",-437573268);if(16===e)return e=c[10],f=cljs.core.chunk_first.call(null,e),e=cljs.core.chunk_rest.call(null,e),g=cljs.core.count.call(null,f),c[12]=e,c[14]=g,c[15]=f,c[16]=0,c[2]=null,c[1]=8,new cljs.core.Keyword(null,"recur","recur",-437573268);if(10===e){g=c[12];f=c[14];var h=c[15];e=c[16];var k=cljs.core._nth.call(null,h,e);k=cljs.core.async.muxch_STAR_.call(null,k);k=cljs.core.async.close_BANG_.call(null,
k);c[17]=k;c[12]=g;c[14]=f;c[15]=h;c[16]=e+1;c[2]=null;c[1]=8;return new cljs.core.Keyword(null,"recur","recur",-437573268)}return 18===e?(c[2]=c[2],c[1]=15,new cljs.core.Keyword(null,"recur","recur",-437573268)):8===e?(f=c[14],e=c[16],e=e<f,cljs.core.truth_(e)?c[1]=10:c[1]=11,new cljs.core.Keyword(null,"recur","recur",-437573268)):null}}(c,d,e,f),c,d,e,f)}(),h=function(){var a=g.call(null);a[6]=c;return a}();return cljs.core.async.impl.ioc_helpers.run_state_machine_wrapped.call(null,h)}}(g,d,e,f));
return f};cljs.core.async.pub.cljs$lang$maxFixedArity=3;cljs.core.async.sub=function(a){switch(arguments.length){case 3:return cljs.core.async.sub.cljs$core$IFn$_invoke$arity$3(arguments[0],arguments[1],arguments[2]);case 4:return cljs.core.async.sub.cljs$core$IFn$_invoke$arity$4(arguments[0],arguments[1],arguments[2],arguments[3]);default:throw Error(["Invalid arity: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(""));}};
cljs.core.async.sub.cljs$core$IFn$_invoke$arity$3=function(a,b,c){return cljs.core.async.sub.call(null,a,b,c,!0)};cljs.core.async.sub.cljs$core$IFn$_invoke$arity$4=function(a,b,c,d){return cljs.core.async.sub_STAR_.call(null,a,b,c,d)};cljs.core.async.sub.cljs$lang$maxFixedArity=4;cljs.core.async.unsub=function(a,b,c){return cljs.core.async.unsub_STAR_.call(null,a,b,c)};
cljs.core.async.unsub_all=function(a){switch(arguments.length){case 1:return cljs.core.async.unsub_all.cljs$core$IFn$_invoke$arity$1(arguments[0]);case 2:return cljs.core.async.unsub_all.cljs$core$IFn$_invoke$arity$2(arguments[0],arguments[1]);default:throw Error(["Invalid arity: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(""));}};cljs.core.async.unsub_all.cljs$core$IFn$_invoke$arity$1=function(a){return cljs.core.async.unsub_all_STAR_.call(null,a)};
cljs.core.async.unsub_all.cljs$core$IFn$_invoke$arity$2=function(a,b){return cljs.core.async.unsub_all_STAR_.call(null,a,b)};cljs.core.async.unsub_all.cljs$lang$maxFixedArity=2;
cljs.core.async.map=function(a){switch(arguments.length){case 2:return cljs.core.async.map.cljs$core$IFn$_invoke$arity$2(arguments[0],arguments[1]);case 3:return cljs.core.async.map.cljs$core$IFn$_invoke$arity$3(arguments[0],arguments[1],arguments[2]);default:throw Error(["Invalid arity: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(""));}};cljs.core.async.map.cljs$core$IFn$_invoke$arity$2=function(a,b){return cljs.core.async.map.call(null,a,b,null)};
cljs.core.async.map.cljs$core$IFn$_invoke$arity$3=function(a,b,c){b=cljs.core.vec.call(null,b);c=cljs.core.async.chan.call(null,c);var d=cljs.core.count.call(null,b),e=cljs.core.object_array.call(null,d),f=cljs.core.async.chan.call(null,1),g=cljs.core.atom.call(null,null),h=cljs.core.mapv.call(null,function(a,b,c,d,e,f){return function(g){return function(a,b,c,d,e,f){return function(a){d[g]=a;return 0===cljs.core.swap_BANG_.call(null,f,cljs.core.dec)?cljs.core.async.put_BANG_.call(null,e,d.slice(0)):
null}}(a,b,c,d,e,f)}}(b,c,d,e,f,g),cljs.core.range.call(null,d)),k=cljs.core.async.chan.call(null,1);cljs.core.async.impl.dispatch.run.call(null,function(b,c,d,e,f,g,h,k){return function(){var l=function(){return function(a,b,c,d,e,f,g,h,k){return function(){var b=null,c=function(){var a=[null,null,null,null,null,null,null,null,null,null,null,null,null,null];a[0]=b;a[1]=1;return a},d=function(b){for(;;){a:try{for(;;){var c=a.call(null,b);if(!cljs.core.keyword_identical_QMARK_.call(null,c,new cljs.core.Keyword(null,
"recur","recur",-437573268))){var d=c;break a}}}catch(H){if(H instanceof Object)b[5]=H,cljs.core.async.impl.ioc_helpers.process_exception.call(null,b),d=new cljs.core.Keyword(null,"recur","recur",-437573268);else throw H;}if(!cljs.core.keyword_identical_QMARK_.call(null,d,new cljs.core.Keyword(null,"recur","recur",-437573268)))return d}};b=function(a){switch(arguments.length){case 0:return c.call(this);case 1:return d.call(this,a)}throw Error("Invalid arity: "+arguments.length);};b.cljs$core$IFn$_invoke$arity$0=
c;b.cljs$core$IFn$_invoke$arity$1=d;return b}()}(function(b,c,d,e,f,g,h,k){return function(b){var f=b[1];if(7===f)return b[2]=null,b[1]=8,new cljs.core.Keyword(null,"recur","recur",-437573268);if(1===f)return b[2]=null,b[1]=2,new cljs.core.Keyword(null,"recur","recur",-437573268);if(4===f)return f=b[7],f=f<e,cljs.core.truth_(f)?b[1]=6:b[1]=7,new cljs.core.Keyword(null,"recur","recur",-437573268);if(15===f)return b[2]=b[2],b[1]=3,new cljs.core.Keyword(null,"recur","recur",-437573268);if(13===f)return f=
cljs.core.async.close_BANG_.call(null,d),b[2]=f,b[1]=15,new cljs.core.Keyword(null,"recur","recur",-437573268);if(6===f)return b[2]=null,b[1]=11,new cljs.core.Keyword(null,"recur","recur",-437573268);if(3===f)return cljs.core.async.impl.ioc_helpers.return_chan.call(null,b,b[2]);if(12===f){var l=b[2];f=cljs.core.some.call(null,cljs.core.nil_QMARK_,l);b[8]=l;cljs.core.truth_(f)?b[1]=13:b[1]=14;return new cljs.core.Keyword(null,"recur","recur",-437573268)}return 2===f?(f=cljs.core.reset_BANG_.call(null,
h,e),b[7]=0,b[9]=f,b[2]=null,b[1]=4,new cljs.core.Keyword(null,"recur","recur",-437573268)):11===f?(f=b[7],cljs.core.async.impl.ioc_helpers.add_exception_frame.call(null,b,10,Object,null,9),l=c.call(null,f),f=k.call(null,f),f=cljs.core.async.take_BANG_.call(null,l,f),b[2]=f,cljs.core.async.impl.ioc_helpers.process_exception.call(null,b),new cljs.core.Keyword(null,"recur","recur",-437573268)):9===f?(f=b[7],l=b[2],b[7]=f+1,b[10]=l,b[2]=null,b[1]=4,new cljs.core.Keyword(null,"recur","recur",-437573268)):
5===f?(b[11]=b[2],cljs.core.async.impl.ioc_helpers.take_BANG_.call(null,b,12,g)):14===f?(f=b[8],f=cljs.core.apply.call(null,a,f),cljs.core.async.impl.ioc_helpers.put_BANG_.call(null,b,16,d,f)):16===f?(b[12]=b[2],b[2]=null,b[1]=2,new cljs.core.Keyword(null,"recur","recur",-437573268)):10===f?(l=b[2],f=cljs.core.swap_BANG_.call(null,h,cljs.core.dec),b[13]=l,b[2]=f,cljs.core.async.impl.ioc_helpers.process_exception.call(null,b),new cljs.core.Keyword(null,"recur","recur",-437573268)):8===f?(b[2]=b[2],
b[1]=5,new cljs.core.Keyword(null,"recur","recur",-437573268)):null}}(b,c,d,e,f,g,h,k),b,c,d,e,f,g,h,k)}(),m=function(){var a=l.call(null);a[6]=b;return a}();return cljs.core.async.impl.ioc_helpers.run_state_machine_wrapped.call(null,m)}}(k,b,c,d,e,f,g,h));return c};cljs.core.async.map.cljs$lang$maxFixedArity=3;
cljs.core.async.merge=function(a){switch(arguments.length){case 1:return cljs.core.async.merge.cljs$core$IFn$_invoke$arity$1(arguments[0]);case 2:return cljs.core.async.merge.cljs$core$IFn$_invoke$arity$2(arguments[0],arguments[1]);default:throw Error(["Invalid arity: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(""));}};cljs.core.async.merge.cljs$core$IFn$_invoke$arity$1=function(a){return cljs.core.async.merge.call(null,a,null)};
cljs.core.async.merge.cljs$core$IFn$_invoke$arity$2=function(a,b){b=cljs.core.async.chan.call(null,b);var c=cljs.core.async.chan.call(null,1);cljs.core.async.impl.dispatch.run.call(null,function(b,c){return function(){var d=function(){return function(a,b,c){return function(){var b=null,c=function(){var a=[null,null,null,null,null,null,null,null,null,null,null,null];a[0]=b;a[1]=1;return a},d=function(b){for(;;){a:try{for(;;){var c=a.call(null,b);if(!cljs.core.keyword_identical_QMARK_.call(null,c,new cljs.core.Keyword(null,
"recur","recur",-437573268))){var d=c;break a}}}catch(t){if(t instanceof Object)b[5]=t,cljs.core.async.impl.ioc_helpers.process_exception.call(null,b),d=new cljs.core.Keyword(null,"recur","recur",-437573268);else throw t;}if(!cljs.core.keyword_identical_QMARK_.call(null,d,new cljs.core.Keyword(null,"recur","recur",-437573268)))return d}};b=function(a){switch(arguments.length){case 0:return c.call(this);case 1:return d.call(this,a)}throw Error("Invalid arity: "+arguments.length);};b.cljs$core$IFn$_invoke$arity$0=
c;b.cljs$core$IFn$_invoke$arity$1=d;return b}()}(function(b,c){return function(d){var e=d[1];if(7===e){var f=d[7],g=d[8],h=d[2],k=cljs.core.nth.call(null,h,0,null),l=cljs.core.nth.call(null,h,1,null);d[7]=k;d[8]=h;d[9]=l;cljs.core.truth_(null==k)?d[1]=8:d[1]=9;return new cljs.core.Keyword(null,"recur","recur",-437573268)}if(1===e){var t=cljs.core.vec.call(null,a);d[10]=t;d[2]=null;d[1]=2;return new cljs.core.Keyword(null,"recur","recur",-437573268)}return 4===e?(t=d[10],cljs.core.async.ioc_alts_BANG_.call(null,
d,7,t)):6===e?(d[2]=d[2],d[1]=3,new cljs.core.Keyword(null,"recur","recur",-437573268)):3===e?cljs.core.async.impl.ioc_helpers.return_chan.call(null,d,d[2]):2===e?(t=d[10],k=cljs.core.count.call(null,t),cljs.core.truth_(0<k)?d[1]=4:d[1]=5,new cljs.core.Keyword(null,"recur","recur",-437573268)):11===e?(t=d[10],k=d[2],d[10]=t,d[11]=k,d[2]=null,d[1]=2,new cljs.core.Keyword(null,"recur","recur",-437573268)):9===e?(f=d[7],cljs.core.async.impl.ioc_helpers.put_BANG_.call(null,d,11,c,f)):5===e?(k=cljs.core.async.close_BANG_.call(null,
c),d[2]=k,d[1]=6,new cljs.core.Keyword(null,"recur","recur",-437573268)):10===e?(d[2]=d[2],d[1]=6,new cljs.core.Keyword(null,"recur","recur",-437573268)):8===e?(f=d[7],t=d[10],g=d[8],l=d[9],k=function(){return function(a,b,c,d,e,f,g,h,k,l,m){return function(a){return cljs.core.not_EQ_.call(null,d,a)}}(t,g,f,l,f,t,g,l,e,b,c)}(),k=cljs.core.filterv.call(null,k,t),d[10]=k,d[2]=null,d[1]=2,new cljs.core.Keyword(null,"recur","recur",-437573268)):null}}(b,c),b,c)}(),e=function(){var a=d.call(null);a[6]=
b;return a}();return cljs.core.async.impl.ioc_helpers.run_state_machine_wrapped.call(null,e)}}(c,b));return b};cljs.core.async.merge.cljs$lang$maxFixedArity=2;cljs.core.async.into=function(a,b){return cljs.core.async.reduce.call(null,cljs.core.conj,a,b)};
cljs.core.async.take=function(a){switch(arguments.length){case 2:return cljs.core.async.take.cljs$core$IFn$_invoke$arity$2(arguments[0],arguments[1]);case 3:return cljs.core.async.take.cljs$core$IFn$_invoke$arity$3(arguments[0],arguments[1],arguments[2]);default:throw Error(["Invalid arity: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(""));}};cljs.core.async.take.cljs$core$IFn$_invoke$arity$2=function(a,b){return cljs.core.async.take.call(null,a,b,null)};
cljs.core.async.take.cljs$core$IFn$_invoke$arity$3=function(a,b,c){c=cljs.core.async.chan.call(null,c);var d=cljs.core.async.chan.call(null,1);cljs.core.async.impl.dispatch.run.call(null,function(c,d){return function(){var e=function(){return function(a,b,c){return function(){var b=null,c=function(){var a=[null,null,null,null,null,null,null,null,null,null,null];a[0]=b;a[1]=1;return a},d=function(b){for(;;){a:try{for(;;){var c=a.call(null,b);if(!cljs.core.keyword_identical_QMARK_.call(null,c,new cljs.core.Keyword(null,
"recur","recur",-437573268))){var d=c;break a}}}catch(v){if(v instanceof Object)b[5]=v,cljs.core.async.impl.ioc_helpers.process_exception.call(null,b),d=new cljs.core.Keyword(null,"recur","recur",-437573268);else throw v;}if(!cljs.core.keyword_identical_QMARK_.call(null,d,new cljs.core.Keyword(null,"recur","recur",-437573268)))return d}};b=function(a){switch(arguments.length){case 0:return c.call(this);case 1:return d.call(this,a)}throw Error("Invalid arity: "+arguments.length);};b.cljs$core$IFn$_invoke$arity$0=
c;b.cljs$core$IFn$_invoke$arity$1=d;return b}()}(function(c,d){return function(c){var e=c[1];if(7===e){e=c[2];var f=cljs.core.not.call(null,null==e);c[7]=e;c[1]=f?8:9;return new cljs.core.Keyword(null,"recur","recur",-437573268)}return 1===e?(c[8]=0,c[2]=null,c[1]=2,new cljs.core.Keyword(null,"recur","recur",-437573268)):4===e?cljs.core.async.impl.ioc_helpers.take_BANG_.call(null,c,7,b):6===e?(c[2]=c[2],c[1]=3,new cljs.core.Keyword(null,"recur","recur",-437573268)):3===e?(e=c[2],f=cljs.core.async.close_BANG_.call(null,
d),c[9]=e,cljs.core.async.impl.ioc_helpers.return_chan.call(null,c,f)):2===e?(e=c[8],e=e<a,cljs.core.truth_(e)?c[1]=4:c[1]=5,new cljs.core.Keyword(null,"recur","recur",-437573268)):11===e?(e=c[8],c[10]=c[2],c[8]=e+1,c[2]=null,c[1]=2,new cljs.core.Keyword(null,"recur","recur",-437573268)):9===e?(c[2]=null,c[1]=10,new cljs.core.Keyword(null,"recur","recur",-437573268)):5===e?(c[2]=null,c[1]=6,new cljs.core.Keyword(null,"recur","recur",-437573268)):10===e?(c[2]=c[2],c[1]=6,new cljs.core.Keyword(null,
"recur","recur",-437573268)):8===e?(e=c[7],cljs.core.async.impl.ioc_helpers.put_BANG_.call(null,c,11,d,e)):null}}(c,d),c,d)}(),f=function(){var a=e.call(null);a[6]=c;return a}();return cljs.core.async.impl.ioc_helpers.run_state_machine_wrapped.call(null,f)}}(d,c));return c};cljs.core.async.take.cljs$lang$maxFixedArity=3;
cljs.core.async.map_LT_=function(a,b){if("undefined"===typeof cljs||"undefined"===typeof cljs.core||"undefined"===typeof cljs.core.async||"undefined"===typeof cljs.core.async.t_cljs$core$async39856)cljs.core.async.t_cljs$core$async39856=function(a,b,e){this.f=a;this.ch=b;this.meta39857=e;this.cljs$lang$protocol_mask$partition0$=393216;this.cljs$lang$protocol_mask$partition1$=0},cljs.core.async.t_cljs$core$async39856.prototype.cljs$core$IWithMeta$_with_meta$arity$2=function(a,b){return new cljs.core.async.t_cljs$core$async39856(this.f,
this.ch,b)},cljs.core.async.t_cljs$core$async39856.prototype.cljs$core$IMeta$_meta$arity$1=function(a){return this.meta39857},cljs.core.async.t_cljs$core$async39856.prototype.cljs$core$async$impl$protocols$Channel$=cljs.core.PROTOCOL_SENTINEL,cljs.core.async.t_cljs$core$async39856.prototype.cljs$core$async$impl$protocols$Channel$close_BANG_$arity$1=function(a){return cljs.core.async.impl.protocols.close_BANG_.call(null,this.ch)},cljs.core.async.t_cljs$core$async39856.prototype.cljs$core$async$impl$protocols$Channel$closed_QMARK_$arity$1=
function(a){return cljs.core.async.impl.protocols.closed_QMARK_.call(null,this.ch)},cljs.core.async.t_cljs$core$async39856.prototype.cljs$core$async$impl$protocols$ReadPort$=cljs.core.PROTOCOL_SENTINEL,cljs.core.async.t_cljs$core$async39856.prototype.cljs$core$async$impl$protocols$ReadPort$take_BANG_$arity$2=function(a,b){var c=this,d=this;a=cljs.core.async.impl.protocols.take_BANG_.call(null,c.ch,function(){if("undefined"===typeof cljs||"undefined"===typeof cljs.core||"undefined"===typeof cljs.core.async||
"undefined"===typeof cljs.core.async.t_cljs$core$async39859)cljs.core.async.t_cljs$core$async39859=function(a,b,c,d,e,f){this.f=a;this.ch=b;this.meta39857=c;this._=d;this.fn1=e;this.meta39860=f;this.cljs$lang$protocol_mask$partition0$=393216;this.cljs$lang$protocol_mask$partition1$=0},cljs.core.async.t_cljs$core$async39859.prototype.cljs$core$IWithMeta$_with_meta$arity$2=function(a){return function(a,b){return new cljs.core.async.t_cljs$core$async39859(this.f,this.ch,this.meta39857,this._,this.fn1,
b)}}(d),cljs.core.async.t_cljs$core$async39859.prototype.cljs$core$IMeta$_meta$arity$1=function(a){return function(a){return this.meta39860}}(d),cljs.core.async.t_cljs$core$async39859.prototype.cljs$core$async$impl$protocols$Handler$=cljs.core.PROTOCOL_SENTINEL,cljs.core.async.t_cljs$core$async39859.prototype.cljs$core$async$impl$protocols$Handler$active_QMARK_$arity$1=function(a){return function(a){return cljs.core.async.impl.protocols.active_QMARK_.call(null,this.fn1)}}(d),cljs.core.async.t_cljs$core$async39859.prototype.cljs$core$async$impl$protocols$Handler$blockable_QMARK_$arity$1=
function(a){return function(a){return!0}}(d),cljs.core.async.t_cljs$core$async39859.prototype.cljs$core$async$impl$protocols$Handler$commit$arity$1=function(a){return function(a){var b=this;return function(a,c,d){return function(c){return a.call(null,null==c?null:b.f.call(null,c))}}(cljs.core.async.impl.protocols.commit.call(null,b.fn1),this,a)}}(d),cljs.core.async.t_cljs$core$async39859.getBasis=function(a){return function(){return new cljs.core.PersistentVector(null,6,5,cljs.core.PersistentVector.EMPTY_NODE,
[new cljs.core.Symbol(null,"f","f",43394975,null),new cljs.core.Symbol(null,"ch","ch",1085813622,null),new cljs.core.Symbol(null,"meta39857","meta39857",557754028,null),cljs.core.with_meta(new cljs.core.Symbol(null,"_","_",-1201019570,null),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"tag","tag",-1290361223),new cljs.core.Symbol("cljs.core.async","t_cljs$core$async39856","cljs.core.async/t_cljs$core$async39856",-616134641,null)],null)),new cljs.core.Symbol(null,"fn1","fn1",
895834444,null),new cljs.core.Symbol(null,"meta39860","meta39860",-2032918677,null)],null)}}(d),cljs.core.async.t_cljs$core$async39859.cljs$lang$type=!0,cljs.core.async.t_cljs$core$async39859.cljs$lang$ctorStr="cljs.core.async/t_cljs$core$async39859",cljs.core.async.t_cljs$core$async39859.cljs$lang$ctorPrWriter=function(a){return function(a,b,c){return cljs.core._write.call(null,b,"cljs.core.async/t_cljs$core$async39859")}}(d),cljs.core.async.__GT_t_cljs$core$async39859=function(a){return function(a,
b,c,d,e,f){return new cljs.core.async.t_cljs$core$async39859(a,b,c,d,e,f)}}(d);return new cljs.core.async.t_cljs$core$async39859(c.f,c.ch,c.meta39857,d,b,cljs.core.PersistentArrayMap.EMPTY)}());return cljs.core.truth_(cljs.core.truth_(a)?null!=cljs.core.deref.call(null,a):a)?cljs.core.async.impl.channels.box.call(null,c.f.call(null,cljs.core.deref.call(null,a))):a},cljs.core.async.t_cljs$core$async39856.prototype.cljs$core$async$impl$protocols$WritePort$=cljs.core.PROTOCOL_SENTINEL,cljs.core.async.t_cljs$core$async39856.prototype.cljs$core$async$impl$protocols$WritePort$put_BANG_$arity$3=
function(a,b,e){return cljs.core.async.impl.protocols.put_BANG_.call(null,this.ch,b,e)},cljs.core.async.t_cljs$core$async39856.getBasis=function(){return new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"f","f",43394975,null),new cljs.core.Symbol(null,"ch","ch",1085813622,null),new cljs.core.Symbol(null,"meta39857","meta39857",557754028,null)],null)},cljs.core.async.t_cljs$core$async39856.cljs$lang$type=!0,cljs.core.async.t_cljs$core$async39856.cljs$lang$ctorStr=
"cljs.core.async/t_cljs$core$async39856",cljs.core.async.t_cljs$core$async39856.cljs$lang$ctorPrWriter=function(a,b,e){return cljs.core._write.call(null,b,"cljs.core.async/t_cljs$core$async39856")},cljs.core.async.__GT_t_cljs$core$async39856=function(a,b,e){return new cljs.core.async.t_cljs$core$async39856(a,b,e)};return new cljs.core.async.t_cljs$core$async39856(a,b,cljs.core.PersistentArrayMap.EMPTY)};
cljs.core.async.map_GT_=function(a,b){if("undefined"===typeof cljs||"undefined"===typeof cljs.core||"undefined"===typeof cljs.core.async||"undefined"===typeof cljs.core.async.t_cljs$core$async39862)cljs.core.async.t_cljs$core$async39862=function(a,b,e){this.f=a;this.ch=b;this.meta39863=e;this.cljs$lang$protocol_mask$partition0$=393216;this.cljs$lang$protocol_mask$partition1$=0},cljs.core.async.t_cljs$core$async39862.prototype.cljs$core$IWithMeta$_with_meta$arity$2=function(a,b){return new cljs.core.async.t_cljs$core$async39862(this.f,
this.ch,b)},cljs.core.async.t_cljs$core$async39862.prototype.cljs$core$IMeta$_meta$arity$1=function(a){return this.meta39863},cljs.core.async.t_cljs$core$async39862.prototype.cljs$core$async$impl$protocols$Channel$=cljs.core.PROTOCOL_SENTINEL,cljs.core.async.t_cljs$core$async39862.prototype.cljs$core$async$impl$protocols$Channel$close_BANG_$arity$1=function(a){return cljs.core.async.impl.protocols.close_BANG_.call(null,this.ch)},cljs.core.async.t_cljs$core$async39862.prototype.cljs$core$async$impl$protocols$ReadPort$=
cljs.core.PROTOCOL_SENTINEL,cljs.core.async.t_cljs$core$async39862.prototype.cljs$core$async$impl$protocols$ReadPort$take_BANG_$arity$2=function(a,b){return cljs.core.async.impl.protocols.take_BANG_.call(null,this.ch,b)},cljs.core.async.t_cljs$core$async39862.prototype.cljs$core$async$impl$protocols$WritePort$=cljs.core.PROTOCOL_SENTINEL,cljs.core.async.t_cljs$core$async39862.prototype.cljs$core$async$impl$protocols$WritePort$put_BANG_$arity$3=function(a,b,e){return cljs.core.async.impl.protocols.put_BANG_.call(null,
this.ch,this.f.call(null,b),e)},cljs.core.async.t_cljs$core$async39862.getBasis=function(){return new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"f","f",43394975,null),new cljs.core.Symbol(null,"ch","ch",1085813622,null),new cljs.core.Symbol(null,"meta39863","meta39863",-685671342,null)],null)},cljs.core.async.t_cljs$core$async39862.cljs$lang$type=!0,cljs.core.async.t_cljs$core$async39862.cljs$lang$ctorStr="cljs.core.async/t_cljs$core$async39862",
cljs.core.async.t_cljs$core$async39862.cljs$lang$ctorPrWriter=function(a,b,e){return cljs.core._write.call(null,b,"cljs.core.async/t_cljs$core$async39862")},cljs.core.async.__GT_t_cljs$core$async39862=function(a,b,e){return new cljs.core.async.t_cljs$core$async39862(a,b,e)};return new cljs.core.async.t_cljs$core$async39862(a,b,cljs.core.PersistentArrayMap.EMPTY)};
cljs.core.async.filter_GT_=function(a,b){if("undefined"===typeof cljs||"undefined"===typeof cljs.core||"undefined"===typeof cljs.core.async||"undefined"===typeof cljs.core.async.t_cljs$core$async39865)cljs.core.async.t_cljs$core$async39865=function(a,b,e){this.p=a;this.ch=b;this.meta39866=e;this.cljs$lang$protocol_mask$partition0$=393216;this.cljs$lang$protocol_mask$partition1$=0},cljs.core.async.t_cljs$core$async39865.prototype.cljs$core$IWithMeta$_with_meta$arity$2=function(a,b){return new cljs.core.async.t_cljs$core$async39865(this.p,
this.ch,b)},cljs.core.async.t_cljs$core$async39865.prototype.cljs$core$IMeta$_meta$arity$1=function(a){return this.meta39866},cljs.core.async.t_cljs$core$async39865.prototype.cljs$core$async$impl$protocols$Channel$=cljs.core.PROTOCOL_SENTINEL,cljs.core.async.t_cljs$core$async39865.prototype.cljs$core$async$impl$protocols$Channel$close_BANG_$arity$1=function(a){return cljs.core.async.impl.protocols.close_BANG_.call(null,this.ch)},cljs.core.async.t_cljs$core$async39865.prototype.cljs$core$async$impl$protocols$Channel$closed_QMARK_$arity$1=
function(a){return cljs.core.async.impl.protocols.closed_QMARK_.call(null,this.ch)},cljs.core.async.t_cljs$core$async39865.prototype.cljs$core$async$impl$protocols$ReadPort$=cljs.core.PROTOCOL_SENTINEL,cljs.core.async.t_cljs$core$async39865.prototype.cljs$core$async$impl$protocols$ReadPort$take_BANG_$arity$2=function(a,b){return cljs.core.async.impl.protocols.take_BANG_.call(null,this.ch,b)},cljs.core.async.t_cljs$core$async39865.prototype.cljs$core$async$impl$protocols$WritePort$=cljs.core.PROTOCOL_SENTINEL,
cljs.core.async.t_cljs$core$async39865.prototype.cljs$core$async$impl$protocols$WritePort$put_BANG_$arity$3=function(a,b,e){return cljs.core.truth_(this.p.call(null,b))?cljs.core.async.impl.protocols.put_BANG_.call(null,this.ch,b,e):cljs.core.async.impl.channels.box.call(null,cljs.core.not.call(null,cljs.core.async.impl.protocols.closed_QMARK_.call(null,this.ch)))},cljs.core.async.t_cljs$core$async39865.getBasis=function(){return new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,
[new cljs.core.Symbol(null,"p","p",1791580836,null),new cljs.core.Symbol(null,"ch","ch",1085813622,null),new cljs.core.Symbol(null,"meta39866","meta39866",880715324,null)],null)},cljs.core.async.t_cljs$core$async39865.cljs$lang$type=!0,cljs.core.async.t_cljs$core$async39865.cljs$lang$ctorStr="cljs.core.async/t_cljs$core$async39865",cljs.core.async.t_cljs$core$async39865.cljs$lang$ctorPrWriter=function(a,b,e){return cljs.core._write.call(null,b,"cljs.core.async/t_cljs$core$async39865")},cljs.core.async.__GT_t_cljs$core$async39865=
function(a,b,e){return new cljs.core.async.t_cljs$core$async39865(a,b,e)};return new cljs.core.async.t_cljs$core$async39865(a,b,cljs.core.PersistentArrayMap.EMPTY)};cljs.core.async.remove_GT_=function(a,b){return cljs.core.async.filter_GT_.call(null,cljs.core.complement.call(null,a),b)};
cljs.core.async.filter_LT_=function(a){switch(arguments.length){case 2:return cljs.core.async.filter_LT_.cljs$core$IFn$_invoke$arity$2(arguments[0],arguments[1]);case 3:return cljs.core.async.filter_LT_.cljs$core$IFn$_invoke$arity$3(arguments[0],arguments[1],arguments[2]);default:throw Error(["Invalid arity: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(""));}};
cljs.core.async.filter_LT_.cljs$core$IFn$_invoke$arity$2=function(a,b){return cljs.core.async.filter_LT_.call(null,a,b,null)};
cljs.core.async.filter_LT_.cljs$core$IFn$_invoke$arity$3=function(a,b,c){c=cljs.core.async.chan.call(null,c);var d=cljs.core.async.chan.call(null,1);cljs.core.async.impl.dispatch.run.call(null,function(c,d){return function(){var e=function(){return function(a,b,c){return function(){var b=null,c=function(){var a=[null,null,null,null,null,null,null,null,null];a[0]=b;a[1]=1;return a},d=function(b){for(;;){a:try{for(;;){var c=a.call(null,b);if(!cljs.core.keyword_identical_QMARK_.call(null,c,new cljs.core.Keyword(null,
"recur","recur",-437573268))){var d=c;break a}}}catch(v){if(v instanceof Object)b[5]=v,cljs.core.async.impl.ioc_helpers.process_exception.call(null,b),d=new cljs.core.Keyword(null,"recur","recur",-437573268);else throw v;}if(!cljs.core.keyword_identical_QMARK_.call(null,d,new cljs.core.Keyword(null,"recur","recur",-437573268)))return d}};b=function(a){switch(arguments.length){case 0:return c.call(this);case 1:return d.call(this,a)}throw Error("Invalid arity: "+arguments.length);};b.cljs$core$IFn$_invoke$arity$0=
c;b.cljs$core$IFn$_invoke$arity$1=d;return b}()}(function(c,d){return function(c){var e=c[1];return 7===e?(c[2]=c[2],c[1]=3,new cljs.core.Keyword(null,"recur","recur",-437573268)):1===e?(c[2]=null,c[1]=2,new cljs.core.Keyword(null,"recur","recur",-437573268)):4===e?(e=c[2],c[7]=e,cljs.core.truth_(null==e)?c[1]=5:c[1]=6,new cljs.core.Keyword(null,"recur","recur",-437573268)):6===e?(e=c[7],e=a.call(null,e),cljs.core.truth_(e)?c[1]=8:c[1]=9,new cljs.core.Keyword(null,"recur","recur",-437573268)):3===
e?cljs.core.async.impl.ioc_helpers.return_chan.call(null,c,c[2]):2===e?cljs.core.async.impl.ioc_helpers.take_BANG_.call(null,c,4,b):11===e?(c[2]=c[2],c[1]=10,new cljs.core.Keyword(null,"recur","recur",-437573268)):9===e?(c[2]=null,c[1]=10,new cljs.core.Keyword(null,"recur","recur",-437573268)):5===e?(e=cljs.core.async.close_BANG_.call(null,d),c[2]=e,c[1]=7,new cljs.core.Keyword(null,"recur","recur",-437573268)):10===e?(c[8]=c[2],c[2]=null,c[1]=2,new cljs.core.Keyword(null,"recur","recur",-437573268)):
8===e?(e=c[7],cljs.core.async.impl.ioc_helpers.put_BANG_.call(null,c,11,d,e)):null}}(c,d),c,d)}(),f=function(){var a=e.call(null);a[6]=c;return a}();return cljs.core.async.impl.ioc_helpers.run_state_machine_wrapped.call(null,f)}}(d,c));return c};cljs.core.async.filter_LT_.cljs$lang$maxFixedArity=3;
cljs.core.async.remove_LT_=function(a){switch(arguments.length){case 2:return cljs.core.async.remove_LT_.cljs$core$IFn$_invoke$arity$2(arguments[0],arguments[1]);case 3:return cljs.core.async.remove_LT_.cljs$core$IFn$_invoke$arity$3(arguments[0],arguments[1],arguments[2]);default:throw Error(["Invalid arity: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(""));}};
cljs.core.async.remove_LT_.cljs$core$IFn$_invoke$arity$2=function(a,b){return cljs.core.async.remove_LT_.call(null,a,b,null)};cljs.core.async.remove_LT_.cljs$core$IFn$_invoke$arity$3=function(a,b,c){return cljs.core.async.filter_LT_.call(null,cljs.core.complement.call(null,a),b,c)};cljs.core.async.remove_LT_.cljs$lang$maxFixedArity=3;
cljs.core.async.mapcat_STAR_=function(a,b,c){var d=cljs.core.async.chan.call(null,1);cljs.core.async.impl.dispatch.run.call(null,function(d){return function(){var e=function(){return function(a,b){return function(){var b=null,c=function(){var a=[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null];a[0]=b;a[1]=1;return a},d=function(b){for(;;){a:try{for(;;){var c=a.call(null,b);if(!cljs.core.keyword_identical_QMARK_.call(null,c,new cljs.core.Keyword(null,"recur","recur",
-437573268))){var d=c;break a}}}catch(u){if(u instanceof Object)b[5]=u,cljs.core.async.impl.ioc_helpers.process_exception.call(null,b),d=new cljs.core.Keyword(null,"recur","recur",-437573268);else throw u;}if(!cljs.core.keyword_identical_QMARK_.call(null,d,new cljs.core.Keyword(null,"recur","recur",-437573268)))return d}};b=function(a){switch(arguments.length){case 0:return c.call(this);case 1:return d.call(this,a)}throw Error("Invalid arity: "+arguments.length);};b.cljs$core$IFn$_invoke$arity$0=
c;b.cljs$core$IFn$_invoke$arity$1=d;return b}()}(function(d){return function(d){var e=d[1];if(7===e)return d[2]=d[2],d[1]=3,new cljs.core.Keyword(null,"recur","recur",-437573268);if(20===e){var f=d[7],g=d[2];e=cljs.core.next.call(null,f);d[8]=e;d[9]=0;d[10]=g;d[11]=null;d[12]=0;d[2]=null;d[1]=8;return new cljs.core.Keyword(null,"recur","recur",-437573268)}if(1===e)return d[2]=null,d[1]=2,new cljs.core.Keyword(null,"recur","recur",-437573268);if(4===e)return e=d[2],d[13]=e,cljs.core.truth_(null==e)?
d[1]=5:d[1]=6,new cljs.core.Keyword(null,"recur","recur",-437573268);if(15===e)return d[2]=null,d[1]=16,new cljs.core.Keyword(null,"recur","recur",-437573268);if(21===e)return d[2]=null,d[1]=23,new cljs.core.Keyword(null,"recur","recur",-437573268);if(13===e){e=d[8];var h=d[9];f=d[11];g=d[12];var k=d[2];d[8]=e;d[14]=k;d[9]=h+1;d[11]=f;d[12]=g;d[2]=null;d[1]=8;return new cljs.core.Keyword(null,"recur","recur",-437573268)}return 22===e?(d[2]=null,d[1]=2,new cljs.core.Keyword(null,"recur","recur",-437573268)):
6===e?(e=d[13],e=a.call(null,e),e=cljs.core.seq.call(null,e),d[8]=e,d[9]=0,d[11]=null,d[12]=0,d[2]=null,d[1]=8,new cljs.core.Keyword(null,"recur","recur",-437573268)):17===e?(f=d[7],e=cljs.core.chunk_first.call(null,f),f=cljs.core.chunk_rest.call(null,f),g=cljs.core.count.call(null,e),d[8]=f,d[9]=0,d[11]=e,d[12]=g,d[2]=null,d[1]=8,new cljs.core.Keyword(null,"recur","recur",-437573268)):3===e?cljs.core.async.impl.ioc_helpers.return_chan.call(null,d,d[2]):12===e?(d[2]=d[2],d[1]=9,new cljs.core.Keyword(null,
"recur","recur",-437573268)):2===e?cljs.core.async.impl.ioc_helpers.take_BANG_.call(null,d,4,b):23===e?(d[2]=d[2],d[1]=7,new cljs.core.Keyword(null,"recur","recur",-437573268)):19===e?(d[2]=d[2],d[1]=16,new cljs.core.Keyword(null,"recur","recur",-437573268)):11===e?(e=d[8],e=cljs.core.seq.call(null,e),d[7]=e,d[1]=e?14:15,new cljs.core.Keyword(null,"recur","recur",-437573268)):9===e?(f=d[2],e=cljs.core.async.impl.protocols.closed_QMARK_.call(null,c),d[15]=f,cljs.core.truth_(e)?d[1]=21:d[1]=22,new cljs.core.Keyword(null,
"recur","recur",-437573268)):5===e?(e=cljs.core.async.close_BANG_.call(null,c),d[2]=e,d[1]=7,new cljs.core.Keyword(null,"recur","recur",-437573268)):14===e?(f=d[7],e=cljs.core.chunked_seq_QMARK_.call(null,f),d[1]=e?17:18,new cljs.core.Keyword(null,"recur","recur",-437573268)):16===e?(d[2]=d[2],d[1]=12,new cljs.core.Keyword(null,"recur","recur",-437573268)):10===e?(h=d[9],f=d[11],e=cljs.core._nth.call(null,f,h),cljs.core.async.impl.ioc_helpers.put_BANG_.call(null,d,13,c,e)):18===e?(f=d[7],e=cljs.core.first.call(null,
f),cljs.core.async.impl.ioc_helpers.put_BANG_.call(null,d,20,c,e)):8===e?(h=d[9],g=d[12],e=h<g,cljs.core.truth_(e)?d[1]=10:d[1]=11,new cljs.core.Keyword(null,"recur","recur",-437573268)):null}}(d),d)}(),g=function(){var a=e.call(null);a[6]=d;return a}();return cljs.core.async.impl.ioc_helpers.run_state_machine_wrapped.call(null,g)}}(d));return d};
cljs.core.async.mapcat_LT_=function(a){switch(arguments.length){case 2:return cljs.core.async.mapcat_LT_.cljs$core$IFn$_invoke$arity$2(arguments[0],arguments[1]);case 3:return cljs.core.async.mapcat_LT_.cljs$core$IFn$_invoke$arity$3(arguments[0],arguments[1],arguments[2]);default:throw Error(["Invalid arity: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(""));}};
cljs.core.async.mapcat_LT_.cljs$core$IFn$_invoke$arity$2=function(a,b){return cljs.core.async.mapcat_LT_.call(null,a,b,null)};cljs.core.async.mapcat_LT_.cljs$core$IFn$_invoke$arity$3=function(a,b,c){c=cljs.core.async.chan.call(null,c);cljs.core.async.mapcat_STAR_.call(null,a,b,c);return c};cljs.core.async.mapcat_LT_.cljs$lang$maxFixedArity=3;
cljs.core.async.mapcat_GT_=function(a){switch(arguments.length){case 2:return cljs.core.async.mapcat_GT_.cljs$core$IFn$_invoke$arity$2(arguments[0],arguments[1]);case 3:return cljs.core.async.mapcat_GT_.cljs$core$IFn$_invoke$arity$3(arguments[0],arguments[1],arguments[2]);default:throw Error(["Invalid arity: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(""));}};
cljs.core.async.mapcat_GT_.cljs$core$IFn$_invoke$arity$2=function(a,b){return cljs.core.async.mapcat_GT_.call(null,a,b,null)};cljs.core.async.mapcat_GT_.cljs$core$IFn$_invoke$arity$3=function(a,b,c){c=cljs.core.async.chan.call(null,c);cljs.core.async.mapcat_STAR_.call(null,a,c,b);return c};cljs.core.async.mapcat_GT_.cljs$lang$maxFixedArity=3;
cljs.core.async.unique=function(a){switch(arguments.length){case 1:return cljs.core.async.unique.cljs$core$IFn$_invoke$arity$1(arguments[0]);case 2:return cljs.core.async.unique.cljs$core$IFn$_invoke$arity$2(arguments[0],arguments[1]);default:throw Error(["Invalid arity: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(""));}};cljs.core.async.unique.cljs$core$IFn$_invoke$arity$1=function(a){return cljs.core.async.unique.call(null,a,null)};
cljs.core.async.unique.cljs$core$IFn$_invoke$arity$2=function(a,b){b=cljs.core.async.chan.call(null,b);var c=cljs.core.async.chan.call(null,1);cljs.core.async.impl.dispatch.run.call(null,function(b,c){return function(){var d=function(){return function(a,b,c){return function(){var b=null,c=function(){var a=[null,null,null,null,null,null,null,null,null,null,null];a[0]=b;a[1]=1;return a},d=function(b){for(;;){a:try{for(;;){var c=a.call(null,b);if(!cljs.core.keyword_identical_QMARK_.call(null,c,new cljs.core.Keyword(null,
"recur","recur",-437573268))){var d=c;break a}}}catch(t){if(t instanceof Object)b[5]=t,cljs.core.async.impl.ioc_helpers.process_exception.call(null,b),d=new cljs.core.Keyword(null,"recur","recur",-437573268);else throw t;}if(!cljs.core.keyword_identical_QMARK_.call(null,d,new cljs.core.Keyword(null,"recur","recur",-437573268)))return d}};b=function(a){switch(arguments.length){case 0:return c.call(this);case 1:return d.call(this,a)}throw Error("Invalid arity: "+arguments.length);};b.cljs$core$IFn$_invoke$arity$0=
c;b.cljs$core$IFn$_invoke$arity$1=d;return b}()}(function(b,c){return function(b){var d=b[1];if(7===d)return b[2]=b[2],b[1]=3,new cljs.core.Keyword(null,"recur","recur",-437573268);if(1===d)return b[7]=null,b[2]=null,b[1]=2,new cljs.core.Keyword(null,"recur","recur",-437573268);if(4===d){d=b[2];var e=cljs.core.not.call(null,null==d);b[8]=d;b[1]=e?5:6;return new cljs.core.Keyword(null,"recur","recur",-437573268)}return 6===d?(b[2]=null,b[1]=7,new cljs.core.Keyword(null,"recur","recur",-437573268)):
3===d?(d=b[2],e=cljs.core.async.close_BANG_.call(null,c),b[9]=d,cljs.core.async.impl.ioc_helpers.return_chan.call(null,b,e)):2===d?cljs.core.async.impl.ioc_helpers.take_BANG_.call(null,b,4,a):11===d?(d=b[8],e=b[2],b[10]=e,b[7]=d,b[2]=null,b[1]=2,new cljs.core.Keyword(null,"recur","recur",-437573268)):9===d?(d=b[8],cljs.core.async.impl.ioc_helpers.put_BANG_.call(null,b,11,c,d)):5===d?(e=b[7],d=b[8],d=cljs.core._EQ_.call(null,d,e),b[1]=d?8:9,new cljs.core.Keyword(null,"recur","recur",-437573268)):10===
d?(b[2]=b[2],b[1]=7,new cljs.core.Keyword(null,"recur","recur",-437573268)):8===d?(e=b[7],b[7]=e,b[2]=null,b[1]=2,new cljs.core.Keyword(null,"recur","recur",-437573268)):null}}(b,c),b,c)}(),e=function(){var a=d.call(null);a[6]=b;return a}();return cljs.core.async.impl.ioc_helpers.run_state_machine_wrapped.call(null,e)}}(c,b));return b};cljs.core.async.unique.cljs$lang$maxFixedArity=2;
cljs.core.async.partition=function(a){switch(arguments.length){case 2:return cljs.core.async.partition.cljs$core$IFn$_invoke$arity$2(arguments[0],arguments[1]);case 3:return cljs.core.async.partition.cljs$core$IFn$_invoke$arity$3(arguments[0],arguments[1],arguments[2]);default:throw Error(["Invalid arity: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(""));}};
cljs.core.async.partition.cljs$core$IFn$_invoke$arity$2=function(a,b){return cljs.core.async.partition.call(null,a,b,null)};
cljs.core.async.partition.cljs$core$IFn$_invoke$arity$3=function(a,b,c){c=cljs.core.async.chan.call(null,c);var d=cljs.core.async.chan.call(null,1);cljs.core.async.impl.dispatch.run.call(null,function(c,d){return function(){var e=function(){return function(a,b,c){return function(){var b=null,c=function(){var a=[null,null,null,null,null,null,null,null,null,null,null,null,null,null];a[0]=b;a[1]=1;return a},d=function(b){for(;;){a:try{for(;;){var c=a.call(null,b);if(!cljs.core.keyword_identical_QMARK_.call(null,
c,new cljs.core.Keyword(null,"recur","recur",-437573268))){var d=c;break a}}}catch(v){if(v instanceof Object)b[5]=v,cljs.core.async.impl.ioc_helpers.process_exception.call(null,b),d=new cljs.core.Keyword(null,"recur","recur",-437573268);else throw v;}if(!cljs.core.keyword_identical_QMARK_.call(null,d,new cljs.core.Keyword(null,"recur","recur",-437573268)))return d}};b=function(a){switch(arguments.length){case 0:return c.call(this);case 1:return d.call(this,a)}throw Error("Invalid arity: "+arguments.length);
};b.cljs$core$IFn$_invoke$arity$0=c;b.cljs$core$IFn$_invoke$arity$1=d;return b}()}(function(c,d){return function(c){var e=c[1];if(7===e)return c[2]=c[2],c[1]=3,new cljs.core.Keyword(null,"recur","recur",-437573268);if(1===e)return e=Array(a),c[7]=e,c[8]=0,c[2]=null,c[1]=2,new cljs.core.Keyword(null,"recur","recur",-437573268);if(4===e){e=c[2];var f=cljs.core.not.call(null,null==e);c[9]=e;c[1]=f?5:6;return new cljs.core.Keyword(null,"recur","recur",-437573268)}if(15===e)return c[2]=c[2],c[1]=14,new cljs.core.Keyword(null,
"recur","recur",-437573268);if(13===e)return c[2]=null,c[1]=14,new cljs.core.Keyword(null,"recur","recur",-437573268);if(6===e)return f=c[8],cljs.core.truth_(0<f)?c[1]=12:c[1]=13,new cljs.core.Keyword(null,"recur","recur",-437573268);if(3===e)return cljs.core.async.impl.ioc_helpers.return_chan.call(null,c,c[2]);if(12===e)return e=c[7],e=cljs.core.vec.call(null,e),cljs.core.async.impl.ioc_helpers.put_BANG_.call(null,c,15,d,e);if(2===e)return cljs.core.async.impl.ioc_helpers.take_BANG_.call(null,c,
4,b);if(11===e)return f=c[2],e=Array(a),c[7]=e,c[10]=f,c[8]=0,c[2]=null,c[1]=2,new cljs.core.Keyword(null,"recur","recur",-437573268);if(9===e)return e=c[7],e=cljs.core.vec.call(null,e),cljs.core.async.impl.ioc_helpers.put_BANG_.call(null,c,11,d,e);if(5===e){e=c[7];f=c[8];var g=c[9];e=e[f]=g;g=f+1;f=g<a;c[11]=g;c[12]=e;cljs.core.truth_(f)?c[1]=8:c[1]=9;return new cljs.core.Keyword(null,"recur","recur",-437573268)}return 14===e?(f=c[2],e=cljs.core.async.close_BANG_.call(null,d),c[13]=f,c[2]=e,c[1]=
7,new cljs.core.Keyword(null,"recur","recur",-437573268)):10===e?(c[2]=c[2],c[1]=7,new cljs.core.Keyword(null,"recur","recur",-437573268)):8===e?(e=c[7],f=c[11],c[7]=e,c[8]=f,c[2]=null,c[1]=2,new cljs.core.Keyword(null,"recur","recur",-437573268)):null}}(c,d),c,d)}(),f=function(){var a=e.call(null);a[6]=c;return a}();return cljs.core.async.impl.ioc_helpers.run_state_machine_wrapped.call(null,f)}}(d,c));return c};cljs.core.async.partition.cljs$lang$maxFixedArity=3;
cljs.core.async.partition_by=function(a){switch(arguments.length){case 2:return cljs.core.async.partition_by.cljs$core$IFn$_invoke$arity$2(arguments[0],arguments[1]);case 3:return cljs.core.async.partition_by.cljs$core$IFn$_invoke$arity$3(arguments[0],arguments[1],arguments[2]);default:throw Error(["Invalid arity: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(""));}};
cljs.core.async.partition_by.cljs$core$IFn$_invoke$arity$2=function(a,b){return cljs.core.async.partition_by.call(null,a,b,null)};
cljs.core.async.partition_by.cljs$core$IFn$_invoke$arity$3=function(a,b,c){c=cljs.core.async.chan.call(null,c);var d=cljs.core.async.chan.call(null,1);cljs.core.async.impl.dispatch.run.call(null,function(c,d){return function(){var e=function(){return function(a,b,c){return function(){var b=null,c=function(){var a=[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null];a[0]=b;a[1]=1;return a},d=function(b){for(;;){a:try{for(;;){var c=a.call(null,b);if(!cljs.core.keyword_identical_QMARK_.call(null,
c,new cljs.core.Keyword(null,"recur","recur",-437573268))){var d=c;break a}}}catch(v){if(v instanceof Object)b[5]=v,cljs.core.async.impl.ioc_helpers.process_exception.call(null,b),d=new cljs.core.Keyword(null,"recur","recur",-437573268);else throw v;}if(!cljs.core.keyword_identical_QMARK_.call(null,d,new cljs.core.Keyword(null,"recur","recur",-437573268)))return d}};b=function(a){switch(arguments.length){case 0:return c.call(this);case 1:return d.call(this,a)}throw Error("Invalid arity: "+arguments.length);
};b.cljs$core$IFn$_invoke$arity$0=c;b.cljs$core$IFn$_invoke$arity$1=d;return b}()}(function(c,d){return function(c){var e=c[1];if(7===e)return c[2]=c[2],c[1]=3,new cljs.core.Keyword(null,"recur","recur",-437573268);if(1===e){var f=[];e=new cljs.core.Keyword("cljs.core.async","nothing","cljs.core.async/nothing",-69252123);c[7]=e;c[8]=f;c[2]=null;c[1]=2;return new cljs.core.Keyword(null,"recur","recur",-437573268)}if(4===e){e=c[2];var g=cljs.core.not.call(null,null==e);c[9]=e;c[1]=g?5:6;return new cljs.core.Keyword(null,
"recur","recur",-437573268)}if(15===e)return c[2]=c[2],c[1]=14,new cljs.core.Keyword(null,"recur","recur",-437573268);if(13===e)return c[2]=null,c[1]=14,new cljs.core.Keyword(null,"recur","recur",-437573268);if(6===e)return f=c[8],e=f.length,cljs.core.truth_(0<e)?c[1]=12:c[1]=13,new cljs.core.Keyword(null,"recur","recur",-437573268);if(3===e)return cljs.core.async.impl.ioc_helpers.return_chan.call(null,c,c[2]);if(12===e)return f=c[8],e=cljs.core.vec.call(null,f),cljs.core.async.impl.ioc_helpers.put_BANG_.call(null,
c,15,d,e);if(2===e)return cljs.core.async.impl.ioc_helpers.take_BANG_.call(null,c,4,b);if(11===e){e=c[10];g=c[9];f=c[2];var h=[];g=h.push(g);c[7]=e;c[8]=h;c[11]=f;c[12]=g;c[2]=null;c[1]=2;return new cljs.core.Keyword(null,"recur","recur",-437573268)}return 9===e?(f=c[8],e=cljs.core.vec.call(null,f),cljs.core.async.impl.ioc_helpers.put_BANG_.call(null,c,11,d,e)):5===e?(e=c[7],g=c[9],f=a.call(null,g),g=cljs.core._EQ_.call(null,f,e),e=cljs.core.keyword_identical_QMARK_.call(null,e,new cljs.core.Keyword("cljs.core.async",
"nothing","cljs.core.async/nothing",-69252123)),c[10]=f,cljs.core.truth_(g||e)?c[1]=8:c[1]=9,new cljs.core.Keyword(null,"recur","recur",-437573268)):14===e?(g=c[2],e=cljs.core.async.close_BANG_.call(null,d),c[13]=g,c[2]=e,c[1]=7,new cljs.core.Keyword(null,"recur","recur",-437573268)):10===e?(c[2]=c[2],c[1]=7,new cljs.core.Keyword(null,"recur","recur",-437573268)):8===e?(f=c[8],e=c[10],g=c[9],g=f.push(g),c[14]=g,c[7]=e,c[8]=f,c[2]=null,c[1]=2,new cljs.core.Keyword(null,"recur","recur",-437573268)):
null}}(c,d),c,d)}(),f=function(){var a=e.call(null);a[6]=c;return a}();return cljs.core.async.impl.ioc_helpers.run_state_machine_wrapped.call(null,f)}}(d,c));return c};cljs.core.async.partition_by.cljs$lang$maxFixedArity=3;goog.dom.vendor={};goog.dom.vendor.getVendorJsPrefix=function(){return goog.userAgent.WEBKIT?"Webkit":goog.userAgent.GECKO?"Moz":goog.userAgent.IE?"ms":goog.userAgent.OPERA?"O":null};goog.dom.vendor.getVendorPrefix=function(){return goog.userAgent.WEBKIT?"-webkit":goog.userAgent.GECKO?"-moz":goog.userAgent.IE?"-ms":goog.userAgent.OPERA?"-o":null};
goog.dom.vendor.getPrefixedPropertyName=function(a,b){if(b&&a in b)return a;var c=goog.dom.vendor.getVendorJsPrefix();return c?(c=c.toLowerCase(),a=c+goog.string.toTitleCase(a),!goog.isDef(b)||a in b?a:null):null};goog.dom.vendor.getPrefixedEventType=function(a){return((goog.dom.vendor.getVendorJsPrefix()||"")+a).toLowerCase()};goog.html.legacyconversions={};goog.html.legacyconversions.safeHtmlFromString=function(a){goog.html.legacyconversions.reportCallback_();return goog.html.SafeHtml.createSafeHtmlSecurityPrivateDoNotAccessOrElse(a,null)};goog.html.legacyconversions.safeScriptFromString=function(a){goog.html.legacyconversions.reportCallback_();return goog.html.SafeScript.createSafeScriptSecurityPrivateDoNotAccessOrElse(a)};
goog.html.legacyconversions.safeStyleFromString=function(a){goog.html.legacyconversions.reportCallback_();return goog.html.SafeStyle.createSafeStyleSecurityPrivateDoNotAccessOrElse(a)};goog.html.legacyconversions.safeStyleSheetFromString=function(a){goog.html.legacyconversions.reportCallback_();return goog.html.SafeStyleSheet.createSafeStyleSheetSecurityPrivateDoNotAccessOrElse(a)};goog.html.legacyconversions.safeUrlFromString=function(a){goog.html.legacyconversions.reportCallback_();return goog.html.SafeUrl.createSafeUrlSecurityPrivateDoNotAccessOrElse(a)};
goog.html.legacyconversions.trustedResourceUrlFromString=function(a){goog.html.legacyconversions.reportCallback_();return goog.html.TrustedResourceUrl.createTrustedResourceUrlSecurityPrivateDoNotAccessOrElse(a)};goog.html.legacyconversions.reportCallback_=goog.nullFunction;goog.html.legacyconversions.setReportCallback=function(a){goog.html.legacyconversions.reportCallback_=a};goog.math.Box=function(a,b,c,d){this.top=a;this.right=b;this.bottom=c;this.left=d};goog.math.Box.boundingBox=function(a){for(var b=new goog.math.Box(arguments[0].y,arguments[0].x,arguments[0].y,arguments[0].x),c=1;c<arguments.length;c++)b.expandToIncludeCoordinate(arguments[c]);return b};goog.math.Box.prototype.getWidth=function(){return this.right-this.left};goog.math.Box.prototype.getHeight=function(){return this.bottom-this.top};
goog.math.Box.prototype.clone=function(){return new goog.math.Box(this.top,this.right,this.bottom,this.left)};goog.DEBUG&&(goog.math.Box.prototype.toString=function(){return"("+this.top+"t, "+this.right+"r, "+this.bottom+"b, "+this.left+"l)"});goog.math.Box.prototype.contains=function(a){return goog.math.Box.contains(this,a)};
goog.math.Box.prototype.expand=function(a,b,c,d){goog.isObject(a)?(this.top-=a.top,this.right+=a.right,this.bottom+=a.bottom,this.left-=a.left):(this.top-=a,this.right+=Number(b),this.bottom+=Number(c),this.left-=Number(d));return this};goog.math.Box.prototype.expandToInclude=function(a){this.left=Math.min(this.left,a.left);this.top=Math.min(this.top,a.top);this.right=Math.max(this.right,a.right);this.bottom=Math.max(this.bottom,a.bottom)};
goog.math.Box.prototype.expandToIncludeCoordinate=function(a){this.top=Math.min(this.top,a.y);this.right=Math.max(this.right,a.x);this.bottom=Math.max(this.bottom,a.y);this.left=Math.min(this.left,a.x)};goog.math.Box.equals=function(a,b){return a==b?!0:a&&b?a.top==b.top&&a.right==b.right&&a.bottom==b.bottom&&a.left==b.left:!1};
goog.math.Box.contains=function(a,b){return a&&b?b instanceof goog.math.Box?b.left>=a.left&&b.right<=a.right&&b.top>=a.top&&b.bottom<=a.bottom:b.x>=a.left&&b.x<=a.right&&b.y>=a.top&&b.y<=a.bottom:!1};goog.math.Box.relativePositionX=function(a,b){return b.x<a.left?b.x-a.left:b.x>a.right?b.x-a.right:0};goog.math.Box.relativePositionY=function(a,b){return b.y<a.top?b.y-a.top:b.y>a.bottom?b.y-a.bottom:0};
goog.math.Box.distance=function(a,b){var c=goog.math.Box.relativePositionX(a,b);a=goog.math.Box.relativePositionY(a,b);return Math.sqrt(c*c+a*a)};goog.math.Box.intersects=function(a,b){return a.left<=b.right&&b.left<=a.right&&a.top<=b.bottom&&b.top<=a.bottom};goog.math.Box.intersectsWithPadding=function(a,b,c){return a.left<=b.right+c&&b.left<=a.right+c&&a.top<=b.bottom+c&&b.top<=a.bottom+c};
goog.math.Box.prototype.ceil=function(){this.top=Math.ceil(this.top);this.right=Math.ceil(this.right);this.bottom=Math.ceil(this.bottom);this.left=Math.ceil(this.left);return this};goog.math.Box.prototype.floor=function(){this.top=Math.floor(this.top);this.right=Math.floor(this.right);this.bottom=Math.floor(this.bottom);this.left=Math.floor(this.left);return this};
goog.math.Box.prototype.round=function(){this.top=Math.round(this.top);this.right=Math.round(this.right);this.bottom=Math.round(this.bottom);this.left=Math.round(this.left);return this};goog.math.Box.prototype.translate=function(a,b){a instanceof goog.math.Coordinate?(this.left+=a.x,this.right+=a.x,this.top+=a.y,this.bottom+=a.y):(goog.asserts.assertNumber(a),this.left+=a,this.right+=a,goog.isNumber(b)&&(this.top+=b,this.bottom+=b));return this};
goog.math.Box.prototype.scale=function(a,b){b=goog.isNumber(b)?b:a;this.left*=a;this.right*=a;this.top*=b;this.bottom*=b;return this};goog.math.IRect=function(){};goog.math.Rect=function(a,b,c,d){this.left=a;this.top=b;this.width=c;this.height=d};goog.math.Rect.prototype.clone=function(){return new goog.math.Rect(this.left,this.top,this.width,this.height)};goog.math.Rect.prototype.toBox=function(){return new goog.math.Box(this.top,this.left+this.width,this.top+this.height,this.left)};goog.math.Rect.createFromPositionAndSize=function(a,b){return new goog.math.Rect(a.x,a.y,b.width,b.height)};
goog.math.Rect.createFromBox=function(a){return new goog.math.Rect(a.left,a.top,a.right-a.left,a.bottom-a.top)};goog.DEBUG&&(goog.math.Rect.prototype.toString=function(){return"("+this.left+", "+this.top+" - "+this.width+"w x "+this.height+"h)"});goog.math.Rect.equals=function(a,b){return a==b?!0:a&&b?a.left==b.left&&a.width==b.width&&a.top==b.top&&a.height==b.height:!1};
goog.math.Rect.prototype.intersection=function(a){var b=Math.max(this.left,a.left),c=Math.min(this.left+this.width,a.left+a.width);if(b<=c){var d=Math.max(this.top,a.top);a=Math.min(this.top+this.height,a.top+a.height);if(d<=a)return this.left=b,this.top=d,this.width=c-b,this.height=a-d,!0}return!1};
goog.math.Rect.intersection=function(a,b){var c=Math.max(a.left,b.left),d=Math.min(a.left+a.width,b.left+b.width);if(c<=d){var e=Math.max(a.top,b.top);a=Math.min(a.top+a.height,b.top+b.height);if(e<=a)return new goog.math.Rect(c,e,d-c,a-e)}return null};goog.math.Rect.intersects=function(a,b){return a.left<=b.left+b.width&&b.left<=a.left+a.width&&a.top<=b.top+b.height&&b.top<=a.top+a.height};goog.math.Rect.prototype.intersects=function(a){return goog.math.Rect.intersects(this,a)};
goog.math.Rect.difference=function(a,b){var c=goog.math.Rect.intersection(a,b);if(!c||!c.height||!c.width)return[a.clone()];c=[];var d=a.top,e=a.height,f=a.left+a.width,g=a.top+a.height,h=b.left+b.width,k=b.top+b.height;b.top>a.top&&(c.push(new goog.math.Rect(a.left,a.top,a.width,b.top-a.top)),d=b.top,e-=b.top-a.top);k<g&&(c.push(new goog.math.Rect(a.left,k,a.width,g-k)),e=k-d);b.left>a.left&&c.push(new goog.math.Rect(a.left,d,b.left-a.left,e));h<f&&c.push(new goog.math.Rect(h,d,f-h,e));return c};
goog.math.Rect.prototype.difference=function(a){return goog.math.Rect.difference(this,a)};goog.math.Rect.prototype.boundingRect=function(a){var b=Math.max(this.left+this.width,a.left+a.width),c=Math.max(this.top+this.height,a.top+a.height);this.left=Math.min(this.left,a.left);this.top=Math.min(this.top,a.top);this.width=b-this.left;this.height=c-this.top};goog.math.Rect.boundingRect=function(a,b){if(!a||!b)return null;a=new goog.math.Rect(a.left,a.top,a.width,a.height);a.boundingRect(b);return a};
goog.math.Rect.prototype.contains=function(a){return a instanceof goog.math.Coordinate?a.x>=this.left&&a.x<=this.left+this.width&&a.y>=this.top&&a.y<=this.top+this.height:this.left<=a.left&&this.left+this.width>=a.left+a.width&&this.top<=a.top&&this.top+this.height>=a.top+a.height};goog.math.Rect.prototype.squaredDistance=function(a){var b=a.x<this.left?this.left-a.x:Math.max(a.x-(this.left+this.width),0);a=a.y<this.top?this.top-a.y:Math.max(a.y-(this.top+this.height),0);return b*b+a*a};
goog.math.Rect.prototype.distance=function(a){return Math.sqrt(this.squaredDistance(a))};goog.math.Rect.prototype.getSize=function(){return new goog.math.Size(this.width,this.height)};goog.math.Rect.prototype.getTopLeft=function(){return new goog.math.Coordinate(this.left,this.top)};goog.math.Rect.prototype.getCenter=function(){return new goog.math.Coordinate(this.left+this.width/2,this.top+this.height/2)};
goog.math.Rect.prototype.getBottomRight=function(){return new goog.math.Coordinate(this.left+this.width,this.top+this.height)};goog.math.Rect.prototype.ceil=function(){this.left=Math.ceil(this.left);this.top=Math.ceil(this.top);this.width=Math.ceil(this.width);this.height=Math.ceil(this.height);return this};goog.math.Rect.prototype.floor=function(){this.left=Math.floor(this.left);this.top=Math.floor(this.top);this.width=Math.floor(this.width);this.height=Math.floor(this.height);return this};
goog.math.Rect.prototype.round=function(){this.left=Math.round(this.left);this.top=Math.round(this.top);this.width=Math.round(this.width);this.height=Math.round(this.height);return this};goog.math.Rect.prototype.translate=function(a,b){a instanceof goog.math.Coordinate?(this.left+=a.x,this.top+=a.y):(this.left+=goog.asserts.assertNumber(a),goog.isNumber(b)&&(this.top+=b));return this};
goog.math.Rect.prototype.scale=function(a,b){b=goog.isNumber(b)?b:a;this.left*=a;this.width*=a;this.top*=b;this.height*=b;return this};goog.style={};goog.style.setStyle=function(a,b,c){if(goog.isString(b))goog.style.setStyle_(a,c,b);else for(var d in b)goog.style.setStyle_(a,b[d],d)};goog.style.setStyle_=function(a,b,c){(c=goog.style.getVendorJsStyleName_(a,c))&&(a.style[c]=b)};goog.style.styleNameCache_={};
goog.style.getVendorJsStyleName_=function(a,b){var c=goog.style.styleNameCache_[b];if(!c){var d=goog.string.toCamelCase(b);c=d;void 0===a.style[d]&&(d=goog.dom.vendor.getVendorJsPrefix()+goog.string.toTitleCase(d),void 0!==a.style[d]&&(c=d));goog.style.styleNameCache_[b]=c}return c};
goog.style.getVendorStyleName_=function(a,b){var c=goog.string.toCamelCase(b);return void 0===a.style[c]&&(c=goog.dom.vendor.getVendorJsPrefix()+goog.string.toTitleCase(c),void 0!==a.style[c])?goog.dom.vendor.getVendorPrefix()+"-"+b:b};goog.style.getStyle=function(a,b){var c=a.style[goog.string.toCamelCase(b)];return"undefined"!==typeof c?c:a.style[goog.style.getVendorJsStyleName_(a,b)]||""};
goog.style.getComputedStyle=function(a,b){var c=goog.dom.getOwnerDocument(a);return c.defaultView&&c.defaultView.getComputedStyle&&(a=c.defaultView.getComputedStyle(a,null))?a[b]||a.getPropertyValue(b)||"":""};goog.style.getCascadedStyle=function(a,b){return a.currentStyle?a.currentStyle[b]:null};goog.style.getStyle_=function(a,b){return goog.style.getComputedStyle(a,b)||goog.style.getCascadedStyle(a,b)||a.style&&a.style[b]};
goog.style.getComputedBoxSizing=function(a){return goog.style.getStyle_(a,"boxSizing")||goog.style.getStyle_(a,"MozBoxSizing")||goog.style.getStyle_(a,"WebkitBoxSizing")||null};goog.style.getComputedPosition=function(a){return goog.style.getStyle_(a,"position")};goog.style.getBackgroundColor=function(a){return goog.style.getStyle_(a,"backgroundColor")};goog.style.getComputedOverflowX=function(a){return goog.style.getStyle_(a,"overflowX")};
goog.style.getComputedOverflowY=function(a){return goog.style.getStyle_(a,"overflowY")};goog.style.getComputedZIndex=function(a){return goog.style.getStyle_(a,"zIndex")};goog.style.getComputedTextAlign=function(a){return goog.style.getStyle_(a,"textAlign")};goog.style.getComputedCursor=function(a){return goog.style.getStyle_(a,"cursor")};goog.style.getComputedTransform=function(a){var b=goog.style.getVendorStyleName_(a,"transform");return goog.style.getStyle_(a,b)||goog.style.getStyle_(a,"transform")};
goog.style.setPosition=function(a,b,c){if(b instanceof goog.math.Coordinate){var d=b.x;b=b.y}else d=b,b=c;a.style.left=goog.style.getPixelStyleValue_(d,!1);a.style.top=goog.style.getPixelStyleValue_(b,!1)};goog.style.getPosition=function(a){return new goog.math.Coordinate(a.offsetLeft,a.offsetTop)};
goog.style.getClientViewportElement=function(a){a=a?goog.dom.getOwnerDocument(a):goog.dom.getDocument();return!goog.userAgent.IE||goog.userAgent.isDocumentModeOrHigher(9)||goog.dom.getDomHelper(a).isCss1CompatMode()?a.documentElement:a.body};goog.style.getViewportPageOffset=function(a){var b=a.body;a=a.documentElement;return new goog.math.Coordinate(b.scrollLeft||a.scrollLeft,b.scrollTop||a.scrollTop)};
goog.style.getBoundingClientRect_=function(a){try{var b=a.getBoundingClientRect()}catch(c){return{left:0,top:0,right:0,bottom:0}}goog.userAgent.IE&&a.ownerDocument.body&&(a=a.ownerDocument,b.left-=a.documentElement.clientLeft+a.body.clientLeft,b.top-=a.documentElement.clientTop+a.body.clientTop);return b};
goog.style.getOffsetParent=function(a){if(goog.userAgent.IE&&!goog.userAgent.isDocumentModeOrHigher(8))return goog.asserts.assert(a&&"offsetParent"in a),a.offsetParent;var b=goog.dom.getOwnerDocument(a),c=goog.style.getStyle_(a,"position"),d="fixed"==c||"absolute"==c;for(a=a.parentNode;a&&a!=b;a=a.parentNode)if(a.nodeType==goog.dom.NodeType.DOCUMENT_FRAGMENT&&a.host&&(a=a.host),c=goog.style.getStyle_(a,"position"),d=d&&"static"==c&&a!=b.documentElement&&a!=b.body,!d&&(a.scrollWidth>a.clientWidth||
a.scrollHeight>a.clientHeight||"fixed"==c||"absolute"==c||"relative"==c))return a;return null};
goog.style.getVisibleRectForElement=function(a){for(var b=new goog.math.Box(0,Infinity,Infinity,0),c=goog.dom.getDomHelper(a),d=c.getDocument().body,e=c.getDocument().documentElement,f=c.getDocumentScrollElement();a=goog.style.getOffsetParent(a);)if(!(goog.userAgent.IE&&0==a.clientWidth||goog.userAgent.WEBKIT&&0==a.clientHeight&&a==d)&&a!=d&&a!=e&&"visible"!=goog.style.getStyle_(a,"overflow")){var g=goog.style.getPageOffset(a),h=goog.style.getClientLeftTop(a);g.x+=h.x;g.y+=h.y;b.top=Math.max(b.top,
g.y);b.right=Math.min(b.right,g.x+a.clientWidth);b.bottom=Math.min(b.bottom,g.y+a.clientHeight);b.left=Math.max(b.left,g.x)}d=f.scrollLeft;f=f.scrollTop;b.left=Math.max(b.left,d);b.top=Math.max(b.top,f);c=c.getViewportSize();b.right=Math.min(b.right,d+c.width);b.bottom=Math.min(b.bottom,f+c.height);return 0<=b.top&&0<=b.left&&b.bottom>b.top&&b.right>b.left?b:null};
goog.style.getContainerOffsetToScrollInto=function(a,b,c){var d=b||goog.dom.getDocumentScrollElement(),e=goog.style.getPageOffset(a),f=goog.style.getPageOffset(d),g=goog.style.getBorderBox(d);d==goog.dom.getDocumentScrollElement()?(b=e.x-d.scrollLeft,e=e.y-d.scrollTop,goog.userAgent.IE&&!goog.userAgent.isDocumentModeOrHigher(10)&&(b+=g.left,e+=g.top)):(b=e.x-f.x-g.left,e=e.y-f.y-g.top);g=goog.style.getSizeWithDisplay_(a);a=d.clientWidth-g.width;g=d.clientHeight-g.height;f=d.scrollLeft;d=d.scrollTop;
c?(f+=b-a/2,d+=e-g/2):(f+=Math.min(b,Math.max(b-a,0)),d+=Math.min(e,Math.max(e-g,0)));return new goog.math.Coordinate(f,d)};goog.style.scrollIntoContainerView=function(a,b,c){b=b||goog.dom.getDocumentScrollElement();a=goog.style.getContainerOffsetToScrollInto(a,b,c);b.scrollLeft=a.x;b.scrollTop=a.y};goog.style.getClientLeftTop=function(a){return new goog.math.Coordinate(a.clientLeft,a.clientTop)};
goog.style.getPageOffset=function(a){var b=goog.dom.getOwnerDocument(a);goog.asserts.assertObject(a,"Parameter is required");var c=new goog.math.Coordinate(0,0),d=goog.style.getClientViewportElement(b);if(a==d)return c;a=goog.style.getBoundingClientRect_(a);b=goog.dom.getDomHelper(b).getDocumentScroll();c.x=a.left+b.x;c.y=a.top+b.y;return c};goog.style.getPageOffsetLeft=function(a){return goog.style.getPageOffset(a).x};goog.style.getPageOffsetTop=function(a){return goog.style.getPageOffset(a).y};
goog.style.getFramedPageOffset=function(a,b){var c=new goog.math.Coordinate(0,0),d=goog.dom.getWindow(goog.dom.getOwnerDocument(a));if(!goog.reflect.canAccessProperty(d,"parent"))return c;do{var e=d==b?goog.style.getPageOffset(a):goog.style.getClientPositionForElement_(goog.asserts.assert(a));c.x+=e.x;c.y+=e.y}while(d&&d!=b&&d!=d.parent&&(a=d.frameElement)&&(d=d.parent));return c};
goog.style.translateRectForAnotherFrame=function(a,b,c){if(b.getDocument()!=c.getDocument()){var d=b.getDocument().body;c=goog.style.getFramedPageOffset(d,c.getWindow());c=goog.math.Coordinate.difference(c,goog.style.getPageOffset(d));!goog.userAgent.IE||goog.userAgent.isDocumentModeOrHigher(9)||b.isCss1CompatMode()||(c=goog.math.Coordinate.difference(c,b.getDocumentScroll()));a.left+=c.x;a.top+=c.y}};
goog.style.getRelativePosition=function(a,b){a=goog.style.getClientPosition(a);b=goog.style.getClientPosition(b);return new goog.math.Coordinate(a.x-b.x,a.y-b.y)};goog.style.getClientPositionForElement_=function(a){a=goog.style.getBoundingClientRect_(a);return new goog.math.Coordinate(a.left,a.top)};
goog.style.getClientPosition=function(a){goog.asserts.assert(a);if(a.nodeType==goog.dom.NodeType.ELEMENT)return goog.style.getClientPositionForElement_(a);a=a.changedTouches?a.changedTouches[0]:a;return new goog.math.Coordinate(a.clientX,a.clientY)};goog.style.setPageOffset=function(a,b,c){var d=goog.style.getPageOffset(a);b instanceof goog.math.Coordinate&&(c=b.y,b=b.x);b=goog.asserts.assertNumber(b)-d.x;goog.style.setPosition(a,a.offsetLeft+b,a.offsetTop+(Number(c)-d.y))};
goog.style.setSize=function(a,b,c){if(b instanceof goog.math.Size)c=b.height,b=b.width;else if(void 0==c)throw Error("missing height argument");goog.style.setWidth(a,b);goog.style.setHeight(a,c)};goog.style.getPixelStyleValue_=function(a,b){"number"==typeof a&&(a=(b?Math.round(a):a)+"px");return a};goog.style.setHeight=function(a,b){a.style.height=goog.style.getPixelStyleValue_(b,!0)};goog.style.setWidth=function(a,b){a.style.width=goog.style.getPixelStyleValue_(b,!0)};
goog.style.getSize=function(a){return goog.style.evaluateWithTemporaryDisplay_(goog.style.getSizeWithDisplay_,a)};goog.style.evaluateWithTemporaryDisplay_=function(a,b){if("none"!=goog.style.getStyle_(b,"display"))return a(b);var c=b.style,d=c.display,e=c.visibility,f=c.position;c.visibility="hidden";c.position="absolute";c.display="inline";a=a(b);c.display=d;c.position=f;c.visibility=e;return a};
goog.style.getSizeWithDisplay_=function(a){var b=a.offsetWidth,c=a.offsetHeight,d=goog.userAgent.WEBKIT&&!b&&!c;return goog.isDef(b)&&!d||!a.getBoundingClientRect?new goog.math.Size(b,c):(a=goog.style.getBoundingClientRect_(a),new goog.math.Size(a.right-a.left,a.bottom-a.top))};goog.style.getTransformedSize=function(a){if(!a.getBoundingClientRect)return null;a=goog.style.evaluateWithTemporaryDisplay_(goog.style.getBoundingClientRect_,a);return new goog.math.Size(a.right-a.left,a.bottom-a.top)};
goog.style.getBounds=function(a){var b=goog.style.getPageOffset(a);a=goog.style.getSize(a);return new goog.math.Rect(b.x,b.y,a.width,a.height)};goog.style.toCamelCase=function(a){return goog.string.toCamelCase(String(a))};goog.style.toSelectorCase=function(a){return goog.string.toSelectorCase(a)};
goog.style.getOpacity=function(a){goog.asserts.assert(a);var b=a.style;a="";"opacity"in b?a=b.opacity:"MozOpacity"in b?a=b.MozOpacity:"filter"in b&&(b=b.filter.match(/alpha\(opacity=([\d.]+)\)/))&&(a=String(b[1]/100));return""==a?a:Number(a)};goog.style.setOpacity=function(a,b){goog.asserts.assert(a);a=a.style;"opacity"in a?a.opacity=b:"MozOpacity"in a?a.MozOpacity=b:"filter"in a&&(a.filter=""===b?"":"alpha(opacity\x3d"+100*Number(b)+")")};
goog.style.setTransparentBackgroundImage=function(a,b){a=a.style;goog.userAgent.IE&&!goog.userAgent.isVersionOrHigher("8")?a.filter='progid:DXImageTransform.Microsoft.AlphaImageLoader(src\x3d"'+b+'", sizingMethod\x3d"crop")':(a.backgroundImage="url("+b+")",a.backgroundPosition="top left",a.backgroundRepeat="no-repeat")};goog.style.clearTransparentBackgroundImage=function(a){a=a.style;"filter"in a?a.filter="":a.backgroundImage="none"};
goog.style.showElement=function(a,b){goog.style.setElementShown(a,b)};goog.style.setElementShown=function(a,b){a.style.display=b?"":"none"};goog.style.isElementShown=function(a){return"none"!=a.style.display};goog.style.installStyles=function(a,b){return goog.style.installSafeStyleSheet(goog.html.legacyconversions.safeStyleSheetFromString(a),b)};
goog.style.installSafeStyleSheet=function(a,b){b=goog.dom.getDomHelper(b);var c=b.getDocument();if(goog.userAgent.IE&&c.createStyleSheet){var d=c.createStyleSheet();goog.style.setSafeStyleSheet(d,a)}else c=b.getElementsByTagNameAndClass("HEAD")[0],c||(d=b.getElementsByTagNameAndClass("BODY")[0],c=b.createDom("HEAD"),d.parentNode.insertBefore(c,d)),d=b.createDom("STYLE"),goog.style.setSafeStyleSheet(d,a),b.appendChild(c,d);return d};
goog.style.uninstallStyles=function(a){goog.dom.removeNode(a.ownerNode||a.owningElement||a)};goog.style.setStyles=function(a,b){goog.style.setSafeStyleSheet(a,goog.html.legacyconversions.safeStyleSheetFromString(b))};goog.style.setSafeStyleSheet=function(a,b){b=goog.html.SafeStyleSheet.unwrap(b);goog.userAgent.IE&&goog.isDef(a.cssText)?a.cssText=b:a.innerHTML=b};
goog.style.setPreWrap=function(a){a=a.style;goog.userAgent.IE&&!goog.userAgent.isVersionOrHigher("8")?(a.whiteSpace="pre",a.wordWrap="break-word"):a.whiteSpace=goog.userAgent.GECKO?"-moz-pre-wrap":"pre-wrap"};goog.style.setInlineBlock=function(a){a=a.style;a.position="relative";goog.userAgent.IE&&!goog.userAgent.isVersionOrHigher("8")?(a.zoom="1",a.display="inline"):a.display="inline-block"};goog.style.isRightToLeft=function(a){return"rtl"==goog.style.getStyle_(a,"direction")};
goog.style.unselectableStyle_=goog.userAgent.GECKO?"MozUserSelect":goog.userAgent.WEBKIT||goog.userAgent.EDGE?"WebkitUserSelect":null;goog.style.isUnselectable=function(a){return goog.style.unselectableStyle_?"none"==a.style[goog.style.unselectableStyle_].toLowerCase():goog.userAgent.IE||goog.userAgent.OPERA?"on"==a.getAttribute("unselectable"):!1};
goog.style.setUnselectable=function(a,b,c){c=c?null:a.getElementsByTagName("*");var d=goog.style.unselectableStyle_;if(d){if(b=b?"none":"",a.style&&(a.style[d]=b),c){a=0;for(var e;e=c[a];a++)e.style&&(e.style[d]=b)}}else if(goog.userAgent.IE||goog.userAgent.OPERA)if(b=b?"on":"",a.setAttribute("unselectable",b),c)for(a=0;e=c[a];a++)e.setAttribute("unselectable",b)};goog.style.getBorderBoxSize=function(a){return new goog.math.Size(a.offsetWidth,a.offsetHeight)};
goog.style.setBorderBoxSize=function(a,b){var c=goog.dom.getOwnerDocument(a),d=goog.dom.getDomHelper(c).isCss1CompatMode();!goog.userAgent.IE||goog.userAgent.isVersionOrHigher("10")||d&&goog.userAgent.isVersionOrHigher("8")?goog.style.setBoxSizingSize_(a,b,"border-box"):(c=a.style,d?(d=goog.style.getPaddingBox(a),a=goog.style.getBorderBox(a),c.pixelWidth=b.width-a.left-d.left-d.right-a.right,c.pixelHeight=b.height-a.top-d.top-d.bottom-a.bottom):(c.pixelWidth=b.width,c.pixelHeight=b.height))};
goog.style.getContentBoxSize=function(a){var b=goog.dom.getOwnerDocument(a),c=goog.userAgent.IE&&a.currentStyle;if(c&&goog.dom.getDomHelper(b).isCss1CompatMode()&&"auto"!=c.width&&"auto"!=c.height&&!c.boxSizing)return b=goog.style.getIePixelValue_(a,c.width,"width","pixelWidth"),a=goog.style.getIePixelValue_(a,c.height,"height","pixelHeight"),new goog.math.Size(b,a);c=goog.style.getBorderBoxSize(a);b=goog.style.getPaddingBox(a);a=goog.style.getBorderBox(a);return new goog.math.Size(c.width-a.left-
b.left-b.right-a.right,c.height-a.top-b.top-b.bottom-a.bottom)};
goog.style.setContentBoxSize=function(a,b){var c=goog.dom.getOwnerDocument(a),d=goog.dom.getDomHelper(c).isCss1CompatMode();!goog.userAgent.IE||goog.userAgent.isVersionOrHigher("10")||d&&goog.userAgent.isVersionOrHigher("8")?goog.style.setBoxSizingSize_(a,b,"content-box"):(c=a.style,d?(c.pixelWidth=b.width,c.pixelHeight=b.height):(d=goog.style.getPaddingBox(a),a=goog.style.getBorderBox(a),c.pixelWidth=b.width+a.left+d.left+d.right+a.right,c.pixelHeight=b.height+a.top+d.top+d.bottom+a.bottom))};
goog.style.setBoxSizingSize_=function(a,b,c){a=a.style;goog.userAgent.GECKO?a.MozBoxSizing=c:goog.userAgent.WEBKIT?a.WebkitBoxSizing=c:a.boxSizing=c;a.width=Math.max(b.width,0)+"px";a.height=Math.max(b.height,0)+"px"};goog.style.getIePixelValue_=function(a,b,c,d){if(/^\d+px?$/.test(b))return parseInt(b,10);var e=a.style[c],f=a.runtimeStyle[c];a.runtimeStyle[c]=a.currentStyle[c];a.style[c]=b;b=a.style[d];a.style[c]=e;a.runtimeStyle[c]=f;return+b};
goog.style.getIePixelDistance_=function(a,b){return(b=goog.style.getCascadedStyle(a,b))?goog.style.getIePixelValue_(a,b,"left","pixelLeft"):0};
goog.style.getBox_=function(a,b){if(goog.userAgent.IE){var c=goog.style.getIePixelDistance_(a,b+"Left"),d=goog.style.getIePixelDistance_(a,b+"Right"),e=goog.style.getIePixelDistance_(a,b+"Top");a=goog.style.getIePixelDistance_(a,b+"Bottom");return new goog.math.Box(e,d,a,c)}c=goog.style.getComputedStyle(a,b+"Left");d=goog.style.getComputedStyle(a,b+"Right");e=goog.style.getComputedStyle(a,b+"Top");a=goog.style.getComputedStyle(a,b+"Bottom");return new goog.math.Box(parseFloat(e),parseFloat(d),parseFloat(a),
parseFloat(c))};goog.style.getPaddingBox=function(a){return goog.style.getBox_(a,"padding")};goog.style.getMarginBox=function(a){return goog.style.getBox_(a,"margin")};goog.style.ieBorderWidthKeywords_={thin:2,medium:4,thick:6};goog.style.getIePixelBorder_=function(a,b){if("none"==goog.style.getCascadedStyle(a,b+"Style"))return 0;b=goog.style.getCascadedStyle(a,b+"Width");return b in goog.style.ieBorderWidthKeywords_?goog.style.ieBorderWidthKeywords_[b]:goog.style.getIePixelValue_(a,b,"left","pixelLeft")};
goog.style.getBorderBox=function(a){if(goog.userAgent.IE&&!goog.userAgent.isDocumentModeOrHigher(9)){var b=goog.style.getIePixelBorder_(a,"borderLeft"),c=goog.style.getIePixelBorder_(a,"borderRight"),d=goog.style.getIePixelBorder_(a,"borderTop");a=goog.style.getIePixelBorder_(a,"borderBottom");return new goog.math.Box(d,c,a,b)}b=goog.style.getComputedStyle(a,"borderLeftWidth");c=goog.style.getComputedStyle(a,"borderRightWidth");d=goog.style.getComputedStyle(a,"borderTopWidth");a=goog.style.getComputedStyle(a,
"borderBottomWidth");return new goog.math.Box(parseFloat(d),parseFloat(c),parseFloat(a),parseFloat(b))};goog.style.getFontFamily=function(a){var b=goog.dom.getOwnerDocument(a),c="";if(b.body.createTextRange&&goog.dom.contains(b,a)){b=b.body.createTextRange();b.moveToElementText(a);try{c=b.queryCommandValue("FontName")}catch(d){c=""}}c||(c=goog.style.getStyle_(a,"fontFamily"));a=c.split(",");1<a.length&&(c=a[0]);return goog.string.stripQuotes(c,"\"'")};goog.style.lengthUnitRegex_=/[^\d]+$/;
goog.style.getLengthUnits=function(a){return(a=a.match(goog.style.lengthUnitRegex_))&&a[0]||null};goog.style.ABSOLUTE_CSS_LENGTH_UNITS_={cm:1,"in":1,mm:1,pc:1,pt:1};goog.style.CONVERTIBLE_RELATIVE_CSS_UNITS_={em:1,ex:1};
goog.style.getFontSize=function(a){var b=goog.style.getStyle_(a,"fontSize"),c=goog.style.getLengthUnits(b);if(b&&"px"==c)return parseInt(b,10);if(goog.userAgent.IE){if(String(c)in goog.style.ABSOLUTE_CSS_LENGTH_UNITS_)return goog.style.getIePixelValue_(a,b,"left","pixelLeft");if(a.parentNode&&a.parentNode.nodeType==goog.dom.NodeType.ELEMENT&&String(c)in goog.style.CONVERTIBLE_RELATIVE_CSS_UNITS_)return a=a.parentNode,c=goog.style.getStyle_(a,"fontSize"),goog.style.getIePixelValue_(a,b==c?"1em":b,
"left","pixelLeft")}c=goog.dom.createDom("SPAN",{style:"visibility:hidden;position:absolute;line-height:0;padding:0;margin:0;border:0;height:1em;"});goog.dom.appendChild(a,c);b=c.offsetHeight;goog.dom.removeNode(c);return b};goog.style.parseStyleAttribute=function(a){var b={};goog.array.forEach(a.split(/\s*;\s*/),function(a){var c=a.match(/\s*([\w-]+)\s*:(.+)/);c&&(a=c[1],c=goog.string.trim(c[2]),b[goog.string.toCamelCase(a.toLowerCase())]=c)});return b};
goog.style.toStyleAttribute=function(a){var b=[];goog.object.forEach(a,function(a,d){b.push(goog.string.toSelectorCase(d),":",a,";")});return b.join("")};goog.style.setFloat=function(a,b){a.style[goog.userAgent.IE?"styleFloat":"cssFloat"]=b};goog.style.getFloat=function(a){return a.style[goog.userAgent.IE?"styleFloat":"cssFloat"]||""};
goog.style.getScrollbarWidth=function(a){var b=goog.dom.createElement("DIV");a&&(b.className=a);b.style.cssText="overflow:auto;position:absolute;top:0;width:100px;height:100px";a=goog.dom.createElement("DIV");goog.style.setSize(a,"200px","200px");b.appendChild(a);goog.dom.appendChild(goog.dom.getDocument().body,b);a=b.offsetWidth-b.clientWidth;goog.dom.removeNode(b);return a};goog.style.MATRIX_TRANSLATION_REGEX_=/matrix\([0-9\.\-]+, [0-9\.\-]+, [0-9\.\-]+, [0-9\.\-]+, ([0-9\.\-]+)p?x?, ([0-9\.\-]+)p?x?\)/;
goog.style.getCssTranslation=function(a){a=goog.style.getComputedTransform(a);return a?(a=a.match(goog.style.MATRIX_TRANSLATION_REGEX_))?new goog.math.Coordinate(parseFloat(a[1]),parseFloat(a[2])):new goog.math.Coordinate(0,0):new goog.math.Coordinate(0,0)};goog.events.MouseWheelHandler=function(a,b){goog.events.EventTarget.call(this);this.element_=a;a=goog.dom.isElement(this.element_)?this.element_:this.element_?this.element_.body:null;this.isRtl_=!!a&&goog.style.isRightToLeft(a);this.listenKey_=goog.events.listen(this.element_,goog.userAgent.GECKO?"DOMMouseScroll":"mousewheel",this,b)};goog.inherits(goog.events.MouseWheelHandler,goog.events.EventTarget);goog.events.MouseWheelHandler.EventType={MOUSEWHEEL:"mousewheel"};
goog.events.MouseWheelHandler.prototype.setMaxDeltaX=function(a){this.maxDeltaX_=a};goog.events.MouseWheelHandler.prototype.setMaxDeltaY=function(a){this.maxDeltaY_=a};
goog.events.MouseWheelHandler.prototype.handleEvent=function(a){var b=0,c=0,d=a.getBrowserEvent();"mousewheel"==d.type?(a=goog.events.MouseWheelHandler.smartScale_(-d.wheelDelta,40),goog.isDef(d.wheelDeltaX)?(b=goog.events.MouseWheelHandler.smartScale_(-d.wheelDeltaX,40),c=goog.events.MouseWheelHandler.smartScale_(-d.wheelDeltaY,40)):c=a):(a=d.detail,100<a?a=3:-100>a&&(a=-3),goog.isDef(d.axis)&&d.axis===d.HORIZONTAL_AXIS?b=a:c=a);goog.isNumber(this.maxDeltaX_)&&(b=goog.math.clamp(b,-this.maxDeltaX_,
this.maxDeltaX_));goog.isNumber(this.maxDeltaY_)&&(c=goog.math.clamp(c,-this.maxDeltaY_,this.maxDeltaY_));this.isRtl_&&(b=-b);b=new goog.events.MouseWheelEvent(a,d,b,c);this.dispatchEvent(b)};goog.events.MouseWheelHandler.smartScale_=function(a,b){return goog.userAgent.WEBKIT&&(goog.userAgent.MAC||goog.userAgent.LINUX)&&0!=a%b?a:a/b};
goog.events.MouseWheelHandler.prototype.disposeInternal=function(){goog.events.MouseWheelHandler.superClass_.disposeInternal.call(this);goog.events.unlistenByKey(this.listenKey_);this.listenKey_=null};goog.events.MouseWheelEvent=function(a,b,c,d){goog.events.BrowserEvent.call(this,b);this.type=goog.events.MouseWheelHandler.EventType.MOUSEWHEEL;this.detail=a;this.deltaX=c;this.deltaY=d};goog.inherits(goog.events.MouseWheelEvent,goog.events.BrowserEvent);weathergen.canvas={};
weathergen.canvas.create_context=function(a,b,c){var d=cljs.core.nth.call(null,b,0,null);b=cljs.core.nth.call(null,b,1,null);var e=cljs.core.nth.call(null,c,0,null);c=cljs.core.nth.call(null,c,1,null);d=e/d;b=c/b;a=a.getContext("2d");a.setTransform(1,0,0,1,0,0);return new cljs.core.PersistentArrayMap(null,3,[new cljs.core.Keyword(null,"context","context",-830191113),a,new cljs.core.Keyword(null,"cell-width","cell-width",1767835816),d,new cljs.core.Keyword(null,"cell-height","cell-height",776757236),
b],null)};weathergen.falcon.install={};weathergen.falcon.install.win32_QMARK_=cljs.core._EQ_.call(null,function(){return require("os")}().platform(),"win32");weathergen.falcon.install.installations=cljs.core.atom.call(null,null);
weathergen.falcon.install.reg_read_installations=function(a){var b=require("winreg"),c=cljs.core._EQ_.call(null,"x64",process.arch),d=new b({hive:b.HKLM,key:"\\SOFTWARE\\Benchmark Sims\\",arch:c?"x86":null});return d.keys(function(b,c,d,h){return function(e,f){if(cljs.core.truth_(e))return a.call(null,cljs.core.PersistentArrayMap.EMPTY);e=f.length;var g=cljs.core.atom.call(null,e),k=cljs.core.atom.call(null,null);f=cljs.core.seq.call(null,f);for(var l=null,q=0,r=0;;)if(r<q){var u=cljs.core._nth.call(null,
l,r);u.get("baseDir",function(b,c,d,e,f,g,h,k,l,m,n,p){return function(q,r){cljs.core.swap_BANG_.call(null,h,cljs.core.dec);cljs.core.truth_(q)?taoensso.timbre._log_BANG_.call(null,taoensso.timbre._STAR_config_STAR_,new cljs.core.Keyword(null,"error","error",-978969032),"weathergen.falcon.install",null,36,new cljs.core.Keyword(null,"p","p",151049309),new cljs.core.Keyword(null,"auto","auto",-566279492),new cljs.core.Delay(function(a,b,c,d,e,f,g,h,k,l,m,n){return function(){return new cljs.core.PersistentVector(null,
2,5,cljs.core.PersistentVector.EMPTY_NODE,["Could not read from registry key ",e.path],null)}}(b,c,d,e,f,g,h,k,l,m,n,p),null),null,-199191754):cljs.core.swap_BANG_.call(null,k,cljs.core.assoc,cljs.core.subs.call(null,f.key,cljs.core.count.call(null,n)),r.value);return 0===cljs.core.deref.call(null,h)?a.call(null,cljs.core.deref.call(null,k)):null}}(f,l,q,r,u,e,g,k,b,c,d,h));r+=1}else{var t=cljs.core.seq.call(null,f);if(t){var v=t;cljs.core.chunked_seq_QMARK_.call(null,v)?(f=cljs.core.chunk_first.call(null,
v),q=cljs.core.chunk_rest.call(null,v),l=f,v=cljs.core.count.call(null,f),f=q,q=v):(u=cljs.core.first.call(null,v),u.get("baseDir",function(b,c,d,e,f,g,h,k,l,m,n,p,q,r){return function(u,t){cljs.core.swap_BANG_.call(null,l,cljs.core.dec);cljs.core.truth_(u)?taoensso.timbre._log_BANG_.call(null,taoensso.timbre._STAR_config_STAR_,new cljs.core.Keyword(null,"error","error",-978969032),"weathergen.falcon.install",null,36,new cljs.core.Keyword(null,"p","p",151049309),new cljs.core.Keyword(null,"auto",
"auto",-566279492),new cljs.core.Delay(function(a,b,c,d,e,f,g,h,k,l,m,n,p,q){return function(){return new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,["Could not read from registry key ",e.path],null)}}(b,c,d,e,f,g,h,k,l,m,n,p,q,r),null),null,-1985541852):cljs.core.swap_BANG_.call(null,m,cljs.core.assoc,cljs.core.subs.call(null,f.key,cljs.core.count.call(null,q)),t.value);return 0===cljs.core.deref.call(null,l)?a.call(null,cljs.core.deref.call(null,m)):null}}(f,l,q,r,
u,v,t,e,g,k,b,c,d,h)),f=cljs.core.next.call(null,v),l=null,q=0);r=0}else return null}}}(b,c,"\\SOFTWARE\\Benchmark Sims\\",d))};
weathergen.falcon.install.locate_installations=function(a){var b=cljs.core.deref.call(null,weathergen.falcon.install.installations),c=(new cljs.core.Keyword(null,"installations","installations",-2091217739)).cljs$core$IFn$_invoke$arity$1(weathergen.settings.load_settings.call(null));return cljs.core.truth_(b)?a.call(null,b):cljs.core.truth_(c)?(cljs.core.reset_BANG_.call(null,weathergen.falcon.install.installations,c),a.call(null,c)):weathergen.falcon.install.win32_QMARK_?weathergen.falcon.install.reg_read_installations.call(null,
function(b,c){return function(b){cljs.core.reset_BANG_.call(null,weathergen.falcon.install.installations,b);return a.call(null,b)}}(b,c)):a.call(null,null)};vmt.clouds={};
weathergen.ui.common.register_class_BANG_.call(null,new cljs.core.Keyword("vmt.clouds","coverage-icon","vmt.clouds/coverage-icon",1613030054),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.PersistentArrayMap(null,5,[new cljs.core.Keyword(null,"stroke","stroke",1741823555),"black",new cljs.core.Keyword(null,"stroke-width","stroke-width",716836435),.08,new cljs.core.Keyword(null,"fill","fill",883462889),"none",new cljs.core.Keyword(null,"pointer-events","pointer-events",
-1053858853),"none",new cljs.core.Keyword(null,"opacity","opacity",397153780),.7],null)],null));
vmt.clouds.coverage_icon=function(a,b){var c=weathergen.math.deg__GT_rad.call(null,30);return hoplon.svg.g.call(null,new cljs.core.Keyword(null,"attr","attr",-604132353),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"class","class",-2030961996),weathergen.ui.common.class_for.call(null,new cljs.core.Keyword("vmt.clouds","coverage-icon","vmt.clouds/coverage-icon",1613030054))],null),cljs.core.truth_(b)?function(){var a=.3*Math.sin(c),b=.3*Math.cos(c),f=.45*Math.sin(c),g=.45*Math.cos(c);
return hoplon.svg.path.call(null,new cljs.core.Keyword(null,"d","d",1972142424),goog.string.format("M %f,-%f L %f,-%f A -%f,%f 0 0,0 -%f,-%f L -%f,-%f",a,b,f,g,.45,.45,f,g,a,b))}():null,function(){var b=a instanceof cljs.core.Keyword?a.fqn:null;switch(b){case "none":return hoplon.svg.circle.call(null,new cljs.core.Keyword(null,"cx","cx",1272694324),0,new cljs.core.Keyword(null,"cy","cy",755331060),0,new cljs.core.Keyword(null,"r","r",-471384190),.3);case "few":return hoplon.svg.g.call(null,hoplon.svg.circle.call(null,
new cljs.core.Keyword(null,"cx","cx",1272694324),0,new cljs.core.Keyword(null,"cy","cy",755331060),0,new cljs.core.Keyword(null,"r","r",-471384190),.3),hoplon.svg.line.call(null,new cljs.core.Keyword(null,"x1","x1",-1863922247),0,new cljs.core.Keyword(null,"y1","y1",589123466),-.3,new cljs.core.Keyword(null,"x2","x2",-1362513475),0,new cljs.core.Keyword(null,"y2","y2",-718691301),.3));case "scattered":return hoplon.svg.g.call(null,hoplon.svg.circle.call(null,new cljs.core.Keyword(null,"cx","cx",1272694324),
0,new cljs.core.Keyword(null,"cy","cy",755331060),0,new cljs.core.Keyword(null,"r","r",-471384190),.3),hoplon.svg.path.call(null,new cljs.core.Keyword(null,"attr","attr",-604132353),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"fill","fill",883462889),"black"],null),new cljs.core.Keyword(null,"d","d",1972142424),goog.string.format("M 0 0 L %f 0 A %f,%f 0 0,0 0,-%f L 0 0 Z",.3,.3,.3,.3)));case "broken":return hoplon.svg.g.call(null,hoplon.svg.circle.call(null,new cljs.core.Keyword(null,
"cx","cx",1272694324),0,new cljs.core.Keyword(null,"cy","cy",755331060),0,new cljs.core.Keyword(null,"r","r",-471384190),.3),hoplon.svg.path.call(null,new cljs.core.Keyword(null,"attr","attr",-604132353),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"fill","fill",883462889),"black"],null),new cljs.core.Keyword(null,"d","d",1972142424),goog.string.format("M 0 0 L 0,-%f A %f,%f 0 1,1 -%f,0 L 0 0 Z",.3,.3,.3,.3)));case "overcast":return hoplon.svg.circle.call(null,new cljs.core.Keyword(null,
"attr","attr",-604132353),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"fill","fill",883462889),"black"],null),new cljs.core.Keyword(null,"cx","cx",1272694324),0,new cljs.core.Keyword(null,"cy","cy",755331060),0,new cljs.core.Keyword(null,"r","r",-471384190),.3);default:throw Error(["No matching clause: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(b)].join(""));}}())};weathergen.ipc={};weathergen.ipc.electron=require("electron");weathergen.ipc.channel="weathergen-ipc";
if("undefined"===typeof weathergen||"undefined"===typeof weathergen.ipc||"undefined"===typeof weathergen.ipc.on_message)weathergen.ipc.on_message=function(){var a=cljs.core.atom.call(null,cljs.core.PersistentArrayMap.EMPTY),b=cljs.core.atom.call(null,cljs.core.PersistentArrayMap.EMPTY),c=cljs.core.atom.call(null,cljs.core.PersistentArrayMap.EMPTY),d=cljs.core.atom.call(null,cljs.core.PersistentArrayMap.EMPTY),e=cljs.core.get.call(null,cljs.core.PersistentArrayMap.EMPTY,new cljs.core.Keyword(null,
"hierarchy","hierarchy",-1053470341),cljs.core.get_global_hierarchy.call(null));return new cljs.core.MultiFn(cljs.core.symbol.call(null,"weathergen.ipc","on-message"),function(a,b,c,d,e){return function(){var a=function(a,b,c){if(2<arguments.length){for(var d=0,e=Array(arguments.length-2);d<e.length;)e[d]=arguments[d+2],++d;new cljs.core.IndexedSeq(e,0,null)}return a};a.cljs$lang$maxFixedArity=2;a.cljs$lang$applyTo=function(a){var b=cljs.core.first(a);a=cljs.core.next(a);cljs.core.first(a);cljs.core.rest(a);
return b};a.cljs$core$IFn$_invoke$arity$variadic=function(a,b,c){return a};return a}()}(a,b,c,d,e),new cljs.core.Keyword(null,"default","default",-1987822328),e,a,b,c,d)}();weathergen.ipc.send_to_main=function(a){for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;b=1<b.length?new cljs.core.IndexedSeq(b.slice(1),0,null):null;return weathergen.ipc.send_to_main.cljs$core$IFn$_invoke$arity$variadic(arguments[0],b)};
weathergen.ipc.send_to_main.cljs$core$IFn$_invoke$arity$variadic=function(a,b){return cljs.core.apply.call(null,weathergen.ipc.electron.ipcRenderer.send,weathergen.ipc.channel,a,cljs.core.map.call(null,weathergen.encoding.encode,b))};weathergen.ipc.send_to_main.cljs$lang$maxFixedArity=1;weathergen.ipc.send_to_main.cljs$lang$applyTo=function(a){var b=cljs.core.first.call(null,a);a=cljs.core.next.call(null,a);return this.cljs$core$IFn$_invoke$arity$variadic(b,a)};
weathergen.ipc.send_to_renderer=function(a){for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;b=2<b.length?new cljs.core.IndexedSeq(b.slice(2),0,null):null;return weathergen.ipc.send_to_renderer.cljs$core$IFn$_invoke$arity$variadic(arguments[0],arguments[1],b)};
weathergen.ipc.send_to_renderer.cljs$core$IFn$_invoke$arity$variadic=function(a,b,c){a=a.webContents;return a.send.apply(a,cljs.core.clj__GT_js.call(null,cljs.core.into.call(null,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[weathergen.ipc.channel,b],null),cljs.core.map.call(null,weathergen.encoding.encode,c))))};weathergen.ipc.send_to_renderer.cljs$lang$maxFixedArity=2;
weathergen.ipc.send_to_renderer.cljs$lang$applyTo=function(a){var b=cljs.core.first.call(null,a),c=cljs.core.next.call(null,a);a=cljs.core.first.call(null,c);c=cljs.core.next.call(null,c);return this.cljs$core$IFn$_invoke$arity$variadic(b,a,c)};weathergen.ipc.ipc=cljs.core._EQ_.call(null,void 0,weathergen.ipc.electron.ipcMain)?weathergen.ipc.electron.ipcRenderer:weathergen.ipc.electron.ipcMain;
weathergen.ipc.ipc.on(weathergen.ipc.channel,function(){var a=function(a,b){var c=cljs.core.seq.call(null,b);b=cljs.core.first.call(null,c);c=cljs.core.next.call(null,c);return cljs.core.apply.call(null,weathergen.ipc.on_message,b,a,cljs.core.map.call(null,weathergen.encoding.decode,c))},b=function(b,d){var c=null;if(1<arguments.length){c=0;for(var f=Array(arguments.length-1);c<f.length;)f[c]=arguments[c+1],++c;c=new cljs.core.IndexedSeq(f,0,null)}return a.call(this,b,c)};b.cljs$lang$maxFixedArity=
1;b.cljs$lang$applyTo=function(b){var c=cljs.core.first(b);b=cljs.core.rest(b);return a(c,b)};b.cljs$core$IFn$_invoke$arity$variadic=a;return b}());weathergen.fmap={};weathergen.fmap.byte_writer=function(a){var b=new ArrayBuffer(a),c=new DataView(b);return new cljs.core.PersistentArrayMap(null,4,[new cljs.core.Keyword(null,"size","size",1098693007),a,new cljs.core.Keyword(null,"array-buffer","array-buffer",519008380),b,new cljs.core.Keyword(null,"data-view","data-view",2142900612),c,new cljs.core.Keyword(null,"position","position",-2011731912),cljs.core.atom.call(null,0)],null)};
weathergen.fmap.write_int32=function(a,b){var c=null!=a&&(a.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===a.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,a):a,d=cljs.core.get.call(null,c,new cljs.core.Keyword(null,"data-view","data-view",2142900612)),e=cljs.core.get.call(null,c,new cljs.core.Keyword(null,"position","position",-2011731912));d.setInt32(cljs.core.deref.call(null,e),b,!0);return cljs.core.swap_BANG_.call(null,e,function(a,b,c,d){return function(a){return a+
4}}(a,c,d,e))};
weathergen.fmap.write_float32=function(a,b){var c=null!=a&&(a.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===a.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,a):a,d=cljs.core.get.call(null,c,new cljs.core.Keyword(null,"data-view","data-view",2142900612)),e=cljs.core.get.call(null,c,new cljs.core.Keyword(null,"position","position",-2011731912));d.setFloat32(cljs.core.deref.call(null,e),b,!0);return cljs.core.swap_BANG_.call(null,e,function(a,b,c,d){return function(a){return a+
4}}(a,c,d,e))};weathergen.fmap.blob=function(a){return new Blob([(new cljs.core.Keyword(null,"array-buffer","array-buffer",519008380)).cljs$core$IFn$_invoke$arity$1(a)],{type:"application/x-falcon-bms-fmap"})};
weathergen.fmap.weather_type=function(a){return(new cljs.core.PersistentArrayMap(null,4,[new cljs.core.Keyword(null,"sunny","sunny",1448267778),1,new cljs.core.Keyword(null,"fair","fair",1684139423),2,new cljs.core.Keyword(null,"poor","poor",1462482211),3,new cljs.core.Keyword(null,"inclement","inclement",-550669382),4],null)).call(null,(new cljs.core.Keyword(null,"type","type",1174270348)).cljs$core$IFn$_invoke$arity$1(a))};
weathergen.fmap.pressure=function(a){return weathergen.math.nearest.call(null,weathergen.model.inhg__GT_mmhg.call(null,(new cljs.core.Keyword(null,"pressure","pressure",505343747)).cljs$core$IFn$_invoke$arity$1(a)),1)};weathergen.fmap.wind_speed=function(a){return weathergen.math.nearest.call(null,(new cljs.core.Keyword(null,"speed","speed",1257663751)).cljs$core$IFn$_invoke$arity$1((new cljs.core.Keyword(null,"wind","wind",-527553074)).cljs$core$IFn$_invoke$arity$1(a)),1)};
weathergen.fmap.wind_direction=function(a){return weathergen.math.nearest.call(null,(new cljs.core.Keyword(null,"heading","heading",-1312171873)).cljs$core$IFn$_invoke$arity$1((new cljs.core.Keyword(null,"wind","wind",-527553074)).cljs$core$IFn$_invoke$arity$1(a)),1)};weathergen.fmap.temperature=function(a){return weathergen.math.nearest.call(null,(new cljs.core.Keyword(null,"temperature","temperature",899018429)).cljs$core$IFn$_invoke$arity$1(a),.1)};
weathergen.fmap.get_blob=function(a,b,c){var d=weathergen.fmap.byte_writer.call(null,8+20*b*c);weathergen.fmap.write_int32.call(null,d,b);weathergen.fmap.write_int32.call(null,d,c);for(var e=cljs.core.seq.call(null,new cljs.core.PersistentVector(null,5,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[weathergen.fmap.weather_type,weathergen.fmap.write_int32],null),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,
[weathergen.fmap.pressure,weathergen.fmap.write_float32],null),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[weathergen.fmap.temperature,weathergen.fmap.write_float32],null),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[weathergen.fmap.wind_speed,weathergen.fmap.write_float32],null),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[weathergen.fmap.wind_direction,weathergen.fmap.write_float32],null)],null)),
f=null,g=0,h=0;;)if(h<g){for(var k=cljs.core._nth.call(null,f,h),l=cljs.core.nth.call(null,k,0,null),m=cljs.core.nth.call(null,k,1,null),n=cljs.core.seq.call(null,cljs.core.range.call(null,c)),p=null,q=0,r=0;;)if(r<q){for(var u=cljs.core._nth.call(null,p,r),t=cljs.core.seq.call(null,cljs.core.range.call(null,b)),v=null,w=0,x=0;;)if(x<w){var y=cljs.core._nth.call(null,v,x),z=cljs.core.get.call(null,a,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[y,u],null));m.call(null,
d,l.call(null,z));x+=1}else{var B=cljs.core.seq.call(null,t);if(B){var C=B;if(cljs.core.chunked_seq_QMARK_.call(null,C)){var A=cljs.core.chunk_first.call(null,C),D=cljs.core.chunk_rest.call(null,C),F=A,E=cljs.core.count.call(null,A);t=D;v=F;w=E}else{var G=cljs.core.first.call(null,C),J=cljs.core.get.call(null,a,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[G,u],null));m.call(null,d,l.call(null,J));t=cljs.core.next.call(null,C);v=null;w=0}x=0}else break}r+=1}else{var M=
cljs.core.seq.call(null,n);if(M){var L=M;if(cljs.core.chunked_seq_QMARK_.call(null,L)){var K=cljs.core.chunk_first.call(null,L),I=cljs.core.chunk_rest.call(null,L),H=K,O=cljs.core.count.call(null,K);n=I;p=H;q=O}else{for(var P=cljs.core.first.call(null,L),N=cljs.core.seq.call(null,cljs.core.range.call(null,b)),Q=null,R=0,S=0;;)if(S<R){var T=cljs.core._nth.call(null,Q,S),U=cljs.core.get.call(null,a,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[T,P],null));m.call(null,
d,l.call(null,U));S+=1}else{var W=cljs.core.seq.call(null,N);if(W){var V=W;if(cljs.core.chunked_seq_QMARK_.call(null,V)){var X=cljs.core.chunk_first.call(null,V),Y=cljs.core.chunk_rest.call(null,V),aa=X,ba=cljs.core.count.call(null,X);N=Y;Q=aa;R=ba}else{var Z=cljs.core.first.call(null,V),ca=cljs.core.get.call(null,a,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[Z,P],null));m.call(null,d,l.call(null,ca));N=cljs.core.next.call(null,V);Q=null;R=0}S=0}else break}n=cljs.core.next.call(null,
L);p=null;q=0}r=0}else break}h+=1}else{var ea=cljs.core.seq.call(null,e);if(ea){var ha=ea;if(cljs.core.chunked_seq_QMARK_.call(null,ha)){var fa=cljs.core.chunk_first.call(null,ha),ka=cljs.core.chunk_rest.call(null,ha),ia=fa,ja=cljs.core.count.call(null,fa);e=ka;f=ia;g=ja}else{for(var da=cljs.core.first.call(null,ha),ma=cljs.core.nth.call(null,da,0,null),Fa=cljs.core.nth.call(null,da,1,null),Ya=cljs.core.seq.call(null,cljs.core.range.call(null,c)),Aa=null,Ga=0,Oa=0;;)if(Oa<Ga){for(var Za=cljs.core._nth.call(null,
Aa,Oa),Ha=cljs.core.seq.call(null,cljs.core.range.call(null,b)),na=null,$a=0,wa=0;;)if(wa<$a){var vb=cljs.core._nth.call(null,na,wa),kb=cljs.core.get.call(null,a,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[vb,Za],null));Fa.call(null,d,ma.call(null,kb));wa+=1}else{var lb=cljs.core.seq.call(null,Ha);if(lb){var Ba=lb;if(cljs.core.chunked_seq_QMARK_.call(null,Ba)){var ab=cljs.core.chunk_first.call(null,Ba),wb=cljs.core.chunk_rest.call(null,Ba),mb=ab,bb=cljs.core.count.call(null,
ab);Ha=wb;na=mb;$a=bb}else{var xb=cljs.core.first.call(null,Ba),nb=cljs.core.get.call(null,a,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[xb,Za],null));Fa.call(null,d,ma.call(null,nb));Ha=cljs.core.next.call(null,Ba);na=null;$a=0}wa=0}else break}Oa+=1}else{var cb=cljs.core.seq.call(null,Ya);if(cb){var Ca=cb;if(cljs.core.chunked_seq_QMARK_.call(null,Ca)){var xa=cljs.core.chunk_first.call(null,Ca),ob=cljs.core.chunk_rest.call(null,Ca),db=xa,yb=cljs.core.count.call(null,
xa);Ya=ob;Aa=db;Ga=yb}else{for(var ya=cljs.core.first.call(null,Ca),eb=cljs.core.seq.call(null,cljs.core.range.call(null,b)),fb=null,Ia=0,la=0;;)if(la<Ia){var ta=cljs.core._nth.call(null,fb,la),ra=cljs.core.get.call(null,a,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[ta,ya],null));Fa.call(null,d,ma.call(null,ra));la+=1}else{var ua=cljs.core.seq.call(null,eb);if(ua){var sa=ua;if(cljs.core.chunked_seq_QMARK_.call(null,sa)){var oa=cljs.core.chunk_first.call(null,sa),
Da=cljs.core.chunk_rest.call(null,sa),pa=oa,Ja=cljs.core.count.call(null,oa);eb=Da;fb=pa;Ia=Ja}else{var za=cljs.core.first.call(null,sa),Ka=cljs.core.get.call(null,a,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[za,ya],null));Fa.call(null,d,ma.call(null,Ka));eb=cljs.core.next.call(null,sa);fb=null;Ia=0}la=0}else break}Ya=cljs.core.next.call(null,Ca);Aa=null;Ga=0}Oa=0}else break}e=cljs.core.next.call(null,ha);f=null;g=0}h=0}else break}return weathergen.fmap.blob.call(null,
d)};weathergen.dtc={};weathergen.dtc.number=function(a){return(new Number(a)).valueOf()};weathergen.dtc.integer=function(a){return cljs.core.long$.call(null,a)};
weathergen.dtc.stpt_action=cljs.core.PersistentHashMap.fromArrays([0,7,20,1,24,4,-1,15,21,13,22,6,25,17,3,12,2,23,19,11,9,5,14,26,16,10,18,8],[new cljs.core.Keyword(null,"nav","nav",719540477),new cljs.core.Keyword(null,"land","land",-1402569867),new cljs.core.Keyword(null,"elint","elint",1374102625),new cljs.core.Keyword(null,"takeoff","takeoff",719937767),new cljs.core.Keyword(null,"tanker","tanker",932081370),new cljs.core.Keyword(null,"refuel","refuel",184033462),new cljs.core.Keyword(null,"none",
"none",1333468478),new cljs.core.Keyword(null,"strike","strike",-1173815471),new cljs.core.Keyword(null,"recon","recon",-745027378),new cljs.core.Keyword(null,"intercept","intercept",-2141938204),new cljs.core.Keyword(null,"rescue","rescue",1135767523),new cljs.core.Keyword(null,"pickup","pickup",1997454190),new cljs.core.Keyword(null,"airdrop","airdrop",-534117642),new cljs.core.Keyword(null,"strike","strike",-1173815471),new cljs.core.Keyword(null,"split","split",-599435118),new cljs.core.Keyword(null,
"cap","cap",-817621587),new cljs.core.Keyword(null,"push","push",799791267),new cljs.core.Keyword(null,"asw","asw",1486545956),new cljs.core.Keyword(null,"sead","sead",821421771),new cljs.core.Keyword(null,"sweep","sweep",-50871214),new cljs.core.Keyword(null,"cas-contact","cas-contact",1257981390),new cljs.core.Keyword(null,"rearm","rearm",-408770249),new cljs.core.Keyword(null,"strike","strike",-1173815471),new cljs.core.Keyword(null,"jam","jam",-1572859399),new cljs.core.Keyword(null,"strike",
"strike",-1173815471),new cljs.core.Keyword(null,"escort","escort",-1921119179),new cljs.core.Keyword(null,"bomb","bomb",-1302543521),new cljs.core.Keyword(null,"holding-point","holding-point",-8249469)]);cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.dtc","x","weathergen.dtc/x",-384550566),new cljs.core.Symbol("cljs.core","number?","cljs.core/number?",-811857295,null),cljs.core.number_QMARK_);
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.dtc","y","weathergen.dtc/y",-474567375),new cljs.core.Symbol("cljs.core","number?","cljs.core/number?",-811857295,null),cljs.core.number_QMARK_);cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.dtc","z","weathergen.dtc/z",1291536818),new cljs.core.Symbol("cljs.core","number?","cljs.core/number?",-811857295,null),cljs.core.number_QMARK_);
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.dtc","coordinates","weathergen.dtc/coordinates",-1965136125),cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha","keys","cljs.spec.alpha/keys",1109346032,null),new cljs.core.Keyword(null,"req","req",-326448303),new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword("weathergen.dtc","x","weathergen.dtc/x",-384550566),new cljs.core.Keyword("weathergen.dtc","y","weathergen.dtc/y",-474567375),
new cljs.core.Keyword("weathergen.dtc","z","weathergen.dtc/z",1291536818)],null)),cljs.spec.alpha.map_spec_impl.call(null,cljs.core.PersistentHashMap.fromArrays([new cljs.core.Keyword(null,"req-un","req-un",1074571008),new cljs.core.Keyword(null,"opt-un","opt-un",883442496),new cljs.core.Keyword(null,"gfn","gfn",791517474),new cljs.core.Keyword(null,"pred-exprs","pred-exprs",1792271395),new cljs.core.Keyword(null,"keys-pred","keys-pred",858984739),new cljs.core.Keyword(null,"opt-keys","opt-keys",
1262688261),new cljs.core.Keyword(null,"req-specs","req-specs",553962313),new cljs.core.Keyword(null,"req","req",-326448303),new cljs.core.Keyword(null,"req-keys","req-keys",514319221),new cljs.core.Keyword(null,"opt-specs","opt-specs",-384905450),new cljs.core.Keyword(null,"pred-forms","pred-forms",172611832),new cljs.core.Keyword(null,"opt","opt",-794706369)],[null,null,null,new cljs.core.PersistentVector(null,4,5,cljs.core.PersistentVector.EMPTY_NODE,[function(a){return cljs.core.map_QMARK_.call(null,
a)},function(a){return cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword("weathergen.dtc","x","weathergen.dtc/x",-384550566))},function(a){return cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword("weathergen.dtc","y","weathergen.dtc/y",-474567375))},function(a){return cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword("weathergen.dtc","z","weathergen.dtc/z",1291536818))}],null),function(a){return cljs.core.map_QMARK_.call(null,a)&&cljs.core.contains_QMARK_.call(null,a,
new cljs.core.Keyword("weathergen.dtc","x","weathergen.dtc/x",-384550566))&&cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword("weathergen.dtc","y","weathergen.dtc/y",-474567375))&&cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword("weathergen.dtc","z","weathergen.dtc/z",1291536818))},cljs.core.PersistentVector.EMPTY,new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword("weathergen.dtc","x","weathergen.dtc/x",-384550566),new cljs.core.Keyword("weathergen.dtc",
"y","weathergen.dtc/y",-474567375),new cljs.core.Keyword("weathergen.dtc","z","weathergen.dtc/z",1291536818)],null),new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword("weathergen.dtc","x","weathergen.dtc/x",-384550566),new cljs.core.Keyword("weathergen.dtc","y","weathergen.dtc/y",-474567375),new cljs.core.Keyword("weathergen.dtc","z","weathergen.dtc/z",1291536818)],null),new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,
[new cljs.core.Keyword("weathergen.dtc","x","weathergen.dtc/x",-384550566),new cljs.core.Keyword("weathergen.dtc","y","weathergen.dtc/y",-474567375),new cljs.core.Keyword("weathergen.dtc","z","weathergen.dtc/z",1291536818)],null),cljs.core.PersistentVector.EMPTY,new cljs.core.PersistentVector(null,4,5,cljs.core.PersistentVector.EMPTY_NODE,[cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,
[new cljs.core.Symbol(null,"%","%",-950237169,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core","map?","cljs.core/map?",-1390345523,null),new cljs.core.Symbol(null,"%","%",-950237169,null))),cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"%","%",-950237169,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core","contains?","cljs.core/contains?",
-976526835,null),new cljs.core.Symbol(null,"%","%",-950237169,null),new cljs.core.Keyword("weathergen.dtc","x","weathergen.dtc/x",-384550566))),cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"%","%",-950237169,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core","contains?","cljs.core/contains?",-976526835,null),new cljs.core.Symbol(null,"%","%",-950237169,
null),new cljs.core.Keyword("weathergen.dtc","y","weathergen.dtc/y",-474567375))),cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"%","%",-950237169,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core","contains?","cljs.core/contains?",-976526835,null),new cljs.core.Symbol(null,"%","%",-950237169,null),new cljs.core.Keyword("weathergen.dtc","z","weathergen.dtc/z",
1291536818)))],null),null])));
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.dtc","ordinal","weathergen.dtc/ordinal",1230503945),cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha","and","cljs.spec.alpha/and",-2060279705,null),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null),cljs.core.list(new cljs.core.Symbol("cljs.core","complement","cljs.core/complement",-498493640,null),new cljs.core.Symbol("cljs.core","neg?","cljs.core/neg?",2002812728,null))),cljs.spec.alpha.and_spec_impl.call(null,
new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null),cljs.core.list(new cljs.core.Symbol("cljs.core","complement","cljs.core/complement",-498493640,null),new cljs.core.Symbol("cljs.core","neg?","cljs.core/neg?",2002812728,null))],null),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[cljs.core.integer_QMARK_,cljs.core.complement.call(null,cljs.core.neg_QMARK_)],
null),null));
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.dtc","action","weathergen.dtc/action",1537999145),cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha","nilable","cljs.spec.alpha/nilable",1628308748,null),cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha","or","cljs.spec.alpha/or",-831679639,null),new cljs.core.Keyword(null,"keyword","keyword",811389747),cljs.core.list(new cljs.core.Symbol("cljs.core","-\x3e","cljs.core/-\x3e",1488366311,null),new cljs.core.Symbol("weathergen.dtc","stpt-action",
"weathergen.dtc/stpt-action",913350624,null),new cljs.core.Symbol("cljs.core","vals","cljs.core/vals",1473678353,null),new cljs.core.Symbol("cljs.core","set","cljs.core/set",724680876,null)),new cljs.core.Keyword(null,"string","string",-1989541586),new cljs.core.Symbol("cljs.core","string?","cljs.core/string?",-2072921719,null))),cljs.spec.alpha.nilable_impl.call(null,cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha","or","cljs.spec.alpha/or",-831679639,null),new cljs.core.Keyword(null,"keyword",
"keyword",811389747),cljs.core.list(new cljs.core.Symbol("cljs.core","-\x3e","cljs.core/-\x3e",1488366311,null),new cljs.core.Symbol("weathergen.dtc","stpt-action","weathergen.dtc/stpt-action",913350624,null),new cljs.core.Symbol("cljs.core","vals","cljs.core/vals",1473678353,null),new cljs.core.Symbol("cljs.core","set","cljs.core/set",724680876,null)),new cljs.core.Keyword(null,"string","string",-1989541586),new cljs.core.Symbol("cljs.core","string?","cljs.core/string?",-2072921719,null)),cljs.spec.alpha.or_spec_impl.call(null,
new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"keyword","keyword",811389747),new cljs.core.Keyword(null,"string","string",-1989541586)],null),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[cljs.core.list(new cljs.core.Symbol("cljs.core","-\x3e","cljs.core/-\x3e",1488366311,null),new cljs.core.Symbol("weathergen.dtc","stpt-action","weathergen.dtc/stpt-action",913350624,null),new cljs.core.Symbol("cljs.core",
"vals","cljs.core/vals",1473678353,null),new cljs.core.Symbol("cljs.core","set","cljs.core/set",724680876,null)),new cljs.core.Symbol("cljs.core","string?","cljs.core/string?",-2072921719,null)],null),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[cljs.core.set.call(null,cljs.core.vals.call(null,weathergen.dtc.stpt_action)),cljs.core.string_QMARK_],null),null),null));
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.dtc","comment","weathergen.dtc/comment",-1410310600),new cljs.core.Symbol("cljs.core","string?","cljs.core/string?",-2072921719,null),cljs.core.string_QMARK_);cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.dtc","threat","weathergen.dtc/threat",149534586),new cljs.core.Symbol("cljs.core","string?","cljs.core/string?",-2072921719,null),cljs.core.string_QMARK_);
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.dtc","alternate?","weathergen.dtc/alternate?",-1722390529),new cljs.core.Symbol("cljs.core","boolean?","cljs.core/boolean?",1400713761,null),cljs.core.boolean_QMARK_);
weathergen.dtc.target=cljs.spec.alpha.map_spec_impl.call(null,cljs.core.PersistentHashMap.fromArrays([new cljs.core.Keyword(null,"req-un","req-un",1074571008),new cljs.core.Keyword(null,"opt-un","opt-un",883442496),new cljs.core.Keyword(null,"gfn","gfn",791517474),new cljs.core.Keyword(null,"pred-exprs","pred-exprs",1792271395),new cljs.core.Keyword(null,"keys-pred","keys-pred",858984739),new cljs.core.Keyword(null,"opt-keys","opt-keys",1262688261),new cljs.core.Keyword(null,"req-specs","req-specs",
553962313),new cljs.core.Keyword(null,"req","req",-326448303),new cljs.core.Keyword(null,"req-keys","req-keys",514319221),new cljs.core.Keyword(null,"opt-specs","opt-specs",-384905450),new cljs.core.Keyword(null,"pred-forms","pred-forms",172611832),new cljs.core.Keyword(null,"opt","opt",-794706369)],[null,null,null,new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,[function(a){return cljs.core.map_QMARK_.call(null,a)},function(a){return cljs.core.contains_QMARK_.call(null,
a,new cljs.core.Keyword("weathergen.dtc","coordinates","weathergen.dtc/coordinates",-1965136125))},function(a){return cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword("weathergen.dtc","ordinal","weathergen.dtc/ordinal",1230503945))}],null),function(a){return cljs.core.map_QMARK_.call(null,a)&&cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword("weathergen.dtc","coordinates","weathergen.dtc/coordinates",-1965136125))&&cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword("weathergen.dtc",
"ordinal","weathergen.dtc/ordinal",1230503945))},new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword("weathergen.dtc","comment","weathergen.dtc/comment",-1410310600),new cljs.core.Keyword("weathergen.dtc","action","weathergen.dtc/action",1537999145),new cljs.core.Keyword("weathergen.dtc","alternate?","weathergen.dtc/alternate?",-1722390529)],null),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword("weathergen.dtc",
"coordinates","weathergen.dtc/coordinates",-1965136125),new cljs.core.Keyword("weathergen.dtc","ordinal","weathergen.dtc/ordinal",1230503945)],null),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword("weathergen.dtc","coordinates","weathergen.dtc/coordinates",-1965136125),new cljs.core.Keyword("weathergen.dtc","ordinal","weathergen.dtc/ordinal",1230503945)],null),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword("weathergen.dtc",
"coordinates","weathergen.dtc/coordinates",-1965136125),new cljs.core.Keyword("weathergen.dtc","ordinal","weathergen.dtc/ordinal",1230503945)],null),new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword("weathergen.dtc","comment","weathergen.dtc/comment",-1410310600),new cljs.core.Keyword("weathergen.dtc","action","weathergen.dtc/action",1537999145),new cljs.core.Keyword("weathergen.dtc","alternate?","weathergen.dtc/alternate?",-1722390529)],null),new cljs.core.PersistentVector(null,
3,5,cljs.core.PersistentVector.EMPTY_NODE,[cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"%","%",-950237169,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core","map?","cljs.core/map?",-1390345523,null),new cljs.core.Symbol(null,"%","%",-950237169,null))),cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null,
1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"%","%",-950237169,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core","contains?","cljs.core/contains?",-976526835,null),new cljs.core.Symbol(null,"%","%",-950237169,null),new cljs.core.Keyword("weathergen.dtc","coordinates","weathergen.dtc/coordinates",-1965136125))),cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,
[new cljs.core.Symbol(null,"%","%",-950237169,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core","contains?","cljs.core/contains?",-976526835,null),new cljs.core.Symbol(null,"%","%",-950237169,null),new cljs.core.Keyword("weathergen.dtc","ordinal","weathergen.dtc/ordinal",1230503945)))],null),new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword("weathergen.dtc","comment","weathergen.dtc/comment",-1410310600),new cljs.core.Keyword("weathergen.dtc",
"action","weathergen.dtc/action",1537999145),new cljs.core.Keyword("weathergen.dtc","alternate?","weathergen.dtc/alternate?",-1722390529)],null)]));
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.dtc","targets","weathergen.dtc/targets",203711245),cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha","*","cljs.spec.alpha/*",-1238084288,null),new cljs.core.Symbol("weathergen.dtc","target","weathergen.dtc/target",-315914873,null)),cljs.spec.alpha.rep_impl.call(null,new cljs.core.Symbol("weathergen.dtc","target","weathergen.dtc/target",-315914873,null),weathergen.dtc.target));
weathergen.dtc.line=cljs.spec.alpha.map_spec_impl.call(null,cljs.core.PersistentHashMap.fromArrays([new cljs.core.Keyword(null,"req-un","req-un",1074571008),new cljs.core.Keyword(null,"opt-un","opt-un",883442496),new cljs.core.Keyword(null,"gfn","gfn",791517474),new cljs.core.Keyword(null,"pred-exprs","pred-exprs",1792271395),new cljs.core.Keyword(null,"keys-pred","keys-pred",858984739),new cljs.core.Keyword(null,"opt-keys","opt-keys",1262688261),new cljs.core.Keyword(null,"req-specs","req-specs",
553962313),new cljs.core.Keyword(null,"req","req",-326448303),new cljs.core.Keyword(null,"req-keys","req-keys",514319221),new cljs.core.Keyword(null,"opt-specs","opt-specs",-384905450),new cljs.core.Keyword(null,"pred-forms","pred-forms",172611832),new cljs.core.Keyword(null,"opt","opt",-794706369)],[null,null,null,new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,[function(a){return cljs.core.map_QMARK_.call(null,a)},function(a){return cljs.core.contains_QMARK_.call(null,
a,new cljs.core.Keyword("weathergen.dtc","coordinates","weathergen.dtc/coordinates",-1965136125))},function(a){return cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword("weathergen.dtc","ordinal","weathergen.dtc/ordinal",1230503945))}],null),function(a){return cljs.core.map_QMARK_.call(null,a)&&cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword("weathergen.dtc","coordinates","weathergen.dtc/coordinates",-1965136125))&&cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword("weathergen.dtc",
"ordinal","weathergen.dtc/ordinal",1230503945))},cljs.core.PersistentVector.EMPTY,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword("weathergen.dtc","coordinates","weathergen.dtc/coordinates",-1965136125),new cljs.core.Keyword("weathergen.dtc","ordinal","weathergen.dtc/ordinal",1230503945)],null),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword("weathergen.dtc","coordinates","weathergen.dtc/coordinates",
-1965136125),new cljs.core.Keyword("weathergen.dtc","ordinal","weathergen.dtc/ordinal",1230503945)],null),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword("weathergen.dtc","coordinates","weathergen.dtc/coordinates",-1965136125),new cljs.core.Keyword("weathergen.dtc","ordinal","weathergen.dtc/ordinal",1230503945)],null),cljs.core.PersistentVector.EMPTY,new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,[cljs.core.list(new cljs.core.Symbol("cljs.core",
"fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"%","%",-950237169,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core","map?","cljs.core/map?",-1390345523,null),new cljs.core.Symbol(null,"%","%",-950237169,null))),cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,
"%","%",-950237169,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core","contains?","cljs.core/contains?",-976526835,null),new cljs.core.Symbol(null,"%","%",-950237169,null),new cljs.core.Keyword("weathergen.dtc","coordinates","weathergen.dtc/coordinates",-1965136125))),cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"%","%",-950237169,null)],null),
cljs.core.list(new cljs.core.Symbol("cljs.core","contains?","cljs.core/contains?",-976526835,null),new cljs.core.Symbol(null,"%","%",-950237169,null),new cljs.core.Keyword("weathergen.dtc","ordinal","weathergen.dtc/ordinal",1230503945)))],null),null]));
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.dtc","lines","weathergen.dtc/lines",1381092652),cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha","*","cljs.spec.alpha/*",-1238084288,null),new cljs.core.Symbol("weathergen.dtc","line","weathergen.dtc/line",-496557539,null)),cljs.spec.alpha.rep_impl.call(null,new cljs.core.Symbol("weathergen.dtc","line","weathergen.dtc/line",-496557539,null),weathergen.dtc.line));
weathergen.dtc.ppt=cljs.spec.alpha.map_spec_impl.call(null,cljs.core.PersistentHashMap.fromArrays([new cljs.core.Keyword(null,"req-un","req-un",1074571008),new cljs.core.Keyword(null,"opt-un","opt-un",883442496),new cljs.core.Keyword(null,"gfn","gfn",791517474),new cljs.core.Keyword(null,"pred-exprs","pred-exprs",1792271395),new cljs.core.Keyword(null,"keys-pred","keys-pred",858984739),new cljs.core.Keyword(null,"opt-keys","opt-keys",1262688261),new cljs.core.Keyword(null,"req-specs","req-specs",
553962313),new cljs.core.Keyword(null,"req","req",-326448303),new cljs.core.Keyword(null,"req-keys","req-keys",514319221),new cljs.core.Keyword(null,"opt-specs","opt-specs",-384905450),new cljs.core.Keyword(null,"pred-forms","pred-forms",172611832),new cljs.core.Keyword(null,"opt","opt",-794706369)],[null,null,null,new cljs.core.PersistentVector(null,4,5,cljs.core.PersistentVector.EMPTY_NODE,[function(a){return cljs.core.map_QMARK_.call(null,a)},function(a){return cljs.core.contains_QMARK_.call(null,
a,new cljs.core.Keyword("weathergen.dtc","coordinates","weathergen.dtc/coordinates",-1965136125))},function(a){return cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword("weathergen.dtc","ordinal","weathergen.dtc/ordinal",1230503945))},function(a){return cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword("weathergen.dtc","radius","weathergen.dtc/radius",811087459))}],null),function(a){return cljs.core.map_QMARK_.call(null,a)&&cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword("weathergen.dtc",
"coordinates","weathergen.dtc/coordinates",-1965136125))&&cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword("weathergen.dtc","ordinal","weathergen.dtc/ordinal",1230503945))&&cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword("weathergen.dtc","radius","weathergen.dtc/radius",811087459))},new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword("weathergen.dtc","threat","weathergen.dtc/threat",149534586)],null),new cljs.core.PersistentVector(null,
3,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword("weathergen.dtc","coordinates","weathergen.dtc/coordinates",-1965136125),new cljs.core.Keyword("weathergen.dtc","ordinal","weathergen.dtc/ordinal",1230503945),new cljs.core.Keyword("weathergen.dtc","radius","weathergen.dtc/radius",811087459)],null),new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword("weathergen.dtc","coordinates","weathergen.dtc/coordinates",-1965136125),new cljs.core.Keyword("weathergen.dtc",
"ordinal","weathergen.dtc/ordinal",1230503945),new cljs.core.Keyword("weathergen.dtc","radius","weathergen.dtc/radius",811087459)],null),new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword("weathergen.dtc","coordinates","weathergen.dtc/coordinates",-1965136125),new cljs.core.Keyword("weathergen.dtc","ordinal","weathergen.dtc/ordinal",1230503945),new cljs.core.Keyword("weathergen.dtc","radius","weathergen.dtc/radius",811087459)],null),new cljs.core.PersistentVector(null,
1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword("weathergen.dtc","threat","weathergen.dtc/threat",149534586)],null),new cljs.core.PersistentVector(null,4,5,cljs.core.PersistentVector.EMPTY_NODE,[cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"%","%",-950237169,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core","map?","cljs.core/map?",
-1390345523,null),new cljs.core.Symbol(null,"%","%",-950237169,null))),cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"%","%",-950237169,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core","contains?","cljs.core/contains?",-976526835,null),new cljs.core.Symbol(null,"%","%",-950237169,null),new cljs.core.Keyword("weathergen.dtc","coordinates","weathergen.dtc/coordinates",
-1965136125))),cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"%","%",-950237169,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core","contains?","cljs.core/contains?",-976526835,null),new cljs.core.Symbol(null,"%","%",-950237169,null),new cljs.core.Keyword("weathergen.dtc","ordinal","weathergen.dtc/ordinal",1230503945))),cljs.core.list(new cljs.core.Symbol("cljs.core",
"fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"%","%",-950237169,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core","contains?","cljs.core/contains?",-976526835,null),new cljs.core.Symbol(null,"%","%",-950237169,null),new cljs.core.Keyword("weathergen.dtc","radius","weathergen.dtc/radius",811087459)))],null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword("weathergen.dtc",
"threat","weathergen.dtc/threat",149534586)],null)]));cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.dtc","ppts","weathergen.dtc/ppts",1013037315),cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha","*","cljs.spec.alpha/*",-1238084288,null),new cljs.core.Symbol("weathergen.dtc","ppt","weathergen.dtc/ppt",266871180,null)),cljs.spec.alpha.rep_impl.call(null,new cljs.core.Symbol("weathergen.dtc","ppt","weathergen.dtc/ppt",266871180,null),weathergen.dtc.ppt));
weathergen.dtc.weapon_target=cljs.spec.alpha.map_spec_impl.call(null,cljs.core.PersistentHashMap.fromArrays([new cljs.core.Keyword(null,"req-un","req-un",1074571008),new cljs.core.Keyword(null,"opt-un","opt-un",883442496),new cljs.core.Keyword(null,"gfn","gfn",791517474),new cljs.core.Keyword(null,"pred-exprs","pred-exprs",1792271395),new cljs.core.Keyword(null,"keys-pred","keys-pred",858984739),new cljs.core.Keyword(null,"opt-keys","opt-keys",1262688261),new cljs.core.Keyword(null,"req-specs","req-specs",
553962313),new cljs.core.Keyword(null,"req","req",-326448303),new cljs.core.Keyword(null,"req-keys","req-keys",514319221),new cljs.core.Keyword(null,"opt-specs","opt-specs",-384905450),new cljs.core.Keyword(null,"pred-forms","pred-forms",172611832),new cljs.core.Keyword(null,"opt","opt",-794706369)],[null,null,null,new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,[function(a){return cljs.core.map_QMARK_.call(null,a)},function(a){return cljs.core.contains_QMARK_.call(null,
a,new cljs.core.Keyword("weathergen.dtc","coordinates","weathergen.dtc/coordinates",-1965136125))},function(a){return cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword("weathergen.dtc","ordinal","weathergen.dtc/ordinal",1230503945))}],null),function(a){return cljs.core.map_QMARK_.call(null,a)&&cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword("weathergen.dtc","coordinates","weathergen.dtc/coordinates",-1965136125))&&cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword("weathergen.dtc",
"ordinal","weathergen.dtc/ordinal",1230503945))},new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword("weathergen.dtc","comment","weathergen.dtc/comment",-1410310600)],null),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword("weathergen.dtc","coordinates","weathergen.dtc/coordinates",-1965136125),new cljs.core.Keyword("weathergen.dtc","ordinal","weathergen.dtc/ordinal",1230503945)],null),new cljs.core.PersistentVector(null,
2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword("weathergen.dtc","coordinates","weathergen.dtc/coordinates",-1965136125),new cljs.core.Keyword("weathergen.dtc","ordinal","weathergen.dtc/ordinal",1230503945)],null),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword("weathergen.dtc","coordinates","weathergen.dtc/coordinates",-1965136125),new cljs.core.Keyword("weathergen.dtc","ordinal","weathergen.dtc/ordinal",1230503945)],null),new cljs.core.PersistentVector(null,
1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword("weathergen.dtc","comment","weathergen.dtc/comment",-1410310600)],null),new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,[cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"%","%",-950237169,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core","map?","cljs.core/map?",
-1390345523,null),new cljs.core.Symbol(null,"%","%",-950237169,null))),cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"%","%",-950237169,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core","contains?","cljs.core/contains?",-976526835,null),new cljs.core.Symbol(null,"%","%",-950237169,null),new cljs.core.Keyword("weathergen.dtc","coordinates","weathergen.dtc/coordinates",
-1965136125))),cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"%","%",-950237169,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core","contains?","cljs.core/contains?",-976526835,null),new cljs.core.Symbol(null,"%","%",-950237169,null),new cljs.core.Keyword("weathergen.dtc","ordinal","weathergen.dtc/ordinal",1230503945)))],null),new cljs.core.PersistentVector(null,
1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword("weathergen.dtc","comment","weathergen.dtc/comment",-1410310600)],null)]));
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.dtc","weapon-targets","weathergen.dtc/weapon-targets",2097083099),cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha","*","cljs.spec.alpha/*",-1238084288,null),new cljs.core.Symbol("weathergen.dtc","weapon-target","weathergen.dtc/weapon-target",-502371985,null)),cljs.spec.alpha.rep_impl.call(null,new cljs.core.Symbol("weathergen.dtc","weapon-target","weathergen.dtc/weapon-target",-502371985,null),weathergen.dtc.weapon_target));
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.dtc","steerpoints","weathergen.dtc/steerpoints",-1460776734),cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha","keys","cljs.spec.alpha/keys",1109346032,null),new cljs.core.Keyword(null,"req","req",-326448303),new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword("weathergen.dtc","targets","weathergen.dtc/targets",203711245),new cljs.core.Keyword("weathergen.dtc","ppts","weathergen.dtc/ppts",
1013037315),new cljs.core.Keyword("weathergen.dtc","lines","weathergen.dtc/lines",1381092652)],null)),cljs.spec.alpha.map_spec_impl.call(null,cljs.core.PersistentHashMap.fromArrays([new cljs.core.Keyword(null,"req-un","req-un",1074571008),new cljs.core.Keyword(null,"opt-un","opt-un",883442496),new cljs.core.Keyword(null,"gfn","gfn",791517474),new cljs.core.Keyword(null,"pred-exprs","pred-exprs",1792271395),new cljs.core.Keyword(null,"keys-pred","keys-pred",858984739),new cljs.core.Keyword(null,"opt-keys",
"opt-keys",1262688261),new cljs.core.Keyword(null,"req-specs","req-specs",553962313),new cljs.core.Keyword(null,"req","req",-326448303),new cljs.core.Keyword(null,"req-keys","req-keys",514319221),new cljs.core.Keyword(null,"opt-specs","opt-specs",-384905450),new cljs.core.Keyword(null,"pred-forms","pred-forms",172611832),new cljs.core.Keyword(null,"opt","opt",-794706369)],[null,null,null,new cljs.core.PersistentVector(null,4,5,cljs.core.PersistentVector.EMPTY_NODE,[function(a){return cljs.core.map_QMARK_.call(null,
a)},function(a){return cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword("weathergen.dtc","targets","weathergen.dtc/targets",203711245))},function(a){return cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword("weathergen.dtc","ppts","weathergen.dtc/ppts",1013037315))},function(a){return cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword("weathergen.dtc","lines","weathergen.dtc/lines",1381092652))}],null),function(a){return cljs.core.map_QMARK_.call(null,a)&&cljs.core.contains_QMARK_.call(null,
a,new cljs.core.Keyword("weathergen.dtc","targets","weathergen.dtc/targets",203711245))&&cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword("weathergen.dtc","ppts","weathergen.dtc/ppts",1013037315))&&cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword("weathergen.dtc","lines","weathergen.dtc/lines",1381092652))},cljs.core.PersistentVector.EMPTY,new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword("weathergen.dtc","targets","weathergen.dtc/targets",
203711245),new cljs.core.Keyword("weathergen.dtc","ppts","weathergen.dtc/ppts",1013037315),new cljs.core.Keyword("weathergen.dtc","lines","weathergen.dtc/lines",1381092652)],null),new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword("weathergen.dtc","targets","weathergen.dtc/targets",203711245),new cljs.core.Keyword("weathergen.dtc","ppts","weathergen.dtc/ppts",1013037315),new cljs.core.Keyword("weathergen.dtc","lines","weathergen.dtc/lines",1381092652)],
null),new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword("weathergen.dtc","targets","weathergen.dtc/targets",203711245),new cljs.core.Keyword("weathergen.dtc","ppts","weathergen.dtc/ppts",1013037315),new cljs.core.Keyword("weathergen.dtc","lines","weathergen.dtc/lines",1381092652)],null),cljs.core.PersistentVector.EMPTY,new cljs.core.PersistentVector(null,4,5,cljs.core.PersistentVector.EMPTY_NODE,[cljs.core.list(new cljs.core.Symbol("cljs.core","fn",
"cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"%","%",-950237169,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core","map?","cljs.core/map?",-1390345523,null),new cljs.core.Symbol(null,"%","%",-950237169,null))),cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,
"%","%",-950237169,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core","contains?","cljs.core/contains?",-976526835,null),new cljs.core.Symbol(null,"%","%",-950237169,null),new cljs.core.Keyword("weathergen.dtc","targets","weathergen.dtc/targets",203711245))),cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"%","%",-950237169,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core",
"contains?","cljs.core/contains?",-976526835,null),new cljs.core.Symbol(null,"%","%",-950237169,null),new cljs.core.Keyword("weathergen.dtc","ppts","weathergen.dtc/ppts",1013037315))),cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"%","%",-950237169,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core","contains?","cljs.core/contains?",-976526835,null),
new cljs.core.Symbol(null,"%","%",-950237169,null),new cljs.core.Keyword("weathergen.dtc","lines","weathergen.dtc/lines",1381092652)))],null),null])));
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.dtc","category","weathergen.dtc/category",1219007249),new cljs.core.PersistentHashSet(null,new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword("weathergen.dtc","targets","weathergen.dtc/targets",203711245),"null"],null),null),new cljs.core.PersistentHashSet(null,new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword("weathergen.dtc","targets","weathergen.dtc/targets",203711245),null],null),null));
weathergen.dtc.dtc=cljs.spec.alpha.map_spec_impl.call(null,cljs.core.PersistentHashMap.fromArrays([new cljs.core.Keyword(null,"req-un","req-un",1074571008),new cljs.core.Keyword(null,"opt-un","opt-un",883442496),new cljs.core.Keyword(null,"gfn","gfn",791517474),new cljs.core.Keyword(null,"pred-exprs","pred-exprs",1792271395),new cljs.core.Keyword(null,"keys-pred","keys-pred",858984739),new cljs.core.Keyword(null,"opt-keys","opt-keys",1262688261),new cljs.core.Keyword(null,"req-specs","req-specs",
553962313),new cljs.core.Keyword(null,"req","req",-326448303),new cljs.core.Keyword(null,"req-keys","req-keys",514319221),new cljs.core.Keyword(null,"opt-specs","opt-specs",-384905450),new cljs.core.Keyword(null,"pred-forms","pred-forms",172611832),new cljs.core.Keyword(null,"opt","opt",-794706369)],[null,null,null,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[function(a){return cljs.core.map_QMARK_.call(null,a)},function(a){return cljs.core.contains_QMARK_.call(null,
a,new cljs.core.Keyword("weathergen.dtc","steerpoints","weathergen.dtc/steerpoints",-1460776734))}],null),function(a){return cljs.core.map_QMARK_.call(null,a)&&cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword("weathergen.dtc","steerpoints","weathergen.dtc/steerpoints",-1460776734))},cljs.core.PersistentVector.EMPTY,new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword("weathergen.dtc","steerpoints","weathergen.dtc/steerpoints",-1460776734)],
null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword("weathergen.dtc","steerpoints","weathergen.dtc/steerpoints",-1460776734)],null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword("weathergen.dtc","steerpoints","weathergen.dtc/steerpoints",-1460776734)],null),cljs.core.PersistentVector.EMPTY,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[cljs.core.list(new cljs.core.Symbol("cljs.core",
"fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"%","%",-950237169,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core","map?","cljs.core/map?",-1390345523,null),new cljs.core.Symbol(null,"%","%",-950237169,null))),cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,
"%","%",-950237169,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core","contains?","cljs.core/contains?",-976526835,null),new cljs.core.Symbol(null,"%","%",-950237169,null),new cljs.core.Keyword("weathergen.dtc","steerpoints","weathergen.dtc/steerpoints",-1460776734)))],null),null]));
cljs.spec.alpha.def_impl.call(null,new cljs.core.Symbol("weathergen.dtc","parse-stpt-line","weathergen.dtc/parse-stpt-line",580436060,null),cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha","fspec","cljs.spec.alpha/fspec",-1289128341,null),new cljs.core.Keyword(null,"args","args",1315556576),cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha","cat","cljs.spec.alpha/cat",-1471398329,null),new cljs.core.Keyword(null,"line","line",212345235),new cljs.core.Symbol("cljs.core","string?","cljs.core/string?",
-2072921719,null)),new cljs.core.Keyword(null,"ret","ret",-468222814),cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha","keys","cljs.spec.alpha/keys",1109346032,null),new cljs.core.Keyword(null,"req","req",-326448303),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword("weathergen.dtc","category","weathergen.dtc/category",1219007249)],null))),cljs.spec.alpha.fspec_impl.call(null,cljs.spec.alpha.spec_impl.call(null,cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha",
"cat","cljs.spec.alpha/cat",-1471398329,null),new cljs.core.Keyword(null,"line","line",212345235),new cljs.core.Symbol("cljs.core","string?","cljs.core/string?",-2072921719,null)),cljs.spec.alpha.cat_impl.call(null,new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"line","line",212345235)],null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[cljs.core.string_QMARK_],null),new cljs.core.PersistentVector(null,1,
5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol("cljs.core","string?","cljs.core/string?",-2072921719,null)],null)),null,null),cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha","cat","cljs.spec.alpha/cat",-1471398329,null),new cljs.core.Keyword(null,"line","line",212345235),new cljs.core.Symbol("cljs.core","string?","cljs.core/string?",-2072921719,null)),cljs.spec.alpha.spec_impl.call(null,cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha","keys","cljs.spec.alpha/keys",1109346032,
null),new cljs.core.Keyword(null,"req","req",-326448303),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword("weathergen.dtc","category","weathergen.dtc/category",1219007249)],null)),cljs.spec.alpha.map_spec_impl.call(null,cljs.core.PersistentHashMap.fromArrays([new cljs.core.Keyword(null,"req-un","req-un",1074571008),new cljs.core.Keyword(null,"opt-un","opt-un",883442496),new cljs.core.Keyword(null,"gfn","gfn",791517474),new cljs.core.Keyword(null,
"pred-exprs","pred-exprs",1792271395),new cljs.core.Keyword(null,"keys-pred","keys-pred",858984739),new cljs.core.Keyword(null,"opt-keys","opt-keys",1262688261),new cljs.core.Keyword(null,"req-specs","req-specs",553962313),new cljs.core.Keyword(null,"req","req",-326448303),new cljs.core.Keyword(null,"req-keys","req-keys",514319221),new cljs.core.Keyword(null,"opt-specs","opt-specs",-384905450),new cljs.core.Keyword(null,"pred-forms","pred-forms",172611832),new cljs.core.Keyword(null,"opt","opt",-794706369)],
[null,null,null,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[function(a){return cljs.core.map_QMARK_.call(null,a)},function(a){return cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword("weathergen.dtc","category","weathergen.dtc/category",1219007249))}],null),function(a){return cljs.core.map_QMARK_.call(null,a)&&cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword("weathergen.dtc","category","weathergen.dtc/category",1219007249))},cljs.core.PersistentVector.EMPTY,
new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword("weathergen.dtc","category","weathergen.dtc/category",1219007249)],null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword("weathergen.dtc","category","weathergen.dtc/category",1219007249)],null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword("weathergen.dtc","category","weathergen.dtc/category",
1219007249)],null),cljs.core.PersistentVector.EMPTY,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"%","%",-950237169,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core","map?","cljs.core/map?",-1390345523,null),new cljs.core.Symbol(null,"%","%",-950237169,null))),cljs.core.list(new cljs.core.Symbol("cljs.core",
"fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"%","%",-950237169,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core","contains?","cljs.core/contains?",-976526835,null),new cljs.core.Symbol(null,"%","%",-950237169,null),new cljs.core.Keyword("weathergen.dtc","category","weathergen.dtc/category",1219007249)))],null),null])),null,null),cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha","keys",
"cljs.spec.alpha/keys",1109346032,null),new cljs.core.Keyword(null,"req","req",-326448303),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword("weathergen.dtc","category","weathergen.dtc/category",1219007249)],null)),null,null,null));
weathergen.dtc.parse_stpt_line=function(a){var b=clojure.string.split.call(null,a,/=/);a=cljs.core.nth.call(null,b,0,null);b=cljs.core.nth.call(null,b,1,null);a=clojure.string.split.call(null,a,/_/);var c=cljs.core.nth.call(null,a,0,null);a=cljs.core.nth.call(null,a,1,null);switch(c){case "target":var d=cljs.core.map.call(null,clojure.string.trim,clojure.string.split.call(null,b,/,/));b=cljs.core.nth.call(null,d,0,null);c=cljs.core.nth.call(null,d,1,null);var e=cljs.core.nth.call(null,d,2,null),f=
cljs.core.nth.call(null,d,3,null);d=cljs.core.nth.call(null,d,4,null);f=null==f?null:weathergen.dtc.number.call(null,f);f=null==f?null:cljs.core.long$.call(null,f);return new cljs.core.PersistentArrayMap(null,5,[new cljs.core.Keyword("weathergen.dtc","category","weathergen.dtc/category",1219007249),new cljs.core.Keyword("weathergen.dtc","targets","weathergen.dtc/targets",203711245),new cljs.core.Keyword("weathergen.dtc","coordinates","weathergen.dtc/coordinates",-1965136125),new cljs.core.PersistentArrayMap(null,
3,[new cljs.core.Keyword("weathergen.dtc","x","weathergen.dtc/x",-384550566),weathergen.dtc.number.call(null,b),new cljs.core.Keyword("weathergen.dtc","y","weathergen.dtc/y",-474567375),weathergen.dtc.number.call(null,c),new cljs.core.Keyword("weathergen.dtc","z","weathergen.dtc/z",1291536818),weathergen.dtc.number.call(null,e)],null),new cljs.core.Keyword("weathergen.dtc","ordinal","weathergen.dtc/ordinal",1230503945),weathergen.dtc.integer.call(null,a),new cljs.core.Keyword("weathergen.dtc","action",
"weathergen.dtc/action",1537999145),weathergen.dtc.stpt_action.call(null,f,f),new cljs.core.Keyword("weathergen.dtc","comment","weathergen.dtc/comment",-1410310600),d],null);case "lineSTPT":return e=cljs.core.map.call(null,clojure.string.trim,clojure.string.split.call(null,b,/,/)),b=cljs.core.nth.call(null,e,0,null),c=cljs.core.nth.call(null,e,1,null),e=cljs.core.nth.call(null,e,2,null),new cljs.core.PersistentArrayMap(null,3,[new cljs.core.Keyword("weathergen.dtc","category","weathergen.dtc/category",
1219007249),new cljs.core.Keyword("weathergen.dtc","lines","weathergen.dtc/lines",1381092652),new cljs.core.Keyword("weathergen.dtc","coordinates","weathergen.dtc/coordinates",-1965136125),new cljs.core.PersistentArrayMap(null,3,[new cljs.core.Keyword("weathergen.dtc","x","weathergen.dtc/x",-384550566),weathergen.dtc.number.call(null,b),new cljs.core.Keyword("weathergen.dtc","y","weathergen.dtc/y",-474567375),weathergen.dtc.number.call(null,c),new cljs.core.Keyword("weathergen.dtc","z","weathergen.dtc/z",
1291536818),weathergen.dtc.number.call(null,e)],null),new cljs.core.Keyword("weathergen.dtc","ordinal","weathergen.dtc/ordinal",1230503945),weathergen.dtc.integer.call(null,a)],null);case "ppt":return f=cljs.core.map.call(null,clojure.string.trim,clojure.string.split.call(null,b,/,/)),b=cljs.core.nth.call(null,f,0,null),c=cljs.core.nth.call(null,f,1,null),e=cljs.core.nth.call(null,f,2,null),d=cljs.core.nth.call(null,f,3,null),f=cljs.core.nth.call(null,f,4,null),new cljs.core.PersistentArrayMap(null,
5,[new cljs.core.Keyword("weathergen.dtc","category","weathergen.dtc/category",1219007249),new cljs.core.Keyword("weathergen.dtc","ppts","weathergen.dtc/ppts",1013037315),new cljs.core.Keyword("weathergen.dtc","coordinates","weathergen.dtc/coordinates",-1965136125),new cljs.core.PersistentArrayMap(null,3,[new cljs.core.Keyword("weathergen.dtc","x","weathergen.dtc/x",-384550566),weathergen.dtc.number.call(null,b),new cljs.core.Keyword("weathergen.dtc","y","weathergen.dtc/y",-474567375),weathergen.dtc.number.call(null,
c),new cljs.core.Keyword("weathergen.dtc","z","weathergen.dtc/z",1291536818),weathergen.dtc.number.call(null,e)],null),new cljs.core.Keyword("weathergen.dtc","ordinal","weathergen.dtc/ordinal",1230503945),weathergen.dtc.integer.call(null,a),new cljs.core.Keyword("weathergen.dtc","radius","weathergen.dtc/radius",811087459),weathergen.dtc.number.call(null,d),new cljs.core.Keyword("weathergen.dtc","threat","weathergen.dtc/threat",149534586),f],null);default:return null}};
cljs.spec.alpha.def_impl.call(null,new cljs.core.Symbol("weathergen.dtc","parse","weathergen.dtc/parse",-1466316675,null),cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha","fspec","cljs.spec.alpha/fspec",-1289128341,null),new cljs.core.Keyword(null,"args","args",1315556576),cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha","cat","cljs.spec.alpha/cat",-1471398329,null),new cljs.core.Keyword(null,"contents","contents",-1567174023),new cljs.core.Symbol("cljs.core","string?","cljs.core/string?",
-2072921719,null)),new cljs.core.Keyword(null,"ret","ret",-468222814),new cljs.core.Symbol("weathergen.dtc","dtc","weathergen.dtc/dtc",-1088799717,null)),cljs.spec.alpha.fspec_impl.call(null,cljs.spec.alpha.spec_impl.call(null,cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha","cat","cljs.spec.alpha/cat",-1471398329,null),new cljs.core.Keyword(null,"contents","contents",-1567174023),new cljs.core.Symbol("cljs.core","string?","cljs.core/string?",-2072921719,null)),cljs.spec.alpha.cat_impl.call(null,
new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"contents","contents",-1567174023)],null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[cljs.core.string_QMARK_],null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol("cljs.core","string?","cljs.core/string?",-2072921719,null)],null)),null,null),cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha","cat","cljs.spec.alpha/cat",
-1471398329,null),new cljs.core.Keyword(null,"contents","contents",-1567174023),new cljs.core.Symbol("cljs.core","string?","cljs.core/string?",-2072921719,null)),cljs.spec.alpha.spec_impl.call(null,new cljs.core.Symbol("weathergen.dtc","dtc","weathergen.dtc/dtc",-1088799717,null),weathergen.dtc.dtc,null,null),new cljs.core.Symbol("weathergen.dtc","dtc","weathergen.dtc/dtc",-1088799717,null),null,null,null));
weathergen.dtc.parse=function(a){return new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword("weathergen.dtc","steerpoints","weathergen.dtc/steerpoints",-1460776734),cljs.core.group_by.call(null,new cljs.core.Keyword("weathergen.dtc","category","weathergen.dtc/category",1219007249),cljs.core.remove.call(null,cljs.core.nil_QMARK_,cljs.core.map.call(null,weathergen.dtc.parse_stpt_line,cljs.core.take_while.call(null,function(a){return!clojure.string.starts_with_QMARK_.call(null,a,"[")},cljs.core.drop.call(null,
1,cljs.core.drop_while.call(null,function(a){return cljs.core.not_EQ_.call(null,a,"[STPT]")},cljs.core.remove.call(null,cljs.core.empty_QMARK_,cljs.core.map.call(null,clojure.string.trim,clojure.string.split_lines.call(null,a)))))))))],null)};
cljs.spec.alpha.def_impl.call(null,new cljs.core.Symbol("weathergen.dtc","zero-coords?","weathergen.dtc/zero-coords?",-1402825671,null),cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha","fspec","cljs.spec.alpha/fspec",-1289128341,null),new cljs.core.Keyword(null,"args","args",1315556576),cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha","cat","cljs.spec.alpha/cat",-1471398329,null),new cljs.core.Keyword(null,"steerpoint","steerpoint",-402509784),cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha",
"keys","cljs.spec.alpha/keys",1109346032,null),new cljs.core.Keyword(null,"req","req",-326448303),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword("weathergen.dtc","coordinates","weathergen.dtc/coordinates",-1965136125)],null))),new cljs.core.Keyword(null,"ret","ret",-468222814),new cljs.core.Symbol("cljs.core","boolean?","cljs.core/boolean?",1400713761,null)),cljs.spec.alpha.fspec_impl.call(null,cljs.spec.alpha.spec_impl.call(null,cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha",
"cat","cljs.spec.alpha/cat",-1471398329,null),new cljs.core.Keyword(null,"steerpoint","steerpoint",-402509784),cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha","keys","cljs.spec.alpha/keys",1109346032,null),new cljs.core.Keyword(null,"req","req",-326448303),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword("weathergen.dtc","coordinates","weathergen.dtc/coordinates",-1965136125)],null))),cljs.spec.alpha.cat_impl.call(null,new cljs.core.PersistentVector(null,
1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"steerpoint","steerpoint",-402509784)],null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[cljs.spec.alpha.map_spec_impl.call(null,cljs.core.PersistentHashMap.fromArrays([new cljs.core.Keyword(null,"req-un","req-un",1074571008),new cljs.core.Keyword(null,"opt-un","opt-un",883442496),new cljs.core.Keyword(null,"gfn","gfn",791517474),new cljs.core.Keyword(null,"pred-exprs","pred-exprs",1792271395),
new cljs.core.Keyword(null,"keys-pred","keys-pred",858984739),new cljs.core.Keyword(null,"opt-keys","opt-keys",1262688261),new cljs.core.Keyword(null,"req-specs","req-specs",553962313),new cljs.core.Keyword(null,"req","req",-326448303),new cljs.core.Keyword(null,"req-keys","req-keys",514319221),new cljs.core.Keyword(null,"opt-specs","opt-specs",-384905450),new cljs.core.Keyword(null,"pred-forms","pred-forms",172611832),new cljs.core.Keyword(null,"opt","opt",-794706369)],[null,null,null,new cljs.core.PersistentVector(null,
2,5,cljs.core.PersistentVector.EMPTY_NODE,[function(a){return cljs.core.map_QMARK_.call(null,a)},function(a){return cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword("weathergen.dtc","coordinates","weathergen.dtc/coordinates",-1965136125))}],null),function(a){return cljs.core.map_QMARK_.call(null,a)&&cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword("weathergen.dtc","coordinates","weathergen.dtc/coordinates",-1965136125))},cljs.core.PersistentVector.EMPTY,new cljs.core.PersistentVector(null,
1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword("weathergen.dtc","coordinates","weathergen.dtc/coordinates",-1965136125)],null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword("weathergen.dtc","coordinates","weathergen.dtc/coordinates",-1965136125)],null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword("weathergen.dtc","coordinates","weathergen.dtc/coordinates",-1965136125)],
null),cljs.core.PersistentVector.EMPTY,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"%","%",-950237169,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core","map?","cljs.core/map?",-1390345523,null),new cljs.core.Symbol(null,"%","%",-950237169,null))),cljs.core.list(new cljs.core.Symbol("cljs.core",
"fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"%","%",-950237169,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core","contains?","cljs.core/contains?",-976526835,null),new cljs.core.Symbol(null,"%","%",-950237169,null),new cljs.core.Keyword("weathergen.dtc","coordinates","weathergen.dtc/coordinates",-1965136125)))],null),null]))],null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,
[cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha","keys","cljs.spec.alpha/keys",1109346032,null),new cljs.core.Keyword(null,"req","req",-326448303),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword("weathergen.dtc","coordinates","weathergen.dtc/coordinates",-1965136125)],null))],null)),null,null),cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha","cat","cljs.spec.alpha/cat",-1471398329,null),new cljs.core.Keyword(null,"steerpoint","steerpoint",
-402509784),cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha","keys","cljs.spec.alpha/keys",1109346032,null),new cljs.core.Keyword(null,"req","req",-326448303),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword("weathergen.dtc","coordinates","weathergen.dtc/coordinates",-1965136125)],null))),cljs.spec.alpha.spec_impl.call(null,new cljs.core.Symbol("cljs.core","boolean?","cljs.core/boolean?",1400713761,null),cljs.core.boolean_QMARK_,null,null),
new cljs.core.Symbol("cljs.core","boolean?","cljs.core/boolean?",1400713761,null),null,null,null));
weathergen.dtc.zero_coords_QMARK_=function(a){a=null!=a&&(a.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===a.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,a):a;a=cljs.core.get.call(null,a,new cljs.core.Keyword("weathergen.dtc","coordinates","weathergen.dtc/coordinates",-1965136125));var b=null!=a&&(a.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===a.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,a):a;a=cljs.core.get.call(null,
b,new cljs.core.Keyword("weathergen.dtc","x","weathergen.dtc/x",-384550566));var c=cljs.core.get.call(null,b,new cljs.core.Keyword("weathergen.dtc","y","weathergen.dtc/y",-474567375));b=cljs.core.get.call(null,b,new cljs.core.Keyword("weathergen.dtc","z","weathergen.dtc/z",1291536818));return 0===a&&0===c&&0===b};
cljs.spec.alpha.def_impl.call(null,new cljs.core.Symbol("weathergen.dtc","flight-path","weathergen.dtc/flight-path",2033127162,null),cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha","fspec","cljs.spec.alpha/fspec",-1289128341,null),new cljs.core.Keyword(null,"args","args",1315556576),cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha","cat","cljs.spec.alpha/cat",-1471398329,null),new cljs.core.Keyword(null,"dtc","dtc",-782550637),new cljs.core.Symbol("weathergen.dtc","dtc","weathergen.dtc/dtc",
-1088799717,null)),new cljs.core.Keyword(null,"ret","ret",-468222814),cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha","*","cljs.spec.alpha/*",-1238084288,null),new cljs.core.Symbol("weathergen.dtc","target","weathergen.dtc/target",-315914873,null))),cljs.spec.alpha.fspec_impl.call(null,cljs.spec.alpha.spec_impl.call(null,cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha","cat","cljs.spec.alpha/cat",-1471398329,null),new cljs.core.Keyword(null,"dtc","dtc",-782550637),new cljs.core.Symbol("weathergen.dtc",
"dtc","weathergen.dtc/dtc",-1088799717,null)),cljs.spec.alpha.cat_impl.call(null,new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"dtc","dtc",-782550637)],null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[weathergen.dtc.dtc],null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol("weathergen.dtc","dtc","weathergen.dtc/dtc",-1088799717,null)],null)),null,null),
cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha","cat","cljs.spec.alpha/cat",-1471398329,null),new cljs.core.Keyword(null,"dtc","dtc",-782550637),new cljs.core.Symbol("weathergen.dtc","dtc","weathergen.dtc/dtc",-1088799717,null)),cljs.spec.alpha.spec_impl.call(null,cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha","*","cljs.spec.alpha/*",-1238084288,null),new cljs.core.Symbol("weathergen.dtc","target","weathergen.dtc/target",-315914873,null)),cljs.spec.alpha.rep_impl.call(null,new cljs.core.Symbol("weathergen.dtc",
"target","weathergen.dtc/target",-315914873,null),weathergen.dtc.target),null,null),cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha","*","cljs.spec.alpha/*",-1238084288,null),new cljs.core.Symbol("weathergen.dtc","target","weathergen.dtc/target",-315914873,null)),null,null,null));
weathergen.dtc.flight_path=function(a){var b=function(a){return cljs.core._EQ_.call(null,new cljs.core.Keyword(null,"land","land",-1402569867),(new cljs.core.Keyword("weathergen.dtc","action","weathergen.dtc/action",1537999145)).cljs$core$IFn$_invoke$arity$1(a))};a=(new cljs.core.Keyword("weathergen.dtc","targets","weathergen.dtc/targets",203711245)).cljs$core$IFn$_invoke$arity$1((new cljs.core.Keyword("weathergen.dtc","steerpoints","weathergen.dtc/steerpoints",-1460776734)).cljs$core$IFn$_invoke$arity$1(a));
a=cljs.core.take_while.call(null,function(a,b){return function(a){return cljs.core.not_EQ_.call(null,(new cljs.core.Keyword("weathergen.dtc","action","weathergen.dtc/action",1537999145)).cljs$core$IFn$_invoke$arity$1(a),new cljs.core.Keyword(null,"none","none",1333468478))}}(b,a),a);var c=cljs.core.seq.call(null,a);cljs.core.first.call(null,c);cljs.core.next.call(null,c);var d=a;a=cljs.core.PersistentVector.EMPTY;for(c=!1;;){var e=cljs.core.seq.call(null,d);d=cljs.core.first.call(null,e);e=cljs.core.next.call(null,
e);if(cljs.core.not.call(null,d))return a;var f=b.call(null,d);a=cljs.core.conj.call(null,a,c&&f?cljs.core.assoc.call(null,d,new cljs.core.Keyword("weathergen.dtc","alternate?","weathergen.dtc/alternate?",-1722390529),!0):d);c=c||f;d=e}};
cljs.spec.alpha.def_impl.call(null,new cljs.core.Symbol("weathergen.dtc","lines","weathergen.dtc/lines",-1273343117,null),cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha","fspec","cljs.spec.alpha/fspec",-1289128341,null),new cljs.core.Keyword(null,"args","args",1315556576),cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha","cat","cljs.spec.alpha/cat",-1471398329,null),new cljs.core.Keyword(null,"dtc","dtc",-782550637),new cljs.core.Symbol("weathergen.dtc","dtc","weathergen.dtc/dtc",-1088799717,
null)),new cljs.core.Keyword(null,"ret","ret",-468222814),cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha","coll-of","cljs.spec.alpha/coll-of",1019430407,null),cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha","coll-of","cljs.spec.alpha/coll-of",1019430407,null),new cljs.core.Symbol("weathergen.dtc","line","weathergen.dtc/line",-496557539,null),new cljs.core.Keyword(null,"min-count","min-count",1594709013),1,new cljs.core.Keyword(null,"max-count","max-count",1539185305),5),new cljs.core.Keyword(null,
"min-count","min-count",1594709013),0,new cljs.core.Keyword(null,"max-count","max-count",1539185305),4)),cljs.spec.alpha.fspec_impl.call(null,cljs.spec.alpha.spec_impl.call(null,cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha","cat","cljs.spec.alpha/cat",-1471398329,null),new cljs.core.Keyword(null,"dtc","dtc",-782550637),new cljs.core.Symbol("weathergen.dtc","dtc","weathergen.dtc/dtc",-1088799717,null)),cljs.spec.alpha.cat_impl.call(null,new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,
[new cljs.core.Keyword(null,"dtc","dtc",-782550637)],null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[weathergen.dtc.dtc],null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol("weathergen.dtc","dtc","weathergen.dtc/dtc",-1088799717,null)],null)),null,null),cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha","cat","cljs.spec.alpha/cat",-1471398329,null),new cljs.core.Keyword(null,"dtc","dtc",-782550637),new cljs.core.Symbol("weathergen.dtc",
"dtc","weathergen.dtc/dtc",-1088799717,null)),cljs.spec.alpha.spec_impl.call(null,cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha","coll-of","cljs.spec.alpha/coll-of",1019430407,null),cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha","coll-of","cljs.spec.alpha/coll-of",1019430407,null),new cljs.core.Symbol("weathergen.dtc","line","weathergen.dtc/line",-496557539,null),new cljs.core.Keyword(null,"min-count","min-count",1594709013),1,new cljs.core.Keyword(null,"max-count","max-count",1539185305),
5),new cljs.core.Keyword(null,"min-count","min-count",1594709013),0,new cljs.core.Keyword(null,"max-count","max-count",1539185305),4),cljs.spec.alpha.every_impl.call(null,cljs.core.list(new cljs.core.Symbol("s","coll-of","s/coll-of",-1705285349,null),new cljs.core.Symbol(null,"line","line",1852876762,null),new cljs.core.Keyword(null,"min-count","min-count",1594709013),1,new cljs.core.Keyword(null,"max-count","max-count",1539185305),5),cljs.spec.alpha.every_impl.call(null,new cljs.core.Symbol(null,
"line","line",1852876762,null),weathergen.dtc.line,new cljs.core.PersistentArrayMap(null,6,[new cljs.core.Keyword("cljs.spec.alpha","kind-form","cljs.spec.alpha/kind-form",-1047104697),null,new cljs.core.Keyword("cljs.spec.alpha","cpred","cljs.spec.alpha/cpred",-693471218),function(a){return cljs.core.coll_QMARK_.call(null,a)&&(cljs.core.truth_(1)?1:0)<=cljs.core.bounded_count.call(null,6,a)&&cljs.core.bounded_count.call(null,6,a)<=(cljs.core.truth_(5)?5:9007199254740991)},new cljs.core.Keyword(null,
"min-count","min-count",1594709013),1,new cljs.core.Keyword(null,"max-count","max-count",1539185305),5,new cljs.core.Keyword("cljs.spec.alpha","conform-all","cljs.spec.alpha/conform-all",45201917),!0,new cljs.core.Keyword("cljs.spec.alpha","describe","cljs.spec.alpha/describe",1883026911),cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha","coll-of","cljs.spec.alpha/coll-of",1019430407,null),new cljs.core.Symbol("weathergen.dtc","line","weathergen.dtc/line",-496557539,null),new cljs.core.Keyword(null,
"min-count","min-count",1594709013),1,new cljs.core.Keyword(null,"max-count","max-count",1539185305),5)],null),null),new cljs.core.PersistentArrayMap(null,6,[new cljs.core.Keyword("cljs.spec.alpha","kind-form","cljs.spec.alpha/kind-form",-1047104697),null,new cljs.core.Keyword("cljs.spec.alpha","cpred","cljs.spec.alpha/cpred",-693471218),function(a){var b;if(b=cljs.core.coll_QMARK_.call(null,a))cljs.core.truth_(0),b=0<=cljs.core.bounded_count.call(null,5,a)&&cljs.core.bounded_count.call(null,5,a)<=
(cljs.core.truth_(4)?4:9007199254740991);return b},new cljs.core.Keyword(null,"min-count","min-count",1594709013),0,new cljs.core.Keyword(null,"max-count","max-count",1539185305),4,new cljs.core.Keyword("cljs.spec.alpha","conform-all","cljs.spec.alpha/conform-all",45201917),!0,new cljs.core.Keyword("cljs.spec.alpha","describe","cljs.spec.alpha/describe",1883026911),cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha","coll-of","cljs.spec.alpha/coll-of",1019430407,null),cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha",
"coll-of","cljs.spec.alpha/coll-of",1019430407,null),new cljs.core.Symbol("weathergen.dtc","line","weathergen.dtc/line",-496557539,null),new cljs.core.Keyword(null,"min-count","min-count",1594709013),1,new cljs.core.Keyword(null,"max-count","max-count",1539185305),5),new cljs.core.Keyword(null,"min-count","min-count",1594709013),0,new cljs.core.Keyword(null,"max-count","max-count",1539185305),4)],null),null),null,null),cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha","coll-of","cljs.spec.alpha/coll-of",
1019430407,null),cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha","coll-of","cljs.spec.alpha/coll-of",1019430407,null),new cljs.core.Symbol("weathergen.dtc","line","weathergen.dtc/line",-496557539,null),new cljs.core.Keyword(null,"min-count","min-count",1594709013),1,new cljs.core.Keyword(null,"max-count","max-count",1539185305),5),new cljs.core.Keyword(null,"min-count","min-count",1594709013),0,new cljs.core.Keyword(null,"max-count","max-count",1539185305),4),null,null,null));
weathergen.dtc.lines=function(a){return cljs.core.map.call(null,cljs.core.second,cljs.core.sort_by.call(null,cljs.core.first,cljs.core.group_by.call(null,function(a){return cljs.core.long$.call(null,(new cljs.core.Keyword("weathergen.dtc","ordinal","weathergen.dtc/ordinal",1230503945)).cljs$core$IFn$_invoke$arity$1(a)/5)+1},cljs.core.remove.call(null,weathergen.dtc.zero_coords_QMARK_,(new cljs.core.Keyword("weathergen.dtc","lines","weathergen.dtc/lines",1381092652)).cljs$core$IFn$_invoke$arity$1((new cljs.core.Keyword("weathergen.dtc",
"steerpoints","weathergen.dtc/steerpoints",-1460776734)).cljs$core$IFn$_invoke$arity$1(a))))))};
cljs.spec.alpha.def_impl.call(null,new cljs.core.Symbol("weathergen.dtc","ppts","weathergen.dtc/ppts",-1641398454,null),cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha","fspec","cljs.spec.alpha/fspec",-1289128341,null),new cljs.core.Keyword(null,"args","args",1315556576),cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha","cat","cljs.spec.alpha/cat",-1471398329,null),new cljs.core.Keyword(null,"dtc","dtc",-782550637),new cljs.core.Symbol("weathergen.dtc","dtc","weathergen.dtc/dtc",-1088799717,
null)),new cljs.core.Keyword(null,"ret","ret",-468222814),cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha","*","cljs.spec.alpha/*",-1238084288,null),new cljs.core.Symbol("weathergen.dtc","ppt","weathergen.dtc/ppt",266871180,null))),cljs.spec.alpha.fspec_impl.call(null,cljs.spec.alpha.spec_impl.call(null,cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha","cat","cljs.spec.alpha/cat",-1471398329,null),new cljs.core.Keyword(null,"dtc","dtc",-782550637),new cljs.core.Symbol("weathergen.dtc","dtc",
"weathergen.dtc/dtc",-1088799717,null)),cljs.spec.alpha.cat_impl.call(null,new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"dtc","dtc",-782550637)],null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[weathergen.dtc.dtc],null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol("weathergen.dtc","dtc","weathergen.dtc/dtc",-1088799717,null)],null)),null,null),cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha",
"cat","cljs.spec.alpha/cat",-1471398329,null),new cljs.core.Keyword(null,"dtc","dtc",-782550637),new cljs.core.Symbol("weathergen.dtc","dtc","weathergen.dtc/dtc",-1088799717,null)),cljs.spec.alpha.spec_impl.call(null,cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha","*","cljs.spec.alpha/*",-1238084288,null),new cljs.core.Symbol("weathergen.dtc","ppt","weathergen.dtc/ppt",266871180,null)),cljs.spec.alpha.rep_impl.call(null,new cljs.core.Symbol("weathergen.dtc","ppt","weathergen.dtc/ppt",266871180,
null),weathergen.dtc.ppt),null,null),cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha","*","cljs.spec.alpha/*",-1238084288,null),new cljs.core.Symbol("weathergen.dtc","ppt","weathergen.dtc/ppt",266871180,null)),null,null,null));
weathergen.dtc.ppts=function(a){return cljs.core.remove.call(null,weathergen.dtc.zero_coords_QMARK_,(new cljs.core.Keyword("weathergen.dtc","ppts","weathergen.dtc/ppts",1013037315)).cljs$core$IFn$_invoke$arity$1((new cljs.core.Keyword("weathergen.dtc","steerpoints","weathergen.dtc/steerpoints",-1460776734)).cljs$core$IFn$_invoke$arity$1(a)))};weathergen.ui.revision=8;
weathergen.ui.agents=function(){var a=new cljs.core.PersistentArrayMap(null,6,[new cljs.core.Keyword(null,"chrome","chrome",1718738387),"Chrome",new cljs.core.Keyword(null,"msie","msie",719469183),"MSIE",new cljs.core.Keyword(null,"trident","trident",1372708537),"Trident",new cljs.core.Keyword(null,"firefox","firefox",1283768880),"Firefox",new cljs.core.Keyword(null,"safari","safari",497115653),"Safari",new cljs.core.Keyword(null,"opera","opera",658572996),"op"],null);return cljs.core.zipmap.call(null,cljs.core.keys.call(null,
a),cljs.core.map.call(null,function(a){return!(0>navigator.userAgent.indexOf(a))},cljs.core.vals.call(null,a)))}();weathergen.ui.safari_QMARK_=function(){var a=(new cljs.core.Keyword(null,"safari","safari",497115653)).cljs$core$IFn$_invoke$arity$1(weathergen.ui.agents);return cljs.core.truth_(a)?cljs.core.not.call(null,(new cljs.core.Keyword(null,"chrome","chrome",1718738387)).cljs$core$IFn$_invoke$arity$1(weathergen.ui.agents)):a}();
weathergen.ui.ie_QMARK_=function(){var a=(new cljs.core.Keyword(null,"msie","msie",719469183)).cljs$core$IFn$_invoke$arity$1(weathergen.ui.agents);return cljs.core.truth_(a)?a:(new cljs.core.Keyword(null,"trident","trident",1372708537)).cljs$core$IFn$_invoke$arity$1(weathergen.ui.agents)}();weathergen.ui.electron=require("electron");
document.addEventListener("click",function(a){return cljs.core.truth_(function(){var b=cljs.core._EQ_.call(null,a.target.tagName,"A");return b?a.target.href.startsWith("http"):b}())?(taoensso.timbre._log_BANG_.call(null,taoensso.timbre._STAR_config_STAR_,new cljs.core.Keyword(null,"debug","debug",-1608172596),"weathergen.ui",null,147,new cljs.core.Keyword(null,"p","p",151049309),new cljs.core.Keyword(null,"auto","auto",-566279492),new cljs.core.Delay(function(){return new cljs.core.PersistentVector(null,
2,5,cljs.core.PersistentVector.EMPTY_NODE,["Clicked a link",a.target.href],null)},null),null,-118022976),a.preventDefault(),weathergen.ui.electron.shell.openExternal(a.target.href)):null});weathergen.ui.ipcRenderer=weathergen.ui.electron.ipcRenderer;var window_40640=jQuery(window);weathergen.ui.window_size=javelin.core.cell.call(null,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[window_40640.width(),window_40640.height()],null));
window_40640.resize(function(a){return function(){return cljs.core.reset_BANG_.call(null,weathergen.ui.window_size,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[a.width(),a.height()],null))}}(window_40640));
weathergen.ui.towering_thresholds=new cljs.core.PersistentArrayMap(null,3,[new cljs.core.Keyword(null,"fair","fair",1684139423),new cljs.core.PersistentArrayMap(null,7,[new cljs.core.Keyword(null,"none","none",1333468478),0,new cljs.core.Keyword(null,"rare","rare",2097092605),.3,new cljs.core.Keyword(null,"some","some",-1951079573),.4,new cljs.core.Keyword(null,"common","common",-1822281391),.5,new cljs.core.Keyword(null,"frequent","frequent",-611072590),.6,new cljs.core.Keyword(null,"prevalent",
"prevalent",1008099287),.7,new cljs.core.Keyword(null,"always","always",-1772028770),1],null),new cljs.core.Keyword(null,"poor","poor",1462482211),new cljs.core.PersistentArrayMap(null,7,[new cljs.core.Keyword(null,"none","none",1333468478),0,new cljs.core.Keyword(null,"rare","rare",2097092605),.2,new cljs.core.Keyword(null,"some","some",-1951079573),.25,new cljs.core.Keyword(null,"common","common",-1822281391),.4,new cljs.core.Keyword(null,"frequent","frequent",-611072590),.45,new cljs.core.Keyword(null,
"prevalent","prevalent",1008099287),.5,new cljs.core.Keyword(null,"always","always",-1772028770),1],null),new cljs.core.Keyword(null,"inclement","inclement",-550669382),new cljs.core.PersistentArrayMap(null,7,[new cljs.core.Keyword(null,"none","none",1333468478),0,new cljs.core.Keyword(null,"rare","rare",2097092605),.07,new cljs.core.Keyword(null,"some","some",-1951079573),.1,new cljs.core.Keyword(null,"common","common",-1822281391),.2,new cljs.core.Keyword(null,"frequent","frequent",-611072590),
.35,new cljs.core.Keyword(null,"prevalent","prevalent",1008099287),.45,new cljs.core.Keyword(null,"always","always",-1772028770),1],null)],null);
weathergen.ui.towering_threshold_names=new cljs.core.PersistentVector(null,7,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"none","none",1333468478),"None"],null),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"rare","rare",2097092605),"Rare"],null),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,
"some","some",-1951079573),"Some"],null),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"common","common",-1822281391),"Common"],null),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"frequent","frequent",-611072590),"Frequent"],null),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"prevalent","prevalent",1008099287),"Prevalent"],
null),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"always","always",-1772028770),"Always"],null)],null);
weathergen.ui.default_weather_params=cljs.core.PersistentHashMap.fromArrays([new cljs.core.Keyword(null,"temp-uniformity","temp-uniformity",836756864),new cljs.core.Keyword(null,"pressure","pressure",505343747),new cljs.core.Keyword(null,"time","time",1385887882),new cljs.core.Keyword(null,"evolution","evolution",944820557),new cljs.core.Keyword(null,"seed","seed",68613327),new cljs.core.Keyword(null,"winds-aloft","winds-aloft",83956399),new cljs.core.Keyword(null,"feature-size","feature-size",-878734864),
new cljs.core.Keyword(null,"cell-count","cell-count",-441457582),new cljs.core.Keyword(null,"weather-overrides","weather-overrides",-837381710),new cljs.core.Keyword(null,"categories","categories",178386610),new cljs.core.Keyword(null,"turbulence","turbulence",-915506410),new cljs.core.Keyword(null,"origin","origin",1037372088),new cljs.core.Keyword(null,"wind-uniformity","wind-uniformity",827531801),new cljs.core.Keyword(null,"crossfade","crossfade",-118506406),new cljs.core.Keyword(null,"prevailing-wind",
"prevailing-wind",-190580386)],[.7,new cljs.core.PersistentArrayMap(null,4,[new cljs.core.Keyword(null,"min","min",444991522),28,new cljs.core.Keyword(null,"max","max",61366548),31,new cljs.core.Keyword(null,"variance","variance",1132010827),1.2,new cljs.core.Keyword(null,"speed","speed",1257663751),100],null),new cljs.core.PersistentArrayMap(null,3,[new cljs.core.Keyword(null,"offset","offset",296498311),1234,new cljs.core.Keyword(null,"current","current",-1088038603),new cljs.core.PersistentArrayMap(null,
3,[new cljs.core.Keyword(null,"day","day",-274800446),1,new cljs.core.Keyword(null,"hour","hour",-555989214),5,new cljs.core.Keyword(null,"minute","minute",-642875969),0],null),new cljs.core.Keyword(null,"max","max",61366548),null],null),3600,1234,cljs.core.PersistentHashMap.fromArrays([12E3,18E3,3E3,9E3,4E4,3E4,24E3,5E4,6E3],[new cljs.core.PersistentArrayMap(null,2,[new cljs.core.Keyword(null,"speed","speed",1257663751),new cljs.core.PersistentArrayMap(null,2,[new cljs.core.Keyword(null,"from","from",
1815293044),8,new cljs.core.Keyword(null,"to","to",192099007),12],null),new cljs.core.Keyword(null,"bias","bias",-315297926),.4],null),new cljs.core.PersistentArrayMap(null,2,[new cljs.core.Keyword(null,"speed","speed",1257663751),new cljs.core.PersistentArrayMap(null,2,[new cljs.core.Keyword(null,"from","from",1815293044),11,new cljs.core.Keyword(null,"to","to",192099007),13],null),new cljs.core.Keyword(null,"bias","bias",-315297926),.5],null),new cljs.core.PersistentArrayMap(null,2,[new cljs.core.Keyword(null,
"speed","speed",1257663751),new cljs.core.PersistentArrayMap(null,2,[new cljs.core.Keyword(null,"from","from",1815293044),2,new cljs.core.Keyword(null,"to","to",192099007),3],null),new cljs.core.Keyword(null,"bias","bias",-315297926),.1],null),new cljs.core.PersistentArrayMap(null,2,[new cljs.core.Keyword(null,"speed","speed",1257663751),new cljs.core.PersistentArrayMap(null,2,[new cljs.core.Keyword(null,"from","from",1815293044),7,new cljs.core.Keyword(null,"to","to",192099007),9],null),new cljs.core.Keyword(null,
"bias","bias",-315297926),.3],null),new cljs.core.PersistentArrayMap(null,2,[new cljs.core.Keyword(null,"speed","speed",1257663751),new cljs.core.PersistentArrayMap(null,2,[new cljs.core.Keyword(null,"from","from",1815293044),18,new cljs.core.Keyword(null,"to","to",192099007),22],null),new cljs.core.Keyword(null,"bias","bias",-315297926),.8],null),new cljs.core.PersistentArrayMap(null,2,[new cljs.core.Keyword(null,"speed","speed",1257663751),new cljs.core.PersistentArrayMap(null,2,[new cljs.core.Keyword(null,
"from","from",1815293044),16,new cljs.core.Keyword(null,"to","to",192099007),18],null),new cljs.core.Keyword(null,"bias","bias",-315297926),.7],null),new cljs.core.PersistentArrayMap(null,2,[new cljs.core.Keyword(null,"speed","speed",1257663751),new cljs.core.PersistentArrayMap(null,2,[new cljs.core.Keyword(null,"from","from",1815293044),13,new cljs.core.Keyword(null,"to","to",192099007),17],null),new cljs.core.Keyword(null,"bias","bias",-315297926),.6],null),new cljs.core.PersistentArrayMap(null,
2,[new cljs.core.Keyword(null,"speed","speed",1257663751),new cljs.core.PersistentArrayMap(null,2,[new cljs.core.Keyword(null,"from","from",1815293044),20,new cljs.core.Keyword(null,"to","to",192099007),25],null),new cljs.core.Keyword(null,"bias","bias",-315297926),.9],null),new cljs.core.PersistentArrayMap(null,2,[new cljs.core.Keyword(null,"speed","speed",1257663751),new cljs.core.PersistentArrayMap(null,2,[new cljs.core.Keyword(null,"from","from",1815293044),4,new cljs.core.Keyword(null,"to","to",
192099007),6],null),new cljs.core.Keyword(null,"bias","bias",-315297926),.2],null)]),10,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[59,59],null),cljs.core.PersistentVector.EMPTY,new cljs.core.PersistentArrayMap(null,4,[new cljs.core.Keyword(null,"sunny","sunny",1448267778),new cljs.core.PersistentArrayMap(null,4,[new cljs.core.Keyword(null,"weight","weight",-1262796205),50,new cljs.core.Keyword(null,"wind","wind",-527553074),new cljs.core.PersistentArrayMap(null,
3,[new cljs.core.Keyword(null,"min","min",444991522),5,new cljs.core.Keyword(null,"mean","mean",-1359234715),10,new cljs.core.Keyword(null,"max","max",61366548),30],null),new cljs.core.Keyword(null,"temp","temp",1791541284),new cljs.core.PersistentArrayMap(null,3,[new cljs.core.Keyword(null,"min","min",444991522),20,new cljs.core.Keyword(null,"mean","mean",-1359234715),22,new cljs.core.Keyword(null,"max","max",61366548),24],null),new cljs.core.Keyword(null,"visibility","visibility",1338380893),new cljs.core.PersistentArrayMap(null,
2,[new cljs.core.Keyword(null,"from","from",1815293044),24,new cljs.core.Keyword(null,"to","to",192099007),48],null)],null),new cljs.core.Keyword(null,"fair","fair",1684139423),new cljs.core.PersistentArrayMap(null,5,[new cljs.core.Keyword(null,"weight","weight",-1262796205),50,new cljs.core.Keyword(null,"wind","wind",-527553074),new cljs.core.PersistentArrayMap(null,3,[new cljs.core.Keyword(null,"min","min",444991522),0,new cljs.core.Keyword(null,"mean","mean",-1359234715),7,new cljs.core.Keyword(null,
"max","max",61366548),20],null),new cljs.core.Keyword(null,"temp","temp",1791541284),new cljs.core.PersistentArrayMap(null,3,[new cljs.core.Keyword(null,"min","min",444991522),18,new cljs.core.Keyword(null,"mean","mean",-1359234715),21,new cljs.core.Keyword(null,"max","max",61366548),23],null),new cljs.core.Keyword(null,"visibility","visibility",1338380893),new cljs.core.PersistentArrayMap(null,2,[new cljs.core.Keyword(null,"from","from",1815293044),16,new cljs.core.Keyword(null,"to","to",192099007),
48],null),new cljs.core.Keyword(null,"low-clouds","low-clouds",-702988471),new cljs.core.PersistentArrayMap(null,4,[new cljs.core.Keyword(null,"base","base",185279322),new cljs.core.PersistentArrayMap(null,2,[new cljs.core.Keyword(null,"from","from",1815293044),3E3,new cljs.core.Keyword(null,"to","to",192099007),1E4],null),new cljs.core.Keyword(null,"size","size",1098693007),new cljs.core.PersistentArrayMap(null,2,[new cljs.core.Keyword(null,"from","from",1815293044),0,new cljs.core.Keyword(null,
"to","to",192099007),5],null),new cljs.core.Keyword(null,"coverage","coverage",1606292651),new cljs.core.PersistentArrayMap(null,2,[new cljs.core.Keyword(null,"from","from",1815293044),new cljs.core.Keyword(null,"few","few",941665998),new cljs.core.Keyword(null,"to","to",192099007),new cljs.core.Keyword(null,"broken","broken",-1742446874)],null),new cljs.core.Keyword(null,"towering","towering",-44547353),.4],null)],null),new cljs.core.Keyword(null,"poor","poor",1462482211),new cljs.core.PersistentArrayMap(null,
5,[new cljs.core.Keyword(null,"weight","weight",-1262796205),50,new cljs.core.Keyword(null,"wind","wind",-527553074),new cljs.core.PersistentArrayMap(null,3,[new cljs.core.Keyword(null,"min","min",444991522),10,new cljs.core.Keyword(null,"mean","mean",-1359234715),15,new cljs.core.Keyword(null,"max","max",61366548),30],null),new cljs.core.Keyword(null,"temp","temp",1791541284),new cljs.core.PersistentArrayMap(null,3,[new cljs.core.Keyword(null,"min","min",444991522),15,new cljs.core.Keyword(null,
"mean","mean",-1359234715),18,new cljs.core.Keyword(null,"max","max",61366548),21],null),new cljs.core.Keyword(null,"visibility","visibility",1338380893),new cljs.core.PersistentArrayMap(null,2,[new cljs.core.Keyword(null,"from","from",1815293044),8,new cljs.core.Keyword(null,"to","to",192099007),16],null),new cljs.core.Keyword(null,"low-clouds","low-clouds",-702988471),new cljs.core.PersistentArrayMap(null,4,[new cljs.core.Keyword(null,"base","base",185279322),new cljs.core.PersistentArrayMap(null,
2,[new cljs.core.Keyword(null,"from","from",1815293044),0,new cljs.core.Keyword(null,"to","to",192099007),1E4],null),new cljs.core.Keyword(null,"size","size",1098693007),new cljs.core.PersistentArrayMap(null,2,[new cljs.core.Keyword(null,"from","from",1815293044),0,new cljs.core.Keyword(null,"to","to",192099007),5],null),new cljs.core.Keyword(null,"coverage","coverage",1606292651),new cljs.core.PersistentArrayMap(null,2,[new cljs.core.Keyword(null,"from","from",1815293044),new cljs.core.Keyword(null,
"scattered","scattered",-1263632526),new cljs.core.Keyword(null,"to","to",192099007),new cljs.core.Keyword(null,"overcast","overcast",-2096313755)],null),new cljs.core.Keyword(null,"towering","towering",-44547353),.4],null)],null),new cljs.core.Keyword(null,"inclement","inclement",-550669382),new cljs.core.PersistentArrayMap(null,5,[new cljs.core.Keyword(null,"weight","weight",-1262796205),50,new cljs.core.Keyword(null,"wind","wind",-527553074),new cljs.core.PersistentArrayMap(null,3,[new cljs.core.Keyword(null,
"min","min",444991522),15,new cljs.core.Keyword(null,"mean","mean",-1359234715),25,new cljs.core.Keyword(null,"max","max",61366548),60],null),new cljs.core.Keyword(null,"temp","temp",1791541284),new cljs.core.PersistentArrayMap(null,3,[new cljs.core.Keyword(null,"min","min",444991522),12,new cljs.core.Keyword(null,"mean","mean",-1359234715),14,new cljs.core.Keyword(null,"max","max",61366548),16],null),new cljs.core.Keyword(null,"visibility","visibility",1338380893),new cljs.core.PersistentArrayMap(null,
2,[new cljs.core.Keyword(null,"from","from",1815293044),3,new cljs.core.Keyword(null,"to","to",192099007),11],null),new cljs.core.Keyword(null,"low-clouds","low-clouds",-702988471),new cljs.core.PersistentArrayMap(null,4,[new cljs.core.Keyword(null,"base","base",185279322),new cljs.core.PersistentArrayMap(null,2,[new cljs.core.Keyword(null,"from","from",1815293044),0,new cljs.core.Keyword(null,"to","to",192099007),1E4],null),new cljs.core.Keyword(null,"size","size",1098693007),new cljs.core.PersistentArrayMap(null,
2,[new cljs.core.Keyword(null,"from","from",1815293044),0,new cljs.core.Keyword(null,"to","to",192099007),5],null),new cljs.core.Keyword(null,"coverage","coverage",1606292651),new cljs.core.PersistentArrayMap(null,2,[new cljs.core.Keyword(null,"from","from",1815293044),new cljs.core.Keyword(null,"scattered","scattered",-1263632526),new cljs.core.Keyword(null,"to","to",192099007),new cljs.core.Keyword(null,"overcast","overcast",-2096313755)],null),new cljs.core.Keyword(null,"towering","towering",-44547353),
.35],null)],null)],null),new cljs.core.PersistentArrayMap(null,2,[new cljs.core.Keyword(null,"size","size",1098693007),1,new cljs.core.Keyword(null,"power","power",-937852079),250],null),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[1E3,1E3],null),.7,.1,new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"heading","heading",-1312171873),325],null)]);weathergen.ui.weather_params=javelin.core.cell.call(null,null);
weathergen.ui.random_int=function(a){switch(arguments.length){case 2:return weathergen.ui.random_int.cljs$core$IFn$_invoke$arity$2(arguments[0],arguments[1]);case 3:return weathergen.ui.random_int.cljs$core$IFn$_invoke$arity$3(arguments[0],arguments[1],arguments[2]);default:throw Error(["Invalid arity: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(""));}};weathergen.ui.random_int.cljs$core$IFn$_invoke$arity$2=function(a,b){return weathergen.ui.random_int.call(null,a,b,1)};
weathergen.ui.random_int.cljs$core$IFn$_invoke$arity$3=function(a,b,c){b=cljs.core.long$.call(null,(b-a)/c)+1;return cljs.core.long$.call(null,cljs.core.rand.call(null)*b)*c+a};weathergen.ui.random_int.cljs$lang$maxFixedArity=3;
weathergen.ui.random_atmosphere_params=function(){var a=cljs.core.sort.call(null,cljs.core.map.call(null,function(a){return a/10},cljs.core.repeatedly.call(null,4,function(){return weathergen.ui.random_int.call(null,0,600)}))),b=cljs.core.nth.call(null,a,0,null),c=cljs.core.nth.call(null,a,1,null),d=cljs.core.nth.call(null,a,2,null),e=cljs.core.nth.call(null,a,3,null),f=cljs.core.sort.call(null,cljs.core.map.call(null,function(a,b,c,d,e){return function(a){return a/10}}(a,b,c,d,e),cljs.core.repeatedly.call(null,
4,function(a,b,c,d,e){return function(){return weathergen.ui.random_int.call(null,1,150)}}(a,b,c,d,e)))),g=cljs.core.nth.call(null,f,0,null),h=cljs.core.nth.call(null,f,1,null),k=cljs.core.nth.call(null,f,2,null),l=cljs.core.nth.call(null,f,3,null),m=cljs.core.sort.call(null,cljs.core.repeatedly.call(null,6,function(a,b,c,d,e,f,g,h,k,l){return function(){return weathergen.ui.random_int.call(null,0,1E4,100)}}(a,b,c,d,e,f,g,h,k,l))),n=cljs.core.nth.call(null,m,0,null),p=cljs.core.nth.call(null,m,1,
null),q=cljs.core.nth.call(null,m,2,null),r=cljs.core.nth.call(null,m,3,null),u=cljs.core.nth.call(null,m,4,null),t=cljs.core.nth.call(null,m,5,null),v=cljs.core.sort.call(null,cljs.core.repeatedly.call(null,2,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t){return function(){return 5*cljs.core.rand.call(null)}}(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t))),w=cljs.core.nth.call(null,v,0,null),x=cljs.core.nth.call(null,v,1,null),y=cljs.core.sort.call(null,cljs.core.repeatedly.call(null,2,function(a,b,c,d,e,f,g,
h,k,l,m,n,p,q,r,u,t,v,w,x){return function(){return 5*cljs.core.rand.call(null)}}(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w,x))),z=cljs.core.nth.call(null,y,0,null),B=cljs.core.nth.call(null,y,1,null),C=cljs.core.sort.call(null,cljs.core.repeatedly.call(null,2,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w,x,y,z,A){return function(){return 5*cljs.core.rand.call(null)}}(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w,x,y,z,B))),A=cljs.core.nth.call(null,C,0,null),D=cljs.core.nth.call(null,C,1,null),F=new cljs.core.PersistentArrayMap(null,
4,[1,new cljs.core.Keyword(null,"few","few",941665998),2,new cljs.core.Keyword(null,"scattered","scattered",-1263632526),3,new cljs.core.Keyword(null,"broken","broken",-1742446874),4,new cljs.core.Keyword(null,"overcast","overcast",-2096313755)],null),E=cljs.core.map.call(null,F,cljs.core.sort.call(null,cljs.core.repeatedly.call(null,2,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w,x,y,z,A,B,C,D,E){return function(){return weathergen.ui.random_int.call(null,3,4)}}(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,
t,v,w,x,y,z,B,C,A,D,F)))),G=cljs.core.nth.call(null,E,0,null),J=cljs.core.nth.call(null,E,1,null),M=cljs.core.map.call(null,F,cljs.core.sort.call(null,cljs.core.repeatedly.call(null,2,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w,x,y,z,A,B,C,D,E,F,G,J){return function(){return weathergen.ui.random_int.call(null,3,4)}}(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w,x,y,z,B,C,A,D,F,E,G,J)))),L=cljs.core.nth.call(null,M,0,null),K=cljs.core.nth.call(null,M,1,null);f=cljs.core.map.call(null,F,cljs.core.sort.call(null,
cljs.core.repeatedly.call(null,2,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w,x,y,z,A,B,C,D,E,F,G,J,K,L,M){return function(){return weathergen.ui.random_int.call(null,1,3)}}(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w,x,y,z,B,C,A,D,F,E,G,J,M,L,K))));a=cljs.core.nth.call(null,f,0,null);f=cljs.core.nth.call(null,f,1,null);return new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"categories","categories",178386610),new cljs.core.PersistentArrayMap(null,4,[new cljs.core.Keyword(null,"sunny",
"sunny",1448267778),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"visibility","visibility",1338380893),new cljs.core.PersistentArrayMap(null,2,[new cljs.core.Keyword(null,"from","from",1815293044),e,new cljs.core.Keyword(null,"to","to",192099007),weathergen.math.clamp.call(null,0,30,e+g)],null)],null),new cljs.core.Keyword(null,"fair","fair",1684139423),new cljs.core.PersistentArrayMap(null,2,[new cljs.core.Keyword(null,"visibility","visibility",1338380893),new cljs.core.PersistentArrayMap(null,
2,[new cljs.core.Keyword(null,"from","from",1815293044),d,new cljs.core.Keyword(null,"to","to",192099007),weathergen.math.clamp.call(null,0,30,d+h)],null),new cljs.core.Keyword(null,"low-clouds","low-clouds",-702988471),new cljs.core.PersistentArrayMap(null,4,[new cljs.core.Keyword(null,"base","base",185279322),new cljs.core.PersistentArrayMap(null,2,[new cljs.core.Keyword(null,"from","from",1815293044),q,new cljs.core.Keyword(null,"to","to",192099007),t],null),new cljs.core.Keyword(null,"size","size",
1098693007),new cljs.core.PersistentArrayMap(null,2,[new cljs.core.Keyword(null,"from","from",1815293044),A,new cljs.core.Keyword(null,"to","to",192099007),D],null),new cljs.core.Keyword(null,"coverage","coverage",1606292651),new cljs.core.PersistentArrayMap(null,2,[new cljs.core.Keyword(null,"from","from",1815293044),a,new cljs.core.Keyword(null,"to","to",192099007),f],null),new cljs.core.Keyword(null,"towering","towering",-44547353),cljs.core.rand_nth.call(null,cljs.core.remove.call(null,new cljs.core.PersistentHashSet(null,
new cljs.core.PersistentArrayMap(null,3,[new cljs.core.Keyword(null,"frequent","frequent",-611072590),null,new cljs.core.Keyword(null,"prevalent","prevalent",1008099287),null,new cljs.core.Keyword(null,"always","always",-1772028770),null],null),null),cljs.core.vals.call(null,(new cljs.core.Keyword(null,"fair","fair",1684139423)).cljs$core$IFn$_invoke$arity$1(weathergen.ui.towering_thresholds))))],null)],null),new cljs.core.Keyword(null,"poor","poor",1462482211),new cljs.core.PersistentArrayMap(null,
2,[new cljs.core.Keyword(null,"visibility","visibility",1338380893),new cljs.core.PersistentArrayMap(null,2,[new cljs.core.Keyword(null,"from","from",1815293044),c,new cljs.core.Keyword(null,"to","to",192099007),weathergen.math.clamp.call(null,0,30,c+k)],null),new cljs.core.Keyword(null,"low-clouds","low-clouds",-702988471),new cljs.core.PersistentArrayMap(null,4,[new cljs.core.Keyword(null,"base","base",185279322),new cljs.core.PersistentArrayMap(null,2,[new cljs.core.Keyword(null,"from","from",
1815293044),p,new cljs.core.Keyword(null,"to","to",192099007),u],null),new cljs.core.Keyword(null,"size","size",1098693007),new cljs.core.PersistentArrayMap(null,2,[new cljs.core.Keyword(null,"from","from",1815293044),z,new cljs.core.Keyword(null,"to","to",192099007),B],null),new cljs.core.Keyword(null,"coverage","coverage",1606292651),new cljs.core.PersistentArrayMap(null,2,[new cljs.core.Keyword(null,"from","from",1815293044),L,new cljs.core.Keyword(null,"to","to",192099007),K],null),new cljs.core.Keyword(null,
"towering","towering",-44547353),cljs.core.rand_nth.call(null,cljs.core.remove.call(null,new cljs.core.PersistentHashSet(null,new cljs.core.PersistentArrayMap(null,2,[new cljs.core.Keyword(null,"prevalent","prevalent",1008099287),null,new cljs.core.Keyword(null,"always","always",-1772028770),null],null),null),cljs.core.vals.call(null,(new cljs.core.Keyword(null,"poor","poor",1462482211)).cljs$core$IFn$_invoke$arity$1(weathergen.ui.towering_thresholds))))],null)],null),new cljs.core.Keyword(null,"inclement",
"inclement",-550669382),new cljs.core.PersistentArrayMap(null,2,[new cljs.core.Keyword(null,"visibility","visibility",1338380893),new cljs.core.PersistentArrayMap(null,2,[new cljs.core.Keyword(null,"from","from",1815293044),b,new cljs.core.Keyword(null,"to","to",192099007),weathergen.math.clamp.call(null,0,30,b+l)],null),new cljs.core.Keyword(null,"low-clouds","low-clouds",-702988471),new cljs.core.PersistentArrayMap(null,4,[new cljs.core.Keyword(null,"base","base",185279322),new cljs.core.PersistentArrayMap(null,
2,[new cljs.core.Keyword(null,"from","from",1815293044),n,new cljs.core.Keyword(null,"to","to",192099007),r],null),new cljs.core.Keyword(null,"size","size",1098693007),new cljs.core.PersistentArrayMap(null,2,[new cljs.core.Keyword(null,"from","from",1815293044),w,new cljs.core.Keyword(null,"to","to",192099007),x],null),new cljs.core.Keyword(null,"coverage","coverage",1606292651),new cljs.core.PersistentArrayMap(null,2,[new cljs.core.Keyword(null,"from","from",1815293044),G,new cljs.core.Keyword(null,
"to","to",192099007),J],null),new cljs.core.Keyword(null,"towering","towering",-44547353),cljs.core.rand_nth.call(null,cljs.core.remove.call(null,new cljs.core.PersistentHashSet(null,new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"always","always",-1772028770),null],null),null),cljs.core.vals.call(null,(new cljs.core.Keyword(null,"inclement","inclement",-550669382)).cljs$core$IFn$_invoke$arity$1(weathergen.ui.towering_thresholds))))],null)],null)],null)],null)};
weathergen.ui.random_wind_params=function(){var a=cljs.core.sort.call(null,cljs.core.repeatedly.call(null,4,function(){return weathergen.ui.random_int.call(null,0,25)})),b=cljs.core.nth.call(null,a,0,null),c=cljs.core.nth.call(null,a,1,null),d=cljs.core.nth.call(null,a,2,null),e=cljs.core.nth.call(null,a,3,null);return new cljs.core.PersistentArrayMap(null,2,[new cljs.core.Keyword(null,"categories","categories",178386610),new cljs.core.PersistentArrayMap(null,4,[new cljs.core.Keyword(null,"sunny",
"sunny",1448267778),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"wind","wind",-527553074),new cljs.core.PersistentArrayMap(null,3,[new cljs.core.Keyword(null,"min","min",444991522),0,new cljs.core.Keyword(null,"mean","mean",-1359234715),b,new cljs.core.Keyword(null,"max","max",61366548),weathergen.ui.random_int.call(null,b,30)],null)],null),new cljs.core.Keyword(null,"fair","fair",1684139423),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"wind","wind",
-527553074),new cljs.core.PersistentArrayMap(null,3,[new cljs.core.Keyword(null,"min","min",444991522),0,new cljs.core.Keyword(null,"mean","mean",-1359234715),c,new cljs.core.Keyword(null,"max","max",61366548),weathergen.ui.random_int.call(null,c,30)],null)],null),new cljs.core.Keyword(null,"poor","poor",1462482211),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"wind","wind",-527553074),new cljs.core.PersistentArrayMap(null,3,[new cljs.core.Keyword(null,"min","min",444991522),
weathergen.ui.random_int.call(null,0,d),new cljs.core.Keyword(null,"mean","mean",-1359234715),d,new cljs.core.Keyword(null,"max","max",61366548),weathergen.ui.random_int.call(null,d,50)],null)],null),new cljs.core.Keyword(null,"inclement","inclement",-550669382),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"wind","wind",-527553074),new cljs.core.PersistentArrayMap(null,3,[new cljs.core.Keyword(null,"min","min",444991522),weathergen.ui.random_int.call(null,0,e),new cljs.core.Keyword(null,
"mean","mean",-1359234715),e,new cljs.core.Keyword(null,"max","max",61366548),weathergen.ui.random_int.call(null,e,55)],null)],null)],null),new cljs.core.Keyword(null,"winds-aloft","winds-aloft",83956399),function(){var f=new cljs.core.PersistentVector(null,9,5,cljs.core.PersistentVector.EMPTY_NODE,[3E3,6E3,9E3,12E3,18E3,24E3,3E4,4E4,5E4],null),g=cljs.core.repeatedly.call(null,cljs.core.count.call(null,f),function(a,b,c,d,e,f){return function(){return new cljs.core.PersistentArrayMap(null,3,[new cljs.core.Keyword(null,
"speed-from","speed-from",-1525408351),weathergen.ui.random_int.call(null,-5,10),new cljs.core.Keyword(null,"speed-to","speed-to",-313116144),weathergen.ui.random_int.call(null,1,5),new cljs.core.Keyword(null,"bias","bias",-315297926),(cljs.core.rand.call(null)-.1)/4],null)}}(f,a,b,c,d,e)),h=cljs.core.zipmap.call(null,f,cljs.core.reductions.call(null,function(a,b,c,d,e,f,g){return function(a,b){return new cljs.core.PersistentArrayMap(null,3,[new cljs.core.Keyword(null,"speed-from","speed-from",-1525408351),
(new cljs.core.Keyword(null,"speed-from","speed-from",-1525408351)).cljs$core$IFn$_invoke$arity$1(a)+(new cljs.core.Keyword(null,"speed-from","speed-from",-1525408351)).cljs$core$IFn$_invoke$arity$1(b),new cljs.core.Keyword(null,"speed-to","speed-to",-313116144),(new cljs.core.Keyword(null,"speed-from","speed-from",-1525408351)).cljs$core$IFn$_invoke$arity$1(a)+(new cljs.core.Keyword(null,"speed-from","speed-from",-1525408351)).cljs$core$IFn$_invoke$arity$1(b)+(new cljs.core.Keyword(null,"speed-to",
"speed-to",-313116144)).cljs$core$IFn$_invoke$arity$1(b),new cljs.core.Keyword(null,"bias","bias",-315297926),weathergen.math.clamp.call(null,0,1,(new cljs.core.Keyword(null,"bias","bias",-315297926)).cljs$core$IFn$_invoke$arity$1(a)+(new cljs.core.Keyword(null,"bias","bias",-315297926)).cljs$core$IFn$_invoke$arity$1(b))],null)}}(f,g,a,b,c,d,e),g));return cljs.core.reduce_kv.call(null,function(a,b,c,d,e,f,g,h){return function(a,b,c){return cljs.core.assoc.call(null,a,b,function(){var a=null!=c&&(c.cljs$lang$protocol_mask$partition0$&
64||cljs.core.PROTOCOL_SENTINEL===c.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,c):c,b=cljs.core.get.call(null,a,new cljs.core.Keyword(null,"speed-from","speed-from",-1525408351)),d=cljs.core.get.call(null,a,new cljs.core.Keyword(null,"speed-to","speed-to",-313116144));a=cljs.core.get.call(null,a,new cljs.core.Keyword(null,"bias","bias",-315297926));return new cljs.core.PersistentArrayMap(null,2,[new cljs.core.Keyword(null,"speed","speed",1257663751),new cljs.core.PersistentArrayMap(null,
2,[new cljs.core.Keyword(null,"from","from",1815293044),b,new cljs.core.Keyword(null,"to","to",192099007),d],null),new cljs.core.Keyword(null,"bias","bias",-315297926),weathergen.math.clamp.call(null,0,1,a)],null)}())}}(f,g,h,a,b,c,d,e),cljs.core.PersistentArrayMap.EMPTY,h)}()],null)};
weathergen.ui.random_temp_params=function(){var a=weathergen.ui.random_int.call(null,-10,40),b=cljs.core.map.call(null,function(a){return function(){return a}}(a),cljs.core.sort.call(null,cljs.core.repeatedly.call(null,3,function(a){return function(){return weathergen.ui.random_int.call(null,1,10)}}(a)))),c=cljs.core.nth.call(null,b,0,null),d=cljs.core.nth.call(null,b,1,null);b=cljs.core.nth.call(null,b,2,null);return new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"categories",
"categories",178386610),new cljs.core.PersistentArrayMap(null,4,[new cljs.core.Keyword(null,"sunny","sunny",1448267778),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"temp","temp",1791541284),new cljs.core.PersistentArrayMap(null,3,[new cljs.core.Keyword(null,"min","min",444991522),b-weathergen.ui.random_int.call(null,1,5),new cljs.core.Keyword(null,"mean","mean",-1359234715),b,new cljs.core.Keyword(null,"max","max",61366548),b+weathergen.ui.random_int.call(null,1,5)],null)],
null),new cljs.core.Keyword(null,"fair","fair",1684139423),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"temp","temp",1791541284),new cljs.core.PersistentArrayMap(null,3,[new cljs.core.Keyword(null,"min","min",444991522),d-weathergen.ui.random_int.call(null,1,5),new cljs.core.Keyword(null,"mean","mean",-1359234715),d,new cljs.core.Keyword(null,"max","max",61366548),d+weathergen.ui.random_int.call(null,1,5)],null)],null),new cljs.core.Keyword(null,"poor","poor",1462482211),new cljs.core.PersistentArrayMap(null,
1,[new cljs.core.Keyword(null,"temp","temp",1791541284),new cljs.core.PersistentArrayMap(null,3,[new cljs.core.Keyword(null,"min","min",444991522),c-weathergen.ui.random_int.call(null,1,5),new cljs.core.Keyword(null,"mean","mean",-1359234715),c,new cljs.core.Keyword(null,"max","max",61366548),c+weathergen.ui.random_int.call(null,1,5)],null)],null),new cljs.core.Keyword(null,"inclement","inclement",-550669382),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"temp","temp",1791541284),
new cljs.core.PersistentArrayMap(null,3,[new cljs.core.Keyword(null,"min","min",444991522),a-weathergen.ui.random_int.call(null,1,5),new cljs.core.Keyword(null,"mean","mean",-1359234715),a,new cljs.core.Keyword(null,"max","max",61366548),a+weathergen.ui.random_int.call(null,1,5)],null)],null)],null)],null)};
weathergen.ui.default_cloud_params=new cljs.core.PersistentArrayMap(null,3,[new cljs.core.Keyword(null,"stratus-z-fair","stratus-z-fair",2031975528),43300,new cljs.core.Keyword(null,"stratus-z-inclement","stratus-z-inclement",1983411333),33E3,new cljs.core.Keyword(null,"contrails","contrails",1430581743),new cljs.core.PersistentArrayMap(null,4,[new cljs.core.Keyword(null,"sunny","sunny",1448267778),34E3,new cljs.core.Keyword(null,"fair","fair",1684139423),28E3,new cljs.core.Keyword(null,"poor","poor",
1462482211),25E3,new cljs.core.Keyword(null,"inclement","inclement",-550669382),2E4],null)],null);
weathergen.ui.random_cloud_params=function(){var a=cljs.core.sort.call(null,cljs.core.repeatedly.call(null,2,function(){return weathergen.ui.random_int.call(null,16E3,4E4,500)})),b=cljs.core.nth.call(null,a,0,null),c=cljs.core.nth.call(null,a,1,null);return new cljs.core.PersistentArrayMap(null,3,[new cljs.core.Keyword(null,"stratus-z-fair","stratus-z-fair",2031975528),c,new cljs.core.Keyword(null,"stratus-z-inclement","stratus-z-inclement",1983411333),b,new cljs.core.Keyword(null,"contrails","contrails",
1430581743),function(){var d=cljs.core.sort.call(null,cljs.core.repeatedly.call(null,4,function(a,b,c){return function(){return weathergen.ui.random_int.call(null,2E4,4E4,1E3)}}(a,b,c))),e=cljs.core.nth.call(null,d,0,null),f=cljs.core.nth.call(null,d,1,null),g=cljs.core.nth.call(null,d,2,null);d=cljs.core.nth.call(null,d,3,null);return new cljs.core.PersistentArrayMap(null,4,[new cljs.core.Keyword(null,"sunny","sunny",1448267778),d,new cljs.core.Keyword(null,"fair","fair",1684139423),g,new cljs.core.Keyword(null,
"poor","poor",1462482211),f,new cljs.core.Keyword(null,"inclement","inclement",-550669382),e],null)}()],null)};weathergen.ui.cloud_params=javelin.core.cell.call(null,weathergen.ui.default_cloud_params);
weathergen.ui.movement_params=javelin.core.cell.call(null,new cljs.core.PersistentArrayMap(null,3,[new cljs.core.Keyword(null,"step","step",1288888124),60,new cljs.core.Keyword(null,"direction","direction",-633359395),new cljs.core.PersistentArrayMap(null,2,[new cljs.core.Keyword(null,"heading","heading",-1312171873),135,new cljs.core.Keyword(null,"speed","speed",1257663751),20],null),new cljs.core.Keyword(null,"looping?","looping?",78344245),!1],null));weathergen.ui.controls_min_width=575;
weathergen.ui.titlebar_fullsize_QMARK_=weathergen.ui.common.versioned_local_storage.call(null,new cljs.core.Keyword("weathergen.ui","titlebar-fullsize?","weathergen.ui/titlebar-fullsize?",-884441460),!0);weathergen.ui.titlebar_height=javelin.core.formula.call(null,function(a){return cljs.core.truth_(a)?64:27}).call(null,weathergen.ui.titlebar_fullsize_QMARK_);
weathergen.ui.map_size=javelin.core.formula.call(null,function(a,b){var c=cljs.core.nth.call(null,a,0,null);a=cljs.core.nth.call(null,a,1,null);c-=weathergen.ui.controls_min_width;b=a-b-57;b=c<b?c:b;b=250>b?250:b;return new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[b,b],null)}).call(null,weathergen.ui.window_size,weathergen.ui.titlebar_height);
weathergen.ui.display_params=javelin.core.cell.call(null,new cljs.core.PersistentArrayMap(null,8,[new cljs.core.Keyword(null,"opacity","opacity",397153780),.33,new cljs.core.Keyword(null,"display","display",242065432),new cljs.core.Keyword(null,"type","type",1174270348),new cljs.core.Keyword(null,"mouse-mode","mouse-mode",-1901710690),new cljs.core.Keyword(null,"select","select",1147833503),new cljs.core.Keyword(null,"overlay","overlay",-139131598),null,new cljs.core.Keyword(null,"wind-alt","wind-alt",
1733172827),0,new cljs.core.Keyword(null,"pressure-unit","pressure-unit",1615584243),new cljs.core.Keyword(null,"inhg","inhg",-863180091),new cljs.core.Keyword(null,"flight-paths","flight-paths",159519268),null,new cljs.core.Keyword(null,"multi-save","multi-save",-1814543541),new cljs.core.PersistentArrayMap(null,4,[new cljs.core.Keyword(null,"mission-name","mission-name",1479736582),null,new cljs.core.Keyword(null,"from","from",1815293044),new cljs.core.PersistentArrayMap(null,3,[new cljs.core.Keyword(null,
"day","day",-274800446),1,new cljs.core.Keyword(null,"hour","hour",-555989214),5,new cljs.core.Keyword(null,"minute","minute",-642875969),0],null),new cljs.core.Keyword(null,"to","to",192099007),new cljs.core.PersistentArrayMap(null,3,[new cljs.core.Keyword(null,"day","day",-274800446),1,new cljs.core.Keyword(null,"hour","hour",-555989214),10,new cljs.core.Keyword(null,"minute","minute",-642875969),0],null),new cljs.core.Keyword(null,"step","step",1288888124),60],null)],null));
weathergen.ui.map_display=javelin.core.cell.call(null,cljs.core.PersistentHashMap.fromArrays([new cljs.core.Keyword(null,"flight-path-size","flight-path-size",-1809746301),new cljs.core.Keyword(null,"icon-size","icon-size",414161352),new cljs.core.Keyword(null,"show-bullseye?","show-bullseye?",310289003),new cljs.core.Keyword(null,"brightness","brightness",1067055820),new cljs.core.Keyword(null,"show-airbase-status?","show-airbase-status?",-2059784435),new cljs.core.Keyword(null,"airbase-label-style",
"airbase-label-style",-1349798514),new cljs.core.Keyword(null,"show-airbase-squadrons?","show-airbase-squadrons?",1245487954),new cljs.core.Keyword(null,"text-size","text-size",-945618309),new cljs.core.Keyword(null,"show-text-background?","show-text-background?",-442833124)],[0,0,!0,.5,!0,new cljs.core.Keyword(null,"all","all",892129742),!0,0,!0]));
weathergen.ui.map_text_scale=javelin.core.formula.call(null,function(a,b){return a.call(null,4,(new cljs.core.Keyword(null,"text-size","text-size",-945618309)).cljs$core$IFn$_invoke$arity$1(b))}).call(null,Math.pow,weathergen.ui.map_display);weathergen.ui.map_icon_scale=javelin.core.formula.call(null,function(a,b){return a.call(null,4,(new cljs.core.Keyword(null,"icon-size","icon-size",414161352)).cljs$core$IFn$_invoke$arity$1(b))}).call(null,Math.pow,weathergen.ui.map_display);
weathergen.ui.map_show_text_background_QMARK_=javelin.core.formula.call(null,function(a){return(new cljs.core.Keyword(null,"show-text-background?","show-text-background?",-442833124)).cljs$core$IFn$_invoke$arity$1(a)}).call(null,weathergen.ui.map_display);weathergen.ui.selected_cell=javelin.core.cell.call(null,null);weathergen.ui.hover_cell=javelin.core.cell.call(null,null);weathergen.ui.mouse_location=javelin.core.cell.call(null,null);
weathergen.ui.mouse_raw_offset=javelin.core.cell.call(null,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[0,0],null));weathergen.ui.suppress_bullseye_info_box_QMARK_=javelin.core.cell.call(null,!1);weathergen.ui.prevent_recomputation_QMARK_=javelin.core.cell.call(null,!1);
weathergen.ui.time_params=javelin.core.cell.call(null,new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"displayed","displayed",-436192586),new cljs.core.PersistentArrayMap(null,3,[new cljs.core.Keyword(null,"day","day",-274800446),1,new cljs.core.Keyword(null,"hour","hour",-555989214),5,new cljs.core.Keyword(null,"minute","minute",-642875969),0],null)],null));weathergen.ui.weather_data=javelin.core.cell.call(null,null);
weathergen.ui.weather_data_params=javelin.core.cell.call(null,null);weathergen.ui.computing=javelin.core.cell.call(null,!0);weathergen.ui.messages=javelin.core.cell.call(null,cljs.core.PersistentVector.EMPTY);weathergen.ui.mission=javelin.core.cell.call(null,null);weathergen.ui.hide_empty_airbases_QMARK_=javelin.core.cell.call(null,!0);weathergen.ui.hide_inoperable_airbases_QMARK_=javelin.core.cell.call(null,!1);weathergen.ui.included_squadron_types=javelin.core.cell.call(null,cljs.core.PersistentHashSet.EMPTY);
weathergen.ui.checked_airbases=javelin.core.cell.call(null,cljs.core.PersistentHashSet.EMPTY);weathergen.ui.highlighted_airbase=javelin.core.cell.call(null,null);
cljs.core.add_watch.call(null,weathergen.ui.mission,new cljs.core.Keyword(null,"reset-object-data-on-mission-change","reset-object-data-on-mission-change",1100510422),function(a,b,c,d){return javelin.core.dosync_STAR_.call(null,function(){cljs.core.reset_BANG_.call(null,weathergen.ui.highlighted_airbase,null);return cljs.core.reset_BANG_.call(null,weathergen.ui.checked_airbases,cljs.core.PersistentHashSet.EMPTY)})});weathergen.ui.settings=javelin.core.cell.call(null,weathergen.settings.load_settings.call(null));
weathergen.ui.zoom_speed=javelin.core.formula.call(null,function(a){a=(new cljs.core.Keyword(null,"zoom-speed","zoom-speed",1787688902)).cljs$core$IFn$_invoke$arity$1(a);return cljs.core.truth_(a)?a:.95}).call(null,weathergen.ui.settings);weathergen.ui.map_zoom=javelin.core.cell.call(null,1);weathergen.ui.map_pan=javelin.core.cell.call(null,new cljs.core.PersistentArrayMap(null,2,[new cljs.core.Keyword(null,"x","x",2099068185),0,new cljs.core.Keyword(null,"y","y",-1757859776),0],null));
weathergen.ui.zoom_min=1;weathergen.ui.zoom_max=200;
weathergen.ui.map_viewbox=javelin.core.formula.call(null,function(a,b,c){var d=(new cljs.core.Keyword(null,"cell-count","cell-count",-441457582)).cljs$core$IFn$_invoke$arity$1(a);a=cljs.core.nth.call(null,d,0,null);d=cljs.core.nth.call(null,d,1,null);var e=null!=c&&(c.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===c.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,c):c;c=cljs.core.get.call(null,e,new cljs.core.Keyword(null,"x","x",2099068185));e=cljs.core.get.call(null,
e,new cljs.core.Keyword(null,"y","y",-1757859776));return new cljs.core.PersistentArrayMap(null,4,[new cljs.core.Keyword(null,"x","x",2099068185),c,new cljs.core.Keyword(null,"y","y",-1757859776),e,new cljs.core.Keyword(null,"width","width",-384071477),a/b,new cljs.core.Keyword(null,"height","height",1025178622),d/b],null)}).call(null,weathergen.ui.weather_params,weathergen.ui.map_zoom,weathergen.ui.map_pan);
weathergen.ui.display_mode=javelin.core.cell.call(null,new cljs.core.Keyword(null,"edit","edit",-1641834166));weathergen.ui.visible_sides=javelin.core.cell.call(null,null);
weathergen.ui.effective_visible_sides=javelin.core.formula.call(null,function(a,b,c){return cljs.core.not.call(null,a)?cljs.core.PersistentHashSet.EMPTY:cljs.core.not.call(null,b)?cljs.core.set.call(null,weathergen.falcon.files.mission.sides.call(null,a)):cljs.core._EQ_.call(null,new cljs.core.Keyword(null,"edit","edit",-1641834166),c)?cljs.core.set.call(null,weathergen.falcon.files.mission.sides.call(null,a)):b}).call(null,weathergen.ui.mission,weathergen.ui.visible_sides,weathergen.ui.display_mode);
weathergen.ui.visible_teams=javelin.core.formula.call(null,function(a,b){return cljs.core.set.call(null,cljs.core.truth_(cljs.core.truth_(a)?b:a)?cljs.core.map.call(null,weathergen.falcon.files.mission.team_number,cljs.core.filter.call(null,function(c){return b.call(null,weathergen.falcon.files.mission.side.call(null,a,c))},weathergen.falcon.files.mission.teams.call(null,a))):weathergen.falcon.files.mission.teams.call(null,a))}).call(null,weathergen.ui.mission,weathergen.ui.effective_visible_sides);
weathergen.ui.briefing_notes=javelin.core.cell.call(null,"");
weathergen.ui.parse_build_info=function(a){return cljs.core.into.call(null,cljs.core.PersistentArrayMap.EMPTY,cljs.core.map.call(null,function(a){var b=clojure.string.split.call(null,a,/=/);a=cljs.core.nth.call(null,b,0,null);b=cljs.core.nth.call(null,b,1,null);return new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[cljs.core.truth_(a)?a:"",cljs.core.truth_(b)?b:""],null)},cljs.core.remove.call(null,clojure.string.blank_QMARK_,clojure.string.split_lines.call(null,a))))};
weathergen.ui.build_info=function(){var a=weathergen.filesystem.path_combine.call(null,weathergen.ui.electron.remote.app.getAppPath(),"build.txt");return cljs.core.truth_(weathergen.filesystem.exists_QMARK_.call(null,a))?weathergen.ui.parse_build_info.call(null,weathergen.filesystem.file_text.call(null,a)):null}();weathergen.ui.tools_visible_QMARK_=javelin.core.cell.call(null,!0);
weathergen.ui.flight_paths_layer=weathergen.ui.layers.flights.create.call(null,weathergen.ui.mission,new cljs.core.PersistentArrayMap(null,4,[new cljs.core.Keyword(null,"map-zoom","map-zoom",1543291337),weathergen.ui.map_zoom,new cljs.core.Keyword(null,"map-text-scale","map-text-scale",1420206123),weathergen.ui.map_text_scale,new cljs.core.Keyword(null,"map-show-text-background?","map-show-text-background?",409410295),weathergen.ui.map_show_text_background_QMARK_,new cljs.core.Keyword(null,"visible-teams",
"visible-teams",-110455752),weathergen.ui.visible_teams],null));
weathergen.ui.annotations_layer=weathergen.ui.layers.annotations.create.call(null,weathergen.ui.mission,new cljs.core.PersistentArrayMap(null,6,[new cljs.core.Keyword(null,"map-viewbox","map-viewbox",860086717),weathergen.ui.map_viewbox,new cljs.core.Keyword(null,"map-zoom","map-zoom",1543291337),weathergen.ui.map_zoom,new cljs.core.Keyword(null,"map-text-scale","map-text-scale",1420206123),weathergen.ui.map_text_scale,new cljs.core.Keyword(null,"map-icon-scale","map-icon-scale",-1307959664),weathergen.ui.map_icon_scale,
new cljs.core.Keyword(null,"suppress-bullseye-info-box?","suppress-bullseye-info-box?",-1654633798),weathergen.ui.suppress_bullseye_info_box_QMARK_,new cljs.core.Keyword(null,"build-info","build-info",-622713066),weathergen.ui.build_info],null));
weathergen.ui.acmi_layer=weathergen.ui.layers.acmi.create.call(null,weathergen.ui.mission,new cljs.core.PersistentArrayMap(null,4,[new cljs.core.Keyword(null,"map-zoom","map-zoom",1543291337),weathergen.ui.map_zoom,new cljs.core.Keyword(null,"map-text-scale","map-text-scale",1420206123),weathergen.ui.map_text_scale,new cljs.core.Keyword(null,"map-icon-scale","map-icon-scale",-1307959664),weathergen.ui.map_icon_scale,new cljs.core.Keyword(null,"suppress-bullseye-info-box?","suppress-bullseye-info-box?",
-1654633798),weathergen.ui.suppress_bullseye_info_box_QMARK_],null));weathergen.ui.selected_cell_weather=javelin.core.formula.call(null,function(a,b,c){return a.call(null,c,(new cljs.core.Keyword(null,"coordinates","coordinates",-1225332668)).cljs$core$IFn$_invoke$arity$1(b))}).call(null,cljs.core.get,weathergen.ui.selected_cell,weathergen.ui.weather_data);
weathergen.ui.cell_count=javelin.core.formula.call(null,function(a){return(new cljs.core.Keyword(null,"cell-count","cell-count",-441457582)).cljs$core$IFn$_invoke$arity$1(a)}).call(null,weathergen.ui.weather_params);weathergen.ui.weather_overrides=javelin.core.formula.call(null,function(a){return(new cljs.core.Keyword(null,"weather-overrides","weather-overrides",-837381710)).cljs$core$IFn$_invoke$arity$1(a)}).call(null,weathergen.ui.weather_params);
weathergen.ui.forecast=javelin.core.formula.call(null,function(a,b,c){console.time("computing forecast");a=cljs.core.truth_(a)?weathergen.model.forecast.call(null,(new cljs.core.Keyword(null,"coordinates","coordinates",-1225332668)).cljs$core$IFn$_invoke$arity$1(a),function(){var a=(new cljs.core.Keyword(null,"max","max",61366548)).cljs$core$IFn$_invoke$arity$1((new cljs.core.Keyword(null,"time","time",1385887882)).cljs$core$IFn$_invoke$arity$1(b));return cljs.core.truth_(a)?weathergen.model.jump_to_time.call(null,
b,c,a):b}(),c,60,6):null;console.timeEnd("computing forecast");return a}).call(null,weathergen.ui.selected_cell,weathergen.ui.weather_params,weathergen.ui.movement_params);
weathergen.ui.location_type=javelin.core.formula.call(null,function(a,b){return cljs.core.truth_(b.call(null,(new cljs.core.Keyword(null,"location","location",1815599388)).cljs$core$IFn$_invoke$arity$1(a)))?new cljs.core.Keyword(null,"named","named",-422393479):cljs.core.truth_((new cljs.core.Keyword(null,"coordinates","coordinates",-1225332668)).cljs$core$IFn$_invoke$arity$1(a))?new cljs.core.Keyword(null,"coordinates","coordinates",-1225332668):new cljs.core.Keyword(null,"none","none",1333468478)}).call(null,
weathergen.ui.selected_cell,cljs.core.not_empty);weathergen.ui.pressure_unit=javelin.core.formula.call(null,function(a){return(new cljs.core.Keyword(null,"pressure-unit","pressure-unit",1615584243)).cljs$core$IFn$_invoke$arity$1(a)}).call(null,weathergen.ui.display_params);
weathergen.ui.all_squadrons=javelin.core.formula.call(null,function(a,b,c,d){return c.call(null,cljs.core.PersistentHashSet.EMPTY,b.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","squadrons","weathergen.falcon.files.mission/squadrons",47769110),(new cljs.core.Keyword(null,"air","air",-104121788)).cljs$core$IFn$_invoke$arity$1(a.call(null,d))))}).call(null,weathergen.falcon.files.mission.order_of_battle,cljs.core.mapcat,cljs.core.into,weathergen.ui.mission);
weathergen.ui.all_squadron_types=javelin.core.formula.call(null,function(a,b,c,d,e){return b.call(null,cljs.core.PersistentHashSet.EMPTY,a.call(null,function(a){return e.call(null,d,a)},c))}).call(null,cljs.core.map,cljs.core.into,weathergen.ui.all_squadrons,weathergen.ui.mission,weathergen.falcon.files.mission.squadron_type);
weathergen.ui.included_squadrons=javelin.core.formula.call(null,function(a,b,c,d,e,f){return a.call(null,f.call(null,function(a){return c.call(null,e.call(null,d,a))},b))}).call(null,cljs.core.set,weathergen.ui.all_squadrons,weathergen.ui.included_squadron_types,weathergen.ui.mission,weathergen.falcon.files.mission.squadron_type,cljs.core.filter);
cljs.core.add_watch.call(null,weathergen.ui.all_squadron_types,new cljs.core.Keyword(null,"update-included-squadron-types","update-included-squadron-types",-1854825437),function(a,b,c,d){return cljs.core.reset_BANG_.call(null,weathergen.ui.included_squadron_types,d)});
weathergen.ui.list_airbase_QMARK_=function(a,b,c,d){d=0===cljs.core.count.call(null,cljs.core.filter.call(null,d,(new cljs.core.Keyword("weathergen.falcon.files.mission","squadrons","weathergen.falcon.files.mission/squadrons",47769110)).cljs$core$IFn$_invoke$arity$1(a)));a=0===(new cljs.core.Keyword("weathergen.falcon.files.mission","status","weathergen.falcon.files.mission/status",667063917)).cljs$core$IFn$_invoke$arity$1(a);b=d?b:d;c=cljs.core.truth_(b)?b:a?c:a;return cljs.core.not.call(null,c)};
weathergen.ui.all_airbases=javelin.core.formula.call(null,function(a,b){a=cljs.core.truth_(null==b)?null:a.call(null,b);return cljs.core.truth_(null==a)?null:(new cljs.core.Keyword(null,"air","air",-104121788)).cljs$core$IFn$_invoke$arity$1(a)}).call(null,weathergen.falcon.files.mission.order_of_battle,weathergen.ui.mission);
weathergen.ui.listed_airbases=javelin.core.formula.call(null,function(a,b,c,d){return cljs.core.set.call(null,cljs.core.filter.call(null,function(a){return weathergen.ui.list_airbase_QMARK_.call(null,a,b,c,d)},a))}).call(null,weathergen.ui.all_airbases,weathergen.ui.hide_empty_airbases_QMARK_,weathergen.ui.hide_inoperable_airbases_QMARK_,weathergen.ui.included_squadrons);
weathergen.ui.displayed_airbases=javelin.core.formula.call(null,function(a,b){return clojure.set.intersection.call(null,a,b)}).call(null,weathergen.ui.checked_airbases,weathergen.ui.listed_airbases);weathergen.ui.worker_count=4;
weathergen.ui.workers=function(){var a=function(){return function d(a){return new cljs.core.LazySeq(null,function(){for(var c=a;;){var f=cljs.core.seq.call(null,c);if(f){var g=f,h=cljs.core.first.call(null,g);f=function(a,c,d,e){return function r(f){return new cljs.core.LazySeq(null,function(a,c,d,e){return function(){for(;;){var a=cljs.core.seq.call(null,f);if(a){if(cljs.core.chunked_seq_QMARK_.call(null,a)){var d=cljs.core.chunk_first.call(null,a),e=cljs.core.count.call(null,d),g=cljs.core.chunk_buffer.call(null,
e);a:for(var h=0;;)if(h<e){var k=cljs.core._nth.call(null,d,h);cljs.core.chunk_append.call(null,g,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[c,k],null));h+=1}else{d=!0;break a}return d?cljs.core.chunk_cons.call(null,cljs.core.chunk.call(null,g),r.call(null,cljs.core.chunk_rest.call(null,a))):cljs.core.chunk_cons.call(null,cljs.core.chunk.call(null,g),null)}g=cljs.core.first.call(null,a);return cljs.core.cons.call(null,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,
[c,g],null),r.call(null,cljs.core.rest.call(null,a)))}return null}}}(a,c,d,e),null,null)}}(c,h,g,f);if(f=cljs.core.seq.call(null,f.call(null,cljs.core.range.call(null,59))))return cljs.core.concat.call(null,f,d.call(null,cljs.core.rest.call(null,c)));c=cljs.core.rest.call(null,c)}else return null}},null,null)}.call(null,cljs.core.range.call(null,59))}();return cljs.core.map.call(null,function(a){return function(a,b){return new cljs.core.PersistentArrayMap(null,4,[new cljs.core.Keyword(null,"worker",
"worker",938239996),new Worker("worker.js"),new cljs.core.Keyword(null,"n","n",562130025),a,new cljs.core.Keyword(null,"ch","ch",-554717905),cljs.core.async.chan.call(null),new cljs.core.Keyword(null,"cells","cells",-985166822),b],null)}}(a),cljs.core.range.call(null,weathergen.ui.worker_count),cljs.core.partition_all.call(null,3481/weathergen.ui.worker_count,a))}();weathergen.ui.command_ch=cljs.core.async.chan.call(null,cljs.core.async.dropping_buffer.call(null,1));
for(var seq__40743_40799=cljs.core.seq.call(null,weathergen.ui.workers),chunk__40744_40800=null,count__40745_40801=0,i__40746_40802=0;;)if(i__40746_40802<count__40745_40801){var map__40773_40803=cljs.core._nth.call(null,chunk__40744_40800,i__40746_40802),map__40773_40804__$1=null!=map__40773_40803&&(map__40773_40803.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===map__40773_40803.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,map__40773_40803):map__40773_40803,
worker_40805=cljs.core.get.call(null,map__40773_40804__$1,new cljs.core.Keyword(null,"worker","worker",938239996)),ch_40806=cljs.core.get.call(null,map__40773_40804__$1,new cljs.core.Keyword(null,"ch","ch",-554717905));worker_40805.onmessage=function(a,b,c,d,e,f,g,h){return function(k){var l=cljs.core.async.chan.call(null,1);cljs.core.async.impl.dispatch.run.call(null,function(a,b,c,d,e,f,g,h,l){return function(){var m=function(){var m=function(a,b,c,d,e,f,g,h,l){return function(a){var b=a[1];return 1===
b?(b=weathergen.encoding.decode.call(null,k.data),cljs.core.async.impl.ioc_helpers.put_BANG_.call(null,a,2,l,b)):2===b?cljs.core.async.impl.ioc_helpers.return_chan.call(null,a,a[2]):null}}(a,b,c,d,e,f,g,h,l);return function(a,b,c,d,e,f,g,h,k,l){return function(){var a=null,b=function(){var b=[null,null,null,null,null,null,null];b[0]=a;b[1]=1;return b},c=function(a){for(;;){a:try{for(;;){var b=e.call(null,a);if(!cljs.core.keyword_identical_QMARK_.call(null,b,new cljs.core.Keyword(null,"recur","recur",
-437573268))){var c=b;break a}}}catch(Q){if(Q instanceof Object)a[5]=Q,cljs.core.async.impl.ioc_helpers.process_exception.call(null,a),c=new cljs.core.Keyword(null,"recur","recur",-437573268);else throw Q;}if(!cljs.core.keyword_identical_QMARK_.call(null,c,new cljs.core.Keyword(null,"recur","recur",-437573268)))return c}};a=function(a){switch(arguments.length){case 0:return b.call(this);case 1:return c.call(this,a)}throw Error("Invalid arity: "+arguments.length);};a.cljs$core$IFn$_invoke$arity$0=
b;a.cljs$core$IFn$_invoke$arity$1=c;return a}()}(a,b,c,d,m,e,f,g,h,l)}(),n=function(){var a=m.call(null);a[6]=e;return a}();return cljs.core.async.impl.ioc_helpers.run_state_machine_wrapped.call(null,n)}}(a,b,c,d,l,e,f,g,h));return l}}(seq__40743_40799,chunk__40744_40800,count__40745_40801,i__40746_40802,map__40773_40803,map__40773_40804__$1,worker_40805,ch_40806);var G__40809=seq__40743_40799,G__40810=chunk__40744_40800,G__40811=count__40745_40801,G__40812=i__40746_40802+1;seq__40743_40799=G__40809;
chunk__40744_40800=G__40810;count__40745_40801=G__40811;i__40746_40802=G__40812}else{var temp__5720__auto___40813=cljs.core.seq.call(null,seq__40743_40799);if(temp__5720__auto___40813){var seq__40743_40814__$1=temp__5720__auto___40813;if(cljs.core.chunked_seq_QMARK_.call(null,seq__40743_40814__$1)){var c__4550__auto___40815=cljs.core.chunk_first.call(null,seq__40743_40814__$1),G__40816=cljs.core.chunk_rest.call(null,seq__40743_40814__$1),G__40817=c__4550__auto___40815,G__40818=cljs.core.count.call(null,
c__4550__auto___40815),G__40819=0;seq__40743_40799=G__40816;chunk__40744_40800=G__40817;count__40745_40801=G__40818;i__40746_40802=G__40819}else{var map__40786_40820=cljs.core.first.call(null,seq__40743_40814__$1),map__40786_40821__$1=null!=map__40786_40820&&(map__40786_40820.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===map__40786_40820.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,map__40786_40820):map__40786_40820,worker_40822=cljs.core.get.call(null,map__40786_40821__$1,
new cljs.core.Keyword(null,"worker","worker",938239996)),ch_40823=cljs.core.get.call(null,map__40786_40821__$1,new cljs.core.Keyword(null,"ch","ch",-554717905));worker_40822.onmessage=function(a,b,c,d,e,f,g,h,k,l){return function(m){var n=cljs.core.async.chan.call(null,1);cljs.core.async.impl.dispatch.run.call(null,function(a,b,c,d,e,f,g,h,k,l,n){return function(){var p=function(){var p=function(a,b,c,d,e,f,g,h,k,l,n){return function(a){var b=a[1];return 1===b?(b=weathergen.encoding.decode.call(null,
m.data),cljs.core.async.impl.ioc_helpers.put_BANG_.call(null,a,2,k,b)):2===b?cljs.core.async.impl.ioc_helpers.return_chan.call(null,a,a[2]):null}}(a,b,c,d,e,f,g,h,k,l,n);return function(a,b,c,d,e,f,g,h,k,l,m,n){return function(){var a=null,b=function(){var b=[null,null,null,null,null,null,null];b[0]=a;b[1]=1;return b},c=function(a){for(;;){a:try{for(;;){var b=e.call(null,a);if(!cljs.core.keyword_identical_QMARK_.call(null,b,new cljs.core.Keyword(null,"recur","recur",-437573268))){var c=b;break a}}}catch(V){if(V instanceof
Object)a[5]=V,cljs.core.async.impl.ioc_helpers.process_exception.call(null,a),c=new cljs.core.Keyword(null,"recur","recur",-437573268);else throw V;}if(!cljs.core.keyword_identical_QMARK_.call(null,c,new cljs.core.Keyword(null,"recur","recur",-437573268)))return c}};a=function(a){switch(arguments.length){case 0:return b.call(this);case 1:return c.call(this,a)}throw Error("Invalid arity: "+arguments.length);};a.cljs$core$IFn$_invoke$arity$0=b;a.cljs$core$IFn$_invoke$arity$1=c;return a}()}(a,b,c,d,
p,e,f,g,h,k,l,n)}(),q=function(){var a=p.call(null);a[6]=e;return a}();return cljs.core.async.impl.ioc_helpers.run_state_machine_wrapped.call(null,q)}}(a,b,c,d,n,e,f,g,h,k,l));return n}}(seq__40743_40799,chunk__40744_40800,count__40745_40801,i__40746_40802,map__40786_40820,map__40786_40821__$1,worker_40822,ch_40823,seq__40743_40814__$1,temp__5720__auto___40813);var G__40826=cljs.core.next.call(null,seq__40743_40814__$1),G__40827=null,G__40828=0,G__40829=0;seq__40743_40799=G__40826;chunk__40744_40800=
G__40827;count__40745_40801=G__40828;i__40746_40802=G__40829}}else break}weathergen.ui.post_message=function(a,b){return a.postMessage(b)};var c__38370__auto___41069=cljs.core.async.chan.call(null,1);
cljs.core.async.impl.dispatch.run.call(null,function(a){return function(){var b=function(){return function(a,b){return function(){var b=null,c=function(){var a=[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null];a[0]=b;a[1]=1;return a},d=function(b){for(;;){a:try{for(;;){var c=a.call(null,b);if(!cljs.core.keyword_identical_QMARK_.call(null,c,new cljs.core.Keyword(null,"recur","recur",-437573268))){var d=
c;break a}}}catch(n){if(n instanceof Object)b[5]=n,cljs.core.async.impl.ioc_helpers.process_exception.call(null,b),d=new cljs.core.Keyword(null,"recur","recur",-437573268);else throw n;}if(!cljs.core.keyword_identical_QMARK_.call(null,d,new cljs.core.Keyword(null,"recur","recur",-437573268)))return d}};b=function(a){switch(arguments.length){case 0:return c.call(this);case 1:return d.call(this,a)}throw Error("Invalid arity: "+arguments.length);};b.cljs$core$IFn$_invoke$arity$0=c;b.cljs$core$IFn$_invoke$arity$1=
d;return b}()}(function(a){return function(b){var c=b[1];if(7===c){var d=b[7],e=b[8],k=b[9],l=cljs.core._nth.call(null,e,k),m=cljs.core.not.call(null,null==l);b[7]=l;var n=b;n[1]=m?10:11;return new cljs.core.Keyword(null,"recur","recur",-437573268)}if(20===c){var p=n=b;p[2]=null;p[1]=21;return new cljs.core.Keyword(null,"recur","recur",-437573268)}if(27===c){var q=b[2];n=b;cljs.core.truth_(q)?n[1]=31:n[1]=32;return new cljs.core.Keyword(null,"recur","recur",-437573268)}if(1===c){var r=n=b;r[2]=null;
r[1]=2;return new cljs.core.Keyword(null,"recur","recur",-437573268)}if(24===c){var u=b[2],t=n=b;t[2]=u;t[1]=21;return new cljs.core.Keyword(null,"recur","recur",-437573268)}if(39===c){var v=cljs.core.async.timeout.call(null,500);n=b;return cljs.core.async.impl.ioc_helpers.take_BANG_.call(null,n,42,v)}if(46===c){var w=b[10],x=b[11],y=b[2],z=cljs.core.nth.call(null,y,0,null),B=cljs.core.nth.call(null,y,1,null),C=cljs.core.disj.call(null,w,B),A=cljs.core.merge.call(null,x,z);b[10]=C;b[11]=A;var D=n=
b;D[2]=null;D[1]=34;return new cljs.core.Keyword(null,"recur","recur",-437573268)}if(4===c){var F=b[12],E=b[2],G=cljs.core.nth.call(null,E,0,null),J=cljs.core.nth.call(null,E,1,null),M=cljs.core.seq.call(null,weathergen.ui.workers);e=null;var L=0;k=0;b[12]=E;b[13]=J;b[8]=e;b[14]=G;b[15]=M;b[9]=k;b[16]=L;var K=n=b;K[2]=null;K[1]=5;return new cljs.core.Keyword(null,"recur","recur",-437573268)}if(15===c){var I=b[2],H=n=b;H[2]=I;H[1]=12;return new cljs.core.Keyword(null,"recur","recur",-437573268)}if(21===
c){var O=b[2],P=n=b;P[2]=O;P[1]=9;return new cljs.core.Keyword(null,"recur","recur",-437573268)}if(31===c){var N=b[17],Q=cljs.core.apply.call(null,cljs.core.hash_map,N),R=n=b;R[2]=Q;R[1]=33;return new cljs.core.Keyword(null,"recur","recur",-437573268)}if(32===c){N=b[17];var S=n=b;S[2]=N;S[1]=33;return new cljs.core.Keyword(null,"recur","recur",-437573268)}if(40===c){var T=n=b;T[2]=null;T[1]=41;return new cljs.core.Keyword(null,"recur","recur",-437573268)}if(33===c){var U=b[18];J=b[13];var W=b[2],
V=cljs.core.get.call(null,W,new cljs.core.Keyword(null,"cells","cells",-985166822)),X=cljs.core.get.call(null,W,new cljs.core.Keyword(null,"worker","worker",938239996)),Y=cljs.core.assoc.call(null,J,new cljs.core.Keyword(null,"cells","cells",-985166822),V),aa=weathergen.encoding.encode.call(null,Y),ba=weathergen.ui.post_message.call(null,X,aa);M=cljs.core.next.call(null,U);e=null;k=L=0;b[19]=ba;b[8]=e;b[15]=M;b[9]=k;b[16]=L;var Z=n=b;Z[2]=null;Z[1]=5;return new cljs.core.Keyword(null,"recur","recur",
-437573268)}if(13===c){var ca=n=b;ca[2]=!0;ca[1]=15;return new cljs.core.Keyword(null,"recur","recur",-437573268)}if(22===c){U=b[18];var ea=cljs.core.chunk_first.call(null,U),ha=cljs.core.chunk_rest.call(null,U),fa=cljs.core.count.call(null,ea);M=ha;e=ea;L=fa;k=0;b[8]=e;b[15]=M;b[9]=k;b[16]=L;var ka=n=b;ka[2]=null;ka[1]=5;return new cljs.core.Keyword(null,"recur","recur",-437573268)}if(36===c){F=b[12];w=b[10];J=b[13];G=b[14];var ia=b[20];x=b[11];var ja=function(){return function(a,b,c,d,e,f,g,h,k,
l,m,n,p,q,r){return function(){console.timeEnd("compute-weather");cljs.core.reset_BANG_.call(null,weathergen.ui.weather_data,g);return cljs.core.reset_BANG_.call(null,weathergen.ui.weather_data_params,c)}}(F,G,J,"Receive weather results",ia,w,x,F,w,J,G,ia,x,c,a)}(),da=javelin.core.dosync_STAR_.call(null,ja),ma=cljs.core.deref.call(null,weathergen.ui.movement_params),Fa=(new cljs.core.Keyword(null,"looping?","looping?",78344245)).cljs$core$IFn$_invoke$arity$1(ma);b[21]=da;n=b;cljs.core.truth_(Fa)?
n[1]=39:n[1]=40;return new cljs.core.Keyword(null,"recur","recur",-437573268)}if(41===c){var Ya=b[2],Aa=n=b;Aa[2]=Ya;Aa[1]=38;return new cljs.core.Keyword(null,"recur","recur",-437573268)}if(43===c){var Ga=cljs.core.deref.call(null,weathergen.ui.movement_params),Oa=(new cljs.core.Keyword(null,"step","step",1288888124)).cljs$core$IFn$_invoke$arity$1(Ga),Za=weathergen.ui.move.call(null,Math.floor(-360/Oa)),Ha=n=b;Ha[2]=Za;Ha[1]=45;return new cljs.core.Keyword(null,"recur","recur",-437573268)}if(29===
c){var na=n=b;na[2]=!1;na[1]=30;return new cljs.core.Keyword(null,"recur","recur",-437573268)}if(44===c){var $a=weathergen.ui.move.call(null,1),wa=n=b;wa[2]=$a;wa[1]=45;return new cljs.core.Keyword(null,"recur","recur",-437573268)}if(6===c){var vb=b[2],kb=cljs.core.reset_BANG_.call(null,weathergen.ui.computing,!0),lb=console.time("compute-weather");ia=console.time("Receive weather results");var Ba=cljs.core.map.call(null,new cljs.core.Keyword(null,"ch","ch",-554717905),weathergen.ui.workers),ab=cljs.core.set.call(null,
Ba),wb=cljs.core.PersistentHashMap.EMPTY;w=ab;x=wb;b[22]=vb;b[10]=w;b[20]=ia;b[23]=lb;b[11]=x;b[24]=kb;var mb=n=b;mb[2]=null;mb[1]=34;return new cljs.core.Keyword(null,"recur","recur",-437573268)}if(28===c){var bb=n=b;bb[2]=!0;bb[1]=30;return new cljs.core.Keyword(null,"recur","recur",-437573268)}if(25===c){N=b[17];var xb=cljs.core.PROTOCOL_SENTINEL===N.cljs$core$ISeq$,nb=N.cljs$lang$protocol_mask$partition0$&64||xb;n=b;cljs.core.truth_(nb)?n[1]=28:n[1]=29;return new cljs.core.Keyword(null,"recur",
"recur",-437573268)}if(34===c){w=b[10];var cb=cljs.core.empty_QMARK_.call(null,w);n=b;n[1]=cb?36:37;return new cljs.core.Keyword(null,"recur","recur",-437573268)}if(17===c){d=b[7];var Ca=n=b;Ca[2]=d;Ca[1]=18;return new cljs.core.Keyword(null,"recur","recur",-437573268)}if(3===c){var xa=b[2];n=b;return cljs.core.async.impl.ioc_helpers.return_chan.call(null,n,xa)}if(12===c){var ob=b[2];n=b;cljs.core.truth_(ob)?n[1]=16:n[1]=17;return new cljs.core.Keyword(null,"recur","recur",-437573268)}if(2===c)return n=
b,cljs.core.async.impl.ioc_helpers.take_BANG_.call(null,n,4,weathergen.ui.command_ch);if(23===c){U=b[18];N=b[17];var db=cljs.core.first.call(null,U),yb=cljs.core.not.call(null,null==db);b[17]=db;n=b;n[1]=yb?25:26;return new cljs.core.Keyword(null,"recur","recur",-437573268)}if(35===c){var ya=b[2],eb=console.timeEnd("Receive weather results"),fb=cljs.core.reset_BANG_.call(null,weathergen.ui.computing,!1);b[25]=eb;b[26]=fb;b[27]=ya;var Ia=n=b;Ia[2]=null;Ia[1]=2;return new cljs.core.Keyword(null,"recur",
"recur",-437573268)}if(19===c){U=b[18];var la=cljs.core.chunked_seq_QMARK_.call(null,U);n=b;n[1]=la?22:23;return new cljs.core.Keyword(null,"recur","recur",-437573268)}if(11===c){var ta=n=b;ta[2]=!1;ta[1]=12;return new cljs.core.Keyword(null,"recur","recur",-437573268)}if(9===c){var ra=b[2],ua=n=b;ua[2]=ra;ua[1]=6;return new cljs.core.Keyword(null,"recur","recur",-437573268)}if(5===c){k=b[9];L=b[16];var sa=k<L;n=b;cljs.core.truth_(sa)?n[1]=7:n[1]=8;return new cljs.core.Keyword(null,"recur","recur",
-437573268)}if(14===c){var oa=n=b;oa[2]=!1;oa[1]=15;return new cljs.core.Keyword(null,"recur","recur",-437573268)}if(45===c){var Da=b[2],pa=n=b;pa[2]=Da;pa[1]=41;return new cljs.core.Keyword(null,"recur","recur",-437573268)}if(26===c){var Ja=n=b;Ja[2]=!1;Ja[1]=27;return new cljs.core.Keyword(null,"recur","recur",-437573268)}if(16===c){d=b[7];var za=cljs.core.apply.call(null,cljs.core.hash_map,d),Ka=n=b;Ka[2]=za;Ka[1]=18;return new cljs.core.Keyword(null,"recur","recur",-437573268)}if(38===c){var zb=
b[2],Pa=n=b;Pa[2]=zb;Pa[1]=35;return new cljs.core.Keyword(null,"recur","recur",-437573268)}if(30===c){var Qa=b[2],qa=n=b;qa[2]=Qa;qa[1]=27;return new cljs.core.Keyword(null,"recur","recur",-437573268)}if(10===c){d=b[7];var va=cljs.core.PROTOCOL_SENTINEL===d.cljs$core$ISeq$,Ra=d.cljs$lang$protocol_mask$partition0$&64||va;n=b;cljs.core.truth_(Ra)?n[1]=13:n[1]=14;return new cljs.core.Keyword(null,"recur","recur",-437573268)}if(18===c){J=b[13];e=b[8];M=b[15];k=b[9];L=b[16];var Sa=b[2],Ta=cljs.core.get.call(null,
Sa,new cljs.core.Keyword(null,"cells","cells",-985166822)),La=cljs.core.get.call(null,Sa,new cljs.core.Keyword(null,"worker","worker",938239996)),Ua=cljs.core.assoc.call(null,J,new cljs.core.Keyword(null,"cells","cells",-985166822),Ta),Va=weathergen.encoding.encode.call(null,Ua),gb=weathergen.ui.post_message.call(null,La,Va),Ea=M,Wa=L,pb=k+1;b[8]=e;b[28]=gb;b[15]=Ea;b[9]=pb;b[16]=Wa;var Ma=n=b;Ma[2]=null;Ma[1]=5;return new cljs.core.Keyword(null,"recur","recur",-437573268)}if(42===c){var hb=b[2],
ib=cljs.core.deref.call(null,weathergen.ui.weather_data_params),Na=(new cljs.core.Keyword(null,"time","time",1385887882)).cljs$core$IFn$_invoke$arity$1(ib),qb=(new cljs.core.Keyword(null,"current","current",-1088038603)).cljs$core$IFn$_invoke$arity$1(Na),rb=weathergen.time.campaign_time__GT_minutes.call(null,qb),sb=cljs.core.deref.call(null,weathergen.ui.weather_data_params),Ab=(new cljs.core.Keyword(null,"time","time",1385887882)).cljs$core$IFn$_invoke$arity$1(sb),tb=(new cljs.core.Keyword(null,
"max","max",61366548)).cljs$core$IFn$_invoke$arity$1(Ab),Bb=weathergen.time.campaign_time__GT_minutes.call(null,tb),jb=cljs.core._EQ_.call(null,rb,Bb);b[29]=hb;n=b;n[1]=jb?43:44;return new cljs.core.Keyword(null,"recur","recur",-437573268)}if(37===c){w=b[10];var Nb=cljs.core.vec.call(null,w);n=b;return cljs.core.async.ioc_alts_BANG_.call(null,n,46,Nb)}if(8===c){U=b[18];M=b[15];var Xa=cljs.core.seq.call(null,M);b[18]=Xa;n=b;n[1]=Xa?19:20;return new cljs.core.Keyword(null,"recur","recur",-437573268)}return null}}(a),
a)}(),c=function(){var c=b.call(null);c[6]=a;return c}();return cljs.core.async.impl.ioc_helpers.run_state_machine_wrapped.call(null,c)}}(c__38370__auto___41069));
weathergen.ui.recompute=function(a){var b=cljs.core.async.chan.call(null,1);cljs.core.async.impl.dispatch.run.call(null,function(b){return function(){var c=function(){return function(a,b){return function(){var b=null,c=function(){var a=[null,null,null,null,null,null,null];a[0]=b;a[1]=1;return a},d=function(b){for(;;){a:try{for(;;){var c=a.call(null,b);if(!cljs.core.keyword_identical_QMARK_.call(null,c,new cljs.core.Keyword(null,"recur","recur",-437573268))){var d=c;break a}}}catch(q){if(q instanceof
Object)b[5]=q,cljs.core.async.impl.ioc_helpers.process_exception.call(null,b),d=new cljs.core.Keyword(null,"recur","recur",-437573268);else throw q;}if(!cljs.core.keyword_identical_QMARK_.call(null,d,new cljs.core.Keyword(null,"recur","recur",-437573268)))return d}};b=function(a){switch(arguments.length){case 0:return c.call(this);case 1:return d.call(this,a)}throw Error("Invalid arity: "+arguments.length);};b.cljs$core$IFn$_invoke$arity$0=c;b.cljs$core$IFn$_invoke$arity$1=d;return b}()}(function(b){return function(b){var c=
b[1];if(1===c){c=cljs.core.PersistentVector.EMPTY_NODE;var d=[new cljs.core.Keyword(null,"compute-weather","compute-weather",-1681954694),a];c=new cljs.core.PersistentVector(null,2,5,c,d,null);return cljs.core.async.impl.ioc_helpers.put_BANG_.call(null,b,2,weathergen.ui.command_ch,c)}return 2===c?cljs.core.async.impl.ioc_helpers.return_chan.call(null,b,b[2]):null}}(b),b)}(),e=function(){var a=c.call(null);a[6]=b;return a}();return cljs.core.async.impl.ioc_helpers.run_state_machine_wrapped.call(null,
e)}}(b));return b};weathergen.ui.fmap_load_state=javelin.core.cell.call(null,new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"state","state",-1988618099),new cljs.core.Keyword(null,"not-loaded","not-loaded",666902159)],null));weathergen.ui.fmap_worker=new cljs.core.Keyword(null,"disabled","disabled",-1529784218);
weathergen.ui.handle_fmap_worker_message=function(a){a=cljs.core.seq.call(null,a);cljs.core.first.call(null,a);cljs.core.next.call(null,a);cljs.core.swap_BANG_.call(null,weathergen.ui.fmap_load_state,cljs.core.update,new cljs.core.Keyword(null,"maps-loaded","maps-loaded",-320462859),cljs.core.inc);return 0===(new cljs.core.Keyword(null,"maps-to-load","maps-to-load",-73197204)).cljs$core$IFn$_invoke$arity$1(cljs.core.deref.call(null,weathergen.ui.fmap_load_state))?cljs.core.swap_BANG_.call(null,weathergen.ui.fmap_load_state,
cljs.core.assoc,new cljs.core.Keyword(null,"state","state",-1988618099),new cljs.core.Keyword(null,"loaded","loaded",-1246482293)):null};weathergen.ui.fmap_worker.onmessage=function(a){return weathergen.ui.handle_fmap_worker_message.call(null,a.data)};
weathergen.ui.load_fmap=function(a){if(cljs.core.empty_QMARK_.call(null,a))return null;var b=cljs.core.first.call(null,a),c=cljs.core.nth.call(null,b,0,null),d=cljs.core.nth.call(null,b,1,null);console.debug("Dispatching load of fmap",d);weathergen.ui.post_message.call(null,weathergen.ui.fmap_worker,["load-fmap",c,d,weathergen.filesystem.file_buf.call(null,d)]);return setTimeout(function(b,c,d){return function(){return weathergen.ui.load_fmap.call(null,cljs.core.dissoc.call(null,a,c))}}(b,c,d),0)};
weathergen.ui.load_fmaps=function(){var a=(new cljs.core.Keyword(null,"path","path",-188191168)).cljs$core$IFn$_invoke$arity$1(cljs.core.deref.call(null,weathergen.ui.mission)),b=weathergen.falcon.files.mission.mission_time.call(null,cljs.core.deref.call(null,weathergen.ui.mission)),c=weathergen.filesystem.parent.call(null,a),d=weathergen.filesystem.basename.call(null,a,new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"omit-extension?","omit-extension?",-1855127967),!0],null)),
e=weathergen.filesystem.path_combine.call(null,c,[cljs.core.str.cljs$core$IFn$_invoke$arity$1(d),".twx"].join("")),f=function(){try{if(cljs.core.truth_(weathergen.filesystem.exists_QMARK_.call(null,e))){var a=null==e?null:weathergen.filesystem.file_buf.call(null,e);return null==a?null:weathergen.twx.parse.call(null,a)}return null}catch(n){return console.warn("Could not parse TWX data at",e),null}}(),g=weathergen.filesystem.path_combine.call(null,c,[cljs.core.str.cljs$core$IFn$_invoke$arity$1(d),".fmap"].join("")),
h=cljs.core.truth_(function(){var a=weathergen.filesystem.exists_QMARK_.call(null,g);return cljs.core.truth_(a)?cljs.core._EQ_.call(null,weathergen.twx.map_model,(new cljs.core.Keyword(null,"model","model",331153215)).cljs$core$IFn$_invoke$arity$1(f)):a}())?cljs.core.PersistentArrayMap.createAsIfByAssoc([cljs.core.select_keys.call(null,b,new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"day","day",-274800446),new cljs.core.Keyword(null,"hour",
"hour",-555989214),new cljs.core.Keyword(null,"minute","minute",-642875969)],null)),g]):null,k=weathergen.filesystem.path_combine.call(null,c,"WeatherMapsUpdates"),l=cljs.core.remove.call(null,cljs.core.nil_QMARK_,cljs.core.map.call(null,function(a,b,c,d,e,f,g,h,k){return function(a){return cljs.core.re_matches.call(null,/([1-9]?[0-9])([0-9]{2})([0-9]{2}).[fF][mM][aA][pP]/,a)}}(a,b,c,d,e,f,g,h,k),weathergen.filesystem.ls.call(null,k)));a=cljs.core.reduce.call(null,function(a,b,c,d,e,f,g,h,k,l){return function(a,
b){var c=cljs.core.nth.call(null,b,0,null),d=cljs.core.nth.call(null,b,1,null),e=cljs.core.nth.call(null,b,2,null);b=cljs.core.nth.call(null,b,3,null);return cljs.core.assoc.call(null,a,new cljs.core.PersistentArrayMap(null,3,[new cljs.core.Keyword(null,"day","day",-274800446),weathergen.util.str__GT_long.call(null,d),new cljs.core.Keyword(null,"hour","hour",-555989214),weathergen.util.str__GT_long.call(null,e),new cljs.core.Keyword(null,"minute","minute",-642875969),weathergen.util.str__GT_long.call(null,
b)],null),weathergen.filesystem.path_combine.call(null,k,c))}}(a,b,c,d,e,f,g,h,k,l),h,l);cljs.core.swap_BANG_.call(null,weathergen.ui.fmap_load_state,cljs.core.assoc,new cljs.core.Keyword(null,"state","state",-1988618099),new cljs.core.Keyword(null,"loading","loading",-737050189),new cljs.core.Keyword(null,"maps-loaded","maps-loaded",-320462859),0,new cljs.core.Keyword(null,"maps-to-load","maps-to-load",-73197204),cljs.core.count.call(null,a));weathergen.ui.post_message.call(null,weathergen.ui.fmap_worker,
["clear-fmaps"]);return weathergen.ui.load_fmap.call(null,a)};javelin.core.formula.call(null,function(a,b){return cljs.core.truth_(function(){var c=cljs.core.not.call(null,b);return c?a:c}())?weathergen.ui.recompute.call(null,a):null}).call(null,weathergen.ui.weather_params,weathergen.ui.prevent_recomputation_QMARK_);
weathergen.ui.move=function(a){return javelin.core.dosync_STAR_.call(null,function(){var b=a*(new cljs.core.Keyword(null,"step","step",1288888124)).cljs$core$IFn$_invoke$arity$1(cljs.core.deref.call(null,weathergen.ui.movement_params)),c=weathergen.time.campaign_time__GT_minutes.call(null,(new cljs.core.Keyword(null,"current","current",-1088038603)).cljs$core$IFn$_invoke$arity$1((new cljs.core.Keyword(null,"time","time",1385887882)).cljs$core$IFn$_invoke$arity$1(cljs.core.deref.call(null,weathergen.ui.weather_params))));
b=c+b;var d=(new cljs.core.Keyword(null,"max","max",61366548)).cljs$core$IFn$_invoke$arity$1((new cljs.core.Keyword(null,"time","time",1385887882)).cljs$core$IFn$_invoke$arity$1(cljs.core.deref.call(null,weathergen.ui.weather_params)));cljs.core.truth_(d)&&(d=weathergen.time.campaign_time__GT_minutes.call(null,d),b=d<b?d:b);c=(b-c)/(new cljs.core.Keyword(null,"step","step",1288888124)).cljs$core$IFn$_invoke$arity$1(cljs.core.deref.call(null,weathergen.ui.movement_params));c=cljs.core.swap_BANG_.call(null,
weathergen.ui.weather_params,weathergen.model.step,cljs.core.deref.call(null,weathergen.ui.movement_params),c);c=null!=c&&(c.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===c.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,c):c;c=cljs.core.get.call(null,c,new cljs.core.Keyword(null,"time","time",1385887882));return cljs.core.swap_BANG_.call(null,weathergen.ui.time_params,cljs.core.assoc,new cljs.core.Keyword(null,"displayed","displayed",-436192586),(new cljs.core.Keyword(null,
"current","current",-1088038603)).cljs$core$IFn$_invoke$arity$1(c))})};
weathergen.ui.jump_to_time_STAR_=function(a){return javelin.core.dosync_STAR_.call(null,function(){var b=cljs.core.swap_BANG_.call(null,weathergen.ui.weather_params,weathergen.model.jump_to_time,cljs.core.deref.call(null,weathergen.ui.movement_params),a);b=null!=b&&(b.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===b.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,b):b;b=cljs.core.get.call(null,b,new cljs.core.Keyword(null,"time","time",1385887882));return cljs.core.swap_BANG_.call(null,
weathergen.ui.time_params,cljs.core.assoc,new cljs.core.Keyword(null,"displayed","displayed",-436192586),(new cljs.core.Keyword(null,"current","current",-1088038603)).cljs$core$IFn$_invoke$arity$1(b))})};
weathergen.ui.jump_to_time=function(){var a=(new cljs.core.Keyword(null,"displayed","displayed",-436192586)).cljs$core$IFn$_invoke$arity$1(cljs.core.deref.call(null,weathergen.ui.time_params)),b=(new cljs.core.Keyword(null,"max","max",61366548)).cljs$core$IFn$_invoke$arity$1((new cljs.core.Keyword(null,"time","time",1385887882)).cljs$core$IFn$_invoke$arity$1(cljs.core.deref.call(null,weathergen.ui.weather_params)));return cljs.core._EQ_.call(null,new cljs.core.Keyword(null,"edit","edit",-1641834166),
cljs.core.deref.call(null,weathergen.ui.display_mode))||cljs.core.not.call(null,b)||weathergen.time.campaign_time__GT_minutes.call(null,a)<=weathergen.time.campaign_time__GT_minutes.call(null,b)?weathergen.ui.jump_to_time_STAR_.call(null,(new cljs.core.Keyword(null,"displayed","displayed",-436192586)).cljs$core$IFn$_invoke$arity$1(cljs.core.deref.call(null,weathergen.ui.time_params))):null};
weathergen.ui.set_time=function(){return cljs.core.swap_BANG_.call(null,weathergen.ui.weather_params,weathergen.model.set_time,(new cljs.core.Keyword(null,"displayed","displayed",-436192586)).cljs$core$IFn$_invoke$arity$1(cljs.core.deref.call(null,weathergen.ui.time_params)))};
weathergen.ui.change_location=function(a,b){return cljs.core.empty_QMARK_.call(null,b)?cljs.core.reset_BANG_.call(null,weathergen.ui.selected_cell,null):cljs.core.reset_BANG_.call(null,weathergen.ui.selected_cell,new cljs.core.PersistentArrayMap(null,2,[new cljs.core.Keyword(null,"location","location",1815599388),b,new cljs.core.Keyword(null,"coordinates","coordinates",-1225332668),cljs.core.mapv.call(null,cljs.core.long$,cljs.core.juxt.call(null,new cljs.core.Keyword(null,"x","x",2099068185),new cljs.core.Keyword(null,
"y","y",-1757859776)).call(null,weathergen.coordinates.fgrid__GT_weather.call(null,a,(new cljs.core.Keyword(null,"x","x",2099068185)).cljs$core$IFn$_invoke$arity$1(b),(new cljs.core.Keyword(null,"y","y",-1757859776)).cljs$core$IFn$_invoke$arity$1(b))))],null))};weathergen.ui.mission_name_base=function(a){if(cljs.core.empty_QMARK_.call(null,a))return"vmt";var b=a.lastIndexOf(".");return 0>b?a:cljs.core.subs.call(null,a,0,b)};
weathergen.ui.safari_safe_binary=function(a){return cljs.core.truth_(weathergen.ui.safari_QMARK_)?new Blob([a],{type:"application/octet-stream"}):a};weathergen.ui.fmap_filename=function(a){return goog.string.format("%d%02d%02d.fmap",(new cljs.core.Keyword(null,"day","day",-274800446)).cljs$core$IFn$_invoke$arity$1(a),(new cljs.core.Keyword(null,"hour","hour",-555989214)).cljs$core$IFn$_invoke$arity$1(a),(new cljs.core.Keyword(null,"minute","minute",-642875969)).cljs$core$IFn$_invoke$arity$1(a))};
weathergen.ui.twx_filename=function(a){return[cljs.core.str.cljs$core$IFn$_invoke$arity$1(weathergen.ui.mission_name_base.call(null,a)),".twx"].join("")};
weathergen.ui.save_fmap=function(a,b,c,d){var e=cljs.core.get_in.call(null,a,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"time","time",1385887882),new cljs.core.Keyword(null,"current","current",-1088038603)],null)),f=(new cljs.core.Keyword(null,"cell-count","cell-count",-441457582)).cljs$core$IFn$_invoke$arity$1(a),g=cljs.core.nth.call(null,f,0,null),h=cljs.core.nth.call(null,f,1,null);d=cljs.core._EQ_.call(null,a,weathergen.ui.weather_data_params)?
d:weathergen.model.weather_grid.call(null,cljs.core.assoc.call(null,a,new cljs.core.Keyword(null,"cells","cells",-985166822),function(){return function(a,b,c,d){return function r(e){return new cljs.core.LazySeq(null,function(a,b,c,d){return function(){for(var f=e;;){var g=cljs.core.seq.call(null,f);if(g){var h=g,k=cljs.core.first.call(null,h);g=function(a,b,c,d,e,f,g,h){return function I(k){return new cljs.core.LazySeq(null,function(a,b,c,d,e,f,g,h){return function(){for(;;){var a=cljs.core.seq.call(null,
k);if(a){if(cljs.core.chunked_seq_QMARK_.call(null,a)){var c=cljs.core.chunk_first.call(null,a),d=cljs.core.count.call(null,c),e=cljs.core.chunk_buffer.call(null,d);a:for(var f=0;;)if(f<d){var g=cljs.core._nth.call(null,c,f);cljs.core.chunk_append.call(null,e,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[b,g],null));f+=1}else{c=!0;break a}return c?cljs.core.chunk_cons.call(null,cljs.core.chunk.call(null,e),I.call(null,cljs.core.chunk_rest.call(null,a))):cljs.core.chunk_cons.call(null,
cljs.core.chunk.call(null,e),null)}e=cljs.core.first.call(null,a);return cljs.core.cons.call(null,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[b,e],null),I.call(null,cljs.core.rest.call(null,a)))}return null}}}(a,b,c,d,e,f,g,h),null,null)}}(f,k,h,g,a,b,c,d);if(g=cljs.core.seq.call(null,g.call(null,cljs.core.range.call(null,d))))return cljs.core.concat.call(null,g,r.call(null,cljs.core.rest.call(null,f)));f=cljs.core.rest.call(null,f)}else return null}}}(a,b,c,d),
null,null)}}(e,f,g,h).call(null,cljs.core.range.call(null,g))}()));a=vmt.fmap.encode.call(null,d,a,b,c);return weathergen.ui.common.save_data.call(null,new cljs.core.PersistentArrayMap(null,4,[new cljs.core.Keyword(null,"data","data",-232669377),Buffer.from(a.buffer),new cljs.core.Keyword(null,"title","title",636505583),"Save FMAP",new cljs.core.Keyword(null,"filters","filters",974726919),new cljs.core.PersistentArrayMap(null,2,[new cljs.core.Keyword(null,"name","name",1843675177),"FMAP Files",new cljs.core.Keyword(null,
"extension","extension",1453374065),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,["fmap"],null)],null),new cljs.core.Keyword(null,"default-path","default-path",-1046856029),[cljs.core.str.cljs$core$IFn$_invoke$arity$1(weathergen.ui.mission_name_base.call(null,(new cljs.core.Keyword(null,"mission-name","mission-name",1479736582)).cljs$core$IFn$_invoke$arity$1(cljs.core.deref.call(null,weathergen.ui.mission)))),"-",cljs.core.str.cljs$core$IFn$_invoke$arity$1(weathergen.ui.fmap_filename.call(null,
e))].join("")],null))};
weathergen.ui.settings_blob=function(){return new Blob([cljs.core.pr_str.call(null,new cljs.core.PersistentArrayMap(null,5,[new cljs.core.Keyword(null,"weather-params","weather-params",-259271365),cljs.core.deref.call(null,weathergen.ui.weather_params),new cljs.core.Keyword(null,"movement-params","movement-params",293385966),cljs.core.deref.call(null,weathergen.ui.movement_params),new cljs.core.Keyword(null,"display-params","display-params",573405707),cljs.core.deref.call(null,weathergen.ui.display_params),
new cljs.core.Keyword(null,"cloud-params","cloud-params",-540447983),cljs.core.deref.call(null,weathergen.ui.cloud_params),new cljs.core.Keyword(null,"revision","revision",-1350113114),weathergen.ui.revision],null))],{type:"text/plain"})};weathergen.ui.settings_filename=function(a){return[cljs.core.str.cljs$core$IFn$_invoke$arity$1(weathergen.ui.mission_name_base.call(null,a)),".vmtw"].join("")};
weathergen.ui.save_weather_settings=function(a){return weathergen.ui.common.save_data.call(null,new cljs.core.PersistentArrayMap(null,4,[new cljs.core.Keyword(null,"data","data",-232669377),cljs.core.pr_str.call(null,new cljs.core.PersistentArrayMap(null,5,[new cljs.core.Keyword(null,"weather-params","weather-params",-259271365),cljs.core.deref.call(null,weathergen.ui.weather_params),new cljs.core.Keyword(null,"movement-params","movement-params",293385966),cljs.core.deref.call(null,weathergen.ui.movement_params),
new cljs.core.Keyword(null,"display-params","display-params",573405707),cljs.core.deref.call(null,weathergen.ui.display_params),new cljs.core.Keyword(null,"cloud-params","cloud-params",-540447983),cljs.core.deref.call(null,weathergen.ui.cloud_params),new cljs.core.Keyword(null,"revision","revision",-1350113114),weathergen.ui.revision],null)),new cljs.core.Keyword(null,"title","title",636505583),"Save weather settings",new cljs.core.Keyword(null,"default-path","default-path",-1046856029),weathergen.ui.settings_filename.call(null,
(new cljs.core.Keyword(null,"mission-name","mission-name",1479736582)).cljs$core$IFn$_invoke$arity$1(cljs.core.deref.call(null,weathergen.ui.mission))),new cljs.core.Keyword(null,"filters","filters",974726919),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.PersistentArrayMap(null,2,[new cljs.core.Keyword(null,"name","name",1843675177),"VMT Weather Settings",new cljs.core.Keyword(null,"extension","extension",1453374065),new cljs.core.PersistentVector(null,
1,5,cljs.core.PersistentVector.EMPTY_NODE,["vmtw"],null)],null)],null)],null))};weathergen.ui.twx_blob=function(){return new Blob([weathergen.twx.get_twx.call(null)])};
weathergen.ui.save_twx=function(a){return weathergen.ui.common.save_data.call(null,new cljs.core.PersistentArrayMap(null,4,[new cljs.core.Keyword(null,"data","data",-232669377),weathergen.ui.safari_safe_binary.call(null,weathergen.ui.twx_blob.call(null)),new cljs.core.Keyword(null,"title","title",636505583),"Save TWX",new cljs.core.Keyword(null,"filters","filters",974726919),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.PersistentArrayMap(null,2,[new cljs.core.Keyword(null,
"name","name",1843675177),"TWX Files",new cljs.core.Keyword(null,"extension","extension",1453374065),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,["twx"],null)],null)],null),new cljs.core.Keyword(null,"default-path","default-path",-1046856029),weathergen.ui.twx_filename.call(null,a)],null))};
weathergen.ui.load_weather_settings=function(a){a=weathergen.ui.electron.remote.dialog.showOpenDialog(cljs.core.clj__GT_js.call(null,new cljs.core.PersistentArrayMap(null,4,[new cljs.core.Keyword(null,"title","title",636505583),"Select a VMT or Weathergen Weather File",new cljs.core.Keyword(null,"properties","properties",685819552),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,["openFile"],null),new cljs.core.Keyword(null,"defaultPath","defaultPath",-582313676),weathergen.falcon.files.mission.campaign_dir.call(null,
cljs.core.deref.call(null,weathergen.ui.mission)),new cljs.core.Keyword(null,"filters","filters",974726919),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.PersistentArrayMap(null,2,[new cljs.core.Keyword(null,"name","name",1843675177),"VMT Weather Settings",new cljs.core.Keyword(null,"extensions","extensions",-1103629196),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,["vmtw"],null)],null),new cljs.core.PersistentArrayMap(null,
2,[new cljs.core.Keyword(null,"name","name",1843675177),"WeatherGen Settings",new cljs.core.Keyword(null,"extensions","extensions",-1103629196),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,["edn"],null)],null)],null)],null)));var b=cljs.core.nth.call(null,a,0,null);if(cljs.core.truth_(b)){var c=weathergen.model.upgrade.call(null,cljs.reader.read_string.call(null,weathergen.filesystem.file_text.call(null,b)),weathergen.ui.revision),d=weathergen.falcon.files.mission.mission_time.call(null,
cljs.core.deref.call(null,weathergen.ui.mission));return javelin.core.dosync_STAR_.call(null,function(a,b,c,d){return function(){cljs.core.reset_BANG_.call(null,weathergen.ui.weather_params,cljs.core.assoc_in.call(null,(new cljs.core.Keyword(null,"weather-params","weather-params",-259271365)).cljs$core$IFn$_invoke$arity$1(a),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"time","time",1385887882),new cljs.core.Keyword(null,"current","current",
-1088038603)],null),b));cljs.core.reset_BANG_.call(null,weathergen.ui.display_params,cljs.core.assoc.call(null,(new cljs.core.Keyword(null,"display-params","display-params",573405707)).cljs$core$IFn$_invoke$arity$1(a),new cljs.core.Keyword(null,"multi-save","multi-save",-1814543541),new cljs.core.PersistentArrayMap(null,4,[new cljs.core.Keyword(null,"mission-name","mission-name",1479736582),null,new cljs.core.Keyword(null,"from","from",1815293044),b,new cljs.core.Keyword(null,"to","to",192099007),
weathergen.time.add_minutes.call(null,b,360),new cljs.core.Keyword(null,"step","step",1288888124),(new cljs.core.Keyword(null,"step","step",1288888124)).cljs$core$IFn$_invoke$arity$1((new cljs.core.Keyword(null,"movement-params","movement-params",293385966)).cljs$core$IFn$_invoke$arity$1(a))],null)));cljs.core.reset_BANG_.call(null,weathergen.ui.movement_params,(new cljs.core.Keyword(null,"movement-params","movement-params",293385966)).cljs$core$IFn$_invoke$arity$1(a));cljs.core.reset_BANG_.call(null,
weathergen.ui.cloud_params,(new cljs.core.Keyword(null,"cloud-params","cloud-params",-540447983)).cljs$core$IFn$_invoke$arity$1(a));return cljs.core.swap_BANG_.call(null,weathergen.ui.time_params,cljs.core.assoc,new cljs.core.Keyword(null,"displayed","displayed",-436192586),b)}}(c,d,a,b))}return null};
hoplon.core.do_watch.call(null,weathergen.ui.mission,function(a,b){return cljs.core.truth_(b)?(a=weathergen.falcon.files.mission.mission_time.call(null,b),cljs.core.swap_BANG_.call(null,weathergen.ui.display_params,cljs.core.update,new cljs.core.Keyword(null,"multi-save","multi-save",-1814543541),function(a){return function(b){return cljs.core.assoc.call(null,b,new cljs.core.Keyword(null,"from","from",1815293044),a,new cljs.core.Keyword(null,"to","to",192099007),weathergen.time.add_minutes.call(null,
a,360))}}(a)),cljs.core.swap_BANG_.call(null,weathergen.ui.weather_params,weathergen.model.jump_to_time,cljs.core.deref.call(null,weathergen.ui.movement_params),a),cljs.core.swap_BANG_.call(null,weathergen.ui.time_params,cljs.core.assoc_in,new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"displayed","displayed",-436192586)],null),a)):null});
weathergen.ui.load_mission=function(a,b){var c=console.time("load-mission"),d=function(){var d=function(){console.time("read-mission");var c=weathergen.falcon.files.mission.read_mission.call(null,a,b);console.timeEnd("read-mission");return c}();return weathergen.progress.with_step.call(null,"Preparing views",function(a,b,c){return function(){return javelin.core.dosync_STAR_.call(null,function(a,b,c){return function(){cljs.core.reset_BANG_.call(null,weathergen.ui.mission,a);weathergen.falcon.files.mission.mission_time.call(null,
cljs.core.deref.call(null,weathergen.ui.mission));return cljs.core.reset_BANG_.call(null,weathergen.ui.visible_sides,cljs.core.PersistentHashSet.createAsIfByAssoc([weathergen.falcon.files.mission.side.call(null,a,weathergen.falcon.files.mission.last_player_team.call(null,a))]))}}(a,b,c))}}(d,"load-mission",c))}();console.timeEnd("load-mission");return d};weathergen.ui.StringDecoder=require("string_decoder").StringDecoder;weathergen.ui.buf__GT_string=function(a){return(new weathergen.ui.StringDecoder).write(a)};
weathergen.ui.string__GT_buf=function(a){return Buffer.from(a)};
weathergen.ui.load_briefing=function(a,b){return weathergen.progress.with_step.call(null,"Reading briefing file",function(){var c=weathergen.encoding.decode.call(null,weathergen.compression.decompress.call(null,weathergen.filesystem.file_buffer.call(null,b))),d=null!=c&&(c.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===c.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,c):c,e=cljs.core.get.call(null,d,new cljs.core.Keyword(null,"revision","revision",-1350113114)),
f=cljs.core.get.call(null,d,new cljs.core.Keyword(null,"install-id","install-id",-1310868737)),g=cljs.core.get.call(null,d,new cljs.core.Keyword(null,"briefing","briefing",-176308969));taoensso.timbre._log_BANG_.call(null,taoensso.timbre._STAR_config_STAR_,new cljs.core.Keyword(null,"debug","debug",-1608172596),"weathergen.ui",null,1278,new cljs.core.Keyword(null,"p","p",151049309),new cljs.core.Keyword(null,"auto","auto",-566279492),new cljs.core.Delay(function(b,c,d,e,f,g){return function(){return new cljs.core.PersistentVector(null,
7,5,cljs.core.PersistentVector.EMPTY_NODE,["load-briefing",new cljs.core.Keyword(null,"installations","installations",-2091217739),a,new cljs.core.Keyword(null,"revision","revision",-1350113114),e,new cljs.core.Keyword(null,"briefing?","briefing?",-568550789),null!=g],null)}}(c,d,d,e,f,g),null),null,1959032596);if(8>e)throw cljs.core.ex_info.call(null,["This version of VMT cannot be used to load briefing files from prior versions - file format changes in BMS 4.34 resulted in incompatibilities. You will need to ask the mission creator for a new briefing file. Briefing revision: ",
cljs.core.str.cljs$core$IFn$_invoke$arity$1(e)].join(""),new cljs.core.PersistentArrayMap(null,2,[new cljs.core.Keyword(null,"omit-stack-trace?","omit-stack-trace?",1080142229),!0,new cljs.core.Keyword(null,"revision","revision",-1350113114),e],null));var h=weathergen.progress.with_step.call(null,["Loading briefing from ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(b)].join(""),function(b,c,d,e,f,g){return function(){var b=cljs.core.get_in.call(null,g,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,
[new cljs.core.Keyword(null,"build-info","build-info",-622713066),"VERSION"],null)),c=cljs.core.get.call(null,weathergen.ui.build_info,"VERSION");cljs.core._EQ_.call(null,b,c)||weathergen.progress.step_warn.call(null,["The version used to save this briefing file was ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.core.truth_(b)?b:"(no version present)"),". The version of VMT you are running is ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.core.truth_(c)?c:"(no version present)"),". While different versions of VMT generally work just fine together, if anything doesn't work right you might want to make sure you and the mission creator are using the same version."].join(""));
return weathergen.falcon.files.mission.briefing__GT_mission.call(null,a,g,new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword("database","version","database/version",1963983397),100],null))}}(c,d,d,e,f,g)),k=function(a,b,c,d,e,f,g){return function(a){return cljs.core.assoc.call(null,a,new cljs.core.Keyword(null,"editing?","editing?",1646440800),!1)}}(h,c,d,d,e,f,g);return weathergen.progress.with_step.call(null,"Preparing views",function(a,b,c,d,e,f,g,h){return function(){javelin.core.dosync_STAR_.call(null,
function(a,b,c,d,e,f,g,h){return function(){cljs.core.reset_BANG_.call(null,weathergen.ui.display_mode,new cljs.core.Keyword(null,"briefing","briefing",-176308969));cljs.core.reset_BANG_.call(null,weathergen.ui.mission,a);cljs.core.reset_BANG_.call(null,weathergen.ui.visible_sides,(new cljs.core.Keyword(null,"visible-sides","visible-sides",391079481)).cljs$core$IFn$_invoke$arity$1(e));cljs.core.reset_BANG_.call(null,weathergen.ui.weather_params,cljs.core.assoc_in.call(null,cljs.core.update.call(null,
(new cljs.core.Keyword(null,"weather-params","weather-params",-259271365)).cljs$core$IFn$_invoke$arity$1((new cljs.core.Keyword(null,"weather","weather",1320452344)).cljs$core$IFn$_invoke$arity$1(e)),new cljs.core.Keyword(null,"weather-overrides","weather-overrides",-837381710),function(a,b,c,d,e,f,g,h){return function(a){return cljs.core.map.call(null,b,a)}}(a,b,c,d,e,f,g,h)),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"time","time",1385887882),
new cljs.core.Keyword(null,"max","max",61366548)],null),weathergen.falcon.files.mission.mission_time.call(null,a)));cljs.core.reset_BANG_.call(null,weathergen.ui.cloud_params,(new cljs.core.Keyword(null,"cloud-params","cloud-params",-540447983)).cljs$core$IFn$_invoke$arity$1((new cljs.core.Keyword(null,"weather","weather",1320452344)).cljs$core$IFn$_invoke$arity$1(e)));cljs.core.reset_BANG_.call(null,weathergen.ui.movement_params,(new cljs.core.Keyword(null,"movement-params","movement-params",293385966)).cljs$core$IFn$_invoke$arity$1((new cljs.core.Keyword(null,
"weather","weather",1320452344)).cljs$core$IFn$_invoke$arity$1(e)));cljs.core.reset_BANG_.call(null,weathergen.ui.display_params,(new cljs.core.Keyword(null,"display-params","display-params",573405707)).cljs$core$IFn$_invoke$arity$1((new cljs.core.Keyword(null,"weather","weather",1320452344)).cljs$core$IFn$_invoke$arity$1(e)));return cljs.core.reset_BANG_.call(null,weathergen.ui.briefing_notes,function(){var a=(new cljs.core.Keyword(null,"briefing-notes","briefing-notes",-1524193117)).cljs$core$IFn$_invoke$arity$1(e);
return cljs.core.truth_(a)?a:""}())}}(a,b,c,d,e,f,g,h));weathergen.ui.layers.annotations.load_briefing_data.call(null,weathergen.ui.annotations_layer,(new cljs.core.Keyword(null,"annotations","annotations",1640956248)).cljs$core$IFn$_invoke$arity$1(e));return weathergen.ui.layers.flights.load_briefing_data.call(null,weathergen.ui.flight_paths_layer,(new cljs.core.Keyword(null,"flights","flights",-1637719124)).cljs$core$IFn$_invoke$arity$1(e))}}(h,k,c,d,d,e,f,g))})};
weathergen.ui.save_briefing=function(a,b){return weathergen.ui.common.save_data.call(null,new cljs.core.PersistentArrayMap(null,4,[new cljs.core.Keyword(null,"data","data",-232669377),weathergen.compression.compress.call(null,weathergen.encoding.encode.call(null,new cljs.core.PersistentArrayMap(null,8,[new cljs.core.Keyword(null,"revision","revision",-1350113114),weathergen.ui.revision,new cljs.core.Keyword(null,"vmt-version","vmt-version",587039393),cljs.core.get.call(null,weathergen.ui.build_info,
"VERSION"),new cljs.core.Keyword(null,"briefing","briefing",-176308969),weathergen.falcon.files.mission.mission__GT_briefing.call(null,cljs.core.deref.call(null,weathergen.ui.mission),a,weathergen.ui.build_info),new cljs.core.Keyword(null,"weather","weather",1320452344),new cljs.core.PersistentArrayMap(null,4,[new cljs.core.Keyword(null,"weather-params","weather-params",-259271365),cljs.core.deref.call(null,weathergen.ui.weather_params),new cljs.core.Keyword(null,"cloud-params","cloud-params",-540447983),
cljs.core.deref.call(null,weathergen.ui.cloud_params),new cljs.core.Keyword(null,"movement-params","movement-params",293385966),cljs.core.deref.call(null,weathergen.ui.movement_params),new cljs.core.Keyword(null,"display-params","display-params",573405707),cljs.core.deref.call(null,weathergen.ui.display_params)],null),new cljs.core.Keyword(null,"visible-sides","visible-sides",391079481),b,new cljs.core.Keyword(null,"briefing-notes","briefing-notes",-1524193117),cljs.core.deref.call(null,weathergen.ui.briefing_notes),
new cljs.core.Keyword(null,"annotations","annotations",1640956248),weathergen.ui.layers.annotations.briefing_data.call(null,weathergen.ui.annotations_layer),new cljs.core.Keyword(null,"flights","flights",-1637719124),weathergen.ui.layers.flights.briefing_data.call(null,weathergen.ui.flight_paths_layer)],null))),new cljs.core.Keyword(null,"title","title",636505583),"Save a briefing file",new cljs.core.Keyword(null,"default-path","default-path",-1046856029),[cljs.core.str.cljs$core$IFn$_invoke$arity$1(weathergen.ui.mission_name_base.call(null,
(new cljs.core.Keyword(null,"mission-name","mission-name",1479736582)).cljs$core$IFn$_invoke$arity$1(cljs.core.deref.call(null,weathergen.ui.mission)))),".vmtb"].join(""),new cljs.core.Keyword(null,"filters","filters",974726919),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.PersistentArrayMap(null,2,[new cljs.core.Keyword(null,"name","name",1843675177),"VMT Briefing",new cljs.core.Keyword(null,"extension","extension",1453374065),new cljs.core.PersistentVector(null,
1,5,cljs.core.PersistentVector.EMPTY_NODE,["vmtb"],null)],null)],null)],null))};
weathergen.ui.weather_worker=function(){var a=new Worker("worker.js"),b=cljs.core.async.chan.call(null),c=cljs.core.async.chan.call(null),d=cljs.core.async.chan.call(null);a.onmessage=function(a,b,c,d){return function(e){var f=cljs.core.async.chan.call(null,1);cljs.core.async.impl.dispatch.run.call(null,function(a,b,c,d,f){return function(){var g=function(){return function(a,b,c,d,e,f){return function(){var b=null,c=function(){var a=[null,null,null,null,null,null,null];a[0]=b;a[1]=1;return a},d=function(b){for(;;){a:try{for(;;){var c=
a.call(null,b);if(!cljs.core.keyword_identical_QMARK_.call(null,c,new cljs.core.Keyword(null,"recur","recur",-437573268))){var d=c;break a}}}catch(J){if(J instanceof Object)b[5]=J,cljs.core.async.impl.ioc_helpers.process_exception.call(null,b),d=new cljs.core.Keyword(null,"recur","recur",-437573268);else throw J;}if(!cljs.core.keyword_identical_QMARK_.call(null,d,new cljs.core.Keyword(null,"recur","recur",-437573268)))return d}};b=function(a){switch(arguments.length){case 0:return c.call(this);case 1:return d.call(this,
a)}throw Error("Invalid arity: "+arguments.length);};b.cljs$core$IFn$_invoke$arity$0=c;b.cljs$core$IFn$_invoke$arity$1=d;return b}()}(function(a,b,c,d,f){return function(a){var b=a[1];return 1===b?(b=weathergen.encoding.decode.call(null,e.data),cljs.core.async.impl.ioc_helpers.put_BANG_.call(null,a,2,d,b)):2===b?cljs.core.async.impl.ioc_helpers.return_chan.call(null,a,a[2]):null}}(a,b,c,d,f),a,b,c,d,f)}(),h=function(){var b=g.call(null);b[6]=a;return b}();return cljs.core.async.impl.ioc_helpers.run_state_machine_wrapped.call(null,
h)}}(f,a,b,c,d));return f}}(a,b,c,d);return new cljs.core.PersistentArrayMap(null,4,[new cljs.core.Keyword(null,"command-ch","command-ch",508874766),b,new cljs.core.Keyword(null,"worker","worker",938239996),a,new cljs.core.Keyword(null,"output-ch","output-ch",1069791231),d,new cljs.core.Keyword(null,"loop","loop",-395552849),function(){var e=cljs.core.async.chan.call(null,1);cljs.core.async.impl.dispatch.run.call(null,function(a,b,c,d,e){return function(){var f=function(){return function(a,b,c,d,
e,f){return function(){var b=null,c=function(){var a=[null,null,null,null,null,null,null,null,null];a[0]=b;a[1]=1;return a},d=function(b){for(;;){a:try{for(;;){var c=a.call(null,b);if(!cljs.core.keyword_identical_QMARK_.call(null,c,new cljs.core.Keyword(null,"recur","recur",-437573268))){var d=c;break a}}}catch(A){if(A instanceof Object)b[5]=A,cljs.core.async.impl.ioc_helpers.process_exception.call(null,b),d=new cljs.core.Keyword(null,"recur","recur",-437573268);else throw A;}if(!cljs.core.keyword_identical_QMARK_.call(null,
d,new cljs.core.Keyword(null,"recur","recur",-437573268)))return d}};b=function(a){switch(arguments.length){case 0:return c.call(this);case 1:return d.call(this,a)}throw Error("Invalid arity: "+arguments.length);};b.cljs$core$IFn$_invoke$arity$0=c;b.cljs$core$IFn$_invoke$arity$1=d;return b}()}(function(a,b,c,d,e){return function(a){var f=a[1];return 1===f?(a[2]=null,a[1]=2,new cljs.core.Keyword(null,"recur","recur",-437573268)):2===f?cljs.core.async.impl.ioc_helpers.take_BANG_.call(null,a,4,c):3===
f?cljs.core.async.impl.ioc_helpers.return_chan.call(null,a,a[2]):4===f?(f=weathergen.encoding.encode.call(null,a[2]),f=b.postMessage(f),a[7]=f,cljs.core.async.impl.ioc_helpers.take_BANG_.call(null,a,6,d)):5===f?(a[8]=a[2],a[2]=null,a[1]=2,new cljs.core.Keyword(null,"recur","recur",-437573268)):6===f?cljs.core.async.impl.ioc_helpers.put_BANG_.call(null,a,5,e,a[2]):null}}(a,b,c,d,e),a,b,c,d,e)}(),g=function(){var b=f.call(null);b[6]=a;return b}();return cljs.core.async.impl.ioc_helpers.run_state_machine_wrapped.call(null,
g)}}(e,a,b,c,d));return e}()],null)}();
weathergen.ui.save_weather_files=function(a){var b=null!=a&&(a.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===a.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,a):a,c=cljs.core.get.call(null,b,new cljs.core.Keyword(null,"ny","ny",1701791641)),d=cljs.core.get.call(null,b,new cljs.core.Keyword(null,"progress","progress",244323547)),e=cljs.core.get.call(null,b,new cljs.core.Keyword(null,"weather-params","weather-params",-259271365)),f=cljs.core.get.call(null,b,new cljs.core.Keyword(null,
"step","step",1288888124)),g=cljs.core.get.call(null,b,new cljs.core.Keyword(null,"to","to",192099007)),h=cljs.core.get.call(null,b,new cljs.core.Keyword(null,"mission-name","mission-name",1479736582)),k=cljs.core.get.call(null,b,new cljs.core.Keyword(null,"movement-params","movement-params",293385966)),l=cljs.core.get.call(null,b,new cljs.core.Keyword(null,"cloud-params","cloud-params",-540447983)),m=cljs.core.get.call(null,b,new cljs.core.Keyword(null,"save-file","save-file",-250442926)),n=cljs.core.get.call(null,
b,new cljs.core.Keyword(null,"nx","nx",-1996436366)),p=cljs.core.get.call(null,b,new cljs.core.Keyword(null,"from","from",1815293044)),q=cljs.core.get.call(null,b,new cljs.core.Keyword(null,"campaign-dir","campaign-dir",-1278307883)),r=cljs.core.get.call(null,b,new cljs.core.Keyword(null,"weather-direction","weather-direction",-1789808873)),u=cljs.core.get.call(null,b,new cljs.core.Keyword(null,"cancel","cancel",-1964088360)),t=function(){return function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u){return function U(t){return new cljs.core.LazySeq(null,
function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u){return function(){for(var v=t;;){var w=cljs.core.seq.call(null,v);if(w){var x=w,y=cljs.core.first.call(null,x);w=function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w,x){return function ya(y){return new cljs.core.LazySeq(null,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w,x){return function(){for(;;){var a=cljs.core.seq.call(null,y);if(a){if(cljs.core.chunked_seq_QMARK_.call(null,a)){var c=cljs.core.chunk_first.call(null,a),d=cljs.core.count.call(null,c),e=cljs.core.chunk_buffer.call(null,
d);a:for(var f=0;;)if(f<d){var g=cljs.core._nth.call(null,c,f);cljs.core.chunk_append.call(null,e,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[b,g],null));f+=1}else{c=!0;break a}return c?cljs.core.chunk_cons.call(null,cljs.core.chunk.call(null,e),ya.call(null,cljs.core.chunk_rest.call(null,a))):cljs.core.chunk_cons.call(null,cljs.core.chunk.call(null,e),null)}e=cljs.core.first.call(null,a);return cljs.core.cons.call(null,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,
[b,e],null),ya.call(null,cljs.core.rest.call(null,a)))}return null}}}(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w,x),null,null)}}(v,y,x,w,a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u);if(w=cljs.core.seq.call(null,w.call(null,cljs.core.range.call(null,c))))return cljs.core.concat.call(null,w,U.call(null,cljs.core.rest.call(null,v)));v=cljs.core.rest.call(null,v)}else return null}}}(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u),null,null)}}(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u).call(null,cljs.core.range.call(null,n))}(),v=weathergen.time.campaign_time__GT_minutes.call(null,
p),w=weathergen.time.campaign_time__GT_minutes.call(null,g),x=cljs.core.long$.call(null,(w-v)/f)+1,y=weathergen.filesystem.path_combine.call(null,q,"WeatherMapsUpdates"),z=function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w,x,y){return function(a,b){cljs.core.reset_BANG_.call(null,u,b);return weathergen.ui.common.save_blob_async.call(null,a,weathergen.filesystem.path_combine.call(null,w,b))}}(t,v,w,x,y,a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u),B=function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w,x,y,z){return function(a,
b){cljs.core.reset_BANG_.call(null,t,b);return weathergen.filesystem.save_data_async.call(null,weathergen.filesystem.path_combine.call(null,x,b),a)}}(t,v,w,x,y,z,a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u),C=cljs.core.async.chan.call(null,1);cljs.core.async.impl.dispatch.run.call(null,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w,x,y,z,B,C){return function(){var A=function(){return function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w,x,y,z,A,B,C){return function(){var b=null,c=function(){var a=[null,null,null,null,
null,null,null,null,null,null,null,null,null,null,null,null,null];a[0]=b;a[1]=1;return a},d=function(b){for(;;){a:try{for(;;){var c=a.call(null,b);if(!cljs.core.keyword_identical_QMARK_.call(null,c,new cljs.core.Keyword(null,"recur","recur",-437573268))){var d=c;break a}}}catch(xa){if(xa instanceof Object)b[5]=xa,cljs.core.async.impl.ioc_helpers.process_exception.call(null,b),d=new cljs.core.Keyword(null,"recur","recur",-437573268);else throw xa;}if(!cljs.core.keyword_identical_QMARK_.call(null,d,
new cljs.core.Keyword(null,"recur","recur",-437573268)))return d}};b=function(a){switch(arguments.length){case 0:return c.call(this);case 1:return d.call(this,a)}throw Error("Invalid arity: "+arguments.length);};b.cljs$core$IFn$_invoke$arity$0=c;b.cljs$core$IFn$_invoke$arity$1=d;return b}()}(function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w,x,y,z,A,B){return function(C){var D=C[1];if(7===D){var E=C[2],F=(new cljs.core.Keyword(null,"output-ch","output-ch",1069791231)).cljs$core$IFn$_invoke$arity$1(weathergen.ui.weather_worker);
C[7]=E;return cljs.core.async.impl.ioc_helpers.take_BANG_.call(null,C,8,F)}if(1===D){var G=c,I=!1;C[8]=I;C[9]=G;C[2]=null;C[1]=2;return new cljs.core.Keyword(null,"recur","recur",-437573268)}if(4===D){E=weathergen.ui.twx_blob.call(null);F=weathergen.ui.twx_filename.call(null,u);E=g.call(null,E,F);F=weathergen.ui.settings_blob.call(null);var H=weathergen.ui.settings_filename.call(null,u);H=g.call(null,F,H);F=cljs.core.reset_BANG_.call(null,n,null);C[10]=E;C[11]=H;C[2]=F;C[1]=6;return new cljs.core.Keyword(null,
"recur","recur",-437573268)}if(13===D)return G=C[9],E=G+q,I=!0,C[8]=I,C[9]=E,C[2]=null,C[1]=2,new cljs.core.Keyword(null,"recur","recur",-437573268);if(6===D)return C[2]=C[2],C[1]=3,new cljs.core.Keyword(null,"recur","recur",-437573268);if(3===D)return cljs.core.async.impl.ioc_helpers.return_chan.call(null,C,C[2]);if(12===D)return E=cljs.core.reset_BANG_.call(null,n,null),C[2]=E,C[1]=14,new cljs.core.Keyword(null,"recur","recur",-437573268);if(2===D){I=C[8];G=C[9];var J=G-c,L=d-c,K=J/L,M=1>K?K:1;
E=function(){return function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w,x,y,z,A,B,C,D,E,F,G,I,H,J,L,K){return function(){return new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,["progress",c],null)}}(G,I,M,I,G,J,L,K,M,D,a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w,x,y,z,A,B)}();E=new cljs.core.Delay(E,null);F=taoensso.timbre._log_BANG_.call(null,taoensso.timbre._STAR_config_STAR_,new cljs.core.Keyword(null,"debug","debug",-1608172596),"weathergen.ui",null,1390,new cljs.core.Keyword(null,
"p","p",151049309),new cljs.core.Keyword(null,"auto","auto",-566279492),E,null,246747760);H=cljs.core.reset_BANG_.call(null,n,M);E=d<G;C[12]=H;C[13]=F;cljs.core.truth_(E)?C[1]=4:C[1]=5;return new cljs.core.Keyword(null,"recur","recur",-437573268)}return 11===D?(E=C[14],G=C[9],F=C[2],H=weathergen.time.minutes__GT_campaign_time.call(null,G),H=weathergen.ui.fmap_filename.call(null,H),H=weathergen.filesystem.path_combine.call(null,"WeatherMapsUpdates",H),H=h.call(null,E,H),E=cljs.core.deref.call(null,
B),C[15]=H,C[16]=F,cljs.core.truth_(E)?C[1]=12:C[1]=13,new cljs.core.Keyword(null,"recur","recur",-437573268)):9===D?(C[2]=null,C[1]=11,new cljs.core.Keyword(null,"recur","recur",-437573268)):5===D?(G=C[9],E=(new cljs.core.Keyword(null,"command-ch","command-ch",508874766)).cljs$core$IFn$_invoke$arity$1(weathergen.ui.weather_worker),F=cljs.core.PersistentVector.EMPTY_NODE,H=[new cljs.core.Keyword(null,"time","time",1385887882),new cljs.core.Keyword(null,"current","current",-1088038603)],F=new cljs.core.PersistentVector(null,
2,5,F,H,null),H=weathergen.time.minutes__GT_campaign_time.call(null,G),F=cljs.core.assoc_in.call(null,p,F,H),F=cljs.core.assoc.call(null,F,new cljs.core.Keyword(null,"cells","cells",-985166822),b),cljs.core.async.impl.ioc_helpers.put_BANG_.call(null,C,7,E,F)):14===D?(C[2]=C[2],C[1]=6,new cljs.core.Keyword(null,"recur","recur",-437573268)):10===D?(E=C[14],F=weathergen.ui.mission_name_base.call(null,u),F=[cljs.core.str.cljs$core$IFn$_invoke$arity$1(F),".fmap"].join(""),E=h.call(null,E,F),C[2]=E,C[1]=
11,new cljs.core.Keyword(null,"recur","recur",-437573268)):8===D?(I=C[8],E=vmt.fmap.encode.call(null,C[2],p,t,v).buffer,E=Buffer.from(E),C[14]=E,cljs.core.truth_(I)?C[1]=9:C[1]=10,new cljs.core.Keyword(null,"recur","recur",-437573268)):null}}(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w,x,y,z,B,C),a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w,x,y,z,B,C)}(),D=function(){var b=A.call(null);b[6]=a;return b}();return cljs.core.async.impl.ioc_helpers.run_state_machine_wrapped.call(null,D)}}(C,t,v,w,x,y,z,B,a,b,c,d,e,
f,g,h,k,l,m,n,p,q,r,u));return C};weathergen.ui.remove_nth=function(a,b){return cljs.core.vec.call(null,cljs.core.concat.call(null,cljs.core.take.call(null,b,a),cljs.core.drop.call(null,b+1,a)))};weathergen.ui.invert_map=function(a){return cljs.core.zipmap.call(null,cljs.core.vals.call(null,a),cljs.core.keys.call(null,a))};
weathergen.ui.map_name__GT_key=new cljs.core.PersistentArrayMap(null,4,["Israel",new cljs.core.Keyword(null,"israel","israel",893888780),"Balkans",new cljs.core.Keyword(null,"balkans","balkans",-514308101),"Korea",new cljs.core.Keyword(null,"korea","korea",-1788137114),"Kuriles",new cljs.core.Keyword(null,"kuriles","kuriles",1501726930)],null);weathergen.ui.map_key__GT_name=weathergen.ui.invert_map.call(null,weathergen.ui.map_name__GT_key);
weathergen.ui.type_name__GT_key=new cljs.core.PersistentArrayMap(null,4,["Sunny",new cljs.core.Keyword(null,"sunny","sunny",1448267778),"Fair",new cljs.core.Keyword(null,"fair","fair",1684139423),"Poor",new cljs.core.Keyword(null,"poor","poor",1462482211),"Inclement",new cljs.core.Keyword(null,"inclement","inclement",-550669382)],null);weathergen.ui.type_key__GT_name=weathergen.ui.invert_map.call(null,weathergen.ui.type_name__GT_key);weathergen.ui.mbar_per_inhg=33.8637526;
weathergen.ui.mbar__GT_inhg=function(a){return a/weathergen.ui.mbar_per_inhg};weathergen.ui.inhg__GT_mbar=function(a){return a*weathergen.ui.mbar_per_inhg};
weathergen.ui.format_type=function(a){var b=cljs.core._EQ_;if(cljs.core.truth_(b.call(null,new cljs.core.Keyword(null,"sunny","sunny",1448267778),a)))return"Sunny";if(cljs.core.truth_(b.call(null,new cljs.core.Keyword(null,"fair","fair",1684139423),a)))return"Fair";if(cljs.core.truth_(b.call(null,new cljs.core.Keyword(null,"poor","poor",1462482211),a)))return"Poor";if(cljs.core.truth_(b.call(null,new cljs.core.Keyword(null,"inclement","inclement",-550669382),a)))return"Incl.";throw Error(["No matching clause: ",
cljs.core.str.cljs$core$IFn$_invoke$arity$1(a)].join(""));};weathergen.ui.format_pressure=function(a,b){return cljs.core.not.call(null,a)?"":cljs.core._EQ_.call(null,new cljs.core.Keyword(null,"inhg","inhg",-863180091),b)?a.toFixed(2):weathergen.ui.inhg__GT_mbar.call(null,a).toFixed(0)};weathergen.ui.format_temperature=function(a){return cljs.core.not.call(null,a)?"":a.toFixed(0)};
weathergen.ui.format_wind=function(a){if(cljs.core.not.call(null,a))return"";var b=null!=a&&(a.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===a.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,a):a;a=cljs.core.get.call(null,b,new cljs.core.Keyword(null,"speed","speed",1257663751));b=cljs.core.get.call(null,b,new cljs.core.Keyword(null,"heading","heading",-1312171873));return[cljs.core.str.cljs$core$IFn$_invoke$arity$1(goog.string.format("%03d",b)),"@",cljs.core.str.cljs$core$IFn$_invoke$arity$1(goog.string.format("%02d",
a.toFixed(0))),"kts"].join("")};weathergen.ui.format_visibility=function(a){return cljs.core.not.call(null,a)?"":2>a?a.toFixed(1):a.toFixed(0)};weathergen.ui.format_coords=function(a,b){return[cljs.core.str.cljs$core$IFn$_invoke$arity$1(a),", ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(b)].join("")};
weathergen.ui.cloud_descriptions=function(a,b,c){if(cljs.core._EQ_.call(null,b,new cljs.core.Keyword(null,"sunny","sunny",1448267778)))return"SKC";a=(new cljs.core.Keyword(null,"base","base",185279322)).cljs$core$IFn$_invoke$arity$1(c);c=(new cljs.core.PersistentArrayMap(null,4,[new cljs.core.Keyword(null,"few","few",941665998),"FEW",new cljs.core.Keyword(null,"scattered","scattered",-1263632526),"SCT",new cljs.core.Keyword(null,"broken","broken",-1742446874),"BKN",new cljs.core.Keyword(null,"overcast",
"overcast",-2096313755),"OVC"],null)).call(null,(new cljs.core.Keyword(null,"coverage","coverage",1606292651)).cljs$core$IFn$_invoke$arity$1(c));a=goog.string.format("%03d",cljs.core.long$.call(null,a/100));return[cljs.core.str.cljs$core$IFn$_invoke$arity$1(c),cljs.core.str.cljs$core$IFn$_invoke$arity$1(a)," "].join("")};
weathergen.ui.contrail_description=function(a,b){return goog.string.format("COTRA%03d",cljs.core.long$.call(null,cljs.core.get.call(null,(new cljs.core.Keyword(null,"contrails","contrails",1430581743)).cljs$core$IFn$_invoke$arity$1(a),b)/100))};weathergen.ui.format_cloud=function(a,b,c){return[weathergen.ui.cloud_descriptions.call(null,a,b,c)," ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(weathergen.ui.contrail_description.call(null,a,b))].join("")};
weathergen.ui.format_precipitation=function(a,b){return cljs.core._EQ_.call(null,b,new cljs.core.Keyword(null,"inclement","inclement",-550669382))?0<a?"Rain":"Snow":"None"};
weathergen.ui.bullseye=function(a,b){var c=null!=b&&(b.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===b.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,b):b;b=cljs.core.get.call(null,c,new cljs.core.Keyword(null,"x","x",2099068185));c=cljs.core.get.call(null,c,new cljs.core.Keyword(null,"y","y",-1757859776));a=(new cljs.core.Keyword(null,"campaign-info","campaign-info",1158908966)).cljs$core$IFn$_invoke$arity$1(a);var d=null!=a&&(a.cljs$lang$protocol_mask$partition0$&
64||cljs.core.PROTOCOL_SENTINEL===a.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,a):a;a=cljs.core.get.call(null,d,new cljs.core.Keyword(null,"bullseye-x","bullseye-x",-1698783852));d=cljs.core.get.call(null,d,new cljs.core.Keyword(null,"bullseye-y","bullseye-y",904460818));return goog.string.format("%f %f (%d %d)",b,c,a,d)};
weathergen.ui.format_bullseye=function(a){if(cljs.core.not.call(null,a))return"";a=null!=a&&(a.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===a.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,a):a;var b=cljs.core.get.call(null,a,new cljs.core.Keyword(null,"heading","heading",-1312171873));a=cljs.core.get.call(null,a,new cljs.core.Keyword(null,"distance","distance",-1671893894));return goog.string.format("%03d %d",function(){var a=cljs.core.long$.call(null,cljs.core.mod.call(null,
b,360));return 0===a?360:a}(),cljs.core.long$.call(null,a))};weathergen.ui.mouse_weather_coords=function(a){switch(arguments.length){case 1:return weathergen.ui.mouse_weather_coords.cljs$core$IFn$_invoke$arity$1(arguments[0]);case 3:return weathergen.ui.mouse_weather_coords.cljs$core$IFn$_invoke$arity$3(arguments[0],arguments[1],arguments[2]);default:throw Error(["Invalid arity: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(""));}};
weathergen.ui.mouse_weather_coords.cljs$core$IFn$_invoke$arity$1=function(a){return weathergen.ui.mouse_weather_coords.call(null,a,cljs.core.deref.call(null,weathergen.ui.map_zoom),cljs.core.deref.call(null,weathergen.ui.map_pan))};
weathergen.ui.mouse_weather_coords.cljs$core$IFn$_invoke$arity$3=function(a,b,c){try{var d=window.devicePixelRatio,e=a.offsetX*d,f=a.offsetY*d,g=(new cljs.core.Keyword(null,"cell-count","cell-count",-441457582)).cljs$core$IFn$_invoke$arity$1(cljs.core.deref.call(null,weathergen.ui.weather_params)),h=cljs.core.nth.call(null,g,0,null),k=cljs.core.nth.call(null,g,1,null),l=null!=c&&(c.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===c.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,
c):c,m=cljs.core.get.call(null,l,new cljs.core.Keyword(null,"x","x",2099068185)),n=cljs.core.get.call(null,l,new cljs.core.Keyword(null,"y","y",-1757859776)),p=cljs.core.deref.call(null,weathergen.ui.map_size),q=cljs.core.nth.call(null,p,0,null),r=cljs.core.nth.call(null,p,1,null);return new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[e*h/q/b/d+m,f*k/r/b/d+n],null)}catch(u){return b=u,taoensso.timbre._log_BANG_.call(null,taoensso.timbre._STAR_config_STAR_,new cljs.core.Keyword(null,
"error","error",-978969032),"weathergen.ui",null,1600,new cljs.core.Keyword(null,"p","p",151049309),new cljs.core.Keyword(null,"auto","auto",-566279492),new cljs.core.Delay(function(b){return function(){return new cljs.core.PersistentVector(null,4,5,cljs.core.PersistentVector.EMPTY_NODE,[b,"mouse-weather-coords error",new cljs.core.Keyword(null,"e","e",1381269198),a],null)}}(b),null),null,1789592322)}};weathergen.ui.mouse_weather_coords.cljs$lang$maxFixedArity=3;
weathergen.ui.retry=function(a,b){var c=cljs.core.async.chan.call(null,1);cljs.core.async.impl.dispatch.run.call(null,function(c){return function(){var d=function(){return function(a,b){return function(){var b=null,c=function(){var a=[null,null,null,null,null,null,null,null];a[0]=b;a[1]=1;return a},d=function(b){for(;;){a:try{for(;;){var c=a.call(null,b);if(!cljs.core.keyword_identical_QMARK_.call(null,c,new cljs.core.Keyword(null,"recur","recur",-437573268))){var d=c;break a}}}catch(r){if(r instanceof
Object)b[5]=r,cljs.core.async.impl.ioc_helpers.process_exception.call(null,b),d=new cljs.core.Keyword(null,"recur","recur",-437573268);else throw r;}if(!cljs.core.keyword_identical_QMARK_.call(null,d,new cljs.core.Keyword(null,"recur","recur",-437573268)))return d}};b=function(a){switch(arguments.length){case 0:return c.call(this);case 1:return d.call(this,a)}throw Error("Invalid arity: "+arguments.length);};b.cljs$core$IFn$_invoke$arity$0=c;b.cljs$core$IFn$_invoke$arity$1=d;return b}()}(function(c){return function(c){var d=
c[1];return 1===d?(c[2]=null,c[1]=2,new cljs.core.Keyword(null,"recur","recur",-437573268)):2===d?(d=b.call(null),cljs.core.truth_(d)?c[1]=4:c[1]=5,new cljs.core.Keyword(null,"recur","recur",-437573268)):3===d?cljs.core.async.impl.ioc_helpers.return_chan.call(null,c,c[2]):4===d?(c[2]=null,c[1]=6,new cljs.core.Keyword(null,"recur","recur",-437573268)):5===d?(d=cljs.core.async.timeout.call(null,a),cljs.core.async.impl.ioc_helpers.take_BANG_.call(null,c,7,d)):6===d?(c[2]=c[2],c[1]=3,new cljs.core.Keyword(null,
"recur","recur",-437573268)):7===d?(c[7]=c[2],c[2]=null,c[1]=2,new cljs.core.Keyword(null,"recur","recur",-437573268)):null}}(c),c)}(),f=function(){var a=d.call(null);a[6]=c;return a}();return cljs.core.async.impl.ioc_helpers.run_state_machine_wrapped.call(null,f)}}(c));return c};
weathergen.ui.later=function(a,b){var c=cljs.core.async.chan.call(null,1);cljs.core.async.impl.dispatch.run.call(null,function(c){return function(){var d=function(){return function(a,b){return function(){var b=null,c=function(){var a=[null,null,null,null,null,null,null,null];a[0]=b;a[1]=1;return a},d=function(b){for(;;){a:try{for(;;){var c=a.call(null,b);if(!cljs.core.keyword_identical_QMARK_.call(null,c,new cljs.core.Keyword(null,"recur","recur",-437573268))){var d=c;break a}}}catch(r){if(r instanceof
Object)b[5]=r,cljs.core.async.impl.ioc_helpers.process_exception.call(null,b),d=new cljs.core.Keyword(null,"recur","recur",-437573268);else throw r;}if(!cljs.core.keyword_identical_QMARK_.call(null,d,new cljs.core.Keyword(null,"recur","recur",-437573268)))return d}};b=function(a){switch(arguments.length){case 0:return c.call(this);case 1:return d.call(this,a)}throw Error("Invalid arity: "+arguments.length);};b.cljs$core$IFn$_invoke$arity$0=c;b.cljs$core$IFn$_invoke$arity$1=d;return b}()}(function(c){return function(c){var d=
c[1];if(1===d)return d=cljs.core.async.timeout.call(null,a),cljs.core.async.impl.ioc_helpers.take_BANG_.call(null,c,2,d);if(2===d){d=c[2];var e=b.call(null);c[7]=d;return cljs.core.async.impl.ioc_helpers.return_chan.call(null,c,e)}return null}}(c),c)}(),f=function(){var a=d.call(null);a[6]=c;return a}();return cljs.core.async.impl.ioc_helpers.run_state_machine_wrapped.call(null,f)}}(c));return c};weathergen.ui.resize_handle_size=.75;
weathergen.ui.triangle_style=function(){return new cljs.core.PersistentArrayMap(null,8,[new cljs.core.Keyword(null,"width","width",-384071477),0,new cljs.core.Keyword(null,"height","height",1025178622),0,new cljs.core.Keyword(null,"border-left","border-left",-1150760178),"5px solid transparent",new cljs.core.Keyword(null,"border-right","border-right",-668932860),"5px solid transparent",new cljs.core.Keyword(null,"border-top","border-top",-158897573),"7px solid black",new cljs.core.Keyword(null,"display",
"display",242065432),"inline-block",new cljs.core.Keyword(null,"margin-right","margin-right",809689658),"3px",new cljs.core.Keyword(null,"vertical-align","vertical-align",651007333),"middle"],null)};
weathergen.ui.wind_alt_selector=function(){var a=function(a){var b=hoplon.core.parse_args.call(null,a),c=cljs.core.nth.call(null,b,0,null),f=cljs.core.nth.call(null,b,1,null);return weathergen.ui.common.dropdown.call(null,c,new cljs.core.Keyword(null,"value","value",305978217),weathergen.ui.common.path_lens.call(null,weathergen.ui.display_params,new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"wind-alt","wind-alt",1733172827)],null)),new cljs.core.Keyword(null,
"choices","choices",1385611597),function(){return function(a,b,c){return function n(d){return new cljs.core.LazySeq(null,function(a,b,c){return function(){for(;;){var a=cljs.core.seq.call(null,d);if(a){if(cljs.core.chunked_seq_QMARK_.call(null,a)){var b=cljs.core.chunk_first.call(null,a),c=cljs.core.count.call(null,b),e=cljs.core.chunk_buffer.call(null,c);a:for(var f=0;;)if(f<c){var g=cljs.core._nth.call(null,b,f);cljs.core.chunk_append.call(null,e,new cljs.core.PersistentArrayMap(null,2,[new cljs.core.Keyword(null,
"label","label",1718410804),[cljs.core.str.cljs$core$IFn$_invoke$arity$1(g)," ft"].join(""),new cljs.core.Keyword(null,"value","value",305978217),g],null));f+=1}else{b=!0;break a}return b?cljs.core.chunk_cons.call(null,cljs.core.chunk.call(null,e),n.call(null,cljs.core.chunk_rest.call(null,a))):cljs.core.chunk_cons.call(null,cljs.core.chunk.call(null,e),null)}e=cljs.core.first.call(null,a);return cljs.core.cons.call(null,new cljs.core.PersistentArrayMap(null,2,[new cljs.core.Keyword(null,"label",
"label",1718410804),[cljs.core.str.cljs$core$IFn$_invoke$arity$1(e)," ft"].join(""),new cljs.core.Keyword(null,"value","value",305978217),e],null),n.call(null,cljs.core.rest.call(null,a)))}return null}}}(a,b,c),null,null)}}(b,c,f).call(null,weathergen.model.wind_alts)}())},b=function(b){var c=null;if(0<arguments.length){c=0;for(var e=Array(arguments.length-0);c<e.length;)e[c]=arguments[c+0],++c;c=new cljs.core.IndexedSeq(e,0,null)}return a.call(this,c)};b.cljs$lang$maxFixedArity=0;b.cljs$lang$applyTo=
function(b){b=cljs.core.seq(b);return a(b)};b.cljs$core$IFn$_invoke$arity$variadic=a;return b}();
weathergen.ui.triple_border=function(){var a=function(a){a=hoplon.core.parse_args.call(null,a);var b=cljs.core.nth.call(null,a,0,null),c=cljs.core.nth.call(null,a,1,null),f=null!=b&&(b.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===b.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,b):b,g=cljs.core.get.call(null,f,new cljs.core.Keyword(null,"inner","inner",-1383171215)),h=cljs.core.get.call(null,f,new cljs.core.Keyword(null,"outer","outer",-375185956)),k=cljs.core.get.call(null,
f,new cljs.core.Keyword(null,"css","css",1135045163)),l=cljs.core.dissoc.call(null,b,new cljs.core.Keyword(null,"inner","inner",-1383171215),new cljs.core.Keyword(null,"outer","outer",-375185956),new cljs.core.Keyword(null,"css","css",1135045163));return hoplon.core.div.call(null,new cljs.core.Keyword(null,"css","css",1135045163),javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,k){return function(a,b,c){return c.call(null,new cljs.core.PersistentArrayMap(null,5,[new cljs.core.Keyword(null,
"border-width","border-width",-1512605390),"1px",new cljs.core.Keyword(null,"border-style","border-style",-485574304),"solid",new cljs.core.Keyword(null,"border-color","border-color",-2059162761),a,new cljs.core.Keyword(null,"margin","margin",-995903681),0,new cljs.core.Keyword(null,"padding","padding",1660304693),0],null),b)}}(b,f,g,h,k,l,a,b,c)).call(null,h,k,cljs.core.merge),hoplon.core.div.call(null,new cljs.core.Keyword(null,"css","css",1135045163),javelin.core.formula.call(null,function(a,b,
c,d,e,f,g,h,k){return function(a,b,c){return b.call(null,new cljs.core.PersistentArrayMap(null,5,[new cljs.core.Keyword(null,"border-width","border-width",-1512605390),"2px",new cljs.core.Keyword(null,"border-style","border-style",-485574304),"solid",new cljs.core.Keyword(null,"border-color","border-color",-2059162761),c,new cljs.core.Keyword(null,"margin","margin",-995903681),0,new cljs.core.Keyword(null,"padding","padding",1660304693),0],null),a)}}(b,f,g,h,k,l,a,b,c)).call(null,k,cljs.core.merge,
g),hoplon.core.div.call(null,new cljs.core.Keyword(null,"css","css",1135045163),javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,k){return function(a,b,c){return c.call(null,new cljs.core.PersistentArrayMap(null,4,[new cljs.core.Keyword(null,"border-width","border-width",-1512605390),"1px",new cljs.core.Keyword(null,"border-style","border-style",-485574304),"solid",new cljs.core.Keyword(null,"border-color","border-color",-2059162761),a,new cljs.core.Keyword(null,"margin","margin",-995903681),
0],null),b)}}(b,f,g,h,k,l,a,b,c)).call(null,h,k,cljs.core.merge),c)))},b=function(b){var c=null;if(0<arguments.length){c=0;for(var e=Array(arguments.length-0);c<e.length;)e[c]=arguments[c+0],++c;c=new cljs.core.IndexedSeq(e,0,null)}return a.call(this,c)};b.cljs$lang$maxFixedArity=0;b.cljs$lang$applyTo=function(b){b=cljs.core.seq(b);return a(b)};b.cljs$core$IFn$_invoke$arity$variadic=a;return b}();
weathergen.ui.control_subsection=function(){var a=function(a){var b=hoplon.core.parse_args.call(null,a);a=cljs.core.nth.call(null,b,0,null);b=cljs.core.nth.call(null,b,1,null);var c=null!=a&&(a.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===a.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,a):a;c=cljs.core.get.call(null,c,new cljs.core.Keyword(null,"title","title",636505583));return hoplon.core.div.call(null,cljs.core.dissoc.call(null,a,new cljs.core.Keyword(null,
"title","title",636505583)),new cljs.core.Keyword(null,"css","css",1135045163),new cljs.core.PersistentArrayMap(null,3,[new cljs.core.Keyword(null,"border","border",1444987323),"solid 1px #444",new cljs.core.Keyword(null,"margin","margin",-995903681),"3px",new cljs.core.Keyword(null,"padding-bottom","padding-bottom",-1899795591),"2px"],null),hoplon.core.div.call(null,new cljs.core.Keyword(null,"css","css",1135045163),new cljs.core.PersistentArrayMap(null,6,[new cljs.core.Keyword(null,"background",
"background",-863952629),weathergen.ui.common.colors.call(null,new cljs.core.Keyword(null,"header-background","header-background",1686840154)),new cljs.core.Keyword(null,"margin","margin",-995903681),"3px",new cljs.core.Keyword(null,"padding","padding",1660304693),"3px",new cljs.core.Keyword(null,"padding-top","padding-top",1929675955),0,new cljs.core.Keyword(null,"font-size","font-size",-1847940346),"90%",new cljs.core.Keyword(null,"font-weight","font-weight",2085804583),"bold"],null),c),b)},b=function(b){var c=
null;if(0<arguments.length){c=0;for(var e=Array(arguments.length-0);c<e.length;)e[c]=arguments[c+0],++c;c=new cljs.core.IndexedSeq(e,0,null)}return a.call(this,c)};b.cljs$lang$maxFixedArity=0;b.cljs$lang$applyTo=function(b){b=cljs.core.seq(b);return a(b)};b.cljs$core$IFn$_invoke$arity$variadic=a;return b}();
weathergen.ui.forecast_section=function(a){var b=null!=a&&(a.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===a.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,a):a,c=cljs.core.get.call(null,b,new cljs.core.Keyword(null,"limit-time?","limit-time?",-602984376));return weathergen.ui.common.control_section.call(null,new cljs.core.Keyword(null,"title","title",636505583),weathergen.help.with_help.call(null,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,
[new cljs.core.Keyword(null,"forecast","forecast",-1289862359),new cljs.core.Keyword(null,"overview","overview",-435037267)],null),"Forecast"),new cljs.core.Keyword(null,"id","id",-1388402092),"forecast-section",hoplon.core.div.call(null,new cljs.core.Keyword(null,"id","id",-1388402092),"forecast",hoplon.core.table.call(null,hoplon.core.tr.call(null,hoplon.core.td.call(null,"Forecast for:"),function(){var d=javelin.core.formula.call(null,function(a,b,c,d){return function(e,f,g,h){return e.call(null,
function(a,b,c,d){return function(a){return g.call(null,h,a)}}(a,b,c,d),f.call(null,h))}}(a,b,b,c)).call(null,cljs.core.sort_by,weathergen.falcon.files.mission.oob_air,weathergen.falcon.files.mission.objective_name,weathergen.ui.mission),e=javelin.core.cell_map.call(null,cljs.core.identity,javelin.core.formula.call(null,function(a,b,c,d,e){return function(a){a=null!=a&&(a.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===a.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,
a):a;a=cljs.core.get.call(null,a,new cljs.core.Keyword(null,"coordinates","coordinates",-1225332668));return new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[a],null)}}(d,a,b,b,c)).call(null,weathergen.ui.selected_cell)),f=cljs.core.nth.call(null,e,0,null),g=javelin.core.cell_map.call(null,cljs.core.identity,javelin.core.formula.call(null,function(a,b,c,d,e,f,g){return function(a){var b=cljs.core.nth.call(null,a,0,null);a=cljs.core.nth.call(null,a,1,null);return new cljs.core.PersistentVector(null,
2,5,cljs.core.PersistentVector.EMPTY_NODE,[b,a],null)}}(e,f,d,a,b,b,c)).call(null,f)),h=cljs.core.nth.call(null,g,0,null),k=cljs.core.nth.call(null,g,1,null);return hoplon.core.select.call(null,new cljs.core.Keyword(null,"id","id",-1388402092),"locations",new cljs.core.Keyword(null,"change","change",-1163046502),function(a,b,c,d,e,f,g,h,k,w){return function(a){return weathergen.ui.change_location.call(null,cljs.core.deref.call(null,weathergen.ui.mission),cljs.core.nth.call(null,cljs.core.deref.call(null,
f),weathergen.util.str__GT_long.call(null,cljs.core.deref.call(null,a))))}}(g,h,k,e,f,d,a,b,b,c),hoplon.core.option.call(null,new cljs.core.Keyword(null,"selected","selected",574897764),javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,k,w){return function(a,b){return b.call(null,new cljs.core.Keyword(null,"named","named",-422393479),a)}}(g,h,k,e,f,d,a,b,b,c)).call(null,weathergen.ui.location_type,cljs.core.not_EQ_),new cljs.core.Keyword(null,"value","value",305978217),"",javelin.core.formula.call(null,
function(a,b,c,d,e,f,g,h,k,w){return function(a,b,c){var d=cljs.core._EQ_;if(cljs.core.truth_(d.call(null,new cljs.core.Keyword(null,"coordinates","coordinates",-1225332668),a)))return["Location ",weathergen.ui.format_coords.call(null,b,c)].join("");if(cljs.core.truth_(d.call(null,new cljs.core.Keyword(null,"named","named",-422393479),a)))return"";if(cljs.core.truth_(d.call(null,new cljs.core.Keyword(null,"none","none",1333468478),a)))return"None selected";throw Error(["No matching clause: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(a)].join(""));
}}(g,h,k,e,f,d,a,b,b,c)).call(null,weathergen.ui.location_type,h,k)),hoplon.core.loop_tpl_STAR_.call(null,javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,k,w){return function(a,b,c){return a.call(null,c,b)}}(g,h,k,e,f,d,a,b,b,c)).call(null,cljs.core.map_indexed,d,cljs.core.vector),function(a,b,c,d,e,f,g,h,k,w){return function(l){l=javelin.core.cell_map.call(null,cljs.core.identity,javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,k,l){return function(a){return new cljs.core.PersistentVector(null,
1,5,cljs.core.PersistentVector.EMPTY_NODE,[a],null)}}(a,b,c,d,e,f,g,h,k,w)).call(null,l));var m=cljs.core.nth.call(null,l,0,null),n=javelin.core.cell_map.call(null,cljs.core.identity,javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,k,l,m,n){return function(a){var b=cljs.core.nth.call(null,a,0,null);a=cljs.core.nth.call(null,a,1,null);return new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[a,b],null)}}(l,m,a,b,c,d,e,f,g,h,k,w)).call(null,m)),p=cljs.core.nth.call(null,
n,0,null),q=cljs.core.nth.call(null,n,1,null);return hoplon.core.option.call(null,new cljs.core.Keyword(null,"value","value",305978217),q,new cljs.core.Keyword(null,"selected","selected",574897764),javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r){return function(a,b,c){return b.call(null,a,(new cljs.core.Keyword(null,"location","location",1815599388)).cljs$core$IFn$_invoke$arity$1(c))}}(n,p,q,l,m,a,b,c,d,e,f,g,h,k,w)).call(null,p,cljs.core._EQ_,weathergen.ui.selected_cell),javelin.core.formula.call(null,
function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r){return function(a,b,c){return b.call(null,c,a)}}(n,p,q,l,m,a,b,c,d,e,f,g,h,k,w)).call(null,p,weathergen.falcon.files.mission.objective_name,weathergen.ui.mission))}}(g,h,k,e,f,d,a,b,b,c)))}()),hoplon.core.tr.call(null,hoplon.core.td.call(null,"Show winds at:"),hoplon.core.td.call(null,weathergen.ui.wind_alt_selector.call(null)))),function(){var d=javelin.core.formula.call(null,function(a,b,c,d){return function(a){return(new cljs.core.Keyword(null,"wind-alt",
"wind-alt",1733172827)).cljs$core$IFn$_invoke$arity$1(a)}}(a,b,b,c)).call(null,weathergen.ui.display_params);return javelin.core.formula.call(null,function(a,b,c,d,k){return function(e,f,g,h){var l=function(a,b,c,d,e){return function(){var a=function(a){return cljs.core.apply.call(null,hoplon.core.td,new cljs.core.Keyword(null,"css","css",1135045163),new cljs.core.PersistentArrayMap(null,2,[new cljs.core.Keyword(null,"padding-right","padding-right",-1250249681),"3px",new cljs.core.Keyword(null,"padding-left",
"padding-left",-1180879053),"3px"],null),a)},b=function(b){var c=null;if(0<arguments.length){c=0;for(var d=Array(arguments.length-0);c<d.length;)d[c]=arguments[c+0],++c;c=new cljs.core.IndexedSeq(d,0,null)}return a.call(this,c)};b.cljs$lang$maxFixedArity=0;b.cljs$lang$applyTo=function(b){b=cljs.core.seq(b);return a(b)};b.cljs$core$IFn$_invoke$arity$variadic=a;return b}()}(a,b,c,d,k),m=function(a,b,c,d,e,f){return function(){var a=function(a){return cljs.core.apply.call(null,hoplon.core.td,new cljs.core.Keyword(null,
"css","css",1135045163),new cljs.core.PersistentArrayMap(null,3,[new cljs.core.Keyword(null,"padding-right","padding-right",-1250249681),"3px",new cljs.core.Keyword(null,"padding-left","padding-left",-1180879053),"3px",new cljs.core.Keyword(null,"text-align","text-align",1786091845),"center"],null),a)},b=function(b){var c=null;if(0<arguments.length){c=0;for(var d=Array(arguments.length-0);c<d.length;)d[c]=arguments[c+0],++c;c=new cljs.core.IndexedSeq(d,0,null)}return a.call(this,c)};b.cljs$lang$maxFixedArity=
0;b.cljs$lang$applyTo=function(b){b=cljs.core.seq(b);return a(b)};b.cljs$core$IFn$_invoke$arity$variadic=a;return b}()}(l,a,b,c,d,k);return hoplon.core.table.call(null,new cljs.core.Keyword(null,"class","class",-2030961996),"info-grid",hoplon.core.thead.call(null,hoplon.core.tr.call(null,l.call(null,weathergen.help.with_help.call(null,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"forecast","forecast",-1289862359),new cljs.core.Keyword(null,
"time","time",1385887882)],null),"Weather Time")),l.call(null,weathergen.help.with_help.call(null,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"forecast","forecast",-1289862359),new cljs.core.Keyword(null,"type","type",1174270348)],null),"Type")),l.call(null,weathergen.help.with_help.call(null,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"forecast","forecast",-1289862359),new cljs.core.Keyword(null,
"pressure","pressure",505343747)],null),"Press")),m.call(null,weathergen.help.with_help.call(null,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"forecast","forecast",-1289862359),new cljs.core.Keyword(null,"temperature","temperature",899018429)],null),"Temp")),m.call(null,weathergen.help.with_help.call(null,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"forecast","forecast",-1289862359),
new cljs.core.Keyword(null,"wind","wind",-527553074)],null),"Wind")),m.call(null,weathergen.help.with_help.call(null,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"forecast","forecast",-1289862359),new cljs.core.Keyword(null,"visibility","visibility",1338380893)],null),"Vis")),l.call(null,weathergen.help.with_help.call(null,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"forecast",
"forecast",-1289862359),new cljs.core.Keyword(null,"precipitation","precipitation",485418199)],null),"Precip")),l.call(null,weathergen.help.with_help.call(null,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"forecast","forecast",-1289862359),new cljs.core.Keyword(null,"cloud","cloud",-1976521303)],null),"Cloud")))),hoplon.core.tbody.call(null,cljs.core.not.call(null,f)?hoplon.core.tr.call(null,hoplon.core.td.call(null,new cljs.core.Keyword(null,
"colspan","colspan",-1512420934),8,"No location is selected. Choose a location from the list, or click on the weather map to select one.")):function(){return function(a,b,c,d,f,k,l){return function A(m){return new cljs.core.LazySeq(null,function(a,b,c,d,f,k,l){return function(){for(;;){var c=cljs.core.seq.call(null,m);if(c){if(cljs.core.chunked_seq_QMARK_.call(null,c)){var d=cljs.core.chunk_first.call(null,c),f=cljs.core.count.call(null,d),k=cljs.core.chunk_buffer.call(null,f);a:for(var l=0;;)if(l<
f){var n=cljs.core._nth.call(null,d,l),p=cljs.core.nth.call(null,n,0,null);n=cljs.core.nth.call(null,n,1,null);var q=null!=n&&(n.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===n.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,n):n;n=cljs.core.get.call(null,q,new cljs.core.Keyword(null,"pressure","pressure",505343747));var r=cljs.core.get.call(null,q,new cljs.core.Keyword(null,"temperature","temperature",899018429)),u=cljs.core.get.call(null,q,new cljs.core.Keyword(null,
"wind","wind",-527553074)),t=cljs.core.get.call(null,q,new cljs.core.Keyword(null,"type","type",1174270348)),v=cljs.core.get.call(null,q,new cljs.core.Keyword(null,"low-clouds","low-clouds",-702988471));q=cljs.core.get.call(null,q,new cljs.core.Keyword(null,"visibility","visibility",1338380893));cljs.core.chunk_append.call(null,k,hoplon.core.tr.call(null,a.call(null,weathergen.ui.common.format_time.call(null,p)),a.call(null,weathergen.ui.format_type.call(null,t)),a.call(null,weathergen.ui.format_pressure.call(null,
n,e)),b.call(null,weathergen.ui.format_temperature.call(null,r)),a.call(null,weathergen.ui.format_wind.call(null,cljs.core.get.call(null,u,h))),b.call(null,weathergen.ui.format_visibility.call(null,q)),a.call(null,weathergen.ui.format_precipitation.call(null,r,t)),a.call(null,weathergen.ui.format_cloud.call(null,g,t,v))));l+=1}else{d=!0;break a}return d?cljs.core.chunk_cons.call(null,cljs.core.chunk.call(null,k),A.call(null,cljs.core.chunk_rest.call(null,c))):cljs.core.chunk_cons.call(null,cljs.core.chunk.call(null,
k),null)}d=cljs.core.first.call(null,c);k=cljs.core.nth.call(null,d,0,null);d=cljs.core.nth.call(null,d,1,null);r=null!=d&&(d.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===d.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,d):d;d=cljs.core.get.call(null,r,new cljs.core.Keyword(null,"pressure","pressure",505343747));f=cljs.core.get.call(null,r,new cljs.core.Keyword(null,"temperature","temperature",899018429));l=cljs.core.get.call(null,r,new cljs.core.Keyword(null,
"wind","wind",-527553074));p=cljs.core.get.call(null,r,new cljs.core.Keyword(null,"type","type",1174270348));n=cljs.core.get.call(null,r,new cljs.core.Keyword(null,"low-clouds","low-clouds",-702988471));r=cljs.core.get.call(null,r,new cljs.core.Keyword(null,"visibility","visibility",1338380893));return cljs.core.cons.call(null,hoplon.core.tr.call(null,a.call(null,weathergen.ui.common.format_time.call(null,k)),a.call(null,weathergen.ui.format_type.call(null,p)),a.call(null,weathergen.ui.format_pressure.call(null,
d,e)),b.call(null,weathergen.ui.format_temperature.call(null,f)),a.call(null,weathergen.ui.format_wind.call(null,cljs.core.get.call(null,l,h))),b.call(null,weathergen.ui.format_visibility.call(null,r)),a.call(null,weathergen.ui.format_precipitation.call(null,f,p)),a.call(null,weathergen.ui.format_cloud.call(null,g,p,n))),A.call(null,cljs.core.rest.call(null,c)))}return null}}}(a,b,c,d,f,k,l),null,null)}}(l,m,a,b,c,d,k).call(null,f)}()))}}(d,a,b,b,c)).call(null,weathergen.ui.pressure_unit,weathergen.ui.forecast,
weathergen.ui.cloud_params,d)}()))};
weathergen.ui.weather_color=new cljs.core.PersistentArrayMap(null,5,[new cljs.core.Keyword(null,"sunny","sunny",1448267778),new cljs.core.PersistentVector(null,4,5,cljs.core.PersistentVector.EMPTY_NODE,[255,255,255,.25],null),new cljs.core.Keyword(null,"fair","fair",1684139423),new cljs.core.PersistentVector(null,4,5,cljs.core.PersistentVector.EMPTY_NODE,[0,255,0,1],null),new cljs.core.Keyword(null,"poor","poor",1462482211),new cljs.core.PersistentVector(null,4,5,cljs.core.PersistentVector.EMPTY_NODE,
[255,255,0,1],null),new cljs.core.Keyword(null,"inclement","inclement",-550669382),new cljs.core.PersistentVector(null,4,5,cljs.core.PersistentVector.EMPTY_NODE,[192,0,0,1],null),null,new cljs.core.PersistentVector(null,4,5,cljs.core.PersistentVector.EMPTY_NODE,[255,0,0,1],null)],null);
weathergen.ui.pressure_map=new cljs.core.PersistentArrayMap(null,7,[28.5,new cljs.core.PersistentVector(null,4,5,cljs.core.PersistentVector.EMPTY_NODE,[192,0,0,1],null),28.9,new cljs.core.PersistentVector(null,4,5,cljs.core.PersistentVector.EMPTY_NODE,[192,0,0,1],null),29.3,new cljs.core.PersistentVector(null,4,5,cljs.core.PersistentVector.EMPTY_NODE,[255,255,0,1],null),29.5,new cljs.core.PersistentVector(null,4,5,cljs.core.PersistentVector.EMPTY_NODE,[0,255,0,1],null),29.9,new cljs.core.PersistentVector(null,
4,5,cljs.core.PersistentVector.EMPTY_NODE,[0,128,255,1],null),30.2,new cljs.core.PersistentVector(null,4,5,cljs.core.PersistentVector.EMPTY_NODE,[255,255,255,1],null),31,new cljs.core.PersistentVector(null,4,5,cljs.core.PersistentVector.EMPTY_NODE,[255,255,255,1],null)],null);
weathergen.ui.gradient_color=function(a,b){var c=cljs.core.first.call(null,cljs.core.filter.call(null,function(a){var c=cljs.core.nth.call(null,a,0,null),d=cljs.core.nth.call(null,c,0,null);cljs.core.nth.call(null,c,1,null);a=cljs.core.nth.call(null,a,1,null);c=cljs.core.nth.call(null,a,0,null);cljs.core.nth.call(null,a,1,null);return d<=b&&b<=c},cljs.core.partition.call(null,2,1,cljs.core.into.call(null,cljs.core.sorted_map.call(null),a)))),d=cljs.core.nth.call(null,c,0,null);a=cljs.core.nth.call(null,
d,0,null);d=cljs.core.nth.call(null,d,1,null);var e=cljs.core.nth.call(null,c,1,null);c=cljs.core.nth.call(null,e,0,null);e=cljs.core.nth.call(null,e,1,null);return weathergen.math.vector_interpolate.call(null,d,e,b,a,c)};
weathergen.ui.pressure_color=function(a){var b=weathergen.ui.gradient_color.call(null,weathergen.ui.pressure_map,a);a=cljs.core.nth.call(null,b,0,null);var c=cljs.core.nth.call(null,b,1,null),d=cljs.core.nth.call(null,b,2,null);b=cljs.core.nth.call(null,b,3,null);return new cljs.core.PersistentVector(null,4,5,cljs.core.PersistentVector.EMPTY_NODE,[cljs.core.long$.call(null,a),cljs.core.long$.call(null,c),cljs.core.long$.call(null,d),b],null)};
weathergen.ui.temp_map=new cljs.core.PersistentArrayMap(null,3,[0,new cljs.core.PersistentVector(null,4,5,cljs.core.PersistentVector.EMPTY_NODE,[0,0,255,1],null),20,new cljs.core.PersistentVector(null,4,5,cljs.core.PersistentVector.EMPTY_NODE,[0,255,0,1],null),40,new cljs.core.PersistentVector(null,4,5,cljs.core.PersistentVector.EMPTY_NODE,[255,0,0,1],null)],null);
weathergen.ui.temperature_color=function(a){var b=weathergen.ui.gradient_color.call(null,weathergen.ui.temp_map,a);a=cljs.core.nth.call(null,b,0,null);var c=cljs.core.nth.call(null,b,1,null),d=cljs.core.nth.call(null,b,2,null);b=cljs.core.nth.call(null,b,3,null);return new cljs.core.PersistentVector(null,4,5,cljs.core.PersistentVector.EMPTY_NODE,[cljs.core.long$.call(null,a),cljs.core.long$.call(null,c),cljs.core.long$.call(null,d),b],null)};
weathergen.ui.transparent=new cljs.core.PersistentVector(null,4,5,cljs.core.PersistentVector.EMPTY_NODE,[0,0,0,1],null);
weathergen.ui.fill_color=function(a,b){var c=cljs.core._EQ_;return cljs.core.truth_(c.call(null,new cljs.core.Keyword(null,"type","type",1174270348),a))?weathergen.ui.weather_color.call(null,(new cljs.core.Keyword(null,"type","type",1174270348)).cljs$core$IFn$_invoke$arity$1(b)):cljs.core.truth_(c.call(null,new cljs.core.Keyword(null,"pressure","pressure",505343747),a))?weathergen.ui.pressure_color.call(null,(new cljs.core.Keyword(null,"pressure","pressure",505343747)).cljs$core$IFn$_invoke$arity$1(b)):
cljs.core.truth_(c.call(null,new cljs.core.Keyword(null,"temperature","temperature",899018429),a))?weathergen.ui.temperature_color.call(null,(new cljs.core.Keyword(null,"temperature","temperature",899018429)).cljs$core$IFn$_invoke$arity$1(b)):weathergen.ui.transparent};weathergen.ui.convert_pressure=function(a,b){return cljs.core._EQ_.call(null,new cljs.core.Keyword(null,"inhg","inhg",-863180091),b)?a:weathergen.ui.mbar__GT_inhg.call(null,a)};weathergen.ui.max_wind_vector_speed=150;
weathergen.ui.wind_vector_id=function(a){return["wind-vector-",cljs.core.str.cljs$core$IFn$_invoke$arity$1(weathergen.math.clamp.call(null,5,weathergen.ui.max_wind_vector_speed,weathergen.math.nearest.call(null,a,5)))].join("")};
weathergen.ui.update_wind_layer=function(a,b){console.time("update-wind-layer");a:for(var c=cljs.core.seq.call(null,a),d=null,e=0,f=0;;)if(f<e){var g=cljs.core._nth.call(null,d,f),h=cljs.core.nth.call(null,g,0,null);a=cljs.core.nth.call(null,h,0,null);h=cljs.core.nth.call(null,h,1,null);g=cljs.core.nth.call(null,g,1,null);var k=(new cljs.core.Keyword(null,"wind-alt","wind-alt",1733172827)).cljs$core$IFn$_invoke$arity$1(b);g=cljs.core.get_in.call(null,g,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,
[new cljs.core.Keyword(null,"wind","wind",-527553074),k],null));k=null!=g&&(g.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===g.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,g):g;g=cljs.core.get.call(null,k,new cljs.core.Keyword(null,"speed","speed",1257663751));k=cljs.core.get.call(null,k,new cljs.core.Keyword(null,"heading","heading",-1312171873));a=goog.dom.getElement(["grid-wind-cell-",cljs.core.str.cljs$core$IFn$_invoke$arity$1(a),"-",cljs.core.str.cljs$core$IFn$_invoke$arity$1(h)].join(""));
a.setAttribute("transform",weathergen.ui.common.svg_rotate.call(null,k));a.setAttributeNS("http://www.w3.org/1999/xlink","href",["#",weathergen.ui.wind_vector_id.call(null,g)].join(""));f+=1}else if(a=cljs.core.seq.call(null,c))c=a,cljs.core.chunked_seq_QMARK_.call(null,c)?(h=cljs.core.chunk_first.call(null,c),c=cljs.core.chunk_rest.call(null,c),a=h,h=cljs.core.count.call(null,h),d=a,e=h):(d=cljs.core.first.call(null,c),h=cljs.core.nth.call(null,d,0,null),a=cljs.core.nth.call(null,h,0,null),h=cljs.core.nth.call(null,
h,1,null),g=cljs.core.nth.call(null,d,1,null),d=(new cljs.core.Keyword(null,"wind-alt","wind-alt",1733172827)).cljs$core$IFn$_invoke$arity$1(b),d=cljs.core.get_in.call(null,g,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"wind","wind",-527553074),d],null)),e=null!=d&&(d.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===d.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,d):d,d=cljs.core.get.call(null,e,new cljs.core.Keyword(null,
"speed","speed",1257663751)),e=cljs.core.get.call(null,e,new cljs.core.Keyword(null,"heading","heading",-1312171873)),a=goog.dom.getElement(["grid-wind-cell-",cljs.core.str.cljs$core$IFn$_invoke$arity$1(a),"-",cljs.core.str.cljs$core$IFn$_invoke$arity$1(h)].join("")),a.setAttribute("transform",weathergen.ui.common.svg_rotate.call(null,e)),a.setAttributeNS("http://www.w3.org/1999/xlink","href",["#",weathergen.ui.wind_vector_id.call(null,d)].join("")),c=cljs.core.next.call(null,c),d=null,e=0),f=0;else{b=
null;break a}console.timeEnd("update-wind-layer");return b};
var ids_41611=new cljs.core.PersistentArrayMap(null,5,[new cljs.core.Keyword(null,"none","none",1333468478),"cloud-coverage-none",new cljs.core.Keyword(null,"few","few",941665998),"cloud-coverage-few",new cljs.core.Keyword(null,"scattered","scattered",-1263632526),"cloud-coverage-scattered",new cljs.core.Keyword(null,"broken","broken",-1742446874),"cloud-coverage-broken",new cljs.core.Keyword(null,"overcast","overcast",-2096313755),"cloud-coverage-overcast"],null);
weathergen.ui.cloud_coverage_id=function(a){return function(b,c){return[cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.core.get.call(null,a,b)),cljs.core.truth_(c)?"-towering":null].join("")}}(ids_41611);
weathergen.ui.update_coverage_layer=function(a,b){console.time("update-coverage-layer");a:for(var c=cljs.core.seq.call(null,a),d=null,e=0,f=0;;)if(f<e){var g=cljs.core._nth.call(null,d,f);b=cljs.core.nth.call(null,g,0,null);a=cljs.core.nth.call(null,b,0,null);b=cljs.core.nth.call(null,b,1,null);g=cljs.core.nth.call(null,g,1,null);var h=cljs.core.get_in.call(null,g,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"low-clouds","low-clouds",-702988471),
new cljs.core.Keyword(null,"coverage","coverage",1606292651)],null));g=cljs.core.get_in.call(null,g,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"low-clouds","low-clouds",-702988471),new cljs.core.Keyword(null,"towering?","towering?",2005070836)],null));goog.dom.getElement(["cloud-coverage-cell-",cljs.core.str.cljs$core$IFn$_invoke$arity$1(a),"-",cljs.core.str.cljs$core$IFn$_invoke$arity$1(b)].join("")).setAttributeNS("http://www.w3.org/1999/xlink",
"href",["#",weathergen.ui.cloud_coverage_id.call(null,h,g)].join(""));f+=1}else if(a=cljs.core.seq.call(null,c))c=a,cljs.core.chunked_seq_QMARK_.call(null,c)?(b=cljs.core.chunk_first.call(null,c),c=cljs.core.chunk_rest.call(null,c),a=b,b=cljs.core.count.call(null,b),d=a,e=b):(d=cljs.core.first.call(null,c),b=cljs.core.nth.call(null,d,0,null),a=cljs.core.nth.call(null,b,0,null),b=cljs.core.nth.call(null,b,1,null),g=cljs.core.nth.call(null,d,1,null),d=cljs.core.get_in.call(null,g,new cljs.core.PersistentVector(null,
2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"low-clouds","low-clouds",-702988471),new cljs.core.Keyword(null,"coverage","coverage",1606292651)],null)),e=cljs.core.get_in.call(null,g,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"low-clouds","low-clouds",-702988471),new cljs.core.Keyword(null,"towering?","towering?",2005070836)],null)),goog.dom.getElement(["cloud-coverage-cell-",cljs.core.str.cljs$core$IFn$_invoke$arity$1(a),
"-",cljs.core.str.cljs$core$IFn$_invoke$arity$1(b)].join("")).setAttributeNS("http://www.w3.org/1999/xlink","href",["#",weathergen.ui.cloud_coverage_id.call(null,d,e)].join("")),c=cljs.core.next.call(null,c),d=null,e=0),f=0;else{a=null;break a}console.timeEnd("update-coverage-layer");return a};
if("undefined"===typeof weathergen||"undefined"===typeof weathergen.ui||"undefined"===typeof weathergen.ui.overlay_text)weathergen.ui.overlay_text=function(){var a=cljs.core.atom.call(null,cljs.core.PersistentArrayMap.EMPTY),b=cljs.core.atom.call(null,cljs.core.PersistentArrayMap.EMPTY),c=cljs.core.atom.call(null,cljs.core.PersistentArrayMap.EMPTY),d=cljs.core.atom.call(null,cljs.core.PersistentArrayMap.EMPTY),e=cljs.core.get.call(null,cljs.core.PersistentArrayMap.EMPTY,new cljs.core.Keyword(null,
"hierarchy","hierarchy",-1053470341),cljs.core.get_global_hierarchy.call(null));return new cljs.core.MultiFn(cljs.core.symbol.call(null,"weathergen.ui","overlay-text"),function(a,b,c,d,e){return function(a,b){return(new cljs.core.Keyword(null,"overlay","overlay",-139131598)).cljs$core$IFn$_invoke$arity$1(b)}}(a,b,c,d,e),new cljs.core.Keyword(null,"default","default",-1987822328),e,a,b,c,d)}();
cljs.core._add_method.call(null,weathergen.ui.overlay_text,new cljs.core.Keyword(null,"default","default",-1987822328),function(a,b){return""});cljs.core._add_method.call(null,weathergen.ui.overlay_text,new cljs.core.Keyword(null,"pressure","pressure",505343747),function(a,b){return weathergen.ui.format_pressure.call(null,(new cljs.core.Keyword(null,"pressure","pressure",505343747)).cljs$core$IFn$_invoke$arity$1(a),(new cljs.core.Keyword(null,"pressure-unit","pressure-unit",1615584243)).cljs$core$IFn$_invoke$arity$1(b))});
cljs.core._add_method.call(null,weathergen.ui.overlay_text,new cljs.core.Keyword(null,"temperature","temperature",899018429),function(a,b){return(new cljs.core.Keyword(null,"temperature","temperature",899018429)).cljs$core$IFn$_invoke$arity$1(a).toFixed(1)});cljs.core._add_method.call(null,weathergen.ui.overlay_text,new cljs.core.Keyword(null,"visibility","visibility",1338380893),function(a,b){return weathergen.ui.format_visibility.call(null,(new cljs.core.Keyword(null,"visibility","visibility",1338380893)).cljs$core$IFn$_invoke$arity$1(a))});
cljs.core._add_method.call(null,weathergen.ui.overlay_text,new cljs.core.Keyword(null,"cloud-base","cloud-base",826793857),function(a,b){return cljs.core._EQ_.call(null,(new cljs.core.Keyword(null,"type","type",1174270348)).cljs$core$IFn$_invoke$arity$1(a),new cljs.core.Keyword(null,"sunny","sunny",1448267778))?"":cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.core.long$.call(null,(new cljs.core.Keyword(null,"base","base",185279322)).cljs$core$IFn$_invoke$arity$1((new cljs.core.Keyword(null,"low-clouds",
"low-clouds",-702988471)).cljs$core$IFn$_invoke$arity$1(a))))});
cljs.core._add_method.call(null,weathergen.ui.overlay_text,new cljs.core.Keyword(null,"cloud-size","cloud-size",-1568256381),function(a,b){return cljs.core._EQ_.call(null,(new cljs.core.Keyword(null,"type","type",1174270348)).cljs$core$IFn$_invoke$arity$1(a),new cljs.core.Keyword(null,"sunny","sunny",1448267778))?"":(new cljs.core.Keyword(null,"size","size",1098693007)).cljs$core$IFn$_invoke$arity$1((new cljs.core.Keyword(null,"low-clouds","low-clouds",-702988471)).cljs$core$IFn$_invoke$arity$1(a)).toFixed(2)});
cljs.core._add_method.call(null,weathergen.ui.overlay_text,new cljs.core.Keyword(null,"type","type",1174270348),function(a,b){return(new cljs.core.PersistentArrayMap(null,4,[new cljs.core.Keyword(null,"sunny","sunny",1448267778),"S",new cljs.core.Keyword(null,"fair","fair",1684139423),"F",new cljs.core.Keyword(null,"poor","poor",1462482211),"P",new cljs.core.Keyword(null,"inclement","inclement",-550669382),"I"],null)).call(null,(new cljs.core.Keyword(null,"type","type",1174270348)).cljs$core$IFn$_invoke$arity$1(a))});
cljs.core._add_method.call(null,weathergen.ui.overlay_text,new cljs.core.Keyword(null,"coords","coords",-599429112),function(a,b){return[cljs.core.str.cljs$core$IFn$_invoke$arity$1((new cljs.core.Keyword(null,"x","x",2099068185)).cljs$core$IFn$_invoke$arity$1(a)),",",cljs.core.str.cljs$core$IFn$_invoke$arity$1((new cljs.core.Keyword(null,"y","y",-1757859776)).cljs$core$IFn$_invoke$arity$1(a))].join("")});
weathergen.ui.update_text_layer=function(a,b){console.time("update-text-layer");a:for(var c=cljs.core.seq.call(null,a),d=null,e=0,f=0;;)if(f<e){var g=cljs.core._nth.call(null,d,f),h=cljs.core.nth.call(null,g,0,null);a=cljs.core.nth.call(null,h,0,null);h=cljs.core.nth.call(null,h,1,null);g=cljs.core.nth.call(null,g,1,null);g=weathergen.ui.overlay_text.call(null,g,b);goog.dom.getElement(["grid-text-cell-",cljs.core.str.cljs$core$IFn$_invoke$arity$1(a),"-",cljs.core.str.cljs$core$IFn$_invoke$arity$1(h)].join("")).innerHTML=
g;f+=1}else if(a=cljs.core.seq.call(null,c))c=a,cljs.core.chunked_seq_QMARK_.call(null,c)?(h=cljs.core.chunk_first.call(null,c),c=cljs.core.chunk_rest.call(null,c),a=h,h=cljs.core.count.call(null,h),d=a,e=h):(d=cljs.core.first.call(null,c),h=cljs.core.nth.call(null,d,0,null),a=cljs.core.nth.call(null,h,0,null),h=cljs.core.nth.call(null,h,1,null),g=cljs.core.nth.call(null,d,1,null),d=weathergen.ui.overlay_text.call(null,g,b),goog.dom.getElement(["grid-text-cell-",cljs.core.str.cljs$core$IFn$_invoke$arity$1(a),
"-",cljs.core.str.cljs$core$IFn$_invoke$arity$1(h)].join("")).innerHTML=d,c=cljs.core.next.call(null,c),d=null,e=0),f=0;else{b=null;break a}console.timeEnd("update-text-layer");return b};
weathergen.ui.update_overlay=function(a,b){console.time("update-overlay");var c=function(){var c=(new cljs.core.Keyword(null,"overlay","overlay",-139131598)).cljs$core$IFn$_invoke$arity$1(b);switch(c instanceof cljs.core.Keyword?c.fqn:null){case "wind":return weathergen.ui.update_wind_layer.call(null,a,b);case "cloud-cover":return weathergen.ui.update_coverage_layer.call(null,a,b);case "type":case "pressure":case "temperature":case "visibility":case "cloud-size":case "cloud-base":return weathergen.ui.update_text_layer.call(null,
a,b);default:return null}}();console.timeEnd("update-overlay");return c};
weathergen.ui.update_primary_layer=function(a,b){console.time("update-primary-layer");a:for(var c=cljs.core.seq.call(null,a),d=null,e=0,f=0;;)if(f<e){var g=cljs.core._nth.call(null,d,f),h=cljs.core.nth.call(null,g,0,null);a=cljs.core.nth.call(null,h,0,null);h=cljs.core.nth.call(null,h,1,null);g=cljs.core.nth.call(null,g,1,null);var k=weathergen.ui.fill_color.call(null,(new cljs.core.Keyword(null,"display","display",242065432)).cljs$core$IFn$_invoke$arity$1(b),g);g=cljs.core.nth.call(null,k,0,null);
var l=cljs.core.nth.call(null,k,1,null),m=cljs.core.nth.call(null,k,2,null);k=cljs.core.nth.call(null,k,3,null);a=goog.dom.getElement(["grid-primary-cell-",cljs.core.str.cljs$core$IFn$_invoke$arity$1(a),"-",cljs.core.str.cljs$core$IFn$_invoke$arity$1(h)].join(""));cljs.core.truth_(a)&&a.setAttribute("fill",["rgba(",cljs.core.str.cljs$core$IFn$_invoke$arity$1(g),",",cljs.core.str.cljs$core$IFn$_invoke$arity$1(l),",",cljs.core.str.cljs$core$IFn$_invoke$arity$1(m),",",cljs.core.str.cljs$core$IFn$_invoke$arity$1(k),
")"].join(""));f+=1}else if(a=cljs.core.seq.call(null,c))c=a,cljs.core.chunked_seq_QMARK_.call(null,c)?(h=cljs.core.chunk_first.call(null,c),c=cljs.core.chunk_rest.call(null,c),a=h,h=cljs.core.count.call(null,h),d=a,e=h):(d=cljs.core.first.call(null,c),h=cljs.core.nth.call(null,d,0,null),a=cljs.core.nth.call(null,h,0,null),h=cljs.core.nth.call(null,h,1,null),g=cljs.core.nth.call(null,d,1,null),g=weathergen.ui.fill_color.call(null,(new cljs.core.Keyword(null,"display","display",242065432)).cljs$core$IFn$_invoke$arity$1(b),
g),d=cljs.core.nth.call(null,g,0,null),e=cljs.core.nth.call(null,g,1,null),f=cljs.core.nth.call(null,g,2,null),g=cljs.core.nth.call(null,g,3,null),a=goog.dom.getElement(["grid-primary-cell-",cljs.core.str.cljs$core$IFn$_invoke$arity$1(a),"-",cljs.core.str.cljs$core$IFn$_invoke$arity$1(h)].join("")),cljs.core.truth_(a)&&a.setAttribute("fill",["rgba(",cljs.core.str.cljs$core$IFn$_invoke$arity$1(d),",",cljs.core.str.cljs$core$IFn$_invoke$arity$1(e),",",cljs.core.str.cljs$core$IFn$_invoke$arity$1(f),
",",cljs.core.str.cljs$core$IFn$_invoke$arity$1(g),")"].join("")),c=cljs.core.next.call(null,c),d=null,e=0),f=0;else{b=null;break a}console.timeEnd("update-primary-layer");return b};weathergen.ui.update_grid_data=function(a,b){console.time("update-grid-data");weathergen.ui.update_primary_layer.call(null,a,b);a=weathergen.ui.update_overlay.call(null,a,b);console.timeEnd("update-grid-data");return a};
weathergen.ui.update_grid=function(a,b){console.time("update-grid");a=weathergen.ui.update_grid_data.call(null,a,b);console.timeEnd("update-grid");return a};
weathergen.ui.wind_vector_defs=function(){return hoplon.svg.defs.call(null,function(){return function c(b){return new cljs.core.LazySeq(null,function(){for(;;){var d=cljs.core.seq.call(null,b);if(d){if(cljs.core.chunked_seq_QMARK_.call(null,d)){var e=cljs.core.chunk_first.call(null,d),f=cljs.core.count.call(null,e),g=cljs.core.chunk_buffer.call(null,f);a:for(var h=0;;)if(h<f){var k=cljs.core._nth.call(null,e,h);cljs.core.chunk_append.call(null,g,hoplon.svg.g.call(null,new cljs.core.Keyword(null,"id",
"id",-1388402092),weathergen.ui.wind_vector_id.call(null,k),weathergen.wind.barb.call(null,k)));h+=1}else{e=!0;break a}return e?cljs.core.chunk_cons.call(null,cljs.core.chunk.call(null,g),c.call(null,cljs.core.chunk_rest.call(null,d))):cljs.core.chunk_cons.call(null,cljs.core.chunk.call(null,g),null)}g=cljs.core.first.call(null,d);return cljs.core.cons.call(null,hoplon.svg.g.call(null,new cljs.core.Keyword(null,"id","id",-1388402092),weathergen.ui.wind_vector_id.call(null,g),weathergen.wind.barb.call(null,
g)),c.call(null,cljs.core.rest.call(null,d)))}return null}},null,null)}.call(null,cljs.core.range.call(null,5,weathergen.ui.max_wind_vector_speed+1,5))}())};
weathergen.ui.cloud_coverage_defs=function(){return hoplon.svg.defs.call(null,function(){return function c(b){return new cljs.core.LazySeq(null,function(){for(var d=b;;){var e=cljs.core.seq.call(null,d);if(e){var f=e,g=cljs.core.first.call(null,f);e=function(b,c,d,e){return function q(f){return new cljs.core.LazySeq(null,function(b,c,d,e){return function(){for(;;){var b=cljs.core.seq.call(null,f);if(b){if(cljs.core.chunked_seq_QMARK_.call(null,b)){var d=cljs.core.chunk_first.call(null,b),e=cljs.core.count.call(null,
d),g=cljs.core.chunk_buffer.call(null,e);a:for(var h=0;;)if(h<e){var k=cljs.core._nth.call(null,d,h);cljs.core.chunk_append.call(null,g,hoplon.svg.g.call(null,new cljs.core.Keyword(null,"id","id",-1388402092),weathergen.ui.cloud_coverage_id.call(null,c,k),vmt.clouds.coverage_icon.call(null,c,k)));h+=1}else{d=!0;break a}return d?cljs.core.chunk_cons.call(null,cljs.core.chunk.call(null,g),q.call(null,cljs.core.chunk_rest.call(null,b))):cljs.core.chunk_cons.call(null,cljs.core.chunk.call(null,g),null)}g=
cljs.core.first.call(null,b);return cljs.core.cons.call(null,hoplon.svg.g.call(null,new cljs.core.Keyword(null,"id","id",-1388402092),weathergen.ui.cloud_coverage_id.call(null,c,g),vmt.clouds.coverage_icon.call(null,c,g)),q.call(null,cljs.core.rest.call(null,b)))}return null}}}(b,c,d,e),null,null)}}(d,g,f,e);if(e=cljs.core.seq.call(null,e.call(null,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[!0,!1],null))))return cljs.core.concat.call(null,e,c.call(null,cljs.core.rest.call(null,
d)));d=cljs.core.rest.call(null,d)}else return null}},null,null)}.call(null,weathergen.model.cloud_coverages)}())};
weathergen.ui.bullseye_info_box=function(){var a=javelin.core.formula.call(null,function(a,b){return new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[a,b],null)}).call(null,weathergen.ui.mouse_location,weathergen.ui.map_zoom),b=javelin.core.cell.call(null,0),c=javelin.core.cell.call(null,0),d=javelin.core.cell.call(null,0),e=javelin.core.cell.call(null,0),f=hoplon.svg.text.call(null,new cljs.core.Keyword(null,"x","x",2099068185),0,new cljs.core.Keyword(null,"y","y",-1757859776),
0,new cljs.core.Keyword(null,"font-size","font-size",-1847940346),"3.5%",new cljs.core.Keyword(null,"font-family","font-family",-667419874),"Source Code Pro",new cljs.core.Keyword(null,"font-weight","font-weight",2085804583),100,new cljs.core.Keyword(null,"stroke","stroke",1741823555),"black",new cljs.core.Keyword(null,"stroke-width","stroke-width",716836435),.03,new cljs.core.Keyword(null,"fill","fill",883462889),"black",hoplon.svg.tspan.call(null,javelin.core.formula.call(null,function(a,b,c,d,
e){return function(a,b,c,d){return cljs.core.str.cljs$core$IFn$_invoke$arity$1(function(){var e=cljs.core.truth_(null==c)?null:a.call(null,b,c);return cljs.core.truth_(null==e)?null:d.call(null,e)}())}}(b,c,d,e,a)).call(null,weathergen.coordinates.weather__GT_bullseye,weathergen.ui.mission,weathergen.ui.mouse_location,weathergen.ui.format_bullseye))),g=function(a,b,c,d,e,f){return function(){return javelin.core.dosync_STAR_.call(null,function(a,b,c,d,e,f){return function(){var f=e.getBBox();return cljs.core.truth_(f.x)?
(cljs.core.reset_BANG_.call(null,a,f.x),cljs.core.reset_BANG_.call(null,b,f.y),cljs.core.reset_BANG_.call(null,c,f.width),cljs.core.reset_BANG_.call(null,d,f.height)):null}}(a,b,c,d,e,f))}}(b,c,d,e,f,a);setTimeout(function(a,b,c,d,e,f,g){return function(){return f.call(null)}}(b,c,d,e,f,g,a),0);cljs.core.truth_(a)&&cljs.core.add_watch.call(null,a,cljs.core.keyword.call(null,cljs.core.gensym.call(null)),function(a,b,c,d,e,f,g,r,u){return function(h,k,l,m){return setTimeout(function(a,b,c,d,e,f,g,h,
k){return function(){return h.call(null)}}(a,b,c,d,e,f,g,r,u),0)}}(a,a,b,c,d,e,f,g,a));return hoplon.svg.g.call(null,new cljs.core.Keyword(null,"debug","debug",-1608172596),"bullseye-info-box",new cljs.core.Keyword(null,"toggle","toggle",1291842030),javelin.core.formula.call(null,function(a,b,c,d,e,f,g){return function(a,b,c){return cljs.core.not.call(null,null==b)&&c.call(null,a)}}(b,c,d,e,f,g,a)).call(null,weathergen.ui.suppress_bullseye_info_box_QMARK_,weathergen.ui.mouse_location,cljs.core.not),
new cljs.core.Keyword("svg","transform","svg/transform",1381351328),javelin.core.formula.call(null,function(a,b,c,d,e,f,g){return function(a,b,c){var d=null!=a&&(a.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===a.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,a):a;a=cljs.core.get.call(null,d,new cljs.core.Keyword(null,"x","x",2099068185));d=cljs.core.get.call(null,d,new cljs.core.Keyword(null,"y","y",-1757859776));var e=cljs.core.nth.call(null,c,0,null);c=cljs.core.nth.call(null,
c,1,null);return weathergen.ui.common.svg_translate.call(null,a+1E3/e/b,d+1250/c/b)}}(b,c,d,e,f,g,a)).call(null,weathergen.ui.mouse_location,weathergen.ui.map_zoom,weathergen.ui.map_size),hoplon.svg.g.call(null,new cljs.core.Keyword("svg","transform","svg/transform",1381351328),javelin.core.formula.call(null,function(a,b,c,d,e,f,g){return function(a,b,c){return a.call(null,c/b)}}(b,c,d,e,f,g,a)).call(null,weathergen.ui.common.svg_scale,weathergen.ui.map_zoom,weathergen.ui.map_text_scale),hoplon.svg.rect.call(null,
new cljs.core.Keyword(null,"x","x",2099068185),javelin.core.formula.call(null,function(a,b,c,d,e,f,g){return function(a){return-.05*a}}(b,c,d,e,f,g,a)).call(null,d),new cljs.core.Keyword(null,"y","y",-1757859776),javelin.core.formula.call(null,function(a,b,c,d,e,f,g){return function(a){return-(.8*a)}}(b,c,d,e,f,g,a)).call(null,e),new cljs.core.Keyword(null,"width","width",-384071477),javelin.core.formula.call(null,function(a,b,c,d,e,f,g){return function(a){return 1.1*a}}(b,c,d,e,f,g,a)).call(null,
d),new cljs.core.Keyword(null,"height","height",1025178622),e,new cljs.core.Keyword(null,"fill","fill",883462889),"white",new cljs.core.Keyword(null,"opacity","opacity",397153780),.8),f))};
weathergen.ui.adjust_west=function(a,b,c){return cljs.core.assoc.call(null,cljs.core.assoc.call(null,a,new cljs.core.Keyword(null,"x","x",2099068185),(new cljs.core.Keyword(null,"x","x",2099068185)).cljs$core$IFn$_invoke$arity$1(b)+c),new cljs.core.Keyword(null,"width","width",-384071477),(new cljs.core.Keyword(null,"width","width",-384071477)).cljs$core$IFn$_invoke$arity$1(b)-c)};
weathergen.ui.adjust_east=function(a,b,c){return cljs.core.assoc.call(null,a,new cljs.core.Keyword(null,"width","width",-384071477),(new cljs.core.Keyword(null,"width","width",-384071477)).cljs$core$IFn$_invoke$arity$1(b)+c)};
weathergen.ui.adjust_north=function(a,b,c){return cljs.core.assoc.call(null,cljs.core.assoc.call(null,a,new cljs.core.Keyword(null,"y","y",-1757859776),(new cljs.core.Keyword(null,"y","y",-1757859776)).cljs$core$IFn$_invoke$arity$1(b)+c),new cljs.core.Keyword(null,"height","height",1025178622),(new cljs.core.Keyword(null,"height","height",1025178622)).cljs$core$IFn$_invoke$arity$1(b)-c)};
weathergen.ui.adjust_south=function(a,b,c){return cljs.core.assoc.call(null,a,new cljs.core.Keyword(null,"height","height",1025178622),(new cljs.core.Keyword(null,"height","height",1025178622)).cljs$core$IFn$_invoke$arity$1(b)+c)};
weathergen.ui.restrict=function(a,b,c){var d=null!=c&&(c.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===c.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,c):c,e=cljs.core.get.call(null,d,new cljs.core.Keyword(null,"x","x",2099068185)),f=cljs.core.get.call(null,d,new cljs.core.Keyword(null,"y","y",-1757859776)),g=cljs.core.get.call(null,d,new cljs.core.Keyword(null,"width","width",-384071477));d=cljs.core.get.call(null,d,new cljs.core.Keyword(null,"height","height",
1025178622));return 0<=e&&0<=f&&e+g<=a&&f+d<=b&&0<g&&0<d?c:null};
weathergen.ui.weather_overrides_overlay=function(a,b){var c=javelin.core.formula.call(null,function(a,b,c){return b.call(null,c,(new cljs.core.Keyword(null,"weather-overrides","weather-overrides",-837381710)).cljs$core$IFn$_invoke$arity$1(a))}).call(null,a,cljs.core.map_indexed,cljs.core.vector),d=(new cljs.core.Keyword(null,"cell-count","cell-count",-441457582)).cljs$core$IFn$_invoke$arity$1(cljs.core.deref.call(null,a)),e=cljs.core.nth.call(null,d,0,null),f=cljs.core.nth.call(null,d,1,null);return javelin.core.formula.call(null,
function(c,d,e,f){return function(g){return hoplon.svg.g.call(null,new cljs.core.Keyword(null,"id","id",-1388402092),"weather-overrides-overlay",function(){return function(c,d,e,f){return function v(g){return new cljs.core.LazySeq(null,function(c,d,e,f){return function(){for(var h=g;;){var k=cljs.core.seq.call(null,h);if(k){var l=k;if(cljs.core.chunked_seq_QMARK_.call(null,l)){var m=cljs.core.chunk_first.call(null,l),n=cljs.core.count.call(null,m),p=cljs.core.chunk_buffer.call(null,n);return function(){for(var g=
0;;)if(g<n){var q=cljs.core._nth.call(null,m,g),r=cljs.core.nth.call(null,q,0,null),t=cljs.core.nth.call(null,q,1,null),v=t,w=null!=v&&(v.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===v.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,v):v,x=cljs.core.get.call(null,w,new cljs.core.Keyword(null,"location","location",1815599388)),y=cljs.core.get.call(null,w,new cljs.core.Keyword(null,"radius","radius",-2073122258)),z=cljs.core.get.call(null,w,new cljs.core.Keyword(null,
"falloff","falloff",-1639069456)),A=cljs.core.get.call(null,w,new cljs.core.Keyword(null,"show-outline?","show-outline?",820145348)),B=cljs.core.get.call(null,w,new cljs.core.Keyword(null,"editing?","editing?",1646440800)),C=x,D=null!=C&&(C.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===C.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,C):C,E=cljs.core.get.call(null,D,new cljs.core.Keyword(null,"x","x",2099068185)),F=cljs.core.get.call(null,D,new cljs.core.Keyword(null,
"y","y",-1757859776));cljs.core.truth_(function(){var a=A;return cljs.core.truth_(a)?a:B}())&&cljs.core.chunk_append.call(null,p,new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,[hoplon.svg.circle.call(null,new cljs.core.Keyword(null,"css","css",1135045163),new cljs.core.PersistentArrayMap(null,5,[new cljs.core.Keyword(null,"fill","fill",883462889),cljs.core.truth_(B)?weathergen.ui.common.colors.call(null,new cljs.core.Keyword(null,"edit","edit",-1641834166)):"none",new cljs.core.Keyword(null,
"cursor","cursor",1011937484),cljs.core.truth_(B)?"move":null,new cljs.core.Keyword(null,"stroke-width","stroke-width",716836435),"0.2",new cljs.core.Keyword(null,"stroke","stroke",1741823555),"fuchsia",new cljs.core.Keyword(null,"stroke-dasharray","stroke-dasharray",-942933855),"0.2 0.1"],null),new cljs.core.Keyword(null,"cx","cx",1272694324),E+.5,new cljs.core.Keyword(null,"cy","cy",755331060),F+.5,new cljs.core.Keyword(null,"r","r",-471384190),y-.5,new cljs.core.Keyword(null,"mousedown","mousedown",
1391242074),function(c,d,e,f,g,h,k,l,m,n,p,q,r,t,v,w,x,y,z,A,B,C,D,E,F){return function(G){cljs.core.reset_BANG_.call(null,weathergen.ui.prevent_recomputation_QMARK_,!0);return b.call(null,function(){return function(b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,v,w,x,y,z,A,B,C,D,E,F){return function(G,H){var I=cljs.core.nth.call(null,G,0,null),J=cljs.core.nth.call(null,G,1,null),L=cljs.core.long$.call(null,I),K=cljs.core.long$.call(null,J);return javelin.core.dosync_STAR_.call(null,function(b,c,d,e,f,g,h,k,l,m,n,
p,q,r,t,v,w,x,y,z,A,B,C,D,E,F,G,I,J,L,K){return function(){cljs.core.swap_BANG_.call(null,a,cljs.core.update_in,new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"weather-overrides","weather-overrides",-837381710),A,new cljs.core.Keyword(null,"location","location",1815599388)],null),function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,v,w,x,y,z,A,B,C,D,E,F,G,H,I,J){return function(a){return cljs.core.assoc.call(null,a,new cljs.core.Keyword(null,"x","x",
2099068185),weathergen.math.clamp.call(null,0,I-1,(new cljs.core.Keyword(null,"x","x",2099068185)).cljs$core$IFn$_invoke$arity$1(h)+c),new cljs.core.Keyword(null,"y","y",-1757859776),weathergen.math.clamp.call(null,0,J-1,(new cljs.core.Keyword(null,"y","y",-1757859776)).cljs$core$IFn$_invoke$arity$1(h)+d))}}(b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,v,w,x,y,z,A,B,C,D,E,F,G,I,J,L,K));return cljs.core.truth_(H)?cljs.core.reset_BANG_.call(null,weathergen.ui.prevent_recomputation_QMARK_,!1):null}}(b,c,L,K,G,I,J,
d,e,f,g,h,k,l,m,n,p,q,r,t,v,w,x,y,z,A,B,C,D,E,F))}}(c,d,g,e,f,g,h,k,l,m,n,p,q,r,t,v,w,x,y,z,A,B,C,D,E,F)}())}}(g,h,v,w,x,y,z,A,B,C,D,E,F,q,r,t,m,n,p,l,k,c,d,e,f)),hoplon.svg.circle.call(null,new cljs.core.Keyword(null,"css","css",1135045163),new cljs.core.PersistentArrayMap(null,4,[new cljs.core.Keyword(null,"fill","fill",883462889),"none",new cljs.core.Keyword(null,"stroke-width","stroke-width",716836435),"0.2",new cljs.core.Keyword(null,"stroke","stroke",1741823555),"fuchsia",new cljs.core.Keyword(null,
"stroke-dasharray","stroke-dasharray",-942933855),"0.1 0.2"],null),new cljs.core.Keyword(null,"cx","cx",1272694324),E+.5,new cljs.core.Keyword(null,"cy","cy",755331060),F+.5,new cljs.core.Keyword(null,"r","r",-471384190),z-.5),function(){var G=function(a,c,d,e,f,g,h,k,l,m,n,p,q,r,t,v,w,x,y,z,A,B,C,D,E){return function(F,G){return function(a,c,d,e,f,g,h,k,l,m,n,p,q,r,t,v,w,x,y,z,A,B,C,D,E){return function Ea(H){return new cljs.core.LazySeq(null,function(a,c,d,e,f,g,h,k,l,m,n,p,q,r,t,v,w,x,y,z,A,B,
C,D,E){return function(){for(;;){var I=cljs.core.seq.call(null,H);if(I){var J=I;if(cljs.core.chunked_seq_QMARK_.call(null,J)){var L=cljs.core.chunk_first.call(null,J),K=cljs.core.count.call(null,L),M=cljs.core.chunk_buffer.call(null,K);return function(){for(var H=0;;)if(H<K){var N=cljs.core._nth.call(null,L,H);cljs.core.chunk_append.call(null,M,function(){var O=weathergen.math.deg__GT_rad.call(null,N),P=F-.5,Q=Math.sin(O),R=Math.cos(O),S=P*Q,T=P*R,U=.1<Q?"e":-.1>Q?"w":"",V=.1<R?"s":-.1>R?"n":"";return hoplon.svg.rect.call(null,
new cljs.core.Keyword(null,"attr","attr",-604132353),new cljs.core.PersistentArrayMap(null,4,[new cljs.core.Keyword(null,"stroke","stroke",1741823555),"black",new cljs.core.Keyword(null,"stroke-width","stroke-width",716836435),"0.1",new cljs.core.Keyword(null,"fill","fill",883462889),"white",new cljs.core.Keyword(null,"cursor","cursor",1011937484),[V,U,"-resize"].join("")],null),new cljs.core.Keyword(null,"x","x",2099068185),p+S+.5-weathergen.ui.resize_handle_size/2,new cljs.core.Keyword(null,"y",
"y",-1757859776),q+T+.5-weathergen.ui.resize_handle_size/2,new cljs.core.Keyword(null,"width","width",-384071477),weathergen.ui.resize_handle_size,new cljs.core.Keyword(null,"height","height",1025178622),weathergen.ui.resize_handle_size,new cljs.core.Keyword(null,"mousedown","mousedown",1391242074),function(a,c,d,e,f,g,h,k,l,m,n,p,q,r,t,v,w,x,y,z,A,B,C,D,E,F,H,I,J,L,K,M,N,O,P,Q,R,S,T,U){return function(V){cljs.core.reset_BANG_.call(null,weathergen.ui.prevent_recomputation_QMARK_,!0);return b.call(null,
function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,v,w,x,y,z,A,B,C,D,E,F,H,I,J,L,K,M,N,O,P,Q,R,S,T){return function(U,V){var W=cljs.core.nth.call(null,U,0,null),X=cljs.core.nth.call(null,U,1,null),Z=h+W,ba=k+X;return javelin.core.dosync_STAR_.call(null,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,v,w,x,y,z,A,B,C,D,E,F,H,I,J,L,K,M,N,O,P,Q,R,S,T,U,W,X,Z,ba,Y){return function(){G.call(null,f);return cljs.core.truth_(V)?cljs.core.reset_BANG_.call(null,weathergen.ui.prevent_recomputation_QMARK_,!1):null}}(a,b,c,Z,ba,
.5+Math.sqrt(Z*Z+ba*ba),U,W,X,d,e,f,g,h,k,l,m,n,p,q,r,t,v,w,x,y,z,A,B,C,D,E,F,H,I,J,L,K,M,N,O,P,Q,R,S,T))}}(a,c,d,e,f,g,h,k,l,m,n,p,q,r,t,v,w,x,y,z,A,B,C,D,E,F,H,I,J,L,K,M,N,O,P,Q,R,S,T,U))}}(H,a,c,O,P,Q,R,S,T,U,V,N,L,K,M,J,I,d,e,f,g,h,k,l,m,n,p,q,r,t,v,w,x,y,z,A,B,C,D,E))}());H+=1}else return!0}()?cljs.core.chunk_cons.call(null,cljs.core.chunk.call(null,M),Ea.call(null,cljs.core.chunk_rest.call(null,J))):cljs.core.chunk_cons.call(null,cljs.core.chunk.call(null,M),null)}var N=cljs.core.first.call(null,
J);return cljs.core.cons.call(null,function(){var H=weathergen.math.deg__GT_rad.call(null,N),L=F-.5,K=Math.sin(H),M=Math.cos(H),O=L*K,P=L*M,Q=.1<K?"e":-.1>K?"w":"",R=.1<M?"s":-.1>M?"n":"";return hoplon.svg.rect.call(null,new cljs.core.Keyword(null,"attr","attr",-604132353),new cljs.core.PersistentArrayMap(null,4,[new cljs.core.Keyword(null,"stroke","stroke",1741823555),"black",new cljs.core.Keyword(null,"stroke-width","stroke-width",716836435),"0.1",new cljs.core.Keyword(null,"fill","fill",883462889),
"white",new cljs.core.Keyword(null,"cursor","cursor",1011937484),[R,Q,"-resize"].join("")],null),new cljs.core.Keyword(null,"x","x",2099068185),p+O+.5-weathergen.ui.resize_handle_size/2,new cljs.core.Keyword(null,"y","y",-1757859776),q+P+.5-weathergen.ui.resize_handle_size/2,new cljs.core.Keyword(null,"width","width",-384071477),weathergen.ui.resize_handle_size,new cljs.core.Keyword(null,"height","height",1025178622),weathergen.ui.resize_handle_size,new cljs.core.Keyword(null,"mousedown","mousedown",
1391242074),function(a,c,d,e,f,g,h,k,l,m,n,p,q,r,t,v,w,x,y,z,A,B,C,D,E,F,H,I,J,L,K,M,N,O,P,Q){return function(R){cljs.core.reset_BANG_.call(null,weathergen.ui.prevent_recomputation_QMARK_,!0);return b.call(null,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,v,w,x,y,z,A,B,C,D,E,F,H,I,J,L,K,M,N,O,P){return function(Q,R){var S=cljs.core.nth.call(null,Q,0,null),T=cljs.core.nth.call(null,Q,1,null),U=g+S,V=h+T;return javelin.core.dosync_STAR_.call(null,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,v,w,x,y,z,A,B,C,
D,E,F,H,I,J,L,K,M,N,O,P,Q,S,T,U,V,W){return function(){G.call(null,e);return cljs.core.truth_(R)?cljs.core.reset_BANG_.call(null,weathergen.ui.prevent_recomputation_QMARK_,!1):null}}(a,b,U,V,.5+Math.sqrt(U*U+V*V),Q,S,T,c,d,e,f,g,h,k,l,m,n,p,q,r,t,v,w,x,y,z,A,B,C,D,E,F,H,I,J,L,K,M,N,O,P))}}(a,c,d,e,f,g,h,k,l,m,n,p,q,r,t,v,w,x,y,z,A,B,C,D,E,F,H,I,J,L,K,M,N,O,P,Q))}}(a,c,H,L,K,M,O,P,Q,R,N,J,I,d,e,f,g,h,k,l,m,n,p,q,r,t,v,w,x,y,z,A,B,C,D,E))}(),Ea.call(null,cljs.core.rest.call(null,J)))}return null}}}(a,
c,d,e,f,g,h,k,l,m,n,p,q,r,t,v,w,x,y,z,A,B,C,D,E),null,null)}}(a,c,d,e,f,g,h,k,l,m,n,p,q,r,t,v,w,x,y,z,A,B,C,D,E).call(null,cljs.core.range.call(null,0,360,45))}}(g,h,v,w,x,y,z,A,B,C,D,E,F,q,r,t,m,n,p,l,k,c,d,e,f);return cljs.core.not.call(null,B)?cljs.core.PersistentVector.EMPTY:new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[G.call(null,z,function(b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,v,w,x,y,z,A,B,C,D,E,F){return function(G){return cljs.core.swap_BANG_.call(null,a,cljs.core.update_in,
new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"weather-overrides","weather-overrides",-837381710),v],null),function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,v,w,x,y,z,A,B,C,D,E){return function(a){a=null!=a&&(a.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===a.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,a):a;cljs.core.get.call(null,a,new cljs.core.Keyword(null,"falloff","falloff",-1639069456));var b=cljs.core.get.call(null,
a,new cljs.core.Keyword(null,"radius","radius",-2073122258));return cljs.core.assoc.call(null,a,new cljs.core.Keyword(null,"falloff","falloff",-1639069456),weathergen.math.clamp.call(null,0,b,cljs.core.long$.call(null,G)))}}(b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,v,w,x,y,z,A,B,C,D,E,F))}}(g,h,G,v,w,x,y,z,A,B,C,D,E,F,q,r,t,m,n,p,l,k,c,d,e,f)),G.call(null,y,function(b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,v,w,x,y,z,A,B,C,D,E,F){return function(G){cljs.core.swap_BANG_.call(null,a,cljs.core.assoc_in,new cljs.core.PersistentVector(null,
3,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"weather-overrides","weather-overrides",-837381710),v,new cljs.core.Keyword(null,"radius","radius",-2073122258)],null),function(){var a=cljs.core.long$.call(null,G);return 1>a?1:a}());return cljs.core.swap_BANG_.call(null,a,cljs.core.update_in,new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"weather-overrides","weather-overrides",-837381710),v,new cljs.core.Keyword(null,
"falloff","falloff",-1639069456)],null),function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,v,w,x,y,z,A,B,C,D,E){return function(a){return weathergen.math.clamp.call(null,0,cljs.core.long$.call(null,G),a)}}(b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,v,w,x,y,z,A,B,C,D,E,F))}}(g,h,G,v,w,x,y,z,A,B,C,D,E,F,q,r,t,m,n,p,l,k,c,d,e,f))],null)}()],null));g+=1}else return!0}()?cljs.core.chunk_cons.call(null,cljs.core.chunk.call(null,p),v.call(null,cljs.core.chunk_rest.call(null,l))):cljs.core.chunk_cons.call(null,cljs.core.chunk.call(null,
p),null)}var q=cljs.core.first.call(null,l),r=cljs.core.nth.call(null,q,0,null),t=cljs.core.nth.call(null,q,1,null),w=t,x=null!=w&&(w.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===w.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,w):w,y=cljs.core.get.call(null,x,new cljs.core.Keyword(null,"location","location",1815599388)),z=cljs.core.get.call(null,x,new cljs.core.Keyword(null,"radius","radius",-2073122258)),O=cljs.core.get.call(null,x,new cljs.core.Keyword(null,
"falloff","falloff",-1639069456)),P=cljs.core.get.call(null,x,new cljs.core.Keyword(null,"show-outline?","show-outline?",820145348)),N=cljs.core.get.call(null,x,new cljs.core.Keyword(null,"editing?","editing?",1646440800)),Q=y,R=null!=Q&&(Q.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===Q.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,Q):Q,S=cljs.core.get.call(null,R,new cljs.core.Keyword(null,"x","x",2099068185)),T=cljs.core.get.call(null,R,new cljs.core.Keyword(null,
"y","y",-1757859776));if(cljs.core.truth_(function(){var a=P;return cljs.core.truth_(a)?a:N}()))return cljs.core.cons.call(null,new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,[hoplon.svg.circle.call(null,new cljs.core.Keyword(null,"css","css",1135045163),new cljs.core.PersistentArrayMap(null,5,[new cljs.core.Keyword(null,"fill","fill",883462889),cljs.core.truth_(N)?weathergen.ui.common.colors.call(null,new cljs.core.Keyword(null,"edit","edit",-1641834166)):"none",new cljs.core.Keyword(null,
"cursor","cursor",1011937484),cljs.core.truth_(N)?"move":null,new cljs.core.Keyword(null,"stroke-width","stroke-width",716836435),"0.2",new cljs.core.Keyword(null,"stroke","stroke",1741823555),"fuchsia",new cljs.core.Keyword(null,"stroke-dasharray","stroke-dasharray",-942933855),"0.2 0.1"],null),new cljs.core.Keyword(null,"cx","cx",1272694324),S+.5,new cljs.core.Keyword(null,"cy","cy",755331060),T+.5,new cljs.core.Keyword(null,"r","r",-471384190),z-.5,new cljs.core.Keyword(null,"mousedown","mousedown",
1391242074),function(c,d,e,f,g,h,k,l,m,n,p,q,r,t,v,w,x,y,z,A,B){return function(C){cljs.core.reset_BANG_.call(null,weathergen.ui.prevent_recomputation_QMARK_,!0);return b.call(null,function(){return function(b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,v,w,x,y,z,A,B){return function(C,D){var E=cljs.core.nth.call(null,C,0,null),F=cljs.core.nth.call(null,C,1,null),G=cljs.core.long$.call(null,E),H=cljs.core.long$.call(null,F);return javelin.core.dosync_STAR_.call(null,function(b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,v,w,x,y,
z,A,B,C,E,F,G,H){return function(){cljs.core.swap_BANG_.call(null,a,cljs.core.update_in,new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"weather-overrides","weather-overrides",-837381710),z,new cljs.core.Keyword(null,"location","location",1815599388)],null),function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,v,w,x,y,z,A,B,C,D,E,F){return function(a){return cljs.core.assoc.call(null,a,new cljs.core.Keyword(null,"x","x",2099068185),weathergen.math.clamp.call(null,
0,E-1,(new cljs.core.Keyword(null,"x","x",2099068185)).cljs$core$IFn$_invoke$arity$1(g)+b),new cljs.core.Keyword(null,"y","y",-1757859776),weathergen.math.clamp.call(null,0,F-1,(new cljs.core.Keyword(null,"y","y",-1757859776)).cljs$core$IFn$_invoke$arity$1(g)+c))}}(b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,v,w,x,y,z,A,B,C,E,F,G,H));return cljs.core.truth_(D)?cljs.core.reset_BANG_.call(null,weathergen.ui.prevent_recomputation_QMARK_,!1):null}}(b,G,H,C,E,F,c,d,e,f,g,h,k,l,m,n,p,q,r,t,v,w,x,y,z,A,B))}}(c,f,d,e,
f,g,h,k,l,m,n,p,q,r,t,v,w,x,y,z,A,B)}())}}(h,w,x,y,z,O,P,N,Q,R,S,T,q,r,t,l,k,c,d,e,f)),hoplon.svg.circle.call(null,new cljs.core.Keyword(null,"css","css",1135045163),new cljs.core.PersistentArrayMap(null,4,[new cljs.core.Keyword(null,"fill","fill",883462889),"none",new cljs.core.Keyword(null,"stroke-width","stroke-width",716836435),"0.2",new cljs.core.Keyword(null,"stroke","stroke",1741823555),"fuchsia",new cljs.core.Keyword(null,"stroke-dasharray","stroke-dasharray",-942933855),"0.1 0.2"],null),
new cljs.core.Keyword(null,"cx","cx",1272694324),S+.5,new cljs.core.Keyword(null,"cy","cy",755331060),T+.5,new cljs.core.Keyword(null,"r","r",-471384190),O-.5),function(){var g=function(a,c,d,e,f,g,h,k,l,m,n,p,q,r,t,v,w,x,y,z,A){return function(B,C){return function(a,c,d,e,f,g,h,k,l,m,n,p,q,r,t,v,w,x,y,z,A){return function la(D){return new cljs.core.LazySeq(null,function(a,c,d,e,f,g,h,k,l,m,n,p,q,r,t,v,w,x,y,z,A){return function(){for(;;){var E=cljs.core.seq.call(null,D);if(E){var F=E;if(cljs.core.chunked_seq_QMARK_.call(null,
F)){var G=cljs.core.chunk_first.call(null,F),H=cljs.core.count.call(null,G),I=cljs.core.chunk_buffer.call(null,H);return function(){for(var D=0;;)if(D<H){var J=cljs.core._nth.call(null,G,D);cljs.core.chunk_append.call(null,I,function(){var L=weathergen.math.deg__GT_rad.call(null,J),K=B-.5,M=Math.sin(L),N=Math.cos(L),O=K*M,P=K*N,Q=.1<M?"e":-.1>M?"w":"",R=.1<N?"s":-.1>N?"n":"";return hoplon.svg.rect.call(null,new cljs.core.Keyword(null,"attr","attr",-604132353),new cljs.core.PersistentArrayMap(null,
4,[new cljs.core.Keyword(null,"stroke","stroke",1741823555),"black",new cljs.core.Keyword(null,"stroke-width","stroke-width",716836435),"0.1",new cljs.core.Keyword(null,"fill","fill",883462889),"white",new cljs.core.Keyword(null,"cursor","cursor",1011937484),[R,Q,"-resize"].join("")],null),new cljs.core.Keyword(null,"x","x",2099068185),n+O+.5-weathergen.ui.resize_handle_size/2,new cljs.core.Keyword(null,"y","y",-1757859776),p+P+.5-weathergen.ui.resize_handle_size/2,new cljs.core.Keyword(null,"width",
"width",-384071477),weathergen.ui.resize_handle_size,new cljs.core.Keyword(null,"height","height",1025178622),weathergen.ui.resize_handle_size,new cljs.core.Keyword(null,"mousedown","mousedown",1391242074),function(a,c,d,e,f,g,h,k,l,m,n,p,q,r,t,v,w,x,y,z,A,B,D,E,F,G,H,I,J,L,K,M,N,O,P,Q){return function(R){cljs.core.reset_BANG_.call(null,weathergen.ui.prevent_recomputation_QMARK_,!0);return b.call(null,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,v,w,x,y,z,A,B,D,E,F,G,H,I,J,L,K,M,N,O,P){return function(Q,
R){var S=cljs.core.nth.call(null,Q,0,null),T=cljs.core.nth.call(null,Q,1,null),U=g+S,V=h+T;return javelin.core.dosync_STAR_.call(null,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,v,w,x,y,z,A,B,D,E,F,G,H,I,J,L,K,M,N,O,P,Q,S,T,U,V,W){return function(){C.call(null,e);return cljs.core.truth_(R)?cljs.core.reset_BANG_.call(null,weathergen.ui.prevent_recomputation_QMARK_,!1):null}}(a,b,U,V,.5+Math.sqrt(U*U+V*V),Q,S,T,c,d,e,f,g,h,k,l,m,n,p,q,r,t,v,w,x,y,z,A,B,D,E,F,G,H,I,J,L,K,M,N,O,P))}}(a,c,d,e,f,g,h,k,l,m,
n,p,q,r,t,v,w,x,y,z,A,B,D,E,F,G,H,I,J,L,K,M,N,O,P,Q))}}(D,a,L,K,M,N,O,P,Q,R,J,G,H,I,F,E,c,d,e,f,g,h,k,l,m,n,p,q,r,t,v,w,x,y,z,A))}());D+=1}else return!0}()?cljs.core.chunk_cons.call(null,cljs.core.chunk.call(null,I),la.call(null,cljs.core.chunk_rest.call(null,F))):cljs.core.chunk_cons.call(null,cljs.core.chunk.call(null,I),null)}var J=cljs.core.first.call(null,F);return cljs.core.cons.call(null,function(){var D=weathergen.math.deg__GT_rad.call(null,J),G=B-.5,H=Math.sin(D),I=Math.cos(D),L=G*H,K=G*
I,M=.1<H?"e":-.1>H?"w":"",N=.1<I?"s":-.1>I?"n":"";return hoplon.svg.rect.call(null,new cljs.core.Keyword(null,"attr","attr",-604132353),new cljs.core.PersistentArrayMap(null,4,[new cljs.core.Keyword(null,"stroke","stroke",1741823555),"black",new cljs.core.Keyword(null,"stroke-width","stroke-width",716836435),"0.1",new cljs.core.Keyword(null,"fill","fill",883462889),"white",new cljs.core.Keyword(null,"cursor","cursor",1011937484),[N,M,"-resize"].join("")],null),new cljs.core.Keyword(null,"x","x",2099068185),
n+L+.5-weathergen.ui.resize_handle_size/2,new cljs.core.Keyword(null,"y","y",-1757859776),p+K+.5-weathergen.ui.resize_handle_size/2,new cljs.core.Keyword(null,"width","width",-384071477),weathergen.ui.resize_handle_size,new cljs.core.Keyword(null,"height","height",1025178622),weathergen.ui.resize_handle_size,new cljs.core.Keyword(null,"mousedown","mousedown",1391242074),function(a,c,d,e,f,g,h,k,l,m,n,p,q,r,t,v,w,x,y,z,A,B,D,E,F,G,H,I,J,L,K,M){return function(N){cljs.core.reset_BANG_.call(null,weathergen.ui.prevent_recomputation_QMARK_,
!0);return b.call(null,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,v,w,x,y,z,A,B,D,E,F,G,H,I,J,L,K){return function(M,N){var O=cljs.core.nth.call(null,M,0,null),P=cljs.core.nth.call(null,M,1,null),Q=f+O,R=g+P;return javelin.core.dosync_STAR_.call(null,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,v,w,x,y,z,A,B,D,E,F,G,H,I,J,L,K,M,O,P,Q,R,S){return function(){C.call(null,d);return cljs.core.truth_(N)?cljs.core.reset_BANG_.call(null,weathergen.ui.prevent_recomputation_QMARK_,!1):null}}(a,Q,R,.5+Math.sqrt(Q*
Q+R*R),M,O,P,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,v,w,x,y,z,A,B,D,E,F,G,H,I,J,L,K))}}(a,c,d,e,f,g,h,k,l,m,n,p,q,r,t,v,w,x,y,z,A,B,D,E,F,G,H,I,J,L,K,M))}}(a,D,G,H,I,L,K,M,N,J,F,E,c,d,e,f,g,h,k,l,m,n,p,q,r,t,v,w,x,y,z,A))}(),la.call(null,cljs.core.rest.call(null,F)))}return null}}}(a,c,d,e,f,g,h,k,l,m,n,p,q,r,t,v,w,x,y,z,A),null,null)}}(a,c,d,e,f,g,h,k,l,m,n,p,q,r,t,v,w,x,y,z,A).call(null,cljs.core.range.call(null,0,360,45))}}(h,w,x,y,z,O,P,N,Q,R,S,T,q,r,t,l,k,c,d,e,f);return cljs.core.not.call(null,N)?cljs.core.PersistentVector.EMPTY:
new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[g.call(null,O,function(b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,v,w,x,y,z,A,B){return function(C){return cljs.core.swap_BANG_.call(null,a,cljs.core.update_in,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"weather-overrides","weather-overrides",-837381710),t],null),function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,v,w,x,y,z,A){return function(a){a=null!=a&&(a.cljs$lang$protocol_mask$partition0$&
64||cljs.core.PROTOCOL_SENTINEL===a.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,a):a;cljs.core.get.call(null,a,new cljs.core.Keyword(null,"falloff","falloff",-1639069456));var b=cljs.core.get.call(null,a,new cljs.core.Keyword(null,"radius","radius",-2073122258));return cljs.core.assoc.call(null,a,new cljs.core.Keyword(null,"falloff","falloff",-1639069456),weathergen.math.clamp.call(null,0,b,cljs.core.long$.call(null,C)))}}(b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,v,w,x,y,z,A,B))}}(h,g,w,x,
y,z,O,P,N,Q,R,S,T,q,r,t,l,k,c,d,e,f)),g.call(null,z,function(b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,v,w,x,y,z,A,B){return function(C){cljs.core.swap_BANG_.call(null,a,cljs.core.assoc_in,new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"weather-overrides","weather-overrides",-837381710),t,new cljs.core.Keyword(null,"radius","radius",-2073122258)],null),function(){var a=cljs.core.long$.call(null,C);return 1>a?1:a}());return cljs.core.swap_BANG_.call(null,
a,cljs.core.update_in,new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"weather-overrides","weather-overrides",-837381710),t,new cljs.core.Keyword(null,"falloff","falloff",-1639069456)],null),function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,v,w,x,y,z,A){return function(a){return weathergen.math.clamp.call(null,0,cljs.core.long$.call(null,C),a)}}(b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,v,w,x,y,z,A,B))}}(h,g,w,x,y,z,O,P,N,Q,R,S,T,q,r,t,l,k,c,d,e,f))],null)}()],
null),v.call(null,cljs.core.rest.call(null,l)));h=cljs.core.rest.call(null,l)}else return null}}}(c,d,e,f),null,null)}}(c,d,e,f).call(null,g)}())}}(c,d,e,f)).call(null,c)};
weathergen.ui.flight_path__GT_path=function(a,b){var c=cljs.core.seq.call(null,b);cljs.core.first.call(null,c);cljs.core.next.call(null,c);c=!1;for(var d=null;;){b=cljs.core.seq.call(null,b);var e=cljs.core.first.call(null,b);b=cljs.core.next.call(null,b);if(cljs.core.truth_(e)){e=null!=e&&(e.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===e.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,e):e;var f=cljs.core.get.call(null,e,new cljs.core.Keyword("weathergen.dtc",
"coordinates","weathergen.dtc/coordinates",-1965136125));e=cljs.core.get.call(null,e,new cljs.core.Keyword("weathergen.dtc","action","weathergen.dtc/action",1537999145));var g=null!=f&&(f.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===f.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,f):f;f=cljs.core.get.call(null,g,new cljs.core.Keyword("weathergen.dtc","x","weathergen.dtc/x",-384550566));g=cljs.core.get.call(null,g,new cljs.core.Keyword("weathergen.dtc","y",
"weathergen.dtc/y",-474567375));g=weathergen.coordinates.ffeet__GT_weather.call(null,a,f,g);f=cljs.core.nth.call(null,g,0,null);g=cljs.core.nth.call(null,g,1,null);if(c)return d;c=c||cljs.core._EQ_.call(null,e,new cljs.core.Keyword(null,"land","land",-1402569867));d=[d,cljs.core.truth_(d)?" ":null,cljs.core.truth_(d)?"L":"M",cljs.core.str.cljs$core$IFn$_invoke$arity$1(goog.string.format("%f,%f",f,g))].join("")}else return d}};
weathergen.ui.line__GT_path=function(a,b){var c=cljs.core.seq.call(null,b);cljs.core.first.call(null,c);cljs.core.next.call(null,c);for(c=null;;){b=cljs.core.seq.call(null,b);var d=cljs.core.first.call(null,b);b=cljs.core.next.call(null,b);if(cljs.core.truth_(d)){d=null!=d&&(d.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===d.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,d):d;d=cljs.core.get.call(null,d,new cljs.core.Keyword("weathergen.dtc","coordinates","weathergen.dtc/coordinates",
-1965136125));var e=null!=d&&(d.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===d.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,d):d;d=cljs.core.get.call(null,e,new cljs.core.Keyword("weathergen.dtc","x","weathergen.dtc/x",-384550566));e=cljs.core.get.call(null,e,new cljs.core.Keyword("weathergen.dtc","y","weathergen.dtc/y",-474567375));e=weathergen.coordinates.ffeet__GT_weather.call(null,a,d,e);d=cljs.core.nth.call(null,e,0,null);e=cljs.core.nth.call(null,e,
1,null);c=[c,cljs.core.truth_(c)?" ":null,cljs.core.truth_(c)?"L":"M",cljs.core.str.cljs$core$IFn$_invoke$arity$1(goog.string.format("%f,%f",d,e))].join("")}else return c}};weathergen.ui.airbase_info_id=function(a){return["airbase-info-",cljs.core.str.cljs$core$IFn$_invoke$arity$1((new cljs.core.Keyword(null,"camp-id","camp-id",618705690)).cljs$core$IFn$_invoke$arity$1(a))].join("")};weathergen.ui.airbase_status_color=function(a){return 75<a?"green":25<a?"orange":"red"};
weathergen.ui.airbase_info_overlay=function(a,b){var c=javelin.core.formula.call(null,function(a){return function(a,b){return weathergen.coordinates.fgrid__GT_weather.call(null,a,(new cljs.core.Keyword(null,"x","x",2099068185)).cljs$core$IFn$_invoke$arity$1(b),(new cljs.core.Keyword(null,"y","y",-1757859776)).cljs$core$IFn$_invoke$arity$1(b))}}(.05)).call(null,a,b),d=javelin.core.formula.call(null,function(a,b){return function(a){return(new cljs.core.Keyword(null,"x","x",2099068185)).cljs$core$IFn$_invoke$arity$1(a)}}(.05,
c)).call(null,c),e=javelin.core.formula.call(null,function(a,b,c){return function(a){return(new cljs.core.Keyword(null,"y","y",-1757859776)).cljs$core$IFn$_invoke$arity$1(a)}}(.05,c,d)).call(null,c),f=javelin.core.formula.call(null,function(a,b,c,d){return function(a){return(new cljs.core.Keyword("weathergen.falcon.files.mission","name","weathergen.falcon.files.mission/name",1235339975)).cljs$core$IFn$_invoke$arity$1(a)}}(.05,c,d,e)).call(null,b),g=javelin.core.formula.call(null,function(a,b,c,d,
e){return function(a){return(new cljs.core.Keyword(null,"camp-id","camp-id",618705690)).cljs$core$IFn$_invoke$arity$1(a)}}(.05,c,d,e,f)).call(null,b),h=javelin.core.formula.call(null,function(a,b,c,d,e,f){return function(a,b){return a.call(null,b)}}(.05,c,d,e,f,g)).call(null,weathergen.ui.displayed_airbases,b),k=javelin.core.formula.call(null,function(a,b,c,d,e,f,g){return function(a,b){return cljs.core._EQ_.call(null,a,b)}}(.05,c,d,e,f,g,h)).call(null,weathergen.ui.highlighted_airbase,b),l=javelin.core.formula.call(null,
function(a,b,c,d,e,f,g,h,k){return function(a,b){return weathergen.ui.common.team_color.call(null,weathergen.falcon.files.mission.side.call(null,a,(new cljs.core.Keyword(null,"owner","owner",-392611939)).cljs$core$IFn$_invoke$arity$1(b)),new cljs.core.Keyword(null,"light-text","light-text",-274885440))}}(.05,c,d,e,f,g,h,k,"3.5%")).call(null,a,b),m=javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,k,l,m){return function(a){return weathergen.ui.common.contrasting.call(null,a)}}(.05,c,d,e,f,g,
h,k,"3.5%",l,.03)).call(null,l);return hoplon.svg.g.call(null,new cljs.core.Keyword(null,"debug","debug",-1608172596),"airbase-info-overlay",function(){var n=new cljs.core.Delay(function(c,d,e,f,g,h,k,l,m,n,p,q){return function(){return hoplon.svg.g.call(null,new cljs.core.Keyword(null,"id","id",-1388402092),javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,k,l,m,n){return function(a,b){return b.call(null,a)}}(c,d,e,f,g,h,k,l,m,n,p,q)).call(null,b,weathergen.ui.airbase_info_id),new cljs.core.Keyword(null,
"airbase","airbase",-369690299),g,new cljs.core.Keyword(null,"transform","transform",1381301764),javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,k,l,m,n){return function(a,b,c){return cljs.core.truth_(cljs.core.truth_(a)?b:a)?weathergen.ui.common.svg_xform_combine.call(null,weathergen.ui.common.svg_translate.call(null,a,b),weathergen.ui.common.svg_scale.call(null,1/c)):null}}(c,d,e,f,g,h,k,l,m,n,p,q)).call(null,e,f,weathergen.ui.map_zoom),function(){var r=javelin.core.formula.call(null,function(a,
b,c,d,e,f,g,h,k,l,m,n){return function(a){return(new cljs.core.Keyword(null,"airbase-label-style","airbase-label-style",-1349798514)).cljs$core$IFn$_invoke$arity$1(a)}}(c,d,e,f,g,h,k,l,m,n,p,q)).call(null,weathergen.ui.map_display),t=javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r){return function(a){return(new cljs.core.Keyword("weathergen.falcon.files.mission","status","weathergen.falcon.files.mission/status",667063917)).cljs$core$IFn$_invoke$arity$1(a)}}(r,.2,.75,c,d,e,f,
g,h,k,l,m,n,p,q)).call(null,b),u=javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t){return function(a){a=(new cljs.core.Keyword("weathergen.falcon.files.mission","image","weathergen.falcon.files.mission/image",-1683332210)).cljs$core$IFn$_invoke$arity$1(a);a=null!=a&&(a.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===a.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,a):a;a=cljs.core.get.call(null,a,new cljs.core.Keyword(null,"image-data","image-data",
-377483758));a=null!=a&&(a.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===a.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,a):a;var b=cljs.core.get.call(null,a,new cljs.core.Keyword(null,"size","size",1098693007)),c=cljs.core.get.call(null,a,new cljs.core.Keyword(null,"center","center",-748944368));a=cljs.core.nth.call(null,b,0,null);b=cljs.core.nth.call(null,b,1,null);var d=cljs.core.nth.call(null,c,0,null);c=cljs.core.nth.call(null,c,1,null);return new cljs.core.PersistentArrayMap(null,
5,[new cljs.core.Keyword(null,"x","x",2099068185),(d-a)*e,new cljs.core.Keyword(null,"y","y",-1757859776),-(b-c)*e,new cljs.core.Keyword(null,"w","w",354169001),a*e,new cljs.core.Keyword(null,"h","h",1109658740),b*e,new cljs.core.Keyword(null,"d","d",1972142424),c*e],null)}}(r,.2,.75,t,c,d,e,f,g,h,k,l,m,n,p,q)).call(null,b),v=weathergen.ui.common.path_lens.call(null,weathergen.ui.map_display,new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,
"show-airbase-status?","show-airbase-status?",-2059784435)],null)),w=weathergen.ui.common.path_lens.call(null,weathergen.ui.map_display,new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"show-airbase-squadrons?","show-airbase-squadrons?",1245487954)],null)),x=javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,y){return function(a,b){return(new cljs.core.Keyword(null,"x","x",2099068185)).cljs$core$IFn$_invoke$arity$1(b)+
((new cljs.core.Keyword(null,"w","w",354169001)).cljs$core$IFn$_invoke$arity$1(b)-a)/2}}(r,.2,.75,t,u,v,w,1,.2,c,d,e,f,g,h,k,l,m,n,p,q)).call(null,1,u),y=javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,y,z){return function(a,b){return(new cljs.core.Keyword(null,"y","y",-1757859776)).cljs$core$IFn$_invoke$arity$1(b)-2*a}}(r,.2,.75,t,u,v,w,1,.2,x,c,d,e,f,g,h,k,l,m,n,p,q)).call(null,.2,u);return hoplon.svg.g.call(null,new cljs.core.Keyword(null,"debug","debug",-1608172596),
"airbase-and-highlighter",function(){var a=new cljs.core.Delay(function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,y,z,A){return function(){return hoplon.svg.g.call(null,new cljs.core.Keyword(null,"debug","debug",-1608172596),"highlights",hoplon.svg.circle.call(null,new cljs.core.Keyword(null,"debug","debug",-1608172596),"moving highlight",new cljs.core.Keyword("svg","class","svg/class",-2030780416),javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,y,z,A){return function(a){return cljs.core.truth_(a)?
weathergen.ui.common.collapse_class:null}}(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,y,z,A)).call(null,w),new cljs.core.Keyword(null,"x","x",2099068185),l,new cljs.core.Keyword(null,"y","y",-1757859776),m,new cljs.core.Keyword(null,"r","r",-471384190),60,new cljs.core.Keyword(null,"stroke","stroke",1741823555),"yellow",new cljs.core.Keyword(null,"stroke-width","stroke-width",716836435),2,new cljs.core.Keyword(null,"stroke-dasharray","stroke-dasharray",-942933855),"5, 5",new cljs.core.Keyword(null,"fill",
"fill",883462889),"none",new cljs.core.Keyword(null,"transform","transform",1381301764),weathergen.ui.common.svg_scale.call(null,0)),hoplon.svg.circle.call(null,new cljs.core.Keyword(null,"debug","debug",-1608172596),"static highlight",new cljs.core.Keyword("svg","class","svg/class",-2030780416),javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,y,z,A){return function(a){return cljs.core.truth_(a)?weathergen.ui.common.delayed_fade_out_class:null}}(a,b,c,d,e,f,g,h,k,l,
m,n,p,q,r,t,u,v,w,x,y,z,A)).call(null,w),new cljs.core.Keyword(null,"x","x",2099068185),l,new cljs.core.Keyword(null,"y","y",-1757859776),m,new cljs.core.Keyword(null,"r","r",-471384190),2.5,new cljs.core.Keyword(null,"stroke","stroke",1741823555),"none",new cljs.core.Keyword(null,"fill","fill",883462889),"yellow",new cljs.core.Keyword(null,"opacity","opacity",397153780),0))}}(r,.2,.75,t,u,v,w,1,.2,x,y,c,d,e,f,g,h,k,l,m,n,p,q),null),b=new cljs.core.Delay(function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,
v,w,x,y,z,A,B){return function(){return null}}(a,r,.2,.75,t,u,v,w,1,.2,x,y,c,d,e,f,g,h,k,l,m,n,p,q),null);a=function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,y,z,A,B,C){return function(c){return cljs.core.deref.call(null,function(){var d=cljs.core.truth_(c)?a:b;return cljs.core.truth_(d)?d:cljs.core.atom.call(null,null)}())}}(a,b,r,.2,.75,t,u,v,w,1,.2,x,y,c,d,e,f,g,h,k,l,m,n,p,q);return javelin.core.formula.call(null,a).call(null,l)}(),hoplon.svg.g.call(null,new cljs.core.Keyword(null,"debug","debug",
-1608172596),"icon-and-info",new cljs.core.Keyword("svg","class","svg/class",-2030780416),javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,y,z,A){return function(a){return cljs.core.truth_(a)?weathergen.ui.common.pulse_class:null}}(r,.2,.75,t,u,v,w,1,.2,x,y,c,d,e,f,g,h,k,l,m,n,p,q)).call(null,l),function(){var a=new cljs.core.Delay(function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,y,z,A){return function(){return hoplon.svg.g.call(null,new cljs.core.Keyword(null,"debug",
"debug",-1608172596),"status",new cljs.core.Keyword(null,"transform","transform",1381301764),javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,y,z,A){return function(a,b){return a.call(null,b)}}(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,y,z,A)).call(null,weathergen.ui.common.svg_scale,weathergen.ui.map_icon_scale),hoplon.svg.rect.call(null,new cljs.core.Keyword(null,"x","x",2099068185),l,new cljs.core.Keyword(null,"y","y",-1757859776),m,new cljs.core.Keyword(null,"width",
"width",-384071477),h,new cljs.core.Keyword(null,"height","height",1025178622),k,new cljs.core.Keyword(null,"stroke","stroke",1741823555),"black",new cljs.core.Keyword(null,"stroke-width","stroke-width",716836435),.03,new cljs.core.Keyword(null,"fill","fill",883462889),"white"),hoplon.svg.rect.call(null,new cljs.core.Keyword(null,"x","x",2099068185),l,new cljs.core.Keyword(null,"y","y",-1757859776),m,new cljs.core.Keyword(null,"width","width",-384071477),javelin.core.formula.call(null,function(a,
b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,y,z,A){return function(a,b){return a*b/100}}(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,y,z,A)).call(null,h,d),new cljs.core.Keyword(null,"height","height",1025178622),k,new cljs.core.Keyword(null,"stroke","stroke",1741823555),"black",new cljs.core.Keyword(null,"stroke-width","stroke-width",716836435),.03,new cljs.core.Keyword(null,"fill","fill",883462889),javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,y,z,A){return function(a,b){return a.call(null,
b)}}(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,y,z,A)).call(null,weathergen.ui.airbase_status_color,d)))}}(r,.2,.75,t,u,v,w,1,.2,x,y,c,d,e,f,g,h,k,l,m,n,p,q),null),b=new cljs.core.Delay(function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,y,z,A,B){return function(){return null}}(a,r,.2,.75,t,u,v,w,1,.2,x,y,c,d,e,f,g,h,k,l,m,n,p,q),null);a=function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,y,z,A,B,C){return function(c){return cljs.core.deref.call(null,function(){var d=cljs.core.truth_(c)?a:b;return cljs.core.truth_(d)?
d:cljs.core.atom.call(null,null)}())}}(a,b,r,.2,.75,t,u,v,w,1,.2,x,y,c,d,e,f,g,h,k,l,m,n,p,q);return javelin.core.formula.call(null,a).call(null,v)}(),function(){var z=javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,y,z,A){return function(a,b,c){return a+b*((new cljs.core.Keyword(null,"y","y",-1757859776)).cljs$core$IFn$_invoke$arity$1(c)+(new cljs.core.Keyword(null,"h","h",1109658740)).cljs$core$IFn$_invoke$arity$1(c))}}(r,.2,.75,t,u,v,w,1,.2,x,y,c,d,e,f,g,h,k,l,m,
n,p,q)).call(null,.2,weathergen.ui.map_icon_scale,u),A=javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,y,z,A,B){return function(a,b,c){return cljs.core.PersistentHashSet.createAsIfByAssoc([a,c,b])}}(z,r,.2,.75,t,u,v,w,1,.2,x,y,c,d,e,f,g,h,k,l,m,n,p,q)).call(null,weathergen.ui.included_squadrons,z,r),B=javelin.core.cell.call(null,0),C=javelin.core.cell.call(null,0),D=javelin.core.cell.call(null,0),E=javelin.core.cell.call(null,0),F=hoplon.svg.text.call(null,new cljs.core.Keyword(null,
"font-size","font-size",-1847940346),"3.5%",new cljs.core.Keyword(null,"font-family","font-family",-667419874),"Source Code Pro",new cljs.core.Keyword(null,"font-weight","font-weight",2085804583),100,new cljs.core.Keyword(null,"x","x",2099068185),javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,y,z,A,B,C,D,E,F,G){return function(a,b){return(new cljs.core.Keyword(null,"x","x",2099068185)).cljs$core$IFn$_invoke$arity$1(b)+((new cljs.core.Keyword(null,"w","w",354169001)).cljs$core$IFn$_invoke$arity$1(b)-
a)/2}}(B,C,D,E,z,A,r,.2,.75,t,u,v,w,1,.2,x,y,c,d,e,f,g,h,k,l,m,n,p,q)).call(null,D,u),new cljs.core.Keyword(null,"y","y",-1757859776),.75,new cljs.core.Keyword(null,"stroke","stroke",1741823555),n,new cljs.core.Keyword(null,"stroke-width","stroke-width",716836435),.03,new cljs.core.Keyword(null,"fill","fill",883462889),n,hoplon.svg.tspan.call(null,g),hoplon.core.loop_tpl_STAR_.call(null,javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,y,z,A,B,C,D,E,F,G){return function(a,
b,c){return cljs.core._EQ_.call(null,c,new cljs.core.Keyword(null,"all","all",892129742))?cljs.core.map_indexed.call(null,cljs.core.vector,cljs.core.filter.call(null,b,(new cljs.core.Keyword("weathergen.falcon.files.mission","squadrons","weathergen.falcon.files.mission/squadrons",47769110)).cljs$core$IFn$_invoke$arity$1(a))):null}}(B,C,D,E,z,A,r,.2,.75,t,u,v,w,1,.2,x,y,c,d,e,f,g,h,k,l,m,n,p,q)).call(null,b,weathergen.ui.included_squadrons,r),function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,y,z,A,
B,C,D,E,F,G){return function(H){H=javelin.core.cell_map.call(null,cljs.core.identity,javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,y,z,A,B,C,D,E,F,G){return function(a){return new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[a],null)}}(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,y,z,A,B,C,D,E,F,G)).call(null,H));var I=cljs.core.nth.call(null,H,0,null),J=javelin.core.cell_map.call(null,cljs.core.identity,javelin.core.formula.call(null,function(a,
b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,y,z,A,B,C,D,E,F,G,H,I){return function(a){var b=cljs.core.nth.call(null,a,0,null);a=cljs.core.nth.call(null,a,1,null);return new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[b,a],null)}}(H,I,a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,y,z,A,B,C,D,E,F,G)).call(null,I)),L=cljs.core.nth.call(null,J,0,null),K=cljs.core.nth.call(null,J,1,null);return hoplon.svg.tspan.call(null,new cljs.core.Keyword(null,"y","y",-1757859776),javelin.core.formula.call(null,
function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,y,z,A,B,C,D,E,F,G,H,I,J,L,K){return function(a,b){return(a+2)*b}}(J,L,K,H,I,a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,y,z,A,B,C,D,E,F,G)).call(null,L,k),new cljs.core.Keyword(null,"text-anchor","text-anchor",585613696),"start",new cljs.core.Keyword(null,"x","x",2099068185),javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,y,z,A,B,C,D,E,F,G,H,I,J,L,K){return function(a){return-(a/2)}}(J,L,K,H,I,a,b,c,d,e,f,g,h,k,l,m,n,p,q,
r,t,u,v,w,x,y,z,A,B,C,D,E,F,G)).call(null,c),new cljs.core.Keyword(null,"dx","dx",-381796732),"0.75em",javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,y,z,A,B,C,D,E,F,G,H,I,J,L,K){return function(a,b){return a.call(null,"%d %s",(new cljs.core.Keyword(null,"quantity","quantity",-1929050694)).cljs$core$IFn$_invoke$arity$1((new cljs.core.Keyword("weathergen.falcon.files.mission","aircraft","weathergen.falcon.files.mission/aircraft",774567258)).cljs$core$IFn$_invoke$arity$1(b)),
(new cljs.core.Keyword(null,"airframe","airframe",643222926)).cljs$core$IFn$_invoke$arity$1((new cljs.core.Keyword("weathergen.falcon.files.mission","aircraft","weathergen.falcon.files.mission/aircraft",774567258)).cljs$core$IFn$_invoke$arity$1(b)))}}(J,L,K,H,I,a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,y,z,A,B,C,D,E,F,G)).call(null,goog.string.format,K))}}(B,C,D,E,z,A,r,.2,.75,t,u,v,w,1,.2,x,y,c,d,e,f,g,h,k,l,m,n,p,q))),G=function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,y,z,A,B,C,D,E,F,G,H){return function(){return javelin.core.dosync_STAR_.call(null,
function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,y,z,A,B,C,D,E,F,G,H){return function(){var f=e.getBBox();return cljs.core.truth_(f.x)?(cljs.core.reset_BANG_.call(null,a,f.x),cljs.core.reset_BANG_.call(null,b,f.y),cljs.core.reset_BANG_.call(null,c,f.width),cljs.core.reset_BANG_.call(null,d,f.height)):null}}(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,y,z,A,B,C,D,E,F,G,H))}}(B,C,D,E,F,z,A,r,.2,.75,t,u,v,w,1,.2,x,y,c,d,e,f,g,h,k,l,m,n,p,q);setTimeout(function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,y,z,
A,B,C,D,E,F,G,H,I){return function(){return f.call(null)}}(B,C,D,E,F,G,z,A,r,.2,.75,t,u,v,w,1,.2,x,y,c,d,e,f,g,h,k,l,m,n,p,q),0);cljs.core.truth_(A)&&cljs.core.add_watch.call(null,A,cljs.core.keyword.call(null,cljs.core.gensym.call(null)),function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,y,z,A,B,C,D,E,F,G,H,I,J,L){return function(K,M,N,O){return setTimeout(function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,y,z,A,B,C,D,E,F,G,H,I,J,L){return function(){return h.call(null)}}(a,b,c,d,e,f,g,h,k,l,m,n,p,q,
r,t,u,v,w,x,y,z,A,B,C,D,E,F,G,H,I,J,L),0)}}(A,A,B,C,D,E,F,G,z,A,r,.2,.75,t,u,v,w,1,.2,x,y,c,d,e,f,g,h,k,l,m,n,p,q));return hoplon.svg.g.call(null,function(){var a=new cljs.core.Delay(function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,y,z,A,B,C,D,E,F,G,H,I){return function(){return hoplon.svg.g.call(null,new cljs.core.Keyword(null,"debug","debug",-1608172596),"label",new cljs.core.Keyword(null,"transform","transform",1381301764),javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,
u,v,w,x,y,z,A,B,C,D,E,F,G,H,I){return function(a,b){return a.call(null,0,b)}}(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,y,z,A,B,C,D,E,F,G,H,I)).call(null,weathergen.ui.common.svg_translate,g),hoplon.svg.g.call(null,new cljs.core.Keyword(null,"transform","transform",1381301764),javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,y,z,A,B,C,D,E,F,G,H,I){return function(a,b){return a.call(null,b)}}(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,y,z,A,B,C,D,E,F,G,H,I)).call(null,weathergen.ui.common.svg_scale,
weathergen.ui.map_text_scale),function(){var J=new cljs.core.Delay(function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,y,z,A,B,C,D,E,F,G,H,I){return function(){var J=javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,y,z,A,B,C,D,E,F,G,H,I,J){return function(a,b){return(new cljs.core.Keyword(null,"x","x",2099068185)).cljs$core$IFn$_invoke$arity$1(a)+((new cljs.core.Keyword(null,"w","w",354169001)).cljs$core$IFn$_invoke$arity$1(a)-b)/2}}(.1,a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,
u,v,w,x,y,z,A,B,C,D,E,F,G,H,I)).call(null,p,c),L=javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,y,z,A,B,C,D,E,F,G,H,I,J,L){return function(b){return b-a}}(.1,J,a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,y,z,A,B,C,D,E,F,G,H,I)).call(null,J),K=javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,y,z,A,B,C,D,E,F,G,H,I,J,L,K){return function(b){return b-a}}(.1,J,L,a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,y,z,A,B,C,D,E,F,G,H,I)).call(null,b),M=javelin.core.formula.call(null,
function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,y,z,A,B,C,D,E,F,G,H,I,J,L,K,M){return function(b){return b+a+a}}(.1,J,L,K,a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,y,z,A,B,C,D,E,F,G,H,I)).call(null,c);J=javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,y,z,A,B,C,D,E,F,G,H,I,J,L,K,M,N){return function(b){return b+a+a}}(.1,J,L,K,M,a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,y,z,A,B,C,D,E,F,G,H,I)).call(null,d);return hoplon.svg.g.call(null,new cljs.core.Keyword(null,"debug",
"debug",-1608172596),"background",hoplon.svg.rect.call(null,new cljs.core.Keyword(null,"x","x",2099068185),L,new cljs.core.Keyword(null,"y","y",-1757859776),K,new cljs.core.Keyword(null,"width","width",-384071477),M,new cljs.core.Keyword(null,"height","height",1025178622),J,new cljs.core.Keyword(null,"opacity","opacity",397153780),.4,new cljs.core.Keyword(null,"fill","fill",883462889),I,new cljs.core.Keyword(null,"stroke","stroke",1741823555),"none"))}}(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,y,z,
A,B,C,D,E,F,G,H,I),null),L=new cljs.core.Delay(function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,y,z,A,B,C,D,E,F,G,H,I,J){return function(){return null}}(J,a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,y,z,A,B,C,D,E,F,G,H,I),null);J=function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,y,z,A,B,C,D,E,F,G,H,I,J,L){return function(c){return cljs.core.deref.call(null,function(){var d=cljs.core.truth_(c)?a:b;return cljs.core.truth_(d)?d:cljs.core.atom.call(null,null)}())}}(J,L,a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,
w,x,y,z,A,B,C,D,E,F,G,H,I);return javelin.core.formula.call(null,J).call(null,weathergen.ui.map_show_text_background_QMARK_)}(),e))}}(B,C,D,E,F,G,z,A,r,.2,.75,t,u,v,w,1,.2,x,y,c,d,e,f,g,h,k,l,m,n,p,q),null),b=new cljs.core.Delay(function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,y,z,A,B,C,D,E,F,G,H,I,J){return function(){return null}}(a,B,C,D,E,F,G,z,A,r,.2,.75,t,u,v,w,1,.2,x,y,c,d,e,f,g,h,k,l,m,n,p,q),null),H=function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,y,z,A,B,C,D,E,F,G,H,I,J,L){return function(c){return cljs.core.deref.call(null,
function(){var d=cljs.core.truth_(c)?a:b;return cljs.core.truth_(d)?d:cljs.core.atom.call(null,null)}())}}(a,b,B,C,D,E,F,G,z,A,r,.2,.75,t,u,v,w,1,.2,x,y,c,d,e,f,g,h,k,l,m,n,p,q);return javelin.core.formula.call(null,H).call(null,javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,y,z,A,B,C,D,E,F,G,H,I,J,L,K){return function(a,b){return a.call(null,b,new cljs.core.Keyword(null,"nothing","nothing",-1022703296))}}(a,b,H,B,C,D,E,F,G,z,A,r,.2,.75,t,u,v,w,1,.2,x,y,c,d,e,f,g,
h,k,l,m,n,p,q)).call(null,cljs.core.not_EQ_,r))}(),hoplon.svg.g.call(null,new cljs.core.Keyword(null,"transform","transform",1381301764),javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,y,z,A,B,C,D,E,F,G,H,I){return function(a,b){return a.call(null,b)}}(B,C,D,E,F,G,z,A,r,.2,.75,t,u,v,w,1,.2,x,y,c,d,e,f,g,h,k,l,m,n,p,q)).call(null,weathergen.ui.common.svg_scale,weathergen.ui.map_icon_scale),function(){var H=new cljs.core.Delay(function(c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,
w,x,y,z,A,B,C,D,E,F,G,H,I,J,L){return function(){return hoplon.svg.g.call(null,new cljs.core.Keyword(null,"debug","debug",-1608172596),"squadron icons",new cljs.core.Keyword(null,"transform","transform",1381301764),weathergen.ui.common.svg_translate.call(null,.5,0),function(){var K=javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,y,z,A,B,C,D,E,F,G,H,I,J){return function(L,K){return cljs.core.first.call(null,cljs.core.reduce.call(null,function(a,b,c,d,e,f,g,h,k,l,m,n,
p,q,r,t,u,v,w,x,y,z,A,B,C,D,E,F,G,H,I,J){return function(b,c){var d=cljs.core.nth.call(null,b,0,null);b=cljs.core.nth.call(null,b,1,null);var e=cljs.core.first.call(null,(new cljs.core.Keyword(null,"size","size",1098693007)).cljs$core$IFn$_invoke$arity$1((new cljs.core.Keyword(null,"image-data","image-data",-377483758)).cljs$core$IFn$_invoke$arity$1((new cljs.core.Keyword("weathergen.falcon.files.mission","image","weathergen.falcon.files.mission/image",-1683332210)).cljs$core$IFn$_invoke$arity$1(c))));
return new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[cljs.core.conj.call(null,d,cljs.core.assoc.call(null,c,new cljs.core.Keyword("weathergen.ui","x-offset","weathergen.ui/x-offset",666987585),b)),b+e*y*a+.1],null)}}(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,y,z,A,B,C,D,E,F,G,H,I,J),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[cljs.core.PersistentVector.EMPTY,0],null),cljs.core.filter.call(null,K,(new cljs.core.Keyword("weathergen.falcon.files.mission",
"squadrons","weathergen.falcon.files.mission/squadrons",47769110)).cljs$core$IFn$_invoke$arity$1(L))))}}(.6,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,y,z,A,B,C,D,E,F,G,H,I,J,L)).call(null,b,weathergen.ui.included_squadrons);return hoplon.core.loop_tpl_STAR_.call(null,K,function(b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,y,z,A,B,C,D,E,F,G,H,I,J,L,K){return function(M){M=javelin.core.cell_map.call(null,cljs.core.identity,javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,y,z,A,B,C,
D,E,F,G,H,I,J,L){return function(a){return new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[a],null)}}(b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,y,z,A,B,C,D,E,F,G,H,I,J,L,K)).call(null,M));var N=cljs.core.nth.call(null,M,0,null),O=javelin.core.formula.call(null,function(b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,y,z,A,B,C,D,E,F,G,H,I,J,L,K,M,N){return function(b){b=(new cljs.core.Keyword("weathergen.falcon.files.mission","image","weathergen.falcon.files.mission/image",-1683332210)).cljs$core$IFn$_invoke$arity$1(b);
var c=null!=b&&(b.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===b.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,b):b;c=cljs.core.get.call(null,c,new cljs.core.Keyword(null,"image-data","image-data",-377483758));c=null!=c&&(c.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===c.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,c):c;var e=cljs.core.get.call(null,c,new cljs.core.Keyword(null,"size","size",1098693007));c=cljs.core.nth.call(null,
e,0,null);e=cljs.core.nth.call(null,e,1,null);return new cljs.core.PersistentArrayMap(null,3,[new cljs.core.Keyword(null,"w","w",354169001),C*d*c,new cljs.core.Keyword(null,"h","h",1109658740),C*d*e,new cljs.core.Keyword(null,"src","src",-1651076051),weathergen.ui.common.get_image.call(null,a,b)],null)}}(M,N,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,y,z,A,B,C,D,E,F,G,H,I,J,L,K)).call(null,N);return hoplon.svg.image.call(null,new cljs.core.Keyword(null,"debug","debug",-1608172596),javelin.core.formula.call(null,
function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,y,z,A,B,C,D,E,F,G,H,I,J,L,K,M,N){return function(a,b,c){return a.call(null,"ab/y: %f, ab/h: %f, sq/h: %f",(new cljs.core.Keyword(null,"y","y",-1757859776)).cljs$core$IFn$_invoke$arity$1(c),(new cljs.core.Keyword(null,"h","h",1109658740)).cljs$core$IFn$_invoke$arity$1(c),(new cljs.core.Keyword(null,"h","h",1109658740)).cljs$core$IFn$_invoke$arity$1(b))}}(O,M,N,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,y,z,A,B,C,D,E,F,G,H,I,J,L,K)).call(null,goog.string.format,
O,t),new cljs.core.Keyword(null,"xlink-href","xlink-href",244956585),javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,y,z,A,B,C,D,E,F,G,H,I,J,L,K,M,N){return function(a){return(new cljs.core.Keyword(null,"src","src",-1651076051)).cljs$core$IFn$_invoke$arity$1(a)}}(O,M,N,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,y,z,A,B,C,D,E,F,G,H,I,J,L,K)).call(null,O),new cljs.core.Keyword(null,"x","x",2099068185),javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,
u,v,w,x,y,z,A,B,C,D,E,F,G,H,I,J,L,K,M,N){return function(a,b){return(new cljs.core.Keyword("weathergen.ui","x-offset","weathergen.ui/x-offset",666987585)).cljs$core$IFn$_invoke$arity$1(b)+(new cljs.core.Keyword(null,"w","w",354169001)).cljs$core$IFn$_invoke$arity$1(a)/2}}(O,M,N,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,y,z,A,B,C,D,E,F,G,H,I,J,L,K)).call(null,t,N),new cljs.core.Keyword(null,"y","y",-1757859776),javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,y,z,A,B,C,D,
E,F,G,H,I,J,L,K,M,N){return function(a,b){return(new cljs.core.Keyword(null,"y","y",-1757859776)).cljs$core$IFn$_invoke$arity$1(b)+((new cljs.core.Keyword(null,"h","h",1109658740)).cljs$core$IFn$_invoke$arity$1(b)-(new cljs.core.Keyword(null,"h","h",1109658740)).cljs$core$IFn$_invoke$arity$1(a))}}(O,M,N,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,y,z,A,B,C,D,E,F,G,H,I,J,L,K)).call(null,O,t),new cljs.core.Keyword(null,"width","width",-384071477),javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,k,
l,m,n,p,q,r,t,u,v,w,x,y,z,A,B,C,D,E,F,G,H,I,J,L,K,M,N){return function(a){return(new cljs.core.Keyword(null,"w","w",354169001)).cljs$core$IFn$_invoke$arity$1(a)}}(O,M,N,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,y,z,A,B,C,D,E,F,G,H,I,J,L,K)).call(null,O),new cljs.core.Keyword(null,"height","height",1025178622),javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,y,z,A,B,C,D,E,F,G,H,I,J,L,K,M,N){return function(a){return(new cljs.core.Keyword(null,"h","h",1109658740)).cljs$core$IFn$_invoke$arity$1(a)}}(O,
M,N,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,y,z,A,B,C,D,E,F,G,H,I,J,L,K)).call(null,O))}}(.6,K,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,y,z,A,B,C,D,E,F,G,H,I,J,L))}())}}(B,C,D,E,F,G,z,A,r,.2,.75,t,u,v,w,1,.2,x,y,c,d,e,f,g,h,k,l,m,n,p,q),null),I=new cljs.core.Delay(function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,y,z,A,B,C,D,E,F,G,H,I,J){return function(){return null}}(H,B,C,D,E,F,G,z,A,r,.2,.75,t,u,v,w,1,.2,x,y,c,d,e,f,g,h,k,l,m,n,p,q),null);H=function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,y,z,A,B,C,D,
E,F,G,H,I,J,L){return function(c){return cljs.core.deref.call(null,function(){var d=cljs.core.truth_(c)?a:b;return cljs.core.truth_(d)?d:cljs.core.atom.call(null,null)}())}}(H,I,B,C,D,E,F,G,z,A,r,.2,.75,t,u,v,w,1,.2,x,y,c,d,e,f,g,h,k,l,m,n,p,q);return javelin.core.formula.call(null,H).call(null,w)}(),hoplon.svg.g.call(null,new cljs.core.Keyword(null,"debug","debug",-1608172596),"airbase icon",hoplon.svg.image.call(null,new cljs.core.Keyword(null,"xlink-href","xlink-href",244956585),javelin.core.formula.call(null,
function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,y,z,A,B,C,D,E,F,G,H,I){return function(a,b,c){return b.call(null,c,(new cljs.core.Keyword("weathergen.falcon.files.mission","image","weathergen.falcon.files.mission/image",-1683332210)).cljs$core$IFn$_invoke$arity$1(a))}}(B,C,D,E,F,G,z,A,r,.2,.75,t,u,v,w,1,.2,x,y,c,d,e,f,g,h,k,l,m,n,p,q)).call(null,b,weathergen.ui.common.get_image,a),new cljs.core.Keyword(null,"x","x",2099068185),javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,
t,u,v,w,x,y,z,A,B,C,D,E,F,G,H,I){return function(a){return(new cljs.core.Keyword(null,"x","x",2099068185)).cljs$core$IFn$_invoke$arity$1(a)}}(B,C,D,E,F,G,z,A,r,.2,.75,t,u,v,w,1,.2,x,y,c,d,e,f,g,h,k,l,m,n,p,q)).call(null,u),new cljs.core.Keyword(null,"y","y",-1757859776),javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,y,z,A,B,C,D,E,F,G,H,I){return function(a){return(new cljs.core.Keyword(null,"y","y",-1757859776)).cljs$core$IFn$_invoke$arity$1(a)}}(B,C,D,E,F,G,z,A,r,
.2,.75,t,u,v,w,1,.2,x,y,c,d,e,f,g,h,k,l,m,n,p,q)).call(null,u),new cljs.core.Keyword(null,"width","width",-384071477),javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,y,z,A,B,C,D,E,F,G,H,I){return function(a){return(new cljs.core.Keyword(null,"w","w",354169001)).cljs$core$IFn$_invoke$arity$1(a)}}(B,C,D,E,F,G,z,A,r,.2,.75,t,u,v,w,1,.2,x,y,c,d,e,f,g,h,k,l,m,n,p,q)).call(null,u),new cljs.core.Keyword(null,"height","height",1025178622),javelin.core.formula.call(null,function(a,
b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,y,z,A,B,C,D,E,F,G,H,I){return function(a){return(new cljs.core.Keyword(null,"h","h",1109658740)).cljs$core$IFn$_invoke$arity$1(a)}}(B,C,D,E,F,G,z,A,r,.2,.75,t,u,v,w,1,.2,x,y,c,d,e,f,g,h,k,l,m,n,p,q)).call(null,u)))))}()))}())}}(.05,c,d,e,f,g,h,k,"3.5%",l,.03,m),null),p=new cljs.core.Delay(function(a,b,c,d,e,f,g,h,k,l,m,n,p){return function(){return null}}(n,.05,c,d,e,f,g,h,k,"3.5%",l,.03,m),null),q=function(a,b,c,d,e,f,g,h,k,l,m,n,p,q){return function(c){return cljs.core.deref.call(null,
function(){var d=cljs.core.truth_(c)?a:b;return cljs.core.truth_(d)?d:cljs.core.atom.call(null,null)}())}}(n,p,.05,c,d,e,f,g,h,k,"3.5%",l,.03,m);return javelin.core.formula.call(null,q).call(null,javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,G){return function(a,b){return cljs.core.truth_(a)?a:b}}(n,p,q,.05,c,d,e,f,g,h,k,"3.5%",l,.03,m)).call(null,h,k))}())};
weathergen.ui.airbases_info_overlay=hoplon.svg.g.call(null,new cljs.core.Keyword(null,"section","section",-300141526),"airbase-info",new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[hoplon.core.loop_tpl_STAR_.call(null,weathergen.ui.all_airbases,function(a){a=javelin.core.cell_map.call(null,cljs.core.identity,javelin.core.formula.call(null,function(a){return new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[a],null)}).call(null,a));a=cljs.core.nth.call(null,
a,0,null);return weathergen.ui.airbase_info_overlay.call(null,weathergen.ui.mission,a)}),hoplon.svg.use.call(null,new cljs.core.Keyword(null,"xlink-href","xlink-href",244956585),javelin.core.formula.call(null,function(a,b){return a.call(null,b)}).call(null,weathergen.ui.airbase_info_id,weathergen.ui.highlighted_airbase))],null));
weathergen.ui.within_area_QMARK_=function(a,b){a=null!=a&&(a.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===a.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,a):a;a=cljs.core.get.call(null,a,new cljs.core.Keyword(null,"bounds","bounds",1691609455));var c=null!=a&&(a.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===a.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,a):a;a=cljs.core.get.call(null,c,new cljs.core.Keyword(null,"x",
"x",2099068185));var d=cljs.core.get.call(null,c,new cljs.core.Keyword(null,"y","y",-1757859776)),e=cljs.core.get.call(null,c,new cljs.core.Keyword(null,"width","width",-384071477));c=cljs.core.get.call(null,c,new cljs.core.Keyword(null,"height","height",1025178622));e=a+e;c=d+c;var f=null!=b&&(b.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===b.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,b):b;b=cljs.core.get.call(null,f,new cljs.core.Keyword(null,"x","x",2099068185));
f=cljs.core.get.call(null,f,new cljs.core.Keyword(null,"y","y",-1757859776));return a<=b&&b<=e&&d<=f&&f<=c};
weathergen.ui.within_override_QMARK_=function(a,b){a=null!=a&&(a.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===a.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,a):a;var c=cljs.core.get.call(null,a,new cljs.core.Keyword(null,"location","location",1815599388));a=cljs.core.get.call(null,a,new cljs.core.Keyword(null,"radius","radius",-2073122258));var d=null!=c&&(c.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===c.cljs$core$ISeq$)?cljs.core.apply.call(null,
cljs.core.hash_map,c):c;c=cljs.core.get.call(null,d,new cljs.core.Keyword(null,"x","x",2099068185));d=cljs.core.get.call(null,d,new cljs.core.Keyword(null,"y","y",-1757859776));var e=null!=b&&(b.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===b.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,b):b;b=cljs.core.get.call(null,e,new cljs.core.Keyword(null,"x","x",2099068185));e=cljs.core.get.call(null,e,new cljs.core.Keyword(null,"y","y",-1757859776));b=c-b;c=d-e;return b*
b+c*c<a*a};
weathergen.ui.bullseye_overlay=function(a){var b=new cljs.core.Delay(function(){var b=javelin.core.formula.call(null,function(a){return function(a){var b=null!=a&&(a.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===a.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,a):a;b=cljs.core.get.call(null,b,new cljs.core.Keyword(null,"campaign-info","campaign-info",1158908966));var c=null!=b&&(b.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===b.cljs$core$ISeq$)?
cljs.core.apply.call(null,cljs.core.hash_map,b):b;b=cljs.core.get.call(null,c,new cljs.core.Keyword(null,"bullseye-x","bullseye-x",-1698783852));c=cljs.core.get.call(null,c,new cljs.core.Keyword(null,"bullseye-y","bullseye-y",904460818));return weathergen.coordinates.fgrid__GT_weather.call(null,a,b,c)}}(.025)).call(null,a),c=javelin.core.formula.call(null,function(a,b){return function(a){return(new cljs.core.Keyword(null,"x","x",2099068185)).cljs$core$IFn$_invoke$arity$1(a)}}(.025,b)).call(null,b),
d=javelin.core.formula.call(null,function(a,b,c){return function(a){return(new cljs.core.Keyword(null,"y","y",-1757859776)).cljs$core$IFn$_invoke$arity$1(a)}}(.025,b,c)).call(null,b);return hoplon.svg.g.call(null,new cljs.core.Keyword(null,"attr","attr",-604132353),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"debug","debug",-1608172596),"bullseye"],null),new cljs.core.Keyword("svg","transform","svg/transform",1381351328),javelin.core.formula.call(null,function(a,b,c,d){return function(a,
b,c){return a.call(null,b,c)}}(.025,b,c,d)).call(null,weathergen.ui.common.svg_translate,c,d),function(){return function(b,c,d,e){return function q(f){return new cljs.core.LazySeq(null,function(b,c,d,e){return function(){for(;;){var g=cljs.core.seq.call(null,f);if(g){var h=g;if(cljs.core.chunked_seq_QMARK_.call(null,h)){var k=cljs.core.chunk_first.call(null,h),l=cljs.core.count.call(null,k),m=cljs.core.chunk_buffer.call(null,l);return function(){for(var f=0;;)if(f<l){var p=cljs.core._nth.call(null,
k,f);cljs.core.chunk_append.call(null,m,hoplon.svg.circle.call(null,new cljs.core.Keyword(null,"stroke","stroke",1741823555),"black",new cljs.core.Keyword(null,"fill","fill",883462889),"none",new cljs.core.Keyword(null,"stroke-width","stroke-width",716836435),b,new cljs.core.Keyword(null,"cx","cx",1272694324),0,new cljs.core.Keyword(null,"cy","cy",755331060),0,new cljs.core.Keyword(null,"r","r",-471384190),javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,k,l,m){return function(a,b,c){return b.call(null,
c,a)}}(f,p,k,l,m,h,g,b,c,d,e)).call(null,p,weathergen.coordinates.nm__GT_weather,a)));f+=1}else return!0}()?cljs.core.chunk_cons.call(null,cljs.core.chunk.call(null,m),q.call(null,cljs.core.chunk_rest.call(null,h))):cljs.core.chunk_cons.call(null,cljs.core.chunk.call(null,m),null)}var p=cljs.core.first.call(null,h);return cljs.core.cons.call(null,hoplon.svg.circle.call(null,new cljs.core.Keyword(null,"stroke","stroke",1741823555),"black",new cljs.core.Keyword(null,"fill","fill",883462889),"none",
new cljs.core.Keyword(null,"stroke-width","stroke-width",716836435),b,new cljs.core.Keyword(null,"cx","cx",1272694324),0,new cljs.core.Keyword(null,"cy","cy",755331060),0,new cljs.core.Keyword(null,"r","r",-471384190),javelin.core.formula.call(null,function(a,b,c,d,e,f,g){return function(a,b,c){return b.call(null,c,a)}}(p,h,g,b,c,d,e)).call(null,p,weathergen.coordinates.nm__GT_weather,a)),q.call(null,cljs.core.rest.call(null,h)))}return null}}}(b,c,d,e),null,null)}}(.025,b,c,d).call(null,cljs.core.range.call(null,
30,200,30))}(),function(){return function(b,c,d,e){return function q(f){return new cljs.core.LazySeq(null,function(b,c,d,e){return function(){for(;;){var g=cljs.core.seq.call(null,f);if(g){var h=g;if(cljs.core.chunked_seq_QMARK_.call(null,h)){var k=cljs.core.chunk_first.call(null,h),l=cljs.core.count.call(null,k),m=cljs.core.chunk_buffer.call(null,l);return function(){for(var f=0;;)if(f<l){var p=cljs.core._nth.call(null,k,f);cljs.core.chunk_append.call(null,m,hoplon.svg.line.call(null,new cljs.core.Keyword(null,
"attr","attr",-604132353),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"transform","transform",1381301764),weathergen.ui.common.svg_rotate.call(null,p)],null),new cljs.core.Keyword(null,"stroke","stroke",1741823555),"black",new cljs.core.Keyword(null,"stroke-width","stroke-width",716836435),b,new cljs.core.Keyword(null,"x1","x1",-1863922247),0,new cljs.core.Keyword(null,"y1","y1",589123466),javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,k,l,m){return function(a,b){return a.call(null,
b,-200)}}(f,p,k,l,m,h,g,b,c,d,e)).call(null,weathergen.coordinates.nm__GT_weather,a),new cljs.core.Keyword(null,"x2","x2",-1362513475),0,new cljs.core.Keyword(null,"y2","y2",-718691301),javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,k,l,m){return function(a,b){return a.call(null,b,200)}}(f,p,k,l,m,h,g,b,c,d,e)).call(null,weathergen.coordinates.nm__GT_weather,a)));f+=1}else return!0}()?cljs.core.chunk_cons.call(null,cljs.core.chunk.call(null,m),q.call(null,cljs.core.chunk_rest.call(null,h))):
cljs.core.chunk_cons.call(null,cljs.core.chunk.call(null,m),null)}var p=cljs.core.first.call(null,h);return cljs.core.cons.call(null,hoplon.svg.line.call(null,new cljs.core.Keyword(null,"attr","attr",-604132353),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"transform","transform",1381301764),weathergen.ui.common.svg_rotate.call(null,p)],null),new cljs.core.Keyword(null,"stroke","stroke",1741823555),"black",new cljs.core.Keyword(null,"stroke-width","stroke-width",716836435),
b,new cljs.core.Keyword(null,"x1","x1",-1863922247),0,new cljs.core.Keyword(null,"y1","y1",589123466),javelin.core.formula.call(null,function(a,b,c,d,e,f,g){return function(a,b){return a.call(null,b,-200)}}(p,h,g,b,c,d,e)).call(null,weathergen.coordinates.nm__GT_weather,a),new cljs.core.Keyword(null,"x2","x2",-1362513475),0,new cljs.core.Keyword(null,"y2","y2",-718691301),javelin.core.formula.call(null,function(a,b,c,d,e,f,g){return function(a,b){return a.call(null,b,200)}}(p,h,g,b,c,d,e)).call(null,
weathergen.coordinates.nm__GT_weather,a)),q.call(null,cljs.core.rest.call(null,h)))}return null}}}(b,c,d,e),null,null)}}(.025,b,c,d).call(null,cljs.core.range.call(null,0,180,30))}())},null),c=new cljs.core.Delay(function(a){return function(){return null}}(b),null),d=function(a,b){return function(c){return cljs.core.deref.call(null,function(){var d=cljs.core.truth_(c)?a:b;return cljs.core.truth_(d)?d:cljs.core.atom.call(null,null)}())}}(b,c);return javelin.core.formula.call(null,d).call(null,javelin.core.formula.call(null,
function(a,b,c){return function(a){return(new cljs.core.Keyword(null,"show-bullseye?","show-bullseye?",310289003)).cljs$core$IFn$_invoke$arity$1(a)}}(b,c,d)).call(null,weathergen.ui.map_display))};
weathergen.ui.limit_pan=function(a,b,c){var d=cljs.core.nth.call(null,a,0,null);a=cljs.core.nth.call(null,a,1,null);var e=null!=c&&(c.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===c.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,c):c;c=cljs.core.get.call(null,e,new cljs.core.Keyword(null,"x","x",2099068185));e=cljs.core.get.call(null,e,new cljs.core.Keyword(null,"y","y",-1757859776));var f=d/b;b=a/b;return new cljs.core.PersistentArrayMap(null,2,[new cljs.core.Keyword(null,
"x","x",2099068185),weathergen.math.clamp.call(null,0,d-f,c),new cljs.core.Keyword(null,"y","y",-1757859776),weathergen.math.clamp.call(null,0,a-b,e)],null)};
weathergen.ui.pixels__GT_weather=function(a){var b=cljs.core.nth.call(null,a,0,null);a=cljs.core.nth.call(null,a,1,null);var c=cljs.core.deref.call(null,weathergen.ui.map_zoom),d=(new cljs.core.Keyword(null,"cell-count","cell-count",-441457582)).cljs$core$IFn$_invoke$arity$1(cljs.core.deref.call(null,weathergen.ui.weather_params)),e=cljs.core.nth.call(null,d,0,null);d=cljs.core.nth.call(null,d,1,null);var f=cljs.core.deref.call(null,weathergen.ui.map_size),g=cljs.core.nth.call(null,f,0,null);f=cljs.core.nth.call(null,
f,1,null);return new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[b*e/g/c,a*d/f/c],null)};
weathergen.ui.zoom_map_BANG_=function(a,b){var c=cljs.core.nth.call(null,a,0,null),d=cljs.core.nth.call(null,a,1,null),e=(new cljs.core.Keyword(null,"cell-count","cell-count",-441457582)).cljs$core$IFn$_invoke$arity$1(cljs.core.deref.call(null,weathergen.ui.weather_params)),f=cljs.core.nth.call(null,e,0,null),g=cljs.core.nth.call(null,e,1,null),h=cljs.core.deref.call(null,weathergen.ui.map_pan),k=null!=h&&(h.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===h.cljs$core$ISeq$)?
cljs.core.apply.call(null,cljs.core.hash_map,h):h,l=cljs.core.get.call(null,k,new cljs.core.Keyword(null,"x","x",2099068185)),m=cljs.core.get.call(null,k,new cljs.core.Keyword(null,"y","y",-1757859776));b=weathergen.math.clamp.call(null,weathergen.ui.zoom_min,weathergen.ui.zoom_max,b*cljs.core.deref.call(null,weathergen.ui.map_zoom));var n=b/cljs.core.deref.call(null,weathergen.ui.map_zoom),p=c-(c-l)/n,q=d-(d-m)/n;return javelin.core.dosync_STAR_.call(null,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,G,J){return function(){cljs.core.reset_BANG_.call(null,
weathergen.ui.map_zoom,h);return cljs.core.reset_BANG_.call(null,weathergen.ui.map_pan,weathergen.ui.limit_pan.call(null,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[b,c],null),h,new cljs.core.PersistentArrayMap(null,2,[new cljs.core.Keyword(null,"x","x",2099068185),n,new cljs.core.Keyword(null,"y","y",-1757859776),p],null)))}}(e,f,g,h,k,l,m,b,n,p,q,p-l+l,q-m+m,a,c,d))};
weathergen.ui.layer_overlay=function(a){for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;b=1<b.length?new cljs.core.IndexedSeq(b.slice(1),0,null):null;return weathergen.ui.layer_overlay.cljs$core$IFn$_invoke$arity$variadic(arguments[0],b)};weathergen.ui.layer_overlay.cljs$core$IFn$_invoke$arity$variadic=function(a,b){return cljs.core.apply.call(null,(new cljs.core.Keyword(null,"overlay-fn","overlay-fn",1005125217)).cljs$core$IFn$_invoke$arity$1(a),b)};
weathergen.ui.layer_overlay.cljs$lang$maxFixedArity=1;weathergen.ui.layer_overlay.cljs$lang$applyTo=function(a){var b=cljs.core.first.call(null,a);a=cljs.core.next.call(null,a);return this.cljs$core$IFn$_invoke$arity$variadic(b,a)};
weathergen.ui.grid=function(){var a=function(a){var b=hoplon.core.parse_args.call(null,a),c=cljs.core.nth.call(null,b,0,null),f=null!=c&&(c.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===c.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,c):c,g=cljs.core.get.call(null,f,new cljs.core.Keyword(null,"display-params","display-params",573405707)),h=cljs.core.get.call(null,f,new cljs.core.Keyword(null,"selected-cell","selected-cell",1638390443)),k=cljs.core.get.call(null,
f,new cljs.core.Keyword(null,"weather-data","weather-data",-664219401)),l=cljs.core.get.call(null,f,new cljs.core.Keyword(null,"weather-overrides","weather-overrides",-837381710)),m=cljs.core.get.call(null,f,new cljs.core.Keyword(null,"pressure-unit","pressure-unit",1615584243)),n=cljs.core.get.call(null,f,new cljs.core.Keyword(null,"computing","computing",-1002386157)),p=cljs.core.get.call(null,f,new cljs.core.Keyword(null,"nx","nx",-1996436366)),q=cljs.core.get.call(null,f,new cljs.core.Keyword(null,
"ny","ny",1701791641)),r=cljs.core.atom.call(null,null),u=cljs.core.atom.call(null,null),t=function(a,b,c,d,e,f,g,h,k,l,m,n,p,q){return function(r){return cljs.core.swap_BANG_.call(null,a,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q){return function(a){return cljs.core.truth_(a)?a:r}}(a,b,c,d,e,f,g,h,k,l,m,n,p,q))}}(r,u,b,c,f,f,g,h,k,l,m,n,p,q),v=function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r){return function(c){var d=cljs.core.deref.call(null,a);if(cljs.core.truth_(d)){var e=c.pageX,f=c.pageY,g=cljs.core.deref.call(null,
b),h=cljs.core.nth.call(null,g,0,null);g=cljs.core.nth.call(null,g,1,null);d.call(null,weathergen.ui.pixels__GT_weather.call(null,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[e-h,f-g],null)),!1);return c.preventDefault()}return null}}(r,u,t,b,c,f,f,g,h,k,l,m,n,p,q),w=function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t){return function(c){var d=cljs.core.deref.call(null,a);if(cljs.core.truth_(d)){var e=c.pageX;c=c.pageY;var f=cljs.core.deref.call(null,b),g=cljs.core.nth.call(null,
f,0,null);f=cljs.core.nth.call(null,f,1,null);d.call(null,weathergen.ui.pixels__GT_weather.call(null,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[e-g,c-f],null)),!0)}cljs.core.reset_BANG_.call(null,b,null);return cljs.core.reset_BANG_.call(null,a,null)}}(r,u,t,v,b,c,f,f,g,h,k,l,m,n,p,q),x=document.addEventListener("mousemove",v),y=document.addEventListener("mouseup",w),z=hoplon.svg.rect.call(null,new cljs.core.Keyword(null,"id","id",-1388402092),"brightness-layer",
new cljs.core.Keyword(null,"x","x",2099068185),0,new cljs.core.Keyword(null,"y","y",-1757859776),0,new cljs.core.Keyword(null,"width","width",-384071477),p,new cljs.core.Keyword(null,"height","height",1025178622),q,new cljs.core.Keyword(null,"fill","fill",883462889),javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w){return function(a){a=(new cljs.core.Keyword(null,"brightness","brightness",1067055820)).cljs$core$IFn$_invoke$arity$1(a);return cljs.core.apply.call(null,goog.string.format,
"rgba(%d,%d,%d,%f)",.5<=a?new cljs.core.PersistentVector(null,4,5,cljs.core.PersistentVector.EMPTY_NODE,[255,255,255,(a-.5)/.5],null):new cljs.core.PersistentVector(null,4,5,cljs.core.PersistentVector.EMPTY_NODE,[0,0,0,(a-.5)/-.5],null))}}(r,u,t,v,w,x,y,b,c,f,f,g,h,k,l,m,n,p,q)).call(null,weathergen.ui.map_display)),B=hoplon.svg.g.call(null,new cljs.core.Keyword(null,"id","id",-1388402092),"primary-layer",new cljs.core.Keyword(null,"toggle","toggle",1291842030),javelin.core.formula.call(null,function(a,
b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x){return function(a){return null!=(new cljs.core.Keyword(null,"display","display",242065432)).cljs$core$IFn$_invoke$arity$1(a)}}(r,u,t,v,w,x,y,z,b,c,f,f,g,h,k,l,m,n,p,q)).call(null,g),new cljs.core.Keyword(null,"css","css",1135045163),javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x){return function(a){return new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"opacity","opacity",397153780),(new cljs.core.Keyword(null,
"opacity","opacity",397153780)).cljs$core$IFn$_invoke$arity$1(a)],null)}}(r,u,t,v,w,x,y,z,b,c,f,f,g,h,k,l,m,n,p,q)).call(null,g)),C=hoplon.svg.g.call(null,new cljs.core.Keyword(null,"id","id",-1388402092),"wind-overlay",new cljs.core.Keyword(null,"toggle","toggle",1291842030),javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,y){return function(a){return cljs.core._EQ_.call(null,(new cljs.core.Keyword(null,"overlay","overlay",-139131598)).cljs$core$IFn$_invoke$arity$1(a),
new cljs.core.Keyword(null,"wind","wind",-527553074))}}(r,u,t,v,w,x,y,z,B,b,c,f,f,g,h,k,l,m,n,p,q)).call(null,g)),A=hoplon.svg.g.call(null,new cljs.core.Keyword(null,"id","id",-1388402092),"coverage-overlay",new cljs.core.Keyword(null,"toggle","toggle",1291842030),javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,y,z){return function(a){return cljs.core._EQ_.call(null,(new cljs.core.Keyword(null,"overlay","overlay",-139131598)).cljs$core$IFn$_invoke$arity$1(a),new cljs.core.Keyword(null,
"cloud-cover","cloud-cover",1830614752))}}(r,u,t,v,w,x,y,z,B,C,b,c,f,f,g,h,k,l,m,n,p,q)).call(null,g)),D=hoplon.svg.g.call(null,new cljs.core.Keyword(null,"id","id",-1388402092),"text-overlay",new cljs.core.Keyword(null,"attr","attr",-604132353),javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,y,z,A){return function(a,b){var c=cljs.core.PersistentArrayMap,d=new cljs.core.Keyword(null,"class","class",-2030961996);b=cljs.core.truth_(null==b)?null:(new cljs.core.Keyword(null,
"overlay","overlay",-139131598)).cljs$core$IFn$_invoke$arity$1(b);a=cljs.core.truth_(null==b)?null:a.call(null,b);return new c(null,1,[d,["text-overlay ",a].join("")],null)}}(r,u,t,v,w,x,y,z,B,C,A,b,c,f,f,g,h,k,l,m,n,p,q)).call(null,cljs.core.name,g),new cljs.core.Keyword(null,"toggle","toggle",1291842030),javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,y,z,A){return function(a){return(new cljs.core.PersistentHashSet(null,new cljs.core.PersistentArrayMap(null,6,[new cljs.core.Keyword(null,
"cloud-base","cloud-base",826793857),null,new cljs.core.Keyword(null,"cloud-size","cloud-size",-1568256381),null,new cljs.core.Keyword(null,"pressure","pressure",505343747),null,new cljs.core.Keyword(null,"type","type",1174270348),null,new cljs.core.Keyword(null,"visibility","visibility",1338380893),null,new cljs.core.Keyword(null,"temperature","temperature",899018429),null],null),null)).call(null,(new cljs.core.Keyword(null,"overlay","overlay",-139131598)).cljs$core$IFn$_invoke$arity$1(a))}}(r,u,
t,v,w,x,y,z,B,C,A,b,c,f,f,g,h,k,l,m,n,p,q)).call(null,g)),F=function(){var a=javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,y,z,A,B){return function(a){return(new cljs.core.Keyword(null,"coordinates","coordinates",-1225332668)).cljs$core$IFn$_invoke$arity$1(a)}}(r,u,t,v,w,x,y,z,B,C,A,D,b,c,f,f,g,h,k,l,m,n,p,q)).call(null,h),d=javelin.core.cell_map.call(null,cljs.core.identity,javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,y,z,A,B,C){return function(a){var b=
cljs.core.nth.call(null,a,0,null);a=cljs.core.nth.call(null,a,1,null);return new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[b,a],null)}}(a,r,u,t,v,w,x,y,z,B,C,A,D,b,c,f,f,g,h,k,l,m,n,p,q)).call(null,a)),e=cljs.core.nth.call(null,d,0,null),E=cljs.core.nth.call(null,d,1,null),F=new cljs.core.Delay(function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,y,z,A,B,C,D,E,F){return function(){return hoplon.svg.rect.call(null,new cljs.core.Keyword(null,"id","id",-1388402092),"selected-cell-overlay",
new cljs.core.Keyword(null,"click","click",1912301393),function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,y,z,A,B,C,D,E,F){return function(){return cljs.core.reset_BANG_.call(null,z,null)}}(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,y,z,A,B,C,D,E,F),new cljs.core.Keyword(null,"x","x",2099068185),b,new cljs.core.Keyword(null,"y","y",-1757859776),c,new cljs.core.Keyword(null,"width","width",-384071477),1,new cljs.core.Keyword(null,"height","height",1025178622),1)}}(d,e,E,a,r,u,t,v,w,x,y,z,B,C,A,D,b,c,f,
f,g,h,k,l,m,n,p,q),null),G=new cljs.core.Delay(function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,y,z,A,B,C,D,E,F,G){return function(){return null}}(F,d,e,E,a,r,u,t,v,w,x,y,z,B,C,A,D,b,c,f,f,g,h,k,l,m,n,p,q),null),O=function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,y,z,A,B,C,D,E,F,G,H){return function(c){return cljs.core.deref.call(null,function(){var d=cljs.core.truth_(c)?a:b;return cljs.core.truth_(d)?d:cljs.core.atom.call(null,null)}())}}(F,G,d,e,E,a,r,u,t,v,w,x,y,z,B,C,A,D,b,c,f,f,g,h,k,l,m,n,p,
q);return javelin.core.formula.call(null,O).call(null,javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,y,z,A,B,C,D,E,F,G,H,I){return function(a,b){return cljs.core.truth_(a)?b:a}}(F,G,O,d,e,E,a,r,u,t,v,w,x,y,z,B,C,A,D,b,c,f,f,g,h,k,l,m,n,p,q)).call(null,e,E))}(),E=javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,y,z,A,B,C){return function(a){return(new cljs.core.Keyword(null,"weather-overrides","weather-overrides",-837381710)).cljs$core$IFn$_invoke$arity$1(a)}}(r,
u,t,v,w,x,y,z,B,C,A,D,F,b,c,f,f,g,h,k,l,m,n,p,q)).call(null,weathergen.ui.weather_params),G=javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,y,z,A,B,C,D){return function(E,F){return cljs.core.truth_(cljs.core.some.call(null,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,y,z,A,B,C,D){return function(a){var b=weathergen.ui.within_override_QMARK_.call(null,a,E);return b?(new cljs.core.Keyword(null,"editing?","editing?",1646440800)).cljs$core$IFn$_invoke$arity$1(a):b}}(a,
b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,y,z,A,B,C,D),F))?null:E}}(r,u,t,v,w,x,y,z,B,C,A,D,F,E,b,c,f,f,g,h,k,l,m,n,p,q)).call(null,weathergen.ui.hover_cell,E);a=hoplon.svg.svg.call(null,new cljs.core.Keyword(null,"id","id",-1388402092),"grid",function(){var a=javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,y,z,A,B,C,D,E){return function(F){return cljs.core.map.call(null,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,y,z,A,B,C,D,E){return function(a){return a-7}}(a,b,
c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,y,z,A,B,C,D,E),F)}}(r,u,t,v,w,x,y,z,B,C,A,D,F,E,G,b,c,f,f,g,h,k,l,m,n,p,q)).call(null,weathergen.ui.map_size);return cljs.core.assoc.call(null,cljs.core.dissoc.call(null,f,new cljs.core.Keyword(null,"display-params","display-params",573405707),new cljs.core.Keyword(null,"selected-cell","selected-cell",1638390443),new cljs.core.Keyword(null,"weather-data","weather-data",-664219401),new cljs.core.Keyword(null,"weather-overrides","weather-overrides",-837381710)),new cljs.core.Keyword(null,
"viewBox","viewBox",-469489477),javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,y,z,A,B,C,D,E,F){return function(a){var b=null!=a&&(a.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===a.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,a):a;a=cljs.core.get.call(null,b,new cljs.core.Keyword(null,"x","x",2099068185));var c=cljs.core.get.call(null,b,new cljs.core.Keyword(null,"y","y",-1757859776)),d=cljs.core.get.call(null,b,new cljs.core.Keyword(null,
"width","width",-384071477));b=cljs.core.get.call(null,b,new cljs.core.Keyword(null,"height","height",1025178622));return goog.string.format("%f %f %f %f",a,c,d,b)}}(a,r,u,t,v,w,x,y,z,B,C,A,D,F,E,G,b,c,f,f,g,h,k,l,m,n,p,q)).call(null,weathergen.ui.map_viewbox),new cljs.core.Keyword(null,"width","width",-384071477),javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,y,z,A,B,C,D,E,F){return function(a,b){return a.call(null,b)}}(a,r,u,t,v,w,x,y,z,B,C,A,D,F,E,G,b,c,f,f,g,h,
k,l,m,n,p,q)).call(null,cljs.core.first,a),new cljs.core.Keyword(null,"height","height",1025178622),javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,y,z,A,B,C,D,E,F){return function(a,b){return a.call(null,b)}}(a,r,u,t,v,w,x,y,z,B,C,A,D,F,E,G,b,c,f,f,g,h,k,l,m,n,p,q)).call(null,cljs.core.second,a),new cljs.core.Keyword(null,"attr","attr",-604132353),new cljs.core.PersistentArrayMap(null,2,["xmlns:xlink","http://www.w3.org/1999/xlink","xmlns","http://www.w3.org/2000/svg"],
null))}(),new cljs.core.Keyword(null,"mousemove","mousemove",-1077794734),function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,y,z,A,B,C,D,E){return function(F){return javelin.core.dosync_STAR_.call(null,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,y,z,A,B,C,D,E){return function(){cljs.core.reset_BANG_.call(null,weathergen.ui.suppress_bullseye_info_box_QMARK_,!1);return cljs.core.reset_BANG_.call(null,weathergen.ui.mouse_location,function(){var a=weathergen.ui.mouse_weather_coords.call(null,F),b=
cljs.core.nth.call(null,a,0,null);a=cljs.core.nth.call(null,a,1,null);return 0<=b&&b<=D&&0<=a&&a<=E?new cljs.core.PersistentArrayMap(null,2,[new cljs.core.Keyword(null,"x","x",2099068185),b,new cljs.core.Keyword(null,"y","y",-1757859776),a],null):null}())}}(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,y,z,A,B,C,D,E))}}(r,u,t,v,w,x,y,z,B,C,A,D,F,E,G,b,c,f,f,g,h,k,l,m,n,p,q),new cljs.core.Keyword(null,"mouseleave","mouseleave",531566580),function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,y,z,A,B,C,D,E){return function(F){return javelin.core.dosync_STAR_.call(null,
function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,y,z,A,B,C,D,E){return function(){return cljs.core.reset_BANG_.call(null,weathergen.ui.hover_cell,null)}}(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,y,z,A,B,C,D,E))}}(r,u,t,v,w,x,y,z,B,C,A,D,F,E,G,b,c,f,f,g,h,k,l,m,n,p,q),new cljs.core.Keyword(null,"mousedown","mousedown",1391242074),function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,y,z,A,B,C,D,E){return function(F){cljs.core.reset_BANG_.call(null,b,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,
[F.pageX,F.pageY],null));if(cljs.core.truth_(cljs.core.deref.call(null,a)))return null;F=cljs.core.deref.call(null,weathergen.ui.map_pan);var G=null!=F&&(F.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===F.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,F):F,H=cljs.core.get.call(null,G,new cljs.core.Keyword(null,"x","x",2099068185)),I=cljs.core.get.call(null,G,new cljs.core.Keyword(null,"y","y",-1757859776));return c.call(null,function(a,b,c,d,e,f,g,h,k,l,m,n,p,
q,r,t,u,v,w,x,y,z,A,B,C,D,E,F,G,H,I){return function(a,b){b=cljs.core.nth.call(null,a,0,null);a=cljs.core.nth.call(null,a,1,null);return cljs.core.reset_BANG_.call(null,weathergen.ui.map_pan,weathergen.ui.limit_pan.call(null,(new cljs.core.Keyword(null,"cell-count","cell-count",-441457582)).cljs$core$IFn$_invoke$arity$1(cljs.core.deref.call(null,weathergen.ui.weather_params)),cljs.core.deref.call(null,weathergen.ui.map_zoom),new cljs.core.PersistentArrayMap(null,2,[new cljs.core.Keyword(null,"x",
"x",2099068185),c-b,new cljs.core.Keyword(null,"y","y",-1757859776),d-a],null)))}}(F,G,H,I,a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,y,z,A,B,C,D,E))}}(r,u,t,v,w,x,y,z,B,C,A,D,F,E,G,b,c,f,f,g,h,k,l,m,n,p,q),new cljs.core.Keyword(null,"dragstart","dragstart",955864218),cljs.core.constantly.call(null,!1),new cljs.core.PersistentVector(null,16,5,cljs.core.PersistentVector.EMPTY_NODE,[weathergen.ui.wind_vector_defs.call(null),weathergen.ui.cloud_coverage_defs.call(null),hoplon.svg.image.call(null,new cljs.core.Keyword(null,
"id","id",-1388402092),"map-image",new cljs.core.Keyword(null,"xlink-href","xlink-href",244956585),javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,y,z,A,B,C,D,E){return function(a,b){return cljs.core.not.call(null,b)?"images/kto.jpg":a.call(null,b,(new cljs.core.Keyword(null,"map-image","map-image",-5560498)).cljs$core$IFn$_invoke$arity$1(b))}}(r,u,t,v,w,x,y,z,B,C,A,D,F,E,G,b,c,f,f,g,h,k,l,m,n,p,q)).call(null,weathergen.ui.common.get_image,weathergen.ui.mission),new cljs.core.Keyword(null,
"x","x",2099068185),0,new cljs.core.Keyword(null,"y","y",-1757859776),0,new cljs.core.Keyword(null,"width","width",-384071477),p,new cljs.core.Keyword(null,"height","height",1025178622),q),z,B,weathergen.ui.bullseye_overlay.call(null,weathergen.ui.mission),C,A,D,weathergen.ui.weather_overrides_overlay.call(null,weathergen.ui.weather_params,t),F,weathergen.ui.layer_overlay.call(null,weathergen.ui.acmi_layer),weathergen.ui.layer_overlay.call(null,weathergen.ui.annotations_layer,t),weathergen.ui.layer_overlay.call(null,
weathergen.ui.flight_paths_layer),weathergen.ui.airbases_info_overlay,weathergen.ui.bullseye_info_box.call(null)],null));goog.events.listen(new goog.events.MouseWheelHandler(a),goog.events.MouseWheelHandler.EventType.MOUSEWHEEL,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,y,z,A,B,C,D,E,F){return function(a){a.preventDefault();var b=Math.pow(cljs.core.deref.call(null,weathergen.ui.zoom_speed),a.deltaY);return weathergen.ui.zoom_map_BANG_.call(null,weathergen.ui.mouse_weather_coords.call(null,a),
b)}}(a,r,u,t,v,w,x,y,z,B,C,A,D,F,E,G,b,c,f,f,g,h,k,l,m,n,p,q));hoplon.core.add_initfn_BANG_.call(null,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,y,z,A,B,C,D,E,F){return function(){var G=console.time("Initial create");(function(){for(var H=document.createDocumentFragment(),I=cljs.core.seq.call(null,cljs.core.range.call(null,E)),J=null,L=0,K=0;;)if(K<L){for(var M=cljs.core._nth.call(null,J,K),N=cljs.core.seq.call(null,cljs.core.range.call(null,F)),O=null,P=0,Q=0;;)if(Q<P){var R=cljs.core._nth.call(null,
O,Q),S=document.createElementNS("http://www.w3.org/2000/svg","rect"),T=S;T.setAttribute("id",["grid-primary-cell-",cljs.core.str.cljs$core$IFn$_invoke$arity$1(M),"-",cljs.core.str.cljs$core$IFn$_invoke$arity$1(R)].join(""));T.setAttribute("x",cljs.core.str.cljs$core$IFn$_invoke$arity$1(M));T.setAttribute("y",cljs.core.str.cljs$core$IFn$_invoke$arity$1(R));T.setAttribute("width","1");T.setAttribute("height","1");T.setAttribute("fill","none");T.onclick=function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,
x,y,z,A,B,C,D,E,F,G,H,I,J,L,K,M,N,O,P,Q,R,S,T,U){return function(){return cljs.core.reset_BANG_.call(null,O,new cljs.core.PersistentArrayMap(null,2,[new cljs.core.Keyword(null,"location","location",1815599388),null,new cljs.core.Keyword(null,"coordinates","coordinates",-1225332668),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[n,m],null)],null))}}(N,O,P,Q,I,J,L,K,T,S,R,M,H,"Initial create",G,a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,y,z,A,B,C,D,E,F);goog.dom.appendChild(H,
S);Q+=1}else{var U=cljs.core.seq.call(null,N);if(U){var V=U;if(cljs.core.chunked_seq_QMARK_.call(null,V)){var W=cljs.core.chunk_first.call(null,V),X=cljs.core.chunk_rest.call(null,V),Z=W,ba=cljs.core.count.call(null,W);N=X;O=Z;P=ba}else{var Y=cljs.core.first.call(null,V),aa=document.createElementNS("http://www.w3.org/2000/svg","rect"),ea=aa;ea.setAttribute("id",["grid-primary-cell-",cljs.core.str.cljs$core$IFn$_invoke$arity$1(M),"-",cljs.core.str.cljs$core$IFn$_invoke$arity$1(Y)].join(""));ea.setAttribute("x",
cljs.core.str.cljs$core$IFn$_invoke$arity$1(M));ea.setAttribute("y",cljs.core.str.cljs$core$IFn$_invoke$arity$1(Y));ea.setAttribute("width","1");ea.setAttribute("height","1");ea.setAttribute("fill","none");ea.onclick=function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,y,z,A,B,C,D,E,F,G,H,I,J,L,K,M,N,O,P,Q,R,S,T,U,V,W){return function(){return cljs.core.reset_BANG_.call(null,Q,new cljs.core.PersistentArrayMap(null,2,[new cljs.core.Keyword(null,"location","location",1815599388),null,new cljs.core.Keyword(null,
"coordinates","coordinates",-1225332668),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[q,m],null)],null))}}(N,O,P,Q,I,J,L,K,ea,aa,Y,V,U,M,H,"Initial create",G,a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,y,z,A,B,C,D,E,F);goog.dom.appendChild(H,aa);N=cljs.core.next.call(null,V);O=null;P=0}Q=0}else break}K+=1}else{var ca=cljs.core.seq.call(null,I);if(ca){var fa=ca;if(cljs.core.chunked_seq_QMARK_.call(null,fa)){var da=cljs.core.chunk_first.call(null,fa),ha=cljs.core.chunk_rest.call(null,
fa),ka=da,ia=cljs.core.count.call(null,da);I=ha;J=ka;L=ia}else{for(var ja=cljs.core.first.call(null,fa),ma=cljs.core.seq.call(null,cljs.core.range.call(null,F)),la=null,ta=0,ra=0;;)if(ra<ta){var ua=cljs.core._nth.call(null,la,ra),sa=document.createElementNS("http://www.w3.org/2000/svg","rect"),oa=sa;oa.setAttribute("id",["grid-primary-cell-",cljs.core.str.cljs$core$IFn$_invoke$arity$1(ja),"-",cljs.core.str.cljs$core$IFn$_invoke$arity$1(ua)].join(""));oa.setAttribute("x",cljs.core.str.cljs$core$IFn$_invoke$arity$1(ja));
oa.setAttribute("y",cljs.core.str.cljs$core$IFn$_invoke$arity$1(ua));oa.setAttribute("width","1");oa.setAttribute("height","1");oa.setAttribute("fill","none");oa.onclick=function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,y,z,A,B,C,D,E,F,G,H,I,J,L,K,M,N,O,P,Q,R,S,T,U,V,W){return function(){return cljs.core.reset_BANG_.call(null,Q,new cljs.core.PersistentArrayMap(null,2,[new cljs.core.Keyword(null,"location","location",1815599388),null,new cljs.core.Keyword(null,"coordinates","coordinates",-1225332668),
new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[n,m],null)],null))}}(ma,la,ta,ra,I,J,L,K,oa,sa,ua,ja,fa,ca,H,"Initial create",G,a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,y,z,A,B,C,D,E,F);goog.dom.appendChild(H,sa);ra+=1}else{var Da=cljs.core.seq.call(null,ma);if(Da){var pa=Da;if(cljs.core.chunked_seq_QMARK_.call(null,pa)){var Ja=cljs.core.chunk_first.call(null,pa),za=cljs.core.chunk_rest.call(null,pa),Ka=Ja,zb=cljs.core.count.call(null,Ja);ma=za;la=Ka;ta=zb}else{var Pa=
cljs.core.first.call(null,pa),Qa=document.createElementNS("http://www.w3.org/2000/svg","rect"),qa=Qa;qa.setAttribute("id",["grid-primary-cell-",cljs.core.str.cljs$core$IFn$_invoke$arity$1(ja),"-",cljs.core.str.cljs$core$IFn$_invoke$arity$1(Pa)].join(""));qa.setAttribute("x",cljs.core.str.cljs$core$IFn$_invoke$arity$1(ja));qa.setAttribute("y",cljs.core.str.cljs$core$IFn$_invoke$arity$1(Pa));qa.setAttribute("width","1");qa.setAttribute("height","1");qa.setAttribute("fill","none");qa.onclick=function(a,
b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,y,z,A,B,C,D,E,F,G,H,I,J,L,K,M,N,O,P,Q,R,S,T,U,V,W,X,Z){return function(){return cljs.core.reset_BANG_.call(null,S,new cljs.core.PersistentArrayMap(null,2,[new cljs.core.Keyword(null,"location","location",1815599388),null,new cljs.core.Keyword(null,"coordinates","coordinates",-1225332668),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[q,m],null)],null))}}(ma,la,ta,ra,I,J,L,K,qa,Qa,Pa,pa,Da,ja,fa,ca,H,"Initial create",G,a,b,c,d,e,
f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,y,z,A,B,C,D,E,F);goog.dom.appendChild(H,Qa);ma=cljs.core.next.call(null,pa);la=null;ta=0}ra=0}else break}I=cljs.core.next.call(null,fa);J=null;L=0}K=0}else break}goog.dom.appendChild(l,H);for(var va=document.createDocumentFragment(),Ra=cljs.core.seq.call(null,cljs.core.range.call(null,E)),Sa=null,Ta=0,La=0;;)if(La<Ta){for(var Ua=cljs.core._nth.call(null,Sa,La),Va=cljs.core.seq.call(null,cljs.core.range.call(null,F)),gb=null,Ea=0,Wa=0;;)if(Wa<Ea){var pb=cljs.core._nth.call(null,
gb,Wa),Ma=document.createElementNS("http://www.w3.org/2000/svg","g"),hb=document.createElementNS("http://www.w3.org/2000/svg","use");Ma.setAttribute("transform",weathergen.ui.common.svg_translate.call(null,Ua+.5,pb+.5));hb.setAttribute("id",["grid-wind-cell-",cljs.core.str.cljs$core$IFn$_invoke$arity$1(Ua),"-",cljs.core.str.cljs$core$IFn$_invoke$arity$1(pb)].join(""));goog.dom.appendChild(Ma,hb);goog.dom.appendChild(va,Ma);Wa+=1}else{var ib=cljs.core.seq.call(null,Va);if(ib){var Na=ib;if(cljs.core.chunked_seq_QMARK_.call(null,
Na)){var qb=cljs.core.chunk_first.call(null,Na),rb=cljs.core.chunk_rest.call(null,Na),sb=qb,Ab=cljs.core.count.call(null,qb);Va=rb;gb=sb;Ea=Ab}else{var tb=cljs.core.first.call(null,Na),Bb=document.createElementNS("http://www.w3.org/2000/svg","g"),jb=document.createElementNS("http://www.w3.org/2000/svg","use");Bb.setAttribute("transform",weathergen.ui.common.svg_translate.call(null,Ua+.5,tb+.5));jb.setAttribute("id",["grid-wind-cell-",cljs.core.str.cljs$core$IFn$_invoke$arity$1(Ua),"-",cljs.core.str.cljs$core$IFn$_invoke$arity$1(tb)].join(""));
goog.dom.appendChild(Bb,jb);goog.dom.appendChild(va,Bb);Va=cljs.core.next.call(null,Na);gb=null;Ea=0}Wa=0}else break}La+=1}else{var Nb=cljs.core.seq.call(null,Ra);if(Nb){var Xa=Nb;if(cljs.core.chunked_seq_QMARK_.call(null,Xa)){var Ec=cljs.core.chunk_first.call(null,Xa),kd=cljs.core.chunk_rest.call(null,Xa),ld=Ec,md=cljs.core.count.call(null,Ec);Ra=kd;Sa=ld;Ta=md}else{for(var Ob=cljs.core.first.call(null,Xa),ac=cljs.core.seq.call(null,cljs.core.range.call(null,F)),bc=null,cc=0,Pb=0;;)if(Pb<cc){var cd=
cljs.core._nth.call(null,bc,Pb),dc=document.createElementNS("http://www.w3.org/2000/svg","g"),Fc=document.createElementNS("http://www.w3.org/2000/svg","use");dc.setAttribute("transform",weathergen.ui.common.svg_translate.call(null,Ob+.5,cd+.5));Fc.setAttribute("id",["grid-wind-cell-",cljs.core.str.cljs$core$IFn$_invoke$arity$1(Ob),"-",cljs.core.str.cljs$core$IFn$_invoke$arity$1(cd)].join(""));goog.dom.appendChild(dc,Fc);goog.dom.appendChild(va,dc);Pb+=1}else{var Gc=cljs.core.seq.call(null,ac);if(Gc){var Cb=
Gc;if(cljs.core.chunked_seq_QMARK_.call(null,Cb)){var Hc=cljs.core.chunk_first.call(null,Cb),nd=cljs.core.chunk_rest.call(null,Cb),od=Hc,pd=cljs.core.count.call(null,Hc);ac=nd;bc=od;cc=pd}else{var Ic=cljs.core.first.call(null,Cb),ec=document.createElementNS("http://www.w3.org/2000/svg","g"),Jc=document.createElementNS("http://www.w3.org/2000/svg","use");ec.setAttribute("transform",weathergen.ui.common.svg_translate.call(null,Ob+.5,Ic+.5));Jc.setAttribute("id",["grid-wind-cell-",cljs.core.str.cljs$core$IFn$_invoke$arity$1(Ob),
"-",cljs.core.str.cljs$core$IFn$_invoke$arity$1(Ic)].join(""));goog.dom.appendChild(ec,Jc);goog.dom.appendChild(va,ec);ac=cljs.core.next.call(null,Cb);bc=null;cc=0}Pb=0}else break}Ra=cljs.core.next.call(null,Xa);Sa=null;Ta=0}La=0}else break}goog.dom.appendChild(m,va);for(var Db=document.createDocumentFragment(),fc=cljs.core.seq.call(null,cljs.core.range.call(null,E)),gc=null,hc=0,Qb=0;;)if(Qb<hc){for(var Rb=cljs.core._nth.call(null,gc,Qb),ic=cljs.core.seq.call(null,cljs.core.range.call(null,F)),ub=
null,jc=0,Sb=0;;)if(Sb<jc){var Kc=cljs.core._nth.call(null,ub,Sb),kc=document.createElementNS("http://www.w3.org/2000/svg","g"),Lc=document.createElementNS("http://www.w3.org/2000/svg","use");kc.setAttribute("transform",weathergen.ui.common.svg_translate.call(null,Rb+.5,Kc+.5));Lc.setAttribute("id",["cloud-coverage-cell-",cljs.core.str.cljs$core$IFn$_invoke$arity$1(Rb),"-",cljs.core.str.cljs$core$IFn$_invoke$arity$1(Kc)].join(""));goog.dom.appendChild(kc,Lc);goog.dom.appendChild(Db,kc);Sb+=1}else{var Eb=
cljs.core.seq.call(null,ic);if(Eb){var Fb=Eb;if(cljs.core.chunked_seq_QMARK_.call(null,Fb)){var Mc=cljs.core.chunk_first.call(null,Fb),qd=cljs.core.chunk_rest.call(null,Fb),rd=Mc,sd=cljs.core.count.call(null,Mc);ic=qd;ub=rd;jc=sd}else{var Nc=cljs.core.first.call(null,Fb),lc=document.createElementNS("http://www.w3.org/2000/svg","g"),Gb=document.createElementNS("http://www.w3.org/2000/svg","use");lc.setAttribute("transform",weathergen.ui.common.svg_translate.call(null,Rb+.5,Nc+.5));Gb.setAttribute("id",
["cloud-coverage-cell-",cljs.core.str.cljs$core$IFn$_invoke$arity$1(Rb),"-",cljs.core.str.cljs$core$IFn$_invoke$arity$1(Nc)].join(""));goog.dom.appendChild(lc,Gb);goog.dom.appendChild(Db,lc);ic=cljs.core.next.call(null,Fb);ub=null;jc=0}Sb=0}else break}Qb+=1}else{var Oc=cljs.core.seq.call(null,fc);if(Oc){var Hb=Oc;if(cljs.core.chunked_seq_QMARK_.call(null,Hb)){var Pc=cljs.core.chunk_first.call(null,Hb),Ad=cljs.core.chunk_rest.call(null,Hb),td=Pc,Tb=cljs.core.count.call(null,Pc);fc=Ad;gc=td;hc=Tb}else{for(var Ub=
cljs.core.first.call(null,Hb),mc=cljs.core.seq.call(null,cljs.core.range.call(null,F)),nc=null,oc=0,Vb=0;;)if(Vb<oc){var Qc=cljs.core._nth.call(null,nc,Vb),pc=document.createElementNS("http://www.w3.org/2000/svg","g"),Rc=document.createElementNS("http://www.w3.org/2000/svg","use");pc.setAttribute("transform",weathergen.ui.common.svg_translate.call(null,Ub+.5,Qc+.5));Rc.setAttribute("id",["cloud-coverage-cell-",cljs.core.str.cljs$core$IFn$_invoke$arity$1(Ub),"-",cljs.core.str.cljs$core$IFn$_invoke$arity$1(Qc)].join(""));
goog.dom.appendChild(pc,Rc);goog.dom.appendChild(Db,pc);Vb+=1}else{var Sc=cljs.core.seq.call(null,mc);if(Sc){var Ib=Sc;if(cljs.core.chunked_seq_QMARK_.call(null,Ib)){var Tc=cljs.core.chunk_first.call(null,Ib),ud=cljs.core.chunk_rest.call(null,Ib),vd=Tc,wd=cljs.core.count.call(null,Tc);mc=ud;nc=vd;oc=wd}else{var Uc=cljs.core.first.call(null,Ib),qc=document.createElementNS("http://www.w3.org/2000/svg","g"),Vc=document.createElementNS("http://www.w3.org/2000/svg","use");qc.setAttribute("transform",weathergen.ui.common.svg_translate.call(null,
Ub+.5,Uc+.5));Vc.setAttribute("id",["cloud-coverage-cell-",cljs.core.str.cljs$core$IFn$_invoke$arity$1(Ub),"-",cljs.core.str.cljs$core$IFn$_invoke$arity$1(Uc)].join(""));goog.dom.appendChild(qc,Vc);goog.dom.appendChild(Db,qc);mc=cljs.core.next.call(null,Ib);nc=null;oc=0}Vb=0}else break}fc=cljs.core.next.call(null,Hb);gc=null;hc=0}Qb=0}else break}goog.dom.appendChild(n,Db);for(var Jb=document.createDocumentFragment(),rc=cljs.core.seq.call(null,cljs.core.range.call(null,E)),sc=null,tc=0,Wb=0;;)if(Wb<
tc){for(var Xb=cljs.core._nth.call(null,sc,Wb),uc=cljs.core.seq.call(null,cljs.core.range.call(null,F)),vc=null,wc=0,Yb=0;;)if(Yb<wc){var Wc=cljs.core._nth.call(null,vc,Yb),Xc=document.createElementNS("http://www.w3.org/2000/svg","text"),xc=Xc;xc.setAttribute("transform",[cljs.core.str.cljs$core$IFn$_invoke$arity$1(weathergen.ui.common.svg_scale.call(null,.03))," ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(weathergen.ui.common.svg_translate.call(null,(Xb+.5)/.03,(Wc+.9)/.03))].join(""));xc.setAttribute("id",
["grid-text-cell-",cljs.core.str.cljs$core$IFn$_invoke$arity$1(Xb),"-",cljs.core.str.cljs$core$IFn$_invoke$arity$1(Wc)].join(""));xc.setAttribute("text-anchor","middle");goog.dom.appendChild(Jb,Xc);Yb+=1}else{var Yc=cljs.core.seq.call(null,uc);if(Yc){var Kb=Yc;if(cljs.core.chunked_seq_QMARK_.call(null,Kb)){var Zc=cljs.core.chunk_first.call(null,Kb),xd=cljs.core.chunk_rest.call(null,Kb),yd=Zc,zd=cljs.core.count.call(null,Zc);uc=xd;vc=yd;wc=zd}else{var $c=cljs.core.first.call(null,Kb),ad=document.createElementNS("http://www.w3.org/2000/svg",
"text"),yc=ad;yc.setAttribute("transform",[cljs.core.str.cljs$core$IFn$_invoke$arity$1(weathergen.ui.common.svg_scale.call(null,.03))," ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(weathergen.ui.common.svg_translate.call(null,(Xb+.5)/.03,($c+.9)/.03))].join(""));yc.setAttribute("id",["grid-text-cell-",cljs.core.str.cljs$core$IFn$_invoke$arity$1(Xb),"-",cljs.core.str.cljs$core$IFn$_invoke$arity$1($c)].join(""));yc.setAttribute("text-anchor","middle");goog.dom.appendChild(Jb,ad);uc=cljs.core.next.call(null,
Kb);vc=null;wc=0}Yb=0}else break}Wb+=1}else{var bd=cljs.core.seq.call(null,rc);if(bd){var Lb=bd;if(cljs.core.chunked_seq_QMARK_.call(null,Lb)){var dd=cljs.core.chunk_first.call(null,Lb),Bd=cljs.core.chunk_rest.call(null,Lb),Cd=dd,Dd=cljs.core.count.call(null,dd);rc=Bd;sc=Cd;tc=Dd}else{for(var Zb=cljs.core.first.call(null,Lb),zc=cljs.core.seq.call(null,cljs.core.range.call(null,F)),Ac=null,Bc=0,$b=0;;)if($b<Bc){var ed=cljs.core._nth.call(null,Ac,$b),fd=document.createElementNS("http://www.w3.org/2000/svg",
"text"),Cc=fd;Cc.setAttribute("transform",[cljs.core.str.cljs$core$IFn$_invoke$arity$1(weathergen.ui.common.svg_scale.call(null,.03))," ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(weathergen.ui.common.svg_translate.call(null,(Zb+.5)/.03,(ed+.9)/.03))].join(""));Cc.setAttribute("id",["grid-text-cell-",cljs.core.str.cljs$core$IFn$_invoke$arity$1(Zb),"-",cljs.core.str.cljs$core$IFn$_invoke$arity$1(ed)].join(""));Cc.setAttribute("text-anchor","middle");goog.dom.appendChild(Jb,fd);$b+=1}else{var gd=
cljs.core.seq.call(null,zc);if(gd){var Mb=gd;if(cljs.core.chunked_seq_QMARK_.call(null,Mb)){var hd=cljs.core.chunk_first.call(null,Mb),Ed=cljs.core.chunk_rest.call(null,Mb),Fd=hd,Gd=cljs.core.count.call(null,hd);zc=Ed;Ac=Fd;Bc=Gd}else{var id=cljs.core.first.call(null,Mb),jd=document.createElementNS("http://www.w3.org/2000/svg","text"),Dc=jd;Dc.setAttribute("transform",[cljs.core.str.cljs$core$IFn$_invoke$arity$1(weathergen.ui.common.svg_scale.call(null,.03))," ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(weathergen.ui.common.svg_translate.call(null,
(Zb+.5)/.03,(id+.9)/.03))].join(""));Dc.setAttribute("id",["grid-text-cell-",cljs.core.str.cljs$core$IFn$_invoke$arity$1(Zb),"-",cljs.core.str.cljs$core$IFn$_invoke$arity$1(id)].join(""));Dc.setAttribute("text-anchor","middle");goog.dom.appendChild(Jb,jd);zc=cljs.core.next.call(null,Mb);Ac=null;Bc=0}$b=0}else break}rc=cljs.core.next.call(null,Lb);sc=null;tc=0}Wb=0}else break}return goog.dom.appendChild(p,Jb)})();console.timeEnd("Initial create");var H=javelin.core.formula.call(null,function(a,b,c,
d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,y,z,A,B,C,D,E,F){return function(a){return cljs.core.dissoc.call(null,a,new cljs.core.Keyword(null,"opacity","opacity",397153780),new cljs.core.Keyword(null,"map","map",1371690461),new cljs.core.Keyword(null,"flight-paths","flight-paths",159519268),new cljs.core.Keyword(null,"multi-save","multi-save",-1814543541))}}(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,y,z,A,B,C,D,E,F)).call(null,y);return javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,
u,v,w,x,y,z,A,B,C,D,E,F,G){return function(a,b){return weathergen.ui.update_grid.call(null,a,b)}}(H,a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,y,z,A,B,C,D,E,F)).call(null,A,H)}}(a,r,u,t,v,w,x,y,z,B,C,A,D,F,E,G,b,c,f,f,g,h,k,l,m,n,p,q));return a},b=function(b){var c=null;if(0<arguments.length){c=0;for(var e=Array(arguments.length-0);c<e.length;)e[c]=arguments[c+0],++c;c=new cljs.core.IndexedSeq(e,0,null)}return a.call(this,c)};b.cljs$lang$maxFixedArity=0;b.cljs$lang$applyTo=function(b){b=cljs.core.seq(b);
return a(b)};b.cljs$core$IFn$_invoke$arity$variadic=a;return b}();weathergen.ui.edit_field=function(a){switch(arguments.length){case 2:return weathergen.ui.edit_field.cljs$core$IFn$_invoke$arity$2(arguments[0],arguments[1]);case 3:return weathergen.ui.edit_field.cljs$core$IFn$_invoke$arity$3(arguments[0],arguments[1],arguments[2]);default:throw Error(["Invalid arity: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(""));}};
weathergen.ui.edit_field.cljs$core$IFn$_invoke$arity$2=function(a,b){return weathergen.ui.edit_field.call(null,a,b,cljs.core.PersistentArrayMap.EMPTY)};
weathergen.ui.edit_field.cljs$core$IFn$_invoke$arity$3=function(a,b,c){var d=null!=c&&(c.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===c.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,c):c,e=cljs.core.get.call(null,d,new cljs.core.Keyword(null,"change-fn","change-fn",1566440825)),f=cljs.core.get.call(null,d,new cljs.core.Keyword(null,"input-attrs","input-attrs",-38113667),cljs.core.PersistentArrayMap.EMPTY);return hoplon.core.input.call(null,f,new cljs.core.Keyword(null,
"type","type",1174270348),"text",new cljs.core.Keyword(null,"value","value",305978217),javelin.core.formula.call(null,function(a,b,c,d){return function(a,b,c){return c.call(null,b,a)}}(c,d,e,f)).call(null,b,a,cljs.core.get_in),new cljs.core.Keyword(null,"change","change",-1163046502),cljs.core.truth_(e)?function(a,b,c,d){return function(a){return c.call(null,Number(cljs.core.deref.call(null,a)))}}(c,d,e,f):function(c,d,e,f){return function(c){return cljs.core.swap_BANG_.call(null,a,cljs.core.assoc_in,
b,Number(cljs.core.deref.call(null,c)))}}(c,d,e,f))};weathergen.ui.edit_field.cljs$lang$maxFixedArity=3;
weathergen.ui.pressure_edit_field=function(a,b,c){return hoplon.core.input.call(null,new cljs.core.Keyword(null,"type","type",1174270348),"text",new cljs.core.Keyword(null,"value","value",305978217),javelin.core.formula.call(null,function(a,c){return weathergen.ui.format_pressure.call(null,cljs.core.get_in.call(null,a,b),c)}).call(null,a,c),new cljs.core.Keyword(null,"change","change",-1163046502),function(d){return cljs.core.swap_BANG_.call(null,a,cljs.core.assoc_in,b,weathergen.ui.convert_pressure.call(null,
Number(cljs.core.deref.call(null,d)),cljs.core.deref.call(null,c)))})};
weathergen.ui.time_entry=function(){var a=function(a){a=hoplon.core.parse_args.call(null,a);var b=cljs.core.nth.call(null,a,0,null),c=cljs.core.nth.call(null,a,1,null),f=null!=b&&(b.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===b.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,b):b,g=cljs.core.get.call(null,f,new cljs.core.Keyword(null,"path","path",-188191168)),h=cljs.core.get.call(null,f,new cljs.core.Keyword(null,"source","source",-433931539));return weathergen.ui.common.time_edit.call(null,
cljs.core.assoc.call(null,cljs.core.assoc.call(null,cljs.core.assoc.call(null,cljs.core.dissoc.call(null,b,new cljs.core.Keyword(null,"path","path",-188191168)),new cljs.core.Keyword(null,"source","source",-433931539),javelin.core.formula.call(null,function(a,b,c,d,e,f,g){return function(a){return cljs.core.get_in.call(null,a,c)}}(b,f,g,h,a,b,c)).call(null,h)),new cljs.core.Keyword(null,"update","update",1045576396),function(a,b,c,d,e,f,g){return function(a){return cljs.core.swap_BANG_.call(null,
d,cljs.core.assoc_in,c,a)}}(b,f,g,h,a,b,c)),new cljs.core.Keyword(null,"max-time","max-time",857408479),cljs.core.get_in.call(null,cljs.core.deref.call(null,weathergen.ui.weather_params),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"time","time",1385887882),new cljs.core.Keyword(null,"max","max",61366548)],null))))},b=function(b){var c=null;if(0<arguments.length){c=0;for(var e=Array(arguments.length-0);c<e.length;)e[c]=arguments[c+0],++c;
c=new cljs.core.IndexedSeq(e,0,null)}return a.call(this,c)};b.cljs$lang$maxFixedArity=0;b.cljs$lang$applyTo=function(b){b=cljs.core.seq(b);return a(b)};b.cljs$core$IFn$_invoke$arity$variadic=a;return b}();
weathergen.ui.button_bar=function(){return hoplon.core.div.call(null,new cljs.core.Keyword(null,"class","class",-2030961996),"button-bar",new cljs.core.Keyword(null,"css","css",1135045163),javelin.core.formula.call(null,function(a){return new cljs.core.PersistentArrayMap(null,3,[new cljs.core.Keyword(null,"position","position",-2011731912),"relative",new cljs.core.Keyword(null,"width","width",-384071477),weathergen.ui.common.px.call(null,cljs.core.first.call(null,a)),new cljs.core.Keyword(null,"margin",
"margin",-995903681),"0 0 3px 0"],null)}).call(null,weathergen.ui.map_size),weathergen.help.with_help.call(null,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"map","map",1371690461),new cljs.core.Keyword(null,"legend","legend",-1027192245)],null),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"margin-left","margin-left",2015598377),weathergen.ui.common.px.call(null,5)],null),hoplon.core.span.call(null,"Map Legend")),
function(){var a=function(a){return function(){var a=cljs.core.deref.call(null,weathergen.ui.map_viewbox),b=null!=a&&(a.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===a.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,a):a;a=cljs.core.get.call(null,b,new cljs.core.Keyword(null,"x","x",2099068185));var e=cljs.core.get.call(null,b,new cljs.core.Keyword(null,"y","y",-1757859776)),f=cljs.core.get.call(null,b,new cljs.core.Keyword(null,"width","width",-384071477));b=
cljs.core.get.call(null,b,new cljs.core.Keyword(null,"height","height",1025178622));return new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[a+f/2,e+b/2],null)}}(18);return weathergen.ui.common.inl.call(null,new cljs.core.Keyword(null,"css","css",1135045163),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"margin-left","margin-left",2015598377),weathergen.ui.common.px.call(null,10)],null),weathergen.ui.common.inl.call(null,weathergen.ui.buttons.a_button.call(null,
new cljs.core.Keyword(null,"click","click",1912301393),function(a,c){return function(){return weathergen.ui.zoom_map_BANG_.call(null,c.call(null),1.1)}}(18,a),hoplon.core.img.call(null,new cljs.core.Keyword(null,"css","css",1135045163),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"vertical-align","vertical-align",651007333),"bottom"],null),new cljs.core.Keyword(null,"width","width",-384071477),weathergen.ui.common.px.call(null,18),new cljs.core.Keyword(null,"height","height",
1025178622),weathergen.ui.common.px.call(null,18),new cljs.core.Keyword(null,"src","src",-1651076051),"images/zoomin.svg",new cljs.core.Keyword(null,"title","title",636505583),"Zoom Map In")),weathergen.ui.common.inl.call(null,weathergen.ui.buttons.a_button.call(null,new cljs.core.Keyword(null,"click","click",1912301393),function(a,c){return function(){return weathergen.ui.zoom_map_BANG_.call(null,c.call(null),1/1.1)}}(18,a),hoplon.core.img.call(null,new cljs.core.Keyword(null,"css","css",1135045163),
new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"vertical-align","vertical-align",651007333),"bottom"],null),new cljs.core.Keyword(null,"width","width",-384071477),weathergen.ui.common.px.call(null,18),new cljs.core.Keyword(null,"height","height",1025178622),weathergen.ui.common.px.call(null,18),new cljs.core.Keyword(null,"src","src",-1651076051),"images/zoomout.svg",new cljs.core.Keyword(null,"title","title",636505583),"Zoom Map Out")))))}(),hoplon.core.div.call(null,new cljs.core.Keyword(null,
"css","css",1135045163),new cljs.core.PersistentArrayMap(null,3,[new cljs.core.Keyword(null,"display","display",242065432),"inline-block",new cljs.core.Keyword(null,"float","float",-1732389368),"right",new cljs.core.Keyword(null,"margin","margin",-995903681),weathergen.ui.common.px.call(null,5,32,0,0)],null),hoplon.core.span.call(null,weathergen.help.with_help.call(null,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"map","map",1371690461),
new cljs.core.Keyword(null,"mission-time","mission-time",-1235574900)],null),"Mission Time:")," ",javelin.core.formula.call(null,function(a){a=weathergen.falcon.files.mission.mission_time.call(null,a);return cljs.core.truth_(a)?weathergen.ui.common.format_time.call(null,a):"--/----"}).call(null,weathergen.ui.mission)),hoplon.core.span.call(null,new cljs.core.Keyword(null,"css","css",1135045163),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"margin-left","margin-left",2015598377),
weathergen.ui.common.px.call(null,7)],null),weathergen.help.with_help.call(null,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"map","map",1371690461),new cljs.core.Keyword(null,"weather-time","weather-time",-248525118)],null),"Weather Time:")," ",javelin.core.formula.call(null,function(a){a=(new cljs.core.Keyword(null,"current","current",-1088038603)).cljs$core$IFn$_invoke$arity$1((new cljs.core.Keyword(null,"time","time",1385887882)).cljs$core$IFn$_invoke$arity$1(a));
return cljs.core.truth_(a)?weathergen.ui.common.format_time.call(null,a):"--/----"}).call(null,weathergen.ui.weather_data_params))),javelin.core.formula.call(null,function(a){return cljs.core.not.call(null,a)?cljs.core.PersistentVector.EMPTY:hoplon.core.img.call(null,new cljs.core.Keyword(null,"src","src",-1651076051),"images/spinner.gif",new cljs.core.Keyword(null,"width","width",-384071477),"24px",new cljs.core.Keyword(null,"height","height",1025178622),"24px",new cljs.core.Keyword(null,"css","css",
1135045163),new cljs.core.PersistentArrayMap(null,4,[new cljs.core.Keyword(null,"vertical-align","vertical-align",651007333),"bottom",new cljs.core.Keyword(null,"position","position",-2011731912),"absolute",new cljs.core.Keyword(null,"right","right",-452581833),"3px",new cljs.core.Keyword(null,"bottom","bottom",-1550509018),"0"],null))}).call(null,weathergen.ui.computing))};
weathergen.ui.control_layout=function(a){var b=function(){var a=function(a){return cljs.core.apply.call(null,hoplon.core.div,new cljs.core.Keyword(null,"class","class",-2030961996),"field",a)},b=function(b){var c=null;if(0<arguments.length){c=0;for(var d=Array(arguments.length-0);c<d.length;)d[c]=arguments[c+0],++c;c=new cljs.core.IndexedSeq(d,0,null)}return a.call(this,c)};b.cljs$lang$maxFixedArity=0;b.cljs$lang$applyTo=function(b){b=cljs.core.seq(b);return a(b)};b.cljs$core$IFn$_invoke$arity$variadic=
a;return b}(),c=function(a){return function(){var a=function(a){return cljs.core.apply.call(null,hoplon.core.div,new cljs.core.Keyword(null,"class","class",-2030961996),"field-elem field-help",a)},b=function(b){var c=null;if(0<arguments.length){c=0;for(var d=Array(arguments.length-0);c<d.length;)d[c]=arguments[c+0],++c;c=new cljs.core.IndexedSeq(d,0,null)}return a.call(this,c)};b.cljs$lang$maxFixedArity=0;b.cljs$lang$applyTo=function(b){b=cljs.core.seq(b);return a(b)};b.cljs$core$IFn$_invoke$arity$variadic=
a;return b}()}(b),d=function(a,b){return function(){var a=function(a){return cljs.core.apply.call(null,hoplon.core.div,new cljs.core.Keyword(null,"class","class",-2030961996),"field-elem field-input",a)},b=function(b){var c=null;if(0<arguments.length){c=0;for(var d=Array(arguments.length-0);c<d.length;)d[c]=arguments[c+0],++c;c=new cljs.core.IndexedSeq(d,0,null)}return a.call(this,c)};b.cljs$lang$maxFixedArity=0;b.cljs$lang$applyTo=function(b){b=cljs.core.seq(b);return a(b)};b.cljs$core$IFn$_invoke$arity$variadic=
a;return b}()}(b,c),e=function(a,b,c){return function(){var a=function(a){return cljs.core.apply.call(null,hoplon.core.div,new cljs.core.Keyword(null,"class","class",-2030961996),"field-elem field-label",a)},b=function(b){var c=null;if(0<arguments.length){c=0;for(var d=Array(arguments.length-0);c<d.length;)d[c]=arguments[c+0],++c;c=new cljs.core.IndexedSeq(d,0,null)}return a.call(this,c)};b.cljs$lang$maxFixedArity=0;b.cljs$lang$applyTo=function(b){b=cljs.core.seq(b);return a(b)};b.cljs$core$IFn$_invoke$arity$variadic=
a;return b}()}(b,c,d);return function(a,b,c,d){return function n(e){return new cljs.core.LazySeq(null,function(a,b,c,d){return function(){for(;;){var b=cljs.core.seq.call(null,e);if(b){if(cljs.core.chunked_seq_QMARK_.call(null,b)){var f=cljs.core.chunk_first.call(null,b),g=cljs.core.count.call(null,f),h=cljs.core.chunk_buffer.call(null,g);return function(){for(var b=0;;)if(b<g){var e=cljs.core._nth.call(null,f,b),k=cljs.core.nth.call(null,e,0,null),m=cljs.core.nth.call(null,e,1,null);e=cljs.core.nth.call(null,
e,2,null);e=null!=e&&(e.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===e.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,e):e;var n=cljs.core.get.call(null,e,new cljs.core.Keyword(null,"extra","extra",1612569067)),p=cljs.core.get.call(null,e,new cljs.core.Keyword(null,"type","type",1174270348)),q=cljs.core.get.call(null,e,new cljs.core.Keyword(null,"help-base","help-base",-1618186240)),r=cljs.core.get.call(null,e,new cljs.core.Keyword(null,"help-path","help-path",
840478713)),t=cljs.core.get.call(null,e,new cljs.core.Keyword(null,"cell","cell",764245084)),u=cljs.core.get.call(null,e,new cljs.core.Keyword(null,"ui","ui",-469653645)),v=function(){var a=t;return cljs.core.truth_(a)?a:weathergen.ui.weather_params}();cljs.core.chunk_append.call(null,h,a.call(null,d.call(null,weathergen.help.with_help.call(null,cljs.core.into.call(null,new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[function(){var a=q;return cljs.core.truth_(a)?a:new cljs.core.Keyword(null,
"weather-params","weather-params",-259271365)}()],null),function(){var a=r;return cljs.core.truth_(a)?a:m}()),k)),c.call(null,function(){var a=u;return cljs.core.truth_(a)?a:cljs.core._EQ_.call(null,new cljs.core.Keyword(null,"pressure","pressure",505343747),p)?weathergen.ui.pressure_edit_field.call(null,v,m,weathergen.ui.pressure_unit):weathergen.ui.edit_field.call(null,v,m)}(),function(){var a=n;return cljs.core.truth_(a)?a:cljs.core.PersistentVector.EMPTY}())));b+=1}else return!0}()?cljs.core.chunk_cons.call(null,
cljs.core.chunk.call(null,h),n.call(null,cljs.core.chunk_rest.call(null,b))):cljs.core.chunk_cons.call(null,cljs.core.chunk.call(null,h),null)}var k=cljs.core.first.call(null,b),m=cljs.core.nth.call(null,k,0,null),p=cljs.core.nth.call(null,k,1,null);k=cljs.core.nth.call(null,k,2,null);k=null!=k&&(k.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===k.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,k):k;var q=cljs.core.get.call(null,k,new cljs.core.Keyword(null,"extra",
"extra",1612569067)),r=cljs.core.get.call(null,k,new cljs.core.Keyword(null,"type","type",1174270348)),u=cljs.core.get.call(null,k,new cljs.core.Keyword(null,"help-base","help-base",-1618186240)),F=cljs.core.get.call(null,k,new cljs.core.Keyword(null,"help-path","help-path",840478713)),E=cljs.core.get.call(null,k,new cljs.core.Keyword(null,"cell","cell",764245084)),G=cljs.core.get.call(null,k,new cljs.core.Keyword(null,"ui","ui",-469653645)),J=function(){var a=E;return cljs.core.truth_(a)?a:weathergen.ui.weather_params}();
return cljs.core.cons.call(null,a.call(null,d.call(null,weathergen.help.with_help.call(null,cljs.core.into.call(null,new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[function(){var a=u;return cljs.core.truth_(a)?a:new cljs.core.Keyword(null,"weather-params","weather-params",-259271365)}()],null),function(){var a=F;return cljs.core.truth_(a)?a:p}()),m)),c.call(null,function(){var a=G;return cljs.core.truth_(a)?a:cljs.core._EQ_.call(null,new cljs.core.Keyword(null,"pressure",
"pressure",505343747),r)?weathergen.ui.pressure_edit_field.call(null,J,p,weathergen.ui.pressure_unit):weathergen.ui.edit_field.call(null,J,p)}(),function(){var a=q;return cljs.core.truth_(a)?a:cljs.core.PersistentVector.EMPTY}())),n.call(null,cljs.core.rest.call(null,b)))}return null}}}(a,b,c,d),null,null)}}(b,c,d,e).call(null,a)};
weathergen.ui.weather_display_controls=function(a){var b=null!=a&&(a.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===a.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,a):a,c=cljs.core.get.call(null,b,new cljs.core.Keyword(null,"prevent-map-change?","prevent-map-change?",1926330460)),d=cljs.core.get.call(null,b,new cljs.core.Keyword(null,"title","title",636505583)),e=function(a,b,c,d){return function(){var a=function(a){return cljs.core.apply.call(null,hoplon.core.div,
new cljs.core.Keyword(null,"class","class",-2030961996),"field",a)},b=function(b){var c=null;if(0<arguments.length){c=0;for(var d=Array(arguments.length-0);c<d.length;)d[c]=arguments[c+0],++c;c=new cljs.core.IndexedSeq(d,0,null)}return a.call(this,c)};b.cljs$lang$maxFixedArity=0;b.cljs$lang$applyTo=function(b){b=cljs.core.seq(b);return a(b)};b.cljs$core$IFn$_invoke$arity$variadic=a;return b}()}(a,b,c,d),f=function(a,b,c,d,e){return function(){var a=function(a){return cljs.core.apply.call(null,hoplon.core.div,
new cljs.core.Keyword(null,"class","class",-2030961996),"field-elem field-help",a)},b=function(b){var c=null;if(0<arguments.length){c=0;for(var d=Array(arguments.length-0);c<d.length;)d[c]=arguments[c+0],++c;c=new cljs.core.IndexedSeq(d,0,null)}return a.call(this,c)};b.cljs$lang$maxFixedArity=0;b.cljs$lang$applyTo=function(b){b=cljs.core.seq(b);return a(b)};b.cljs$core$IFn$_invoke$arity$variadic=a;return b}()}(e,a,b,c,d),g=function(a,b,c,d,e,f){return function(){var a=function(a){return cljs.core.apply.call(null,
hoplon.core.div,new cljs.core.Keyword(null,"class","class",-2030961996),"field-elem field-input",a)},b=function(b){var c=null;if(0<arguments.length){c=0;for(var d=Array(arguments.length-0);c<d.length;)d[c]=arguments[c+0],++c;c=new cljs.core.IndexedSeq(d,0,null)}return a.call(this,c)};b.cljs$lang$maxFixedArity=0;b.cljs$lang$applyTo=function(b){b=cljs.core.seq(b);return a(b)};b.cljs$core$IFn$_invoke$arity$variadic=a;return b}()}(e,f,a,b,c,d),h=function(a,b,c,d,e,f,g){return function(){var a=function(a,
b){return weathergen.help.with_help.call(null,a,cljs.core.apply.call(null,hoplon.core.div,new cljs.core.Keyword(null,"class","class",-2030961996),"field-elem field-label",b))},b=function(b,c){var d=null;if(1<arguments.length){d=0;for(var e=Array(arguments.length-1);d<e.length;)e[d]=arguments[d+1],++d;d=new cljs.core.IndexedSeq(e,0,null)}return a.call(this,b,d)};b.cljs$lang$maxFixedArity=1;b.cljs$lang$applyTo=function(b){var c=cljs.core.first(b);b=cljs.core.rest(b);return a(c,b)};b.cljs$core$IFn$_invoke$arity$variadic=
a;return b}()}(e,f,g,a,b,c,d);return weathergen.ui.common.control_section.call(null,new cljs.core.Keyword(null,"title","title",636505583),cljs.core.truth_(d)?d:"Display Options",new cljs.core.Keyword(null,"id","id",-1388402092),"weather-display-controls-section",weathergen.ui.control_layout.call(null,function(){var k=new cljs.core.PersistentArrayMap(null,2,[new cljs.core.Keyword(null,"cell","cell",764245084),weathergen.ui.display_params,new cljs.core.Keyword(null,"help-base","help-base",-1618186240),
new cljs.core.Keyword(null,"weather-display-controls","weather-display-controls",941597221)],null);return new cljs.core.PersistentVector(null,4,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,["Display",new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"display","display",242065432)],null),cljs.core.merge.call(null,k,new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,
"ui","ui",-469653645),weathergen.ui.common.dropdown.call(null,new cljs.core.Keyword(null,"value","value",305978217),weathergen.ui.common.path_lens.call(null,weathergen.ui.display_params,new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"display","display",242065432)],null)),new cljs.core.Keyword(null,"choices","choices",1385611597),new cljs.core.PersistentVector(null,4,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.PersistentArrayMap(null,
1,[new cljs.core.Keyword(null,"label","label",1718410804),"None"],null),new cljs.core.PersistentArrayMap(null,2,[new cljs.core.Keyword(null,"label","label",1718410804),"Weather Type",new cljs.core.Keyword(null,"value","value",305978217),new cljs.core.Keyword(null,"type","type",1174270348)],null),new cljs.core.PersistentArrayMap(null,2,[new cljs.core.Keyword(null,"label","label",1718410804),"Pressure",new cljs.core.Keyword(null,"value","value",305978217),new cljs.core.Keyword(null,"pressure","pressure",
505343747)],null),new cljs.core.PersistentArrayMap(null,2,[new cljs.core.Keyword(null,"label","label",1718410804),"Temperature",new cljs.core.Keyword(null,"value","value",305978217),new cljs.core.Keyword(null,"temperature","temperature",899018429)],null)],null))],null))],null),new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,["Overlay",new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"overlay","overlay",-139131598)],
null),cljs.core.merge.call(null,k,new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"ui","ui",-469653645),function(){var l=javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,k){return function(a,b){return a.call(null,(new cljs.core.Keyword(null,"overlay","overlay",-139131598)).cljs$core$IFn$_invoke$arity$1(b),new cljs.core.Keyword(null,"wind","wind",-527553074))}}(k,e,f,g,h,a,b,c,d)).call(null,cljs.core._EQ_,weathergen.ui.display_params);return hoplon.core.div.call(null,new cljs.core.Keyword(null,
"css","css",1135045163),javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,k,l){return function(a){return cljs.core.truth_(a)?new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"width","width",-384071477),weathergen.ui.common.pct.call(null,250)],null):null}}(l,k,e,f,g,h,a,b,c,d)).call(null,l),weathergen.ui.common.dropdown.call(null,new cljs.core.Keyword(null,"css","css",1135045163),javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,k,l){return function(a){return cljs.core.truth_(a)?
new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"width","width",-384071477),weathergen.ui.common.pct.call(null,40)],null):null}}(l,k,e,f,g,h,a,b,c,d)).call(null,l),new cljs.core.Keyword(null,"value","value",305978217),weathergen.ui.common.path_lens.call(null,weathergen.ui.display_params,new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"overlay","overlay",-139131598)],null)),new cljs.core.Keyword(null,"choices","choices",
1385611597),new cljs.core.PersistentVector(null,9,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"label","label",1718410804),"None"],null),new cljs.core.PersistentArrayMap(null,2,[new cljs.core.Keyword(null,"label","label",1718410804),"Wind",new cljs.core.Keyword(null,"value","value",305978217),new cljs.core.Keyword(null,"wind","wind",-527553074)],null),new cljs.core.PersistentArrayMap(null,2,[new cljs.core.Keyword(null,"label","label",
1718410804),"Cloud Cover",new cljs.core.Keyword(null,"value","value",305978217),new cljs.core.Keyword(null,"cloud-cover","cloud-cover",1830614752)],null),new cljs.core.PersistentArrayMap(null,2,[new cljs.core.Keyword(null,"label","label",1718410804),"Pressure",new cljs.core.Keyword(null,"value","value",305978217),new cljs.core.Keyword(null,"pressure","pressure",505343747)],null),new cljs.core.PersistentArrayMap(null,2,[new cljs.core.Keyword(null,"label","label",1718410804),"Temperature",new cljs.core.Keyword(null,
"value","value",305978217),new cljs.core.Keyword(null,"temperature","temperature",899018429)],null),new cljs.core.PersistentArrayMap(null,2,[new cljs.core.Keyword(null,"label","label",1718410804),"Weather Type",new cljs.core.Keyword(null,"value","value",305978217),new cljs.core.Keyword(null,"type","type",1174270348)],null),new cljs.core.PersistentArrayMap(null,2,[new cljs.core.Keyword(null,"label","label",1718410804),"Cloud Base",new cljs.core.Keyword(null,"value","value",305978217),new cljs.core.Keyword(null,
"cloud-base","cloud-base",826793857)],null),new cljs.core.PersistentArrayMap(null,2,[new cljs.core.Keyword(null,"label","label",1718410804),"Cloud Size",new cljs.core.Keyword(null,"value","value",305978217),new cljs.core.Keyword(null,"cloud-size","cloud-size",-1568256381)],null),new cljs.core.PersistentArrayMap(null,2,[new cljs.core.Keyword(null,"label","label",1718410804),"Visibility",new cljs.core.Keyword(null,"value","value",305978217),new cljs.core.Keyword(null,"visibility","visibility",1338380893)],
null)],null)),function(){var m=new cljs.core.Delay(function(a,b,c,d,e,f,g,h,k,l){return function(){return new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[hoplon.core.span.call(null,new cljs.core.Keyword(null,"css","css",1135045163),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"margin","margin",-995903681),weathergen.ui.common.px.call(null,0,7)],null),"at alt"),weathergen.ui.wind_alt_selector.call(null,new cljs.core.Keyword(null,"css","css",1135045163),
javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,k,l){return function(a){return cljs.core.truth_(a)?new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"width","width",-384071477),weathergen.ui.common.pct.call(null,40)],null):null}}(a,b,c,d,e,f,g,h,k,l)).call(null,a))],null)}}(l,k,e,f,g,h,a,b,c,d),null),n=new cljs.core.Delay(function(a,b,c,d,e,f,g,h,k,l,m){return function(){return null}}(m,l,k,e,f,g,h,a,b,c,d),null);m=function(a,b,c,d,e,f,g,h,k,l,m,n){return function(c){return cljs.core.deref.call(null,
function(){var d=cljs.core.truth_(c)?a:b;return cljs.core.truth_(d)?d:cljs.core.atom.call(null,null)}())}}(m,n,l,k,e,f,g,h,a,b,c,d);return javelin.core.formula.call(null,m).call(null,l)}())}()],null))],null),new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,["Pressure",new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"pressure","pressure",505343747)],null),cljs.core.merge.call(null,k,new cljs.core.PersistentArrayMap(null,
1,[new cljs.core.Keyword(null,"ui","ui",-469653645),weathergen.ui.common.dropdown.call(null,new cljs.core.Keyword(null,"value","value",305978217),weathergen.ui.common.path_lens.call(null,weathergen.ui.display_params,new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"pressure-unit","pressure-unit",1615584243)],null)),new cljs.core.Keyword(null,"choices","choices",1385611597),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,
[new cljs.core.PersistentArrayMap(null,2,[new cljs.core.Keyword(null,"label","label",1718410804),"InHg",new cljs.core.Keyword(null,"value","value",305978217),new cljs.core.Keyword(null,"inhg","inhg",-863180091)],null),new cljs.core.PersistentArrayMap(null,2,[new cljs.core.Keyword(null,"label","label",1718410804),"Millibar",new cljs.core.Keyword(null,"value","value",305978217),new cljs.core.Keyword(null,"mbar","mbar",-1396360988)],null)],null))],null))],null),new cljs.core.PersistentVector(null,3,
5,cljs.core.PersistentVector.EMPTY_NODE,["Opacity:",new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"opacity","opacity",397153780)],null),cljs.core.merge.call(null,k,new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"ui","ui",-469653645),hoplon.core.input.call(null,new cljs.core.PersistentArrayMap(null,5,[new cljs.core.Keyword(null,"type","type",1174270348),"range",new cljs.core.Keyword(null,"min","min",444991522),0,new cljs.core.Keyword(null,
"max","max",61366548),100,new cljs.core.Keyword(null,"value","value",305978217),javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,k){return function(a,b){return a.call(null,100*(new cljs.core.Keyword(null,"opacity","opacity",397153780)).cljs$core$IFn$_invoke$arity$1(b))}}(k,e,f,g,h,a,b,c,d)).call(null,cljs.core.long$,weathergen.ui.display_params),new cljs.core.Keyword(null,"input","input",556931961),function(a,b,c,d,e,f,g,h,k){return function(a){return cljs.core.swap_BANG_.call(null,weathergen.ui.display_params,
cljs.core.assoc,new cljs.core.Keyword(null,"opacity","opacity",397153780),cljs.core.deref.call(null,a)/100)}}(k,e,f,g,h,a,b,c,d)],null))],null))],null)],null)}()))};
weathergen.ui.weather_parameters=function(a){return weathergen.ui.common.control_section.call(null,new cljs.core.Keyword(null,"title","title",636505583),"Weather parameters",new cljs.core.Keyword(null,"id","id",-1388402092),"weather-params-section",new cljs.core.Keyword(null,"toggle","toggle",1291842030),javelin.core.formula.call(null,function(a,c){return a.call(null,c,new cljs.core.Keyword(null,"edit","edit",-1641834166))}).call(null,cljs.core._EQ_,weathergen.ui.display_mode),weathergen.ui.control_layout.call(null,
new cljs.core.PersistentVector(null,7,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,["Seed",new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"seed","seed",68613327)],null),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"ui","ui",-469653645),hoplon.core.div.call(null,new cljs.core.Keyword(null,"css","css",1135045163),new cljs.core.PersistentArrayMap(null,
1,[new cljs.core.Keyword(null,"white-space","white-space",-707351930),"nowrap"],null),weathergen.ui.edit_field.call(null,weathergen.ui.weather_params,new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"seed","seed",68613327)],null)),weathergen.ui.buttons.a_button.call(null,new cljs.core.Keyword(null,"css","css",1135045163),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"width","width",-384071477),"75px"],null),new cljs.core.Keyword(null,
"click","click",1912301393),function(){return cljs.core.swap_BANG_.call(null,weathergen.ui.weather_params,cljs.core.assoc,new cljs.core.Keyword(null,"seed","seed",68613327),cljs.core.rand_int.call(null,5E3)+100)},"Random"))],null)],null),new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,["Min pressure",new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"pressure","pressure",505343747),new cljs.core.Keyword(null,"min",
"min",444991522)],null),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"type","type",1174270348),new cljs.core.Keyword(null,"pressure","pressure",505343747)],null)],null),new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,["Max pressure",new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"pressure","pressure",505343747),new cljs.core.Keyword(null,"max","max",61366548)],null),new cljs.core.PersistentArrayMap(null,
1,[new cljs.core.Keyword(null,"type","type",1174270348),new cljs.core.Keyword(null,"pressure","pressure",505343747)],null)],null),new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,["Pressure variation",new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"pressure","pressure",505343747),new cljs.core.Keyword(null,"variance","variance",1132010827)],null),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,
"type","type",1174270348),new cljs.core.Keyword(null,"pressure","pressure",505343747)],null)],null),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,["Prevailing wind",new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"prevailing-wind","prevailing-wind",-190580386),new cljs.core.Keyword(null,"heading","heading",-1312171873)],null)],null),new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,
["Weather heading",new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"direction","direction",-633359395),new cljs.core.Keyword(null,"heading","heading",-1312171873)],null),new cljs.core.PersistentArrayMap(null,2,[new cljs.core.Keyword(null,"cell","cell",764245084),weathergen.ui.movement_params,new cljs.core.Keyword(null,"help-base","help-base",-1618186240),new cljs.core.Keyword(null,"movement-params","movement-params",293385966)],null)],null),
new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,["Weather speed",new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"direction","direction",-633359395),new cljs.core.Keyword(null,"speed","speed",1257663751)],null),new cljs.core.PersistentArrayMap(null,2,[new cljs.core.Keyword(null,"cell","cell",764245084),weathergen.ui.movement_params,new cljs.core.Keyword(null,"help-base","help-base",-1618186240),new cljs.core.Keyword(null,
"movement-params","movement-params",293385966)],null)],null)],null)))};
weathergen.ui.weather_override_parameters=function(a){return weathergen.ui.common.control_section.call(null,new cljs.core.Keyword(null,"title","title",636505583),weathergen.help.with_help.call(null,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"weather-overrides","weather-overrides",-837381710),new cljs.core.Keyword(null,"overview","overview",-435037267)],null),"Weather override regions"),new cljs.core.Keyword(null,"id","id",-1388402092),
"weather-override-params-section",new cljs.core.Keyword(null,"toggle","toggle",1291842030),javelin.core.formula.call(null,function(a,c){return a.call(null,c,new cljs.core.Keyword(null,"edit","edit",-1641834166))}).call(null,cljs.core._EQ_,weathergen.ui.display_mode),function(){var a=javelin.core.formula.call(null,function(a){return cljs.core.map_indexed.call(null,cljs.core.vector,(new cljs.core.Keyword(null,"weather-overrides","weather-overrides",-837381710)).cljs$core$IFn$_invoke$arity$1(a))}).call(null,
weathergen.ui.weather_params);return hoplon.core.div.call(null,new cljs.core.Keyword(null,"class","class",-2030961996),"weather-override-boxes",hoplon.core.loop_tpl_STAR_.call(null,a,function(a){return function(b){var c=javelin.core.cell_map.call(null,cljs.core.identity,javelin.core.formula.call(null,function(a){return function(a){var b=cljs.core.nth.call(null,a,0,null);a=cljs.core.nth.call(null,a,1,null);return new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[a,b],null)}}(a)).call(null,
b)),d=cljs.core.nth.call(null,c,0,null),g=cljs.core.nth.call(null,c,1,null),h=function(a,b,c,d){return function(e,f,g){var h=null!=g&&(g.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===g.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,g):g,k=cljs.core.get.call(null,h,new cljs.core.Keyword(null,"change","change",-1163046502)),l=cljs.core.get.call(null,h,new cljs.core.Keyword(null,"row-attrs","row-attrs",2139633863));return hoplon.core.tr.call(null,cljs.core.truth_(l)?
l:cljs.core.PersistentVector.EMPTY,hoplon.core.td.call(null,new cljs.core.Keyword(null,"colspan","colspan",-1512420934),2,hoplon.core.input.call(null,new cljs.core.Keyword(null,"css","css",1135045163),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"width","width",-384071477),"25px"],null),new cljs.core.Keyword(null,"type","type",1174270348),"checkbox",new cljs.core.Keyword(null,"value","value",305978217),javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h){return function(a,
b){return b.call(null,a)}}(g,h,k,l,a,b,c,d)).call(null,b,f),new cljs.core.Keyword(null,"change","change",-1163046502),function(){return cljs.core.truth_(k)?k:function(a,b,c,d,e,g,h,k,l){return function(a){return cljs.core.swap_BANG_.call(null,weathergen.ui.weather_params,cljs.core.update_in,new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"weather-overrides","weather-overrides",-837381710),cljs.core.deref.call(null,k),f],null),cljs.core.not)}}(k,
g,h,k,l,a,b,c,d)}()),weathergen.help.with_help.call(null,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"weather-overrides","weather-overrides",-837381710),f],null),hoplon.core.label.call(null,e))))}}(c,d,g,a);return hoplon.core.div.call(null,new cljs.core.Keyword(null,"class","class",-2030961996),"weather-overrides",hoplon.core.table.call(null,new cljs.core.Keyword(null,"id","id",-1388402092),"weather-override-params",hoplon.core.tbody.call(null,
hoplon.core.tr.call(null,hoplon.core.td.call(null,new cljs.core.Keyword(null,"class","class",-2030961996),"override-label",weathergen.help.with_help.call(null,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"weather-overrides","weather-overrides",-837381710),new cljs.core.Keyword(null,"center","center",-748944368)],null),"Center X/Y")),hoplon.core.td.call(null,weathergen.ui.edit_field.call(null,weathergen.ui.weather_params,new cljs.core.PersistentVector(null,
4,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"weather-overrides","weather-overrides",-837381710),cljs.core.deref.call(null,g),new cljs.core.Keyword(null,"location","location",1815599388),new cljs.core.Keyword(null,"x","x",2099068185)],null),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"input-attrs","input-attrs",-38113667),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"css","css",1135045163),new cljs.core.PersistentArrayMap(null,
1,[new cljs.core.Keyword(null,"margin-right","margin-right",809689658),"3px"],null)],null)],null)),weathergen.ui.edit_field.call(null,weathergen.ui.weather_params,new cljs.core.PersistentVector(null,4,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"weather-overrides","weather-overrides",-837381710),cljs.core.deref.call(null,g),new cljs.core.Keyword(null,"location","location",1815599388),new cljs.core.Keyword(null,"y","y",-1757859776)],null)))),hoplon.core.tr.call(null,hoplon.core.td.call(null,
new cljs.core.Keyword(null,"class","class",-2030961996),"override-label",weathergen.help.with_help.call(null,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"weather-overrides","weather-overrides",-837381710),new cljs.core.Keyword(null,"radius","radius",-2073122258)],null),"Radius")),hoplon.core.td.call(null,weathergen.ui.edit_field.call(null,weathergen.ui.weather_params,new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,
[new cljs.core.Keyword(null,"weather-overrides","weather-overrides",-837381710),cljs.core.deref.call(null,g),new cljs.core.Keyword(null,"radius","radius",-2073122258)],null)))),hoplon.core.tr.call(null,hoplon.core.td.call(null,new cljs.core.Keyword(null,"class","class",-2030961996),"override-label",weathergen.help.with_help.call(null,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"weather-overrides","weather-overrides",-837381710),new cljs.core.Keyword(null,
"falloff","falloff",-1639069456)],null),"Falloff")),hoplon.core.td.call(null,weathergen.ui.edit_field.call(null,weathergen.ui.weather_params,new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"weather-overrides","weather-overrides",-837381710),cljs.core.deref.call(null,g),new cljs.core.Keyword(null,"falloff","falloff",-1639069456)],null)))),hoplon.core.tr.call(null,hoplon.core.td.call(null,new cljs.core.Keyword(null,"class","class",-2030961996),
"override-label",weathergen.help.with_help.call(null,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"weather-overrides","weather-overrides",-837381710),new cljs.core.Keyword(null,"strength","strength",-415606478)],null),"Strength")),hoplon.core.td.call(null,weathergen.ui.edit_field.call(null,weathergen.ui.weather_params,new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"weather-overrides",
"weather-overrides",-837381710),cljs.core.deref.call(null,g),new cljs.core.Keyword(null,"strength","strength",-415606478)],null)))))),function(){var b=function(a,b,c,d,e){return function(f,g,h,k){var l=javelin.core.cell.call(null,null),m=weathergen.ui.common.path_lens.call(null,weathergen.ui.weather_params,new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"weather-overrides","weather-overrides",-837381710),cljs.core.deref.call(null,d),g],null)),
n=k.call(null,m);return hoplon.core.tr.call(null,hoplon.core.td.call(null,weathergen.ui.common.checkbox.call(null,new cljs.core.Keyword(null,"value","value",305978217),javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h){return function(a){return cljs.core.not.call(null,null==a)}}(l,m,n,a,b,c,d,e)).call(null,m),new cljs.core.Keyword(null,"change","change",-1163046502),function(a,b,c,d,e,g,k,l){return function(m){console.debug("change",f);return javelin.core.dosync_STAR_.call(null,function(a,b,
c,d,e,f,g,k){return function(){cljs.core.truth_(m)||cljs.core.reset_BANG_.call(null,a,cljs.core.deref.call(null,b));return cljs.core.reset_BANG_.call(null,b,cljs.core.truth_(m)?function(){var b=cljs.core.deref.call(null,a);return cljs.core.truth_(b)?b:h}():null)}}(a,b,c,d,e,g,k,l))}}(l,m,n,a,b,c,d,e))),hoplon.core.td.call(null,["Override ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(f),"?"].join("")),hoplon.core.td.call(null,function(){var f=new cljs.core.Delay(function(a,b,c,d,e,f,g,h){return function(){return c}}(l,
m,n,a,b,c,d,e),null),g=new cljs.core.Delay(function(a,b,c,d,e,f,g,h,k){return function(){return null}}(f,l,m,n,a,b,c,d,e),null),h=function(a,b,c,d,e,f,g,h,k,l){return function(c){return cljs.core.deref.call(null,function(){var d=cljs.core.truth_(c)?a:b;return cljs.core.truth_(d)?d:cljs.core.atom.call(null,null)}())}}(f,g,l,m,n,a,b,c,d,e);return javelin.core.formula.call(null,h).call(null,javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,k,l,m){return function(a){return cljs.core.not.call(null,
null==a)}}(f,g,h,l,m,n,a,b,c,d,e)).call(null,m))}()))}}(h,c,d,g,a);return hoplon.core.fieldset.call(null,hoplon.core.legend.call(null,"Weather Attributes"),hoplon.core.table.call(null,hoplon.core.tbody.call(null,b.call(null,"type",new cljs.core.Keyword(null,"type","type",1174270348),new cljs.core.Keyword(null,"inclement","inclement",-550669382),function(a,b,c,d,e,f){return function(a){return weathergen.ui.common.dropdown.call(null,new cljs.core.Keyword(null,"value","value",305978217),a,new cljs.core.Keyword(null,
"choices","choices",1385611597),new cljs.core.PersistentVector(null,4,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.PersistentArrayMap(null,2,[new cljs.core.Keyword(null,"label","label",1718410804),"Sunny",new cljs.core.Keyword(null,"value","value",305978217),new cljs.core.Keyword(null,"sunny","sunny",1448267778)],null),new cljs.core.PersistentArrayMap(null,2,[new cljs.core.Keyword(null,"label","label",1718410804),"Fair",new cljs.core.Keyword(null,"value","value",305978217),new cljs.core.Keyword(null,
"fair","fair",1684139423)],null),new cljs.core.PersistentArrayMap(null,2,[new cljs.core.Keyword(null,"label","label",1718410804),"Poor",new cljs.core.Keyword(null,"value","value",305978217),new cljs.core.Keyword(null,"poor","poor",1462482211)],null),new cljs.core.PersistentArrayMap(null,2,[new cljs.core.Keyword(null,"label","label",1718410804),"Inclement",new cljs.core.Keyword(null,"value","value",305978217),new cljs.core.Keyword(null,"inclement","inclement",-550669382)],null)],null))}}(b,h,c,d,g,
a)),b.call(null,"temperature",new cljs.core.Keyword(null,"temperature","temperature",899018429),22,function(a,b,c,d,e,f){return function(a){return weathergen.ui.common.validating_edit.call(null,new cljs.core.Keyword(null,"source","source",-433931539),a,new cljs.core.Keyword(null,"conform","conform",1846236460),weathergen.ui.common.int_conformer.call(null,-50,50),new cljs.core.Keyword(null,"placeholder","placeholder",-104873083),"°C (ft)",new cljs.core.Keyword(null,"align","align",1964212802),"right",
new cljs.core.Keyword(null,"width","width",-384071477),55)}}(b,h,c,d,g,a)),b.call(null,"visibility",new cljs.core.Keyword(null,"visibility","visibility",1338380893),10,function(a,b,c,d,e,f){return function(a){return weathergen.ui.common.validating_edit.call(null,new cljs.core.Keyword(null,"source","source",-433931539),a,new cljs.core.Keyword(null,"conform","conform",1846236460),weathergen.ui.common.float_conformer.call(null,0,60),new cljs.core.Keyword(null,"fmt","fmt",332300772),weathergen.ui.format_visibility,
new cljs.core.Keyword(null,"placeholder","placeholder",-104873083),"km",new cljs.core.Keyword(null,"align","align",1964212802),"right",new cljs.core.Keyword(null,"width","width",-384071477),55)}}(b,h,c,d,g,a)),b.call(null,"cloud cover",new cljs.core.Keyword(null,"cloud-cover","cloud-cover",1830614752),new cljs.core.Keyword(null,"overcast","overcast",-2096313755),function(a,b,c,d,e,f){return function(a){return weathergen.ui.common.dropdown.call(null,new cljs.core.Keyword(null,"value","value",305978217),
a,new cljs.core.Keyword(null,"choices","choices",1385611597),new cljs.core.PersistentVector(null,4,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.PersistentArrayMap(null,2,[new cljs.core.Keyword(null,"label","label",1718410804),"Few",new cljs.core.Keyword(null,"value","value",305978217),new cljs.core.Keyword(null,"few","few",941665998)],null),new cljs.core.PersistentArrayMap(null,2,[new cljs.core.Keyword(null,"label","label",1718410804),"Scattered",new cljs.core.Keyword(null,"value","value",
305978217),new cljs.core.Keyword(null,"scattered","scattered",-1263632526)],null),new cljs.core.PersistentArrayMap(null,2,[new cljs.core.Keyword(null,"label","label",1718410804),"Broken",new cljs.core.Keyword(null,"value","value",305978217),new cljs.core.Keyword(null,"broken","broken",-1742446874)],null),new cljs.core.PersistentArrayMap(null,2,[new cljs.core.Keyword(null,"label","label",1718410804),"Overcast",new cljs.core.Keyword(null,"value","value",305978217),new cljs.core.Keyword(null,"overcast",
"overcast",-2096313755)],null)],null))}}(b,h,c,d,g,a))),b.call(null,"cloud base",new cljs.core.Keyword(null,"cloud-base","cloud-base",826793857),5E3,function(a,b,c,d,e,f){return function(a){return weathergen.ui.common.validating_edit.call(null,new cljs.core.Keyword(null,"source","source",-433931539),a,new cljs.core.Keyword(null,"conform","conform",1846236460),weathergen.ui.common.int_conformer.call(null,0,1E4),new cljs.core.Keyword(null,"placeholder","placeholder",-104873083),"altitude (ft)",new cljs.core.Keyword(null,
"align","align",1964212802),"right",new cljs.core.Keyword(null,"width","width",-384071477),55)}}(b,h,c,d,g,a)),b.call(null,"cloud size",new cljs.core.Keyword(null,"cloud-size","cloud-size",-1568256381),1,function(a,b,c,d,e,f){return function(g){return weathergen.ui.common.validating_edit.call(null,new cljs.core.Keyword(null,"source","source",-433931539),g,new cljs.core.Keyword(null,"fmt","fmt",332300772),function(a,b,c,d,e,f){return function(a){return cljs.core.truth_(a)?a.toFixed(2):""}}(a,b,c,d,
e,f),new cljs.core.Keyword(null,"conform","conform",1846236460),weathergen.ui.common.float_conformer.call(null,0,5),new cljs.core.Keyword(null,"placeholder","placeholder",-104873083),"0-5",new cljs.core.Keyword(null,"align","align",1964212802),"right",new cljs.core.Keyword(null,"width","width",-384071477),55)}}(b,h,c,d,g,a)),b.call(null,"cloud towering",new cljs.core.Keyword(null,"towering?","towering?",2005070836),!0,function(a,b,c,d,e,f){return function(a){return weathergen.ui.common.dropdown.call(null,
new cljs.core.Keyword(null,"value","value",305978217),a,new cljs.core.Keyword(null,"choices","choices",1385611597),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.PersistentArrayMap(null,2,[new cljs.core.Keyword(null,"label","label",1718410804),"Towering",new cljs.core.Keyword(null,"value","value",305978217),!0],null),new cljs.core.PersistentArrayMap(null,2,[new cljs.core.Keyword(null,"label","label",1718410804),"Not towering",new cljs.core.Keyword(null,
"value","value",305978217),!1],null)],null))}}(b,h,c,d,g,a)),b.call(null,"wind direction",new cljs.core.Keyword(null,"wind-dir","wind-dir",-432221184),90,function(a,b,c,d,e,f){return function(a){return weathergen.ui.common.validating_edit.call(null,new cljs.core.Keyword(null,"source","source",-433931539),a,new cljs.core.Keyword(null,"conform","conform",1846236460),weathergen.ui.common.int_conformer.call(null,0,359),new cljs.core.Keyword(null,"placeholder","placeholder",-104873083),"90",new cljs.core.Keyword(null,
"align","align",1964212802),"right",new cljs.core.Keyword(null,"width","width",-384071477),45)}}(b,h,c,d,g,a)),b.call(null,"wind speed",new cljs.core.Keyword(null,"wind-speed","wind-speed",-815617496),5,function(a,b,c,d,e,f){return function(a){return weathergen.ui.common.validating_edit.call(null,new cljs.core.Keyword(null,"source","source",-433931539),a,new cljs.core.Keyword(null,"conform","conform",1846236460),weathergen.ui.common.int_conformer.call(null,0,200),new cljs.core.Keyword(null,"placeholder",
"placeholder",-104873083),"20",new cljs.core.Keyword(null,"align","align",1964212802),"right",new cljs.core.Keyword(null,"width","width",-384071477),45)}}(b,h,c,d,g,a))),function(){var e=javelin.core.formula.call(null,function(a,b,c,d,e,f){return function(a){a=cljs.core.get_in.call(null,a,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"weather-overrides","weather-overrides",-837381710),cljs.core.deref.call(null,e)],null));var b=null!=a&&(a.cljs$lang$protocol_mask$partition0$&
64||cljs.core.PROTOCOL_SENTINEL===a.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,a):a;a=cljs.core.get.call(null,b,new cljs.core.Keyword(null,"wind-dir","wind-dir",-432221184));b=cljs.core.get.call(null,b,new cljs.core.Keyword(null,"wind-speed","wind-speed",-815617496));return cljs.core.truth_(a)?a:b}}(b,h,c,d,g,a)).call(null,weathergen.ui.weather_params),f=javelin.core.cell.call(null,new cljs.core.Keyword(null,"all","all",892129742)),k=new cljs.core.Delay(function(a,b,c,d,e,f,g,h){return function(){return hoplon.core.div.call(null,
hoplon.core.div.call(null,hoplon.core.span.call(null,new cljs.core.Keyword(null,"css","css",1135045163),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"margin-right","margin-right",809689658),weathergen.ui.common.px.call(null,7)],null),"Override winds at"),weathergen.ui.common.dropdown.call(null,new cljs.core.Keyword(null,"value","value",305978217),b,new cljs.core.Keyword(null,"change","change",-1163046502),function(a,b,c,d,e,f,g,h){return function(a){return cljs.core.swap_BANG_.call(null,
weathergen.ui.weather_params,cljs.core.assoc_in,new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"weather-overrides","weather-overrides",-837381710),cljs.core.deref.call(null,g),new cljs.core.Keyword(null,"wind-alts","wind-alts",1257047776)],null),cljs.core._EQ_.call(null,a,new cljs.core.Keyword(null,"all","all",892129742))?weathergen.model.wind_alts:cljs.core.PersistentVector.EMPTY)}}(a,b,c,d,e,f,g,h),new cljs.core.Keyword(null,"choices","choices",
1385611597),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.PersistentArrayMap(null,2,[new cljs.core.Keyword(null,"label","label",1718410804),"All Altitudes",new cljs.core.Keyword(null,"value","value",305978217),new cljs.core.Keyword(null,"all","all",892129742)],null),new cljs.core.PersistentArrayMap(null,2,[new cljs.core.Keyword(null,"label","label",1718410804),"Selected Altitudes",new cljs.core.Keyword(null,"value","value",305978217),new cljs.core.Keyword(null,
"some","some",-1951079573)],null)],null))),function(){var k=new cljs.core.Delay(function(a,b,c,d,e,f,g,h){return function(){return hoplon.core.table.call(null,hoplon.core.tbody.call(null,function(){return function(a,b,c,d,e,f,g,h){return function U(k){return new cljs.core.LazySeq(null,function(a,b,c,d,e,f,g,h){return function(){for(;;){var l=cljs.core.seq.call(null,k);if(l){var m=l;if(cljs.core.chunked_seq_QMARK_.call(null,m)){var n=cljs.core.chunk_first.call(null,m),p=cljs.core.count.call(null,n),
q=cljs.core.chunk_buffer.call(null,p);return function(){for(var k=0;;)if(k<p){var r=cljs.core._nth.call(null,n,k);cljs.core.chunk_append.call(null,q,hoplon.core.tr.call(null,hoplon.core.td.call(null,function(){var t=javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r){return function(a){return cljs.core.some.call(null,cljs.core.PersistentHashSet.createAsIfByAssoc([b]),cljs.core.get_in.call(null,a,new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,
"weather-overrides","weather-overrides",-837381710),cljs.core.deref.call(null,q),new cljs.core.Keyword(null,"wind-alts","wind-alts",1257047776)],null)))}}(k,r,n,p,q,m,l,a,b,c,d,e,f,g,h)).call(null,weathergen.ui.weather_params);return weathergen.ui.common.checkbox.call(null,new cljs.core.Keyword(null,"value","value",305978217),t,new cljs.core.Keyword(null,"change","change",-1163046502),function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t){return function(u){return cljs.core.swap_BANG_.call(null,weathergen.ui.weather_params,
cljs.core.update_in,new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"weather-overrides","weather-overrides",-837381710),cljs.core.deref.call(null,r),new cljs.core.Keyword(null,"wind-alts","wind-alts",1257047776)],null),function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t){return function(a){return cljs.core.truth_(u)?cljs.core.conj.call(null,a,c):cljs.core.into.call(null,cljs.core.PersistentVector.EMPTY,cljs.core.remove.call(null,cljs.core.PersistentHashSet.createAsIfByAssoc([c]),
a))}}(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t))}}(k,t,r,n,p,q,m,l,a,b,c,d,e,f,g,h))}()),hoplon.core.td.call(null,[cljs.core.str.cljs$core$IFn$_invoke$arity$1(r),"ft"].join(""))));k+=1}else return!0}()?cljs.core.chunk_cons.call(null,cljs.core.chunk.call(null,q),U.call(null,cljs.core.chunk_rest.call(null,m))):cljs.core.chunk_cons.call(null,cljs.core.chunk.call(null,q),null)}var r=cljs.core.first.call(null,m);return cljs.core.cons.call(null,hoplon.core.tr.call(null,hoplon.core.td.call(null,function(){var k=
javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,k,l,m){return function(b){return cljs.core.some.call(null,cljs.core.PersistentHashSet.createAsIfByAssoc([a]),cljs.core.get_in.call(null,b,new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"weather-overrides","weather-overrides",-837381710),cljs.core.deref.call(null,l),new cljs.core.Keyword(null,"wind-alts","wind-alts",1257047776)],null)))}}(r,m,l,a,b,c,d,e,f,g,h)).call(null,weathergen.ui.weather_params);
return weathergen.ui.common.checkbox.call(null,new cljs.core.Keyword(null,"value","value",305978217),k,new cljs.core.Keyword(null,"change","change",-1163046502),function(a,b,c,d,e,f,g,h,k,l,m,n){return function(p){return cljs.core.swap_BANG_.call(null,weathergen.ui.weather_params,cljs.core.update_in,new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"weather-overrides","weather-overrides",-837381710),cljs.core.deref.call(null,m),new cljs.core.Keyword(null,
"wind-alts","wind-alts",1257047776)],null),function(a,b,c,d,e,f,g,h,k,l,m,n){return function(a){return cljs.core.truth_(p)?cljs.core.conj.call(null,a,b):cljs.core.into.call(null,cljs.core.PersistentVector.EMPTY,cljs.core.remove.call(null,cljs.core.PersistentHashSet.createAsIfByAssoc([b]),a))}}(a,b,c,d,e,f,g,h,k,l,m,n))}}(k,r,m,l,a,b,c,d,e,f,g,h))}()),hoplon.core.td.call(null,[cljs.core.str.cljs$core$IFn$_invoke$arity$1(r),"ft"].join(""))),U.call(null,cljs.core.rest.call(null,m)))}return null}}}(a,
b,c,d,e,f,g,h),null,null)}}(a,b,c,d,e,f,g,h).call(null,weathergen.model.wind_alts)}()))}}(a,b,c,d,e,f,g,h),null),l=new cljs.core.Delay(function(a,b,c,d,e,f,g,h,k){return function(){return null}}(k,a,b,c,d,e,f,g,h),null),m=function(a,b,c,d,e,f,g,h,k,l){return function(c){return cljs.core.deref.call(null,function(){var d=cljs.core.truth_(c)?a:b;return cljs.core.truth_(d)?d:cljs.core.atom.call(null,null)}())}}(k,l,a,b,c,d,e,f,g,h);return javelin.core.formula.call(null,m).call(null,javelin.core.formula.call(null,
function(a,b,c,d,e,f,g,h,k,l,m){return function(a,b){return b.call(null,a,new cljs.core.Keyword(null,"all","all",892129742))}}(k,l,m,a,b,c,d,e,f,g,h)).call(null,b,cljs.core.not_EQ_))}())}}(e,f,b,h,c,d,g,a),null),p=new cljs.core.Delay(function(a,b,c,d,e,f,g,h,k){return function(){return null}}(k,e,f,b,h,c,d,g,a),null);f=function(a,b,c,d,e,f,g,h,k,l){return function(c){return cljs.core.deref.call(null,function(){var d=cljs.core.truth_(c)?a:b;return cljs.core.truth_(d)?d:cljs.core.atom.call(null,null)}())}}(k,
p,e,f,b,h,c,d,g,a);return javelin.core.formula.call(null,f).call(null,e)}())}(),h.call(null,"Show outline?",new cljs.core.Keyword(null,"show-outline?","show-outline?",820145348),cljs.core.PersistentArrayMap.EMPTY),h.call(null,"Fade in/out?",new cljs.core.Keyword(null,"animate?","animate?",-1559039739),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"change","change",-1163046502),function(a,b,c,d,e){return function(f){return javelin.core.dosync_STAR_.call(null,function(a,b,c,d,
e){return function(){cljs.core.swap_BANG_.call(null,weathergen.ui.weather_params,cljs.core.update_in,new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"weather-overrides","weather-overrides",-837381710),cljs.core.deref.call(null,d),new cljs.core.Keyword(null,"animate?","animate?",-1559039739)],null),cljs.core.not);return cljs.core.swap_BANG_.call(null,weathergen.ui.weather_params,function(a,b,c,d,e){return function(a){return cljs.core.truth_(cljs.core.get_in.call(null,
a,new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"weather-overrides","weather-overrides",-837381710),cljs.core.deref.call(null,d),new cljs.core.Keyword(null,"animate?","animate?",-1559039739)],null)))?a:cljs.core.assoc_in.call(null,a,new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"weather-overrides","weather-overrides",-837381710),cljs.core.deref.call(null,d),new cljs.core.Keyword(null,
"exclude-from-forecast?","exclude-from-forecast?",1182671640)],null),!1)}}(a,b,c,d,e))}}(a,b,c,d,e))}}(h,c,d,g,a)],null)),function(){return function(a,b,c,d,e){return function u(f){return new cljs.core.LazySeq(null,function(a,b,c,d,e){return function(){for(;;){var g=cljs.core.seq.call(null,f);if(g){var h=g;if(cljs.core.chunked_seq_QMARK_.call(null,h)){var k=cljs.core.chunk_first.call(null,h),l=cljs.core.count.call(null,k),m=cljs.core.chunk_buffer.call(null,l);return function(){for(var f=0;;)if(f<
l){var n=cljs.core._nth.call(null,k,f),p=cljs.core.nth.call(null,n,0,null),r=cljs.core.nth.call(null,n,1,null);cljs.core.chunk_append.call(null,m,hoplon.core.tr.call(null,new cljs.core.Keyword(null,"toggle","toggle",1291842030),javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,k,l,m,n,p,r){return function(a){return(new cljs.core.Keyword(null,"animate?","animate?",-1559039739)).cljs$core$IFn$_invoke$arity$1(a)}}(f,n,p,r,k,l,m,h,g,a,b,c,d,e)).call(null,c),hoplon.core.td.call(null,weathergen.help.with_help.call(null,
new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"weather-overrides","weather-overrides",-837381710),r],null),p)),hoplon.core.td.call(null,weathergen.ui.time_entry.call(null,new cljs.core.Keyword(null,"source","source",-433931539),weathergen.ui.weather_params,new cljs.core.Keyword(null,"path","path",-188191168),new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"weather-overrides","weather-overrides",
-837381710),cljs.core.deref.call(null,d),r],null)))));f+=1}else return!0}()?cljs.core.chunk_cons.call(null,cljs.core.chunk.call(null,m),u.call(null,cljs.core.chunk_rest.call(null,h))):cljs.core.chunk_cons.call(null,cljs.core.chunk.call(null,m),null)}var n=cljs.core.first.call(null,h),p=cljs.core.nth.call(null,n,0,null),r=cljs.core.nth.call(null,n,1,null);return cljs.core.cons.call(null,hoplon.core.tr.call(null,new cljs.core.Keyword(null,"toggle","toggle",1291842030),javelin.core.formula.call(null,
function(a,b,c,d,e,f,g,h,k,l){return function(a){return(new cljs.core.Keyword(null,"animate?","animate?",-1559039739)).cljs$core$IFn$_invoke$arity$1(a)}}(n,p,r,h,g,a,b,c,d,e)).call(null,c),hoplon.core.td.call(null,weathergen.help.with_help.call(null,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"weather-overrides","weather-overrides",-837381710),r],null),p)),hoplon.core.td.call(null,weathergen.ui.time_entry.call(null,new cljs.core.Keyword(null,
"source","source",-433931539),weathergen.ui.weather_params,new cljs.core.Keyword(null,"path","path",-188191168),new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"weather-overrides","weather-overrides",-837381710),cljs.core.deref.call(null,d),r],null)))),u.call(null,cljs.core.rest.call(null,h)))}return null}}}(a,b,c,d,e),null,null)}}(h,c,d,g,a).call(null,new cljs.core.PersistentVector(null,4,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.PersistentVector(null,
2,5,cljs.core.PersistentVector.EMPTY_NODE,["Begin",new cljs.core.Keyword(null,"begin","begin",-319034319)],null),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,["Peak",new cljs.core.Keyword(null,"peak","peak",389096055)],null),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,["Taper",new cljs.core.Keyword(null,"taper","taper",1772067478)],null),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,["End",new cljs.core.Keyword(null,
"end","end",-268185958)],null)],null))}(),h.call(null,"Exclude from forecast?",new cljs.core.Keyword(null,"exclude-from-forecast?","exclude-from-forecast?",1182671640),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"row-attrs","row-attrs",2139633863),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"toggle","toggle",1291842030),javelin.core.formula.call(null,function(a,b,c,d,e){return function(a){return(new cljs.core.Keyword(null,"animate?","animate?",-1559039739)).cljs$core$IFn$_invoke$arity$1(a)}}(h,
c,d,g,a)).call(null,d)],null)],null)),weathergen.ui.buttons.image_button.call(null,new cljs.core.Keyword(null,"click","click",1912301393),function(a,b,c,d,e){return function(){return cljs.core.swap_BANG_.call(null,weathergen.ui.weather_params,cljs.core.update_in,new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"weather-overrides","weather-overrides",-837381710),cljs.core.deref.call(null,d),new cljs.core.Keyword(null,"editing?","editing?",1646440800)],
null),cljs.core.not)}}(h,c,d,g,a),new cljs.core.Keyword(null,"title","title",636505583),"Edit",new cljs.core.Keyword(null,"src","src",-1651076051),"images/move.svg",new cljs.core.Keyword(null,"width","width",-384071477),"16px",new cljs.core.Keyword(null,"height","height",1025178622),"16px",new cljs.core.Keyword(null,"latched?","latched?",2124907793),javelin.core.formula.call(null,function(a,b,c,d,e){return function(a){return(new cljs.core.Keyword(null,"editing?","editing?",1646440800)).cljs$core$IFn$_invoke$arity$1(a)}}(h,
c,d,g,a)).call(null,d)),weathergen.ui.buttons.image_button.call(null,new cljs.core.Keyword(null,"css","css",1135045163),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"float","float",-1732389368),"right"],null),new cljs.core.Keyword(null,"src","src",-1651076051),"images/trash.png",new cljs.core.Keyword(null,"width","width",-384071477),"16px",new cljs.core.Keyword(null,"title","title",636505583),"Remove",new cljs.core.Keyword(null,"click","click",1912301393),function(a,b,c,d,e){return function(){return cljs.core.swap_BANG_.call(null,
weathergen.ui.weather_params,cljs.core.update,new cljs.core.Keyword(null,"weather-overrides","weather-overrides",-837381710),function(a,b,c,d,e){return function(a){return weathergen.ui.remove_nth.call(null,a,cljs.core.deref.call(null,d))}}(a,b,c,d,e))}}(h,c,d,g,a)))}}(a)))}(),weathergen.ui.buttons.a_button.call(null,new cljs.core.Keyword(null,"click","click",1912301393),function(){return cljs.core.swap_BANG_.call(null,weathergen.ui.weather_params,function(a){return cljs.core.update.call(null,a,new cljs.core.Keyword(null,
"weather-overrides","weather-overrides",-837381710),function(b){return cljs.core.conj.call(null,b,cljs.core.PersistentHashMap.fromArrays([new cljs.core.Keyword(null,"wind-dir","wind-dir",-432221184),new cljs.core.Keyword(null,"editing?","editing?",1646440800),new cljs.core.Keyword(null,"wind-alts","wind-alts",1257047776),new cljs.core.Keyword(null,"cloud-cover","cloud-cover",1830614752),new cljs.core.Keyword(null,"cloud-base","cloud-base",826793857),new cljs.core.Keyword(null,"cloud-size","cloud-size",
-1568256381),new cljs.core.Keyword(null,"show-outline?","show-outline?",820145348),new cljs.core.Keyword(null,"wind-speed","wind-speed",-815617496),new cljs.core.Keyword(null,"type","type",1174270348),new cljs.core.Keyword(null,"radius","radius",-2073122258),new cljs.core.Keyword(null,"falloff","falloff",-1639069456),new cljs.core.Keyword(null,"begin","begin",-319034319),new cljs.core.Keyword(null,"strength","strength",-415606478),new cljs.core.Keyword(null,"towering?","towering?",2005070836),new cljs.core.Keyword(null,
"taper","taper",1772067478),new cljs.core.Keyword(null,"peak","peak",389096055),new cljs.core.Keyword(null,"exclude-from-forecast?","exclude-from-forecast?",1182671640),new cljs.core.Keyword(null,"end","end",-268185958),new cljs.core.Keyword(null,"location","location",1815599388),new cljs.core.Keyword(null,"visibility","visibility",1338380893),new cljs.core.Keyword(null,"temperature","temperature",899018429)],[null,!0,weathergen.model.wind_alts,null,null,null,!0,null,new cljs.core.Keyword(null,"inclement",
"inclement",-550669382),8,2,(new cljs.core.Keyword(null,"current","current",-1088038603)).cljs$core$IFn$_invoke$arity$1((new cljs.core.Keyword(null,"time","time",1385887882)).cljs$core$IFn$_invoke$arity$1(a)),1,null,weathergen.time.add_minutes.call(null,(new cljs.core.Keyword(null,"current","current",-1088038603)).cljs$core$IFn$_invoke$arity$1((new cljs.core.Keyword(null,"time","time",1385887882)).cljs$core$IFn$_invoke$arity$1(a)),180),weathergen.time.add_minutes.call(null,(new cljs.core.Keyword(null,
"current","current",-1088038603)).cljs$core$IFn$_invoke$arity$1((new cljs.core.Keyword(null,"time","time",1385887882)).cljs$core$IFn$_invoke$arity$1(a)),60),!1,weathergen.time.add_minutes.call(null,(new cljs.core.Keyword(null,"current","current",-1088038603)).cljs$core$IFn$_invoke$arity$1((new cljs.core.Keyword(null,"time","time",1385887882)).cljs$core$IFn$_invoke$arity$1(a)),240),new cljs.core.PersistentArrayMap(null,2,[new cljs.core.Keyword(null,"x","x",2099068185),30,new cljs.core.Keyword(null,
"y","y",-1757859776),30],null),null,null]))})})},"Add New"))};
weathergen.ui.weather_type_configuration=function(a){return weathergen.ui.common.control_section.call(null,new cljs.core.Keyword(null,"title","title",636505583),weathergen.help.with_help.call(null,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"weather-type-config","weather-type-config",-2069342501),new cljs.core.Keyword(null,"category","category",-593092832)],null),"Weather type configuration"),new cljs.core.Keyword(null,"id","id",-1388402092),
"weather-type-configuration-section",new cljs.core.Keyword(null,"toggle","toggle",1291842030),javelin.core.formula.call(null,function(a,c){return a.call(null,c,new cljs.core.Keyword(null,"edit","edit",-1641834166))}).call(null,cljs.core._EQ_,weathergen.ui.display_mode),hoplon.core.table.call(null,new cljs.core.Keyword(null,"id","id",-1388402092),"category-params",hoplon.core.thead.call(null,hoplon.core.tr.call(null,hoplon.core.td.call(null),hoplon.core.td.call(null,"\x3c- Less More -\x3e"))),hoplon.core.tbody.call(null,
function(){return function d(a){return new cljs.core.LazySeq(null,function(){for(;;){var c=cljs.core.seq.call(null,a);if(c){if(cljs.core.chunked_seq_QMARK_.call(null,c)){var f=cljs.core.chunk_first.call(null,c),g=cljs.core.count.call(null,f),h=cljs.core.chunk_buffer.call(null,g);return function(){for(var a=0;;)if(a<g){var c=cljs.core._nth.call(null,f,a);cljs.core.chunk_append.call(null,h,hoplon.core.tr.call(null,hoplon.core.td.call(null,new cljs.core.Keyword(null,"class","class",-2030961996),["weather-type ",
cljs.core.name.call(null,c)].join(""),new cljs.core.Keyword(null,"css","css",1135045163),new cljs.core.PersistentArrayMap(null,1,["background-color",function(){var a=weathergen.ui.weather_color.call(null,c),d=cljs.core.nth.call(null,a,0,null),e=cljs.core.nth.call(null,a,1,null);a=cljs.core.nth.call(null,a,2,null);return["rgb(",cljs.core.str.cljs$core$IFn$_invoke$arity$1(d),",",cljs.core.str.cljs$core$IFn$_invoke$arity$1(e),",",cljs.core.str.cljs$core$IFn$_invoke$arity$1(a),")"].join("")}()],null),
weathergen.ui.type_key__GT_name.call(null,c)),function(){var a=weathergen.ui.common.path_lens.call(null,weathergen.ui.weather_params,new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"categories","categories",178386610),c,new cljs.core.Keyword(null,"weight","weight",-1262796205)],null));return new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[hoplon.core.td.call(null,weathergen.ui.common.slider.call(null,new cljs.core.Keyword(null,
"int?","int?",159198118),!0,new cljs.core.Keyword(null,"min","min",444991522),1,new cljs.core.Keyword(null,"max","max",61366548),100,new cljs.core.Keyword(null,"ticks","ticks",-406190313),3,new cljs.core.Keyword(null,"value","value",305978217),a,new cljs.core.Keyword(null,"css","css",1135045163),new cljs.core.PersistentArrayMap(null,2,[new cljs.core.Keyword(null,"width","width",-384071477),120,new cljs.core.Keyword(null,"vertical-align","vertical-align",651007333),"middle"],null))),hoplon.core.td.call(null,
weathergen.ui.common.validating_edit.call(null,new cljs.core.Keyword(null,"width","width",-384071477),38,new cljs.core.Keyword(null,"css","css",1135045163),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"display","display",242065432),"inline-block"],null),new cljs.core.Keyword(null,"conform","conform",1846236460),weathergen.ui.common.int_conformer.call(null,1,100),new cljs.core.Keyword(null,"source","source",-433931539),a))],null)}()));a+=1}else return!0}()?cljs.core.chunk_cons.call(null,
cljs.core.chunk.call(null,h),d.call(null,cljs.core.chunk_rest.call(null,c))):cljs.core.chunk_cons.call(null,cljs.core.chunk.call(null,h),null)}var k=cljs.core.first.call(null,c);return cljs.core.cons.call(null,hoplon.core.tr.call(null,hoplon.core.td.call(null,new cljs.core.Keyword(null,"class","class",-2030961996),["weather-type ",cljs.core.name.call(null,k)].join(""),new cljs.core.Keyword(null,"css","css",1135045163),new cljs.core.PersistentArrayMap(null,1,["background-color",function(){var a=weathergen.ui.weather_color.call(null,
k),c=cljs.core.nth.call(null,a,0,null),d=cljs.core.nth.call(null,a,1,null);a=cljs.core.nth.call(null,a,2,null);return["rgb(",cljs.core.str.cljs$core$IFn$_invoke$arity$1(c),",",cljs.core.str.cljs$core$IFn$_invoke$arity$1(d),",",cljs.core.str.cljs$core$IFn$_invoke$arity$1(a),")"].join("")}()],null),weathergen.ui.type_key__GT_name.call(null,k)),function(){var a=weathergen.ui.common.path_lens.call(null,weathergen.ui.weather_params,new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,
[new cljs.core.Keyword(null,"categories","categories",178386610),k,new cljs.core.Keyword(null,"weight","weight",-1262796205)],null));return new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[hoplon.core.td.call(null,weathergen.ui.common.slider.call(null,new cljs.core.Keyword(null,"int?","int?",159198118),!0,new cljs.core.Keyword(null,"min","min",444991522),1,new cljs.core.Keyword(null,"max","max",61366548),100,new cljs.core.Keyword(null,"ticks","ticks",-406190313),3,new cljs.core.Keyword(null,
"value","value",305978217),a,new cljs.core.Keyword(null,"css","css",1135045163),new cljs.core.PersistentArrayMap(null,2,[new cljs.core.Keyword(null,"width","width",-384071477),120,new cljs.core.Keyword(null,"vertical-align","vertical-align",651007333),"middle"],null))),hoplon.core.td.call(null,weathergen.ui.common.validating_edit.call(null,new cljs.core.Keyword(null,"width","width",-384071477),38,new cljs.core.Keyword(null,"css","css",1135045163),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,
"display","display",242065432),"inline-block"],null),new cljs.core.Keyword(null,"conform","conform",1846236460),weathergen.ui.common.int_conformer.call(null,1,100),new cljs.core.Keyword(null,"source","source",-433931539),a))],null)}()),d.call(null,cljs.core.rest.call(null,c)))}return null}},null,null)}.call(null,new cljs.core.PersistentVector(null,4,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"sunny","sunny",1448267778),new cljs.core.Keyword(null,"fair","fair",1684139423),
new cljs.core.Keyword(null,"poor","poor",1462482211),new cljs.core.Keyword(null,"inclement","inclement",-550669382)],null))}())))};
if("undefined"===typeof weathergen||"undefined"===typeof weathergen.ui||"undefined"===typeof weathergen.ui.cloud_param_conformer)weathergen.ui.cloud_param_conformer=function(){var a=cljs.core.atom.call(null,cljs.core.PersistentArrayMap.EMPTY),b=cljs.core.atom.call(null,cljs.core.PersistentArrayMap.EMPTY),c=cljs.core.atom.call(null,cljs.core.PersistentArrayMap.EMPTY),d=cljs.core.atom.call(null,cljs.core.PersistentArrayMap.EMPTY),e=cljs.core.get.call(null,cljs.core.PersistentArrayMap.EMPTY,new cljs.core.Keyword(null,
"hierarchy","hierarchy",-1053470341),cljs.core.get_global_hierarchy.call(null));return new cljs.core.MultiFn(cljs.core.symbol.call(null,"weathergen.ui","cloud-param-conformer"),function(a,b,c,d,e){return function(a,b,c){return b}}(a,b,c,d,e),new cljs.core.Keyword(null,"default","default",-1987822328),e,a,b,c,d)}();
cljs.core._add_method.call(null,weathergen.ui.cloud_param_conformer,new cljs.core.Keyword(null,"default","default",-1987822328),function(a,b,c){return weathergen.ui.common.int_conformer.call(null,0,99999)});cljs.core._add_method.call(null,weathergen.ui.cloud_param_conformer,new cljs.core.Keyword(null,"visibility","visibility",1338380893),function(a,b,c){return weathergen.ui.common.float_conformer.call(null,0,60)});
cljs.core._add_method.call(null,weathergen.ui.cloud_param_conformer,new cljs.core.Keyword(null,"stratus-base","stratus-base",-1631962478),function(a,b,c){return function(b){var d=weathergen.ui.common.int_conformer.call(null,0,99999);b=d.call(null,b);return javelin.core.formula.call(null,function(a,b){return function(a,b){var d=(new cljs.core.Keyword(null,"stratus-top","stratus-top",784220574)).cljs$core$IFn$_invoke$arity$1(a);return cljs.core.not.call(null,(new cljs.core.Keyword(null,"valid?","valid?",
-212412379)).cljs$core$IFn$_invoke$arity$1(b))?b:cljs.core.truth_(function(){var a=(new cljs.core.PersistentHashSet(null,new cljs.core.PersistentArrayMap(null,2,[new cljs.core.Keyword(null,"poor","poor",1462482211),null,new cljs.core.Keyword(null,"inclement","inclement",-550669382),null],null),null)).call(null,c);return cljs.core.truth_(a)?d<(new cljs.core.Keyword(null,"value","value",305978217)).cljs$core$IFn$_invoke$arity$1(b):a}())?new cljs.core.PersistentArrayMap(null,3,[new cljs.core.Keyword(null,
"valid?","valid?",-212412379),!1,new cljs.core.Keyword(null,"message","message",-406056002),"Stratus base must be below stratus top.",new cljs.core.Keyword(null,"value","value",305978217),(new cljs.core.Keyword(null,"value","value",305978217)).cljs$core$IFn$_invoke$arity$1(b)],null):b}}(d,b)).call(null,a,b)}});
cljs.core._add_method.call(null,weathergen.ui.cloud_param_conformer,new cljs.core.Keyword(null,"stratus-top","stratus-top",784220574),function(a,b,c){return function(b){var d=weathergen.ui.common.int_conformer.call(null,0,99999);b=d.call(null,b);return javelin.core.formula.call(null,function(a,b){return function(a,b){var d=function(){var b=cljs.core.get_in.call(null,a,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"stratus-base","stratus-base",
-1631962478),new cljs.core.Keyword(null,"poor","poor",1462482211)],null)),c=cljs.core.get_in.call(null,a,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"stratus-base","stratus-base",-1631962478),new cljs.core.Keyword(null,"inclement","inclement",-550669382)],null));return b>c?b:c}();return cljs.core.not.call(null,(new cljs.core.Keyword(null,"valid?","valid?",-212412379)).cljs$core$IFn$_invoke$arity$1(b))?b:cljs.core.truth_(function(){var a=
(new cljs.core.PersistentHashSet(null,new cljs.core.PersistentArrayMap(null,2,[new cljs.core.Keyword(null,"poor","poor",1462482211),null,new cljs.core.Keyword(null,"inclement","inclement",-550669382),null],null),null)).call(null,c);return cljs.core.truth_(a)?(new cljs.core.Keyword(null,"value","value",305978217)).cljs$core$IFn$_invoke$arity$1(b)<d:a}())?new cljs.core.PersistentArrayMap(null,3,[new cljs.core.Keyword(null,"valid?","valid?",-212412379),!1,new cljs.core.Keyword(null,"message","message",
-406056002),"Stratus base must be below stratus top.",new cljs.core.Keyword(null,"value","value",305978217),(new cljs.core.Keyword(null,"value","value",305978217)).cljs$core$IFn$_invoke$arity$1(b)],null):b}}(d,b)).call(null,a,b)}});
cljs.core._add_method.call(null,weathergen.ui.cloud_param_conformer,new cljs.core.Keyword(null,"cumulus-base","cumulus-base",-578210868),function(a,b,c){return function(b){var d=weathergen.ui.common.int_conformer.call(null,0,99999);b=d.call(null,b);return javelin.core.formula.call(null,function(a,b){return function(a,b){a=cljs.core.truth_((new cljs.core.PersistentHashSet(null,new cljs.core.PersistentArrayMap(null,2,[new cljs.core.Keyword(null,"sunny","sunny",1448267778),null,new cljs.core.Keyword(null,
"fair","fair",1684139423),null],null),null)).call(null,c))?cljs.core.get_in.call(null,a,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"stratus-base","stratus-base",-1631962478),c],null)):(new cljs.core.Keyword(null,"stratus-top","stratus-top",784220574)).cljs$core$IFn$_invoke$arity$1(a);return cljs.core.not.call(null,(new cljs.core.Keyword(null,"valid?","valid?",-212412379)).cljs$core$IFn$_invoke$arity$1(b))?b:a-1E3<(new cljs.core.Keyword(null,
"value","value",305978217)).cljs$core$IFn$_invoke$arity$1(b)?new cljs.core.PersistentArrayMap(null,3,[new cljs.core.Keyword(null,"valid?","valid?",-212412379),!1,new cljs.core.Keyword(null,"message","message",-406056002),"Cumulus base must be at least 1000 feet below stratus top.",new cljs.core.Keyword(null,"value","value",305978217),(new cljs.core.Keyword(null,"value","value",305978217)).cljs$core$IFn$_invoke$arity$1(b)],null):b}}(d,b)).call(null,a,b)}});
weathergen.ui.atmosphere_controls=function(a){return weathergen.ui.common.control_section.call(null,new cljs.core.Keyword(null,"title","title",636505583),weathergen.help.with_help.call(null,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"clouds","clouds",-632461223),new cljs.core.Keyword(null,"overview","overview",-435037267)],null),"Atmosphere"),new cljs.core.Keyword(null,"id","id",-1388402092),cljs.core.gensym.call(null),new cljs.core.Keyword(null,
"toggle","toggle",1291842030),javelin.core.formula.call(null,function(a,c){return a.call(null,c,new cljs.core.Keyword(null,"edit","edit",-1641834166))}).call(null,cljs.core._EQ_,weathergen.ui.display_mode),hoplon.core.div.call(null,new cljs.core.Keyword(null,"toggle","toggle",1291842030),javelin.core.formula.call(null,function(a,c){return a.call(null,c,new cljs.core.Keyword(null,"edit","edit",-1641834166))}).call(null,cljs.core._EQ_,weathergen.ui.display_mode),weathergen.help.help_icon.call(null,
new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"clouds","clouds",-632461223),new cljs.core.Keyword(null,"buttons","buttons",-1953831197)],null)),weathergen.ui.buttons.a_button.call(null,new cljs.core.Keyword(null,"css","css",1135045163),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"margin-right","margin-right",809689658),weathergen.ui.common.px.call(null,3)],null),new cljs.core.Keyword(null,"click","click",1912301393),
function(a){return javelin.core.dosync_STAR_.call(null,function(){var a=weathergen.ui.random_atmosphere_params.call(null),b=weathergen.util.deep_merge_with.call(null,cljs.core.deref.call(null,weathergen.ui.weather_params),function(a){return function(a,b){return b}}(a),a);cljs.core.swap_BANG_.call(null,weathergen.ui.weather_params,function(a,b){return function(c){return weathergen.util.deep_merge_with.call(null,function(a,b){return function(a,b){return b}}(a,b),c,a)}}(a,b));return cljs.core.reset_BANG_.call(null,
weathergen.ui.cloud_params,weathergen.ui.random_cloud_params.call(null))})},"Randomize Clouds \x26 Vis"),weathergen.ui.buttons.a_button.call(null,new cljs.core.Keyword(null,"css","css",1135045163),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"margin-right","margin-right",809689658),weathergen.ui.common.px.call(null,3)],null),new cljs.core.Keyword(null,"click","click",1912301393),function(a){return cljs.core.swap_BANG_.call(null,weathergen.ui.weather_params,function(a){return weathergen.util.deep_merge_with.call(null,
function(a,b){return b},a,weathergen.ui.random_wind_params.call(null))})},"Randomize Wind"),weathergen.ui.buttons.a_button.call(null,new cljs.core.Keyword(null,"css","css",1135045163),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"margin-right","margin-right",809689658),weathergen.ui.common.px.call(null,3)],null),new cljs.core.Keyword(null,"click","click",1912301393),function(a){return cljs.core.swap_BANG_.call(null,weathergen.ui.weather_params,function(a){return weathergen.util.deep_merge_with.call(null,
function(a,b){return b},a,weathergen.ui.random_temp_params.call(null))})},"Randomize Temperature"),weathergen.ui.buttons.a_button.call(null,new cljs.core.Keyword(null,"css","css",1135045163),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"margin-right","margin-right",809689658),weathergen.ui.common.px.call(null,3)],null),new cljs.core.Keyword(null,"click","click",1912301393),function(){return javelin.core.dosync_STAR_.call(null,function(){cljs.core.reset_BANG_.call(null,weathergen.ui.weather_params,
weathergen.ui.default_weather_params);return cljs.core.reset_BANG_.call(null,weathergen.ui.cloud_params,weathergen.ui.default_cloud_params)})},"Reset to Defaults"),weathergen.ui.buttons.a_button.call(null,new cljs.core.Keyword(null,"css","css",1135045163),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"margin-right","margin-right",809689658),weathergen.ui.common.px.call(null,3)],null),new cljs.core.Keyword(null,"click","click",1912301393),function(){return weathergen.ui.save_twx.call(null,
(new cljs.core.Keyword(null,"mission-name","mission-name",1479736582)).cljs$core$IFn$_invoke$arity$1(cljs.core.deref.call(null,weathergen.ui.mission)))},"Save .TWX")),weathergen.ui.control_subsection.call(null,new cljs.core.Keyword(null,"title","title",636505583),weathergen.help.with_help.call(null,new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"clouds","clouds",-632461223),new cljs.core.Keyword(null,"high","high",2027297808),new cljs.core.Keyword(null,
"overview","overview",-435037267)],null),"High Clouds"),function(){var a=function(a){var b=weathergen.ui.weather_color.call(null,a);a=cljs.core.nth.call(null,b,0,null);var c=cljs.core.nth.call(null,b,1,null);b=cljs.core.nth.call(null,b,2,null);return new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"background-color","background-color",570434026),["rgb(",cljs.core.str.cljs$core$IFn$_invoke$arity$1(a),",",cljs.core.str.cljs$core$IFn$_invoke$arity$1(c),",",cljs.core.str.cljs$core$IFn$_invoke$arity$1(b),
")"].join("")],null)};return hoplon.core.table.call(null,hoplon.core.tbody.call(null,hoplon.core.tr.call(null,hoplon.core.td.call(null,new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,[hoplon.core.span.call(null,new cljs.core.Keyword(null,"class","class",-2030961996),"weather-type sunny",new cljs.core.Keyword(null,"css","css",1135045163),a.call(null,new cljs.core.Keyword(null,"sunny","sunny",1448267778)),"Sunny"),"/",hoplon.core.span.call(null,new cljs.core.Keyword(null,
"class","class",-2030961996),"weather-type fair",new cljs.core.Keyword(null,"css","css",1135045163),a.call(null,new cljs.core.Keyword(null,"fair","fair",1684139423)),"Fair")],null)),hoplon.core.td.call(null,weathergen.ui.common.validating_edit.call(null,new cljs.core.Keyword(null,"source","source",-433931539),weathergen.ui.common.path_lens.call(null,weathergen.ui.cloud_params,new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"stratus-z-fair",
"stratus-z-fair",2031975528)],null)),new cljs.core.Keyword(null,"conform","conform",1846236460),weathergen.ui.common.int_conformer.call(null,0,6E4),new cljs.core.Keyword(null,"align","align",1964212802),"right",new cljs.core.Keyword(null,"placeholder","placeholder",-104873083),"altitude (ft)",new cljs.core.Keyword(null,"width","width",-384071477),55))),hoplon.core.tr.call(null,hoplon.core.td.call(null,new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,[hoplon.core.span.call(null,
new cljs.core.Keyword(null,"class","class",-2030961996),"weather-type poor",new cljs.core.Keyword(null,"css","css",1135045163),a.call(null,new cljs.core.Keyword(null,"poor","poor",1462482211)),"Poor"),"/",hoplon.core.span.call(null,new cljs.core.Keyword(null,"class","class",-2030961996),"weather-type inclement",new cljs.core.Keyword(null,"css","css",1135045163),a.call(null,new cljs.core.Keyword(null,"inclement","inclement",-550669382)),"Inclement")],null)),hoplon.core.td.call(null,weathergen.ui.common.validating_edit.call(null,
new cljs.core.Keyword(null,"source","source",-433931539),weathergen.ui.common.path_lens.call(null,weathergen.ui.cloud_params,new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"stratus-z-inclement","stratus-z-inclement",1983411333)],null)),new cljs.core.Keyword(null,"conform","conform",1846236460),weathergen.ui.common.int_conformer.call(null,0,6E4),new cljs.core.Keyword(null,"align","align",1964212802),"right",new cljs.core.Keyword(null,"placeholder",
"placeholder",-104873083),"altitude (ft)",new cljs.core.Keyword(null,"width","width",-384071477),55)))))}()),weathergen.ui.control_subsection.call(null,new cljs.core.Keyword(null,"title","title",636505583),weathergen.help.with_help.call(null,new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"clouds","clouds",-632461223),new cljs.core.Keyword(null,"low","low",-1601362409),new cljs.core.Keyword(null,"overview","overview",-435037267)],null),"Low Clouds"),
hoplon.core.table.call(null,new cljs.core.Keyword(null,"css","css",1135045163),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"border-collapse","border-collapse",919100239),"collapse"],null),hoplon.core.thead.call(null,function(){var a=function(a){return cljs.core.truth_(a)?new cljs.core.PersistentArrayMap(null,3,[new cljs.core.Keyword(null,"border-width","border-width",-1512605390),cljs.core.apply.call(null,weathergen.ui.common.px,a),new cljs.core.Keyword(null,"border-style",
"border-style",-485574304),"solid",new cljs.core.Keyword(null,"border-color","border-color",-2059162761),"black"],null):null},c=function(a){return function(){var b=function(b,c,d,e){var f=cljs.core.nth.call(null,e,0,null),g=cljs.core.nth.call(null,e,1,null);return hoplon.core.td.call(null,new cljs.core.Keyword(null,"colspan","colspan",-1512420934),b,new cljs.core.Keyword(null,"css","css",1135045163),cljs.core.merge.call(null,new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"background",
"background",-863952629),f],null),a.call(null,g)),cljs.core.map.call(null,function(a,b,d,e){return function(a){return hoplon.core.div.call(null,weathergen.help.with_help.call(null,c,a))}}(e,f,g,a),d))},c=function(a,c,d,e){var f=null;if(3<arguments.length){f=0;for(var g=Array(arguments.length-3);f<g.length;)g[f]=arguments[f+3],++f;f=new cljs.core.IndexedSeq(g,0,null)}return b.call(this,a,c,d,f)};c.cljs$lang$maxFixedArity=3;c.cljs$lang$applyTo=function(a){var c=cljs.core.first(a);a=cljs.core.next(a);
var d=cljs.core.first(a);a=cljs.core.next(a);var e=cljs.core.first(a);a=cljs.core.rest(a);return b(c,d,e,a)};c.cljs$core$IFn$_invoke$arity$variadic=b;return c}()}(a);return new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[hoplon.core.tr.call(null,new cljs.core.Keyword(null,"css","css",1135045163),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"text-align","text-align",1786091845),"center"],null),hoplon.core.td.call(null),c.call(null,2,new cljs.core.PersistentVector(null,
3,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"clouds","clouds",-632461223),new cljs.core.Keyword(null,"low","low",-1601362409),new cljs.core.Keyword(null,"base","base",185279322)],null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,["Base"],null),"#f2f2f2",new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[1],null)),c.call(null,2,new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,
"clouds","clouds",-632461223),new cljs.core.Keyword(null,"low","low",-1601362409),new cljs.core.Keyword(null,"size","size",1098693007)],null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,["Size"],null),"lightgray",new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[1],null)),c.call(null,2,new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"clouds","clouds",-632461223),new cljs.core.Keyword(null,
"low","low",-1601362409),new cljs.core.Keyword(null,"coverage","coverage",1606292651)],null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,["Coverage"],null),"#f2f2f2",new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[1],null)),c.call(null,1,new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"clouds","clouds",-632461223),new cljs.core.Keyword(null,"low","low",-1601362409),new cljs.core.Keyword(null,
"towering","towering",-44547353)],null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,["Towering?"],null),"lightgray",new cljs.core.PersistentVector(null,4,5,cljs.core.PersistentVector.EMPTY_NODE,[1,1,0,1],null))),hoplon.core.tr.call(null,new cljs.core.Keyword(null,"css","css",1135045163),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"text-align","text-align",1786091845),"center"],null),hoplon.core.td.call(null),function(){var b=function(a,b){return function(a,
b){a=a instanceof cljs.core.Keyword?a.fqn:null;switch(a){case "from":return hoplon.core.td.call(null,new cljs.core.Keyword(null,"css","css",1135045163),cljs.core.merge.call(null,new cljs.core.PersistentArrayMap(null,4,[new cljs.core.Keyword(null,"background","background",-863952629),"lightgray",new cljs.core.Keyword(null,"border-width","border-width",-1512605390),weathergen.ui.common.px.call(null,1),new cljs.core.Keyword(null,"border-style","border-style",-485574304),"solid",new cljs.core.Keyword(null,
"border-color","border-color",-2059162761),"black"],null),cljs.core._EQ_.call(null,b,new cljs.core.Keyword(null,"coverage","coverage",1606292651))?new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"margin","margin",-995903681),weathergen.ui.common.px.call(null,0,5)],null):null),"From");case "to":return hoplon.core.td.call(null,new cljs.core.Keyword(null,"css","css",1135045163),cljs.core.merge.call(null,new cljs.core.PersistentArrayMap(null,4,[new cljs.core.Keyword(null,"background",
"background",-863952629),"#bdbdbd",new cljs.core.Keyword(null,"border-width","border-width",-1512605390),weathergen.ui.common.px.call(null,1),new cljs.core.Keyword(null,"border-style","border-style",-485574304),"solid",new cljs.core.Keyword(null,"border-color","border-color",-2059162761),"black"],null),cljs.core._EQ_.call(null,b,new cljs.core.Keyword(null,"coverage","coverage",1606292651))?new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"margin","margin",-995903681),weathergen.ui.common.px.call(null,
0,5)],null):null),"To");default:throw Error(["No matching clause: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(a)].join(""));}}}(a,c);return new cljs.core.PersistentVector(null,6,5,cljs.core.PersistentVector.EMPTY_NODE,[b.call(null,new cljs.core.Keyword(null,"from","from",1815293044),new cljs.core.Keyword(null,"base","base",185279322)),b.call(null,new cljs.core.Keyword(null,"to","to",192099007),new cljs.core.Keyword(null,"base","base",185279322)),b.call(null,new cljs.core.Keyword(null,"from","from",
1815293044),new cljs.core.Keyword(null,"size","size",1098693007)),b.call(null,new cljs.core.Keyword(null,"to","to",192099007),new cljs.core.Keyword(null,"size","size",1098693007)),b.call(null,new cljs.core.Keyword(null,"from","from",1815293044),new cljs.core.Keyword(null,"coverage","coverage",1606292651)),b.call(null,new cljs.core.Keyword(null,"to","to",192099007),new cljs.core.Keyword(null,"coverage","coverage",1606292651))],null)}(),hoplon.core.td.call(null,new cljs.core.Keyword(null,"css","css",
1135045163),new cljs.core.PersistentArrayMap(null,4,[new cljs.core.Keyword(null,"background","background",-863952629),"lightgray",new cljs.core.Keyword(null,"border-width","border-width",-1512605390),weathergen.ui.common.px.call(null,0,1,1,1),new cljs.core.Keyword(null,"border-color","border-color",-2059162761),"black",new cljs.core.Keyword(null,"border-style","border-style",-485574304),"solid"],null)))],null)}()),hoplon.core.tbody.call(null,function(){return function d(a){return new cljs.core.LazySeq(null,
function(){for(;;){var c=cljs.core.seq.call(null,a);if(c){var f=c;if(cljs.core.chunked_seq_QMARK_.call(null,f)){var g=cljs.core.chunk_first.call(null,f),h=cljs.core.count.call(null,g),k=cljs.core.chunk_buffer.call(null,h);return function(){for(var a=0;;)if(a<h){var d=cljs.core._nth.call(null,g,a);cljs.core.chunk_append.call(null,k,hoplon.core.tr.call(null,hoplon.core.td.call(null,new cljs.core.Keyword(null,"class","class",-2030961996),["weather-type ",cljs.core.name.call(null,d)].join(""),new cljs.core.Keyword(null,
"css","css",1135045163),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"background-color","background-color",570434026),function(){var a=weathergen.ui.weather_color.call(null,d),c=cljs.core.nth.call(null,a,0,null),e=cljs.core.nth.call(null,a,1,null);a=cljs.core.nth.call(null,a,2,null);return["rgb(",cljs.core.str.cljs$core$IFn$_invoke$arity$1(c),",",cljs.core.str.cljs$core$IFn$_invoke$arity$1(e),",",cljs.core.str.cljs$core$IFn$_invoke$arity$1(a),")"].join("")}()],null),weathergen.ui.type_key__GT_name.call(null,
d)),function(){return function(a,c,d,e,f,g,h){return function z(k){return new cljs.core.LazySeq(null,function(a,c,d,e,f,g,h){return function(){for(;;){var l=cljs.core.seq.call(null,k);if(l){var m=l;if(cljs.core.chunked_seq_QMARK_.call(null,m)){var n=cljs.core.chunk_first.call(null,m),p=cljs.core.count.call(null,n),q=cljs.core.chunk_buffer.call(null,p);return function(){for(var k=0;;)if(k<p){var r=cljs.core._nth.call(null,n,k),t=cljs.core.nth.call(null,r,0,null),u=cljs.core.nth.call(null,r,1,null),
v=cljs.core.nth.call(null,r,2,null),w=r;cljs.core.chunk_append.call(null,q,hoplon.core.td.call(null,hoplon.core.div.call(null,new cljs.core.Keyword(null,"css","css",1135045163),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"margin","margin",-995903681),weathergen.ui.common.px.call(null,0,2)],null),cljs.core._EQ_.call(null,new cljs.core.Keyword(null,"coverage","coverage",1606292651),u)?function(){var y=new cljs.core.PersistentArrayMap(null,4,[new cljs.core.Keyword(null,"few",
"few",941665998),1,new cljs.core.Keyword(null,"scattered","scattered",-1263632526),5,new cljs.core.Keyword(null,"broken","broken",-1742446874),9,new cljs.core.Keyword(null,"overcast","overcast",-2096313755),13],null),z=weathergen.ui.common.path_lens.call(null,weathergen.ui.weather_params,cljs.core.into.call(null,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"categories","categories",178386610),c],null),w));hoplon.core.do_watch.call(null,
z,function(a,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,y,z){return function(a,c){a=cljs.core.concat.call(null,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"categories","categories",178386610),t],null),cljs.core.butlast.call(null,l),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[cljs.core.get.call(null,new cljs.core.PersistentArrayMap(null,2,[new cljs.core.Keyword(null,"from","from",1815293044),new cljs.core.Keyword(null,
"to","to",192099007),new cljs.core.Keyword(null,"to","to",192099007),new cljs.core.Keyword(null,"from","from",1815293044)],null),k)],null));var e=cljs.core._EQ_.call(null,k,new cljs.core.Keyword(null,"to","to",192099007))?cljs.core._LT_:cljs.core._GT_;return cljs.core.truth_(e.call(null,d.call(null,c),d.call(null,cljs.core.get_in.call(null,cljs.core.deref.call(null,weathergen.ui.weather_params),a))))?cljs.core.swap_BANG_.call(null,weathergen.ui.weather_params,cljs.core.assoc_in,a,c):null}}(k,a,y,
z,r,t,u,v,w,n,p,q,m,l,c,d,e,f,g,h));return weathergen.ui.common.dropdown.call(null,new cljs.core.Keyword(null,"value","value",305978217),weathergen.ui.common.path_lens.call(null,weathergen.ui.weather_params,cljs.core.into.call(null,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"categories","categories",178386610),c],null),w)),new cljs.core.Keyword(null,"choices","choices",1385611597),function(){var a=c instanceof cljs.core.Keyword?c.fqn:
null;switch(a){case "fair":return new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.PersistentArrayMap(null,2,[new cljs.core.Keyword(null,"value","value",305978217),new cljs.core.Keyword(null,"few","few",941665998),new cljs.core.Keyword(null,"label","label",1718410804),"FEW"],null),new cljs.core.PersistentArrayMap(null,2,[new cljs.core.Keyword(null,"value","value",305978217),new cljs.core.Keyword(null,"scattered","scattered",-1263632526),new cljs.core.Keyword(null,
"label","label",1718410804),"SCT"],null),new cljs.core.PersistentArrayMap(null,2,[new cljs.core.Keyword(null,"value","value",305978217),new cljs.core.Keyword(null,"broken","broken",-1742446874),new cljs.core.Keyword(null,"label","label",1718410804),"BKN"],null)],null);case "poor":case "inclement":return new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.PersistentArrayMap(null,2,[new cljs.core.Keyword(null,"value","value",305978217),new cljs.core.Keyword(null,
"scattered","scattered",-1263632526),new cljs.core.Keyword(null,"label","label",1718410804),"SCT"],null),new cljs.core.PersistentArrayMap(null,2,[new cljs.core.Keyword(null,"value","value",305978217),new cljs.core.Keyword(null,"broken","broken",-1742446874),new cljs.core.Keyword(null,"label","label",1718410804),"BKN"],null),new cljs.core.PersistentArrayMap(null,2,[new cljs.core.Keyword(null,"value","value",305978217),new cljs.core.Keyword(null,"overcast","overcast",-2096313755),new cljs.core.Keyword(null,
"label","label",1718410804),"OVC"],null)],null);default:throw Error(["No matching clause: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(a)].join(""));}}())}():cljs.core._EQ_.call(null,new cljs.core.Keyword(null,"towering","towering",-44547353),u)?weathergen.ui.common.dropdown.call(null,new cljs.core.Keyword(null,"value","value",305978217),weathergen.ui.common.path_lens.call(null,weathergen.ui.weather_params,cljs.core.into.call(null,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,
[new cljs.core.Keyword(null,"categories","categories",178386610),c],null),w)),new cljs.core.Keyword(null,"choices","choices",1385611597),cljs.core.mapv.call(null,function(a,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w){return function(a){var c=cljs.core.nth.call(null,a,0,null);a=cljs.core.nth.call(null,a,1,null);return new cljs.core.PersistentArrayMap(null,2,[new cljs.core.Keyword(null,"value","value",305978217),cljs.core.get_in.call(null,weathergen.ui.towering_thresholds,new cljs.core.PersistentVector(null,
2,5,cljs.core.PersistentVector.EMPTY_NODE,[q,c],null)),new cljs.core.Keyword(null,"label","label",1718410804),a],null)}}(k,a,r,t,u,v,w,n,p,q,m,l,c,d,e,f,g,h),weathergen.ui.towering_threshold_names)):weathergen.ui.common.validating_edit.call(null,new cljs.core.Keyword(null,"source","source",-433931539),weathergen.ui.common.path_lens.call(null,weathergen.ui.weather_params,cljs.core.into.call(null,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,
"categories","categories",178386610),c],null),w)),new cljs.core.Keyword(null,"fmt","fmt",332300772),cljs.core._EQ_.call(null,t,new cljs.core.Keyword(null,"visibility","visibility",1338380893))?weathergen.ui.format_visibility:cljs.core._EQ_.call(null,u,new cljs.core.Keyword(null,"size","size",1098693007))?function(a,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w){return function(a){return a.toFixed(2)}}(k,a,r,t,u,v,w,n,p,q,m,l,c,d,e,f,g,h):cljs.core.str,new cljs.core.Keyword(null,"conform","conform",1846236460),
cljs.core._EQ_.call(null,t,new cljs.core.Keyword(null,"visibility","visibility",1338380893))?weathergen.ui.common.float_conformer.call(null,0,60):cljs.core._EQ_.call(null,new cljs.core.Keyword(null,"size","size",1098693007),u)?weathergen.ui.common.float_conformer.call(null,0,5):cljs.core._EQ_.call(null,new cljs.core.Keyword(null,"coverage","coverage",1606292651),u)?weathergen.ui.common.int_conformer.call(null,function(){var a=c instanceof cljs.core.Keyword?c.fqn:null;switch(a){case "fair":return 0;
case "poor":return 5;case "inclement":return 5;default:throw Error(["No matching clause: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(a)].join(""));}}(),9):cljs.core._EQ_.call(null,new cljs.core.Keyword(null,"base","base",185279322),u)?weathergen.ui.common.int_conformer.call(null,0,1E4):weathergen.ui.common.int_conformer.call(null,0,6E4),new cljs.core.Keyword(null,"placeholder","placeholder",-104873083),cljs.core._EQ_.call(null,t,new cljs.core.Keyword(null,"visibility","visibility",1338380893))?
"0.1-60":cljs.core._EQ_.call(null,u,new cljs.core.Keyword(null,"coverage","coverage",1606292651))?"0-9":cljs.core._EQ_.call(null,u,new cljs.core.Keyword(null,"size","size",1098693007))?"0-5":"altitude (ft)",new cljs.core.Keyword(null,"align","align",1964212802),"right",new cljs.core.Keyword(null,"width","width",-384071477),cljs.core._EQ_.call(null,new cljs.core.Keyword(null,"size","size",1098693007),u)?55:cljs.core._EQ_.call(null,new cljs.core.Keyword(null,"coverage","coverage",1606292651),u)?45:
55))));k+=1}else return!0}()?cljs.core.chunk_cons.call(null,cljs.core.chunk.call(null,q),z.call(null,cljs.core.chunk_rest.call(null,m))):cljs.core.chunk_cons.call(null,cljs.core.chunk.call(null,q),null)}var r=cljs.core.first.call(null,m),t=cljs.core.nth.call(null,r,0,null),u=cljs.core.nth.call(null,r,1,null),v=cljs.core.nth.call(null,r,2,null),w=r;return cljs.core.cons.call(null,hoplon.core.td.call(null,hoplon.core.div.call(null,new cljs.core.Keyword(null,"css","css",1135045163),new cljs.core.PersistentArrayMap(null,
1,[new cljs.core.Keyword(null,"margin","margin",-995903681),weathergen.ui.common.px.call(null,0,2)],null),cljs.core._EQ_.call(null,new cljs.core.Keyword(null,"coverage","coverage",1606292651),u)?function(){var k=new cljs.core.PersistentArrayMap(null,4,[new cljs.core.Keyword(null,"few","few",941665998),1,new cljs.core.Keyword(null,"scattered","scattered",-1263632526),5,new cljs.core.Keyword(null,"broken","broken",-1742446874),9,new cljs.core.Keyword(null,"overcast","overcast",-2096313755),13],null),
n=weathergen.ui.common.path_lens.call(null,weathergen.ui.weather_params,cljs.core.into.call(null,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"categories","categories",178386610),c],null),w));hoplon.core.do_watch.call(null,n,function(a,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u){return function(a,d){a=cljs.core.concat.call(null,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"categories","categories",
178386610),n],null),cljs.core.butlast.call(null,k),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[cljs.core.get.call(null,new cljs.core.PersistentArrayMap(null,2,[new cljs.core.Keyword(null,"from","from",1815293044),new cljs.core.Keyword(null,"to","to",192099007),new cljs.core.Keyword(null,"to","to",192099007),new cljs.core.Keyword(null,"from","from",1815293044)],null),h)],null));var e=cljs.core._EQ_.call(null,h,new cljs.core.Keyword(null,"to","to",192099007))?cljs.core._LT_:
cljs.core._GT_;return cljs.core.truth_(e.call(null,c.call(null,d),c.call(null,cljs.core.get_in.call(null,cljs.core.deref.call(null,weathergen.ui.weather_params),a))))?cljs.core.swap_BANG_.call(null,weathergen.ui.weather_params,cljs.core.assoc_in,a,d):null}}(a,k,n,r,t,u,v,w,m,l,c,d,e,f,g,h));return weathergen.ui.common.dropdown.call(null,new cljs.core.Keyword(null,"value","value",305978217),weathergen.ui.common.path_lens.call(null,weathergen.ui.weather_params,cljs.core.into.call(null,new cljs.core.PersistentVector(null,
2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"categories","categories",178386610),c],null),w)),new cljs.core.Keyword(null,"choices","choices",1385611597),function(){var a=c instanceof cljs.core.Keyword?c.fqn:null;switch(a){case "fair":return new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.PersistentArrayMap(null,2,[new cljs.core.Keyword(null,"value","value",305978217),new cljs.core.Keyword(null,"few","few",941665998),new cljs.core.Keyword(null,
"label","label",1718410804),"FEW"],null),new cljs.core.PersistentArrayMap(null,2,[new cljs.core.Keyword(null,"value","value",305978217),new cljs.core.Keyword(null,"scattered","scattered",-1263632526),new cljs.core.Keyword(null,"label","label",1718410804),"SCT"],null),new cljs.core.PersistentArrayMap(null,2,[new cljs.core.Keyword(null,"value","value",305978217),new cljs.core.Keyword(null,"broken","broken",-1742446874),new cljs.core.Keyword(null,"label","label",1718410804),"BKN"],null)],null);case "poor":case "inclement":return new cljs.core.PersistentVector(null,
3,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.PersistentArrayMap(null,2,[new cljs.core.Keyword(null,"value","value",305978217),new cljs.core.Keyword(null,"scattered","scattered",-1263632526),new cljs.core.Keyword(null,"label","label",1718410804),"SCT"],null),new cljs.core.PersistentArrayMap(null,2,[new cljs.core.Keyword(null,"value","value",305978217),new cljs.core.Keyword(null,"broken","broken",-1742446874),new cljs.core.Keyword(null,"label","label",1718410804),"BKN"],null),new cljs.core.PersistentArrayMap(null,
2,[new cljs.core.Keyword(null,"value","value",305978217),new cljs.core.Keyword(null,"overcast","overcast",-2096313755),new cljs.core.Keyword(null,"label","label",1718410804),"OVC"],null)],null);default:throw Error(["No matching clause: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(a)].join(""));}}())}():cljs.core._EQ_.call(null,new cljs.core.Keyword(null,"towering","towering",-44547353),u)?weathergen.ui.common.dropdown.call(null,new cljs.core.Keyword(null,"value","value",305978217),weathergen.ui.common.path_lens.call(null,
weathergen.ui.weather_params,cljs.core.into.call(null,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"categories","categories",178386610),c],null),w)),new cljs.core.Keyword(null,"choices","choices",1385611597),cljs.core.mapv.call(null,function(a,c,d,e,f,g,h,k,l,m,n,p,q,r){return function(a){var c=cljs.core.nth.call(null,a,0,null);a=cljs.core.nth.call(null,a,1,null);return new cljs.core.PersistentArrayMap(null,2,[new cljs.core.Keyword(null,
"value","value",305978217),cljs.core.get_in.call(null,weathergen.ui.towering_thresholds,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[l,c],null)),new cljs.core.Keyword(null,"label","label",1718410804),a],null)}}(a,r,t,u,v,w,m,l,c,d,e,f,g,h),weathergen.ui.towering_threshold_names)):weathergen.ui.common.validating_edit.call(null,new cljs.core.Keyword(null,"source","source",-433931539),weathergen.ui.common.path_lens.call(null,weathergen.ui.weather_params,cljs.core.into.call(null,
new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"categories","categories",178386610),c],null),w)),new cljs.core.Keyword(null,"fmt","fmt",332300772),cljs.core._EQ_.call(null,t,new cljs.core.Keyword(null,"visibility","visibility",1338380893))?weathergen.ui.format_visibility:cljs.core._EQ_.call(null,u,new cljs.core.Keyword(null,"size","size",1098693007))?function(a,c,d,e,f,g,h,k,l,m,n,p,q,r){return function(a){return a.toFixed(2)}}(a,r,t,u,v,
w,m,l,c,d,e,f,g,h):cljs.core.str,new cljs.core.Keyword(null,"conform","conform",1846236460),cljs.core._EQ_.call(null,t,new cljs.core.Keyword(null,"visibility","visibility",1338380893))?weathergen.ui.common.float_conformer.call(null,0,60):cljs.core._EQ_.call(null,new cljs.core.Keyword(null,"size","size",1098693007),u)?weathergen.ui.common.float_conformer.call(null,0,5):cljs.core._EQ_.call(null,new cljs.core.Keyword(null,"coverage","coverage",1606292651),u)?weathergen.ui.common.int_conformer.call(null,
function(){var a=c instanceof cljs.core.Keyword?c.fqn:null;switch(a){case "fair":return 0;case "poor":return 5;case "inclement":return 5;default:throw Error(["No matching clause: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(a)].join(""));}}(),9):cljs.core._EQ_.call(null,new cljs.core.Keyword(null,"base","base",185279322),u)?weathergen.ui.common.int_conformer.call(null,0,1E4):weathergen.ui.common.int_conformer.call(null,0,6E4),new cljs.core.Keyword(null,"placeholder","placeholder",-104873083),cljs.core._EQ_.call(null,
t,new cljs.core.Keyword(null,"visibility","visibility",1338380893))?"0.1-60":cljs.core._EQ_.call(null,u,new cljs.core.Keyword(null,"coverage","coverage",1606292651))?"0-9":cljs.core._EQ_.call(null,u,new cljs.core.Keyword(null,"size","size",1098693007))?"0-5":"altitude (ft)",new cljs.core.Keyword(null,"align","align",1964212802),"right",new cljs.core.Keyword(null,"width","width",-384071477),cljs.core._EQ_.call(null,new cljs.core.Keyword(null,"size","size",1098693007),u)?55:cljs.core._EQ_.call(null,
new cljs.core.Keyword(null,"coverage","coverage",1606292651),u)?45:55))),z.call(null,cljs.core.rest.call(null,m)))}return null}}}(a,c,d,e,f,g,h),null,null)}}(a,d,g,h,k,f,c).call(null,new cljs.core.PersistentVector(null,7,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"low-clouds","low-clouds",-702988471),new cljs.core.Keyword(null,"base","base",185279322),new cljs.core.Keyword(null,"from","from",1815293044)],
null),new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"low-clouds","low-clouds",-702988471),new cljs.core.Keyword(null,"base","base",185279322),new cljs.core.Keyword(null,"to","to",192099007)],null),new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"low-clouds","low-clouds",-702988471),new cljs.core.Keyword(null,"size","size",1098693007),new cljs.core.Keyword(null,"from","from",1815293044)],
null),new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"low-clouds","low-clouds",-702988471),new cljs.core.Keyword(null,"size","size",1098693007),new cljs.core.Keyword(null,"to","to",192099007)],null),new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"low-clouds","low-clouds",-702988471),new cljs.core.Keyword(null,"coverage","coverage",1606292651),new cljs.core.Keyword(null,"from","from",
1815293044)],null),new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"low-clouds","low-clouds",-702988471),new cljs.core.Keyword(null,"coverage","coverage",1606292651),new cljs.core.Keyword(null,"to","to",192099007)],null),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"low-clouds","low-clouds",-702988471),new cljs.core.Keyword(null,"towering","towering",-44547353)],null)],null))}()));
a+=1}else return!0}()?cljs.core.chunk_cons.call(null,cljs.core.chunk.call(null,k),d.call(null,cljs.core.chunk_rest.call(null,f))):cljs.core.chunk_cons.call(null,cljs.core.chunk.call(null,k),null)}var l=cljs.core.first.call(null,f);return cljs.core.cons.call(null,hoplon.core.tr.call(null,hoplon.core.td.call(null,new cljs.core.Keyword(null,"class","class",-2030961996),["weather-type ",cljs.core.name.call(null,l)].join(""),new cljs.core.Keyword(null,"css","css",1135045163),new cljs.core.PersistentArrayMap(null,
1,[new cljs.core.Keyword(null,"background-color","background-color",570434026),function(){var a=weathergen.ui.weather_color.call(null,l),c=cljs.core.nth.call(null,a,0,null),d=cljs.core.nth.call(null,a,1,null);a=cljs.core.nth.call(null,a,2,null);return["rgb(",cljs.core.str.cljs$core$IFn$_invoke$arity$1(c),",",cljs.core.str.cljs$core$IFn$_invoke$arity$1(d),",",cljs.core.str.cljs$core$IFn$_invoke$arity$1(a),")"].join("")}()],null),weathergen.ui.type_key__GT_name.call(null,l)),function(){return function(a,
c,d){return function u(e){return new cljs.core.LazySeq(null,function(a,c,d){return function(){for(;;){var f=cljs.core.seq.call(null,e);if(f){var g=f;if(cljs.core.chunked_seq_QMARK_.call(null,g)){var h=cljs.core.chunk_first.call(null,g),k=cljs.core.count.call(null,h),l=cljs.core.chunk_buffer.call(null,k);return function(){for(var e=0;;)if(e<k){var m=cljs.core._nth.call(null,h,e),n=cljs.core.nth.call(null,m,0,null),p=cljs.core.nth.call(null,m,1,null),r=cljs.core.nth.call(null,m,2,null),t=m;cljs.core.chunk_append.call(null,
l,hoplon.core.td.call(null,hoplon.core.div.call(null,new cljs.core.Keyword(null,"css","css",1135045163),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"margin","margin",-995903681),weathergen.ui.common.px.call(null,0,2)],null),cljs.core._EQ_.call(null,new cljs.core.Keyword(null,"coverage","coverage",1606292651),p)?function(){var u=new cljs.core.PersistentArrayMap(null,4,[new cljs.core.Keyword(null,"few","few",941665998),1,new cljs.core.Keyword(null,"scattered","scattered",-1263632526),
5,new cljs.core.Keyword(null,"broken","broken",-1742446874),9,new cljs.core.Keyword(null,"overcast","overcast",-2096313755),13],null),v=weathergen.ui.common.path_lens.call(null,weathergen.ui.weather_params,cljs.core.into.call(null,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"categories","categories",178386610),a],null),t));hoplon.core.do_watch.call(null,v,function(a,c,d,e,f,g,h,k,l,m,n,p,r,t,u,v){return function(a,d){a=cljs.core.concat.call(null,
new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"categories","categories",178386610),t],null),cljs.core.butlast.call(null,k),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[cljs.core.get.call(null,new cljs.core.PersistentArrayMap(null,2,[new cljs.core.Keyword(null,"from","from",1815293044),new cljs.core.Keyword(null,"to","to",192099007),new cljs.core.Keyword(null,"to","to",192099007),new cljs.core.Keyword(null,
"from","from",1815293044)],null),h)],null));var e=cljs.core._EQ_.call(null,h,new cljs.core.Keyword(null,"to","to",192099007))?cljs.core._LT_:cljs.core._GT_;return cljs.core.truth_(e.call(null,c.call(null,d),c.call(null,cljs.core.get_in.call(null,cljs.core.deref.call(null,weathergen.ui.weather_params),a))))?cljs.core.swap_BANG_.call(null,weathergen.ui.weather_params,cljs.core.assoc_in,a,d):null}}(e,u,v,m,n,p,r,t,h,k,l,g,f,a,c,d));return weathergen.ui.common.dropdown.call(null,new cljs.core.Keyword(null,
"value","value",305978217),weathergen.ui.common.path_lens.call(null,weathergen.ui.weather_params,cljs.core.into.call(null,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"categories","categories",178386610),a],null),t)),new cljs.core.Keyword(null,"choices","choices",1385611597),function(){var c=a instanceof cljs.core.Keyword?a.fqn:null;switch(c){case "fair":return new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,
[new cljs.core.PersistentArrayMap(null,2,[new cljs.core.Keyword(null,"value","value",305978217),new cljs.core.Keyword(null,"few","few",941665998),new cljs.core.Keyword(null,"label","label",1718410804),"FEW"],null),new cljs.core.PersistentArrayMap(null,2,[new cljs.core.Keyword(null,"value","value",305978217),new cljs.core.Keyword(null,"scattered","scattered",-1263632526),new cljs.core.Keyword(null,"label","label",1718410804),"SCT"],null),new cljs.core.PersistentArrayMap(null,2,[new cljs.core.Keyword(null,
"value","value",305978217),new cljs.core.Keyword(null,"broken","broken",-1742446874),new cljs.core.Keyword(null,"label","label",1718410804),"BKN"],null)],null);case "poor":case "inclement":return new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.PersistentArrayMap(null,2,[new cljs.core.Keyword(null,"value","value",305978217),new cljs.core.Keyword(null,"scattered","scattered",-1263632526),new cljs.core.Keyword(null,"label","label",1718410804),"SCT"],null),
new cljs.core.PersistentArrayMap(null,2,[new cljs.core.Keyword(null,"value","value",305978217),new cljs.core.Keyword(null,"broken","broken",-1742446874),new cljs.core.Keyword(null,"label","label",1718410804),"BKN"],null),new cljs.core.PersistentArrayMap(null,2,[new cljs.core.Keyword(null,"value","value",305978217),new cljs.core.Keyword(null,"overcast","overcast",-2096313755),new cljs.core.Keyword(null,"label","label",1718410804),"OVC"],null)],null);default:throw Error(["No matching clause: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(c)].join(""));
}}())}():cljs.core._EQ_.call(null,new cljs.core.Keyword(null,"towering","towering",-44547353),p)?weathergen.ui.common.dropdown.call(null,new cljs.core.Keyword(null,"value","value",305978217),weathergen.ui.common.path_lens.call(null,weathergen.ui.weather_params,cljs.core.into.call(null,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"categories","categories",178386610),a],null),t)),new cljs.core.Keyword(null,"choices","choices",1385611597),
cljs.core.mapv.call(null,function(a,c,d,e,f,g,h,k,l,m,n,p,r,t){return function(a){var c=cljs.core.nth.call(null,a,0,null);a=cljs.core.nth.call(null,a,1,null);return new cljs.core.PersistentArrayMap(null,2,[new cljs.core.Keyword(null,"value","value",305978217),cljs.core.get_in.call(null,weathergen.ui.towering_thresholds,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[p,c],null)),new cljs.core.Keyword(null,"label","label",1718410804),a],null)}}(e,m,n,p,r,t,h,k,l,g,f,a,
c,d),weathergen.ui.towering_threshold_names)):weathergen.ui.common.validating_edit.call(null,new cljs.core.Keyword(null,"source","source",-433931539),weathergen.ui.common.path_lens.call(null,weathergen.ui.weather_params,cljs.core.into.call(null,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"categories","categories",178386610),a],null),t)),new cljs.core.Keyword(null,"fmt","fmt",332300772),cljs.core._EQ_.call(null,n,new cljs.core.Keyword(null,
"visibility","visibility",1338380893))?weathergen.ui.format_visibility:cljs.core._EQ_.call(null,p,new cljs.core.Keyword(null,"size","size",1098693007))?function(a,c,d,e,f,g,h,k,l,m,n,p,r,t){return function(a){return a.toFixed(2)}}(e,m,n,p,r,t,h,k,l,g,f,a,c,d):cljs.core.str,new cljs.core.Keyword(null,"conform","conform",1846236460),cljs.core._EQ_.call(null,n,new cljs.core.Keyword(null,"visibility","visibility",1338380893))?weathergen.ui.common.float_conformer.call(null,0,60):cljs.core._EQ_.call(null,
new cljs.core.Keyword(null,"size","size",1098693007),p)?weathergen.ui.common.float_conformer.call(null,0,5):cljs.core._EQ_.call(null,new cljs.core.Keyword(null,"coverage","coverage",1606292651),p)?weathergen.ui.common.int_conformer.call(null,function(){var c=a instanceof cljs.core.Keyword?a.fqn:null;switch(c){case "fair":return 0;case "poor":return 5;case "inclement":return 5;default:throw Error(["No matching clause: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(c)].join(""));}}(),9):cljs.core._EQ_.call(null,
new cljs.core.Keyword(null,"base","base",185279322),p)?weathergen.ui.common.int_conformer.call(null,0,1E4):weathergen.ui.common.int_conformer.call(null,0,6E4),new cljs.core.Keyword(null,"placeholder","placeholder",-104873083),cljs.core._EQ_.call(null,n,new cljs.core.Keyword(null,"visibility","visibility",1338380893))?"0.1-60":cljs.core._EQ_.call(null,p,new cljs.core.Keyword(null,"coverage","coverage",1606292651))?"0-9":cljs.core._EQ_.call(null,p,new cljs.core.Keyword(null,"size","size",1098693007))?
"0-5":"altitude (ft)",new cljs.core.Keyword(null,"align","align",1964212802),"right",new cljs.core.Keyword(null,"width","width",-384071477),cljs.core._EQ_.call(null,new cljs.core.Keyword(null,"size","size",1098693007),p)?55:cljs.core._EQ_.call(null,new cljs.core.Keyword(null,"coverage","coverage",1606292651),p)?45:55))));e+=1}else return!0}()?cljs.core.chunk_cons.call(null,cljs.core.chunk.call(null,l),u.call(null,cljs.core.chunk_rest.call(null,g))):cljs.core.chunk_cons.call(null,cljs.core.chunk.call(null,
l),null)}var m=cljs.core.first.call(null,g),n=cljs.core.nth.call(null,m,0,null),p=cljs.core.nth.call(null,m,1,null),r=cljs.core.nth.call(null,m,2,null),t=m;return cljs.core.cons.call(null,hoplon.core.td.call(null,hoplon.core.div.call(null,new cljs.core.Keyword(null,"css","css",1135045163),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"margin","margin",-995903681),weathergen.ui.common.px.call(null,0,2)],null),cljs.core._EQ_.call(null,new cljs.core.Keyword(null,"coverage","coverage",
1606292651),p)?function(){var e=new cljs.core.PersistentArrayMap(null,4,[new cljs.core.Keyword(null,"few","few",941665998),1,new cljs.core.Keyword(null,"scattered","scattered",-1263632526),5,new cljs.core.Keyword(null,"broken","broken",-1742446874),9,new cljs.core.Keyword(null,"overcast","overcast",-2096313755),13],null),h=weathergen.ui.common.path_lens.call(null,weathergen.ui.weather_params,cljs.core.into.call(null,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,
"categories","categories",178386610),a],null),t));hoplon.core.do_watch.call(null,h,function(a,c,d,e,f,g,h,k,l,m,n,p){return function(c,d){c=cljs.core.concat.call(null,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"categories","categories",178386610),m],null),cljs.core.butlast.call(null,h),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[cljs.core.get.call(null,new cljs.core.PersistentArrayMap(null,2,[new cljs.core.Keyword(null,
"from","from",1815293044),new cljs.core.Keyword(null,"to","to",192099007),new cljs.core.Keyword(null,"to","to",192099007),new cljs.core.Keyword(null,"from","from",1815293044)],null),g)],null));var e=cljs.core._EQ_.call(null,g,new cljs.core.Keyword(null,"to","to",192099007))?cljs.core._LT_:cljs.core._GT_;return cljs.core.truth_(e.call(null,a.call(null,d),a.call(null,cljs.core.get_in.call(null,cljs.core.deref.call(null,weathergen.ui.weather_params),c))))?cljs.core.swap_BANG_.call(null,weathergen.ui.weather_params,
cljs.core.assoc_in,c,d):null}}(e,h,m,n,p,r,t,g,f,a,c,d));return weathergen.ui.common.dropdown.call(null,new cljs.core.Keyword(null,"value","value",305978217),weathergen.ui.common.path_lens.call(null,weathergen.ui.weather_params,cljs.core.into.call(null,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"categories","categories",178386610),a],null),t)),new cljs.core.Keyword(null,"choices","choices",1385611597),function(){var c=a instanceof cljs.core.Keyword?
a.fqn:null;switch(c){case "fair":return new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.PersistentArrayMap(null,2,[new cljs.core.Keyword(null,"value","value",305978217),new cljs.core.Keyword(null,"few","few",941665998),new cljs.core.Keyword(null,"label","label",1718410804),"FEW"],null),new cljs.core.PersistentArrayMap(null,2,[new cljs.core.Keyword(null,"value","value",305978217),new cljs.core.Keyword(null,"scattered","scattered",-1263632526),new cljs.core.Keyword(null,
"label","label",1718410804),"SCT"],null),new cljs.core.PersistentArrayMap(null,2,[new cljs.core.Keyword(null,"value","value",305978217),new cljs.core.Keyword(null,"broken","broken",-1742446874),new cljs.core.Keyword(null,"label","label",1718410804),"BKN"],null)],null);case "poor":case "inclement":return new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.PersistentArrayMap(null,2,[new cljs.core.Keyword(null,"value","value",305978217),new cljs.core.Keyword(null,
"scattered","scattered",-1263632526),new cljs.core.Keyword(null,"label","label",1718410804),"SCT"],null),new cljs.core.PersistentArrayMap(null,2,[new cljs.core.Keyword(null,"value","value",305978217),new cljs.core.Keyword(null,"broken","broken",-1742446874),new cljs.core.Keyword(null,"label","label",1718410804),"BKN"],null),new cljs.core.PersistentArrayMap(null,2,[new cljs.core.Keyword(null,"value","value",305978217),new cljs.core.Keyword(null,"overcast","overcast",-2096313755),new cljs.core.Keyword(null,
"label","label",1718410804),"OVC"],null)],null);default:throw Error(["No matching clause: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(c)].join(""));}}())}():cljs.core._EQ_.call(null,new cljs.core.Keyword(null,"towering","towering",-44547353),p)?weathergen.ui.common.dropdown.call(null,new cljs.core.Keyword(null,"value","value",305978217),weathergen.ui.common.path_lens.call(null,weathergen.ui.weather_params,cljs.core.into.call(null,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,
[new cljs.core.Keyword(null,"categories","categories",178386610),a],null),t)),new cljs.core.Keyword(null,"choices","choices",1385611597),cljs.core.mapv.call(null,function(a,c,d,e,f,g,h,k,l,m){return function(a){var c=cljs.core.nth.call(null,a,0,null);a=cljs.core.nth.call(null,a,1,null);return new cljs.core.PersistentArrayMap(null,2,[new cljs.core.Keyword(null,"value","value",305978217),cljs.core.get_in.call(null,weathergen.ui.towering_thresholds,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,
[k,c],null)),new cljs.core.Keyword(null,"label","label",1718410804),a],null)}}(m,n,p,r,t,g,f,a,c,d),weathergen.ui.towering_threshold_names)):weathergen.ui.common.validating_edit.call(null,new cljs.core.Keyword(null,"source","source",-433931539),weathergen.ui.common.path_lens.call(null,weathergen.ui.weather_params,cljs.core.into.call(null,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"categories","categories",178386610),a],null),t)),new cljs.core.Keyword(null,
"fmt","fmt",332300772),cljs.core._EQ_.call(null,n,new cljs.core.Keyword(null,"visibility","visibility",1338380893))?weathergen.ui.format_visibility:cljs.core._EQ_.call(null,p,new cljs.core.Keyword(null,"size","size",1098693007))?function(a,c,d,e,f,g,h,k,l,m){return function(a){return a.toFixed(2)}}(m,n,p,r,t,g,f,a,c,d):cljs.core.str,new cljs.core.Keyword(null,"conform","conform",1846236460),cljs.core._EQ_.call(null,n,new cljs.core.Keyword(null,"visibility","visibility",1338380893))?weathergen.ui.common.float_conformer.call(null,
0,60):cljs.core._EQ_.call(null,new cljs.core.Keyword(null,"size","size",1098693007),p)?weathergen.ui.common.float_conformer.call(null,0,5):cljs.core._EQ_.call(null,new cljs.core.Keyword(null,"coverage","coverage",1606292651),p)?weathergen.ui.common.int_conformer.call(null,function(){var c=a instanceof cljs.core.Keyword?a.fqn:null;switch(c){case "fair":return 0;case "poor":return 5;case "inclement":return 5;default:throw Error(["No matching clause: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(c)].join(""));
}}(),9):cljs.core._EQ_.call(null,new cljs.core.Keyword(null,"base","base",185279322),p)?weathergen.ui.common.int_conformer.call(null,0,1E4):weathergen.ui.common.int_conformer.call(null,0,6E4),new cljs.core.Keyword(null,"placeholder","placeholder",-104873083),cljs.core._EQ_.call(null,n,new cljs.core.Keyword(null,"visibility","visibility",1338380893))?"0.1-60":cljs.core._EQ_.call(null,p,new cljs.core.Keyword(null,"coverage","coverage",1606292651))?"0-9":cljs.core._EQ_.call(null,p,new cljs.core.Keyword(null,
"size","size",1098693007))?"0-5":"altitude (ft)",new cljs.core.Keyword(null,"align","align",1964212802),"right",new cljs.core.Keyword(null,"width","width",-384071477),cljs.core._EQ_.call(null,new cljs.core.Keyword(null,"size","size",1098693007),p)?55:cljs.core._EQ_.call(null,new cljs.core.Keyword(null,"coverage","coverage",1606292651),p)?45:55))),u.call(null,cljs.core.rest.call(null,g)))}return null}}}(a,c,d),null,null)}}(l,f,c).call(null,new cljs.core.PersistentVector(null,7,5,cljs.core.PersistentVector.EMPTY_NODE,
[new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"low-clouds","low-clouds",-702988471),new cljs.core.Keyword(null,"base","base",185279322),new cljs.core.Keyword(null,"from","from",1815293044)],null),new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"low-clouds","low-clouds",-702988471),new cljs.core.Keyword(null,"base","base",185279322),new cljs.core.Keyword(null,"to","to",192099007)],
null),new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"low-clouds","low-clouds",-702988471),new cljs.core.Keyword(null,"size","size",1098693007),new cljs.core.Keyword(null,"from","from",1815293044)],null),new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"low-clouds","low-clouds",-702988471),new cljs.core.Keyword(null,"size","size",1098693007),new cljs.core.Keyword(null,"to","to",192099007)],
null),new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"low-clouds","low-clouds",-702988471),new cljs.core.Keyword(null,"coverage","coverage",1606292651),new cljs.core.Keyword(null,"from","from",1815293044)],null),new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"low-clouds","low-clouds",-702988471),new cljs.core.Keyword(null,"coverage","coverage",1606292651),new cljs.core.Keyword(null,
"to","to",192099007)],null),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"low-clouds","low-clouds",-702988471),new cljs.core.Keyword(null,"towering","towering",-44547353)],null)],null))}()),d.call(null,cljs.core.rest.call(null,f)))}return null}},null,null)}.call(null,new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"fair","fair",1684139423),new cljs.core.Keyword(null,"poor","poor",
1462482211),new cljs.core.Keyword(null,"inclement","inclement",-550669382)],null))}()))),weathergen.ui.control_subsection.call(null,new cljs.core.Keyword(null,"title","title",636505583),weathergen.help.with_help.call(null,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"visibility-and-contrails","visibility-and-contrails",-856658633),new cljs.core.Keyword(null,"overview","overview",-435037267)],null),"Visibility and Contrails"),hoplon.core.table.call(null,
new cljs.core.Keyword(null,"css","css",1135045163),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"border-collapse","border-collapse",919100239),"collapse"],null),hoplon.core.thead.call(null,function(){var a=function(a){return cljs.core.truth_(a)?new cljs.core.PersistentArrayMap(null,3,[new cljs.core.Keyword(null,"border-width","border-width",-1512605390),cljs.core.apply.call(null,weathergen.ui.common.px,a),new cljs.core.Keyword(null,"border-style","border-style",-485574304),
"solid",new cljs.core.Keyword(null,"border-color","border-color",-2059162761),"black"],null):null},c=function(a){return function(){var b=function(b,c,d,e){var f=cljs.core.nth.call(null,e,0,null),g=cljs.core.nth.call(null,e,1,null);return hoplon.core.td.call(null,new cljs.core.Keyword(null,"colspan","colspan",-1512420934),b,new cljs.core.Keyword(null,"css","css",1135045163),cljs.core.merge.call(null,new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"background","background",-863952629),
f],null),a.call(null,g)),cljs.core.map.call(null,function(a,b,d,e){return function(a){return hoplon.core.div.call(null,weathergen.help.with_help.call(null,c,a))}}(e,f,g,a),d))},c=function(a,c,d,e){var f=null;if(3<arguments.length){f=0;for(var g=Array(arguments.length-3);f<g.length;)g[f]=arguments[f+3],++f;f=new cljs.core.IndexedSeq(g,0,null)}return b.call(this,a,c,d,f)};c.cljs$lang$maxFixedArity=3;c.cljs$lang$applyTo=function(a){var c=cljs.core.first(a);a=cljs.core.next(a);var d=cljs.core.first(a);
a=cljs.core.next(a);var e=cljs.core.first(a);a=cljs.core.rest(a);return b(c,d,e,a)};c.cljs$core$IFn$_invoke$arity$variadic=b;return c}()}(a);return new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[hoplon.core.tr.call(null,new cljs.core.Keyword(null,"css","css",1135045163),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"text-align","text-align",1786091845),"center"],null),hoplon.core.td.call(null),c.call(null,2,new cljs.core.PersistentVector(null,
2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"clouds","clouds",-632461223),new cljs.core.Keyword(null,"visibility","visibility",1338380893)],null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,["Visibility"],null),null,new cljs.core.PersistentVector(null,4,5,cljs.core.PersistentVector.EMPTY_NODE,[1,1,0,1],null)),c.call(null,1,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"clouds","clouds",
-632461223),new cljs.core.Keyword(null,"contrails","contrails",1430581743)],null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,["Contrails"],null),null,new cljs.core.PersistentVector(null,4,5,cljs.core.PersistentVector.EMPTY_NODE,[1,1,0,1],null))),hoplon.core.tr.call(null,new cljs.core.Keyword(null,"css","css",1135045163),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"text-align","text-align",1786091845),"center"],null),hoplon.core.td.call(null),
hoplon.core.td.call(null,new cljs.core.Keyword(null,"css","css",1135045163),cljs.core.merge.call(null,new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"background","background",-863952629),"lightgrey"],null),a.call(null,new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[1],null))),"From"),hoplon.core.td.call(null,new cljs.core.Keyword(null,"css","css",1135045163),cljs.core.merge.call(null,new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,
"background","background",-863952629),"#bdbdbd"],null),a.call(null,new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[1],null))),"To"),hoplon.core.td.call(null,new cljs.core.Keyword(null,"css","css",1135045163),a.call(null,new cljs.core.PersistentVector(null,4,5,cljs.core.PersistentVector.EMPTY_NODE,[0,1,1,1],null))))],null)}()),hoplon.core.tbody.call(null,function(){return function d(a){return new cljs.core.LazySeq(null,function(){for(;;){var c=cljs.core.seq.call(null,
a);if(c){var f=c;if(cljs.core.chunked_seq_QMARK_.call(null,f)){var g=cljs.core.chunk_first.call(null,f),h=cljs.core.count.call(null,g),k=cljs.core.chunk_buffer.call(null,h);return function(){for(var a=0;;)if(a<h){var d=cljs.core._nth.call(null,g,a);cljs.core.chunk_append.call(null,k,hoplon.core.tr.call(null,hoplon.core.td.call(null,new cljs.core.Keyword(null,"class","class",-2030961996),["weather-type ",cljs.core.name.call(null,d)].join(""),new cljs.core.Keyword(null,"css","css",1135045163),new cljs.core.PersistentArrayMap(null,
1,[new cljs.core.Keyword(null,"background-color","background-color",570434026),function(){var a=weathergen.ui.weather_color.call(null,d),c=cljs.core.nth.call(null,a,0,null),e=cljs.core.nth.call(null,a,1,null);a=cljs.core.nth.call(null,a,2,null);return["rgb(",cljs.core.str.cljs$core$IFn$_invoke$arity$1(c),",",cljs.core.str.cljs$core$IFn$_invoke$arity$1(e),",",cljs.core.str.cljs$core$IFn$_invoke$arity$1(a),")"].join("")}()],null),weathergen.ui.type_key__GT_name.call(null,d)),function(){return function(a,
c,d,e,f,g,h){return function z(k){return new cljs.core.LazySeq(null,function(a,c,d,e,f,g,h){return function(){for(;;){var a=cljs.core.seq.call(null,k);if(a){if(cljs.core.chunked_seq_QMARK_.call(null,a)){var d=cljs.core.chunk_first.call(null,a),e=cljs.core.count.call(null,d),f=cljs.core.chunk_buffer.call(null,e);a:for(var g=0;;)if(g<e){var h=cljs.core._nth.call(null,d,g),l=cljs.core.nth.call(null,h,0,null);cljs.core.nth.call(null,h,1,null);cljs.core.nth.call(null,h,2,null);cljs.core.chunk_append.call(null,
f,hoplon.core.td.call(null,hoplon.core.div.call(null,new cljs.core.Keyword(null,"css","css",1135045163),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"margin","margin",-995903681),weathergen.ui.common.px.call(null,0,2)],null),weathergen.ui.common.validating_edit.call(null,new cljs.core.Keyword(null,"source","source",-433931539),cljs.core._EQ_.call(null,l,new cljs.core.Keyword(null,"contrails","contrails",1430581743))?weathergen.ui.common.path_lens.call(null,weathergen.ui.cloud_params,
new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"contrails","contrails",1430581743),c],null)):weathergen.ui.common.path_lens.call(null,weathergen.ui.weather_params,cljs.core.into.call(null,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"categories","categories",178386610),c],null),h)),new cljs.core.Keyword(null,"fmt","fmt",332300772),cljs.core._EQ_.call(null,l,new cljs.core.Keyword(null,
"visibility","visibility",1338380893))?weathergen.ui.format_visibility:cljs.core.str,new cljs.core.Keyword(null,"conform","conform",1846236460),cljs.core._EQ_.call(null,l,new cljs.core.Keyword(null,"visibility","visibility",1338380893))?weathergen.ui.common.float_conformer.call(null,0,60):weathergen.ui.common.int_conformer.call(null,0,6E4),new cljs.core.Keyword(null,"placeholder","placeholder",-104873083),cljs.core._EQ_.call(null,l,new cljs.core.Keyword(null,"visibility","visibility",1338380893))?
"0.1-30":"altitude (ft)",new cljs.core.Keyword(null,"align","align",1964212802),"right",new cljs.core.Keyword(null,"width","width",-384071477),cljs.core._EQ_.call(null,l,new cljs.core.Keyword(null,"visibility","visibility",1338380893))?35:55))));g+=1}else{d=!0;break a}return d?cljs.core.chunk_cons.call(null,cljs.core.chunk.call(null,f),z.call(null,cljs.core.chunk_rest.call(null,a))):cljs.core.chunk_cons.call(null,cljs.core.chunk.call(null,f),null)}d=cljs.core.first.call(null,a);f=cljs.core.nth.call(null,
d,0,null);cljs.core.nth.call(null,d,1,null);cljs.core.nth.call(null,d,2,null);return cljs.core.cons.call(null,hoplon.core.td.call(null,hoplon.core.div.call(null,new cljs.core.Keyword(null,"css","css",1135045163),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"margin","margin",-995903681),weathergen.ui.common.px.call(null,0,2)],null),weathergen.ui.common.validating_edit.call(null,new cljs.core.Keyword(null,"source","source",-433931539),cljs.core._EQ_.call(null,f,new cljs.core.Keyword(null,
"contrails","contrails",1430581743))?weathergen.ui.common.path_lens.call(null,weathergen.ui.cloud_params,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"contrails","contrails",1430581743),c],null)):weathergen.ui.common.path_lens.call(null,weathergen.ui.weather_params,cljs.core.into.call(null,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"categories","categories",178386610),c],null),
d)),new cljs.core.Keyword(null,"fmt","fmt",332300772),cljs.core._EQ_.call(null,f,new cljs.core.Keyword(null,"visibility","visibility",1338380893))?weathergen.ui.format_visibility:cljs.core.str,new cljs.core.Keyword(null,"conform","conform",1846236460),cljs.core._EQ_.call(null,f,new cljs.core.Keyword(null,"visibility","visibility",1338380893))?weathergen.ui.common.float_conformer.call(null,0,60):weathergen.ui.common.int_conformer.call(null,0,6E4),new cljs.core.Keyword(null,"placeholder","placeholder",
-104873083),cljs.core._EQ_.call(null,f,new cljs.core.Keyword(null,"visibility","visibility",1338380893))?"0.1-30":"altitude (ft)",new cljs.core.Keyword(null,"align","align",1964212802),"right",new cljs.core.Keyword(null,"width","width",-384071477),cljs.core._EQ_.call(null,f,new cljs.core.Keyword(null,"visibility","visibility",1338380893))?35:55))),z.call(null,cljs.core.rest.call(null,a)))}return null}}}(a,c,d,e,f,g,h),null,null)}}(a,d,g,h,k,f,c).call(null,new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,
[new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"visibility","visibility",1338380893),new cljs.core.Keyword(null,"from","from",1815293044)],null),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"visibility","visibility",1338380893),new cljs.core.Keyword(null,"to","to",192099007)],null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,
"contrails","contrails",1430581743)],null)],null))}()));a+=1}else return!0}()?cljs.core.chunk_cons.call(null,cljs.core.chunk.call(null,k),d.call(null,cljs.core.chunk_rest.call(null,f))):cljs.core.chunk_cons.call(null,cljs.core.chunk.call(null,k),null)}var l=cljs.core.first.call(null,f);return cljs.core.cons.call(null,hoplon.core.tr.call(null,hoplon.core.td.call(null,new cljs.core.Keyword(null,"class","class",-2030961996),["weather-type ",cljs.core.name.call(null,l)].join(""),new cljs.core.Keyword(null,
"css","css",1135045163),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"background-color","background-color",570434026),function(){var a=weathergen.ui.weather_color.call(null,l),c=cljs.core.nth.call(null,a,0,null),d=cljs.core.nth.call(null,a,1,null);a=cljs.core.nth.call(null,a,2,null);return["rgb(",cljs.core.str.cljs$core$IFn$_invoke$arity$1(c),",",cljs.core.str.cljs$core$IFn$_invoke$arity$1(d),",",cljs.core.str.cljs$core$IFn$_invoke$arity$1(a),")"].join("")}()],null),weathergen.ui.type_key__GT_name.call(null,
l)),function(){return function(a,c,d){return function u(e){return new cljs.core.LazySeq(null,function(a,c,d){return function(){for(;;){var c=cljs.core.seq.call(null,e);if(c){if(cljs.core.chunked_seq_QMARK_.call(null,c)){var d=cljs.core.chunk_first.call(null,c),f=cljs.core.count.call(null,d),g=cljs.core.chunk_buffer.call(null,f);a:for(var h=0;;)if(h<f){var k=cljs.core._nth.call(null,d,h),l=cljs.core.nth.call(null,k,0,null);cljs.core.nth.call(null,k,1,null);cljs.core.nth.call(null,k,2,null);cljs.core.chunk_append.call(null,
g,hoplon.core.td.call(null,hoplon.core.div.call(null,new cljs.core.Keyword(null,"css","css",1135045163),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"margin","margin",-995903681),weathergen.ui.common.px.call(null,0,2)],null),weathergen.ui.common.validating_edit.call(null,new cljs.core.Keyword(null,"source","source",-433931539),cljs.core._EQ_.call(null,l,new cljs.core.Keyword(null,"contrails","contrails",1430581743))?weathergen.ui.common.path_lens.call(null,weathergen.ui.cloud_params,
new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"contrails","contrails",1430581743),a],null)):weathergen.ui.common.path_lens.call(null,weathergen.ui.weather_params,cljs.core.into.call(null,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"categories","categories",178386610),a],null),k)),new cljs.core.Keyword(null,"fmt","fmt",332300772),cljs.core._EQ_.call(null,l,new cljs.core.Keyword(null,
"visibility","visibility",1338380893))?weathergen.ui.format_visibility:cljs.core.str,new cljs.core.Keyword(null,"conform","conform",1846236460),cljs.core._EQ_.call(null,l,new cljs.core.Keyword(null,"visibility","visibility",1338380893))?weathergen.ui.common.float_conformer.call(null,0,60):weathergen.ui.common.int_conformer.call(null,0,6E4),new cljs.core.Keyword(null,"placeholder","placeholder",-104873083),cljs.core._EQ_.call(null,l,new cljs.core.Keyword(null,"visibility","visibility",1338380893))?
"0.1-30":"altitude (ft)",new cljs.core.Keyword(null,"align","align",1964212802),"right",new cljs.core.Keyword(null,"width","width",-384071477),cljs.core._EQ_.call(null,l,new cljs.core.Keyword(null,"visibility","visibility",1338380893))?35:55))));h+=1}else{d=!0;break a}return d?cljs.core.chunk_cons.call(null,cljs.core.chunk.call(null,g),u.call(null,cljs.core.chunk_rest.call(null,c))):cljs.core.chunk_cons.call(null,cljs.core.chunk.call(null,g),null)}d=cljs.core.first.call(null,c);g=cljs.core.nth.call(null,
d,0,null);cljs.core.nth.call(null,d,1,null);cljs.core.nth.call(null,d,2,null);return cljs.core.cons.call(null,hoplon.core.td.call(null,hoplon.core.div.call(null,new cljs.core.Keyword(null,"css","css",1135045163),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"margin","margin",-995903681),weathergen.ui.common.px.call(null,0,2)],null),weathergen.ui.common.validating_edit.call(null,new cljs.core.Keyword(null,"source","source",-433931539),cljs.core._EQ_.call(null,g,new cljs.core.Keyword(null,
"contrails","contrails",1430581743))?weathergen.ui.common.path_lens.call(null,weathergen.ui.cloud_params,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"contrails","contrails",1430581743),a],null)):weathergen.ui.common.path_lens.call(null,weathergen.ui.weather_params,cljs.core.into.call(null,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"categories","categories",178386610),a],null),
d)),new cljs.core.Keyword(null,"fmt","fmt",332300772),cljs.core._EQ_.call(null,g,new cljs.core.Keyword(null,"visibility","visibility",1338380893))?weathergen.ui.format_visibility:cljs.core.str,new cljs.core.Keyword(null,"conform","conform",1846236460),cljs.core._EQ_.call(null,g,new cljs.core.Keyword(null,"visibility","visibility",1338380893))?weathergen.ui.common.float_conformer.call(null,0,60):weathergen.ui.common.int_conformer.call(null,0,6E4),new cljs.core.Keyword(null,"placeholder","placeholder",
-104873083),cljs.core._EQ_.call(null,g,new cljs.core.Keyword(null,"visibility","visibility",1338380893))?"0.1-30":"altitude (ft)",new cljs.core.Keyword(null,"align","align",1964212802),"right",new cljs.core.Keyword(null,"width","width",-384071477),cljs.core._EQ_.call(null,g,new cljs.core.Keyword(null,"visibility","visibility",1338380893))?35:55))),u.call(null,cljs.core.rest.call(null,c)))}return null}}}(a,c,d),null,null)}}(l,f,c).call(null,new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,
[new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"visibility","visibility",1338380893),new cljs.core.Keyword(null,"from","from",1815293044)],null),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"visibility","visibility",1338380893),new cljs.core.Keyword(null,"to","to",192099007)],null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,
"contrails","contrails",1430581743)],null)],null))}()),d.call(null,cljs.core.rest.call(null,f)))}return null}},null,null)}.call(null,new cljs.core.PersistentVector(null,4,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"sunny","sunny",1448267778),new cljs.core.Keyword(null,"fair","fair",1684139423),new cljs.core.Keyword(null,"poor","poor",1462482211),new cljs.core.Keyword(null,"inclement","inclement",-550669382)],null))}()))),weathergen.ui.control_subsection.call(null,new cljs.core.Keyword(null,
"title","title",636505583),weathergen.help.with_help.call(null,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"ground-wind-and-temp","ground-wind-and-temp",804263880),new cljs.core.Keyword(null,"overview","overview",-435037267)],null),"Ground Wind and Temperature"),hoplon.core.table.call(null,new cljs.core.Keyword(null,"css","css",1135045163),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"border-collapse","border-collapse",
919100239),"collapse"],null),hoplon.core.thead.call(null,function(){var a=function(a){return function(){var b=function(b,c,d,e){var f=cljs.core.nth.call(null,e,0,null),g=cljs.core.nth.call(null,e,1,null);return hoplon.core.td.call(null,new cljs.core.Keyword(null,"colspan","colspan",-1512420934),b,new cljs.core.Keyword(null,"css","css",1135045163),cljs.core.merge.call(null,new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"background","background",-863952629),f],null),a.call(null,
g)),cljs.core.map.call(null,function(a,b,d,e){return function(a){return hoplon.core.div.call(null,weathergen.help.with_help.call(null,c,a))}}(e,f,g,a),d))},c=function(a,c,d,e){var f=null;if(3<arguments.length){f=0;for(var g=Array(arguments.length-3);f<g.length;)g[f]=arguments[f+3],++f;f=new cljs.core.IndexedSeq(g,0,null)}return b.call(this,a,c,d,f)};c.cljs$lang$maxFixedArity=3;c.cljs$lang$applyTo=function(a){var c=cljs.core.first(a);a=cljs.core.next(a);var d=cljs.core.first(a);a=cljs.core.next(a);
var e=cljs.core.first(a);a=cljs.core.rest(a);return b(c,d,e,a)};c.cljs$core$IFn$_invoke$arity$variadic=b;return c}()}(function(a){return cljs.core.truth_(a)?new cljs.core.PersistentArrayMap(null,3,[new cljs.core.Keyword(null,"border-width","border-width",-1512605390),cljs.core.apply.call(null,weathergen.ui.common.px,a),new cljs.core.Keyword(null,"border-style","border-style",-485574304),"solid",new cljs.core.Keyword(null,"border-color","border-color",-2059162761),"black"],null):null});return new cljs.core.PersistentVector(null,
2,5,cljs.core.PersistentVector.EMPTY_NODE,[hoplon.core.tr.call(null,new cljs.core.Keyword(null,"css","css",1135045163),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"text-align","text-align",1786091845),"center"],null),hoplon.core.td.call(null),hoplon.core.td.call(null,new cljs.core.Keyword(null,"colspan","colspan",-1512420934),3,new cljs.core.Keyword(null,"css","css",1135045163),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"border","border",1444987323),
"1px solid black"],null),"Wind"),hoplon.core.td.call(null,new cljs.core.Keyword(null,"colspan","colspan",-1512420934),3,new cljs.core.Keyword(null,"css","css",1135045163),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"border","border",1444987323),"1px solid black"],null),"Temperature")),hoplon.core.tr.call(null,new cljs.core.Keyword(null,"css","css",1135045163),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"text-align","text-align",1786091845),"center"],
null),hoplon.core.td.call(null),a.call(null,1,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"wind","wind",-527553074),new cljs.core.Keyword(null,"min","min",444991522)],null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,["Min"],null),"lightgray",new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[1],null)),a.call(null,1,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,
[new cljs.core.Keyword(null,"wind","wind",-527553074),new cljs.core.Keyword(null,"min","min",444991522)],null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,["Mean"],null),"#f2f2f2",new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[1],null)),a.call(null,1,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"wind","wind",-527553074),new cljs.core.Keyword(null,"min","min",444991522)],null),
new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,["Max"],null),"#bdbdbd",new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[1],null)),a.call(null,1,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"temp","temp",1791541284),new cljs.core.Keyword(null,"min","min",444991522)],null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,["Min"],null),"lightgray",new cljs.core.PersistentVector(null,
1,5,cljs.core.PersistentVector.EMPTY_NODE,[1],null)),a.call(null,1,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"temp","temp",1791541284),new cljs.core.Keyword(null,"min","min",444991522)],null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,["Mean"],null),"#f2f2f2",new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[1],null)),a.call(null,1,new cljs.core.PersistentVector(null,2,5,
cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"temp","temp",1791541284),new cljs.core.Keyword(null,"min","min",444991522)],null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,["Max"],null),"#bdbdbd",new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[1],null)))],null)}()),hoplon.core.tbody.call(null,function(){return function d(a){return new cljs.core.LazySeq(null,function(){for(;;){var c=cljs.core.seq.call(null,a);if(c){var f=
c;if(cljs.core.chunked_seq_QMARK_.call(null,f)){var g=cljs.core.chunk_first.call(null,f),h=cljs.core.count.call(null,g),k=cljs.core.chunk_buffer.call(null,h);return function(){for(var a=0;;)if(a<h){var d=cljs.core._nth.call(null,g,a);cljs.core.chunk_append.call(null,k,hoplon.core.tr.call(null,hoplon.core.td.call(null,new cljs.core.Keyword(null,"class","class",-2030961996),["weather-type ",cljs.core.name.call(null,d)].join(""),new cljs.core.Keyword(null,"css","css",1135045163),new cljs.core.PersistentArrayMap(null,
1,[new cljs.core.Keyword(null,"background-color","background-color",570434026),function(){var a=weathergen.ui.weather_color.call(null,d),c=cljs.core.nth.call(null,a,0,null),e=cljs.core.nth.call(null,a,1,null);a=cljs.core.nth.call(null,a,2,null);return["rgb(",cljs.core.str.cljs$core$IFn$_invoke$arity$1(c),",",cljs.core.str.cljs$core$IFn$_invoke$arity$1(e),",",cljs.core.str.cljs$core$IFn$_invoke$arity$1(a),")"].join("")}()],null),weathergen.ui.type_key__GT_name.call(null,d)),function(){return function(a,
c,d,e,f,g,h){return function z(k){return new cljs.core.LazySeq(null,function(a,c,d,e,f,g,h){return function(){for(;;){var a=cljs.core.seq.call(null,k);if(a){if(cljs.core.chunked_seq_QMARK_.call(null,a)){var d=cljs.core.chunk_first.call(null,a),e=cljs.core.count.call(null,d),f=cljs.core.chunk_buffer.call(null,e);a:for(var g=0;;)if(g<e){var h=cljs.core._nth.call(null,d,g),l=cljs.core.nth.call(null,h,0,null);cljs.core.nth.call(null,h,1,null);cljs.core.chunk_append.call(null,f,hoplon.core.td.call(null,
hoplon.core.div.call(null,new cljs.core.Keyword(null,"css","css",1135045163),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"margin","margin",-995903681),weathergen.ui.common.px.call(null,0,2)],null),weathergen.ui.common.validating_edit.call(null,new cljs.core.Keyword(null,"source","source",-433931539),weathergen.ui.common.path_lens.call(null,weathergen.ui.weather_params,cljs.core.into.call(null,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,
"categories","categories",178386610),c],null),h)),new cljs.core.Keyword(null,"fmt","fmt",332300772),cljs.core.str,new cljs.core.Keyword(null,"conform","conform",1846236460),cljs.core._EQ_.call(null,l,new cljs.core.Keyword(null,"wind","wind",-527553074))?weathergen.ui.common.int_conformer.call(null,0,100):weathergen.ui.common.int_conformer.call(null,-50,50),new cljs.core.Keyword(null,"placeholder","placeholder",-104873083),10,new cljs.core.Keyword(null,"align","align",1964212802),"right",new cljs.core.Keyword(null,
"width","width",-384071477),45))));g+=1}else{d=!0;break a}return d?cljs.core.chunk_cons.call(null,cljs.core.chunk.call(null,f),z.call(null,cljs.core.chunk_rest.call(null,a))):cljs.core.chunk_cons.call(null,cljs.core.chunk.call(null,f),null)}d=cljs.core.first.call(null,a);f=cljs.core.nth.call(null,d,0,null);cljs.core.nth.call(null,d,1,null);return cljs.core.cons.call(null,hoplon.core.td.call(null,hoplon.core.div.call(null,new cljs.core.Keyword(null,"css","css",1135045163),new cljs.core.PersistentArrayMap(null,
1,[new cljs.core.Keyword(null,"margin","margin",-995903681),weathergen.ui.common.px.call(null,0,2)],null),weathergen.ui.common.validating_edit.call(null,new cljs.core.Keyword(null,"source","source",-433931539),weathergen.ui.common.path_lens.call(null,weathergen.ui.weather_params,cljs.core.into.call(null,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"categories","categories",178386610),c],null),d)),new cljs.core.Keyword(null,"fmt","fmt",332300772),
cljs.core.str,new cljs.core.Keyword(null,"conform","conform",1846236460),cljs.core._EQ_.call(null,f,new cljs.core.Keyword(null,"wind","wind",-527553074))?weathergen.ui.common.int_conformer.call(null,0,100):weathergen.ui.common.int_conformer.call(null,-50,50),new cljs.core.Keyword(null,"placeholder","placeholder",-104873083),10,new cljs.core.Keyword(null,"align","align",1964212802),"right",new cljs.core.Keyword(null,"width","width",-384071477),45))),z.call(null,cljs.core.rest.call(null,a)))}return null}}}(a,
c,d,e,f,g,h),null,null)}}(a,d,g,h,k,f,c).call(null,new cljs.core.PersistentVector(null,6,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"wind","wind",-527553074),new cljs.core.Keyword(null,"min","min",444991522)],null),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"wind","wind",-527553074),new cljs.core.Keyword(null,"mean","mean",-1359234715)],
null),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"wind","wind",-527553074),new cljs.core.Keyword(null,"max","max",61366548)],null),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"temp","temp",1791541284),new cljs.core.Keyword(null,"min","min",444991522)],null),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"temp","temp",
1791541284),new cljs.core.Keyword(null,"mean","mean",-1359234715)],null),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"temp","temp",1791541284),new cljs.core.Keyword(null,"max","max",61366548)],null)],null))}()));a+=1}else return!0}()?cljs.core.chunk_cons.call(null,cljs.core.chunk.call(null,k),d.call(null,cljs.core.chunk_rest.call(null,f))):cljs.core.chunk_cons.call(null,cljs.core.chunk.call(null,k),null)}var l=cljs.core.first.call(null,
f);return cljs.core.cons.call(null,hoplon.core.tr.call(null,hoplon.core.td.call(null,new cljs.core.Keyword(null,"class","class",-2030961996),["weather-type ",cljs.core.name.call(null,l)].join(""),new cljs.core.Keyword(null,"css","css",1135045163),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"background-color","background-color",570434026),function(){var a=weathergen.ui.weather_color.call(null,l),c=cljs.core.nth.call(null,a,0,null),d=cljs.core.nth.call(null,a,1,null);a=cljs.core.nth.call(null,
a,2,null);return["rgb(",cljs.core.str.cljs$core$IFn$_invoke$arity$1(c),",",cljs.core.str.cljs$core$IFn$_invoke$arity$1(d),",",cljs.core.str.cljs$core$IFn$_invoke$arity$1(a),")"].join("")}()],null),weathergen.ui.type_key__GT_name.call(null,l)),function(){return function(a,c,d){return function u(e){return new cljs.core.LazySeq(null,function(a,c,d){return function(){for(;;){var c=cljs.core.seq.call(null,e);if(c){if(cljs.core.chunked_seq_QMARK_.call(null,c)){var d=cljs.core.chunk_first.call(null,c),f=
cljs.core.count.call(null,d),g=cljs.core.chunk_buffer.call(null,f);a:for(var h=0;;)if(h<f){var k=cljs.core._nth.call(null,d,h),l=cljs.core.nth.call(null,k,0,null);cljs.core.nth.call(null,k,1,null);cljs.core.chunk_append.call(null,g,hoplon.core.td.call(null,hoplon.core.div.call(null,new cljs.core.Keyword(null,"css","css",1135045163),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"margin","margin",-995903681),weathergen.ui.common.px.call(null,0,2)],null),weathergen.ui.common.validating_edit.call(null,
new cljs.core.Keyword(null,"source","source",-433931539),weathergen.ui.common.path_lens.call(null,weathergen.ui.weather_params,cljs.core.into.call(null,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"categories","categories",178386610),a],null),k)),new cljs.core.Keyword(null,"fmt","fmt",332300772),cljs.core.str,new cljs.core.Keyword(null,"conform","conform",1846236460),cljs.core._EQ_.call(null,l,new cljs.core.Keyword(null,"wind","wind",-527553074))?
weathergen.ui.common.int_conformer.call(null,0,100):weathergen.ui.common.int_conformer.call(null,-50,50),new cljs.core.Keyword(null,"placeholder","placeholder",-104873083),10,new cljs.core.Keyword(null,"align","align",1964212802),"right",new cljs.core.Keyword(null,"width","width",-384071477),45))));h+=1}else{d=!0;break a}return d?cljs.core.chunk_cons.call(null,cljs.core.chunk.call(null,g),u.call(null,cljs.core.chunk_rest.call(null,c))):cljs.core.chunk_cons.call(null,cljs.core.chunk.call(null,g),null)}d=
cljs.core.first.call(null,c);g=cljs.core.nth.call(null,d,0,null);cljs.core.nth.call(null,d,1,null);return cljs.core.cons.call(null,hoplon.core.td.call(null,hoplon.core.div.call(null,new cljs.core.Keyword(null,"css","css",1135045163),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"margin","margin",-995903681),weathergen.ui.common.px.call(null,0,2)],null),weathergen.ui.common.validating_edit.call(null,new cljs.core.Keyword(null,"source","source",-433931539),weathergen.ui.common.path_lens.call(null,
weathergen.ui.weather_params,cljs.core.into.call(null,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"categories","categories",178386610),a],null),d)),new cljs.core.Keyword(null,"fmt","fmt",332300772),cljs.core.str,new cljs.core.Keyword(null,"conform","conform",1846236460),cljs.core._EQ_.call(null,g,new cljs.core.Keyword(null,"wind","wind",-527553074))?weathergen.ui.common.int_conformer.call(null,0,100):weathergen.ui.common.int_conformer.call(null,
-50,50),new cljs.core.Keyword(null,"placeholder","placeholder",-104873083),10,new cljs.core.Keyword(null,"align","align",1964212802),"right",new cljs.core.Keyword(null,"width","width",-384071477),45))),u.call(null,cljs.core.rest.call(null,c)))}return null}}}(a,c,d),null,null)}}(l,f,c).call(null,new cljs.core.PersistentVector(null,6,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"wind","wind",-527553074),
new cljs.core.Keyword(null,"min","min",444991522)],null),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"wind","wind",-527553074),new cljs.core.Keyword(null,"mean","mean",-1359234715)],null),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"wind","wind",-527553074),new cljs.core.Keyword(null,"max","max",61366548)],null),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,
[new cljs.core.Keyword(null,"temp","temp",1791541284),new cljs.core.Keyword(null,"min","min",444991522)],null),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"temp","temp",1791541284),new cljs.core.Keyword(null,"mean","mean",-1359234715)],null),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"temp","temp",1791541284),new cljs.core.Keyword(null,"max","max",61366548)],null)],null))}()),
d.call(null,cljs.core.rest.call(null,f)))}return null}},null,null)}.call(null,new cljs.core.PersistentVector(null,4,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"sunny","sunny",1448267778),new cljs.core.Keyword(null,"fair","fair",1684139423),new cljs.core.Keyword(null,"poor","poor",1462482211),new cljs.core.Keyword(null,"inclement","inclement",-550669382)],null))}()))),weathergen.ui.control_subsection.call(null,new cljs.core.Keyword(null,"title","title",636505583),weathergen.help.with_help.call(null,
new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"winds-aloft","winds-aloft",83956399),new cljs.core.Keyword(null,"overview","overview",-435037267)],null),"Winds Aloft"),function(){var a=new cljs.core.PersistentVector(null,9,5,cljs.core.PersistentVector.EMPTY_NODE,[3E3,6E3,9E3,12E3,18E3,24E3,3E4,4E4,5E4],null);return hoplon.core.table.call(null,new cljs.core.Keyword(null,"css","css",1135045163),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,
"border-collapse","border-collapse",919100239),"collapse"],null),hoplon.core.thead.call(null,hoplon.core.tr.call(null,new cljs.core.Keyword(null,"css","css",1135045163),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"text-align","text-align",1786091845),"center"],null),hoplon.core.td.call(null),hoplon.core.td.call(null,new cljs.core.Keyword(null,"css","css",1135045163),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"border","border",1444987323),"solid 1px black"],
null),new cljs.core.Keyword(null,"colspan","colspan",-1512420934),2,weathergen.help.with_help.call(null,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"winds-aloft","winds-aloft",83956399),new cljs.core.Keyword(null,"speed","speed",1257663751)],null),"Speed adj")),hoplon.core.td.call(null,new cljs.core.Keyword(null,"css","css",1135045163),new cljs.core.PersistentArrayMap(null,3,[new cljs.core.Keyword(null,"border-color","border-color",-2059162761),
"black",new cljs.core.Keyword(null,"border-style","border-style",-485574304),"solid",new cljs.core.Keyword(null,"border-width","border-width",-1512605390),weathergen.ui.common.px.call(null,1,1,0,1)],null),weathergen.help.with_help.call(null,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"winds-aloft","winds-aloft",83956399),new cljs.core.Keyword(null,"heading-bias","heading-bias",1073504173)],null),"Heading"))),hoplon.core.tr.call(null,new cljs.core.Keyword(null,
"css","css",1135045163),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"text-align","text-align",1786091845),"center"],null),hoplon.core.td.call(null,hoplon.core.div.call(null,new cljs.core.Keyword(null,"css","css",1135045163),new cljs.core.PersistentArrayMap(null,2,[new cljs.core.Keyword(null,"text-align","text-align",1786091845),"right",new cljs.core.Keyword(null,"margin","margin",-995903681),weathergen.ui.common.px.call(null,0,5)],null),new cljs.core.Keyword(null,"width","width",
-384071477),weathergen.ui.common.px.call(null,55),"Altitude")),hoplon.core.td.call(null,new cljs.core.Keyword(null,"css","css",1135045163),new cljs.core.PersistentArrayMap(null,2,[new cljs.core.Keyword(null,"background","background",-863952629),"lightgrey",new cljs.core.Keyword(null,"border","border",1444987323),"solid 1px black"],null),"From"),hoplon.core.td.call(null,new cljs.core.Keyword(null,"css","css",1135045163),new cljs.core.PersistentArrayMap(null,2,[new cljs.core.Keyword(null,"background",
"background",-863952629),"#bdbdbd",new cljs.core.Keyword(null,"border","border",1444987323),"solid 1px black"],null),"To"),hoplon.core.td.call(null,new cljs.core.Keyword(null,"css","css",1135045163),new cljs.core.PersistentArrayMap(null,3,[new cljs.core.Keyword(null,"border-color","border-color",-2059162761),"black",new cljs.core.Keyword(null,"border-style","border-style",-485574304),"solid",new cljs.core.Keyword(null,"border-width","border-width",-1512605390),weathergen.ui.common.px.call(null,0,
1,1,1)],null),weathergen.help.with_help.call(null,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"winds-aloft","winds-aloft",83956399),new cljs.core.Keyword(null,"heading-bias","heading-bias",1073504173)],null),"Adj")))),hoplon.core.tbody.call(null,function(){return function(a){return function f(b){return new cljs.core.LazySeq(null,function(a){return function(){for(;;){var c=cljs.core.seq.call(null,b);if(c){var e=c;if(cljs.core.chunked_seq_QMARK_.call(null,
e)){var g=cljs.core.chunk_first.call(null,e),m=cljs.core.count.call(null,g),n=cljs.core.chunk_buffer.call(null,m);return function(){for(var b=0;;)if(b<m){var f=cljs.core._nth.call(null,g,b);cljs.core.chunk_append.call(null,n,hoplon.core.tr.call(null,hoplon.core.td.call(null,hoplon.core.div.call(null,new cljs.core.Keyword(null,"css","css",1135045163),new cljs.core.PersistentArrayMap(null,2,[new cljs.core.Keyword(null,"text-align","text-align",1786091845),"right",new cljs.core.Keyword(null,"margin",
"margin",-995903681),weathergen.ui.common.px.call(null,0,5)],null),[cljs.core.str.cljs$core$IFn$_invoke$arity$1(f)," ft"].join(""))),hoplon.core.td.call(null,hoplon.core.div.call(null,new cljs.core.Keyword(null,"css","css",1135045163),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"margin","margin",-995903681),weathergen.ui.common.px.call(null,0,2)],null),weathergen.ui.common.validating_edit.call(null,new cljs.core.Keyword(null,"source","source",-433931539),weathergen.ui.common.path_lens.call(null,
weathergen.ui.weather_params,new cljs.core.PersistentVector(null,4,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"winds-aloft","winds-aloft",83956399),f,new cljs.core.Keyword(null,"speed","speed",1257663751),new cljs.core.Keyword(null,"from","from",1815293044)],null)),new cljs.core.Keyword(null,"fmt","fmt",332300772),cljs.core.str,new cljs.core.Keyword(null,"conform","conform",1846236460),weathergen.ui.common.int_conformer.call(null,-100,100),new cljs.core.Keyword(null,"placeholder",
"placeholder",-104873083),10,new cljs.core.Keyword(null,"align","align",1964212802),"right",new cljs.core.Keyword(null,"width","width",-384071477),45))),hoplon.core.td.call(null,hoplon.core.div.call(null,new cljs.core.Keyword(null,"css","css",1135045163),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"margin","margin",-995903681),weathergen.ui.common.px.call(null,0,2)],null),weathergen.ui.common.validating_edit.call(null,new cljs.core.Keyword(null,"source","source",-433931539),
weathergen.ui.common.path_lens.call(null,weathergen.ui.weather_params,new cljs.core.PersistentVector(null,4,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"winds-aloft","winds-aloft",83956399),f,new cljs.core.Keyword(null,"speed","speed",1257663751),new cljs.core.Keyword(null,"to","to",192099007)],null)),new cljs.core.Keyword(null,"fmt","fmt",332300772),cljs.core.str,new cljs.core.Keyword(null,"conform","conform",1846236460),weathergen.ui.common.int_conformer.call(null,-100,100),
new cljs.core.Keyword(null,"placeholder","placeholder",-104873083),10,new cljs.core.Keyword(null,"align","align",1964212802),"right",new cljs.core.Keyword(null,"width","width",-384071477),45))),hoplon.core.td.call(null,hoplon.core.div.call(null,new cljs.core.Keyword(null,"css","css",1135045163),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"margin","margin",-995903681),weathergen.ui.common.px.call(null,0,2)],null),weathergen.ui.common.validating_edit.call(null,new cljs.core.Keyword(null,
"source","source",-433931539),weathergen.ui.common.path_lens.call(null,weathergen.ui.weather_params,new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"winds-aloft","winds-aloft",83956399),f,new cljs.core.Keyword(null,"bias","bias",-315297926)],null)),new cljs.core.Keyword(null,"fmt","fmt",332300772),function(a,b,c,e,f,g,h,k){return function(a){return a.toFixed(2)}}(b,f,g,m,n,e,c,a),new cljs.core.Keyword(null,"conform","conform",1846236460),weathergen.ui.common.float_conformer.call(null,
0,1),new cljs.core.Keyword(null,"placeholder","placeholder",-104873083),10,new cljs.core.Keyword(null,"align","align",1964212802),"right",new cljs.core.Keyword(null,"width","width",-384071477),55)))));b+=1}else return!0}()?cljs.core.chunk_cons.call(null,cljs.core.chunk.call(null,n),f.call(null,cljs.core.chunk_rest.call(null,e))):cljs.core.chunk_cons.call(null,cljs.core.chunk.call(null,n),null)}var p=cljs.core.first.call(null,e);return cljs.core.cons.call(null,hoplon.core.tr.call(null,hoplon.core.td.call(null,
hoplon.core.div.call(null,new cljs.core.Keyword(null,"css","css",1135045163),new cljs.core.PersistentArrayMap(null,2,[new cljs.core.Keyword(null,"text-align","text-align",1786091845),"right",new cljs.core.Keyword(null,"margin","margin",-995903681),weathergen.ui.common.px.call(null,0,5)],null),[cljs.core.str.cljs$core$IFn$_invoke$arity$1(p)," ft"].join(""))),hoplon.core.td.call(null,hoplon.core.div.call(null,new cljs.core.Keyword(null,"css","css",1135045163),new cljs.core.PersistentArrayMap(null,1,
[new cljs.core.Keyword(null,"margin","margin",-995903681),weathergen.ui.common.px.call(null,0,2)],null),weathergen.ui.common.validating_edit.call(null,new cljs.core.Keyword(null,"source","source",-433931539),weathergen.ui.common.path_lens.call(null,weathergen.ui.weather_params,new cljs.core.PersistentVector(null,4,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"winds-aloft","winds-aloft",83956399),p,new cljs.core.Keyword(null,"speed","speed",1257663751),new cljs.core.Keyword(null,
"from","from",1815293044)],null)),new cljs.core.Keyword(null,"fmt","fmt",332300772),cljs.core.str,new cljs.core.Keyword(null,"conform","conform",1846236460),weathergen.ui.common.int_conformer.call(null,-100,100),new cljs.core.Keyword(null,"placeholder","placeholder",-104873083),10,new cljs.core.Keyword(null,"align","align",1964212802),"right",new cljs.core.Keyword(null,"width","width",-384071477),45))),hoplon.core.td.call(null,hoplon.core.div.call(null,new cljs.core.Keyword(null,"css","css",1135045163),
new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"margin","margin",-995903681),weathergen.ui.common.px.call(null,0,2)],null),weathergen.ui.common.validating_edit.call(null,new cljs.core.Keyword(null,"source","source",-433931539),weathergen.ui.common.path_lens.call(null,weathergen.ui.weather_params,new cljs.core.PersistentVector(null,4,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"winds-aloft","winds-aloft",83956399),p,new cljs.core.Keyword(null,"speed","speed",
1257663751),new cljs.core.Keyword(null,"to","to",192099007)],null)),new cljs.core.Keyword(null,"fmt","fmt",332300772),cljs.core.str,new cljs.core.Keyword(null,"conform","conform",1846236460),weathergen.ui.common.int_conformer.call(null,-100,100),new cljs.core.Keyword(null,"placeholder","placeholder",-104873083),10,new cljs.core.Keyword(null,"align","align",1964212802),"right",new cljs.core.Keyword(null,"width","width",-384071477),45))),hoplon.core.td.call(null,hoplon.core.div.call(null,new cljs.core.Keyword(null,
"css","css",1135045163),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"margin","margin",-995903681),weathergen.ui.common.px.call(null,0,2)],null),weathergen.ui.common.validating_edit.call(null,new cljs.core.Keyword(null,"source","source",-433931539),weathergen.ui.common.path_lens.call(null,weathergen.ui.weather_params,new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"winds-aloft","winds-aloft",83956399),p,new cljs.core.Keyword(null,
"bias","bias",-315297926)],null)),new cljs.core.Keyword(null,"fmt","fmt",332300772),function(a,b,c,e){return function(a){return a.toFixed(2)}}(p,e,c,a),new cljs.core.Keyword(null,"conform","conform",1846236460),weathergen.ui.common.float_conformer.call(null,0,1),new cljs.core.Keyword(null,"placeholder","placeholder",-104873083),10,new cljs.core.Keyword(null,"align","align",1964212802),"right",new cljs.core.Keyword(null,"width","width",-384071477),55)))),f.call(null,cljs.core.rest.call(null,e)))}return null}}}(a),
null,null)}}(a).call(null,a)}()))}()))};
weathergen.ui.advanced_controls=function(a){return weathergen.ui.common.control_section.call(null,new cljs.core.Keyword(null,"id","id",-1388402092),"advanced-params-section",new cljs.core.Keyword(null,"title","title",636505583),"Advanced configuration",new cljs.core.Keyword(null,"toggle","toggle",1291842030),javelin.core.formula.call(null,function(a,c){return a.call(null,c,new cljs.core.Keyword(null,"edit","edit",-1641834166))}).call(null,cljs.core._EQ_,weathergen.ui.display_mode),weathergen.ui.control_layout.call(null,
new cljs.core.PersistentVector(null,10,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,["X Offset",new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"origin","origin",1037372088),0],null),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"help-path","help-path",840478713),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,
"origin","origin",1037372088),new cljs.core.Keyword(null,"x","x",2099068185)],null)],null)],null),new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,["Y Offset",new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"origin","origin",1037372088),1],null),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"help-path","help-path",840478713),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,
[new cljs.core.Keyword(null,"origin","origin",1037372088),new cljs.core.Keyword(null,"y","y",-1757859776)],null)],null)],null),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,["T Offset",new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"time","time",1385887882),new cljs.core.Keyword(null,"offset","offset",296498311)],null)],null),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,["Evolution",
new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"evolution","evolution",944820557)],null)],null),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,["Wind uniformity",new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"wind-uniformity","wind-uniformity",827531801)],null)],null),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,["Temp uniformity",
new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"temp-uniformity","temp-uniformity",836756864)],null)],null),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,["Warp strength",new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"turbulence","turbulence",-915506410),new cljs.core.Keyword(null,"power","power",-937852079)],null)],null),new cljs.core.PersistentVector(null,
2,5,cljs.core.PersistentVector.EMPTY_NODE,["Crossfade",new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"crossfade","crossfade",-118506406)],null)],null),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,["Zoom",new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"feature-size","feature-size",-878734864)],null)],null),new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,
["Pressure speed",new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"pressure","pressure",505343747),new cljs.core.Keyword(null,"speed","speed",1257663751)],null),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"ui","ui",-469653645),weathergen.ui.common.validating_edit.call(null,new cljs.core.Keyword(null,"width","width",-384071477),55,new cljs.core.Keyword(null,"source","source",-433931539),weathergen.ui.common.path_lens.call(null,
weathergen.ui.weather_params,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"pressure","pressure",505343747),new cljs.core.Keyword(null,"speed","speed",1257663751)],null)),new cljs.core.Keyword(null,"conform","conform",1846236460),weathergen.ui.common.int_conformer.call(null,0,1E4))],null)],null)],null)))};
weathergen.ui.step_controls=function(a){var b=javelin.core.formula.call(null,function(a,b){return a.call(null,b)}).call(null,weathergen.falcon.files.mission.mission_time,weathergen.ui.mission),c=javelin.core.formula.call(null,function(a){return function(a,b){return b.call(null,(new cljs.core.Keyword(null,"max","max",61366548)).cljs$core$IFn$_invoke$arity$1((new cljs.core.Keyword(null,"time","time",1385887882)).cljs$core$IFn$_invoke$arity$1(a)))}}(b)).call(null,weathergen.ui.weather_params,weathergen.time.campaign_time__GT_minutes),
d=javelin.core.formula.call(null,function(a,b){return function(a,b){return b.call(null,(new cljs.core.Keyword(null,"current","current",-1088038603)).cljs$core$IFn$_invoke$arity$1((new cljs.core.Keyword(null,"time","time",1385887882)).cljs$core$IFn$_invoke$arity$1(a)))}}(b,c)).call(null,weathergen.ui.weather_params,weathergen.time.campaign_time__GT_minutes);return weathergen.ui.common.control_section.call(null,new cljs.core.Keyword(null,"id","id",-1388402092),"time-location-params",new cljs.core.Keyword(null,
"title","title",636505583),"Time controls",hoplon.core.table.call(null,hoplon.core.tbody.call(null,hoplon.core.tr.call(null,hoplon.core.td.call(null,weathergen.help.with_help.call(null,new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"weather-params","weather-params",-259271365),new cljs.core.Keyword(null,"time","time",1385887882),new cljs.core.Keyword(null,"falcon-time","falcon-time",34959931)],null),"Falcon time: ")),hoplon.core.td.call(null,
javelin.core.formula.call(null,function(a,b,c){return function(a,b){return b.call(null,a)}}(b,c,d)).call(null,b,weathergen.ui.common.format_time)),hoplon.core.td.call(null,weathergen.ui.buttons.a_button.call(null,new cljs.core.Keyword(null,"click","click",1912301393),function(a,b,c){return function(){return weathergen.ui.jump_to_time_STAR_.call(null,cljs.core.deref.call(null,a))}}(b,c,d),"Jump to"))),function(){var a=new cljs.core.Delay(function(a,b,c){return function(){return hoplon.core.tr.call(null,
hoplon.core.td.call(null,weathergen.help.with_help.call(null,new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"weather-params","weather-params",-259271365),new cljs.core.Keyword(null,"time","time",1385887882),new cljs.core.Keyword(null,"browse-time","browse-time",832671504)],null),"Time")),hoplon.core.td.call(null,weathergen.ui.time_entry.call(null,new cljs.core.Keyword(null,"source","source",-433931539),weathergen.ui.weather_params,new cljs.core.Keyword(null,
"path","path",-188191168),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"time","time",1385887882),new cljs.core.Keyword(null,"current","current",-1088038603)],null))))}}(b,c,d),null),f=new cljs.core.Delay(function(a,b,c,d){return function(){return hoplon.core.tr.call(null,hoplon.core.td.call(null,weathergen.help.with_help.call(null,new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"displayed-time",
"displayed-time",141846012)],null),"Time")),hoplon.core.td.call(null,weathergen.ui.time_entry.call(null,new cljs.core.Keyword(null,"source","source",-433931539),weathergen.ui.time_params,new cljs.core.Keyword(null,"path","path",-188191168),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"displayed","displayed",-436192586)],null))),hoplon.core.td.call(null,weathergen.ui.buttons.a_button.call(null,new cljs.core.Keyword(null,"click","click",1912301393),
weathergen.ui.jump_to_time,"Jump to"),weathergen.ui.buttons.a_button.call(null,new cljs.core.Keyword(null,"toggle","toggle",1291842030),javelin.core.formula.call(null,function(a,b,c,d){return function(a,b){return a.call(null,b,new cljs.core.Keyword(null,"edit","edit",-1641834166))}}(a,b,c,d)).call(null,cljs.core._EQ_,weathergen.ui.display_mode),new cljs.core.Keyword(null,"click","click",1912301393),weathergen.ui.set_time,"Set to")))}}(a,b,c,d),null),g=function(a,b,c,d,e){return function(c){return cljs.core.deref.call(null,
function(){var d=cljs.core.truth_(c)?a:b;return cljs.core.truth_(d)?d:cljs.core.atom.call(null,null)}())}}(a,f,b,c,d);return javelin.core.formula.call(null,g).call(null,javelin.core.formula.call(null,function(a,b,c,d,e,f){return function(a,b){return a.call(null,b,new cljs.core.Keyword(null,"browse","browse",2070502601))}}(a,f,g,b,c,d)).call(null,cljs.core._EQ_,weathergen.ui.display_mode))}(),hoplon.core.tr.call(null,cljs.core.map.call(null,hoplon.core.td,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,
[weathergen.help.with_help.call(null,new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"step","step",1288888124)],null),"Step interval"),weathergen.ui.common.validating_edit.call(null,new cljs.core.Keyword(null,"width","width",-384071477),50,new cljs.core.Keyword(null,"source","source",-433931539),javelin.core.formula.call(null,function(a,b,c){return function(a){return(new cljs.core.Keyword(null,"step","step",1288888124)).cljs$core$IFn$_invoke$arity$1(a)}}(b,
c,d)).call(null,weathergen.ui.movement_params),new cljs.core.Keyword(null,"conform","conform",1846236460),weathergen.ui.common.conform_positive_integer,new cljs.core.Keyword(null,"update","update",1045576396),function(a,b,c){return function(a){return cljs.core.swap_BANG_.call(null,weathergen.ui.movement_params,cljs.core.assoc,new cljs.core.Keyword(null,"step","step",1288888124),a)}}(b,c,d),new cljs.core.Keyword(null,"placeholder","placeholder",-104873083),"e.g. 60",new cljs.core.Keyword(null,"fmt",
"fmt",332300772),cljs.core.str)],null))))),weathergen.ui.buttons.a_button.call(null,new cljs.core.Keyword(null,"title","title",636505583),"Step back in time",new cljs.core.Keyword(null,"click","click",1912301393),function(a,b,c){return function(){return weathergen.ui.move.call(null,-1)}}(b,c,d),"\x3c\x3c Step Back"),weathergen.ui.buttons.a_button.call(null,new cljs.core.Keyword(null,"title","title",636505583),javelin.core.formula.call(null,function(a,b,c){return function(a){return cljs.core.truth_((new cljs.core.Keyword(null,
"looping?","looping?",78344245)).cljs$core$IFn$_invoke$arity$1(a))?"Stop weather animation":"Animate weather"}}(b,c,d)).call(null,weathergen.ui.movement_params),new cljs.core.Keyword(null,"click","click",1912301393),function(a,b,c){return function(){return cljs.core.truth_((new cljs.core.Keyword(null,"looping?","looping?",78344245)).cljs$core$IFn$_invoke$arity$1(cljs.core.swap_BANG_.call(null,weathergen.ui.movement_params,cljs.core.update,new cljs.core.Keyword(null,"looping?","looping?",78344245),
cljs.core.not)))?weathergen.ui.recompute.call(null,cljs.core.deref.call(null,weathergen.ui.weather_params)):null}}(b,c,d),hoplon.core.span.call(null,new cljs.core.Keyword(null,"css","css",1135045163),javelin.core.formula.call(null,function(a,b,c){return function(a){return cljs.core.truth_((new cljs.core.Keyword(null,"looping?","looping?",78344245)).cljs$core$IFn$_invoke$arity$1(a))?new cljs.core.PersistentArrayMap(null,4,[new cljs.core.Keyword(null,"border","border",1444987323),"5px solid black",
new cljs.core.Keyword(null,"transform","transform",1381301764),"",new cljs.core.Keyword(null,"display","display",242065432),"inline-block",new cljs.core.Keyword(null,"margin-top","margin-top",392161226),"2px"],null):new cljs.core.PersistentArrayMap(null,6,[new cljs.core.Keyword(null,"border-left","border-left",-1150760178),"5px solid transparent",new cljs.core.Keyword(null,"border-right","border-right",-668932860),"5px solid transparent",new cljs.core.Keyword(null,"border-top","border-top",-158897573),
"7px solid black",new cljs.core.Keyword(null,"border-bottom","border-bottom",2110948415),"",new cljs.core.Keyword(null,"display","display",242065432),"inline-block",new cljs.core.Keyword(null,"transform","transform",1381301764),"rotate(-90deg)"],null)}}(b,c,d)).call(null,weathergen.ui.movement_params),"")),weathergen.ui.buttons.a_button.call(null,new cljs.core.Keyword(null,"toggle","toggle",1291842030),javelin.core.formula.call(null,function(a,b,c){return function(a,b,c){return cljs.core._EQ_.call(null,
c,new cljs.core.Keyword(null,"edit","edit",-1641834166))||b<a}}(b,c,d)).call(null,c,d,weathergen.ui.display_mode),new cljs.core.Keyword(null,"title","title",636505583),"Step forward in time",new cljs.core.Keyword(null,"click","click",1912301393),function(a,b,c){return function(){return weathergen.ui.move.call(null,1)}}(b,c,d),"Step Forward \x3e\x3e"))};weathergen.ui.mission_weather_load_status=javelin.core.cell.call(null,null);weathergen.ui.load_mission_weather=function(){return weathergen.ui.load_fmaps.call(null)};
weathergen.ui.initialize_generated_weather=function(){return null};
weathergen.ui.weather_source_controls=function(a){a=weathergen.ui.common.path_lens.call(null,weathergen.ui.weather_params,new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"source","source",-433931539)],null));hoplon.core.do_watch.call(null,a,function(a){return function(a,b){if(cljs.core._EQ_.call(null,new cljs.core.Keyword(null,"mission","mission",1740288522),b))return cljs.core._EQ_.call(null,new cljs.core.Keyword(null,"not-loaded","not-loaded",
666902159),(new cljs.core.Keyword(null,"state","state",-1988618099)).cljs$core$IFn$_invoke$arity$1(cljs.core.deref.call(null,weathergen.ui.fmap_load_state)))?weathergen.ui.load_mission_weather.call(null):null;if(cljs.core._EQ_.call(null,new cljs.core.Keyword(null,"generated","generated",-1130228243),b))return weathergen.ui.initialize_generated_weather.call(null);if(cljs.core._EQ_.call(null,null,b))return null;throw Error(["No matching clause: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(b)].join(""));
}}(a));return weathergen.ui.common.control_section.call(null,new cljs.core.Keyword(null,"toggle","toggle",1291842030),javelin.core.formula.call(null,function(a){return function(a,b){return a.call(null,b,new cljs.core.Keyword(null,"edit","edit",-1641834166))}}(a)).call(null,cljs.core._EQ_,weathergen.ui.display_mode),new cljs.core.Keyword(null,"id","id",-1388402092),"weather-source-controls",new cljs.core.Keyword(null,"title","title",636505583),"Weather Source",weathergen.ui.common.radio_group.call(null,
new cljs.core.Keyword(null,"value","value",305978217),a,new cljs.core.Keyword(null,"choices","choices",1385611597),javelin.core.formula.call(null,function(a){return function(b){return new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.PersistentArrayMap(null,2,[new cljs.core.Keyword(null,"label","label",1718410804),"No Weather",new cljs.core.Keyword(null,"value","value",305978217),null],null),new cljs.core.PersistentArrayMap(null,2,[new cljs.core.Keyword(null,
"label","label",1718410804),["Mission Weather",cljs.core.str.cljs$core$IFn$_invoke$arity$1(function(){var c=(new cljs.core.Keyword(null,"state","state",-1988618099)).cljs$core$IFn$_invoke$arity$1(b),e=c instanceof cljs.core.Keyword?c.fqn:null;switch(e){case "loading":return[" Loading: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1((new cljs.core.Keyword(null,"maps-loaded","maps-loaded",-320462859)).cljs$core$IFn$_invoke$arity$1(b))," loaded of ",cljs.core.str.cljs$core$IFn$_invoke$arity$1((new cljs.core.Keyword(null,
"maps-to-load","maps-to-load",-73197204)).cljs$core$IFn$_invoke$arity$1(b)),""].join("");case "loaded":return weathergen.ui.buttons.a_button.call(null,new cljs.core.Keyword(null,"click","click",1912301393),function(a,b,c){return function(a){return new cljs.core.Keyword(null,"todo","todo",-1046442570)}}(c,e,a),"Reload");default:return""}}())].join(""),new cljs.core.Keyword(null,"value","value",305978217),new cljs.core.Keyword(null,"mission","mission",1740288522)],null),new cljs.core.PersistentArrayMap(null,
3,[new cljs.core.Keyword(null,"label","label",1718410804),"Generated Weather",new cljs.core.Keyword(null,"value","value",305978217),new cljs.core.Keyword(null,"generated","generated",-1130228243),new cljs.core.Keyword(null,"disabled?","disabled?",-1523234181),!0],null)],null)}}(a)).call(null,weathergen.ui.fmap_load_state)))};
weathergen.ui.serialization_controls=function(a){var b=function(){var a=function(a,b){return cljs.core.apply.call(null,hoplon.core.div,new cljs.core.Keyword(null,"css","css",1135045163),cljs.core.merge.call(null,new cljs.core.PersistentArrayMap(null,2,[new cljs.core.Keyword(null,"display","display",242065432),"inline-block",new cljs.core.Keyword(null,"margin-right","margin-right",809689658),"5px"],null),a),b)},b=function(b,c){var d=null;if(1<arguments.length){d=0;for(var e=Array(arguments.length-
1);d<e.length;)e[d]=arguments[d+1],++d;d=new cljs.core.IndexedSeq(e,0,null)}return a.call(this,b,d)};b.cljs$lang$maxFixedArity=1;b.cljs$lang$applyTo=function(b){var c=cljs.core.first(b);b=cljs.core.rest(b);return a(c,b)};b.cljs$core$IFn$_invoke$arity$variadic=a;return b}();return weathergen.ui.common.control_section.call(null,new cljs.core.Keyword(null,"toggle","toggle",1291842030),javelin.core.formula.call(null,function(a){return function(a,b){return a.call(null,b,new cljs.core.Keyword(null,"edit",
"edit",-1641834166))}}(b)).call(null,cljs.core._EQ_,weathergen.ui.display_mode),new cljs.core.Keyword(null,"id","id",-1388402092),"load-save-controls",new cljs.core.Keyword(null,"title","title",636505583),"Load/save",cljs.core.not.call(null,weathergen.ui.safari_QMARK_)?cljs.core.PersistentVector.EMPTY:function(){var a=function(a){return function(){var a=function(a){return hoplon.core.p.call(null,new cljs.core.Keyword(null,"css","css",1135045163),new cljs.core.PersistentArrayMap(null,2,[new cljs.core.Keyword(null,
"margin-bottom","margin-bottom",388334941),"3px",new cljs.core.Keyword(null,"margin-top","margin-top",392161226),"3px"],null),a)},b=function(b){var c=null;if(0<arguments.length){c=0;for(var d=Array(arguments.length-0);c<d.length;)d[c]=arguments[c+0],++c;c=new cljs.core.IndexedSeq(d,0,null)}return a.call(this,c)};b.cljs$lang$maxFixedArity=0;b.cljs$lang$applyTo=function(b){b=cljs.core.seq(b);return a(b)};b.cljs$core$IFn$_invoke$arity$variadic=a;return b}()}(b);return hoplon.core.div.call(null,new cljs.core.Keyword(null,
"css","css",1135045163),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"font-size","font-size",-1847940346),"80%"],null),a.call(null,"Due to a bug in Safari, settings files will open in a new\n        tab Use the browser's File-\x3eSave As to save the file. Be sure\n        to select 'Page Source' for the format. "),a.call(null,"Due to the same bug, all other files will download with\n        name 'Unknown'. For these, once downloaded rename it with the\n        appropriate extension: .fmap for FMAPs, .twx for TWX files,\n        and .zip for weather packages."),
a.call(null,"Better still, don't use Safari. This application works\n        best in Chrome, but has also been tested in Firefox and\n        Internet Explorer."))}(),weathergen.ui.control_subsection.call(null,new cljs.core.Keyword(null,"title","title",636505583),weathergen.help.with_help.call(null,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"serialization-controls","serialization-controls",-789590644),new cljs.core.Keyword(null,"save-single-files",
"save-single-files",-947469927)],null),"Load/Save individual files"),hoplon.core.div.call(null,new cljs.core.Keyword(null,"css","css",1135045163),new cljs.core.PersistentArrayMap(null,3,[new cljs.core.Keyword(null,"display","display",242065432),"flex",new cljs.core.Keyword(null,"flex-direction","flex-direction",364609438),"row",new cljs.core.Keyword(null,"vertical-align","vertical-align",651007333),"middle"],null),hoplon.core.div.call(null,new cljs.core.Keyword(null,"class","class",-2030961996),"button-container",
weathergen.ui.buttons.a_button.call(null,new cljs.core.Keyword(null,"click","click",1912301393),function(a){return function(){return weathergen.ui.save_fmap.call(null,cljs.core.deref.call(null,weathergen.ui.weather_params),cljs.core.deref.call(null,weathergen.ui.movement_params),cljs.core.deref.call(null,weathergen.ui.cloud_params),cljs.core.deref.call(null,weathergen.ui.weather_data))}}(b),"Save Current as FMAP")),hoplon.core.div.call(null,new cljs.core.Keyword(null,"class","class",-2030961996),
"button-container",weathergen.ui.buttons.a_button.call(null,new cljs.core.Keyword(null,"click","click",1912301393),function(a){return function(){return weathergen.ui.save_twx.call(null,(new cljs.core.Keyword(null,"mission-name","mission-name",1479736582)).cljs$core$IFn$_invoke$arity$1(cljs.core.deref.call(null,weathergen.ui.mission)))}}(b),"Save .TWX")),hoplon.core.div.call(null,new cljs.core.Keyword(null,"class","class",-2030961996),"button-container",weathergen.ui.buttons.a_button.call(null,new cljs.core.Keyword(null,
"click","click",1912301393),weathergen.ui.save_weather_settings,"Save Weather Settings")),hoplon.core.div.call(null,new cljs.core.Keyword(null,"class","class",-2030961996),"button-container",weathergen.ui.buttons.a_button.call(null,new cljs.core.Keyword(null,"click","click",1912301393),weathergen.ui.load_weather_settings,"Load Weather Settings")))),weathergen.ui.control_subsection.call(null,new cljs.core.Keyword(null,"toggle","toggle",1291842030),javelin.core.formula.call(null,function(a){return function(a){return cljs.core.not.call(null,
null==a)}}(b)).call(null,weathergen.ui.mission),new cljs.core.Keyword(null,"title","title",636505583),weathergen.help.with_help.call(null,new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"serialization-controls","serialization-controls",-789590644),new cljs.core.Keyword(null,"multi-save","multi-save",-1814543541),new cljs.core.Keyword(null,"overview","overview",-435037267)],null),"Save mission weather files"),function(){var a=function(a){return function(){var a=
function(a,b,c,d){return hoplon.core.div.call(null,new cljs.core.Keyword(null,"css","css",1135045163),new cljs.core.PersistentArrayMap(null,3,[new cljs.core.Keyword(null,"display","display",242065432),"flex",new cljs.core.Keyword(null,"flex-direction","flex-direction",364609438),"row",new cljs.core.Keyword(null,"margin","margin",-995903681),"0 2px 3px 2px"],null),hoplon.core.div.call(null,new cljs.core.Keyword(null,"css","css",1135045163),new cljs.core.PersistentArrayMap(null,3,[new cljs.core.Keyword(null,
"white-space","white-space",-707351930),"nowrap",new cljs.core.Keyword(null,"width","width",-384071477),"50px",new cljs.core.Keyword(null,"margin-left","margin-left",2015598377),"3px"],null),weathergen.help.with_help.call(null,b,a)),c,d)},b=function(b,c,d,e){var f=null;if(3<arguments.length){f=0;for(var g=Array(arguments.length-3);f<g.length;)g[f]=arguments[f+3],++f;f=new cljs.core.IndexedSeq(g,0,null)}return a.call(this,b,c,d,f)};b.cljs$lang$maxFixedArity=3;b.cljs$lang$applyTo=function(b){var c=
cljs.core.first(b);b=cljs.core.next(b);var d=cljs.core.first(b);b=cljs.core.next(b);var e=cljs.core.first(b);b=cljs.core.rest(b);return a(c,d,e,b)};b.cljs$core$IFn$_invoke$arity$variadic=a;return b}()}(b);return new cljs.core.PersistentVector(null,5,5,cljs.core.PersistentVector.EMPTY_NODE,[a.call(null,"Mission:",new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"serialization-controls","serialization-controls",-789590644),new cljs.core.Keyword(null,
"multi-save","multi-save",-1814543541),new cljs.core.Keyword(null,"mission-name","mission-name",1479736582)],null),hoplon.core.div.call(null,javelin.core.formula.call(null,function(a,b){return function(a){a=(new cljs.core.Keyword(null,"mission-name","mission-name",1479736582)).cljs$core$IFn$_invoke$arity$1(a);return cljs.core.truth_(a)?a:"No Mission Loaded"}}(a,b)).call(null,weathergen.ui.mission))),a.call(null,"From:",new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,
[new cljs.core.Keyword(null,"serialization-controls","serialization-controls",-789590644),new cljs.core.Keyword(null,"multi-save","multi-save",-1814543541),new cljs.core.Keyword(null,"from","from",1815293044)],null),weathergen.ui.time_entry.call(null,new cljs.core.Keyword(null,"source","source",-433931539),weathergen.ui.display_params,new cljs.core.Keyword(null,"path","path",-188191168),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"multi-save",
"multi-save",-1814543541),new cljs.core.Keyword(null,"from","from",1815293044)],null)),weathergen.ui.buttons.a_button.call(null,new cljs.core.Keyword(null,"css","css",1135045163),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"margin-left","margin-left",2015598377),"14px"],null),new cljs.core.Keyword(null,"toggle","toggle",1291842030),javelin.core.formula.call(null,function(a,b){return function(a){return cljs.core.not.call(null,null==a)}}(a,b)).call(null,weathergen.ui.mission),
new cljs.core.Keyword(null,"click","click",1912301393),function(a,b){return function(){return cljs.core.swap_BANG_.call(null,weathergen.ui.display_params,cljs.core.assoc_in,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"multi-save","multi-save",-1814543541),new cljs.core.Keyword(null,"from","from",1815293044)],null),weathergen.falcon.files.mission.mission_time.call(null,cljs.core.deref.call(null,weathergen.ui.mission)))}}(a,b),"Set to mission time")),
a.call(null,"To:",new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"serialization-controls","serialization-controls",-789590644),new cljs.core.Keyword(null,"multi-save","multi-save",-1814543541),new cljs.core.Keyword(null,"to","to",192099007)],null),weathergen.ui.time_entry.call(null,new cljs.core.Keyword(null,"source","source",-433931539),weathergen.ui.display_params,new cljs.core.Keyword(null,"path","path",-188191168),new cljs.core.PersistentVector(null,
2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"multi-save","multi-save",-1814543541),new cljs.core.Keyword(null,"to","to",192099007)],null))),a.call(null,"Step:",new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"serialization-controls","serialization-controls",-789590644),new cljs.core.Keyword(null,"multi-save","multi-save",-1814543541),new cljs.core.Keyword(null,"step","step",1288888124)],null),weathergen.ui.common.validating_edit.call(null,
new cljs.core.Keyword(null,"width","width",-384071477),32,new cljs.core.Keyword(null,"source","source",-433931539),weathergen.ui.common.path_lens.call(null,weathergen.ui.display_params,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"multi-save","multi-save",-1814543541),new cljs.core.Keyword(null,"step","step",1288888124)],null)),new cljs.core.Keyword(null,"conform","conform",1846236460),function(a,b){return function(c){return javelin.core.formula.call(null,
function(a,b){return function(a){var b=weathergen.ui.common.parse_int.call(null,a);a=cljs.core.truth_(b)?60<=a:b;return new cljs.core.PersistentArrayMap(null,3,[new cljs.core.Keyword(null,"valid?","valid?",-212412379),a,new cljs.core.Keyword(null,"message","message",-406056002),cljs.core.truth_(a)?null:"Must be an integer greater than or equal to 60. Values below 60 may cause problems in BMS.",new cljs.core.Keyword(null,"value","value",305978217),b],null)}}(a,b)).call(null,c)}}(a,b),new cljs.core.Keyword(null,
"fmt","fmt",332300772),cljs.core.str,new cljs.core.Keyword(null,"placeholder","placeholder",-104873083),"60")),function(){var c=javelin.core.cell.call(null,null),e=javelin.core.cell.call(null,!1),f=javelin.core.cell.call(null,null);return new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[weathergen.ui.buttons.a_button.call(null,new cljs.core.Keyword(null,"css","css",1135045163),javelin.core.formula.call(null,function(a,b,c,d,e){return function(a,b){var c=cljs.core.PersistentArrayMap,
d=new cljs.core.Keyword(null,"width","width",-384071477),e=new cljs.core.Keyword(null,"display","display",242065432),f=new cljs.core.Keyword(null,"text-align","text-align",1786091845),g=new cljs.core.Keyword(null,"background","background",-863952629);cljs.core.not.call(null,b)&&null!=a?(a=cljs.core.long$.call(null,100*a),a=goog.string.format("linear-gradient(to right, lightblue, lightblue %f%%, white %f%%)",a,a)):a=null;return new c(null,4,[d,"115px",e,"inline-block",f,"center",g,a],null)}}(c,e,f,
a,b)).call(null,c,e),new cljs.core.Keyword(null,"click","click",1912301393),function(a,b,c,d,e){return function(){if(cljs.core.truth_(cljs.core.deref.call(null,a)))return javelin.core.dosync_STAR_.call(null,function(a,b,c,d,e){return function(){return cljs.core.reset_BANG_.call(null,b,!0)}}(a,b,c,d,e));cljs.core.reset_BANG_.call(null,b,!1);cljs.core.reset_BANG_.call(null,c,null);return weathergen.ui.save_weather_files.call(null,cljs.core.PersistentHashMap.fromArrays([new cljs.core.Keyword(null,"mission-name",
"mission-name",1479736582),new cljs.core.Keyword(null,"movement-params","movement-params",293385966),new cljs.core.Keyword(null,"cloud-params","cloud-params",-540447983),new cljs.core.Keyword(null,"nx","nx",-1996436366),new cljs.core.Keyword(null,"save-file","save-file",-250442926),new cljs.core.Keyword(null,"from","from",1815293044),new cljs.core.Keyword(null,"campaign-dir","campaign-dir",-1278307883),new cljs.core.Keyword(null,"weather-direction","weather-direction",-1789808873),new cljs.core.Keyword(null,
"cancel","cancel",-1964088360),new cljs.core.Keyword(null,"ny","ny",1701791641),new cljs.core.Keyword(null,"progress","progress",244323547),new cljs.core.Keyword(null,"weather-params","weather-params",-259271365),new cljs.core.Keyword(null,"step","step",1288888124),new cljs.core.Keyword(null,"to","to",192099007)],[(new cljs.core.Keyword(null,"mission-name","mission-name",1479736582)).cljs$core$IFn$_invoke$arity$1(cljs.core.deref.call(null,weathergen.ui.mission)),cljs.core.deref.call(null,weathergen.ui.movement_params),
cljs.core.deref.call(null,weathergen.ui.cloud_params),cljs.core.first.call(null,(new cljs.core.Keyword(null,"cell-count","cell-count",-441457582)).cljs$core$IFn$_invoke$arity$1(cljs.core.deref.call(null,weathergen.ui.weather_params))),c,cljs.core.get_in.call(null,cljs.core.deref.call(null,weathergen.ui.display_params),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"multi-save","multi-save",-1814543541),new cljs.core.Keyword(null,"from","from",
1815293044)],null)),weathergen.falcon.files.mission.campaign_dir.call(null,cljs.core.deref.call(null,weathergen.ui.mission)),(new cljs.core.Keyword(null,"direction","direction",-633359395)).cljs$core$IFn$_invoke$arity$1(cljs.core.deref.call(null,weathergen.ui.movement_params)),b,cljs.core.second.call(null,(new cljs.core.Keyword(null,"cell-count","cell-count",-441457582)).cljs$core$IFn$_invoke$arity$1(cljs.core.deref.call(null,weathergen.ui.weather_params))),a,cljs.core.deref.call(null,weathergen.ui.weather_params),
cljs.core.get_in.call(null,cljs.core.deref.call(null,weathergen.ui.display_params),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"multi-save","multi-save",-1814543541),new cljs.core.Keyword(null,"step","step",1288888124)],null)),cljs.core.get_in.call(null,cljs.core.deref.call(null,weathergen.ui.display_params),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"multi-save","multi-save",
-1814543541),new cljs.core.Keyword(null,"to","to",192099007)],null))]))}}(c,e,f,a,b),javelin.core.formula.call(null,function(a,b,c,d,e){return function(a,b){return cljs.core.truth_(cljs.core.truth_(a)?b:a)?"Cancelling...":cljs.core.truth_(a)?"Cancel":"Save Weather Files"}}(c,e,f,a,b)).call(null,c,e)),function(){var d=new cljs.core.Delay(function(a,b,c,d,e){return function(){return weathergen.ui.common.inl.call(null,new cljs.core.Keyword(null,"css","css",1135045163),new cljs.core.PersistentArrayMap(null,
1,[new cljs.core.Keyword(null,"margin-left","margin-left",2015598377),"5px"],null),hoplon.core.span.call(null,new cljs.core.Keyword(null,"css","css",1135045163),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"margin-right","margin-right",809689658),"5px"],null),"Saving"),hoplon.core.span.call(null,new cljs.core.Keyword(null,"css","css",1135045163),new cljs.core.PersistentArrayMap(null,2,[new cljs.core.Keyword(null,"font-family","font-family",-667419874),"monospace",new cljs.core.Keyword(null,
"font-size","font-size",-1847940346),"120%"],null),c))}}(c,e,f,a,b),null),h=new cljs.core.Delay(function(a,b,c,d,e,f){return function(){return null}}(d,c,e,f,a,b),null),k=function(a,b,c,d,e,f,g){return function(c){return cljs.core.deref.call(null,function(){var d=cljs.core.truth_(c)?a:b;return cljs.core.truth_(d)?d:cljs.core.atom.call(null,null)}())}}(d,h,c,e,f,a,b);return javelin.core.formula.call(null,k).call(null,javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h){return function(a,b){return cljs.core.truth_(a)?
b:a}}(d,h,k,c,e,f,a,b)).call(null,c,f))}()],null)}()],null)}()))};weathergen.ui.debug_info=function(){return null};cljs.core._add_method.call(null,hoplon.core.do_BANG_,new cljs.core.Keyword(null,"viewBox","viewBox",-469489477),function(a,b,c){return cljs.core._EQ_.call(null,!1,c)?a.removeAttribute("viewBox"):a.setAttribute("viewBox",c)});
cljs.core._add_method.call(null,hoplon.core.do_BANG_,new cljs.core.Keyword(null,"xlink-href","xlink-href",244956585),function(a,b,c){return cljs.core._EQ_.call(null,!1,c)?a.removeAttributeNS("http://www.w3.org/1999/xlink","href"):a.setAttributeNS("http://www.w3.org/1999/xlink","href",c)});
cljs.core._add_method.call(null,hoplon.core.do_BANG_,new cljs.core.Keyword(null,"preserveAspectRatio","preserveAspectRatio",1832131817),function(a,b,c){return cljs.core._EQ_.call(null,!1,c)?a.removeAttribute("preserveAspectRatio"):a.setAttribute("preserveAspectRatio",c)});
weathergen.ui.test_section=function(a){var b=null!=a&&(a.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===a.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,a):a;return weathergen.ui.common.control_section.call(null,new cljs.core.Keyword(null,"title","title",636505583),"Test",weathergen.ui.tabs.tabs.call(null,new cljs.core.Keyword(null,"selected","selected",574897764),javelin.core.cell.call(null,new cljs.core.Keyword(null,"one","one",935007904)),new cljs.core.Keyword(null,
"tabs","tabs",-779855354),new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.PersistentArrayMap(null,3,[new cljs.core.Keyword(null,"title","title",636505583),"Version",new cljs.core.Keyword(null,"id","id",-1388402092),new cljs.core.Keyword(null,"one","one",935007904),new cljs.core.Keyword(null,"ui","ui",-469653645),"test"],null),new cljs.core.PersistentArrayMap(null,3,[new cljs.core.Keyword(null,"title","title",636505583),"App Path",new cljs.core.Keyword(null,
"id","id",-1388402092),new cljs.core.Keyword(null,"two","two",627606869),new cljs.core.Keyword(null,"ui","ui",-469653645),hoplon.core.div.call(null,weathergen.ui.electron.remote.app.getAppPath())],null),new cljs.core.PersistentArrayMap(null,3,[new cljs.core.Keyword(null,"title","title",636505583),"Three",new cljs.core.Keyword(null,"id","id",-1388402092),new cljs.core.Keyword(null,"three","three",-1651831795),new cljs.core.Keyword(null,"ui","ui",-469653645),function(){var c=javelin.core.cell.call(null,
new cljs.core.Keyword(null,"a","a",-2123407586));return hoplon.core.div.call(null,weathergen.ui.common.radio_group.call(null,new cljs.core.Keyword(null,"value","value",305978217),c,new cljs.core.Keyword(null,"choices","choices",1385611597),javelin.core.cell.call(null,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.PersistentArrayMap(null,2,[new cljs.core.Keyword(null,"value","value",305978217),new cljs.core.Keyword(null,"a","a",-2123407586),new cljs.core.Keyword(null,
"label","label",1718410804),"a"],null),new cljs.core.PersistentArrayMap(null,2,[new cljs.core.Keyword(null,"value","value",305978217),new cljs.core.Keyword(null,"b","b",1482224470),new cljs.core.Keyword(null,"label","label",1718410804),"b"],null)],null))),hoplon.core.div.call(null,javelin.core.formula.call(null,function(a,b,c){return function(a,b){return["value: ",b.call(null,a)].join("")}}(c,a,b)).call(null,c,cljs.core.pr_str)))}()],null)],null)))};
weathergen.ui.airbase_squadrons=function(a,b){return javelin.core.formula.call(null,function(a,b){return cljs.core.sort_by.call(null,cljs.core.juxt.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","squadron-type","weathergen.falcon.files.mission/squadron-type",1124226793),new cljs.core.Keyword(null,"name","name",1843675177)),(new cljs.core.Keyword("weathergen.falcon.files.mission","squadrons","weathergen.falcon.files.mission/squadrons",47769110)).cljs$core$IFn$_invoke$arity$1(b))}).call(null,
a,b)};
weathergen.ui.airbase_display_controls=function(a){return weathergen.ui.common.control_section.call(null,new cljs.core.Keyword(null,"title","title",636505583),weathergen.help.with_help.call(null,new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"air-forces","air-forces",-1539372068),new cljs.core.Keyword(null,"display-options","display-options",1066052168),new cljs.core.Keyword(null,"overview","overview",-435037267)],null),a),function(){var a=weathergen.ui.common.path_lens.call(null,
weathergen.ui.map_display,new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"airbase-label-style","airbase-label-style",-1349798514)],null));return hoplon.core.div.call(null,weathergen.help.with_help.call(null,new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"air-forces","air-forces",-1539372068),new cljs.core.Keyword(null,"display-options","display-options",1066052168),new cljs.core.Keyword(null,
"airbase-labels","airbase-labels",580409100)],null),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"margin","margin",-995903681),weathergen.ui.common.px.call(null,0,5)],null),hoplon.core.label.call(null,"Airbase labels:")),weathergen.ui.common.dropdown.call(null,new cljs.core.Keyword(null,"value","value",305978217),a,new cljs.core.Keyword(null,"choices","choices",1385611597),new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.PersistentArrayMap(null,
2,[new cljs.core.Keyword(null,"label","label",1718410804),"Airbase name only",new cljs.core.Keyword(null,"value","value",305978217),new cljs.core.Keyword(null,"name-only","name-only",-124386571)],null),new cljs.core.PersistentArrayMap(null,2,[new cljs.core.Keyword(null,"label","label",1718410804),"Airbase name and squadrons",new cljs.core.Keyword(null,"value","value",305978217),new cljs.core.Keyword(null,"all","all",892129742)],null),new cljs.core.PersistentArrayMap(null,2,[new cljs.core.Keyword(null,
"label","label",1718410804),"No label",new cljs.core.Keyword(null,"value","value",305978217),new cljs.core.Keyword(null,"nothing","nothing",-1022703296)],null)],null)))}(),function(){var a=weathergen.ui.common.path_lens.call(null,weathergen.ui.map_display,new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"show-airbase-status?","show-airbase-status?",-2059784435)],null));return hoplon.core.div.call(null,hoplon.core.input.call(null,new cljs.core.Keyword(null,
"type","type",1174270348),"checkbox",new cljs.core.Keyword(null,"value","value",305978217),a,new cljs.core.Keyword(null,"change","change",-1163046502),function(a){return function(){return cljs.core.swap_BANG_.call(null,a,cljs.core.not)}}(a)),weathergen.help.with_help.call(null,new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"air-forces","air-forces",-1539372068),new cljs.core.Keyword(null,"display-options","display-options",1066052168),new cljs.core.Keyword(null,
"show-airbase-status?","show-airbase-status?",-2059784435)],null),hoplon.core.label.call(null,"Show airbase status?")))}(),function(){var a=weathergen.ui.common.path_lens.call(null,weathergen.ui.map_display,new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"show-airbase-squadrons?","show-airbase-squadrons?",1245487954)],null));return hoplon.core.div.call(null,hoplon.core.input.call(null,new cljs.core.Keyword(null,"type","type",1174270348),"checkbox",
new cljs.core.Keyword(null,"value","value",305978217),a,new cljs.core.Keyword(null,"change","change",-1163046502),function(a){return function(){return cljs.core.swap_BANG_.call(null,a,cljs.core.not)}}(a)),weathergen.help.with_help.call(null,new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"air-forces","air-forces",-1539372068),new cljs.core.Keyword(null,"display-options","display-options",1066052168),new cljs.core.Keyword(null,"show-airbase-squadrons?",
"show-airbase-squadrons?",1245487954)],null),hoplon.core.label.call(null,"Show airbase squadrons?")))}())};
weathergen.ui.air_forces_section=function(a){var b=javelin.core.cell.call(null,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"expand-through-level","expand-through-level",-1840001384),1],null)),c=function(a){return function(){var a=function(a){return cljs.core.apply.call(null,hoplon.core.div,new cljs.core.Keyword(null,"class","class",-2030961996),"row",a)},b=function(b){var c=null;if(0<arguments.length){c=0;for(var d=Array(arguments.length-
0);c<d.length;)d[c]=arguments[c+0],++c;c=new cljs.core.IndexedSeq(d,0,null)}return a.call(this,c)};b.cljs$lang$maxFixedArity=0;b.cljs$lang$applyTo=function(b){b=cljs.core.seq(b);return a(b)};b.cljs$core$IFn$_invoke$arity$variadic=a;return b}()}(b);return new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[function(){var a=new cljs.core.Delay(function(a,b){return function(){return"No mission loaded"}}(b,c),null),e=new cljs.core.Delay(function(a,b,c){return function(){return"No airbases present in the mission."}}(a,
b,c),null),f=new cljs.core.Delay(function(a,b,c,d){return function(){return weathergen.ui.common.styled.call(null,new cljs.core.Keyword(null,"garden","garden",-1966516149),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"div.row","div.row",133678515),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"margin-bottom","margin-bottom",388334941),"3px"],
null)],null),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"button","button",1456579943),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"margin-right","margin-right",809689658),"3px"],null)],null)],null),weathergen.ui.common.control_section.call(null,new cljs.core.Keyword(null,"title","title",636505583),weathergen.help.with_help.call(null,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,
"air-forces","air-forces",-1539372068),new cljs.core.Keyword(null,"airbase-filtering","airbase-filtering",-1721186951)],null),"Airbase Filtering"),d.call(null,hoplon.core.input.call(null,new cljs.core.Keyword(null,"type","type",1174270348),"checkbox",new cljs.core.Keyword(null,"value","value",305978217),weathergen.ui.hide_empty_airbases_QMARK_,new cljs.core.Keyword(null,"change","change",-1163046502),function(a,b,c,d){return function(){return cljs.core.swap_BANG_.call(null,weathergen.ui.hide_empty_airbases_QMARK_,
cljs.core.not)}}(a,b,c,d)),weathergen.help.with_help.call(null,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"air-forces","air-forces",-1539372068),new cljs.core.Keyword(null,"hide-no-squadron-airbases","hide-no-squadron-airbases",-1359048131)],null),hoplon.core.label.call(null,"Hide airbases with no squadrons"))),d.call(null,hoplon.core.input.call(null,new cljs.core.Keyword(null,"type","type",1174270348),"checkbox",new cljs.core.Keyword(null,
"value","value",305978217),weathergen.ui.hide_inoperable_airbases_QMARK_,new cljs.core.Keyword(null,"change","change",-1163046502),function(a,b,c,d){return function(){return cljs.core.swap_BANG_.call(null,weathergen.ui.hide_inoperable_airbases_QMARK_,cljs.core.not)}}(a,b,c,d)),weathergen.help.with_help.call(null,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"air-forces","air-forces",-1539372068),new cljs.core.Keyword(null,"hide-zero-status-airbases",
"hide-zero-status-airbases",1840033965)],null),hoplon.core.label.call(null,"Hide airbases at 0% status")))),weathergen.ui.common.control_section.call(null,new cljs.core.Keyword(null,"title","title",636505583),weathergen.help.with_help.call(null,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"air-forces","air-forces",-1539372068),new cljs.core.Keyword(null,"squadron-types","squadron-types",1890788688)],null),"Squadron Types"),d.call(null,weathergen.ui.buttons.a_button.call(null,
new cljs.core.Keyword(null,"click","click",1912301393),function(a,b,c,d){return function(){return cljs.core.reset_BANG_.call(null,weathergen.ui.included_squadron_types,cljs.core.deref.call(null,weathergen.ui.all_squadron_types))}}(a,b,c,d),"Check all"),weathergen.ui.buttons.a_button.call(null,new cljs.core.Keyword(null,"click","click",1912301393),function(a,b,c,d){return function(){return cljs.core.reset_BANG_.call(null,weathergen.ui.included_squadron_types,cljs.core.PersistentHashSet.EMPTY)}}(a,
b,c,d),"Uncheck all"),weathergen.help.help_icon.call(null,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"air-forces","air-forces",-1539372068),new cljs.core.Keyword(null,"squadron-type-buttons","squadron-type-buttons",-151353966)],null))),hoplon.core.div.call(null,new cljs.core.Keyword(null,"css","css",1135045163),new cljs.core.PersistentArrayMap(null,3,[new cljs.core.Keyword(null,"display","display",242065432),"flex",new cljs.core.Keyword(null,
"flex-wrap","flex-wrap",455413707),"wrap",new cljs.core.Keyword(null,"max-width","max-width",-1939924051),weathergen.ui.common.px.call(null,275)],null),hoplon.core.loop_tpl_STAR_.call(null,javelin.core.formula.call(null,function(a,b,c,d){return function(a,b){return a.call(null,b)}}(a,b,c,d)).call(null,cljs.core.sort,weathergen.ui.all_squadron_types),function(a,b,c,d){return function(e){var f=javelin.core.cell_map.call(null,cljs.core.identity,javelin.core.formula.call(null,function(a,b,c,d){return function(a){return new cljs.core.PersistentVector(null,
1,5,cljs.core.PersistentVector.EMPTY_NODE,[a],null)}}(a,b,c,d)).call(null,e)),g=cljs.core.nth.call(null,f,0,null);return hoplon.core.div.call(null,new cljs.core.Keyword(null,"css","css",1135045163),new cljs.core.PersistentArrayMap(null,2,[new cljs.core.Keyword(null,"width","width",-384071477),weathergen.ui.common.px.call(null,75),new cljs.core.Keyword(null,"white-space","white-space",-707351930),"nowrap"],null),function(){var e=javelin.core.formula.call(null,function(a,b,c,d,e,f){return function(a,
b,c){return a.call(null,c,b)}}(f,g,a,b,c,d)).call(null,cljs.core.contains_QMARK_,g,weathergen.ui.included_squadron_types);return hoplon.core.input.call(null,new cljs.core.Keyword(null,"type","type",1174270348),"checkbox",new cljs.core.Keyword(null,"value","value",305978217),e,new cljs.core.Keyword(null,"change","change",-1163046502),function(a,b,c,d,e,f,g){return function(){return cljs.core.swap_BANG_.call(null,weathergen.ui.included_squadron_types,cljs.core.truth_(cljs.core.deref.call(null,a))?cljs.core.disj:
cljs.core.conj,cljs.core.deref.call(null,c))}}(e,f,g,a,b,c,d))}(),hoplon.core.label.call(null,g))}}(a,b,c,d)))),weathergen.ui.airbase_display_controls.call(null,"Display Options"),weathergen.ui.common.control_section.call(null,new cljs.core.Keyword(null,"title","title",636505583),weathergen.help.with_help.call(null,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"air-forces","air-forces",-1539372068),new cljs.core.Keyword(null,"airbases-and-squadrons",
"airbases-and-squadrons",396705313)],null),"Airbases and Squadrons"),d.call(null,weathergen.ui.buttons.a_button.call(null,new cljs.core.Keyword(null,"click","click",1912301393),function(a,b,c,d){return function(){return cljs.core.reset_BANG_.call(null,c,new cljs.core.Keyword(null,"all-expanded","all-expanded",1437674225))}}(a,b,c,d),"Expand all"),weathergen.ui.buttons.a_button.call(null,new cljs.core.Keyword(null,"click","click",1912301393),function(a,b,c,d){return function(){return cljs.core.reset_BANG_.call(null,
c,new cljs.core.Keyword(null,"all-collapsed","all-collapsed",437702622))}}(a,b,c,d),"Collapse all"),weathergen.ui.buttons.a_button.call(null,new cljs.core.Keyword(null,"click","click",1912301393),function(a,b,c,d){return function(){return cljs.core.reset_BANG_.call(null,c,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"expand-through-level","expand-through-level",-1840001384),1],null))}}(a,b,c,d),"Collapse to airbases"),weathergen.help.help_icon.call(null,
new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"air-forces","air-forces",-1539372068),new cljs.core.Keyword(null,"tree-collapse-buttons","tree-collapse-buttons",-1065929796)],null))),d.call(null,weathergen.ui.buttons.a_button.call(null,new cljs.core.Keyword(null,"click","click",1912301393),function(a,b,c,d){return function(){return cljs.core.reset_BANG_.call(null,weathergen.ui.checked_airbases,cljs.core.deref.call(null,weathergen.ui.listed_airbases))}}(a,
b,c,d),"Show all"),weathergen.ui.buttons.a_button.call(null,new cljs.core.Keyword(null,"click","click",1912301393),function(a,b,c,d){return function(){return cljs.core.reset_BANG_.call(null,weathergen.ui.checked_airbases,cljs.core.PersistentHashSet.EMPTY)}}(a,b,c,d),"Hide all"),weathergen.help.help_icon.call(null,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"air-forces","air-forces",-1539372068),new cljs.core.Keyword(null,"airbase-selection-buttons",
"airbase-selection-buttons",-991641834)],null))),d.call(null,new cljs.core.Keyword(null,"css","css",1135045163),new cljs.core.PersistentArrayMap(null,5,[new cljs.core.Keyword(null,"overflow","overflow",2058931880),"scroll",new cljs.core.Keyword(null,"font-family","font-family",-667419874),"monospace",new cljs.core.Keyword(null,"font-size","font-size",-1847940346),"120%",new cljs.core.Keyword(null,"background","background",-863952629),"white",new cljs.core.Keyword(null,"border","border",1444987323),
"inset 1px lightgray"],null),function(){var e=javelin.core.formula.call(null,function(a,b,c,d){return function(e,f){return cljs.core.group_by.call(null,function(a,b,c,d){return function(a){return weathergen.falcon.files.mission.side.call(null,e,(new cljs.core.Keyword(null,"owner","owner",-392611939)).cljs$core$IFn$_invoke$arity$1(a))}}(a,b,c,d),f)}}(a,b,c,d)).call(null,weathergen.ui.mission,weathergen.ui.all_airbases),f=javelin.core.formula.call(null,function(a,b,c,d,e){return function(f,g){var h=
console.time("Updating air forces tree"),k=function(){return function(a,b,c,d,e,f,h){return function L(k){return new cljs.core.LazySeq(null,function(a,b,c,d,e,f,h){return function(){for(var a=k;;)if(a=cljs.core.seq.call(null,a)){if(cljs.core.chunked_seq_QMARK_.call(null,a)){var b=cljs.core.chunk_first.call(null,a),c=cljs.core.count.call(null,b),d=cljs.core.chunk_buffer.call(null,c);a:for(var e=0;;)if(e<c){var f=cljs.core._nth.call(null,b,e),h=cljs.core.get.call(null,g,f);0<cljs.core.count.call(null,
h)&&cljs.core.chunk_append.call(null,d,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[f,h],null));e+=1}else{b=!0;break a}return b?cljs.core.chunk_cons.call(null,cljs.core.chunk.call(null,d),L.call(null,cljs.core.chunk_rest.call(null,a))):cljs.core.chunk_cons.call(null,cljs.core.chunk.call(null,d),null)}d=cljs.core.first.call(null,a);b=cljs.core.get.call(null,g,d);if(0<cljs.core.count.call(null,b))return cljs.core.cons.call(null,new cljs.core.PersistentVector(null,2,
5,cljs.core.PersistentVector.EMPTY_NODE,[d,b],null),L.call(null,cljs.core.rest.call(null,a)));a=cljs.core.rest.call(null,a)}else return null}}(a,b,c,d,e,f,h),null,null)}}("Updating air forces tree",h,a,b,c,d,e).call(null,weathergen.falcon.files.mission.sides.call(null,f))}();console.timeEnd("Updating air forces tree");return k}}(e,a,b,c,d)).call(null,weathergen.ui.mission,e);return weathergen.ui.trees.tree.call(null,c,new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.PersistentArrayMap(null,
2,[new cljs.core.Keyword(null,"formatter","formatter",-483008823),function(a,b,c,d,e,f){return function(g,h){g=javelin.core.cell_map.call(null,cljs.core.identity,javelin.core.formula.call(null,function(a,b,c,d,e,f){return function(a){var b=cljs.core.nth.call(null,a,0,null);a=cljs.core.nth.call(null,a,1,null);return new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[a,b],null)}}(a,b,c,d,e,f)).call(null,h));h=cljs.core.nth.call(null,g,0,null);var k=cljs.core.nth.call(null,
g,1,null);return weathergen.ui.common.inl.call(null,new cljs.core.Keyword(null,"id","id",-1388402092),javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,k){return function(a,b){return a.call(null,"air-forces-side-%d",b)}}(g,h,k,a,b,c,d,e,f)).call(null,goog.string.format,k),new cljs.core.Keyword(null,"css","css",1135045163),javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,k){return function(a){return new cljs.core.PersistentArrayMap(null,5,[new cljs.core.Keyword(null,"height","height",
1025178622),"20px",new cljs.core.Keyword(null,"font-weight","font-weight",2085804583),"bold",new cljs.core.Keyword(null,"margin-right","margin-right",809689658),"3px",new cljs.core.Keyword(null,"margin-top","margin-top",392161226),"4px",new cljs.core.Keyword(null,"color","color",1011675173),weathergen.ui.common.team_color.call(null,a,new cljs.core.Keyword(null,"dark-text","dark-text",814777253))],null)}}(g,h,k,a,b,c,d,e,f)).call(null,k),javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,k){return function(a,
b){return weathergen.ui.common.side_label.call(null,new cljs.core.Keyword(null,"mission","mission",1740288522),a,new cljs.core.Keyword(null,"side","side",389652279),b)}}(g,h,k,a,b,c,d,e,f)).call(null,weathergen.ui.mission,k))}}(e,f,a,b,c,d),new cljs.core.Keyword(null,"children","children",-940561982),function(a,b,c,d,e,f){return function(g){return javelin.core.formula.call(null,function(a,b,c,d,e,f){return function(g,h){var k=cljs.core.nth.call(null,g,0,null),l=cljs.core.nth.call(null,g,1,null);return cljs.core.sort_by.call(null,
function(a,b,c,d,e,f,g,k,l){return function(a){return weathergen.falcon.files.mission.objective_name.call(null,h,a)}}(g,k,l,a,b,c,d,e,f),l)}}(a,b,c,d,e,f)).call(null,g,weathergen.ui.mission)}}(e,f,a,b,c,d)],null),new cljs.core.PersistentArrayMap(null,3,[new cljs.core.Keyword(null,"attrs","attrs",-2090668713),function(a,b,c,d,e,f){return function(g){return new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"toggle","toggle",1291842030),javelin.core.formula.call(null,function(a,b,c,
d,e,f){return function(a,b){return b.call(null,a)}}(a,b,c,d,e,f)).call(null,g,weathergen.ui.listed_airbases)],null)}}(e,f,a,b,c,d),new cljs.core.Keyword(null,"children","children",-940561982),function(a,b,c,d,e,f){return function(g){return javelin.core.formula.call(null,function(a,b,c,d,e,f){return function(a){return cljs.core.sort_by.call(null,cljs.core.juxt.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","squadron-type","weathergen.falcon.files.mission/squadron-type",1124226793),
new cljs.core.Keyword("weathergen.falcon.files.mission","name","weathergen.falcon.files.mission/name",1235339975)),(new cljs.core.Keyword("weathergen.falcon.files.mission","squadrons","weathergen.falcon.files.mission/squadrons",47769110)).cljs$core$IFn$_invoke$arity$1(a))}}(a,b,c,d,e,f)).call(null,g)}}(e,f,a,b,c,d),new cljs.core.Keyword(null,"formatter","formatter",-483008823),function(a,b,c,d,e,f){return function(g,h){var k=javelin.core.formula.call(null,function(a,b,c,d,e,f){return function(a){return(new cljs.core.Keyword("weathergen.falcon.files.mission",
"name","weathergen.falcon.files.mission/name",1235339975)).cljs$core$IFn$_invoke$arity$1(a)}}(a,b,c,d,e,f)).call(null,h),l=javelin.core.formula.call(null,function(a,b,c,d,e,f,g){return function(a){return(new cljs.core.Keyword("weathergen.falcon.files.mission","status","weathergen.falcon.files.mission/status",667063917)).cljs$core$IFn$_invoke$arity$1(a)}}(k,a,b,c,d,e,f)).call(null,h);return hoplon.core.div.call(null,new cljs.core.Keyword(null,"id","id",-1388402092),javelin.core.formula.call(null,function(a,
b,c,d,e,f,g,h){return function(a,b){return b.call(null,"air-forces-airbase-%d",(new cljs.core.Keyword(null,"camp-id","camp-id",618705690)).cljs$core$IFn$_invoke$arity$1(a))}}(k,l,a,b,c,d,e,f)).call(null,h,goog.string.format),new cljs.core.Keyword(null,"css","css",1135045163),javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h){return function(a){return new cljs.core.PersistentArrayMap(null,4,[new cljs.core.Keyword(null,"display","display",242065432),"inline-block",new cljs.core.Keyword(null,"height",
"height",1025178622),"20px",new cljs.core.Keyword(null,"margin-top","margin-top",392161226),"4px",new cljs.core.Keyword(null,"cursor","cursor",1011937484),"pointer"],null)}}(k,l,a,b,c,d,e,f)).call(null,g),new cljs.core.Keyword(null,"click","click",1912301393),function(a,b,c,d,e,f,g,k){return function(){return javelin.core.dosync_STAR_.call(null,function(a,b,c,d,e,f,g,k){return function(){cljs.core.swap_BANG_.call(null,weathergen.ui.checked_airbases,weathergen.util.toggle_set_membership,cljs.core.deref.call(null,
h));return cljs.core.reset_BANG_.call(null,weathergen.ui.highlighted_airbase,cljs.core.deref.call(null,weathergen.ui.checked_airbases).call(null,cljs.core.deref.call(null,h)))}}(a,b,c,d,e,f,g,k))}}(k,l,a,b,c,d,e,f),new cljs.core.Keyword(null,"mouseenter","mouseenter",-1792413560),function(a,b,c,d,e,f,g,k){return function(){return cljs.core.reset_BANG_.call(null,weathergen.ui.highlighted_airbase,cljs.core.deref.call(null,h))}}(k,l,a,b,c,d,e,f),new cljs.core.Keyword(null,"mouseleave","mouseleave",531566580),
function(a,b,c,d,e,f,g,h){return function(){return cljs.core.reset_BANG_.call(null,weathergen.ui.highlighted_airbase,null)}}(k,l,a,b,c,d,e,f),hoplon.core.input.call(null,new cljs.core.Keyword(null,"type","type",1174270348),"checkbox",new cljs.core.Keyword(null,"css","css",1135045163),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"margin-right","margin-right",809689658),"7px"],null),new cljs.core.Keyword(null,"value","value",305978217),javelin.core.formula.call(null,function(a,
b,c,d,e,f,g,h){return function(a,b){return b.call(null,a)}}(k,l,a,b,c,d,e,f)).call(null,h,weathergen.ui.checked_airbases)),function(){return weathergen.ui.common.inl.call(null,new cljs.core.Keyword(null,"css","css",1135045163),new cljs.core.PersistentArrayMap(null,3,[new cljs.core.Keyword(null,"width","width",-384071477),weathergen.ui.common.px.call(null,25),new cljs.core.Keyword(null,"margin-right","margin-right",809689658),weathergen.ui.common.px.call(null,3),new cljs.core.Keyword(null,"text-align",
"text-align",1786091845),"center"],null),hoplon.core.img.call(null,new cljs.core.Keyword(null,"src","src",-1651076051),javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,k){return function(a,b){return weathergen.ui.common.get_image.call(null,a,(new cljs.core.Keyword("weathergen.falcon.files.mission","image","weathergen.falcon.files.mission/image",-1683332210)).cljs$core$IFn$_invoke$arity$1(b))}}(25,k,l,a,b,c,d,e,f)).call(null,weathergen.ui.mission,h),new cljs.core.Keyword(null,"css","css",1135045163),
new cljs.core.PersistentArrayMap(null,3,[new cljs.core.Keyword(null,"max-width","max-width",-1939924051),weathergen.ui.common.px.call(null,25),new cljs.core.Keyword(null,"max-height","max-height",-612563804),weathergen.ui.common.px.call(null,25),new cljs.core.Keyword(null,"vertical-align","vertical-align",651007333),"middle"],null)))}(),weathergen.ui.common.inl.call(null,new cljs.core.Keyword(null,"css","css",1135045163),javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h){return function(a){var b=
cljs.core.PersistentArrayMap,c=new cljs.core.Keyword(null,"width","width",-384071477),d=weathergen.ui.common.px.call(null,25),e=new cljs.core.Keyword(null,"height","height",1025178622),f=weathergen.ui.common.px.call(null,8),g=new cljs.core.Keyword(null,"margin-right","margin-right",809689658),h=weathergen.ui.common.px.call(null,5),k=new cljs.core.Keyword(null,"margin-bottom","margin-bottom",388334941),l=weathergen.ui.common.px.call(null,2),m=new cljs.core.Keyword(null,"vertical-align","vertical-align",
651007333),n=new cljs.core.Keyword(null,"border","border",1444987323),p=new cljs.core.Keyword(null,"background","background",-863952629),q=weathergen.ui.airbase_status_color.call(null,a);a=goog.string.format("linear-gradient(to right, %s, %s %f%%, white %f%%)",q,q,a,a);return new b(null,7,[c,d,e,f,g,h,k,l,m,"middle",n,"solid 1px black",p,a],null)}}(k,l,a,b,c,d,e,f)).call(null,l)),weathergen.ui.common.inl.call(null,new cljs.core.Keyword(null,"css","css",1135045163),javelin.core.formula.call(null,function(a,
b,c,d,e,f,g,h){return function(a,b){return new cljs.core.PersistentArrayMap(null,4,[new cljs.core.Keyword(null,"font-weight","font-weight",2085804583),"bold",new cljs.core.Keyword(null,"color","color",1011675173),weathergen.ui.common.team_color.call(null,(new cljs.core.Keyword(null,"owner","owner",-392611939)).cljs$core$IFn$_invoke$arity$1(a),new cljs.core.Keyword(null,"dark-text","dark-text",814777253)),new cljs.core.Keyword(null,"margin-right","margin-right",809689658),"10px",new cljs.core.Keyword(null,
"background","background",-863952629),cljs.core._EQ_.call(null,a,b)?"lightgoldenrodyellow":null],null)}}(k,l,a,b,c,d,e,f)).call(null,h,weathergen.ui.highlighted_airbase),k),weathergen.ui.common.inl.call(null,new cljs.core.Keyword(null,"css","css",1135045163),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"margin-right","margin-right",809689658),"5px"],null),hoplon.core.loop_tpl_STAR_.call(null,weathergen.ui.airbase_squadrons.call(null,weathergen.ui.mission,h),function(a,b,c,d,
e,f,g,h){return function(k){k=javelin.core.cell_map.call(null,cljs.core.identity,javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h){return function(a){return new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[a],null)}}(a,b,c,d,e,f,g,h)).call(null,k));var l=cljs.core.nth.call(null,k,0,null);return hoplon.core.img.call(null,new cljs.core.Keyword(null,"toggle","toggle",1291842030),javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,k,l){return function(a,b){return b.call(null,
a)}}(k,l,a,b,c,d,e,f,g,h)).call(null,l,weathergen.ui.included_squadrons),new cljs.core.Keyword(null,"src","src",-1651076051),javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,k,l){return function(a,b){return weathergen.ui.common.get_image.call(null,a,(new cljs.core.Keyword("weathergen.falcon.files.mission","image","weathergen.falcon.files.mission/image",-1683332210)).cljs$core$IFn$_invoke$arity$1(b))}}(k,l,a,b,c,d,e,f,g,h)).call(null,weathergen.ui.mission,l),new cljs.core.Keyword(null,"css",
"css",1135045163),new cljs.core.PersistentArrayMap(null,3,[new cljs.core.Keyword(null,"height","height",1025178622),weathergen.ui.common.px.call(null,20),new cljs.core.Keyword(null,"margin-left","margin-left",2015598377),weathergen.ui.common.px.call(null,3),new cljs.core.Keyword(null,"vertical-align","vertical-align",651007333),"middle"],null))}}(k,l,a,b,c,d,e,f))),hoplon.core.div.call(null,new cljs.core.Keyword(null,"toggle","toggle",1291842030),g,new cljs.core.Keyword(null,"css","css",1135045163),
new cljs.core.PersistentArrayMap(null,3,[new cljs.core.Keyword(null,"margin-left","margin-left",2015598377),weathergen.ui.common.px.call(null,22),new cljs.core.Keyword(null,"font-style","font-style",-773672352),"italic",new cljs.core.Keyword(null,"color","color",1011675173),"gray"],null),javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h){return function(a){return goog.string.format("Status: %d%%",a)}}(k,l,a,b,c,d,e,f)).call(null,l)))}}(e,f,a,b,c,d)],null),new cljs.core.PersistentArrayMap(null,
2,[new cljs.core.Keyword(null,"attrs","attrs",-2090668713),function(a,b,c,d,e,f){return function(g){return new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"toggle","toggle",1291842030),javelin.core.formula.call(null,function(a,b,c,d,e,f){return function(a,b){return b.call(null,a)}}(a,b,c,d,e,f)).call(null,g,weathergen.ui.included_squadrons)],null)}}(e,f,a,b,c,d),new cljs.core.Keyword(null,"formatter","formatter",-483008823),function(a,b,c,d,e,f){return function(g,h){return weathergen.ui.common.inl.call(null,
new cljs.core.Keyword(null,"id","id",-1388402092),javelin.core.formula.call(null,function(a,b,c,d,e,f){return function(a,b){return a.call(null,"air-forces-squadron-%d",(new cljs.core.Keyword(null,"camp-id","camp-id",618705690)).cljs$core$IFn$_invoke$arity$1(b))}}(a,b,c,d,e,f)).call(null,goog.string.format,h),weathergen.ui.common.inl.call(null,new cljs.core.Keyword(null,"css","css",1135045163),new cljs.core.PersistentArrayMap(null,2,[new cljs.core.Keyword(null,"width","width",-384071477),"35px",new cljs.core.Keyword(null,
"text-align","text-align",1786091845),"center"],null),hoplon.core.img.call(null,new cljs.core.Keyword(null,"src","src",-1651076051),javelin.core.formula.call(null,function(a,b,c,d,e,f){return function(a,b){return weathergen.ui.common.get_image.call(null,a,(new cljs.core.Keyword("weathergen.falcon.files.mission","image","weathergen.falcon.files.mission/image",-1683332210)).cljs$core$IFn$_invoke$arity$1(b))}}(a,b,c,d,e,f)).call(null,weathergen.ui.mission,h))),weathergen.ui.common.inl.call(null,new cljs.core.Keyword(null,
"css","css",1135045163),new cljs.core.PersistentArrayMap(null,3,[new cljs.core.Keyword(null,"padding","padding",1660304693),"2px 4px 0 5px",new cljs.core.Keyword(null,"margin-bottom","margin-bottom",388334941),"3px",new cljs.core.Keyword(null,"margin-top","margin-top",392161226),"3px"],null),hoplon.core.div.call(null,new cljs.core.Keyword(null,"css","css",1135045163),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"font-weight","font-weight",2085804583),"bold"],null),weathergen.ui.common.inl.call(null,
new cljs.core.Keyword(null,"css","css",1135045163),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"margin-right","margin-right",809689658),"7px"],null),javelin.core.formula.call(null,function(a,b,c,d,e,f){return function(a){return cljs.core.str.cljs$core$IFn$_invoke$arity$1((new cljs.core.Keyword(null,"quantity","quantity",-1929050694)).cljs$core$IFn$_invoke$arity$1((new cljs.core.Keyword("weathergen.falcon.files.mission","aircraft","weathergen.falcon.files.mission/aircraft",
774567258)).cljs$core$IFn$_invoke$arity$1(a)))}}(a,b,c,d,e,f)).call(null,h)),weathergen.ui.common.inl.call(null,javelin.core.formula.call(null,function(a,b,c,d,e,f){return function(a){return(new cljs.core.Keyword(null,"airframe","airframe",643222926)).cljs$core$IFn$_invoke$arity$1((new cljs.core.Keyword("weathergen.falcon.files.mission","aircraft","weathergen.falcon.files.mission/aircraft",774567258)).cljs$core$IFn$_invoke$arity$1(a))}}(a,b,c,d,e,f)).call(null,h))),hoplon.core.div.call(null,javelin.core.formula.call(null,
function(a,b,c,d,e,f){return function(a){return(new cljs.core.Keyword(null,"name","name",1843675177)).cljs$core$IFn$_invoke$arity$1(a)}}(a,b,c,d,e,f)).call(null,h))))}}(e,f,a,b,c,d)],null)],null),f)}())))}}(a,e,b,c),null),g=function(a,b,c,d,e){return function(d,e,f){return cljs.core.deref.call(null,function(){var g=cljs.core.truth_(d)?a:cljs.core.truth_(e)?b:cljs.core.truth_(f)?c:null;return cljs.core.truth_(g)?g:cljs.core.atom.call(null,null)}())}}(a,e,f,b,c);return javelin.core.formula.call(null,
g).call(null,javelin.core.formula.call(null,function(a,b,c,d,e,f){return function(a,b){return b.call(null,a)}}(a,e,f,g,b,c)).call(null,weathergen.ui.mission,cljs.core.not),javelin.core.formula.call(null,function(a,b,c,d,e,f){return function(a,b){return 0===b.call(null,a)}}(a,e,f,g,b,c)).call(null,weathergen.ui.all_airbases,cljs.core.count),new cljs.core.Keyword(null,"else","else",-1508377146))}()],null)};
weathergen.ui.order_of_battle_section=function(a){return weathergen.ui.common.control_section.call(null,new cljs.core.Keyword(null,"title","title",636505583),"Order of Battle",function(){var a=new cljs.core.Delay(function(){return"No mission loaded"},null),c=new cljs.core.Delay(function(a){return function(){var b=javelin.core.formula.call(null,function(a){return function(b,c,d,e,f){return d.call(null,function(a){return function(a,b,d){return f.call(null,a,b,c.call(null,new cljs.core.Keyword(null,
"type","type",1174270348),d))}}(a),cljs.core.PersistentArrayMap.EMPTY,c.call(null,function(a){return function(a){return b.call(null,e,(new cljs.core.Keyword(null,"owner","owner",-392611939)).cljs$core$IFn$_invoke$arity$1(a))}}(a),(new cljs.core.Keyword(null,"units","units",-533089095)).cljs$core$IFn$_invoke$arity$1(e)))}}(a)).call(null,weathergen.falcon.files.mission.side,cljs.core.group_by,cljs.core.reduce_kv,weathergen.ui.mission,cljs.core.assoc),c=javelin.core.cell.call(null,"");return hoplon.core.div.call(null,
hoplon.core.span.call(null,"Search:"),hoplon.core.input.call(null,new cljs.core.Keyword(null,"type","type",1174270348),"text",new cljs.core.Keyword(null,"value","value",305978217),c,new cljs.core.Keyword(null,"change","change",-1163046502),function(a,b,c){return function(a){return cljs.core.reset_BANG_.call(null,b,cljs.core.deref.call(null,a))}}(b,c,a)),hoplon.core.ol.call(null,hoplon.core.loop_tpl_STAR_.call(null,b,function(a,b,c){return function(d){d=javelin.core.cell_map.call(null,cljs.core.identity,
javelin.core.formula.call(null,function(a,b,c){return function(a){var b=cljs.core.nth.call(null,a,0,null);a=cljs.core.nth.call(null,a,1,null);return new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[a,b],null)}}(a,b,c)).call(null,d));var e=cljs.core.nth.call(null,d,0,null),f=cljs.core.nth.call(null,d,1,null);return hoplon.core.li.call(null,hoplon.core.span.call(null,new cljs.core.Keyword(null,"css","css",1135045163),javelin.core.formula.call(null,function(a,b,c,d,e,f){return function(a,
b,c,d){return new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"color","color",1011675173),d.call(null,a,new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"team","team",1355747699),new cljs.core.Keyword(null,"dark-text","dark-text",814777253),b.call(null,c)],null))],null)}}(d,e,f,a,b,c)).call(null,weathergen.ui.common.colors,weathergen.falcon.files.mission.team_color,f,cljs.core.get_in),javelin.core.formula.call(null,function(a,
b,c,d,e,f){return function(a,b,c){return a.call(null,b,c)}}(d,e,f,a,b,c)).call(null,weathergen.falcon.files.mission.team_name,weathergen.ui.mission,f)),hoplon.core.ol.call(null,hoplon.core.loop_tpl_STAR_.call(null,e,function(a,b,c,d,e,f){return function(g){g=javelin.core.cell_map.call(null,cljs.core.identity,javelin.core.formula.call(null,function(a,b,c,d,e,f){return function(a){var b=cljs.core.nth.call(null,a,0,null);a=cljs.core.nth.call(null,a,1,null);return new cljs.core.PersistentVector(null,
2,5,cljs.core.PersistentVector.EMPTY_NODE,[a,b],null)}}(a,b,c,d,e,f)).call(null,g));var h=cljs.core.nth.call(null,g,0,null),k=cljs.core.nth.call(null,g,1,null);return hoplon.core.li.call(null,hoplon.core.span.call(null,javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,k){return function(a,b){return a.call(null,b)}}(g,h,k,a,b,c,d,e,f)).call(null,cljs.core.name,k)),hoplon.core.ol.call(null,hoplon.core.loop_tpl_STAR_.call(null,h,function(a,b,c,d,e,f,g,h,k){return function(l){l=javelin.core.cell_map.call(null,
cljs.core.identity,javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,k){return function(a){return new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[a],null)}}(a,b,c,d,e,f,g,h,k)).call(null,l));var m=cljs.core.nth.call(null,l,0,null);return hoplon.core.li.call(null,hoplon.core.span.call(null,javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,k,l,m){return function(a){return(new cljs.core.Keyword(null,"name","name",1843675177)).cljs$core$IFn$_invoke$arity$1(a)}}(l,
m,a,b,c,d,e,f,g,h,k)).call(null,m)))}}(g,h,k,a,b,c,d,e,f))))}}(d,e,f,a,b,c))))}}(b,c,a))))}}(a),null),d=function(a,b){return function(c){return cljs.core.deref.call(null,function(){var d=cljs.core.truth_(c)?a:b;return cljs.core.truth_(d)?d:cljs.core.atom.call(null,null)}())}}(a,c);return javelin.core.formula.call(null,d).call(null,javelin.core.formula.call(null,function(a,b,c){return function(a,b){return b.call(null,a)}}(a,c,d)).call(null,weathergen.ui.mission,cljs.core.not))}())};
weathergen.ui.mission_info_section=function(a){return weathergen.ui.common.control_section.call(null,new cljs.core.Keyword(null,"title","title",636505583),"Mission Info",hoplon.core.div.call(null,new cljs.core.Keyword(null,"css","css",1135045163),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"padding","padding",1660304693),"5px"],null),function(){var a=new cljs.core.Delay(function(){return hoplon.core.div.call(null,new cljs.core.Keyword(null,"css","css",1135045163),new cljs.core.PersistentArrayMap(null,
1,[new cljs.core.Keyword(null,"padding","padding",1660304693),"3px"],null),hoplon.core.div.call(null,new cljs.core.Keyword(null,"css","css",1135045163),new cljs.core.PersistentArrayMap(null,2,[new cljs.core.Keyword(null,"text-decoration","text-decoration",1836813207),"underline",new cljs.core.Keyword(null,"font-size","font-size",-1847940346),"110%"],null),"Loaded mission"),hoplon.core.div.call(null,hoplon.core.span.call(null,new cljs.core.Keyword(null,"css","css",1135045163),new cljs.core.PersistentArrayMap(null,
1,[new cljs.core.Keyword(null,"font-weight","font-weight",2085804583),"bold"],null),"Theater: "),javelin.core.formula.call(null,function(a,b){return b.call(null,a)}).call(null,weathergen.ui.mission,weathergen.falcon.files.mission.theaterdef_name)),hoplon.core.div.call(null,hoplon.core.span.call(null,new cljs.core.Keyword(null,"css","css",1135045163),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"font-weight","font-weight",2085804583),"bold"],null),"Mission: "),javelin.core.formula.call(null,
function(a){return(new cljs.core.Keyword(null,"mission-name","mission-name",1479736582)).cljs$core$IFn$_invoke$arity$1(a)}).call(null,weathergen.ui.mission)),hoplon.core.div.call(null,hoplon.core.span.call(null,new cljs.core.Keyword(null,"css","css",1135045163),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"font-weight","font-weight",2085804583),"bold"],null),"Falcon Time: "),javelin.core.formula.call(null,function(a,b,c){return c.call(null,a.call(null,b))}).call(null,weathergen.falcon.files.mission.mission_time,
weathergen.ui.mission,weathergen.ui.common.format_time)))},null),c=new cljs.core.Delay(function(a){return function(){return hoplon.core.div.call(null,new cljs.core.Keyword(null,"css","css",1135045163),new cljs.core.PersistentArrayMap(null,2,[new cljs.core.Keyword(null,"font-size","font-size",-1847940346),"110%",new cljs.core.Keyword(null,"font-style","font-style",-773672352),"italic"],null),"No mission loaded.")}}(a),null);a=function(a,b){return function(c){return cljs.core.deref.call(null,function(){var d=
cljs.core.truth_(c)?a:b;return cljs.core.truth_(d)?d:cljs.core.atom.call(null,null)}())}}(a,c);return javelin.core.formula.call(null,a).call(null,weathergen.ui.mission)}()))};
weathergen.ui.save_briefing_section=function(a){return weathergen.ui.common.control_section.call(null,new cljs.core.Keyword(null,"title","title",636505583),weathergen.help.with_help.call(null,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"mission-info","mission-info",1263062521),new cljs.core.Keyword(null,"save-briefing","save-briefing",-1540800301)],null),"Save Mission Briefing"),function(){var a=new cljs.core.Delay(function(){return hoplon.core.div.call(null,
weathergen.ui.buttons.a_button.call(null,new cljs.core.Keyword(null,"click","click",1912301393),function(){return weathergen.ui.save_briefing.call(null,(new cljs.core.Keyword(null,"install-id","install-id",-1310868737)).cljs$core$IFn$_invoke$arity$1((new cljs.core.Keyword(null,"original-briefing","original-briefing",1522332068)).cljs$core$IFn$_invoke$arity$1(cljs.core.deref.call(null,weathergen.ui.mission))),cljs.core.deref.call(null,weathergen.ui.visible_sides))},"Save Briefing (.vmtb)"),weathergen.help.help_icon.call(null,
new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"mission-info","mission-info",1263062521),new cljs.core.Keyword(null,"save-briefing-from-briefing","save-briefing-from-briefing",1357034776)],null)))},null),c=new cljs.core.Delay(function(a){return function(){var b=javelin.core.formula.call(null,function(a){return function(a){return cljs.core._EQ_.call(null,cljs.core.count.call(null,(new cljs.core.Keyword(null,"candidate-installs","candidate-installs",
1512655313)).cljs$core$IFn$_invoke$arity$1(a)),1)?cljs.core.first.call(null,cljs.core.keys.call(null,(new cljs.core.Keyword(null,"candidate-installs","candidate-installs",1512655313)).cljs$core$IFn$_invoke$arity$1(a))):null}}(a)).call(null,weathergen.ui.mission),c=javelin.core.cell.call(null,null),d=javelin.core.formula.call(null,function(a,b,c){return function(a,b){return cljs.core.truth_(a)?a:b}}(b,c,a)).call(null,b,c);return hoplon.core.div.call(null,new cljs.core.Keyword(null,"css","css",1135045163),
new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"padding","padding",1660304693),"5px"],null),hoplon.core.div.call(null,function(){var e=new cljs.core.Delay(function(a,b,c,d){return function(){return hoplon.core.div.call(null,hoplon.core.span.call(null,"Briefing will be saved for installation: "),hoplon.core.span.call(null,new cljs.core.Keyword(null,"css","css",1135045163),new cljs.core.PersistentArrayMap(null,2,[new cljs.core.Keyword(null,"font-family","font-family",-667419874),
"monospace",new cljs.core.Keyword(null,"font-size","font-size",-1847940346),"120%"],null),javelin.core.formula.call(null,function(a,b,c,d){return function(a,b,c){return b.call(null,a.call(null,(new cljs.core.Keyword(null,"candidate-installs","candidate-installs",1512655313)).cljs$core$IFn$_invoke$arity$1(c)))}}(a,b,c,d)).call(null,cljs.core.first,cljs.core.key,weathergen.ui.mission)))}}(b,c,d,a),null),f=new cljs.core.Delay(function(a,b,c,d,e){return function(){return"Cannot find a matching installation of Falcon BMS for this mission."}}(e,
b,c,d,a),null),g=new cljs.core.Delay(function(a,b,c,d,e,f){return function(){return hoplon.core.div.call(null,hoplon.core.div.call(null,hoplon.core.span.call(null,"Multiple installed copies of Falcon BMS point at the mission directory, "),hoplon.core.span.call(null,new cljs.core.Keyword(null,"css","css",1135045163),new cljs.core.PersistentArrayMap(null,2,[new cljs.core.Keyword(null,"font-family","font-family",-667419874),"monospace",new cljs.core.Keyword(null,"font-size","font-size",-1847940346),
"110%"],null),javelin.core.formula.call(null,function(a,b,c,d,e,f){return function(a){return cljs.core.val.call(null,cljs.core.first.call(null,(new cljs.core.Keyword(null,"candidate-installs","candidate-installs",1512655313)).cljs$core$IFn$_invoke$arity$1(a)))}}(a,b,c,d,e,f)).call(null,weathergen.ui.mission)),hoplon.core.span.call(null,". Select which installation this mission is for. (If unsure, choose 'Falcon BMS 4.34'.)")),weathergen.ui.common.radio_group.call(null,new cljs.core.Keyword(null,"value",
"value",305978217),d,new cljs.core.Keyword(null,"choices","choices",1385611597),javelin.core.formula.call(null,function(a,b,c,d,e,f){return function(g){return function(a,b,c,d,e,f){return function K(g){return new cljs.core.LazySeq(null,function(a,b,c,d,e,f){return function(){for(;;){var a=cljs.core.seq.call(null,g);if(a){if(cljs.core.chunked_seq_QMARK_.call(null,a)){var b=cljs.core.chunk_first.call(null,a),c=cljs.core.count.call(null,b),d=cljs.core.chunk_buffer.call(null,c);a:for(var e=0;;)if(e<c){var f=
cljs.core._nth.call(null,b,e),h=cljs.core.nth.call(null,f,0,null);cljs.core.nth.call(null,f,1,null);cljs.core.chunk_append.call(null,d,new cljs.core.PersistentArrayMap(null,2,[new cljs.core.Keyword(null,"value","value",305978217),h,new cljs.core.Keyword(null,"label","label",1718410804),weathergen.ui.common.inl.call(null,h)],null));e+=1}else{b=!0;break a}return b?cljs.core.chunk_cons.call(null,cljs.core.chunk.call(null,d),K.call(null,cljs.core.chunk_rest.call(null,a))):cljs.core.chunk_cons.call(null,
cljs.core.chunk.call(null,d),null)}d=cljs.core.first.call(null,a);b=cljs.core.nth.call(null,d,0,null);cljs.core.nth.call(null,d,1,null);return cljs.core.cons.call(null,new cljs.core.PersistentArrayMap(null,2,[new cljs.core.Keyword(null,"value","value",305978217),b,new cljs.core.Keyword(null,"label","label",1718410804),weathergen.ui.common.inl.call(null,b)],null),K.call(null,cljs.core.rest.call(null,a)))}return null}}}(a,b,c,d,e,f),null,null)}}(a,b,c,d,e,f).call(null,(new cljs.core.Keyword(null,"candidate-installs",
"candidate-installs",1512655313)).cljs$core$IFn$_invoke$arity$1(g))}}(a,b,c,d,e,f)).call(null,weathergen.ui.mission)))}}(e,f,b,c,d,a),null),m=function(a,b,c,d,e,f,g){return function(d,e,f){return cljs.core.deref.call(null,function(){var g=cljs.core.truth_(d)?a:cljs.core.truth_(e)?b:cljs.core.truth_(f)?c:null;return cljs.core.truth_(g)?g:cljs.core.atom.call(null,null)}())}}(e,f,g,b,c,d,a);return javelin.core.formula.call(null,m).call(null,b,javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h){return function(a,
b){return 0===b.call(null,(new cljs.core.Keyword(null,"candidate-installs","candidate-installs",1512655313)).cljs$core$IFn$_invoke$arity$1(a))}}(e,f,g,m,b,c,d,a)).call(null,weathergen.ui.mission,cljs.core.count),new cljs.core.Keyword(null,"else","else",-1508377146))}()),hoplon.core.div.call(null,new cljs.core.Keyword(null,"css","css",1135045163),new cljs.core.PersistentArrayMap(null,3,[new cljs.core.Keyword(null,"border","border",1444987323),"1px solid black",new cljs.core.Keyword(null,"margin-top",
"margin-top",392161226),"10px",new cljs.core.Keyword(null,"margin-bottom","margin-bottom",388334941),"10px"],null),hoplon.core.div.call(null,new cljs.core.Keyword(null,"css","css",1135045163),new cljs.core.PersistentArrayMap(null,4,[new cljs.core.Keyword(null,"color","color",1011675173),"white",new cljs.core.Keyword(null,"background","background",-863952629),"black",new cljs.core.Keyword(null,"margin-bottom","margin-bottom",388334941),"5px",new cljs.core.Keyword(null,"padding","padding",1660304693),
"2px"],null),"Visibility"),weathergen.ui.common.side_selector.call(null,new cljs.core.Keyword(null,"css","css",1135045163),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"padding","padding",1660304693),"0 0 5px 5px"],null),new cljs.core.Keyword(null,"mission","mission",1740288522),weathergen.ui.mission,new cljs.core.Keyword(null,"selected-sides","selected-sides",-922979619),weathergen.ui.visible_sides)),function(){var e=javelin.core.formula.call(null,function(a,b,c,d){return function(a,
b){return b.call(null,a)}}(b,c,d,a)).call(null,d,cljs.core.not);return new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[weathergen.ui.buttons.a_button.call(null,new cljs.core.Keyword(null,"disabled?","disabled?",-1523234181),e,new cljs.core.Keyword(null,"click","click",1912301393),function(a,b,c,d,e){return function(){return weathergen.ui.save_briefing.call(null,cljs.core.deref.call(null,d),cljs.core.deref.call(null,weathergen.ui.visible_sides))}}(e,b,c,d,a),"Save Briefing (.vmtb)"),
weathergen.help.help_icon.call(null,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"mission-info","mission-info",1263062521),new cljs.core.Keyword(null,"save-briefing","save-briefing",-1540800301)],null))],null)}())}}(a),null);a=function(a,b){return function(c){return cljs.core.deref.call(null,function(){a:switch(c instanceof cljs.core.Keyword?c.fqn:null){case "briefing":var d=a;break a;default:d=b}return cljs.core.truth_(d)?d:cljs.core.atom.call(null,
null)}())}}(a,c);return javelin.core.formula.call(null,a).call(null,weathergen.ui.display_mode)}())};
weathergen.ui.briefing_notes_section=function(a){return weathergen.ui.common.control_section.call(null,new cljs.core.Keyword(null,"title","title",636505583),javelin.core.formula.call(null,function(a){return weathergen.help.with_help.call(null,new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"mission-info","mission-info",1263062521),new cljs.core.Keyword(null,"briefing-notes","briefing-notes",-1524193117),a],null),"Briefing Notes")}).call(null,
weathergen.ui.display_mode),hoplon.core.div.call(null,hoplon.core.textarea.call(null,new cljs.core.Keyword(null,"css","css",1135045163),new cljs.core.PersistentArrayMap(null,3,[new cljs.core.Keyword(null,"font-family","font-family",-667419874),"monospace",new cljs.core.Keyword(null,"font-size","font-size",-1847940346),weathergen.ui.common.pct.call(null,110),new cljs.core.Keyword(null,"width","width",-384071477),weathergen.ui.common.pct.call(null,100)],null),new cljs.core.Keyword(null,"rows","rows",
850049680),10,new cljs.core.Keyword(null,"value","value",305978217),weathergen.ui.briefing_notes,new cljs.core.Keyword(null,"placeholder","placeholder",-104873083),"Enter briefing notes here",new cljs.core.Keyword(null,"change","change",-1163046502),function(a){return cljs.core.reset_BANG_.call(null,weathergen.ui.briefing_notes,cljs.core.deref.call(null,a))})))};
weathergen.ui.map_controls_section=function(a){return hoplon.core.div.call(null,weathergen.ui.common.control_section.call(null,new cljs.core.Keyword(null,"title","title",636505583),weathergen.help.with_help.call(null,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"map-controls","map-controls",-1453318552),new cljs.core.Keyword(null,"general","general",380803686)],null),"General Display Options"),function(){var a=function(a){var b=null!=a&&
(a.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===a.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,a):a,c=cljs.core.get.call(null,b,new cljs.core.Keyword(null,"label","label",1718410804)),f=cljs.core.get.call(null,b,new cljs.core.Keyword(null,"key","key",-1516042587)),g=cljs.core.get.call(null,b,new cljs.core.Keyword(null,"init","init",-1875481434)),h=cljs.core.get.call(null,b,new cljs.core.Keyword(null,"min","min",444991522)),k=cljs.core.get.call(null,b,new cljs.core.Keyword(null,
"max","max",61366548));return hoplon.core.tr.call(null,weathergen.help.with_help.call(null,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"map-controls","map-controls",-1453318552),f],null),hoplon.core.td.call(null,c)),hoplon.core.td.call(null,weathergen.ui.common.slider.call(null,new cljs.core.Keyword(null,"min","min",444991522),h,new cljs.core.Keyword(null,"max","max",61366548),k,new cljs.core.Keyword(null,"ticks","ticks",-406190313),5,
new cljs.core.Keyword(null,"value","value",305978217),weathergen.ui.common.path_lens.call(null,weathergen.ui.map_display,new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[f],null)))),hoplon.core.td.call(null,weathergen.ui.buttons.a_button.call(null,new cljs.core.Keyword(null,"click","click",1912301393),function(a,b,c,d,e,f,g){return function(){return cljs.core.swap_BANG_.call(null,weathergen.ui.map_display,cljs.core.assoc,d,e)}}(a,b,c,f,g,h,k),"Reset"),weathergen.help.help_icon.call(null,
new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"map-controls","map-controls",-1453318552),cljs.core.keyword.call(null,["reset-",cljs.core.name.call(null,f)].join(""))],null))))};return hoplon.core.div.call(null,hoplon.core.table.call(null,a.call(null,new cljs.core.PersistentArrayMap(null,5,[new cljs.core.Keyword(null,"label","label",1718410804),"Brightness:",new cljs.core.Keyword(null,"key","key",-1516042587),new cljs.core.Keyword(null,"brightness",
"brightness",1067055820),new cljs.core.Keyword(null,"init","init",-1875481434),.5,new cljs.core.Keyword(null,"min","min",444991522),0,new cljs.core.Keyword(null,"max","max",61366548),1],null)),a.call(null,new cljs.core.PersistentArrayMap(null,5,[new cljs.core.Keyword(null,"label","label",1718410804),"Text size:",new cljs.core.Keyword(null,"key","key",-1516042587),new cljs.core.Keyword(null,"text-size","text-size",-945618309),new cljs.core.Keyword(null,"init","init",-1875481434),0,new cljs.core.Keyword(null,
"min","min",444991522),-1,new cljs.core.Keyword(null,"max","max",61366548),1],null)),a.call(null,new cljs.core.PersistentArrayMap(null,5,[new cljs.core.Keyword(null,"label","label",1718410804),"Icon size:",new cljs.core.Keyword(null,"key","key",-1516042587),new cljs.core.Keyword(null,"icon-size","icon-size",414161352),new cljs.core.Keyword(null,"init","init",-1875481434),0,new cljs.core.Keyword(null,"min","min",444991522),-1,new cljs.core.Keyword(null,"max","max",61366548),1],null))),hoplon.core.div.call(null,
hoplon.core.input.call(null,new cljs.core.Keyword(null,"type","type",1174270348),"checkbox",new cljs.core.Keyword(null,"value","value",305978217),javelin.core.formula.call(null,function(a){return function(a){return(new cljs.core.Keyword(null,"show-text-background?","show-text-background?",-442833124)).cljs$core$IFn$_invoke$arity$1(a)}}(a)).call(null,weathergen.ui.map_display),new cljs.core.Keyword(null,"change","change",-1163046502),function(a){return function(){return cljs.core.swap_BANG_.call(null,
weathergen.ui.map_display,cljs.core.update,new cljs.core.Keyword(null,"show-text-background?","show-text-background?",-442833124),cljs.core.not)}}(a)),weathergen.help.with_help.call(null,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"map-controls","map-controls",-1453318552),new cljs.core.Keyword(null,"show-text-background?","show-text-background?",-442833124)],null),hoplon.core.label.call(null,"Display text with contrasting background"))),
hoplon.core.div.call(null,hoplon.core.input.call(null,new cljs.core.Keyword(null,"type","type",1174270348),"checkbox",new cljs.core.Keyword(null,"value","value",305978217),javelin.core.formula.call(null,function(a){return function(a){return(new cljs.core.Keyword(null,"show-bullseye?","show-bullseye?",310289003)).cljs$core$IFn$_invoke$arity$1(a)}}(a)).call(null,weathergen.ui.map_display),new cljs.core.Keyword(null,"change","change",-1163046502),function(a){return function(){return cljs.core.swap_BANG_.call(null,
weathergen.ui.map_display,cljs.core.update,new cljs.core.Keyword(null,"show-bullseye?","show-bullseye?",310289003),cljs.core.not)}}(a)),weathergen.help.with_help.call(null,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"map-controls","map-controls",-1453318552),new cljs.core.Keyword(null,"show-bullseye?","show-bullseye?",310289003)],null),hoplon.core.label.call(null,"Show bullseye"))))}()),weathergen.ui.airbase_display_controls.call(null,
"Airbase Display Options"),(new cljs.core.Keyword(null,"map-display-controls-fn","map-display-controls-fn",1472969543)).cljs$core$IFn$_invoke$arity$1(weathergen.ui.flight_paths_layer).call(null,"Flight Path Display Options"))};
weathergen.ui.dataize_images_BANG_=function(a){if(cljs.core._EQ_.call(null,"image",a.tagName)){var b=a.getAttributeNS("http://www.w3.org/1999/xlink","href");var c=null==b?null:weathergen.filesystem.file_buffer.call(null,b);c=null==c?null:c.toString("base64");cljs.core.truth_(c)&&a.setAttributeNS("http://www.w3.org/1999/xlink","href",["data:image/",cljs.core.str.cljs$core$IFn$_invoke$arity$1(weathergen.filesystem.extension.call(null,b)),";base64,",cljs.core.str.cljs$core$IFn$_invoke$arity$1(c)].join(""))}b=
cljs.core.seq.call(null,cljs.core.array_seq.call(null,a.childNodes));c=null;for(var d=0,e=0;;)if(e<d){var f=cljs.core._nth.call(null,c,e);weathergen.ui.dataize_images_BANG_.call(null,f);e+=1}else if(b=cljs.core.seq.call(null,b))c=b,cljs.core.chunked_seq_QMARK_.call(null,c)?(b=cljs.core.chunk_first.call(null,c),e=cljs.core.chunk_rest.call(null,c),c=b,d=cljs.core.count.call(null,b),b=e):(b=cljs.core.first.call(null,c),weathergen.ui.dataize_images_BANG_.call(null,b),b=cljs.core.next.call(null,c),c=null,
d=0),e=0;else break;return a};
weathergen.ui.svg_png_data=function(a,b,c){var d=cljs.core.nth.call(null,b,0,null),e=cljs.core.nth.call(null,b,1,null);a=encodeURIComponent(weathergen.ui.dataize_images_BANG_.call(null,a.cloneNode(!0)).outerHTML);var f=["data:image/svg+xml;utf8,",cljs.core.str.cljs$core$IFn$_invoke$arity$1(a)].join(""),g=document.createElement("canvas"),h=g.getContext("2d"),k=new Image;g.width=d;g.height=e;k.onload=function(a,b,d,e,f,g,h,k){return function(){e.drawImage(f,0,0,h,k);return d.toBlob(c)}}(a,f,g,h,k,b,
d,e);return k.src=f};
weathergen.ui.map_image_save_controls=function(a){return weathergen.ui.common.control_section.call(null,new cljs.core.Keyword(null,"title","title",636505583),weathergen.help.with_help.call(null,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"map","map",1371690461),new cljs.core.Keyword(null,"save-image","save-image",-2127892773)],null),"Save Map Image"),function(){var a=javelin.core.cell.call(null,new cljs.core.Keyword(null,"medium","medium",
-1864319384)),c=javelin.core.cell.call(null,1E3);return hoplon.core.div.call(null,new cljs.core.Keyword(null,"css","css",1135045163),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"padding","padding",1660304693),weathergen.ui.common.px.call(null,3)],null),weathergen.ui.common.radio_group.call(null,new cljs.core.Keyword(null,"value","value",305978217),a,new cljs.core.Keyword(null,"choices","choices",1385611597),new cljs.core.PersistentVector(null,6,5,cljs.core.PersistentVector.EMPTY_NODE,
[new cljs.core.PersistentArrayMap(null,2,[new cljs.core.Keyword(null,"value","value",305978217),new cljs.core.Keyword(null,"small","small",2133478704),new cljs.core.Keyword(null,"label","label",1718410804),"Small (250x250)"],null),new cljs.core.PersistentArrayMap(null,2,[new cljs.core.Keyword(null,"value","value",305978217),new cljs.core.Keyword(null,"medium","medium",-1864319384),new cljs.core.Keyword(null,"label","label",1718410804),"Medium (500x500)"],null),new cljs.core.PersistentArrayMap(null,
2,[new cljs.core.Keyword(null,"value","value",305978217),new cljs.core.Keyword(null,"large","large",-196820544),new cljs.core.Keyword(null,"label","label",1718410804),"Large (1000x1000)"],null),new cljs.core.PersistentArrayMap(null,2,[new cljs.core.Keyword(null,"value","value",305978217),new cljs.core.Keyword(null,"x-large","x-large",-671747671),new cljs.core.Keyword(null,"label","label",1718410804),"Very Large (2000x2000)"],null),new cljs.core.PersistentArrayMap(null,2,[new cljs.core.Keyword(null,
"value","value",305978217),new cljs.core.Keyword(null,"xx-large","xx-large",-1819762011),new cljs.core.Keyword(null,"label","label",1718410804),"Extremely Large (4000x4000)"],null),new cljs.core.PersistentArrayMap(null,2,[new cljs.core.Keyword(null,"value","value",305978217),new cljs.core.Keyword(null,"custom","custom",340151948),new cljs.core.Keyword(null,"label","label",1718410804),hoplon.core.div.call(null,new cljs.core.Keyword(null,"css","css",1135045163),new cljs.core.PersistentArrayMap(null,
1,[new cljs.core.Keyword(null,"display","display",242065432),"inline-block"],null),"Custom: ",weathergen.ui.common.validating_edit.call(null,new cljs.core.Keyword(null,"css","css",1135045163),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"display","display",242065432),"inline-block"],null),new cljs.core.Keyword(null,"conform","conform",1846236460),weathergen.ui.common.conform_positive_integer,new cljs.core.Keyword(null,"fmt","fmt",332300772),cljs.core.str,new cljs.core.Keyword(null,
"source","source",-433931539),c,new cljs.core.Keyword(null,"width","width",-384071477),50,new cljs.core.Keyword(null,"placeholder","placeholder",-104873083),"Size in pixels"),hoplon.core.span.call(null,new cljs.core.Keyword(null,"css","css",1135045163),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"margin-left","margin-left",2015598377),weathergen.ui.common.px.call(null,7)],null),"x",javelin.core.formula.call(null,function(a,b){return function(a){return cljs.core.str.cljs$core$IFn$_invoke$arity$1(a)}}(a,
c)).call(null,c)))],null)],null)),weathergen.ui.buttons.a_button.call(null,new cljs.core.Keyword(null,"click","click",1912301393),function(a,b){return function(){var c=cljs.core.get.call(null,new cljs.core.PersistentArrayMap(null,6,[new cljs.core.Keyword(null,"small","small",2133478704),250,new cljs.core.Keyword(null,"medium","medium",-1864319384),500,new cljs.core.Keyword(null,"large","large",-196820544),1E3,new cljs.core.Keyword(null,"x-large","x-large",-671747671),2E3,new cljs.core.Keyword(null,
"xx-large","xx-large",-1819762011),4E3,new cljs.core.Keyword(null,"custom","custom",340151948),cljs.core.deref.call(null,b)],null),cljs.core.deref.call(null,a));return weathergen.ui.svg_png_data.call(null,document.getElementById("grid"),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[c,c],null),function(a,b,c){return function(a){return weathergen.ui.common.save_data.call(null,new cljs.core.PersistentArrayMap(null,4,[new cljs.core.Keyword(null,"title","title",636505583),
"Save Map Image",new cljs.core.Keyword(null,"data","data",-232669377),a,new cljs.core.Keyword(null,"filters","filters",974726919),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.PersistentArrayMap(null,2,[new cljs.core.Keyword(null,"name","name",1843675177),"PNG Image",new cljs.core.Keyword(null,"extension","extension",1453374065),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[".png"],null)],null)],null),new cljs.core.Keyword(null,
"default-path","default-path",-1046856029),[cljs.core.str.cljs$core$IFn$_invoke$arity$1(weathergen.ui.mission_name_base.call(null,(new cljs.core.Keyword(null,"mission-name","mission-name",1479736582)).cljs$core$IFn$_invoke$arity$1(cljs.core.deref.call(null,weathergen.ui.mission)))),"-map.png"].join("")],null))}}(c,a,b))}}(a,c),"Save Map as PNG Image"))}())};
weathergen.ui.damage_computer_section=function(a){return weathergen.ui.common.control_section.call(null,new cljs.core.Keyword(null,"title","title",636505583),weathergen.help.with_help.call(null,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"tools","tools",-1241731990),new cljs.core.Keyword(null,"damage-computer","damage-computer",-125971244)],null),"Damage computer"),function(){var a=javelin.core.cell.call(null,null),c=javelin.core.cell.call(null,
null),d=javelin.core.cell.call(null,new cljs.core.Keyword(null,"by-weapon","by-weapon",243500844));return hoplon.core.div.call(null,new cljs.core.Keyword(null,"css","css",1135045163),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"margin","margin",-995903681),weathergen.ui.common.px.call(null,0,5)],null),weathergen.ui.common.inl.call(null,weathergen.ui.common.inl.call(null,new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"css","css",1135045163),new cljs.core.PersistentArrayMap(null,
1,[new cljs.core.Keyword(null,"margin-right","margin-right",809689658),weathergen.ui.common.px.call(null,3)],null)],null),"Objective:"),weathergen.ui.common.inl.call(null,weathergen.ui.select.select3.call(null,new cljs.core.Keyword(null,"width","width",-384071477),150,new cljs.core.Keyword(null,"data","data",-232669377),javelin.core.formula.call(null,function(a,b,c){return function(a){return cljs.core.sort_by.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","name","weathergen.falcon.files.mission/name",
1235339975),(new cljs.core.Keyword("weathergen.falcon.files.mission","objectives","weathergen.falcon.files.mission/objectives",410009507)).cljs$core$IFn$_invoke$arity$1(a))}}(a,c,d)).call(null,weathergen.ui.mission),new cljs.core.Keyword(null,"value","value",305978217),a,new cljs.core.Keyword(null,"placeholder","placeholder",-104873083),"Select an objective",new cljs.core.Keyword(null,"key-fn","key-fn",-636154479),new cljs.core.Keyword(null,"id","id",-1388402092),new cljs.core.Keyword(null,"search-fn",
"search-fn",-646637945),new cljs.core.Keyword("weathergen.falcon.files.mission","name","weathergen.falcon.files.mission/name",1235339975),new cljs.core.Keyword(null,"formatter","formatter",-483008823),function(a,b,c){return function(d){return hoplon.core.div.call(null,javelin.core.formula.call(null,function(a,b,c){return function(a){return(new cljs.core.Keyword("weathergen.falcon.files.mission","name","weathergen.falcon.files.mission/name",1235339975)).cljs$core$IFn$_invoke$arity$1(a)}}(a,b,c)).call(null,
d))}}(a,c,d)))),weathergen.ui.common.inl.call(null,weathergen.ui.common.inl.call(null,new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"css","css",1135045163),new cljs.core.PersistentArrayMap(null,2,[new cljs.core.Keyword(null,"margin-left","margin-left",2015598377),weathergen.ui.common.px.call(null,7),new cljs.core.Keyword(null,"margin-right","margin-right",809689658),weathergen.ui.common.px.call(null,3)],null)],null),"Weapon:"),weathergen.ui.common.inl.call(null,weathergen.ui.select.select3.call(null,
new cljs.core.Keyword(null,"width","width",-384071477),150,new cljs.core.Keyword(null,"data","data",-232669377),javelin.core.formula.call(null,function(a,b,c){return function(d){return cljs.core.sort_by.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","name","weathergen.falcon.files.mission/name",1235339975),cljs.core.filter.call(null,function(a,b,c){return function(a){a=(new cljs.core.Keyword("weathergen.falcon.files.mission","sim-weapon-data","weathergen.falcon.files.mission/sim-weapon-data",
-1214423648)).cljs$core$IFn$_invoke$arity$1(a);(new cljs.core.Keyword(null,"sms-weapon-class","sms-weapon-class",-1204089300)).cljs$core$IFn$_invoke$arity$1(a);a=(new cljs.core.Keyword(null,"sms-weapon-domain","sms-weapon-domain",170252511)).cljs$core$IFn$_invoke$arity$1(a);return 0!==(weathergen.falcon.constants.wdGround&a)}}(a,b,c),(new cljs.core.Keyword("weathergen.falcon.files.mission","weapons","weathergen.falcon.files.mission/weapons",-176268464)).cljs$core$IFn$_invoke$arity$1(d)))}}(a,c,d)).call(null,
weathergen.ui.mission),new cljs.core.Keyword(null,"key-fn","key-fn",-636154479),new cljs.core.Keyword(null,"index","index",-1531685915),new cljs.core.Keyword(null,"value","value",305978217),c,new cljs.core.Keyword(null,"placeholder","placeholder",-104873083),"Select a weapon",new cljs.core.Keyword(null,"search-fn","search-fn",-646637945),new cljs.core.Keyword("weathergen.falcon.files.mission","name","weathergen.falcon.files.mission/name",1235339975),new cljs.core.Keyword(null,"formatter","formatter",
-483008823),function(a,b,c){return function(d){return hoplon.core.div.call(null,javelin.core.formula.call(null,function(a,b,c){return function(a){return(new cljs.core.Keyword("weathergen.falcon.files.mission","name","weathergen.falcon.files.mission/name",1235339975)).cljs$core$IFn$_invoke$arity$1(a)}}(a,b,c)).call(null,d))}}(a,c,d)))),function(){var b=new cljs.core.Delay(function(a,b,c){return function(){return hoplon.core.div.call(null,hoplon.core.div.call(null,weathergen.ui.common.inl.call(null,
new cljs.core.Keyword(null,"css","css",1135045163),new cljs.core.PersistentArrayMap(null,2,[new cljs.core.Keyword(null,"font-weight","font-weight",2085804583),"bold",new cljs.core.Keyword(null,"margin-right","margin-right",809689658),weathergen.ui.common.px.call(null,5)],null),"Damage Type:"),weathergen.ui.common.inl.call(null,javelin.core.formula.call(null,function(a,b,c){return function(a){return cljs.core.get.call(null,cljs.core.PersistentHashMap.fromArrays([weathergen.falcon.constants.ChemicalDam,
weathergen.falcon.constants.OtherDam,weathergen.falcon.constants.NoDamage,weathergen.falcon.constants.HeaveDam,weathergen.falcon.constants.PenetrationDam,weathergen.falcon.constants.IncendairyDam,weathergen.falcon.constants.KineticDam,weathergen.falcon.constants.HighExplosiveDam,weathergen.falcon.constants.ProximityDam,weathergen.falcon.constants.NuclearDam,weathergen.falcon.constants.HydrostaticDam],"Chemical Other None Heave Penetration Incendiary Kinetic HE Proximity Nuclear Hydrostatic".split(" ")),
(new cljs.core.Keyword(null,"damage-type","damage-type",898770578)).cljs$core$IFn$_invoke$arity$1(a),"Unknown")}}(a,b,c)).call(null,b))))}}(a,c,d),null),f=new cljs.core.Delay(function(a,b,c,d){return function(){return null}}(b,a,c,d),null);b=function(a,b,c,d,e){return function(c){return cljs.core.deref.call(null,function(){var d=cljs.core.truth_(c)?a:b;return cljs.core.truth_(d)?d:cljs.core.atom.call(null,null)}())}}(b,f,a,c,d);return javelin.core.formula.call(null,b).call(null,c)}(),function(){var b=
javelin.core.formula.call(null,function(a,b,c){return function(a,b,c){return cljs.core.truth_(cljs.core.truth_(b)?c:b)?weathergen.damage.required_hits.call(null,a,b,c):null}}(a,c,d)).call(null,weathergen.ui.mission,a,c),f=function(a,b,c,d){return function(e,f){return new cljs.core.PersistentArrayMap(null,3,[new cljs.core.Keyword(null,"title","title",636505583),e,new cljs.core.Keyword(null,"sort-key","sort-key",1285844623),f,new cljs.core.Keyword(null,"formatter","formatter",-483008823),function(a,
b,c,d){return function(e,g){return javelin.core.formula.call(null,function(a,b,c,d){return function(a,b,c){return a.call(null,c,b)}}(a,b,c,d)).call(null,cljs.core.get,f,e)}}(a,b,c,d)],null)}}(b,a,c,d),g=new cljs.core.Delay(function(a,b,c,d,e){return function(){return weathergen.ui.grids.table_grid.call(null,new cljs.core.Keyword(null,"data","data",-232669377),a,new cljs.core.Keyword(null,"initial-sort","initial-sort",1434529715),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,
[new cljs.core.Keyword(null,"feature-value","feature-value",-369211338),new cljs.core.Keyword(null,"descending","descending",-24766135)],null),new cljs.core.Keyword(null,"key-fn","key-fn",-636154479),cljs.core.identity,new cljs.core.Keyword(null,"row-attrs","row-attrs",2139633863),function(a,b,c,d,e){return function(a){return cljs.core.PersistentArrayMap.EMPTY}}(a,b,c,d,e),new cljs.core.Keyword(null,"when-empty","when-empty",-1825107890),"No results available",new cljs.core.Keyword(null,"fixed-columns",
"fixed-columns",-1793374858),cljs.core.PersistentVector.EMPTY,new cljs.core.Keyword(null,"movable-columns","movable-columns",-1079893862),javelin.core.cell.call(null,new cljs.core.PersistentVector(null,4,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"index","index",-1531685915),new cljs.core.Keyword(null,"feature-name","feature-name",676033148),new cljs.core.Keyword(null,"feature-value","feature-value",-369211338),new cljs.core.Keyword(null,"hits-required","hits-required",-766872875)],
null)),new cljs.core.Keyword(null,"hidden-columns","hidden-columns",-1045524800),javelin.core.cell.call(null,cljs.core.PersistentHashSet.EMPTY),new cljs.core.Keyword(null,"columns","columns",1998437288),new cljs.core.PersistentArrayMap(null,4,[new cljs.core.Keyword(null,"index","index",-1531685915),b.call(null,"#",new cljs.core.Keyword(null,"index","index",-1531685915)),new cljs.core.Keyword(null,"feature-name","feature-name",676033148),b.call(null,"Name",new cljs.core.Keyword(null,"feature-name",
"feature-name",676033148)),new cljs.core.Keyword(null,"feature-value","feature-value",-369211338),new cljs.core.PersistentArrayMap(null,3,[new cljs.core.Keyword(null,"title","title",636505583),"Value",new cljs.core.Keyword(null,"sort-key","sort-key",1285844623),function(a,b,c,d,e){return function(a){return new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[(new cljs.core.Keyword(null,"feature-value","feature-value",-369211338)).cljs$core$IFn$_invoke$arity$1(a),-(new cljs.core.Keyword(null,
"index","index",-1531685915)).cljs$core$IFn$_invoke$arity$1(a)],null)}}(a,b,c,d,e),new cljs.core.Keyword(null,"formatter","formatter",-483008823),function(a,b,c,d,e){return function(f,g){return javelin.core.formula.call(null,function(a,b,c,d,e){return function(a,b){a=(new cljs.core.Keyword(null,"feature-value","feature-value",-369211338)).cljs$core$IFn$_invoke$arity$1(a);if(0===a)return"";b=cljs.core._GT_;return cljs.core.truth_(b.call(null,10,a))?"Very Low":cljs.core.truth_(b.call(null,25,a))?"Low":
cljs.core.truth_(b.call(null,40,a))?"Medium":cljs.core.truth_(b.call(null,50,a))?"High":"Very High"}}(a,b,c,d,e)).call(null,f,g)}}(a,b,c,d,e)],null),new cljs.core.Keyword(null,"hits-required","hits-required",-766872875),new cljs.core.PersistentArrayMap(null,3,[new cljs.core.Keyword(null,"title","title",636505583),"Hits Required",new cljs.core.Keyword(null,"sort-key","sort-key",1285844623),new cljs.core.Keyword(null,"hits-required","hits-required",-766872875),new cljs.core.Keyword(null,"formatter",
"formatter",-483008823),function(a,b,c,d,e){return function(f,g){return javelin.core.formula.call(null,function(a,b,c,d,e){return function(a){var b=(new cljs.core.Keyword(null,"hits-required","hits-required",-766872875)).cljs$core$IFn$_invoke$arity$1(a);if(null==b||cljs.core.truth_(isNaN(b)))return"";if(cljs.core.not.call(null,isFinite(b)))return"∞";a=Math.ceil(function(){var a=.75*b;return 1>a?1:a}());var c=Math.ceil(function(){var a=1.25*b;return 1>a?1:a}());return cljs.core._EQ_.call(null,a,c)?
cljs.core.str.cljs$core$IFn$_invoke$arity$1(a):[cljs.core.str.cljs$core$IFn$_invoke$arity$1(a),"-",cljs.core.str.cljs$core$IFn$_invoke$arity$1(c)].join("")}}(a,b,c,d,e)).call(null,f)}}(a,b,c,d,e)],null)],null))}}(b,f,a,c,d),null),h=new cljs.core.Delay(function(a,b,c,d,e,f){return function(){return null}}(g,b,f,a,c,d),null);f=function(a,b,c,d,e,f,g){return function(c){return cljs.core.deref.call(null,function(){var d=cljs.core.truth_(c)?a:b;return cljs.core.truth_(d)?d:cljs.core.atom.call(null,null)}())}}(g,
h,b,f,a,c,d);return javelin.core.formula.call(null,f).call(null,b)}())}())};
weathergen.ui.make_friendly_export_key=function(a){if("string"===typeof a)return a;if(cljs.core.vector_QMARK_.call(null,a))return cljs.core.apply.call(null,cljs.core.str,cljs.core.interpose.call(null,".",cljs.core.mapv.call(null,weathergen.ui.make_friendly_export_key,a)));if(a instanceof cljs.core.Keyword){var b=cljs.core.namespace.call(null,a);return[cljs.core._EQ_.call(null,b,cljs.core.namespace.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","foo","weathergen.falcon.files.mission/foo",
-1344451130)))?"vmt":b,cljs.core.truth_(b)?"/":null,cljs.core.name.call(null,a)].join("")}return null};
weathergen.ui.export_database=function(a){var b=[cljs.core.str.cljs$core$IFn$_invoke$arity$1((new cljs.core.Keyword(null,"name","name",1843675177)).cljs$core$IFn$_invoke$arity$1((new cljs.core.Keyword(null,"theater","theater",258922071)).cljs$core$IFn$_invoke$arity$1(a))),"-",cljs.core.str.cljs$core$IFn$_invoke$arity$1((new cljs.core.Keyword(null,"mission-name","mission-name",1479736582)).cljs$core$IFn$_invoke$arity$1(a))].join(""),c=weathergen.ui.common.get_path_for_load.call(null,new cljs.core.PersistentArrayMap(null,
2,[new cljs.core.Keyword(null,"title","title",636505583),"Select directory for export",new cljs.core.Keyword(null,"mode","mode",654403691),new cljs.core.Keyword(null,"directory","directory",-58912409)],null));if(cljs.core.truth_(c))for(var d=cljs.core.seq.call(null,new cljs.core.PersistentVector(null,18,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"campaign-info","campaign-info",1158908966),new cljs.core.Keyword(null,
"map","map",1371690461)],null),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"class-table","class-table",207400992),new cljs.core.Keyword(null,"vector","vector",1902966158)],null),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"events","events",1792552201),new cljs.core.Keyword(null,"not-yet-implemented","not-yet-implemented",354832030)],null),new cljs.core.PersistentVector(null,
2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"feature-class-data","feature-class-data",-794349644),new cljs.core.Keyword(null,"vector","vector",1902966158)],null),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"feature-entry-data","feature-entry-data",-87481893),new cljs.core.Keyword(null,"vector","vector",1902966158)],null),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,
"objective-class-data","objective-class-data",-2036255156),new cljs.core.Keyword(null,"vector","vector",1902966158)],null),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"objective-deltas","objective-deltas",710518611),new cljs.core.Keyword(null,"vector","vector",1902966158)],null),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"objectives","objectives",933939509),new cljs.core.Keyword(null,
"vector","vector",1902966158)],null),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"persistent-objects","persistent-objects",137656263),new cljs.core.Keyword(null,"not-yet-implemented","not-yet-implemented",354832030)],null),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"pilots","pilots",353525853),new cljs.core.Keyword(null,"not-yet-implemented","not-yet-implemented",354832030)],
null),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"point-header-data","point-header-data",2108405911),new cljs.core.Keyword(null,"vector","vector",1902966158)],null),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"ppt-data","ppt-data",-1749164693),new cljs.core.Keyword(null,"vector","vector",1902966158)],null),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,
[new cljs.core.Keyword(null,"primary-objectives","primary-objectives",-2010039039),new cljs.core.Keyword(null,"not-yet-implemented","not-yet-implemented",354832030)],null),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"teams","teams",1677714510),new cljs.core.Keyword(null,"vector","vector",1902966158)],null),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"unit-class-data","unit-class-data",
2122324209),new cljs.core.Keyword(null,"vector","vector",1902966158)],null),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"units","units",-533089095),new cljs.core.Keyword(null,"vector","vector",1902966158)],null),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"vehicle-class-data","vehicle-class-data",1666024339),new cljs.core.Keyword(null,"vector","vector",1902966158)],null),new cljs.core.PersistentVector(null,
2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"weapon-class-data","weapon-class-data",-1828241433),new cljs.core.Keyword(null,"vector","vector",1902966158)],null)],null)),e=null,f=0,g=0;;)if(g<f){var h=cljs.core._nth.call(null,e,g),k=cljs.core.nth.call(null,h,0,null),l=cljs.core.nth.call(null,h,1,null),m=cljs.core.get.call(null,a,k);h=function(){var a=cljs.core._EQ_,b=l;if(cljs.core.truth_(a.call(null,new cljs.core.Keyword(null,"map","map",1371690461),b)))return new cljs.core.PersistentVector(null,
1,5,cljs.core.PersistentVector.EMPTY_NODE,[m],null);if(cljs.core.truth_(a.call(null,new cljs.core.Keyword(null,"vector","vector",1902966158),b)))return m;if(cljs.core.truth_(a.call(null,new cljs.core.Keyword(null,"not-yet-implemented","not-yet-implemented",354832030),b)))return new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"todo","todo",-1046442570),"Not yet implemented"],null)],null);throw Error(["No matching clause: ",
cljs.core.str.cljs$core$IFn$_invoke$arity$1(b)].join(""));}();weathergen.filesystem.save_data.call(null,weathergen.filesystem.path_combine.call(null,c,[b,"-",cljs.core.name.call(null,k),".csv"].join("")),weathergen.util.csv_ize.call(null,h,new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"key-remap","key-remap",-767728308),weathergen.ui.make_friendly_export_key],null)));g+=1}else if(k=cljs.core.seq.call(null,d)){d=k;if(cljs.core.chunked_seq_QMARK_.call(null,d))e=cljs.core.chunk_first.call(null,
d),d=cljs.core.chunk_rest.call(null,d),k=e,f=cljs.core.count.call(null,e),e=k;else{e=cljs.core.first.call(null,d);k=cljs.core.nth.call(null,e,0,null);l=cljs.core.nth.call(null,e,1,null);var n=cljs.core.get.call(null,a,k);e=function(){var a=cljs.core._EQ_,b=l;if(cljs.core.truth_(a.call(null,new cljs.core.Keyword(null,"map","map",1371690461),b)))return new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[n],null);if(cljs.core.truth_(a.call(null,new cljs.core.Keyword(null,"vector",
"vector",1902966158),b)))return n;if(cljs.core.truth_(a.call(null,new cljs.core.Keyword(null,"not-yet-implemented","not-yet-implemented",354832030),b)))return new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"todo","todo",-1046442570),"Not yet implemented"],null)],null);throw Error(["No matching clause: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(b)].join(""));}();weathergen.filesystem.save_data.call(null,
weathergen.filesystem.path_combine.call(null,c,[b,"-",cljs.core.name.call(null,k),".csv"].join("")),weathergen.util.csv_ize.call(null,e,new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"key-remap","key-remap",-767728308),weathergen.ui.make_friendly_export_key],null)));d=cljs.core.next.call(null,d);e=null;f=0}g=0}else return null;else return null};
weathergen.ui.database_export_section=function(a){return weathergen.ui.common.control_section.call(null,new cljs.core.Keyword(null,"title","title",636505583),weathergen.help.with_help.call(null,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"tools","tools",-1241731990),new cljs.core.Keyword(null,"database-export","database-export",729454487)],null),"Mission Database Export"),hoplon.core.div.call(null,new cljs.core.Keyword(null,"css","css",
1135045163),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"margin","margin",-995903681),weathergen.ui.common.px.call(null,0,5)],null),weathergen.ui.buttons.a_button.call(null,new cljs.core.Keyword(null,"click","click",1912301393),function(){return weathergen.ui.export_database.call(null,cljs.core.deref.call(null,weathergen.ui.mission))},"Export")))};var BrowserWindow_43219=weathergen.ui.electron.remote.BrowserWindow;
weathergen.ui.hidden_tools_tab=function(a){return function(){return hoplon.core.div.call(null,function(){var b=new cljs.core.Delay(function(a){return function(){return weathergen.ui.database_export_section.call(null,cljs.core.PersistentArrayMap.EMPTY)}}(a),null),c=new cljs.core.Delay(function(a,b){return function(){return null}}(b,a),null),d=function(a,b,c){return function(c){return cljs.core.deref.call(null,function(){var d=cljs.core.truth_(c)?a:b;return cljs.core.truth_(d)?d:cljs.core.atom.call(null,
null)}())}}(b,c,a);return javelin.core.formula.call(null,d).call(null,javelin.core.formula.call(null,function(a,b,c,d){return function(a,b){return a.call(null,new cljs.core.Keyword(null,"edit","edit",-1641834166),b)}}(b,c,d,a)).call(null,cljs.core._EQ_,weathergen.ui.display_mode))}(),weathergen.ui.damage_computer_section.call(null,cljs.core.PersistentArrayMap.EMPTY),weathergen.ui.buttons.a_button.call(null,new cljs.core.Keyword(null,"click","click",1912301393),function(a){return function(b){return a.getFocusedWindow().webContents.openDevTools()}}(a),
"Open Debug Console"))}}(BrowserWindow_43219);
weathergen.ui.head=function(){return hoplon.core.head.call(null,hoplon.core.title.call(null,javelin.core.formula.call(null,function(a,b){return cljs.core.not.call(null,a)?"Virtual Mission Tools":[cljs.core.str.cljs$core$IFn$_invoke$arity$1(weathergen.falcon.files.mission.theaterdef_name.call(null,a))," - ",cljs.core.str.cljs$core$IFn$_invoke$arity$1((new cljs.core.Keyword(null,"mission-name","mission-name",1479736582)).cljs$core$IFn$_invoke$arity$1(a)),cljs.core._EQ_.call(null,new cljs.core.Keyword(null,
"briefing","briefing",-176308969),b)?".vmtb":null].join("")}).call(null,weathergen.ui.mission,weathergen.ui.display_mode)),hoplon.core.link.call(null,new cljs.core.Keyword(null,"href","href",-793805698),"lib/jquery-minicolors/jquery.minicolors.css",new cljs.core.Keyword(null,"rel","rel",1378823488),"stylesheet",new cljs.core.Keyword(null,"title","title",636505583),"main",new cljs.core.Keyword(null,"type","type",1174270348),"text/css"),hoplon.core.script.call(null,new cljs.core.Keyword(null,"src",
"src",-1651076051),"lib/jquery-minicolors/jquery.minicolors.min.js",new cljs.core.Keyword(null,"type","type",1174270348),"text/javascript"),hoplon.core.link.call(null,new cljs.core.Keyword(null,"href","href",-793805698),"lib/bgrins-spectrum-98454b5/spectrum.css",new cljs.core.Keyword(null,"rel","rel",1378823488),"stylesheet",new cljs.core.Keyword(null,"type","type",1174270348),"text/css"),hoplon.core.script.call(null,new cljs.core.Keyword(null,"src","src",-1651076051),"lib/bgrins-spectrum-98454b5/spectrum.js",
new cljs.core.Keyword(null,"type","type",1174270348),"text/javascript"),hoplon.core.link.call(null,new cljs.core.Keyword(null,"href","href",-793805698),"select2.css",new cljs.core.Keyword(null,"rel","rel",1378823488),"stylesheet",new cljs.core.Keyword(null,"type","type",1174270348),"text/css"),hoplon.core.link.call(null,new cljs.core.Keyword(null,"href","href",-793805698),"style.css",new cljs.core.Keyword(null,"rel","rel",1378823488),"stylesheet",new cljs.core.Keyword(null,"title","title",636505583),
"main",new cljs.core.Keyword(null,"type","type",1174270348),"text/css"),hoplon.core.link.call(null,new cljs.core.Keyword(null,"href","href",-793805698),"fonts/open-sans-condensed/open-sans-condensed.css",new cljs.core.Keyword(null,"rel","rel",1378823488),"stylesheet",new cljs.core.Keyword(null,"type","type",1174270348),"text/css"),hoplon.core.link.call(null,new cljs.core.Keyword(null,"href","href",-793805698),"fonts/share-tech-mono/share-tech-mono.css",new cljs.core.Keyword(null,"rel","rel",1378823488),
"stylesheet",new cljs.core.Keyword(null,"type","type",1174270348),"text/css"),hoplon.core.link.call(null,new cljs.core.Keyword(null,"href","href",-793805698),"fonts/source-code-pro/source-code-pro.css",new cljs.core.Keyword(null,"rel","rel",1378823488),"stylesheet",new cljs.core.Keyword(null,"type","type",1174270348),"text/css"),hoplon.core.style.call(null,new cljs.core.Keyword(null,"type","type",1174270348),"text/css",garden.core.css.call(null,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,
[new cljs.core.Keyword(null,"fieldset","fieldset",-1949770816),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"padding-left","padding-left",-1180879053),"10px"],null)],null),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[garden.selectors.input.call(null,garden.selectors.attr_EQ_.call(null,new cljs.core.Keyword(null,"type","type",1174270348),new cljs.core.Keyword(null,"range","range",1639692286))),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,
"padding","padding",1660304693),"5px"],null)],null),new cljs.core.PersistentVector(null,4,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,".info-grid",".info-grid",1372988462),new cljs.core.PersistentArrayMap(null,2,[new cljs.core.Keyword(null,"border-collapse","border-collapse",919100239),"collapse",new cljs.core.Keyword(null,"border","border",1444987323),"solid 1px"],null),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,
"thead","thead",-291875296),new cljs.core.PersistentArrayMap(null,2,[new cljs.core.Keyword(null,"background","background",-863952629),"lightgray",new cljs.core.Keyword(null,"border-bottom","border-bottom",2110948415),"1px solid black"],null)],null),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"tr","tr",-1424774646),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[garden.selectors._AMPERSAND_.call(null,garden.selectors.nth_child.call(null,
new cljs.core.Keyword(null,"even","even",-275845692))),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"background","background",-863952629),"#F2F0E0"],null)],null)],null)],null))))};
weathergen.ui.message_display=function(){return javelin.core.formula.call(null,function(a){return function d(a){return new cljs.core.LazySeq(null,function(){for(;;){var c=cljs.core.seq.call(null,a);if(c){var f=c;if(cljs.core.chunked_seq_QMARK_.call(null,f)){var g=cljs.core.chunk_first.call(null,f),h=cljs.core.count.call(null,g),k=cljs.core.chunk_buffer.call(null,h);return function(){for(var a=0;;)if(a<h){var d=cljs.core._nth.call(null,g,a);cljs.core.chunk_append.call(null,k,function(){var e=javelin.core.cell.call(null,
!0);return hoplon.core.div.call(null,new cljs.core.Keyword(null,"fade-toggle","fade-toggle",-1468421852),e,new cljs.core.Keyword(null,"css","css",1135045163),new cljs.core.PersistentArrayMap(null,7,[new cljs.core.Keyword(null,"border","border",1444987323),"double",new cljs.core.Keyword(null,"border-color","border-color",-2059162761),"black",new cljs.core.Keyword(null,"background","background",-863952629),"#945594",new cljs.core.Keyword(null,"color","color",1011675173),"white",new cljs.core.Keyword(null,
"position","position",-2011731912),"relative",new cljs.core.Keyword(null,"margin-bottom","margin-bottom",388334941),weathergen.ui.common.px.call(null,3),new cljs.core.Keyword(null,"padding","padding",1660304693),weathergen.ui.common.px.call(null,0,3)],null),weathergen.ui.common.styled.call(null,new cljs.core.Keyword(null,"garden","garden",-1966516149),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"a","a",-2123407586),new cljs.core.PersistentArrayMap(null,
1,[new cljs.core.Keyword(null,"color","color",1011675173),"#ebff00"],null)],null),new cljs.core.Keyword(null,"css","css",1135045163),new cljs.core.PersistentArrayMap(null,2,[new cljs.core.Keyword(null,"display","display",242065432),"inline-block",new cljs.core.Keyword(null,"padding-right","padding-right",-1250249681),weathergen.ui.common.px.call(null,10)],null),d),hoplon.core.div.call(null,new cljs.core.Keyword(null,"css","css",1135045163),new cljs.core.PersistentArrayMap(null,7,[new cljs.core.Keyword(null,
"position","position",-2011731912),"absolute",new cljs.core.Keyword(null,"color","color",1011675173),"#ff6b6b",new cljs.core.Keyword(null,"font-size","font-size",-1847940346),weathergen.ui.common.pct.call(null,150),new cljs.core.Keyword(null,"font-weight","font-weight",2085804583),"bold",new cljs.core.Keyword(null,"top","top",-1856271961),weathergen.ui.common.px.call(null,-8),new cljs.core.Keyword(null,"right","right",-452581833),weathergen.ui.common.px.call(null,5),new cljs.core.Keyword(null,"cursor",
"cursor",1011937484),"pointer"],null),new cljs.core.Keyword(null,"click","click",1912301393),function(a,c,d,e,f,g,h,k){return function(){return cljs.core.reset_BANG_.call(null,c,!1)}}(a,e,d,g,h,k,f,c),"×"))}());a+=1}else return!0}()?cljs.core.chunk_cons.call(null,cljs.core.chunk.call(null,k),d.call(null,cljs.core.chunk_rest.call(null,f))):cljs.core.chunk_cons.call(null,cljs.core.chunk.call(null,k),null)}var l=cljs.core.first.call(null,f);return cljs.core.cons.call(null,function(){var a=javelin.core.cell.call(null,
!0);return hoplon.core.div.call(null,new cljs.core.Keyword(null,"fade-toggle","fade-toggle",-1468421852),a,new cljs.core.Keyword(null,"css","css",1135045163),new cljs.core.PersistentArrayMap(null,7,[new cljs.core.Keyword(null,"border","border",1444987323),"double",new cljs.core.Keyword(null,"border-color","border-color",-2059162761),"black",new cljs.core.Keyword(null,"background","background",-863952629),"#945594",new cljs.core.Keyword(null,"color","color",1011675173),"white",new cljs.core.Keyword(null,
"position","position",-2011731912),"relative",new cljs.core.Keyword(null,"margin-bottom","margin-bottom",388334941),weathergen.ui.common.px.call(null,3),new cljs.core.Keyword(null,"padding","padding",1660304693),weathergen.ui.common.px.call(null,0,3)],null),weathergen.ui.common.styled.call(null,new cljs.core.Keyword(null,"garden","garden",-1966516149),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"a","a",-2123407586),new cljs.core.PersistentArrayMap(null,
1,[new cljs.core.Keyword(null,"color","color",1011675173),"#ebff00"],null)],null),new cljs.core.Keyword(null,"css","css",1135045163),new cljs.core.PersistentArrayMap(null,2,[new cljs.core.Keyword(null,"display","display",242065432),"inline-block",new cljs.core.Keyword(null,"padding-right","padding-right",-1250249681),weathergen.ui.common.px.call(null,10)],null),l),hoplon.core.div.call(null,new cljs.core.Keyword(null,"css","css",1135045163),new cljs.core.PersistentArrayMap(null,7,[new cljs.core.Keyword(null,
"position","position",-2011731912),"absolute",new cljs.core.Keyword(null,"color","color",1011675173),"#ff6b6b",new cljs.core.Keyword(null,"font-size","font-size",-1847940346),weathergen.ui.common.pct.call(null,150),new cljs.core.Keyword(null,"font-weight","font-weight",2085804583),"bold",new cljs.core.Keyword(null,"top","top",-1856271961),weathergen.ui.common.px.call(null,-8),new cljs.core.Keyword(null,"right","right",-452581833),weathergen.ui.common.px.call(null,5),new cljs.core.Keyword(null,"cursor",
"cursor",1011937484),"pointer"],null),new cljs.core.Keyword(null,"click","click",1912301393),function(a,c,d,e){return function(){return cljs.core.reset_BANG_.call(null,a,!1)}}(a,l,f,c),"×"))}(),d.call(null,cljs.core.rest.call(null,f)))}return null}},null,null)}.call(null,a)}).call(null,weathergen.ui.messages)};
weathergen.ui.titlebar=function(){return hoplon.core.div.call(null,new cljs.core.Keyword(null,"debug","debug",-1608172596),"titlebar",new cljs.core.Keyword(null,"css","css",1135045163),javelin.core.formula.call(null,function(a){return new cljs.core.PersistentArrayMap(null,6,[new cljs.core.Keyword(null,"background","background",-863952629),"black",new cljs.core.Keyword(null,"color","color",1011675173),"white",new cljs.core.Keyword(null,"padding","padding",1660304693),weathergen.ui.common.px.call(null,
4,13),new cljs.core.Keyword(null,"margin-bottom","margin-bottom",388334941),weathergen.ui.common.px.call(null,2),new cljs.core.Keyword(null,"height","height",1025178622),weathergen.ui.common.px.call(null,cljs.core.truth_(a)?64:27),new cljs.core.Keyword(null,"position","position",-2011731912),"relative"],null)}).call(null,weathergen.ui.titlebar_fullsize_QMARK_),weathergen.ui.common.inl.call(null,new cljs.core.Keyword(null,"debug","debug",-1608172596),"titlebar-contents",hoplon.core.a.call(null,new cljs.core.Keyword(null,
"css","css",1135045163),new cljs.core.PersistentArrayMap(null,3,[new cljs.core.Keyword(null,"position","position",-2011731912),"absolute",new cljs.core.Keyword(null,"left","left",-399115937),weathergen.ui.common.px.call(null,5),new cljs.core.Keyword(null,"top","top",-1856271961),weathergen.ui.common.px.call(null,-5)],null),new cljs.core.Keyword(null,"click","click",1912301393),function(){return cljs.core.swap_BANG_.call(null,weathergen.ui.titlebar_fullsize_QMARK_,cljs.core.not)},weathergen.ui.common.css_triangle.call(null,
new cljs.core.Keyword(null,"rotation","rotation",-1728051644),javelin.core.formula.call(null,function(a){return cljs.core.truth_(a)?0:-90}).call(null,weathergen.ui.titlebar_fullsize_QMARK_),new cljs.core.Keyword(null,"size","size",1098693007),6,new cljs.core.Keyword(null,"color","color",1011675173),"#888")),weathergen.ui.common.inl.call(null,new cljs.core.Keyword(null,"debug","debug",-1608172596),"left-words",new cljs.core.Keyword(null,"css","css",1135045163),javelin.core.formula.call(null,function(a){return new cljs.core.PersistentArrayMap(null,
2,[new cljs.core.Keyword(null,"margin-top","margin-top",392161226),cljs.core.truth_(a)?weathergen.ui.common.px.call(null,14):null,new cljs.core.Keyword(null,"margin-left","margin-left",2015598377),cljs.core.truth_(a)?null:weathergen.ui.common.px.call(null,7)],null)}).call(null,weathergen.ui.titlebar_fullsize_QMARK_),hoplon.core.span.call(null,new cljs.core.Keyword(null,"debug","debug",-1608172596),"title",new cljs.core.Keyword(null,"css","css",1135045163),javelin.core.formula.call(null,function(a){return new cljs.core.PersistentArrayMap(null,
2,[new cljs.core.Keyword(null,"padding-top","padding-top",1929675955),weathergen.ui.common.px.call(null,16),new cljs.core.Keyword(null,"font-size","font-size",-1847940346),weathergen.ui.common.pct.call(null,cljs.core.truth_(a)?200:125)],null)}).call(null,weathergen.ui.titlebar_fullsize_QMARK_),"Virtual Mission Tools"),hoplon.core.span.call(null,new cljs.core.Keyword(null,"debug","debug",-1608172596),"version",new cljs.core.Keyword(null,"css","css",1135045163),new cljs.core.PersistentArrayMap(null,
1,[new cljs.core.Keyword(null,"padding-left","padding-left",-1180879053),weathergen.ui.common.px.call(null,10)],null),function(){var a=weathergen.ui.build_info,b=null!=a&&(a.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===a.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,a):a;a=cljs.core.get.call(null,b,"VERSION");b=cljs.core.get.call(null,b,"CHANNEL");return["(",cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.core.truth_(a)?a:"dev-build"),cljs.core.truth_(cljs.core.truth_(b)?
cljs.core.not_EQ_.call(null,b,"stable"):b)?["@",cljs.core.str.cljs$core$IFn$_invoke$arity$1(b)].join(""):null,")"].join("")}()),hoplon.core.span.call(null,new cljs.core.Keyword(null,"debug","debug",-1608172596),"byline",new cljs.core.Keyword(null,"css","css",1135045163),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"padding-left","padding-left",-1180879053),weathergen.ui.common.px.call(null,5)],null),"by",weathergen.ui.common.styled.call(null,new cljs.core.Keyword(null,"css",
"css",1135045163),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"display","display",242065432),"inline-block"],null),new cljs.core.Keyword(null,"garden","garden",-1966516149),new cljs.core.PersistentVector(null,4,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"a","a",-2123407586),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"padding-left","padding-left",
-1180879053),weathergen.ui.common.px.call(null,5)],null)],null),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"a:link","a:link",-504615780),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"color","color",1011675173),"white"],null)],null),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"a:visited","a:visited",-737262631),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,
"color","color",1011675173),"white"],null)],null),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"a:hover","a:hover",-1474674872),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"color","color",1011675173),"lightblue"],null)],null)],null),weathergen.ui.common.external_link.call(null,new cljs.core.Keyword(null,"href","href",-793805698),"http://www.440thvfw.com/memberlist.php?mode\x3dviewprofile\x26u\x3d52","Tyrant")))),
weathergen.ui.common.inl.call(null,new cljs.core.Keyword(null,"debug","debug",-1608172596),"right-words",weathergen.ui.common.styled.call(null,new cljs.core.Keyword(null,"debug","debug",-1608172596),"helpstring",new cljs.core.Keyword(null,"garden","garden",-1966516149),javelin.core.formula.call(null,function(a){return new cljs.core.PersistentVector(null,4,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,
"span","span",1394872991),new cljs.core.PersistentArrayMap(null,3,[new cljs.core.Keyword(null,"position","position",-2011731912),"absolute",new cljs.core.Keyword(null,"right","right",-452581833),weathergen.ui.common.px.call(null,cljs.core.truth_(a)?100:54),new cljs.core.Keyword(null,"bottom","bottom",-1550509018),weathergen.ui.common.px.call(null,7)],null)],null),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"a","a",-2123407586),new cljs.core.PersistentArrayMap(null,
2,[new cljs.core.Keyword(null,"color","color",1011675173),"white",new cljs.core.Keyword(null,"margin-left","margin-left",2015598377),weathergen.ui.common.ems.call(null,.2)],null)],null),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"a:visited","a:visited",-737262631),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"color","color",1011675173),"white"],null)],null),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,
[new cljs.core.Keyword(null,"a:hover","a:hover",-1474674872),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"color","color",1011675173),"lightblue"],null)],null)],null)}).call(null,weathergen.ui.titlebar_fullsize_QMARK_),hoplon.core.span.call(null,"Help? Bug? Feature request? Click",weathergen.ui.common.external_link.call(null,new cljs.core.Keyword(null,"href","href",-793805698),"https://www.bmsforum.org/forum/showthread.php?31611-Release-Tyrant-s-Virtual-Mission-Tools-(VMT)\x26p\x3d441129#post441129",
"here"),".")),weathergen.ui.common.external_link.call(null,new cljs.core.Keyword(null,"css","css",1135045163),new cljs.core.PersistentArrayMap(null,3,[new cljs.core.Keyword(null,"position","position",-2011731912),"absolute",new cljs.core.Keyword(null,"right","right",-452581833),weathergen.ui.common.px.call(null,20),new cljs.core.Keyword(null,"top","top",-1856271961),weathergen.ui.common.px.call(null,7)],null),new cljs.core.Keyword(null,"href","href",-793805698),"http://www.440thvfw.com",hoplon.core.img.call(null,
new cljs.core.Keyword(null,"css","css",1135045163),javelin.core.formula.call(null,function(a){return new cljs.core.PersistentArrayMap(null,2,[new cljs.core.Keyword(null,"display","display",242065432),"inline-block",new cljs.core.Keyword(null,"height","height",1025178622),weathergen.ui.common.px.call(null,cljs.core.truth_(a)?64:24)],null)}).call(null,weathergen.ui.titlebar_fullsize_QMARK_),new cljs.core.Keyword(null,"title","title",636505583),"440th Virtual Fighter Wing",new cljs.core.Keyword(null,
"src","src",-1651076051),"images/440th-logo-64.png")))))};weathergen.ui.layer_controls=function(a){for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;b=1<b.length?new cljs.core.IndexedSeq(b.slice(1),0,null):null;return weathergen.ui.layer_controls.cljs$core$IFn$_invoke$arity$variadic(arguments[0],b)};
weathergen.ui.layer_controls.cljs$core$IFn$_invoke$arity$variadic=function(a,b){a=(new cljs.core.Keyword(null,"controls-fn","controls-fn",-807620277)).cljs$core$IFn$_invoke$arity$1(a);return cljs.core.apply.call(null,a,b)};weathergen.ui.layer_controls.cljs$lang$maxFixedArity=1;weathergen.ui.layer_controls.cljs$lang$applyTo=function(a){var b=cljs.core.first.call(null,a);a=cljs.core.next.call(null,a);return this.cljs$core$IFn$_invoke$arity$variadic(b,a)};
weathergen.ui.section_ctor=cljs.core.PersistentHashMap.fromArrays([new cljs.core.Keyword(null,"mission-info-section","mission-info-section",1401749344),new cljs.core.Keyword(null,"weather-source-controls","weather-source-controls",-1615133854),new cljs.core.Keyword(null,"map-image-save-controls","map-image-save-controls",-702527229),new cljs.core.Keyword(null,"weather-override-parameters","weather-override-parameters",491414981),new cljs.core.Keyword(null,"weather-display-controls","weather-display-controls",
941597221),new cljs.core.Keyword(null,"forecast-section","forecast-section",-1278731643),new cljs.core.Keyword(null,"air-forces-section","air-forces-section",-222064121),new cljs.core.Keyword(null,"briefing-notes-section","briefing-notes-section",1870993417),new cljs.core.Keyword(null,"annotation-controls","annotation-controls",-1755737750),new cljs.core.Keyword(null,"atmosphere-controls","atmosphere-controls",-1058305013),new cljs.core.Keyword(null,"advanced-controls","advanced-controls",-278238996),
new cljs.core.Keyword(null,"serialization-controls","serialization-controls",-789590644),new cljs.core.Keyword(null,"acmi-controls","acmi-controls",287056051),new cljs.core.Keyword(null,"weather-parameters","weather-parameters",-1852076459),new cljs.core.Keyword(null,"save-briefing-section","save-briefing-section",143974425),new cljs.core.Keyword(null,"oob-section","oob-section",1786899258),new cljs.core.Keyword(null,"map-controls-section","map-controls-section",684229466),new cljs.core.Keyword(null,
"test-section","test-section",-945916038),new cljs.core.Keyword(null,"weather-type-configuration","weather-type-configuration",-358032997),new cljs.core.Keyword(null,"step-controls","step-controls",-854420677),new cljs.core.Keyword(null,"flights-section","flights-section",1247077532)],[weathergen.ui.mission_info_section,weathergen.ui.weather_source_controls,weathergen.ui.map_image_save_controls,weathergen.ui.weather_override_parameters,weathergen.ui.weather_display_controls,weathergen.ui.forecast_section,
weathergen.ui.air_forces_section,weathergen.ui.briefing_notes_section,function(a){return weathergen.ui.layer_controls.call(null,weathergen.ui.annotations_layer)},weathergen.ui.atmosphere_controls,weathergen.ui.advanced_controls,weathergen.ui.serialization_controls,function(a){return weathergen.ui.layer_controls.call(null,weathergen.ui.acmi_layer)},weathergen.ui.weather_parameters,weathergen.ui.save_briefing_section,weathergen.ui.order_of_battle_section,weathergen.ui.map_controls_section,weathergen.ui.test_section,
weathergen.ui.weather_type_configuration,weathergen.ui.step_controls,function(a){return weathergen.ui.layer_controls.call(null,weathergen.ui.flight_paths_layer,(new cljs.core.Keyword("weathergen.ui","scroll-container","weathergen.ui/scroll-container",236222120)).cljs$core$IFn$_invoke$arity$1(a))}]);
if("undefined"===typeof weathergen||"undefined"===typeof weathergen.ui||"undefined"===typeof weathergen.ui.tab_formatter)weathergen.ui.tab_formatter=function(){var a=cljs.core.atom.call(null,cljs.core.PersistentArrayMap.EMPTY),b=cljs.core.atom.call(null,cljs.core.PersistentArrayMap.EMPTY),c=cljs.core.atom.call(null,cljs.core.PersistentArrayMap.EMPTY),d=cljs.core.atom.call(null,cljs.core.PersistentArrayMap.EMPTY),e=cljs.core.get.call(null,cljs.core.PersistentArrayMap.EMPTY,new cljs.core.Keyword(null,
"hierarchy","hierarchy",-1053470341),cljs.core.get_global_hierarchy.call(null));return new cljs.core.MultiFn(cljs.core.symbol.call(null,"weathergen.ui","tab-formatter"),function(a,b,c,d,e){return function(a,b,c){return cljs.core.first.call(null,b)}}(a,b,c,d,e),new cljs.core.Keyword(null,"default","default",-1987822328),e,a,b,c,d)}();
if("undefined"===typeof weathergen||"undefined"===typeof weathergen.ui||"undefined"===typeof weathergen.ui.title_formatter)weathergen.ui.title_formatter=function(){var a=cljs.core.atom.call(null,cljs.core.PersistentArrayMap.EMPTY),b=cljs.core.atom.call(null,cljs.core.PersistentArrayMap.EMPTY),c=cljs.core.atom.call(null,cljs.core.PersistentArrayMap.EMPTY),d=cljs.core.atom.call(null,cljs.core.PersistentArrayMap.EMPTY),e=cljs.core.get.call(null,cljs.core.PersistentArrayMap.EMPTY,new cljs.core.Keyword(null,
"hierarchy","hierarchy",-1053470341),cljs.core.get_global_hierarchy.call(null));return new cljs.core.MultiFn(cljs.core.symbol.call(null,"weathergen.ui","title-formatter"),function(a,b,c,d,e){return function(a,b,c,d){return cljs.core.first.call(null,b)}}(a,b,c,d,e),new cljs.core.Keyword(null,"default","default",-1987822328),e,a,b,c,d)}();
cljs.core._add_method.call(null,weathergen.ui.tab_formatter,null,function(a,b,c){return hoplon.core.div.call(null,function(){return function f(a){return new cljs.core.LazySeq(null,function(){for(;;){var b=cljs.core.seq.call(null,a);if(b){if(cljs.core.chunked_seq_QMARK_.call(null,b)){var e=cljs.core.chunk_first.call(null,b),k=cljs.core.count.call(null,e),l=cljs.core.chunk_buffer.call(null,k);return function(){for(var a=0;;)if(a<k){var b=cljs.core._nth.call(null,e,a),f=cljs.core.nth.call(null,b,0,null),
g=cljs.core.nth.call(null,b,1,null),h=weathergen.ui.section_ctor.call(null,f);cljs.core.chunk_append.call(null,l,function(){var a=["Rendering ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(f)].join("");console.time(a);var b=h.call(null,cljs.core.merge.call(null,g,c));console.timeEnd(a);return b}());a+=1}else return!0}()?cljs.core.chunk_cons.call(null,cljs.core.chunk.call(null,l),f.call(null,cljs.core.chunk_rest.call(null,b))):cljs.core.chunk_cons.call(null,cljs.core.chunk.call(null,l),null)}var m=
cljs.core.first.call(null,b),n=cljs.core.nth.call(null,m,0,null),p=cljs.core.nth.call(null,m,1,null),q=weathergen.ui.section_ctor.call(null,n);return cljs.core.cons.call(null,function(){var a=["Rendering ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(n)].join("");console.time(a);var b=q.call(null,cljs.core.merge.call(null,p,c));console.timeEnd(a);return b}(),f.call(null,cljs.core.rest.call(null,b)))}return null}},null,null)}.call(null,cljs.core.partition.call(null,2,(new cljs.core.Keyword(null,"sections",
"sections",-886710106)).cljs$core$IFn$_invoke$arity$1((new cljs.core.Keyword(null,"data","data",-232669377)).cljs$core$IFn$_invoke$arity$1(cljs.core.deref.call(null,a)))))}())});cljs.core._add_method.call(null,weathergen.ui.title_formatter,null,function(a,b,c,d){return(new cljs.core.Keyword(null,"title","title",636505583)).cljs$core$IFn$_invoke$arity$1((new cljs.core.Keyword(null,"data","data",-232669377)).cljs$core$IFn$_invoke$arity$1(cljs.core.deref.call(null,a)))});
cljs.core._add_method.call(null,weathergen.ui.tab_formatter,new cljs.core.Keyword(null,"tools","tools",-1241731990),function(a,b,c){return weathergen.ui.hidden_tools_tab.call(null)});cljs.core._add_method.call(null,weathergen.ui.title_formatter,new cljs.core.Keyword(null,"tools","tools",-1241731990),function(a,b,c,d){return"Tools"});
cljs.core._add_method.call(null,weathergen.ui.tab_formatter,new cljs.core.Keyword(null,"flights","flights",-1637719124),function(a,b,c){b=(new cljs.core.Keyword(null,"tab-body-fn","tab-body-fn",-2145852517)).cljs$core$IFn$_invoke$arity$1(weathergen.ui.flight_paths_layer);return b.call(null,javelin.core.formula.call(null,function(a){return function(a){return(new cljs.core.Keyword(null,"data","data",-232669377)).cljs$core$IFn$_invoke$arity$1(a)}}(b)).call(null,a))});
cljs.core._add_method.call(null,weathergen.ui.title_formatter,new cljs.core.Keyword(null,"flights","flights",-1637719124),function(a,b,c,d){d=cljs.core.nth.call(null,b,0,null);var e=cljs.core.nth.call(null,b,1,null),f=(new cljs.core.Keyword(null,"tab-title-fn","tab-title-fn",-242851006)).cljs$core$IFn$_invoke$arity$1(weathergen.ui.flight_paths_layer);return f.call(null,javelin.core.formula.call(null,function(a,b,c,d){return function(a){return(new cljs.core.Keyword(null,"data","data",-232669377)).cljs$core$IFn$_invoke$arity$1(a)}}(f,
b,d,e)).call(null,a),c)});
weathergen.ui.weather_page=function(a){return hoplon.core.html.call(null,weathergen.ui.head.call(null),hoplon.core.body.call(null,new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"css","css",1135045163),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"margin","margin",-995903681),"8px"],null)],null),hoplon.core.div.call(null,new cljs.core.Keyword(null,"id","id",-1388402092),"app",weathergen.ui.titlebar.call(null),weathergen.ui.message_display.call(null),function(){var b=
weathergen.ui.controls_min_width;return hoplon.core.div.call(null,new cljs.core.Keyword(null,"css","css",1135045163),javelin.core.formula.call(null,function(a){return function(a,b){cljs.core.nth.call(null,b,0,null);b=cljs.core.nth.call(null,b,1,null);return new cljs.core.PersistentArrayMap(null,4,[new cljs.core.Keyword(null,"display","display",242065432),"flex",new cljs.core.Keyword(null,"flex-direction","flex-direction",364609438),"row",new cljs.core.Keyword(null,"overflow","overflow",2058931880),
"hidden",new cljs.core.Keyword(null,"height","height",1025178622),weathergen.ui.common.px.call(null,b-a-26)],null)}}(b)).call(null,weathergen.ui.titlebar_height,weathergen.ui.window_size),hoplon.core.div.call(null,new cljs.core.Keyword(null,"class","class",-2030961996),"left-column",new cljs.core.Keyword(null,"css","css",1135045163),new cljs.core.PersistentArrayMap(null,2,[new cljs.core.Keyword(null,"overflow","overflow",2058931880),"auto",new cljs.core.Keyword(null,"height","height",1025178622),
"auto"],null),weathergen.ui.button_bar.call(null),weathergen.ui.grid.call(null,new cljs.core.Keyword(null,"display-params","display-params",573405707),weathergen.ui.display_params,new cljs.core.Keyword(null,"weather-data","weather-data",-664219401),weathergen.ui.weather_data,new cljs.core.Keyword(null,"selected-cell","selected-cell",1638390443),weathergen.ui.selected_cell,new cljs.core.Keyword(null,"weather-overrides","weather-overrides",-837381710),weathergen.ui.weather_overrides,new cljs.core.Keyword(null,
"computing","computing",-1002386157),weathergen.ui.computing,new cljs.core.Keyword(null,"pressure-unit","pressure-unit",1615584243),weathergen.ui.pressure_unit,new cljs.core.Keyword(null,"nx","nx",-1996436366),cljs.core.first.call(null,(new cljs.core.Keyword(null,"cell-count","cell-count",-441457582)).cljs$core$IFn$_invoke$arity$1(cljs.core.deref.call(null,weathergen.ui.weather_params))),new cljs.core.Keyword(null,"ny","ny",1701791641),cljs.core.second.call(null,(new cljs.core.Keyword(null,"cell-count",
"cell-count",-441457582)).cljs$core$IFn$_invoke$arity$1(cljs.core.deref.call(null,weathergen.ui.weather_params))))),function(){var c=hoplon.core.div.call(null);return c.call(null,new cljs.core.Keyword(null,"class","class",-2030961996),"right-column",new cljs.core.Keyword(null,"css","css",1135045163),new cljs.core.PersistentArrayMap(null,8,[new cljs.core.Keyword(null,"display","display",242065432),"block",new cljs.core.Keyword(null,"align-content","align-content",-990200349),"flex-start",new cljs.core.Keyword(null,
"flex-wrap","flex-wrap",455413707),"wrap",new cljs.core.Keyword(null,"flex-grow","flex-grow",1865160747),1,new cljs.core.Keyword(null,"min-width","min-width",1926193728),[cljs.core.str.cljs$core$IFn$_invoke$arity$1(b-20),"px"].join(""),new cljs.core.Keyword(null,"width","width",-384071477),0,new cljs.core.Keyword(null,"overflow","overflow",2058931880),"auto",new cljs.core.Keyword(null,"height","height",1025178622),"auto"],null),function(){var d=(new cljs.core.Keyword(null,"id","id",-1388402092)).cljs$core$IFn$_invoke$arity$1(cljs.core.first.call(null,
a)),e=javelin.core.cell.call(null,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[null,d],null)),f=(new cljs.core.Keyword(null,"tabs","tabs",-779855354)).cljs$core$IFn$_invoke$arity$1(weathergen.ui.flight_paths_layer);return weathergen.ui.tabs.tabs2.call(null,new cljs.core.Keyword(null,"tab-background","tab-background",-2049748774),"#FDFFD9",new cljs.core.Keyword(null,"value","value",305978217),e,new cljs.core.Keyword(null,"data","data",-232669377),javelin.core.formula.call(null,
function(b,c,d,e,f){return function(g,h){var k=cljs.core.split_with.call(null,function(a,b,c,d,e){return function(a){return cljs.core.not_EQ_.call(null,new cljs.core.Keyword(null,"flights","flights",-1637719124),(new cljs.core.Keyword(null,"id","id",-1388402092)).cljs$core$IFn$_invoke$arity$1(a))}}(b,c,d,e,f),a),l=cljs.core.nth.call(null,k,0,null),m=cljs.core.nth.call(null,k,1,null),n=cljs.core.seq.call(null,m),p=cljs.core.first.call(null,n),w=cljs.core.next.call(null,n);return cljs.core.concat.call(null,
function(){return function(a,b,c,d,e,f,g,h,k,l,m,n,p){return function H(q){return new cljs.core.LazySeq(null,function(a,b,c,d,e,f,g,h,k,l,m,n,p){return function(){for(;;){var a=cljs.core.seq.call(null,q);if(a){if(cljs.core.chunked_seq_QMARK_.call(null,a)){var b=cljs.core.chunk_first.call(null,a),c=cljs.core.count.call(null,b),d=cljs.core.chunk_buffer.call(null,c);a:for(var e=0;;)if(e<c){var f=cljs.core._nth.call(null,b,e),g=null!=f&&(f.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===
f.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,f):f;f=g;g=cljs.core.get.call(null,g,new cljs.core.Keyword(null,"id","id",-1388402092));cljs.core.chunk_append.call(null,d,new cljs.core.PersistentArrayMap(null,2,[new cljs.core.Keyword(null,"id","id",-1388402092),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[null,g],null),new cljs.core.Keyword(null,"data","data",-232669377),f],null));e+=1}else{b=!0;break a}return b?cljs.core.chunk_cons.call(null,cljs.core.chunk.call(null,
d),H.call(null,cljs.core.chunk_rest.call(null,a))):cljs.core.chunk_cons.call(null,cljs.core.chunk.call(null,d),null)}d=cljs.core.first.call(null,a);d=b=null!=d&&(d.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===d.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,d):d;b=cljs.core.get.call(null,b,new cljs.core.Keyword(null,"id","id",-1388402092));return cljs.core.cons.call(null,new cljs.core.PersistentArrayMap(null,2,[new cljs.core.Keyword(null,"id","id",-1388402092),
new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[null,b],null),new cljs.core.Keyword(null,"data","data",-232669377),d],null),H.call(null,cljs.core.rest.call(null,a)))}return null}}}(a,b,c,d,e,f,g,h,k,l,m,n,p),null,null)}}(k,l,m,n,p,w,p,w,b,c,d,e,f).call(null,cljs.core.concat.call(null,l,new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[p],null)))}(),function(){return function(a,b,c,d,e,f,g,h,k,l,m,n,p){return function H(q){return new cljs.core.LazySeq(null,
function(a,b,c,d,e,f,g,h,k,l,m,n,p){return function(){for(;;){var a=cljs.core.seq.call(null,q);if(a){if(cljs.core.chunked_seq_QMARK_.call(null,a)){var b=cljs.core.chunk_first.call(null,a),c=cljs.core.count.call(null,b),d=cljs.core.chunk_buffer.call(null,c);a:for(var e=0;;)if(e<c){var f=cljs.core._nth.call(null,b,e),g=null!=f&&(f.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===f.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,f):f;f=g;g=cljs.core.get.call(null,g,
new cljs.core.Keyword(null,"id","id",-1388402092));cljs.core.chunk_append.call(null,d,new cljs.core.PersistentArrayMap(null,2,[new cljs.core.Keyword(null,"id","id",-1388402092),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"flights","flights",-1637719124),g],null),new cljs.core.Keyword(null,"data","data",-232669377),f],null));e+=1}else{b=!0;break a}return b?cljs.core.chunk_cons.call(null,cljs.core.chunk.call(null,d),H.call(null,cljs.core.chunk_rest.call(null,
a))):cljs.core.chunk_cons.call(null,cljs.core.chunk.call(null,d),null)}d=cljs.core.first.call(null,a);d=b=null!=d&&(d.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===d.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,d):d;b=cljs.core.get.call(null,b,new cljs.core.Keyword(null,"id","id",-1388402092));return cljs.core.cons.call(null,new cljs.core.PersistentArrayMap(null,2,[new cljs.core.Keyword(null,"id","id",-1388402092),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,
[new cljs.core.Keyword(null,"flights","flights",-1637719124),b],null),new cljs.core.Keyword(null,"data","data",-232669377),d],null),H.call(null,cljs.core.rest.call(null,a)))}return null}}}(a,b,c,d,e,f,g,h,k,l,m,n,p),null,null)}}(k,l,m,n,p,w,p,w,b,c,d,e,f).call(null,h)}(),function(){return function(a,b,c,d,e,f,g,h,k,l,m,n,p){return function H(q){return new cljs.core.LazySeq(null,function(a,b,c,d,e,f,g,h,k,l,m,n,p){return function(){for(;;){var a=cljs.core.seq.call(null,q);if(a){if(cljs.core.chunked_seq_QMARK_.call(null,
a)){var b=cljs.core.chunk_first.call(null,a),c=cljs.core.count.call(null,b),d=cljs.core.chunk_buffer.call(null,c);a:for(var e=0;;)if(e<c){var f=cljs.core._nth.call(null,b,e),g=null!=f&&(f.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===f.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,f):f;f=g;g=cljs.core.get.call(null,g,new cljs.core.Keyword(null,"id","id",-1388402092));cljs.core.chunk_append.call(null,d,new cljs.core.PersistentArrayMap(null,2,[new cljs.core.Keyword(null,
"id","id",-1388402092),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[null,g],null),new cljs.core.Keyword(null,"data","data",-232669377),f],null));e+=1}else{b=!0;break a}return b?cljs.core.chunk_cons.call(null,cljs.core.chunk.call(null,d),H.call(null,cljs.core.chunk_rest.call(null,a))):cljs.core.chunk_cons.call(null,cljs.core.chunk.call(null,d),null)}d=cljs.core.first.call(null,a);d=b=null!=d&&(d.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===
d.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,d):d;b=cljs.core.get.call(null,b,new cljs.core.Keyword(null,"id","id",-1388402092));return cljs.core.cons.call(null,new cljs.core.PersistentArrayMap(null,2,[new cljs.core.Keyword(null,"id","id",-1388402092),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[null,b],null),new cljs.core.Keyword(null,"data","data",-232669377),d],null),H.call(null,cljs.core.rest.call(null,a)))}return null}}}(a,b,c,d,e,f,g,h,k,
l,m,n,p),null,null)}}(k,l,m,n,p,w,p,w,b,c,d,e,f).call(null,w)}(),cljs.core.truth_(g)?new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"id","id",-1388402092),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"tools","tools",-1241731990),new cljs.core.Keyword(null,"tools","tools",-1241731990)],null)],null)],null):null)}}(f,d,e,c,b)).call(null,weathergen.ui.tools_visible_QMARK_,
f),new cljs.core.Keyword(null,"key-fn","key-fn",-636154479),new cljs.core.Keyword(null,"id","id",-1388402092),new cljs.core.Keyword(null,"formatter","formatter",-483008823),function(a,b,c,d,e){return function(a,b){return weathergen.ui.tab_formatter.call(null,a,b,new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword("weathergen.ui","scroll-container","weathergen.ui/scroll-container",236222120),d],null))}}(f,d,e,c,b),new cljs.core.Keyword(null,"title-formatter","title-formatter",1874480681),
function(a,b,c,d,e){return function(a,b,c){return weathergen.ui.title_formatter.call(null,a,b,c,new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword("weathergen.ui","scroll-container","weathergen.ui/scroll-container",236222120),d],null))}}(f,d,e,c,b))}())}())}()),weathergen.ui.debug_info.call(null)))};weathergen.ui.on_STAR_=function(a,b,c){return weathergen.ui.common.when_dom_STAR_.call(null,a,function(){return jQuery(a).on(cljs.core.name.call(null,b),c)})};
cljs.core._add_method.call(null,hoplon.core.on_BANG_,new cljs.core.Keyword("hoplon.core","default","hoplon.core/default",-778824365),function(a,b,c){return weathergen.ui.on_STAR_.call(null,a,b,c)});cljs.core._add_method.call(null,hoplon.core.on_BANG_,new cljs.core.Keyword("html","*","html/*",-1283138243),function(a,b,c){return weathergen.ui.on_STAR_.call(null,a,b,c)});vmt.pages={};vmt.pages.index={};vmt.pages.index.electron=require("electron");vmt.pages.index.update_frequency=hoplon.storage_atom.local_storage.call(null,javelin.core.cell.call(null,null),[cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.core.get.call(null,weathergen.ui.build_info,"CHANNEL")),cljs.core.str.cljs$core$IFn$_invoke$arity$1(new cljs.core.Keyword("vmt.pages.index","update-frequency","vmt.pages.index/update-frequency",-1832722174))].join(""));
vmt.pages.index.last_update_check=hoplon.storage_atom.local_storage.call(null,javelin.core.cell.call(null,null),[cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.core.get.call(null,weathergen.ui.build_info,"CHANNEL")),cljs.core.str.cljs$core$IFn$_invoke$arity$1(new cljs.core.Keyword("vmt.pages.index","last-update-check","vmt.pages.index/last-update-check",-461009131))].join(""));
vmt.pages.index.latest_build_info=hoplon.storage_atom.local_storage.call(null,javelin.core.cell.call(null,null),[cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.core.get.call(null,weathergen.ui.build_info,"CHANNEL")),cljs.core.str.cljs$core$IFn$_invoke$arity$1(new cljs.core.Keyword("vmt.pages.index","latest-build-info","vmt.pages.index/latest-build-info",1117729762))].join(""));
vmt.pages.index.ignored_versions=hoplon.storage_atom.local_storage.call(null,javelin.core.cell.call(null,cljs.core.PersistentHashSet.EMPTY),[cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.core.get.call(null,weathergen.ui.build_info,"CHANNEL")),cljs.core.str.cljs$core$IFn$_invoke$arity$1(new cljs.core.Keyword("vmt.pages.index","ignored-versions","vmt.pages.index/ignored-versions",585632991))].join(""));vmt.pages.index.checking_updates_QMARK_=javelin.core.cell.call(null,!1);
vmt.pages.index.update_check_error=javelin.core.cell.call(null,null);vmt.pages.index.load_status=javelin.core.cell.call(null,cljs.core.PersistentVector.EMPTY);vmt.pages.index.loading_QMARK_=javelin.core.cell.call(null,!1);vmt.pages.index.update_for_id=function(a,b,c){return cljs.core.mapv.call(null,function(a){return cljs.core._EQ_.call(null,(new cljs.core.Keyword(null,"id","id",-1388402092)).cljs$core$IFn$_invoke$arity$1(a),b)?c.call(null,a):a},a)};
cljs.core._add_method.call(null,weathergen.ipc.on_message,"load-step-started",function(a,b,c){a=null!=c&&(c.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===c.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,c):c;b=cljs.core.get.call(null,a,new cljs.core.Keyword(null,"id","id",-1388402092));var d=cljs.core.get.call(null,a,new cljs.core.Keyword(null,"name","name",1843675177)),e=cljs.core.get.call(null,a,new cljs.core.Keyword(null,"parent","parent",-878878779));taoensso.timbre._log_BANG_.call(null,
taoensso.timbre._STAR_config_STAR_,new cljs.core.Keyword(null,"debug","debug",-1608172596),"vmt.pages.index",null,74,new cljs.core.Keyword(null,"p","p",151049309),new cljs.core.Keyword(null,"auto","auto",-566279492),new cljs.core.Delay(function(a,b,c,d,e){return function(){return new cljs.core.PersistentVector(null,4,5,cljs.core.PersistentVector.EMPTY_NODE,["load-step-started",c,d,e],null)}}(c,a,b,d,e),null),null,-1568801607);return cljs.core.truth_(cljs.core.deref.call(null,vmt.pages.index.loading_QMARK_))?
cljs.core.swap_BANG_.call(null,vmt.pages.index.load_status,cljs.core.conj,new cljs.core.PersistentArrayMap(null,5,[new cljs.core.Keyword(null,"state","state",-1988618099),new cljs.core.Keyword(null,"started","started",585705024),new cljs.core.Keyword(null,"id","id",-1388402092),b,new cljs.core.Keyword(null,"name","name",1843675177),d,new cljs.core.Keyword(null,"messages","messages",345434482),cljs.core.PersistentVector.EMPTY,new cljs.core.Keyword(null,"parent","parent",-878878779),cljs.core.truth_(e)?
e:new cljs.core.Keyword("vmt.pages.index","root","vmt.pages.index/root",1715821226)],null)):null});
cljs.core._add_method.call(null,weathergen.ipc.on_message,"load-step-succeeded",function(a,b,c){a=null!=c&&(c.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===c.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,c):c;b=cljs.core.get.call(null,a,new cljs.core.Keyword(null,"id","id",-1388402092));taoensso.timbre._log_BANG_.call(null,taoensso.timbre._STAR_config_STAR_,new cljs.core.Keyword(null,"debug","debug",-1608172596),"vmt.pages.index",null,84,new cljs.core.Keyword(null,
"p","p",151049309),new cljs.core.Keyword(null,"auto","auto",-566279492),new cljs.core.Delay(function(a,b,c){return function(){return new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,["load-step-succeeded",c],null)}}(c,a,b),null),null,-600748537);return cljs.core.truth_(cljs.core.deref.call(null,vmt.pages.index.loading_QMARK_))?cljs.core.swap_BANG_.call(null,vmt.pages.index.load_status,vmt.pages.index.update_for_id,b,function(a,b,c){return function(a){return cljs.core.assoc.call(null,
a,new cljs.core.Keyword(null,"state","state",-1988618099),new cljs.core.Keyword(null,"succeeded","succeeded",-1860573089))}}(c,a,b)):null});
cljs.core._add_method.call(null,weathergen.ipc.on_message,"load-step-warning",function(a,b,c){a=null!=c&&(c.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===c.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,c):c;b=cljs.core.get.call(null,a,new cljs.core.Keyword(null,"id","id",-1388402092));var d=cljs.core.get.call(null,a,new cljs.core.Keyword(null,"message","message",-406056002));taoensso.timbre._log_BANG_.call(null,taoensso.timbre._STAR_config_STAR_,new cljs.core.Keyword(null,
"debug","debug",-1608172596),"vmt.pages.index",null,90,new cljs.core.Keyword(null,"p","p",151049309),new cljs.core.Keyword(null,"auto","auto",-566279492),new cljs.core.Delay(function(a,b,c,d){return function(){return new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,["load-step-warning",c,d],null)}}(c,a,b,d),null),null,-1745397212);return cljs.core.truth_(cljs.core.deref.call(null,vmt.pages.index.loading_QMARK_))?cljs.core.swap_BANG_.call(null,vmt.pages.index.load_status,
vmt.pages.index.update_for_id,b,function(a,b,c,d){return function(a){return cljs.core.update.call(null,cljs.core.assoc.call(null,a,new cljs.core.Keyword(null,"state","state",-1988618099),new cljs.core.Keyword(null,"warning","warning",-1685650671)),new cljs.core.Keyword(null,"messages","messages",345434482),cljs.core.conj,new cljs.core.PersistentArrayMap(null,2,[new cljs.core.Keyword(null,"type","type",1174270348),new cljs.core.Keyword(null,"warning","warning",-1685650671),new cljs.core.Keyword(null,
"text","text",-1790561697),d],null))}}(c,a,b,d)):null});
cljs.core._add_method.call(null,weathergen.ipc.on_message,"load-step-failed",function(a,b,c){a=null!=c&&(c.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===c.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,c):c;b=cljs.core.get.call(null,a,new cljs.core.Keyword(null,"id","id",-1388402092));var d=cljs.core.get.call(null,a,new cljs.core.Keyword(null,"message","message",-406056002));taoensso.timbre._log_BANG_.call(null,taoensso.timbre._STAR_config_STAR_,new cljs.core.Keyword(null,
"debug","debug",-1608172596),"vmt.pages.index",null,99,new cljs.core.Keyword(null,"p","p",151049309),new cljs.core.Keyword(null,"auto","auto",-566279492),new cljs.core.Delay(function(a,b,c,d){return function(){return new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,["load-step-failed",c,d],null)}}(c,a,b,d),null),null,1460370115);return cljs.core.truth_(cljs.core.deref.call(null,vmt.pages.index.loading_QMARK_))?cljs.core.swap_BANG_.call(null,vmt.pages.index.load_status,
vmt.pages.index.update_for_id,b,function(a,b,c,d){return function(e){return cljs.core.update.call(null,cljs.core.assoc.call(null,e,new cljs.core.Keyword(null,"state","state",-1988618099),new cljs.core.Keyword(null,"failed","failed",-1397425762)),new cljs.core.Keyword(null,"messages","messages",345434482),function(a,b,c,d){return function(a){return cljs.core.truth_(d)?cljs.core.conj.call(null,a,new cljs.core.PersistentArrayMap(null,2,[new cljs.core.Keyword(null,"type","type",1174270348),new cljs.core.Keyword(null,
"error","error",-978969032),new cljs.core.Keyword(null,"text","text",-1790561697),d],null)):a}}(a,b,c,d))}}(c,a,b,d)):null});
cljs.core._add_method.call(null,weathergen.ipc.on_message,"load-complete",function(a,b){taoensso.timbre._log_BANG_.call(null,taoensso.timbre._STAR_config_STAR_,new cljs.core.Keyword(null,"debug","debug",-1608172596),"vmt.pages.index",null,112,new cljs.core.Keyword(null,"p","p",151049309),new cljs.core.Keyword(null,"auto","auto",-566279492),new cljs.core.Delay(function(){return new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,["load-complete"],null)},null),null,2078961324);
return javelin.core.dosync_STAR_.call(null,function(){cljs.core.reset_BANG_.call(null,vmt.pages.index.loading_QMARK_,!1);return cljs.core.swap_BANG_.call(null,vmt.pages.index.load_status,vmt.pages.index.update_for_id,new cljs.core.Keyword("vmt.pages.index","root","vmt.pages.index/root",1715821226),function(a){return cljs.core.assoc.call(null,a,new cljs.core.Keyword(null,"state","state",-1988618099),new cljs.core.Keyword(null,"succeeded","succeeded",-1860573089))})})});
cljs.core._add_method.call(null,weathergen.ipc.on_message,"load-failed",function(a,b,c){taoensso.timbre._log_BANG_.call(null,taoensso.timbre._STAR_config_STAR_,new cljs.core.Keyword(null,"debug","debug",-1608172596),"vmt.pages.index",null,120,new cljs.core.Keyword(null,"p","p",151049309),new cljs.core.Keyword(null,"auto","auto",-566279492),new cljs.core.Delay(function(){return new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,["load-failed",c],null)},null),null,1759324020);
return javelin.core.dosync_STAR_.call(null,function(){cljs.core.reset_BANG_.call(null,vmt.pages.index.loading_QMARK_,!1);cljs.core.swap_BANG_.call(null,vmt.pages.index.load_status,function(a){return cljs.core.map.call(null,function(a){return cljs.core._EQ_.call(null,(new cljs.core.Keyword(null,"state","state",-1988618099)).cljs$core$IFn$_invoke$arity$1(a),new cljs.core.Keyword(null,"started","started",585705024))?cljs.core.assoc.call(null,a,new cljs.core.Keyword(null,"state","state",-1988618099),
new cljs.core.Keyword(null,"failed","failed",-1397425762)):a},a)});return cljs.core.swap_BANG_.call(null,vmt.pages.index.load_status,vmt.pages.index.update_for_id,new cljs.core.Keyword("vmt.pages.index","root","vmt.pages.index/root",1715821226),function(a){return cljs.core.update.call(null,cljs.core.assoc.call(null,a,new cljs.core.Keyword(null,"state","state",-1988618099),new cljs.core.Keyword(null,"failed","failed",-1397425762)),new cljs.core.Keyword(null,"messages","messages",345434482),function(a){return cljs.core.truth_(c)?
cljs.core.conj.call(null,a,new cljs.core.PersistentArrayMap(null,2,[new cljs.core.Keyword(null,"type","type",1174270348),new cljs.core.Keyword(null,"error","error",-978969032),new cljs.core.Keyword(null,"text","text",-1790561697),c],null)):a})})})});
vmt.pages.index.load_mission=function(){var a=vmt.pages.index.electron.remote.dialog.showOpenDialog(cljs.core.clj__GT_js.call(null,new cljs.core.PersistentArrayMap(null,3,[new cljs.core.Keyword(null,"title","title",636505583),"Select a campaign or tactical engagement file",new cljs.core.Keyword(null,"properties","properties",685819552),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,["openFile"],null),new cljs.core.Keyword(null,"filters","filters",974726919),new cljs.core.PersistentVector(null,
2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.PersistentArrayMap(null,2,[new cljs.core.Keyword(null,"name","name",1843675177),"Campaign file",new cljs.core.Keyword(null,"extensions","extensions",-1103629196),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,["cam"],null)],null),new cljs.core.PersistentArrayMap(null,2,[new cljs.core.Keyword(null,"name","name",1843675177),"Tactical engagement file",new cljs.core.Keyword(null,"extensions","extensions",-1103629196),
new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,["tac"],null)],null)],null)],null)));if(cljs.core.truth_(a)){var b=cljs.core.nth.call(null,a,0,null);javelin.core.dosync_STAR_.call(null,function(a,b,e){return function(){cljs.core.reset_BANG_.call(null,vmt.pages.index.loading_QMARK_,!0);return cljs.core.reset_BANG_.call(null,vmt.pages.index.load_status,new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.PersistentArrayMap(null,3,
[new cljs.core.Keyword(null,"id","id",-1388402092),new cljs.core.Keyword("vmt.pages.index","root","vmt.pages.index/root",1715821226),new cljs.core.Keyword(null,"state","state",-1988618099),new cljs.core.Keyword(null,"started","started",585705024),new cljs.core.Keyword(null,"name","name",1843675177),"Loading mission"],null)],null))}}(a,b,a));return weathergen.ipc.send_to_main.call(null,"open-mission",b)}return null};
vmt.pages.index.load_briefing=function(){var a=vmt.pages.index.electron.remote.dialog.showOpenDialog({title:"Select a campaign or tactical engagement file",openFile:!0,filters:[{name:"VMT Briefing",extensions:["vmtb"]}]});if(cljs.core.truth_(a)){var b=cljs.core.nth.call(null,a,0,null);javelin.core.dosync_STAR_.call(null,function(a,b,e){return function(){cljs.core.reset_BANG_.call(null,vmt.pages.index.loading_QMARK_,!0);return cljs.core.reset_BANG_.call(null,vmt.pages.index.load_status,new cljs.core.PersistentVector(null,
1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.PersistentArrayMap(null,3,[new cljs.core.Keyword(null,"id","id",-1388402092),new cljs.core.Keyword("vmt.pages.index","root","vmt.pages.index/root",1715821226),new cljs.core.Keyword(null,"state","state",-1988618099),new cljs.core.Keyword(null,"started","started",585705024),new cljs.core.Keyword(null,"name","name",1843675177),"Loading briefing"],null)],null))}}(a,b,a));return weathergen.ipc.send_to_main.call(null,"open-briefing",b)}return null};
vmt.pages.index.tree_item=function(a){var b=null!=a&&(a.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===a.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,a):a,c=cljs.core.get.call(null,b,new cljs.core.Keyword(null,"id","id",-1388402092)),d=cljs.core.get.call(null,b,new cljs.core.Keyword(null,"messages","messages",345434482)),e=cljs.core.get.call(null,b,new cljs.core.Keyword(null,"state","state",-1988618099)),f=cljs.core.get.call(null,b,new cljs.core.Keyword(null,
"name","name",1843675177));return weathergen.ui.common.rinl.call(null,cljs.core.PersistentArrayMap.EMPTY,weathergen.ui.common.rinl.call(null,new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"style","style",-496642736),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"verticalAlign","verticalAlign",465597462),"top"],null)],null),function(){var a=cljs.core._EQ_;if(cljs.core.truth_(a.call(null,new cljs.core.Keyword(null,"succeeded","succeeded",-1860573089),e)))return weathergen.ui.common.rinl.call(null,
new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"style","style",-496642736),new cljs.core.PersistentArrayMap(null,4,[new cljs.core.Keyword(null,"font-weight","font-weight",2085804583),"bold",new cljs.core.Keyword(null,"color","color",1011675173),"green",new cljs.core.Keyword(null,"width","width",-384071477),weathergen.ui.common.px.call(null,24),new cljs.core.Keyword(null,"vertical-align","vertical-align",651007333),"top"],null)],null),"✓");if(cljs.core.truth_(a.call(null,new cljs.core.Keyword(null,
"failed","failed",-1397425762),e)))return weathergen.ui.common.rinl.call(null,new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"style","style",-496642736),new cljs.core.PersistentArrayMap(null,4,[new cljs.core.Keyword(null,"font-weight","font-weight",2085804583),"bold",new cljs.core.Keyword(null,"color","color",1011675173),"red",new cljs.core.Keyword(null,"width","width",-384071477),weathergen.ui.common.px.call(null,24),new cljs.core.Keyword(null,"vertical-align","vertical-align",
651007333),"top"],null)],null),"✗");if(cljs.core.truth_(a.call(null,new cljs.core.Keyword(null,"started","started",585705024),e)))return new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"img","img",1442687358),new cljs.core.PersistentArrayMap(null,2,[new cljs.core.Keyword(null,"style","style",-496642736),new cljs.core.PersistentArrayMap(null,3,[new cljs.core.Keyword(null,"width","width",-384071477),weathergen.ui.common.px.call(null,24),new cljs.core.Keyword(null,
"vertical-align","vertical-align",651007333),"top",new cljs.core.Keyword(null,"margin-top","margin-top",392161226),weathergen.ui.common.px.call(null,5)],null),new cljs.core.Keyword(null,"src","src",-1651076051),"images/spinner.gif"],null)],null);if(cljs.core.truth_(a.call(null,new cljs.core.Keyword(null,"warning","warning",-1685650671),e)))return new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"img","img",1442687358),new cljs.core.PersistentArrayMap(null,
2,[new cljs.core.Keyword(null,"style","style",-496642736),new cljs.core.PersistentArrayMap(null,4,[new cljs.core.Keyword(null,"width","width",-384071477),weathergen.ui.common.px.call(null,24),new cljs.core.Keyword(null,"vertical-align","vertical-align",651007333),"top",new cljs.core.Keyword(null,"margin-top","margin-top",392161226),weathergen.ui.common.px.call(null,5),new cljs.core.Keyword(null,"margin-right","margin-right",809689658),weathergen.ui.common.px.call(null,3)],null),new cljs.core.Keyword(null,
"src","src",-1651076051),"images/warning.svg"],null)],null);throw Error(["No matching clause: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(e)].join(""));}(),weathergen.ui.common.rinl.call(null,new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"style","style",-496642736),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"white-space","white-space",-707351930),"normal"],null)],null),f)),new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,
[new cljs.core.Keyword(null,"table","table",-564943036),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"style","style",-496642736),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"margin-left","margin-left",2015598377),weathergen.ui.common.px.call(null,30)],null)],null),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"tbody","tbody",-80678300),function(){return function(a,b,c,d,e,f,p){return function u(g){return new cljs.core.LazySeq(null,
function(a,b,c,d,e,f,h){return function(){for(;;){var a=cljs.core.seq.call(null,g);if(a){if(cljs.core.chunked_seq_QMARK_.call(null,a)){var b=cljs.core.chunk_first.call(null,a),c=cljs.core.count.call(null,b),d=cljs.core.chunk_buffer.call(null,c);return function(){for(var a=0;;)if(a<c){var e=cljs.core._nth.call(null,b,a);cljs.core.chunk_append.call(null,d,function(){var a=e,b=null!=a&&(a.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===a.cljs$core$ISeq$)?cljs.core.apply.call(null,
cljs.core.hash_map,a):a;a=cljs.core.get.call(null,b,new cljs.core.Keyword(null,"type","type",1174270348));b=cljs.core.get.call(null,b,new cljs.core.Keyword(null,"text","text",-1790561697));var c=cljs.core.PersistentVector,d=cljs.core.PersistentVector.EMPTY_NODE,f=new cljs.core.Keyword(null,"tr","tr",-1424774646),g=cljs.core.PersistentVector,h=cljs.core.PersistentVector.EMPTY_NODE,k=new cljs.core.Keyword(null,"td","td",1479933353),l=new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,
"style","style",-496642736),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"vertical-align","vertical-align",651007333),"top"],null)],null);var m=cljs.core._EQ_;if(cljs.core.truth_(m.call(null,new cljs.core.Keyword(null,"warning","warning",-1685650671),a)))m=new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"img","img",1442687358),new cljs.core.PersistentArrayMap(null,2,[new cljs.core.Keyword(null,"style","style",-496642736),
new cljs.core.PersistentArrayMap(null,3,[new cljs.core.Keyword(null,"width","width",-384071477),weathergen.ui.common.px.call(null,24),new cljs.core.Keyword(null,"vertical-align","vertical-align",651007333),"middle",new cljs.core.Keyword(null,"margin-top","margin-top",392161226),weathergen.ui.common.px.call(null,-5)],null),new cljs.core.Keyword(null,"src","src",-1651076051),"images/warning.svg"],null)],null);else if(cljs.core.truth_(m.call(null,new cljs.core.Keyword(null,"error","error",-978969032),
a)))m=weathergen.ui.common.rinl.call(null,new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"style","style",-496642736),new cljs.core.PersistentArrayMap(null,3,[new cljs.core.Keyword(null,"font-weight","font-weight",2085804583),"bold",new cljs.core.Keyword(null,"color","color",1011675173),"red",new cljs.core.Keyword(null,"width","width",-384071477),weathergen.ui.common.px.call(null,24)],null)],null),"✗");else throw Error(["No matching clause: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(a)].join(""));
return new c(null,3,5,d,[f,new g(null,3,5,h,[k,l,m],null),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"td","td",1479933353),new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"div","div",1057191632),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"style","style",-496642736),cljs.core._EQ_.call(null,a,new cljs.core.Keyword(null,"error","error",-978969032))?new cljs.core.PersistentArrayMap(null,
3,[new cljs.core.Keyword(null,"white-space","white-space",-707351930),"pre",new cljs.core.Keyword(null,"font-family","font-family",-667419874),"monospace",new cljs.core.Keyword(null,"margin-top","margin-top",392161226),weathergen.ui.common.px.call(null,7)],null):new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"white-space","white-space",-707351930),"normal"],null)],null),b],null)],null)],null)}());a+=1}else return!0}()?cljs.core.chunk_cons.call(null,cljs.core.chunk.call(null,d),
u.call(null,cljs.core.chunk_rest.call(null,a))):cljs.core.chunk_cons.call(null,cljs.core.chunk.call(null,d),null)}var e=cljs.core.first.call(null,a);return cljs.core.cons.call(null,function(){var a=e,b=null!=a&&(a.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===a.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,a):a;a=cljs.core.get.call(null,b,new cljs.core.Keyword(null,"type","type",1174270348));b=cljs.core.get.call(null,b,new cljs.core.Keyword(null,"text","text",
-1790561697));var c=cljs.core.PersistentVector,d=cljs.core.PersistentVector.EMPTY_NODE,f=new cljs.core.Keyword(null,"tr","tr",-1424774646),g=cljs.core.PersistentVector,h=cljs.core.PersistentVector.EMPTY_NODE,k=new cljs.core.Keyword(null,"td","td",1479933353),l=new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"style","style",-496642736),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"vertical-align","vertical-align",651007333),"top"],null)],null);var m=cljs.core._EQ_;
if(cljs.core.truth_(m.call(null,new cljs.core.Keyword(null,"warning","warning",-1685650671),a)))m=new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"img","img",1442687358),new cljs.core.PersistentArrayMap(null,2,[new cljs.core.Keyword(null,"style","style",-496642736),new cljs.core.PersistentArrayMap(null,3,[new cljs.core.Keyword(null,"width","width",-384071477),weathergen.ui.common.px.call(null,24),new cljs.core.Keyword(null,"vertical-align",
"vertical-align",651007333),"middle",new cljs.core.Keyword(null,"margin-top","margin-top",392161226),weathergen.ui.common.px.call(null,-5)],null),new cljs.core.Keyword(null,"src","src",-1651076051),"images/warning.svg"],null)],null);else if(cljs.core.truth_(m.call(null,new cljs.core.Keyword(null,"error","error",-978969032),a)))m=weathergen.ui.common.rinl.call(null,new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"style","style",-496642736),new cljs.core.PersistentArrayMap(null,
3,[new cljs.core.Keyword(null,"font-weight","font-weight",2085804583),"bold",new cljs.core.Keyword(null,"color","color",1011675173),"red",new cljs.core.Keyword(null,"width","width",-384071477),weathergen.ui.common.px.call(null,24)],null)],null),"✗");else throw Error(["No matching clause: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(a)].join(""));return new c(null,3,5,d,[f,new g(null,3,5,h,[k,l,m],null),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,
"td","td",1479933353),new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"div","div",1057191632),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"style","style",-496642736),cljs.core._EQ_.call(null,a,new cljs.core.Keyword(null,"error","error",-978969032))?new cljs.core.PersistentArrayMap(null,3,[new cljs.core.Keyword(null,"white-space","white-space",-707351930),"pre",new cljs.core.Keyword(null,"font-family","font-family",-667419874),
"monospace",new cljs.core.Keyword(null,"margin-top","margin-top",392161226),weathergen.ui.common.px.call(null,7)],null):new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"white-space","white-space",-707351930),"normal"],null)],null),b],null)],null)],null)}(),u.call(null,cljs.core.rest.call(null,a)))}return null}}}(a,b,c,d,e,f,p),null,null)}}(a,b,b,c,d,e,f).call(null,d)}()],null)],null))};
vmt.pages.index.tree_level=function(a){switch(arguments.length){case 2:return vmt.pages.index.tree_level.cljs$core$IFn$_invoke$arity$2(arguments[0],arguments[1]);case 3:return vmt.pages.index.tree_level.cljs$core$IFn$_invoke$arity$3(arguments[0],arguments[1],arguments[2]);default:throw Error(["Invalid arity: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(""));}};
vmt.pages.index.tree_level.cljs$core$IFn$_invoke$arity$2=function(a,b){return vmt.pages.index.tree_level.call(null,a,b,null)};
vmt.pages.index.tree_level.cljs$core$IFn$_invoke$arity$3=function(a,b,c){return function f(e){return new cljs.core.LazySeq(null,function(){for(var g=e;;){var h=cljs.core.seq.call(null,g);if(h){var k=h;if(cljs.core.chunked_seq_QMARK_.call(null,k)){var l=cljs.core.chunk_first.call(null,k),m=cljs.core.count.call(null,l),n=cljs.core.chunk_buffer.call(null,m);return function(){for(var e=0;;)if(e<m){var f=cljs.core._nth.call(null,l,e),p=f,q=null!=p&&(p.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===
p.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,p):p,r=cljs.core.get.call(null,q,new cljs.core.Keyword(null,"id","id",-1388402092));cljs.core._EQ_.call(null,(new cljs.core.Keyword(null,"parent","parent",-878878779)).cljs$core$IFn$_invoke$arity$1(f),c)&&cljs.core.chunk_append.call(null,n,new cljs.core.PersistentArrayMap(null,4,[new cljs.core.Keyword(null,"ui","ui",-469653645),vmt.pages.index.tree_item.call(null,f),new cljs.core.Keyword(null,"id","id",-1388402092),r,new cljs.core.Keyword(null,
"expanded?","expanded?",2055832296),cljs.core.not.call(null,cljs.core.get.call(null,b,r)),new cljs.core.Keyword(null,"children","children",-940561982),function(){return cljs.core.seq.call(null,cljs.core.filter.call(null,function(a,b,c,e,f,g,h,k,l,m,n){return function(a){return cljs.core._EQ_.call(null,(new cljs.core.Keyword(null,"parent","parent",-878878779)).cljs$core$IFn$_invoke$arity$1(a),f)}}(e,g,p,q,r,f,l,m,n,k,h),a))?vmt.pages.index.tree_level.call(null,a,b,r):null}()],null));e+=1}else return!0}()?
cljs.core.chunk_cons.call(null,cljs.core.chunk.call(null,n),f.call(null,cljs.core.chunk_rest.call(null,k))):cljs.core.chunk_cons.call(null,cljs.core.chunk.call(null,n),null)}var p=cljs.core.first.call(null,k),q=p,r=null!=q&&(q.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===q.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,q):q,u=cljs.core.get.call(null,r,new cljs.core.Keyword(null,"id","id",-1388402092));if(cljs.core._EQ_.call(null,(new cljs.core.Keyword(null,
"parent","parent",-878878779)).cljs$core$IFn$_invoke$arity$1(p),c))return cljs.core.cons.call(null,new cljs.core.PersistentArrayMap(null,4,[new cljs.core.Keyword(null,"ui","ui",-469653645),vmt.pages.index.tree_item.call(null,p),new cljs.core.Keyword(null,"id","id",-1388402092),u,new cljs.core.Keyword(null,"expanded?","expanded?",2055832296),cljs.core.not.call(null,cljs.core.get.call(null,b,u)),new cljs.core.Keyword(null,"children","children",-940561982),function(){return cljs.core.seq.call(null,cljs.core.filter.call(null,
function(a,b,c,e,f,g,h){return function(a){return cljs.core._EQ_.call(null,(new cljs.core.Keyword(null,"parent","parent",-878878779)).cljs$core$IFn$_invoke$arity$1(a),e)}}(g,q,r,u,p,k,h),a))?vmt.pages.index.tree_level.call(null,a,b,u):null}()],null),f.call(null,cljs.core.rest.call(null,k)));g=cljs.core.rest.call(null,k)}else return null}},null,null)}.call(null,a)};vmt.pages.index.tree_level.cljs$lang$maxFixedArity=3;
vmt.pages.index.update_available_message=function(){var a=javelin.core.formula.call(null,function(a){return cljs.core.get.call(null,a,"VERSION")}).call(null,vmt.pages.index.latest_build_info),b=javelin.core.formula.call(null,function(a){return function(a,b){return cljs.core.contains_QMARK_.call(null,a,b)}}(a)).call(null,vmt.pages.index.ignored_versions,a);return hoplon.core.div.call(null,function(){var c=new cljs.core.Delay(function(a,b){return function(){return hoplon.core.div.call(null,"Version ",
a," is available, but you told VMT to ignore it.")}}(a,b),null),d=new cljs.core.Delay(function(a,b,c){return function(){return hoplon.core.div.call(null,"You are running ",cljs.core.get.call(null,weathergen.ui.build_info,"VERSION"),", but the latest version on the ",cljs.core.get.call(null,weathergen.ui.build_info,"CHANNEL")," channel (as of ",vmt.pages.index.last_update_check,") is ",b,". Download it ",weathergen.ui.common.external_link.call(null,new cljs.core.Keyword(null,"href","href",-793805698),
javelin.core.formula.call(null,function(a,b,c){return function(a,b){return b.call(null,a,"DOWNLOAD_URL")}}(a,b,c)).call(null,vmt.pages.index.latest_build_info,cljs.core.get),"here"),", or visit ",weathergen.ui.common.external_link.call(null,new cljs.core.Keyword(null,"href","href",-793805698),javelin.core.formula.call(null,function(a,b,c){return function(a,b,c){return b.call(null,a,"CHANGELOG_URL",["http://org.craigandera.vmt.s3-website-us-east-1.amazonaws.com/",cljs.core.str.cljs$core$IFn$_invoke$arity$1(b.call(null,
c,"CHANNEL")),"/"].join(""))}}(a,b,c)).call(null,vmt.pages.index.latest_build_info,cljs.core.get,weathergen.ui.build_info),"the VMT download page")," to see a list of changes and download new versions. Or, ",weathergen.ui.buttons.a_button.call(null,new cljs.core.Keyword(null,"css","css",1135045163),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"color","color",1011675173),"initial"],null),new cljs.core.Keyword(null,"click","click",1912301393),function(a,b,c){return function(){return cljs.core.swap_BANG_.call(null,
vmt.pages.index.ignored_versions,cljs.core.conj,cljs.core.deref.call(null,b))}}(a,b,c),"Ignore This Version"),".")}}(c,a,b),null);c=function(a,b,c,d){return function(c){return cljs.core.deref.call(null,function(){var d=cljs.core.truth_(c)?a:b;return cljs.core.truth_(d)?d:cljs.core.atom.call(null,null)}())}}(c,d,a,b);return javelin.core.formula.call(null,c).call(null,b)}())};
vmt.pages.index.check_for_updates=function(a){cljs.core.reset_BANG_.call(null,vmt.pages.index.checking_updates_QMARK_,!0);var b=new XMLHttpRequest;b.onreadystatechange=function(b){return function(){return cljs.core._EQ_.call(null,4,b.readyState)?javelin.core.dosync_STAR_.call(null,function(b,c,f){return function(){cljs.core.reset_BANG_.call(null,vmt.pages.index.checking_updates_QMARK_,!1);cljs.core.reset_BANG_.call(null,vmt.pages.index.last_update_check,cljs.core.str.cljs$core$IFn$_invoke$arity$1(new Date));
if(cljs.core._EQ_.call(null,200,b)){var d=weathergen.ui.parse_build_info.call(null,c);cljs.core.reset_BANG_.call(null,vmt.pages.index.latest_build_info,d);return cljs.core.truth_(function(){var a=cljs.core.deref.call(null,vmt.pages.index.ignored_versions).call(null,cljs.core.get.call(null,d,"VERSION"));return cljs.core.truth_(a)?a:cljs.core._EQ_.call(null,cljs.core.get.call(null,d,"VERSION"),cljs.core.get.call(null,weathergen.ui.build_info,"VERSION"))}())?null:a.call(null)}taoensso.timbre._log_BANG_.call(null,
taoensso.timbre._STAR_config_STAR_,new cljs.core.Keyword(null,"error","error",-978969032),"vmt.pages.index",null,303,new cljs.core.Keyword(null,"p","p",151049309),new cljs.core.Keyword(null,"auto","auto",-566279492),new cljs.core.Delay(function(a,b,c){return function(){return new cljs.core.PersistentVector(null,5,5,cljs.core.PersistentVector.EMPTY_NODE,["Error checking latest version",new cljs.core.Keyword(null,"status","status",-1997798413),a,new cljs.core.Keyword(null,"response","response",-1068424192),
b],null)}}(b,c,f),null),null,-493270125);return cljs.core.reset_BANG_.call(null,vmt.pages.index.update_check_error,"There was an error while determining the latest available version. Please try again later.")}}(b.status,b.responseText,b)):null}}(b);b.open("GET",cljs.core.get.call(null,weathergen.ui.build_info,"UPDATE"),!0);return b.send(null)};
vmt.pages.index.settings=hoplon.core.div.call(null,new cljs.core.Keyword(null,"css","css",1135045163),new cljs.core.PersistentArrayMap(null,2,[new cljs.core.Keyword(null,"margin","margin",-995903681),weathergen.ui.common.px.call(null,0,10,20,10),new cljs.core.Keyword(null,"padding","padding",1660304693),weathergen.ui.common.px.call(null,4,24,4,4)],null),hoplon.core.div.call(null,new cljs.core.Keyword(null,"css","css",1135045163),new cljs.core.PersistentArrayMap(null,4,[new cljs.core.Keyword(null,
"font-size","font-size",-1847940346),weathergen.ui.common.pct.call(null,125),new cljs.core.Keyword(null,"font-weight","font-weight",2085804583),"bold",new cljs.core.Keyword(null,"margin-bottom","margin-bottom",388334941),weathergen.ui.common.px.call(null,7),new cljs.core.Keyword(null,"border-bottom","border-bottom",2110948415),"solid 1px black"],null),weathergen.help.with_help.call(null,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"settings",
"settings",1556144875),new cljs.core.Keyword(null,"updates","updates",2013983452)],null),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"margin-bottom","margin-bottom",388334941),weathergen.ui.common.px.call(null,3)],null),"Updates")),hoplon.core.div.call(null,function(){var a=cljs.core.get.call(null,weathergen.ui.build_info,"VERSION");return null==a?"You are running a dev build, which does not support update checking.":hoplon.core.div.call(null,hoplon.core.span.call(null,new cljs.core.Keyword(null,
"css","css",1135045163),new cljs.core.PersistentArrayMap(null,2,[new cljs.core.Keyword(null,"margin-right","margin-right",809689658),weathergen.ui.common.px.call(null,3),new cljs.core.Keyword(null,"margin-left","margin-left",2015598377),weathergen.ui.common.px.call(null,2)],null),"Automaticallly check for updates"),weathergen.ui.common.radio_group.call(null,new cljs.core.Keyword(null,"css","css",1135045163),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"margin-right","margin-right",
809689658),weathergen.ui.common.px.call(null,3)],null),new cljs.core.Keyword(null,"value","value",305978217),vmt.pages.index.update_frequency,new cljs.core.Keyword(null,"choices","choices",1385611597),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.PersistentArrayMap(null,2,[new cljs.core.Keyword(null,"value","value",305978217),new cljs.core.Keyword(null,"never","never",50472977),new cljs.core.Keyword(null,"label","label",1718410804),"Never"],null),new cljs.core.PersistentArrayMap(null,
2,[new cljs.core.Keyword(null,"value","value",305978217),new cljs.core.Keyword(null,"startup","startup",1974425703),new cljs.core.Keyword(null,"label","label",1718410804),"When VMT starts"],null)],null)),hoplon.core.div.call(null,weathergen.ui.buttons.a_button.call(null,new cljs.core.Keyword(null,"css","css",1135045163),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"margin-right","margin-right",809689658),weathergen.ui.common.px.call(null,7)],null),new cljs.core.Keyword(null,
"click","click",1912301393),function(a){return function(b){return vmt.pages.index.check_for_updates.call(null,function(a){return function(){return cljs.core.List.EMPTY}}(a))}}(a),new cljs.core.Keyword(null,"disabled?","disabled?",-1523234181),vmt.pages.index.checking_updates_QMARK_,function(){var b=new cljs.core.Delay(function(a){return function(){return"Checking"}}(a),null),c=new cljs.core.Delay(function(a,b){return function(){return"Check for updates now"}}(b,a),null);b=function(a,b,c){return function(c){return cljs.core.deref.call(null,
function(){var d=cljs.core.truth_(c)?a:b;return cljs.core.truth_(d)?d:cljs.core.atom.call(null,null)}())}}(b,c,a);return javelin.core.formula.call(null,b).call(null,vmt.pages.index.checking_updates_QMARK_)}()),function(){var b=new cljs.core.Delay(function(a){return function(){return weathergen.ui.common.inl.call(null,"Last update check was: ",hoplon.core.span.call(null,new cljs.core.Keyword(null,"css","css",1135045163),new cljs.core.PersistentArrayMap(null,2,[new cljs.core.Keyword(null,"font-style",
"font-style",-773672352),"italic",new cljs.core.Keyword(null,"font-size","font-size",-1847940346),weathergen.ui.common.pct.call(null,93)],null),javelin.core.formula.call(null,function(a){return function(a){return cljs.core.truth_(a)?a:"Never"}}(a)).call(null,vmt.pages.index.last_update_check)))}}(a),null),c=new cljs.core.Delay(function(a,b){return function(){return null}}(b,a),null),d=function(a,b,c){return function(c){return cljs.core.deref.call(null,function(){var d=cljs.core.truth_(c)?a:b;return cljs.core.truth_(d)?
d:cljs.core.atom.call(null,null)}())}}(b,c,a);return javelin.core.formula.call(null,d).call(null,javelin.core.formula.call(null,function(a,b,c,d){return function(a,b){return a.call(null,b)}}(b,c,d,a)).call(null,cljs.core.not,vmt.pages.index.checking_updates_QMARK_))}(),function(){var b=javelin.core.formula.call(null,function(a){return function(a){return cljs.core.get.call(null,a,"VERSION")}}(a)).call(null,vmt.pages.index.latest_build_info);return hoplon.core.div.call(null,function(){var c=new cljs.core.Delay(function(a,
b){return function(){return"Checking"}}(b,a),null),d=new cljs.core.Delay(function(a,b,c){return function(){return hoplon.core.div.call(null,new cljs.core.Keyword(null,"css","css",1135045163),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"color","color",1011675173),"red"],null),vmt.pages.index.update_check_error)}}(c,b,a),null),e=new cljs.core.Delay(function(a,b,c,d){return function(){return["You are running ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(d),", which is the lastest version."].join("")}}(c,
d,b,a),null),f=new cljs.core.Delay(function(a,b,c,d,e){return function(){return""}}(c,d,e,b,a),null),g=new cljs.core.Delay(function(a,b,c,d,e,f){return function(){return hoplon.core.div.call(null,hoplon.core.span.call(null,new cljs.core.Keyword(null,"css","css",1135045163),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"font-weight","font-weight",2085804583),"bold"],null),"Update available!"),vmt.pages.index.update_available_message.call(null))}}(c,d,e,f,b,a),null),h=function(a,
b,c,d,e,f,g){return function(f,g,h,k,l){return cljs.core.deref.call(null,function(){var m=cljs.core.truth_(f)?a:cljs.core.truth_(g)?b:cljs.core.truth_(h)?c:cljs.core.truth_(k)?d:cljs.core.truth_(l)?e:null;return cljs.core.truth_(m)?m:cljs.core.atom.call(null,null)}())}}(c,d,e,f,g,b,a);return javelin.core.formula.call(null,h).call(null,vmt.pages.index.checking_updates_QMARK_,vmt.pages.index.update_check_error,javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h){return function(a,b,c){return a.call(null,
b,c)}}(c,d,e,f,g,h,b,a)).call(null,cljs.core._EQ_,a,b),javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h){return function(a){return null==a}}(c,d,e,f,g,h,b,a)).call(null,vmt.pages.index.latest_build_info),new cljs.core.Keyword(null,"else","else",-1508377146))}())}()))}()));vmt.pages.index.display_mode=javelin.core.cell.call(null,new cljs.core.Keyword(null,"normal","normal",-1519123858));
hoplon.core.html.call(null,weathergen.ui.head.call(null),hoplon.core.body.call(null,new cljs.core.Keyword(null,"css","css",1135045163),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"margin","margin",-995903681),0],null),hoplon.core.div.call(null,new cljs.core.Keyword(null,"css","css",1135045163),new cljs.core.PersistentArrayMap(null,3,[new cljs.core.Keyword(null,"display","display",242065432),"flex",new cljs.core.Keyword(null,"flex-direction","flex-direction",364609438),"column",
new cljs.core.Keyword(null,"height","height",1025178622),"100vh"],null),hoplon.core.div.call(null,new cljs.core.Keyword(null,"css","css",1135045163),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"padding","padding",1660304693),weathergen.ui.common.px.call(null,8,8,0)],null),weathergen.ui.titlebar.call(null),weathergen.ui.message_display.call(null)),function(){var a=javelin.core.formula.call(null,function(a){return new cljs.core.PersistentArrayMap(null,2,[new cljs.core.Keyword(null,
"display","display",242065432),cljs.core._EQ_.call(null,a,new cljs.core.Keyword(null,"normal","normal",-1519123858))?"inline-block":"none",new cljs.core.Keyword(null,"margin","margin",-995903681),weathergen.ui.common.px.call(null,5,10)],null)}).call(null,vmt.pages.index.display_mode);return hoplon.core.div.call(null,new cljs.core.Keyword(null,"css","css",1135045163),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"font-size","font-size",-1847940346),weathergen.ui.common.pct.call(null,
150)],null),hoplon.core.div.call(null,new cljs.core.Keyword(null,"css","css",1135045163),javelin.core.formula.call(null,function(a){return function(a){return new cljs.core.PersistentArrayMap(null,3,[new cljs.core.Keyword(null,"font-weight","font-weight",2085804583),"bold",new cljs.core.Keyword(null,"margin-left","margin-left",2015598377),weathergen.ui.common.px.call(null,13),new cljs.core.Keyword(null,"display","display",242065432),a.call(null,new cljs.core.PersistentArrayMap(null,2,[new cljs.core.Keyword(null,
"settings","settings",1556144875),"inline-block",new cljs.core.Keyword(null,"normal","normal",-1519123858),"none"],null))],null)}}(a)).call(null,vmt.pages.index.display_mode),"VMT Settings"),weathergen.ui.buttons.a_button.call(null,new cljs.core.Keyword(null,"disabled?","disabled?",-1523234181),vmt.pages.index.loading_QMARK_,new cljs.core.Keyword(null,"css","css",1135045163),a,new cljs.core.Keyword(null,"click","click",1912301393),vmt.pages.index.load_mission,"Load mission (.cam/.tac)"),weathergen.ui.buttons.a_button.call(null,
new cljs.core.Keyword(null,"disabled?","disabled?",-1523234181),vmt.pages.index.loading_QMARK_,new cljs.core.Keyword(null,"css","css",1135045163),a,new cljs.core.Keyword(null,"click","click",1912301393),vmt.pages.index.load_briefing,"Load briefing (.vmtb)"),weathergen.ui.buttons.image_button.call(null,new cljs.core.Keyword(null,"css","css",1135045163),new cljs.core.PersistentArrayMap(null,2,[new cljs.core.Keyword(null,"float","float",-1732389368),"right",new cljs.core.Keyword(null,"margin","margin",
-995903681),weathergen.ui.common.px.call(null,5,10)],null),new cljs.core.Keyword(null,"width","width",-384071477),weathergen.ui.common.px.call(null,16),new cljs.core.Keyword(null,"title","title",636505583),"Settings",new cljs.core.Keyword(null,"click","click",1912301393),function(a){return function(a){return cljs.core.swap_BANG_.call(null,vmt.pages.index.display_mode,new cljs.core.PersistentArrayMap(null,2,[new cljs.core.Keyword(null,"settings","settings",1556144875),new cljs.core.Keyword(null,"normal",
"normal",-1519123858),new cljs.core.Keyword(null,"normal","normal",-1519123858),new cljs.core.Keyword(null,"settings","settings",1556144875)],null))}}(a),new cljs.core.Keyword(null,"latched?","latched?",2124907793),javelin.core.formula.call(null,function(a){return function(a,b){return a.call(null,b,new cljs.core.Keyword(null,"settings","settings",1556144875))}}(a)).call(null,cljs.core._EQ_,vmt.pages.index.display_mode),new cljs.core.Keyword(null,"src","src",-1651076051),"images/settings.svg"))}(),
function(){var a=new cljs.core.Delay(function(){return vmt.pages.index.settings},null),b=new cljs.core.Delay(function(a){return function(){var b=hoplon.core.div.call(null,new cljs.core.Keyword(null,"css","css",1135045163),new cljs.core.PersistentArrayMap(null,7,[new cljs.core.Keyword(null,"overflow-y","overflow-y",-1436589285),"auto",new cljs.core.Keyword(null,"overflow-x","overflow-x",-26547754),"auto",new cljs.core.Keyword(null,"flex","flex",-1425124628),1,new cljs.core.Keyword(null,"font-size",
"font-size",-1847940346),weathergen.ui.common.pct.call(null,150),new cljs.core.Keyword(null,"border","border",1444987323),"solid 1px black",new cljs.core.Keyword(null,"margin","margin",-995903681),weathergen.ui.common.px.call(null,0,10,20,10),new cljs.core.Keyword(null,"padding","padding",1660304693),weathergen.ui.common.px.call(null,4,24,4,4)],null),weathergen.ui.common.styled.call(null,new cljs.core.Keyword(null,"garden","garden",-1966516149),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,
[new cljs.core.Keyword(null,"ol","ol",932524051),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"margin-top","margin-top",392161226),0],null)],null),function(){var b=javelin.core.cell.call(null,cljs.core.PersistentArrayMap.EMPTY),c=javelin.core.formula.call(null,function(a,b){return function(a,b){return vmt.pages.index.tree_level.call(null,a,b)}}(b,a)).call(null,vmt.pages.index.load_status,b);return weathergen.ui.trees.rtree.call(null,c,function(a,b,c){return function(b){return cljs.core.swap_BANG_.call(null,
a,cljs.core.update,b,cljs.core.not)}}(b,c,a))}()));cljs.core.add_watch.call(null,vmt.pages.index.load_status,new cljs.core.Keyword("vmt.pages.index","scroll-notifications","vmt.pages.index/scroll-notifications",-240742636),function(a,b){return function(c,d,e,f){return weathergen.ui.common.when_dom_STAR_.call(null,a,function(a,b){return function(){return a.scrollTop=a.scrollHeight}}(a,b))}}(b,a));return b}}(a),null),c=new cljs.core.Delay(function(a,b){return function(){return null}}(a,b),null);a=function(a,
b,c){return function(d){return cljs.core.deref.call(null,function(){var e=function(){switch(d instanceof cljs.core.Keyword?d.fqn:null){case "settings":return a;case "normal":return b;default:return c}}();return cljs.core.truth_(e)?e:cljs.core.atom.call(null,null)}())}}(a,b,c);return javelin.core.formula.call(null,a).call(null,vmt.pages.index.display_mode)}())));
setTimeout(function(){var a=cljs.core.get.call(null,cljs.core.deref.call(null,vmt.pages.index.latest_build_info),"VERSION"),b=cljs.core.get.call(null,weathergen.ui.build_info,"VERSION");return null==cljs.core.deref.call(null,vmt.pages.index.update_frequency)?cljs.core.swap_BANG_.call(null,weathergen.ui.messages,cljs.core.conj,hoplon.core.div.call(null,hoplon.core.div.call(null,"How often would you like VMT to automatically check for updates?",weathergen.ui.common.radio_group.call(null,new cljs.core.Keyword(null,
"css","css",1135045163),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"margin-right","margin-right",809689658),weathergen.ui.common.px.call(null,3)],null),new cljs.core.Keyword(null,"value","value",305978217),vmt.pages.index.update_frequency,new cljs.core.Keyword(null,"choices","choices",1385611597),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.PersistentArrayMap(null,2,[new cljs.core.Keyword(null,"value","value",305978217),new cljs.core.Keyword(null,
"never","never",50472977),new cljs.core.Keyword(null,"label","label",1718410804),"Never"],null),new cljs.core.PersistentArrayMap(null,2,[new cljs.core.Keyword(null,"value","value",305978217),new cljs.core.Keyword(null,"startup","startup",1974425703),new cljs.core.Keyword(null,"label","label",1718410804),"When VMT starts"],null)],null))),hoplon.core.div.call(null,"Change this any time in settings (",weathergen.ui.buttons.image_button.call(null,new cljs.core.Keyword(null,"src","src",-1651076051),"images/settings.svg",
new cljs.core.Keyword(null,"width","width",-384071477),weathergen.ui.common.px.call(null,16),new cljs.core.Keyword(null,"click","click",1912301393),function(a,b){return function(){return cljs.core.swap_BANG_.call(null,vmt.pages.index.display_mode,new cljs.core.PersistentArrayMap(null,2,[new cljs.core.Keyword(null,"settings","settings",1556144875),new cljs.core.Keyword(null,"normal","normal",-1519123858),new cljs.core.Keyword(null,"normal","normal",-1519123858),new cljs.core.Keyword(null,"settings",
"settings",1556144875)],null))}}(a,b),new cljs.core.Keyword(null,"latched?","latched?",2124907793),javelin.core.formula.call(null,function(a,b){return function(a,b){return a.call(null,b,new cljs.core.Keyword(null,"settings","settings",1556144875))}}(a,b)).call(null,cljs.core._EQ_,vmt.pages.index.display_mode)),")."))):cljs.core._EQ_.call(null,new cljs.core.Keyword(null,"startup","startup",1974425703),cljs.core.deref.call(null,vmt.pages.index.update_frequency))?vmt.pages.index.check_for_updates.call(null,
function(a,b){return function(){return setTimeout(function(a,b){return function(){return cljs.core.swap_BANG_.call(null,weathergen.ui.messages,cljs.core.conj,vmt.pages.index.update_available_message.call(null))}}(a,b),0)}}(a,b)):cljs.core.truth_(cljs.core.truth_(a)?cljs.core.truth_(b)?!cljs.core.contains_QMARK_.call(null,cljs.core.deref.call(null,vmt.pages.index.ignored_versions),a)&&cljs.core.not_EQ_.call(null,b,a):b:a)?cljs.core.swap_BANG_.call(null,weathergen.ui.messages,cljs.core.conj,vmt.pages.index.update_available_message.call(null)):
null},500);var boot={cljs:{}};boot.cljs.main24852={};
//# sourceMappingURL=index.html.js.map

